/* ═══════════════════════════════════════════════════════════
   Cognitix Global Theme — POS-aligned palette for entire ERP
   Light + dark tokens, typography, nav, dashboard, Mud UI.
   ═══════════════════════════════════════════════════════════ */

:root {
    --cgx-font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, sans-serif;
    /* Soft modern light palette — muted neutrals, low glare, eye-friendly */
    --cgx-bg-primary: #e9ebf0;
    --cgx-bg-secondary: #f2f3f6;
    --cgx-bg-card: #f7f8fa;
    --cgx-bg-elevated: #eef0f4;
    --cgx-bg-input: #f0f1f5;
    --cgx-border: #d8dce5;
    --cgx-border-hover: #c5cad6;
    --cgx-border-active: #6b8cce;
    --cgx-text-primary: #334155;
    --cgx-text-heading: #1e293b;
    --cgx-text-strong: #1e293b;
    --cgx-text-secondary: #5c6b80;
    --cgx-text-muted: #8b95a8;
    --cgx-accent: #6b8cce;
    --cgx-accent-hover: #5a7bc0;
    --cgx-accent-soft: #5a7bc0;
    --cgx-accent-glow: rgba(107, 140, 206, 0.12);
    --cgx-nav-active-bg: rgba(107, 140, 206, 0.14);
    --cgx-nav-text: #5c6b80;
    --cgx-nav-text-hover: #3d4f66;
    --cgx-nav-text-active: #2a3548;
    --cgx-nav-icon: #7a8799;
    --cgx-radius-sm: 8px;
    --cgx-radius-md: 12px;
    --cgx-radius-lg: 14px;
    --cgx-success: #4a9b7f;
    --cgx-warning: #c4923a;
    --cgx-danger: #c45c5c;
    --cgx-shadow-sm: 0 1px 2px rgba(58, 63, 75, 0.04);
    --cgx-shadow-md: 0 2px 8px rgba(58, 63, 75, 0.06);
    --cgx-shadow-lg: 0 4px 16px rgba(58, 63, 75, 0.08);
    --cgx-shadow-glow: 0 0 0 2px rgba(107, 140, 206, 0.18);
    --cgx-shadow-appbar: 0 1px 0 rgba(58, 63, 75, 0.06);
    --cgx-shadow-drawer: none;
    --cgx-overlay: rgba(233, 235, 240, 0.94);
    --cgx-scrollbar-thumb: #c5cad6;
    --cgx-scrollbar-thumb-hover: #9ca3af;
    /* Bootstrap lux — align with Cognitix tokens (no harsh black) */
    --bs-body-bg: var(--cgx-bg-primary);
    --bs-body-color: var(--cgx-text-primary);
    --bs-emphasis-color: var(--cgx-text-heading);
    --bs-black: #1e293b;
    --bs-border-color: var(--cgx-border);
    --bs-light: var(--cgx-bg-elevated);
    /* MudBlazor alias (project CSS uses both spellings) */
    --mud-palette-background-grey: var(--cgx-bg-elevated);
    --mud-palette-background-gray: var(--cgx-bg-elevated);
    --mud-palette-background: var(--cgx-bg-primary);
    --mud-palette-surface: var(--cgx-bg-card);
    --mud-palette-drawer-background: var(--cgx-bg-secondary);
    --mud-palette-drawer-text: var(--cgx-text-primary);
    --mud-palette-drawer-icon: var(--cgx-text-secondary);
    --mud-palette-appbar-background: var(--cgx-bg-secondary);
    --mud-palette-appbar-text: var(--cgx-text-primary);
    --mud-palette-text-primary: var(--cgx-text-primary);
    --mud-palette-text-secondary: var(--cgx-text-secondary);
    --mud-palette-text-disabled: var(--cgx-text-muted);
    --mud-palette-action-default: var(--cgx-text-secondary);
    --mud-palette-lines-default: var(--cgx-border);
    --mud-palette-lines-inputs: var(--cgx-border-hover);
    --mud-palette-table-hover: var(--cgx-accent-glow);
    --mud-palette-table-striped: rgba(0, 0, 0, 0.02);
    --mud-palette-divider: var(--cgx-border);
    --mud-palette-divider-light: #eef0f4;
}

.mud-theme-dark {
    --cgx-bg-primary: #0f1523;
    --cgx-bg-secondary: #161d2f;
    --cgx-bg-card: #1c2540;
    --cgx-bg-elevated: #222d4a;
    --cgx-bg-input: #1a2238;
    --cgx-border: rgba(255, 255, 255, 0.06);
    --cgx-border-hover: rgba(255, 255, 255, 0.12);
    --cgx-border-active: #3b82f6;
    /* POS-aligned light text on dark surfaces */
    --cgx-text-primary: #f1f5f9;
    --cgx-text-heading: #f1f5f9;
    --cgx-text-strong: #e2e8f0;
    --cgx-text-secondary: #cbd5e1;
    --cgx-text-muted: #94a3b8;
    --cgx-accent: #3b82f6;
    --cgx-accent-hover: #2563eb;
    --cgx-accent-soft: #93c5fd;
    --cgx-accent-glow: rgba(59, 130, 246, 0.15);
    --cgx-nav-active-bg: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(99, 102, 241, 0.1) 100%);
    --cgx-nav-text: #cbd5e1;
    --cgx-nav-text-hover: #e2e8f0;
    --cgx-nav-text-active: #f1f5f9;
    --cgx-nav-icon: #94a3b8;
    --cgx-success: #10b981;
    --cgx-warning: #f59e0b;
    --cgx-danger: #ef4444;
    --cgx-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
    --cgx-shadow-md: 0 4px 20px rgba(0, 0, 0, 0.3);
    --cgx-shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.4);
    --cgx-shadow-glow: 0 0 20px rgba(59, 130, 246, 0.2);
    --cgx-overlay: rgba(10, 14, 26, 0.95);
    --cgx-scrollbar-thumb: #3b4563;
    --cgx-scrollbar-thumb-hover: #4f5d82;
    --bs-body-bg: var(--cgx-bg-primary);
    --bs-body-color: var(--cgx-text-primary);
    --bs-emphasis-color: var(--cgx-text-heading);
    --bs-secondary-color: var(--cgx-text-secondary);
    --bs-heading-color: var(--cgx-text-heading);
    --bs-border-color: var(--cgx-border);
    --bs-light: var(--cgx-bg-elevated);
    --mud-palette-background-grey: var(--cgx-bg-elevated);
    --mud-palette-background-gray: var(--cgx-bg-elevated);
    --mud-palette-background: var(--cgx-bg-primary);
    --mud-palette-surface: var(--cgx-bg-card);
    --mud-palette-drawer-background: var(--cgx-bg-secondary);
    --mud-palette-drawer-text: var(--cgx-text-primary);
    --mud-palette-drawer-icon: var(--cgx-text-secondary);
    --mud-palette-appbar-background: var(--cgx-bg-secondary);
    --mud-palette-appbar-text: var(--cgx-text-primary);
    --mud-palette-text-primary: var(--cgx-text-primary);
    --mud-palette-text-secondary: var(--cgx-text-secondary);
    --mud-palette-text-disabled: var(--cgx-text-muted);
    --mud-palette-action-default: var(--cgx-text-secondary);
    --mud-palette-lines-default: var(--cgx-border);
    --mud-palette-lines-inputs: var(--cgx-border-hover);
    --mud-palette-divider: var(--cgx-border);
    --mud-palette-divider-light: rgba(255, 255, 255, 0.04);
    --mud-palette-table-hover: var(--cgx-accent-glow);
    --mud-palette-table-striped: rgba(255, 255, 255, 0.03);
}

/* ── Typography (POS font + colors) ── */
html,
body,
.mud-typography,
.mud-input-root,
.mud-button-root,
.mud-table-cell {
    font-family: var(--cgx-font-family);
}

html,
body,
#app {
    background-color: var(--cgx-bg-primary) !important;
    color: var(--cgx-text-primary);
    min-height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.mud-layout {
    background-color: var(--cgx-bg-primary) !important;
    color: var(--cgx-text-primary);
    min-height: 100vh;
}

.mud-main-content {
    background-color: var(--cgx-bg-primary) !important;
    color: var(--cgx-text-primary);
    min-height: calc(100vh - var(--mud-appbar-height, 64px));
}

.mud-container,
.cgx-page,
.cgx-dash-page {
    background-color: transparent;
    color: var(--cgx-text-primary);
}

.mud-table-container,
.mud-table-pagination {
    background-color: var(--cgx-bg-card);
}

.mud-typography,
.mud-typography-body1,
.mud-typography-body2,
.mud-typography-subtitle1,
.mud-typography-subtitle2 {
    color: var(--cgx-text-primary);
}

.mud-typography-color-secondary,
.mud-text-secondary,
.mud-input-label,
.mud-input-label-text,
label.mud-input-label {
    color: var(--cgx-text-secondary) !important;
}

.mud-typography-h1,
.mud-typography-h2,
.mud-typography-h3,
.mud-typography-h4,
.mud-typography-h5,
.mud-typography-h6 {
    color: var(--cgx-text-heading, var(--cgx-text-primary));
}

.mud-input-slot input::placeholder,
.mud-input-slot textarea::placeholder,
.mud-input input::placeholder {
    color: var(--cgx-text-muted) !important;
    opacity: 1;
}

.mud-chip.mud-chip-color-default,
.mud-chip.mud-chip-color-default .mud-chip-content {
    background-color: var(--cgx-bg-elevated);
    color: var(--cgx-text-primary);
}

.mud-breadcrumbs .mud-breadcrumb-item,
.mud-breadcrumbs .mud-breadcrumb-item a {
    color: var(--cgx-text-secondary);
}

.mud-breadcrumbs .mud-breadcrumb-item.mud-disabled {
    color: var(--cgx-text-muted);
}

.mud-icon-button {
    color: var(--cgx-text-secondary);
}

.mud-icon-button:hover {
    color: var(--cgx-text-primary);
}

/* ── App bar ── */
.mud-appbar {
    background-color: var(--cgx-bg-secondary) !important;
    color: var(--cgx-text-primary) !important;
    border-bottom: 1px solid var(--cgx-border);
}

.mud-appbar .mud-icon-button,
.mud-appbar .mud-typography {
    color: var(--cgx-text-primary);
}

/* ── Navigation drawer ── */
.mud-drawer {
    background-color: var(--cgx-bg-secondary) !important;
    color: var(--cgx-text-primary) !important;
    border-right: 1px solid var(--cgx-border);
}

.mud-drawer-header {
    background-color: var(--cgx-bg-secondary);
    color: var(--cgx-text-primary);
    border-bottom: 1px solid var(--cgx-border);
}

.mud-drawer-header .mud-typography {
    color: var(--cgx-text-primary);
    font-weight: 700;
}

.mud-navmenu {
    background-color: transparent;
}

.mud-nav-link,
.mud-nav-group .mud-nav-link {
    color: var(--cgx-nav-text, var(--cgx-text-muted)) !important;
    border-radius: 8px;
    margin: 1px 8px;
}

.mud-nav-link .mud-icon-root,
.mud-nav-group .mud-nav-link .mud-icon-root {
    color: var(--cgx-nav-icon, var(--cgx-text-muted)) !important;
}

.mud-nav-link:hover,
.mud-nav-group .mud-nav-link:hover {
    background-color: var(--cgx-accent-glow) !important;
    color: var(--cgx-nav-text-hover, var(--cgx-text-secondary)) !important;
}

.mud-nav-link:hover .mud-icon-root,
.mud-nav-group .mud-nav-link:hover .mud-icon-root {
    color: var(--cgx-nav-text-hover, var(--cgx-text-secondary)) !important;
}

.mud-nav-link.active,
.mud-nav-link.mud-nav-link-active {
    background: var(--cgx-nav-active-bg) !important;
    color: var(--cgx-nav-text-active, var(--cgx-text-secondary)) !important;
    box-shadow: inset 3px 0 0 var(--cgx-accent);
}

.mud-nav-link.active .mud-icon-root,
.mud-nav-link.mud-nav-link-active .mud-icon-root {
    color: var(--cgx-accent-soft) !important;
}

.mud-nav-group .mud-nav-group-title {
    color: var(--cgx-text-muted) !important;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.mud-nav-group .mud-nav-group-title .mud-icon-root {
    color: var(--cgx-text-muted) !important;
}

/* ── Cards, papers, tables (dashboard + list pages) ── */
.mud-paper,
.mud-card {
    background-color: var(--cgx-bg-card) !important;
    color: var(--cgx-text-primary);
    border: 1px solid var(--cgx-border);
}

.mud-table {
    background-color: var(--cgx-bg-card);
    color: var(--cgx-text-primary);
}

.mud-table-head .mud-table-cell {
    color: var(--cgx-text-secondary) !important;
    background-color: var(--cgx-bg-elevated) !important;
}

.mud-table-body .mud-table-row {
    color: var(--cgx-text-primary);
}

.mud-table-body .mud-table-row:hover {
    background-color: var(--cgx-accent-glow) !important;
}

/* ── Inputs ── */
.mud-input-root,
.mud-input-slot,
.mud-input-slot input,
.mud-input-slot textarea,
.mud-select-input .mud-input-slot {
    color: var(--cgx-text-primary) !important;
}

.mud-input-root {
    background-color: var(--cgx-bg-input);
}

.mud-input-outlined .mud-input-outlined-border {
    border-color: var(--cgx-border) !important;
}

.mud-input-outlined:hover .mud-input-outlined-border {
    border-color: var(--cgx-border-hover) !important;
}

.mud-input-outlined.mud-input-focused .mud-input-outlined-border {
    border-color: var(--cgx-accent) !important;
}

/* ── Dashboard / page shared components ── */
.cgx-dash-header__title,
.cgx-dash-panel__title,
.cgx-page-header__title,
.cgx-dash-stat-tile__value {
    color: var(--cgx-text-heading, var(--cgx-text-primary));
}

.cgx-dash-header__subtitle,
.cgx-dash-panel__meta,
.cgx-page-header__subtitle,
.cgx-dash-stat-tile__label {
    color: var(--cgx-text-secondary);
}

/* KPI text inherits gradient card color from dashboard-shared.css */
.cgx-dash-kpi .mud-typography,
.cgx-dash-kpi__label,
.cgx-dash-kpi__value,
.cgx-dash-kpi__footer {
    color: inherit !important;
}

.cgx-dash-panel,
.cgx-page-filters,
.cgx-page-bulk,
.cgx-page-panel,
.cgx-page-section {
    background-color: var(--cgx-bg-card) !important;
    border: 1px solid var(--cgx-border);
    color: var(--cgx-text-primary);
}

.cgx-dash-stat-tile {
    background-color: var(--cgx-bg-elevated);
    border: 1px solid var(--cgx-border);
    color: var(--cgx-text-primary);
}

/* KPI gradient cards keep accent backgrounds; ensure label text readable */
.cgx-dash-kpi--success .cgx-dash-kpi__label,
.cgx-dash-kpi--warning .cgx-dash-kpi__label,
.cgx-dash-kpi--danger .cgx-dash-kpi__label {
    color: inherit;
    opacity: 0.9;
}

/* ── Popovers / dropdowns ── */
.mud-popover .mud-list {
    background-color: var(--cgx-bg-card) !important;
    color: var(--cgx-text-primary) !important;
    border: 1px solid var(--cgx-border) !important;
    box-shadow: var(--cgx-shadow-md) !important;
}

.mud-popover .mud-list-item:hover {
    background-color: var(--cgx-accent-glow) !important;
}

.mud-popover .mud-list-item.mud-selected {
    background-color: var(--cgx-accent-glow) !important;
    color: var(--cgx-accent-soft) !important;
}

.mud-popover .mud-list-item-text span {
    color: var(--cgx-text-primary) !important;
}

/* ── Dialogs, menus, tabs ── */
.mud-dialog .mud-dialog-title,
.mud-dialog .mud-dialog-content {
    color: var(--cgx-text-primary);
}

.mud-dialog {
    background-color: var(--cgx-bg-card);
    color: var(--cgx-text-primary);
}

.mud-menu .mud-list-item,
.mud-list .mud-list-item {
    color: var(--cgx-text-primary);
}

.mud-tabs .mud-tab {
    color: var(--cgx-text-secondary);
}

.mud-tabs .mud-tab.mud-tab-active {
    color: var(--cgx-accent);
}

.mud-tabs .mud-tab:hover {
    color: var(--cgx-text-primary);
}

.mud-expansion-panels .mud-expand-panel {
    background-color: var(--cgx-bg-card);
    color: var(--cgx-text-primary);
}

.mud-expansion-panel-header {
    color: var(--cgx-text-primary);
}

/* ── Drawer scroll ── */
.mud-drawer .mud-navmenu {
    scrollbar-color: var(--cgx-scrollbar-thumb) transparent;
}

.mud-drawer .mud-navmenu::-webkit-scrollbar {
    width: 6px;
}

.mud-drawer .mud-navmenu::-webkit-scrollbar-thumb {
    background: var(--cgx-scrollbar-thumb);
    border-radius: 3px;
}

.mud-drawer .mud-navmenu::-webkit-scrollbar-thumb:hover {
    background: var(--cgx-scrollbar-thumb-hover);
}

/* ── Invoice editor root (Billing) ── */
.mud-theme-dark .inv-root {
    color: var(--cgx-text-primary);
}

.mud-theme-dark .inv-root .mud-input-root {
    background-color: var(--cgx-bg-input) !important;
}

/* ── Document editor (Billing + Procurement) ── */
.mud-theme-dark .doc-root {
    --doc-bg-root: var(--cgx-bg-primary);
    --doc-bg-surface: var(--cgx-bg-card);
    --doc-bg-muted: var(--cgx-bg-elevated);
    --doc-bg-input: var(--cgx-bg-input);
    --doc-border: var(--cgx-border);
    --doc-border-muted: rgba(255, 255, 255, 0.04);
    --doc-border-hover: var(--cgx-border-hover);
    --doc-border-strong: rgba(255, 255, 255, 0.18);
    --doc-text: var(--cgx-text-primary);
    --doc-text-muted: var(--cgx-text-secondary);
    --doc-text-faint: var(--cgx-text-muted);
    --doc-text-placeholder: var(--cgx-text-muted);
    --doc-accent-text: var(--cgx-accent-soft);
    --doc-shadow-panel: -4px 0 20px rgba(0, 0, 0, 0.35);
    --doc-scrollbar-thumb: var(--cgx-scrollbar-thumb);
    --doc-scrollbar-thumb-hover: var(--cgx-scrollbar-thumb-hover);
    --doc-table-head-bg: linear-gradient(180deg, var(--cgx-bg-elevated) 0%, var(--cgx-bg-card) 100%);
    --doc-icon-btn-hover-bg: var(--cgx-accent-glow);
    --doc-cart-header-bg: linear-gradient(180deg, var(--cgx-bg-elevated) 0%, var(--cgx-bg-card) 100%);
    --doc-cart-icon-bg: linear-gradient(135deg, var(--cgx-bg-input) 0%, var(--cgx-bg-elevated) 100%);
    --doc-section-shadow: var(--cgx-shadow-sm);
    --doc-section-shadow-hover: var(--cgx-shadow-md);
}

/* ── Invoice list dashboard ── */
.mud-theme-dark .invl-root {
    --invl-bg-root: var(--cgx-bg-primary);
    --invl-bg-surface: var(--cgx-bg-card);
    --invl-bg-muted: var(--cgx-bg-elevated);
    --invl-bg-hover: var(--cgx-bg-input);
    --invl-border: var(--cgx-border);
    --invl-border-muted: rgba(255, 255, 255, 0.04);
    --invl-border-strong: rgba(255, 255, 255, 0.18);
    --invl-text: var(--cgx-text-primary);
    --invl-text-muted: var(--cgx-text-secondary);
    --invl-text-faint: var(--cgx-text-muted);
    --invl-text-seq: var(--cgx-text-muted);
    --invl-accent-text: var(--cgx-accent-soft);
    --invl-kpi-shadow: var(--cgx-shadow-sm);
    --invl-kpi-shadow-hover: var(--cgx-shadow-md);
    --invl-icon-grey-bg: rgba(148, 163, 184, 0.12);
    --invl-icon-blue-bg: var(--cgx-accent-glow);
    --invl-icon-teal-bg: rgba(38, 166, 154, 0.15);
    --invl-icon-green-bg: rgba(16, 185, 129, 0.15);
    --invl-icon-red-bg: rgba(239, 68, 68, 0.15);
    --invl-icon-orange-bg: rgba(245, 158, 11, 0.15);
}

/* ── Invoice preview ── */
.mud-theme-dark .invp-root {
    --invp-bg-root: var(--cgx-bg-primary);
    --invp-bg-surface: var(--cgx-bg-card);
    --invp-bg-muted: var(--cgx-bg-elevated);
    --invp-border: var(--cgx-border);
    --invp-border-muted: rgba(255, 255, 255, 0.04);
    --invp-text: var(--cgx-text-primary);
    --invp-text-muted: var(--cgx-text-secondary);
    --invp-accent-text: var(--cgx-accent-soft);
    --invp-scrollbar-thumb: var(--cgx-scrollbar-thumb);

    background: var(--invp-bg-root);
    color: var(--invp-text);
}

.mud-theme-dark .invp-loading { color: var(--invp-text-muted); }
.mud-theme-dark .invp-left { background: var(--invp-bg-root); }
.mud-theme-dark .invp-left::-webkit-scrollbar-track { background: var(--invp-bg-root); }
.mud-theme-dark .invp-left::-webkit-scrollbar-thumb { background: var(--invp-scrollbar-thumb); }
.mud-theme-dark .invp-right {
    background: var(--invp-bg-surface);
    border-left-color: var(--invp-border);
    box-shadow: -2px 0 8px rgba(0, 0, 0, 0.35);
}
.mud-theme-dark .invp-right::-webkit-scrollbar-thumb { background: var(--invp-scrollbar-thumb); }
.mud-theme-dark .invp-section {
    background: var(--invp-bg-surface);
    border-color: var(--invp-border);
    box-shadow: var(--cgx-shadow-sm);
}
.mud-theme-dark .invp-section-title {
    color: var(--invp-text-muted);
    border-bottom-color: var(--invp-border-muted);
}
.mud-theme-dark .invp-info-label,
.mud-theme-dark .invp-summary-row,
.mud-theme-dark .invp-sidebar-label,
.mud-theme-dark .invp-pay-row { color: var(--invp-text-muted); }
.mud-theme-dark .invp-info-value { color: var(--invp-text); }
.mud-theme-dark .invp-chip {
    background: var(--cgx-accent-glow);
    border-color: rgba(59, 130, 246, 0.35);
    color: var(--invp-accent-text);
}
.mud-theme-dark .invp-address-box,
.mud-theme-dark .invp-notes-box {
    background: var(--invp-bg-muted);
    border-color: var(--invp-border);
    color: var(--invp-text);
}
.mud-theme-dark .invp-table-wrap { border-color: var(--invp-border); }
.mud-theme-dark .invp-table { background: var(--invp-bg-surface); }
.mud-theme-dark .invp-table thead tr { background: var(--invp-bg-muted); }
.mud-theme-dark .invp-table thead th {
    color: var(--invp-text-muted);
    border-bottom-color: var(--invp-border);
}
.mud-theme-dark .invp-table tbody tr { border-bottom-color: var(--invp-border-muted); }
.mud-theme-dark .invp-table tbody tr:hover { background: var(--invp-bg-muted); }
.mud-theme-dark .invp-table td { color: var(--invp-text); }
.mud-theme-dark .invp-subtotal-block { border-top-color: var(--invp-border-muted); }
.mud-theme-dark .invp-sidebar-header {
    color: var(--invp-text);
    background: var(--invp-bg-muted);
    border-bottom-color: var(--invp-border);
}
.mud-theme-dark .invp-sidebar-section { border-bottom-color: var(--invp-border-muted); }
.mud-theme-dark .invp-sidebar-actions { border-top-color: var(--invp-border); }
.mud-theme-dark .invp-sidebar-cn-btn {
    background: var(--invp-bg-muted);
    border-color: var(--invp-border);
    color: var(--invp-text-muted);
}
.mud-theme-dark .invp-sidebar-cn-btn:hover {
    background: var(--invp-bg-root);
    color: var(--invp-text);
    border-color: var(--cgx-scrollbar-thumb);
}

/* ── POS Sales History ── */
.mud-theme-dark .posh-root {
    --posh-bg-root: var(--cgx-bg-primary);
    --posh-bg-surface: var(--cgx-bg-card);
    --posh-bg-elevated: var(--cgx-bg-elevated);
    --posh-bg-input: var(--cgx-bg-input);
    --posh-border: var(--cgx-border);
    --posh-border-muted: rgba(255, 255, 255, 0.04);
    --posh-text: var(--cgx-text-primary);
    --posh-text-secondary: var(--cgx-text-secondary);
    --posh-text-muted: var(--cgx-text-muted);
    --posh-text-faint: #64748b;
    --posh-header-bg: linear-gradient(135deg, #161d2f 0%, #1c2540 100%);
    --posh-header-border: rgba(255, 255, 255, 0.06);
    --posh-row-hover: rgba(59, 130, 246, 0.08);
    --posh-row-selected: linear-gradient(90deg, rgba(59, 130, 246, 0.15) 0%, rgba(99, 102, 241, 0.08) 100%);
    --posh-scrollbar: #3b4563;
    --posh-grand-bg: linear-gradient(135deg, #222d4a 0%, #1c2540 100%);
    --posh-shadow-sm: var(--cgx-shadow-sm);
    --posh-shadow-header: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.mud-theme-dark .posh-kpi-green { color: #34d399; }
.mud-theme-dark .posh-kpi-red { color: #f87171; }
.mud-theme-dark .posh-kpi-blue { color: #60a5fa; }
.mud-theme-dark .posh-status-completed { background: rgba(16, 185, 129, 0.2); color: #34d399; }
.mud-theme-dark .posh-status-voided { background: rgba(239, 68, 68, 0.2); color: #f87171; }
.mud-theme-dark .posh-status-refunded { background: rgba(245, 158, 11, 0.2); color: #fbbf24; }
.mud-theme-dark .posh-pay-amount { color: #34d399; }
.mud-theme-dark .posh-total-row-discount { color: #f87171; }
.mud-theme-dark .posh-pay-change { color: #34d399; }
.mud-theme-dark .posh-branch-select option {
    background: #1c2540;
    color: #f1f5f9;
}

/* ── User Profile ── */
.mud-theme-dark .prof-root {
    --prof-bg: var(--cgx-bg-primary);
    --prof-surface: var(--cgx-bg-card);
    --prof-surface-elevated: var(--cgx-bg-elevated);
    --prof-border: var(--cgx-border);
    --prof-border-muted: rgba(255, 255, 255, 0.04);
    --prof-text: var(--cgx-text-primary);
    --prof-text-muted: var(--cgx-text-secondary);
    --prof-text-faint: var(--cgx-text-muted);
    --prof-hero-bg: linear-gradient(135deg, #161d2f 0%, #1c2540 45%, #222d4a 100%);
    --prof-hero-text: #f1f5f9;
    --prof-hero-subtext: #94a3b8;
    --prof-hero-glow: rgba(59, 130, 246, 0.22);
    --prof-accent: var(--cgx-accent);
    --prof-accent-hover: var(--cgx-accent-hover);
    --prof-accent-glow: var(--cgx-accent-glow);
    --prof-ring: linear-gradient(135deg, #3b82f6 0%, #6366f1 50%, #8b5cf6 100%);
    --prof-shadow: var(--cgx-shadow-md);
    --prof-shadow-sm: var(--cgx-shadow-sm);
    --prof-input-bg: var(--cgx-bg-input);
    --prof-danger: #f87171;
    --prof-danger-bg: rgba(239, 68, 68, 0.12);
}

.mud-theme-dark .prof-root .mud-switch .mud-switch-span {
    color: var(--cgx-text-primary);
}

/* ── POS (reuse global tokens in dark mode) ── */
.mud-theme-dark .pos-root {
    --pos-bg-primary: var(--cgx-bg-primary);
    --pos-bg-secondary: var(--cgx-bg-secondary);
    --pos-bg-card: var(--cgx-bg-card);
    --pos-bg-elevated: var(--cgx-bg-elevated);
    --pos-bg-input: var(--cgx-bg-input);
    --pos-border: var(--cgx-border);
    --pos-border-hover: var(--cgx-border-hover);
    --pos-border-active: var(--cgx-border-active);
    --pos-text-primary: var(--cgx-text-primary);
    --pos-text-secondary: var(--cgx-text-secondary);
    --pos-text-muted: var(--cgx-text-muted);
    --pos-accent: var(--cgx-accent);
    --pos-accent-hover: var(--cgx-accent-hover);
    --pos-accent-glow: var(--cgx-accent-glow);
    --pos-accent-soft-text: var(--cgx-accent-soft);
    --pos-header-text: #ffffff;
    --pos-header-text-gradient-start: #ffffff;
    --pos-header-text-gradient-end: var(--cgx-text-secondary);
    --pos-active-category-text: #ffffff;
    --pos-on-accent-text: #ffffff;
    --pos-shadow-sm: var(--cgx-shadow-sm);
    --pos-shadow-md: var(--cgx-shadow-md);
    --pos-shadow-lg: var(--cgx-shadow-lg);
    --pos-shadow-glow: var(--cgx-shadow-glow);
    --pos-overlay-bg: var(--cgx-overlay);
    --pos-summary-highlight-text: #ffffff;
}

/* ── Dialogs ── */
.mud-theme-dark .cgx-dlg-section {
    background: var(--cgx-bg-elevated);
    border-color: var(--cgx-border);
}

.mud-theme-dark .cgx-dlg-switch-card {
    background: var(--cgx-bg-input);
    border-color: var(--cgx-border);
}

.mud-theme-dark .cgx-dlg-switch-card__label {
    color: var(--cgx-text-secondary);
}

.mud-theme-dark .cgx-dlg-content-scroll::-webkit-scrollbar-thumb {
    background: var(--cgx-scrollbar-thumb);
}

.mud-theme-dark .table {
    --bs-table-bg: var(--cgx-bg-card);
    --bs-table-color: var(--cgx-text-primary);
    --bs-table-border-color: var(--cgx-border);
}

/* ── Financial report pages (dark mode) ── */
.mud-theme-dark .pl-subtotal-row--revenue,
.mud-theme-dark .pl-subtotal-row--cogs,
.mud-theme-dark .pl-subtotal-row--opex,
.mud-theme-dark .pl-subtotal-row--other-income,
.mud-theme-dark .pl-subtotal-row--other-expenses,
.mud-theme-dark .bs-subtotal--current-assets,
.mud-theme-dark .bs-subtotal--non-current-assets,
.mud-theme-dark .bs-subtotal--current-liabilities,
.mud-theme-dark .bs-subtotal--non-current-liabilities,
.mud-theme-dark .bs-subtotal--equity {
    background: var(--cgx-bg-elevated) !important;
    color: var(--cgx-text-primary);
}

.mud-theme-dark .pl-change-positive {
    color: var(--cgx-success);
}

.mud-theme-dark .pl-change-negative {
    color: var(--cgx-danger);
}

/* ═══════════════════════════════════════════════════════════
   Light mode — module pages & headers (POS-aligned)
   ═══════════════════════════════════════════════════════════ */

:root:not(.mud-theme-dark) .doc-root {
    --doc-bg-root: var(--cgx-bg-primary);
    --doc-bg-surface: var(--cgx-bg-card);
    --doc-bg-muted: var(--cgx-bg-elevated);
    --doc-bg-input: var(--cgx-bg-input);
    --doc-border: var(--cgx-border);
    --doc-border-muted: #f0f4f8;
    --doc-border-hover: var(--cgx-border-hover);
    --doc-border-strong: #c5cde0;
    --doc-text: var(--cgx-text-primary);
    --doc-text-muted: var(--cgx-text-secondary);
    --doc-text-faint: var(--cgx-text-muted);
    --doc-text-placeholder: #a0b0c8;
    --doc-accent-text: var(--cgx-accent-soft);
}

:root:not(.mud-theme-dark) .invl-root {
    --invl-bg-root: var(--cgx-bg-primary);
    --invl-bg-surface: var(--cgx-bg-card);
    --invl-bg-muted: var(--cgx-bg-elevated);
    --invl-bg-hover: var(--cgx-bg-input);
    --invl-border: var(--cgx-border);
    --invl-border-muted: #f0f4f8;
    --invl-border-strong: #c5cde0;
    --invl-text: var(--cgx-text-primary);
    --invl-text-muted: var(--cgx-text-secondary);
    --invl-text-faint: var(--cgx-text-muted);
    --invl-text-seq: #aab4cc;
    --invl-accent-text: var(--cgx-accent-soft);
    font-family: var(--cgx-font-family);
}

/* Document editor — light header (soft frosted bar) */
:root:not(.mud-theme-dark) .doc-header {
    background: rgba(242, 243, 246, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--cgx-border);
    box-shadow: none;
}

:root:not(.mud-theme-dark) .doc-header::after {
    background: linear-gradient(90deg, transparent, rgba(107, 140, 206, 0.15), transparent);
}

:root:not(.mud-theme-dark) .doc-header-title {
    color: var(--cgx-text-primary);
}

:root:not(.mud-theme-dark) .doc-header-subtitle {
    color: var(--cgx-text-secondary);
}

/* Invoice list — light header (soft frosted bar) */
:root:not(.mud-theme-dark) .invl-header {
    background: rgba(242, 243, 246, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--cgx-border);
    box-shadow: none;
}

:root:not(.mud-theme-dark) .invl-header-title {
    color: var(--cgx-text-primary);
}

:root:not(.mud-theme-dark) .invl-search-wrap {
    background: var(--cgx-bg-input);
    border-color: var(--cgx-border);
}

:root:not(.mud-theme-dark) .invl-search-wrap:focus-within {
    border-color: var(--cgx-accent);
    background: var(--cgx-bg-card);
}

:root:not(.mud-theme-dark) .invl-search-input {
    color: var(--cgx-text-primary);
}

:root:not(.mud-theme-dark) .invl-search-input::placeholder {
    color: var(--cgx-text-muted);
}

:root:not(.mud-theme-dark) .invl-toggle-label {
    color: var(--cgx-text-secondary);
}

/* ═══════════════════════════════════════════════════════════
   Light mode — soft modern UI (low glare, muted surfaces)
   ═══════════════════════════════════════════════════════════ */

:root:not(.mud-theme-dark) .mud-appbar {
    background: rgba(242, 243, 246, 0.88) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--cgx-border) !important;
    box-shadow: none;
}

:root:not(.mud-theme-dark) .mud-drawer {
    background-color: var(--cgx-bg-secondary) !important;
    border-right: 1px solid var(--cgx-border) !important;
    box-shadow: none;
}

:root:not(.mud-theme-dark) .mud-drawer-header {
    border-bottom: 1px solid var(--cgx-border);
    background: transparent;
}

:root:not(.mud-theme-dark) .mud-drawer-header .mud-typography {
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--cgx-text-primary);
}

:root:not(.mud-theme-dark) .mud-nav-link,
:root:not(.mud-theme-dark) .mud-nav-group .mud-nav-link {
    font-size: 0.84rem;
    font-weight: 500;
    margin: 2px 12px;
    padding-top: 6px;
    padding-bottom: 6px;
    border-radius: var(--cgx-radius-md);
    color: var(--cgx-nav-text) !important;
    transition: background-color 0.18s ease, color 0.18s ease;
}

:root:not(.mud-theme-dark) .mud-nav-link .mud-icon-root,
:root:not(.mud-theme-dark) .mud-nav-group .mud-nav-link .mud-icon-root {
    color: var(--cgx-nav-icon) !important;
}

:root:not(.mud-theme-dark) .mud-nav-link:hover,
:root:not(.mud-theme-dark) .mud-nav-group .mud-nav-link:hover {
    background-color: rgba(58, 63, 75, 0.05) !important;
    color: var(--cgx-nav-text-hover) !important;
}

:root:not(.mud-theme-dark) .mud-nav-link:hover .mud-icon-root,
:root:not(.mud-theme-dark) .mud-nav-group .mud-nav-link:hover .mud-icon-root {
    color: var(--cgx-nav-text-hover) !important;
}

:root:not(.mud-theme-dark) .mud-nav-link.active,
:root:not(.mud-theme-dark) .mud-nav-link.mud-nav-link-active {
    background: var(--cgx-nav-active-bg) !important;
    color: var(--cgx-nav-text-active) !important;
    font-weight: 600;
    box-shadow: none;
}

:root:not(.mud-theme-dark) .mud-nav-link.active .mud-icon-root,
:root:not(.mud-theme-dark) .mud-nav-link.mud-nav-link-active .mud-icon-root {
    color: var(--cgx-accent-soft) !important;
}

:root:not(.mud-theme-dark) .mud-nav-group .mud-nav-group-title {
    color: var(--cgx-text-muted) !important;
    font-size: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin-top: 10px;
    padding-left: 4px;
}

:root:not(.mud-theme-dark) .mud-paper:not(.cgx-dash-kpi):not(.cgx-page-stat-card--planned):not(.cgx-page-stat-card--overdue):not(.cgx-page-stat-card--done):not(.cgx-page-stat-card--total),
:root:not(.mud-theme-dark) .mud-card {
    background-color: var(--cgx-bg-card) !important;
    border: 1px solid var(--cgx-border) !important;
    border-radius: var(--cgx-radius-lg) !important;
    box-shadow: none;
}

:root:not(.mud-theme-dark) .mud-paper.cgx-page-stat-card--planned,
:root:not(.mud-theme-dark) .mud-paper.cgx-page-stat-card--overdue,
:root:not(.mud-theme-dark) .mud-paper.cgx-page-stat-card--done,
:root:not(.mud-theme-dark) .mud-paper.cgx-page-stat-card--total {
    border: none !important;
    box-shadow: var(--cgx-shadow-sm);
}

:root:not(.mud-theme-dark) .mud-table {
    background-color: var(--cgx-bg-card);
}

:root:not(.mud-theme-dark) .mud-table-head .mud-table-cell {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--cgx-text-secondary) !important;
    background-color: var(--cgx-bg-elevated) !important;
    border-bottom: 1px solid var(--cgx-border);
}

:root:not(.mud-theme-dark) .mud-table-body .mud-table-row {
    border-bottom: 1px solid rgba(216, 220, 229, 0.6);
}

:root:not(.mud-theme-dark) .mud-table-body .mud-table-row:hover {
    background-color: rgba(107, 140, 206, 0.06) !important;
}

:root:not(.mud-theme-dark) .mud-input-root {
    background-color: var(--cgx-bg-input);
    border-radius: var(--cgx-radius-sm);
}

:root:not(.mud-theme-dark) .mud-input-outlined .mud-input-outlined-border {
    border-color: var(--cgx-border) !important;
}

:root:not(.mud-theme-dark) .mud-input-outlined.mud-input-focused .mud-input-outlined-border {
    border-color: var(--cgx-accent) !important;
    box-shadow: var(--cgx-shadow-glow);
}

:root:not(.mud-theme-dark) .cgx-page-header__title,
:root:not(.mud-theme-dark) .cgx-dash-header__title {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--cgx-text-heading) !important;
}

/* Light mode — soften default black/dark text (keep Mud color variants unchanged) */
:root:not(.mud-theme-dark) .mud-typography:not(.mud-error-text):not(.mud-success-text):not(.mud-warning-text):not(.mud-info-text):not(.mud-primary-text):not(.mud-secondary-text):not(.mud-tertiary-text),
:root:not(.mud-theme-dark) .mud-typography-body1:not(.mud-error-text):not(.mud-success-text):not(.mud-warning-text):not(.mud-info-text):not(.mud-primary-text),
:root:not(.mud-theme-dark) .mud-typography-body2:not(.mud-error-text):not(.mud-success-text):not(.mud-warning-text):not(.mud-info-text):not(.mud-primary-text),
:root:not(.mud-theme-dark) .mud-typography-subtitle1:not(.mud-error-text):not(.mud-success-text):not(.mud-warning-text):not(.mud-info-text):not(.mud-primary-text),
:root:not(.mud-theme-dark) .mud-typography-subtitle2:not(.mud-error-text):not(.mud-success-text):not(.mud-warning-text):not(.mud-info-text):not(.mud-primary-text),
:root:not(.mud-theme-dark) .mud-table-cell,
:root:not(.mud-theme-dark) .mud-table-body .mud-table-cell,
:root:not(.mud-theme-dark) .mud-list-item-text,
:root:not(.mud-theme-dark) .mud-dialog-content,
:root:not(.mud-theme-dark) .mud-card-content,
:root:not(.mud-theme-dark) .mud-expansion-panel-content,
:root:not(.mud-theme-dark) .mud-input-slot,
:root:not(.mud-theme-dark) .mud-input-slot input,
:root:not(.mud-theme-dark) .mud-input-slot textarea {
    color: var(--cgx-text-primary) !important;
}

:root:not(.mud-theme-dark) .mud-typography-h1,
:root:not(.mud-theme-dark) .mud-typography-h2,
:root:not(.mud-theme-dark) .mud-typography-h3,
:root:not(.mud-theme-dark) .mud-typography-h4,
:root:not(.mud-theme-dark) .mud-typography-h5,
:root:not(.mud-theme-dark) .mud-typography-h6,
:root:not(.mud-theme-dark) .mud-drawer-header .mud-typography,
:root:not(.mud-theme-dark) .mud-dialog .mud-dialog-title {
    color: var(--cgx-text-heading) !important;
}

:root:not(.mud-theme-dark) .cgx-page-td-strong,
:root:not(.mud-theme-dark) .cgx-dash-td-strong,
:root:not(.mud-theme-dark) .cgx-page-td-medium,
:root:not(.mud-theme-dark) .mud-table-body b,
:root:not(.mud-theme-dark) .mud-table-body strong {
    color: var(--cgx-text-strong) !important;
}

:root:not(.mud-theme-dark) .cgx-dash-panel__title,
:root:not(.mud-theme-dark) .cgx-page-table-title {
    color: var(--cgx-text-heading) !important;
}

:root:not(.mud-theme-dark) .cgx-page-header__subtitle,
:root:not(.mud-theme-dark) .cgx-dash-header__subtitle {
    font-size: 0.875rem;
    color: var(--cgx-text-secondary);
}

:root:not(.mud-theme-dark) .mud-text-secondary,
:root:not(.mud-theme-dark) .mud-typography-color-secondary {
    color: var(--cgx-text-secondary) !important;
}

:root:not(.mud-theme-dark) .mud-list-item .mud-list-item-text,
:root:not(.mud-theme-dark) .mud-list-item-text .mud-typography {
    color: var(--cgx-text-primary) !important;
}

:root:not(.mud-theme-dark) .mud-card .mud-typography-h5,
:root:not(.mud-theme-dark) .mud-paper .mud-typography-h5 {
    color: var(--cgx-text-heading) !important;
    font-weight: 600;
}

:root:not(.mud-theme-dark) .cgx-dash-panel,
:root:not(.mud-theme-dark) .cgx-page-filters,
:root:not(.mud-theme-dark) .cgx-page-bulk,
:root:not(.mud-theme-dark) .cgx-page-panel,
:root:not(.mud-theme-dark) .cgx-page-section,
:root:not(.mud-theme-dark) .cgx-dash-stat-tile {
    background-color: var(--cgx-bg-card) !important;
    border-radius: var(--cgx-radius-lg);
    border: 1px solid var(--cgx-border) !important;
    box-shadow: none;
}

:root:not(.mud-theme-dark) .cgx-page-filters {
    padding: 1rem !important;
}

:root:not(.mud-theme-dark) .cgx-page-bulk {
    background: var(--cgx-nav-active-bg) !important;
    border-color: rgba(107, 140, 206, 0.22) !important;
}

:root:not(.mud-theme-dark) .cgx-page-stat-card {
    border-radius: var(--cgx-radius-lg);
    box-shadow: var(--cgx-shadow-sm);
}

/* KPI cards — keep module gradient colors from dashboard-shared.css */
:root:not(.mud-theme-dark) .mud-paper.cgx-dash-kpi,
:root:not(.mud-theme-dark) .cgx-dash-kpi {
    border: none !important;
    border-radius: var(--cgx-radius-lg);
    box-shadow: var(--cgx-shadow-sm);
}

:root:not(.mud-theme-dark) .cgx-dash-kpi__label {
    opacity: 0.9;
    font-size: 0.8rem;
    font-weight: 500;
}

:root:not(.mud-theme-dark) .cgx-dash-kpi__value {
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

:root:not(.mud-theme-dark) .cgx-dash-kpi__footer {
    opacity: 0.85;
    font-size: 0.76rem;
}

/* Gradient KPI variants — inherit text from dashboard-shared (white/dark per card) */
:root:not(.mud-theme-dark) .cgx-dash-kpi--primary .cgx-dash-kpi__label,
:root:not(.mud-theme-dark) .cgx-dash-kpi--primary .cgx-dash-kpi__value,
:root:not(.mud-theme-dark) .cgx-dash-kpi--primary .cgx-dash-kpi__footer,
:root:not(.mud-theme-dark) .cgx-dash-kpi--primary-soft .cgx-dash-kpi__label,
:root:not(.mud-theme-dark) .cgx-dash-kpi--primary-soft .cgx-dash-kpi__value,
:root:not(.mud-theme-dark) .cgx-dash-kpi--primary-soft .cgx-dash-kpi__footer,
:root:not(.mud-theme-dark) .cgx-dash-kpi--indigo .cgx-dash-kpi__label,
:root:not(.mud-theme-dark) .cgx-dash-kpi--indigo .cgx-dash-kpi__value,
:root:not(.mud-theme-dark) .cgx-dash-kpi--indigo .cgx-dash-kpi__footer {
    color: inherit;
}

:root:not(.mud-theme-dark) .mud-dialog {
    background-color: var(--cgx-bg-card);
    border-radius: var(--cgx-radius-lg);
    box-shadow: var(--cgx-shadow-lg);
    border: 1px solid var(--cgx-border);
}

:root:not(.mud-theme-dark) .mud-popover .mud-list {
    background-color: var(--cgx-bg-card) !important;
    border-radius: var(--cgx-radius-md);
    box-shadow: var(--cgx-shadow-md) !important;
}

:root:not(.mud-theme-dark) .mud-button-outlined {
    border-color: var(--cgx-border);
    color: var(--cgx-text-secondary);
    font-weight: 500;
    background: var(--cgx-bg-input);
}

:root:not(.mud-theme-dark) .mud-button-outlined:hover {
    background: var(--cgx-bg-elevated);
    border-color: var(--cgx-border-hover);
    color: var(--cgx-text-primary);
}

:root:not(.mud-theme-dark) .mud-button-filled.mud-button-filled-primary {
    background-color: var(--cgx-accent) !important;
    box-shadow: none;
    font-weight: 600;
}

:root:not(.mud-theme-dark) .mud-button-filled.mud-button-filled-primary:hover {
    background-color: var(--cgx-accent-hover) !important;
}

:root:not(.mud-theme-dark) .mud-chip {
    font-weight: 500;
}

:root:not(.mud-theme-dark) .mud-chip.mud-chip-color-default,
:root:not(.mud-theme-dark) .mud-chip.mud-chip-color-default .mud-chip-content {
    background-color: var(--cgx-bg-elevated);
    color: var(--cgx-text-secondary);
}

/* Invoice dashboard KPI — keep gradient from invoice-list.css */
:root:not(.mud-theme-dark) .invl-kpi-card {
    border-radius: var(--cgx-radius-lg);
    box-shadow: var(--cgx-shadow-sm);
}

/* ═══════════════════════════════════════════════════════════
   Dark mode — universal light text (POS-aligned, entire app)
   ═══════════════════════════════════════════════════════════ */

.mud-theme-dark,
.mud-theme-dark body,
.mud-theme-dark #app {
    color: var(--cgx-text-primary);
}

.mud-theme-dark h1,
.mud-theme-dark h2,
.mud-theme-dark h3,
.mud-theme-dark h4,
.mud-theme-dark h5,
.mud-theme-dark h6,
.mud-theme-dark .h1,
.mud-theme-dark .h2,
.mud-theme-dark .h3,
.mud-theme-dark .h4,
.mud-theme-dark .h5,
.mud-theme-dark .h6 {
    color: var(--cgx-text-heading);
}

.mud-theme-dark .form-label,
.mud-theme-dark .form-text,
.mud-theme-dark .form-check-label {
    color: var(--cgx-text-secondary);
}

.mud-theme-dark .mud-text,
.mud-theme-dark .mud-table-cell,
.mud-theme-dark .mud-td,
.mud-theme-dark .mud-th,
.mud-theme-dark .mud-list-item-text,
.mud-theme-dark .mud-list-item-text .mud-typography,
.mud-theme-dark .mud-card-content,
.mud-theme-dark .mud-card-header .mud-typography,
.mud-theme-dark .mud-alert-message,
.mud-theme-dark .mud-alert-title,
.mud-theme-dark .mud-timeline-item-content,
.mud-theme-dark .mud-treeview-item-label,
.mud-theme-dark .mud-picker-toolbar,
.mud-theme-dark .mud-picker-calendar-header,
.mud-theme-dark .mud-picker-calendar-day:not(.mud-selected),
.mud-theme-dark .mud-data-grid-cell,
.mud-theme-dark .mud-simple-table .mud-table-cell,
.mud-theme-dark .mud-switch-label,
.mud-theme-dark .mud-checkbox .mud-typography,
.mud-theme-dark .mud-radio .mud-typography,
.mud-theme-dark .mud-input-helper-text,
.mud-theme-dark .mud-form-helper-text,
.mud-theme-dark .mud-input-control-helper-text {
    color: var(--cgx-text-primary);
}

.mud-theme-dark .mud-typography-color-secondary,
.mud-theme-dark .mud-text-secondary,
.mud-theme-dark .mud-table-head .mud-table-cell,
.mud-theme-dark .mud-breadcrumbs .mud-breadcrumb-item,
.mud-theme-dark .mud-breadcrumbs .mud-breadcrumb-item a,
.mud-theme-dark .mud-tabs .mud-tab:not(.mud-tab-active),
.mud-theme-dark .mud-button-outlined,
.mud-theme-dark .mud-button-text {
    color: var(--cgx-text-secondary) !important;
}

.mud-theme-dark .mud-button-outlined:hover,
.mud-theme-dark .mud-button-text:hover {
    color: var(--cgx-text-primary) !important;
    background-color: var(--cgx-accent-glow);
}

.mud-theme-dark .mud-typography-color-disabled,
.mud-theme-dark .mud-text-disabled,
.mud-theme-dark .mud-breadcrumbs .mud-breadcrumb-item.mud-disabled,
.mud-theme-dark .mud-nav-group .mud-nav-group-title,
.mud-theme-dark .mud-nav-group .mud-nav-group-title .mud-icon-root {
    color: var(--cgx-text-muted) !important;
}

.mud-theme-dark .cgx-page-header__title,
.mud-theme-dark .cgx-page-table-title,
.mud-theme-dark .cgx-page-td-strong,
.mud-theme-dark .cgx-page-td-medium,
.mud-theme-dark .cgx-page-bulk__label,
.mud-theme-dark .cgx-page-section-heading,
.mud-theme-dark .cgx-page-detail-title,
.mud-theme-dark .cgx-page-detail-name,
.mud-theme-dark .cgx-page-pipeline-stage-title,
.mud-theme-dark .cgx-dash-header__title,
.mud-theme-dark .cgx-dash-panel__title,
.mud-theme-dark .cgx-dash-stat-tile__value {
    color: var(--cgx-text-primary);
}

.mud-theme-dark .cgx-page-header__subtitle,
.mud-theme-dark .cgx-dash-header__subtitle,
.mud-theme-dark .cgx-dash-panel__meta,
.mud-theme-dark .cgx-dash-stat-tile__label {
    color: var(--cgx-text-secondary);
}

.mud-theme-dark .doc-header-title,
.mud-theme-dark .doc-header-subtitle,
.mud-theme-dark .invl-header-title,
.mud-theme-dark .invl-toggle-label {
    color: var(--cgx-text-primary);
}

.mud-theme-dark .doc-header-subtitle,
.mud-theme-dark .invl-toggle-label {
    color: var(--cgx-text-secondary);
}

.mud-theme-dark .invl-kpi-grey {
    color: var(--cgx-text-muted);
}

.mud-theme-dark .invl-kpi-blue { color: #60a5fa; }
.mud-theme-dark .invl-kpi-teal { color: #2dd4bf; }
.mud-theme-dark .invl-kpi-green { color: #34d399; }

.mud-theme-dark .invl-inv-link {
    color: var(--cgx-accent-soft);
}

.mud-theme-dark .inv-root .mud-input-slot,
.mud-theme-dark .inv-root .mud-input-slot input,
.mud-theme-dark .inv-root .mud-input-slot textarea,
.mud-theme-dark .inv-root .mud-input input,
.mud-theme-dark .inv-root .mud-input textarea,
.mud-theme-dark .inv-root .mud-select-input .mud-input-slot {
    color: var(--cgx-text-primary) !important;
    -webkit-text-fill-color: var(--cgx-text-primary) !important;
}

.mud-theme-dark .inv-root .mud-input-label,
.mud-theme-dark .inv-root label.mud-input-label,
.mud-theme-dark .inv-root .mud-input-adornment .mud-icon-root {
    color: var(--cgx-text-secondary) !important;
}

.mud-theme-dark .prod-step-label {
    color: var(--cgx-text-secondary);
}

.mud-theme-dark .prod-step.active .prod-step-label {
    color: var(--cgx-text-primary);
}

.mud-theme-dark .prod-step-icon {
    background: var(--cgx-bg-input);
    border-color: var(--cgx-border-hover);
    color: var(--cgx-text-muted);
}

.mud-theme-dark .pl-prior,
.mud-theme-dark .cf-col-header td.cf-col-prior,
.mud-theme-dark .tb-th-prior,
.mud-theme-dark .tb-th-change,
.mud-theme-dark .tb-subtotal-prior {
    color: var(--cgx-text-secondary) !important;
}

.mud-theme-dark .cgx-dlg-section-title {
    color: var(--cgx-text-primary);
}
