@import url('theme-tokens.css');
/* Header control is native HTML/CSS. Theme state is restored by shared/js/preferences.js. */
.theme-toggle{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);color:var(--color-muted);cursor:pointer;flex:none}
.theme-toggle:hover{color:var(--color-accent-text);background:var(--color-accent-soft)}
.theme-toggle input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.theme-toggle svg{width:18px;height:18px;pointer-events:none}.theme-toggle .theme-sun{display:none}
.theme-toggle:has(input:checked) .theme-sun{display:block}.theme-toggle:has(input:checked) .theme-moon{display:none}
.theme-toggle:has(input:focus-visible){outline:2px solid var(--color-accent-text);outline-offset:3px}
@media(prefers-reduced-motion:no-preference){body,.topbar,.chat-main,.launcher-main,.card,.report-panel,.header-dropdown,.app-tile,.chat-composer{transition:background-color .18s ease,color .18s ease,border-color .18s ease}}
/* Legacy page adapters: structure, spacing, and blue navigation stay unchanged. */
:root[data-theme="dark"] body{background:var(--color-canvas);color:var(--color-text);--launcher-background:linear-gradient(125deg,#141923,#192131 65%,#1a263a)}
:root[data-theme="dark"] :is(.page-shell,.main-shell,.content,main:not(.launcher-main):not(.chat-main)){background-color:var(--color-canvas)}
:root[data-theme="dark"] :is(.topbar,.header-dropdown,.header-action-preview,.app-menu,.sidebar-flyout){background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--color-shadow)}
:root[data-theme="dark"] :is(.card,.report-panel,.report-filters,.form-section,.stat,.overview-stat-card,.overview-kpi-card,.overview-chart-card,.overview-table-card,.learning-stats article,.ai-metrics article){background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
:root[data-theme="dark"] :is(.app-tile,.chat-quick){background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}
:root[data-theme="dark"] .app-tile:hover{background:var(--color-surface-soft)}
:root[data-theme="dark"] :is(h1,h2,h3,h4,h5,h6){color:var(--color-text)}
:root[data-theme="dark"] :is(.ai-banner,.summary-cover) :is(h1,h2,h3,p){color:#fff}
:root[data-theme="dark"] ::placeholder{color:var(--color-muted)}
:root[data-theme="dark"] :is(.btn:not(.btn-primary):not(.btn-danger),.sidebar-toggle){background:var(--color-surface-soft);color:var(--color-text);border-color:var(--color-border)}
:root[data-theme="dark"] .sidebar-toggle{border-color:var(--color-primary)}
:root[data-theme="dark"] :is(.chat-send,.mini-ai,.assistant-avatar,.message-user){background:var(--color-primary);color:var(--color-on-primary)}
:root[data-theme="dark"] :is(.positive,.status-success,.badge-success){color:var(--color-success)}
:root[data-theme="dark"] :is(.ai-alert,.alert-warning){background:var(--color-warning-soft);color:var(--color-warning);border-color:#625038}
:root[data-theme="dark"] :is(.header-signout,.text-danger){color:var(--color-danger)}
:root[data-theme="dark"] .header-signout:hover{background:var(--color-danger-soft)}
:root[data-theme="dark"] svg text{fill:var(--color-muted)}
:root[data-theme="dark"] :is(.source-trend,.ai-chart) svg line{stroke:var(--color-border)}
:root[data-theme="dark"] .side :is(.brand,.nav-shortcut,.nav-leaf[aria-current]){color:inherit}
:root[data-theme="dark"] .side .nav-leaf[aria-current]{color:var(--sidebar-current-text)}

:root[data-theme="dark"] .chat-main{--chat-canvas:#141923;--chat-text:#e9eef8;--chat-divider:#ffffff0e;--chat-muted:#9aaac2;--chat-badge-border:#ffffff18;--chat-link:#b0bed2;--chat-eyebrow:#8d9cb4;--chat-heading:#f3f6fc;--chat-subtitle:#94a2b8;--chat-card-border:#ffffff10;--chat-card:#ffffff04;--chat-card-text:#d1dbeb;--chat-icon:var(--color-focus);--chat-arrow:#74849c;--chat-small:#8a99b0;--chat-composer:#202735;--chat-composer-border:#ffffff14;--chat-input:#e3ecfb;--chat-placeholder:#8b98ab;--chat-mode-track:#151b27;--chat-mode-text:#8b9ab1;--chat-mode-selected:#354057;--chat-mode-selected-text:#e7efff;--chat-date:#8594ac;--chat-assistant-label:#93a6c1}
/* Data accents use lighter ink on dark surfaces; chart series retain their hue. */
:root[data-theme="dark"]{--color-violet:#b69aef;--color-teal:#59cdbd}
:root[data-theme="dark"] :is(.stat-card-2 .stat-value,.overview-kpi-card:nth-child(1) .overview-kpi-rate-value,.activity-metric.teal strong,.ai-metrics article:nth-child(2n) strong){color:var(--color-teal)}
:root[data-theme="dark"] :is(.stat-card-3 .stat-value,.overview-kpi-card:nth-child(2) .overview-kpi-rate-value,.ai-metrics article:nth-child(3n) strong){color:var(--color-violet)}
:root[data-theme="dark"] .stat-card-4 .stat-value{color:var(--color-success)}
:root[data-theme="dark"] .activity-metric.amber strong{color:var(--color-warning)}
:root[data-theme="dark"] .activity-metric.slate strong{color:var(--color-muted)}
:root[data-theme="dark"] .activity-metric.blue strong{color:var(--color-accent-text)}
:root[data-theme="dark"] .source-trend line{stroke:var(--color-border)}
:root[data-theme="dark"] .source-trend polyline{stroke:var(--color-focus)}
:root[data-theme="dark"] #learning-completion-trend-chart polyline{stroke:var(--color-teal)}
:root[data-theme="dark"] .sidebar-flyout :is(.nav-leaf,.nav-subgroup>summary){color:var(--color-text);background:transparent}
:root[data-theme="dark"] .sidebar-flyout :is(.nav-leaf:hover,.nav-leaf[aria-current],.nav-subgroup>summary){background:var(--color-accent-soft);color:var(--color-accent-text);border-color:var(--color-border)}
:root[data-theme="dark"] .launcher-eyebrow{color:var(--color-accent-text)}

/* Dark navigation: navy surfaces, a blue active destination, and quiet category bands. */
:root:is([data-theme="dark"],[data-primary-tone="light"]) :is(body,.shell)>.side,
:root:is([data-theme="dark"],[data-primary-tone="light"]) .mobile-nav .side{background:var(--sidebar-canvas);color:var(--sidebar-text);box-shadow:1px 0 0 var(--sidebar-border)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .mobile-nav{background:var(--sidebar-canvas)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side .brand{color:var(--sidebar-heading)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side .brand-mark{background:var(--color-primary);color:var(--color-on-primary)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side :is(.nav-group>summary,.nav-shortcut){color:var(--sidebar-heading)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side .nav-leaf{color:var(--sidebar-text)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side .nav-subgroup>summary{background:var(--sidebar-category);color:var(--sidebar-heading);border-left-color:var(--sidebar-category-edge)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side :is(.nav-group[open]>summary,.nav-group:has(.nav-leaf[aria-current])>summary){background:var(--sidebar-group-active)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side :is(.nav-group>summary:hover,.nav-subgroup>summary:hover,.nav-subgroup[open]>summary){background:var(--sidebar-hover);color:var(--sidebar-heading)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side .nav-leaf[aria-current]{background:transparent;color:var(--sidebar-current-text);box-shadow:none}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side .rail-button{color:var(--sidebar-text)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side .rail-button:hover{background:var(--sidebar-hover);color:var(--sidebar-heading)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side :is(.rail-button.rail-active,.rail-button[aria-current]){background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}
:root:is([data-theme="dark"],[data-primary-tone="light"]) .side .menu-scroll{scrollbar-color:#425777 transparent}

/* Company surfaces use the same semantic tokens across home and auth. */
:root:is([data-company="esmart"],[data-company="cimb"]){--launcher-background:var(--color-accent-soft)}
:root[data-company="esmart"] .company-brand .company-logo{background:var(--color-primary);border-radius:5px;padding:4px}
:root[data-company="esmart"] .auth-identity img{background:var(--color-primary)}
:root:is([data-company="bawana"],[data-company="cimb"]) .auth-identity img{width:72px;height:72px}

/* Interactive foreground/background pairs; do not inherit brand fill colors as text. */
:root[data-theme="dark"] :is(.role-item.active,.form-nav a:hover,.icon-btn:hover){background:var(--color-accent-soft);color:var(--color-accent-text)}
:root[data-theme="dark"] :is(.btn:not(.btn-primary):not(.btn-danger),.sidebar-toggle):is(:hover,:focus-visible){background:var(--color-accent-soft);color:var(--color-accent-text);border-color:var(--color-focus)}
:root[data-theme="dark"] .btn-primary:is(:hover,:focus-visible){background:var(--color-primary-hover);color:var(--color-on-primary-button);border-color:var(--color-primary-hover)}
:root[data-theme="dark"] .btn:disabled{opacity:1;background:var(--color-surface-soft);color:var(--color-muted);border-color:var(--color-border);box-shadow:none}
:root[data-theme="dark"] .profile-font-option:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:-2px}

/* White primary keeps a visible boundary and dark ink on its actual filled surfaces. */
:root[data-primary-tone="light"] .btn-primary{border-color:var(--color-muted);color:var(--color-on-primary-button);box-shadow:none}
:root[data-primary-tone="light"] .btn-primary:is(:hover,:focus-visible){border-color:var(--color-focus);color:var(--color-on-primary-button)}
:root[data-primary-tone="light"] :is(.ai-banner,.summary-cover){color:var(--color-on-primary);border:1px solid var(--color-border)}
:root[data-primary-tone="light"] :is(.ai-banner,.summary-cover) :is(h1,h2,h3,p,small){color:var(--color-on-primary)}
:root[data-primary-tone="light"] .ai-banner>a{background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-muted)}
:root[data-primary-tone="light"] :is(.banner-icon,.chat-hero-icon){color:var(--color-on-primary);border-color:var(--color-muted)}
:root[data-primary-tone="light"] .launcher-eyebrow>span{background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-muted)}
:root[data-primary-tone="light"] .side .company-logo{background:#fff;border-radius:5px;padding:4px}
:root[data-primary-tone="light"] input:is([type=radio],[type=checkbox]){accent-color:var(--color-accent-text)}

:root[data-company="bplearning"] .side .company-logo{height:64px;object-position:center}
