:root,
:root[data-theme="warehouse-green"]{
  --ink:#172126;
  --muted:#68767d;
  --line:#dce3e5;
  --soft:#f4f7f6;
  --paper:#fff;
  --nav:#102b2b;
  --nav-2:#173837;
  --green:#137b68;
  --green-2:#0f6657;
  --mint:#dff2eb;
  --amber:#b36a16;
  --amber-bg:#fff0da;
  --blue:#276a91;
  --blue-bg:#e5f1f8;
  --red:#b33a3a;
  --shadow:0 16px 42px rgba(20,45,43,.09);
  --radius:14px;
  --brand:#137b68;
  --brand-hover:#0f6657;
  --brand-soft:#dff2eb;
  --brand-soft-2:#eaf5f1;
  --brand-border:#96c5b8;
  --brand-focus:rgba(19,123,104,.12);
  --brand-focus-strong:rgba(19,123,104,.28);
  --interactive:#137b68;
  --interactive-hover:#0f6657;
  --interactive-soft:#dff2eb;
  --interactive-border:#96c5b8;
  --interactive-focus:rgba(19,123,104,.28);
  --page-bg:#f4f7f6;
  --topbar-bg:#edf1f0;
  --button-bg:#e9efed;
  --button-hover:#dfe7e4;
  --control-bg:#fff;
  --surface-subtle:#f7f9f8;
  --surface-muted:#f2f5f4;
  --surface-hover:#fafcfc;
  --surface-active:#edf8f4;
  --login-bg:#edf3f0;
  --login-orb-1:#cce8dd;
  --login-orb-2:#d9e6ed;
  --login-orb-ring:rgba(19,123,104,.08);
  --login-card-bg:rgba(255,255,255,.94);
  --login-card-border:rgba(255,255,255,.8);
  --login-shadow:0 28px 80px rgba(25,57,52,.14);
  --nav-gradient:linear-gradient(180deg,#102d2d 0%,#0c2526 100%);
  --nav-text:#bfd2ce;
  --nav-text-muted:#83a49e;
  --nav-text-soft:#9ac3ba;
  --nav-hover:rgba(255,255,255,.06);
  --nav-active:linear-gradient(90deg,rgba(31,119,101,.7),rgba(36,91,82,.72));
  --nav-active-rail:#55dfb6;
  --nav-active-icon:#8ce6cc;
  --nav-active-icon-bg:rgba(90,222,187,.12);
  --nav-focus:#68ddbd;
  --nav-flyout:#103130;
  --nav-flyout-border:rgba(130,207,188,.18);
  --nav-shadow:rgba(5,24,23,.3);
  --overlay:rgba(12,35,34,.5);
  --drawer-overlay:rgba(16,43,43,.34);
  --success:#137b68;
  --success-soft:#ddf4ec;
  --warning:#b36a16;
  --warning-soft:#fff0da;
  --danger:#b33a3a;
  --danger-soft:#fff0f0;
  --info:#276a91;
  --info-soft:#e5f1f8;
  --chart-1:#17806c;
  --chart-2:#3a7c9c;
  --chart-3:#ba7a27;
  --chart-4:#7a65a8;
  --chart-5:#c35f72;
  --chart-muted:#9aa5a2;
  --chart-empty:#d9e1df;
  --chart-axis:#526168;
  --chart-grid:#edf1f0;
  --chart-area-1:rgba(23,128,108,.12);
  --chart-area-2:rgba(58,124,156,.12);
}

:root[data-theme="jd-red"]{
  --ink:#262626;
  --muted:#6b7280;
  --line:#e5e5e5;
  --soft:#f5f5f5;
  --paper:#fff;
  --nav:#2b2b2b;
  --nav-2:#3a3030;
  --green:#e1251b;
  --green-2:#c81623;
  --mint:#fff0ef;
  --amber:#b6690c;
  --amber-bg:#fff4dd;
  --blue:#356f9f;
  --blue-bg:#edf5fb;
  --red:#b42318;
  --shadow:0 14px 36px rgba(49,35,34,.10);
  --radius:10px;
  --brand:#e1251b;
  --brand-hover:#c81623;
  --brand-soft:#fff0ef;
  --brand-soft-2:#fff6f5;
  --brand-border:#f1aaa5;
  --brand-focus:rgba(225,37,27,.14);
  --brand-focus-strong:rgba(225,37,27,.28);
  --interactive:#356f9f;
  --interactive-hover:#285878;
  --interactive-soft:#edf5fb;
  --interactive-border:#a8c6dd;
  --interactive-focus:rgba(53,111,159,.28);
  --page-bg:#f5f5f5;
  --topbar-bg:#f2f2f2;
  --button-bg:#eeeeee;
  --button-hover:#e4e4e4;
  --control-bg:#fff;
  --surface-subtle:#fafafa;
  --surface-muted:#f5f5f5;
  --surface-hover:#f7fafc;
  --surface-active:#edf5fb;
  --login-bg:#f6f4f4;
  --login-orb-1:#ffe0de;
  --login-orb-2:#e8e8e8;
  --login-orb-ring:rgba(225,37,27,.09);
  --login-card-bg:rgba(255,255,255,.96);
  --login-card-border:rgba(255,255,255,.86);
  --login-shadow:0 28px 80px rgba(67,33,31,.15);
  --nav-gradient:linear-gradient(180deg,#303030 0%,#232323 100%);
  --nav-text:#dedede;
  --nav-text-muted:#aaa;
  --nav-text-soft:#c2c2c2;
  --nav-hover:rgba(255,255,255,.075);
  --nav-active:linear-gradient(90deg,#e1251b 0%,#c81623 100%);
  --nav-active-rail:#fff;
  --nav-active-icon:#fff;
  --nav-active-icon-bg:rgba(255,255,255,.16);
  --nav-focus:#ff8b83;
  --nav-flyout:#2c2c2c;
  --nav-flyout-border:rgba(255,255,255,.14);
  --nav-shadow:rgba(32,20,20,.34);
  --overlay:rgba(38,24,24,.52);
  --drawer-overlay:rgba(50,28,27,.34);
  --success:#16835f;
  --success-soft:#e8f7f1;
  --warning:#b6690c;
  --warning-soft:#fff4dd;
  --danger:#b42318;
  --danger-soft:#fff0ef;
  --info:#356f9f;
  --info-soft:#edf5fb;
  --chart-1:#356f9f;
  --chart-2:#5b8db8;
  --chart-3:#d18a2f;
  --chart-4:#6f63a8;
  --chart-5:#4c8c78;
  --chart-muted:#9b9b9b;
  --chart-empty:#dedede;
  --chart-axis:#5f6368;
  --chart-grid:#ededed;
  --chart-area-1:rgba(53,111,159,.12);
  --chart-area-2:rgba(91,141,184,.12);
}

html,body{background:var(--page-bg)}
button{background:var(--button-bg)}
.primary{background:var(--brand)}
.primary:hover{background:var(--brand-hover)}
.danger{background:var(--danger-soft);color:var(--danger)}
.eyebrow{color:var(--brand)}
.login-view{background:var(--login-bg)}
.login-decor span:nth-child(1){background:var(--login-orb-1)}
.login-decor span:nth-child(2){background:var(--login-orb-2)}
.login-decor span:nth-child(3){border-color:var(--login-orb-ring)}
.login-card{background:var(--login-card-bg);border-color:var(--login-card-border);box-shadow:var(--login-shadow)}
.login-mark,.brand-mark{background:var(--brand)}
.brand-logo-slot{overflow:hidden}
.brand-logo-slot.has-logo{padding:4px;background:var(--paper);color:transparent;box-shadow:inset 0 0 0 1px var(--line),0 8px 22px var(--brand-focus-strong)}
.brand-logo-slot img{display:block;width:100%;height:100%;object-fit:contain}
.login-card input,.field>input,.field>select,.field>textarea,.editor-field input,.editor-field select,.editor-field textarea{background:var(--control-bg)}
.login-card input:focus,.field>input:focus,.field>select:focus,.editor-field input:focus,.editor-field textarea:focus,.detail-filter-bar input:focus,.detail-page-jump input:focus,.tracking-input-wrap:focus-within,.efficiency-table-toolbar label:focus-within,.wms-document-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-focus)}
.tab:focus-visible,.drilldown-card:focus-visible{box-shadow:inset 0 0 0 2px var(--brand-focus-strong)}

.sidebar{background:var(--nav-gradient);box-shadow:inset -1px 0 rgba(255,255,255,.045)}
.brand-mark{box-shadow:0 8px 22px var(--brand-focus-strong)}
.brand small,.menu-group-main,.menu-group-toggle{color:var(--nav-text-muted)}
.menu-group-body .menu-item,.menu-group-body .menu-item.child,.sidebar-flyout-item{color:var(--nav-text)}
.menu-group-body .menu-icon,.menu-group-body .menu-item.child .menu-icon,.sidebar-flyout-item>span:first-child{color:var(--nav-text-soft)}
.menu-group-main:hover,.menu-group-toggle:hover,.menu-group-body .menu-item:hover,.sidebar-flyout-item:hover{background:var(--nav-hover);color:#fff}
.menu-group-main.active{background:var(--nav-active-icon-bg);color:var(--nav-active-icon)}
.menu-group-body .menu-item.active,.sidebar-flyout-item.active{background:var(--nav-active);color:#fff}
.menu-group-body .menu-item::before{background:var(--nav-active-rail)}
.menu-group-body .menu-item.active .menu-icon,.sidebar-flyout-item.active>span:first-child{background:var(--nav-active-icon-bg);color:var(--nav-active-icon)}
.menu-group-main:focus-visible,.menu-group-toggle:focus-visible,.menu-group-body .menu-item:focus-visible,.sidebar-flyout-item:focus-visible{outline-color:var(--nav-focus)}
.sidebar-flyout{border-color:var(--nav-flyout-border);background:var(--nav-flyout);box-shadow:0 18px 48px var(--nav-shadow)}
.sidebar-flyout-title>span{background:var(--nav-active-icon-bg);color:var(--nav-active-icon)}
.current-user{color:var(--nav-text)}
.sidebar-foot .text-btn{color:var(--nav-text-muted)}
.status-dot{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 16%,transparent)}
@media(min-width:901px){.app-shell.sidebar-collapsed .menu-group.current .menu-group-main{color:var(--nav-active-icon);background:var(--nav-active-icon-bg);box-shadow:inset 0 0 0 1px var(--nav-flyout-border)}}

.tabbar-wrap{background:var(--topbar-bg)}
.tab-actions .icon-btn:hover,.panel-refresh-btn:hover:not(:disabled){background:var(--button-hover);color:var(--interactive)}
.tab-close:hover,.tab-close:focus-visible{background:var(--button-hover)}
.toolbar,.panel,.kpi-card,.dashboard-region-placeholder,.forecast-card,.forecast-summary>div,.forecast-summary>button,.efficiency-summary>div,.admin-list,.editor,.access-heading,.access-list,.access-editor,.dynamic-page-head,.dynamic-admin-head,.dynamic-container,.dynamic-text,.dynamic-command-form,.employee-workload-loading,.recheck-deadline-loading,.recheck-deadline-summary article,.location-loading,.location-kpi,.location-aisle-card,.location-view-tabs,.tracking-search,.tracking-loading,.tracking-card,.wms-document-section{background:var(--paper)}
.dashboard-ranking-grid>section,.efficiency-charts>section,.chart-config,.detail-filter-bar,.access-list-tools,.forecast-staff-list,.forecast-staff-control,.forecast-staff-readonly,.forecast-workload,.tracking-order-links,.tracking-operator,.wms-document-section-head{background:var(--surface-subtle)}
.data-table th,.detail-data-table th,.employee-workload-table th,.wms-document-table th{background:var(--surface-muted);color:var(--chart-axis)}
.data-table tr:hover td,.detail-data-table tr:hover td{background:var(--surface-hover)}
.query-list-item.active,.access-list-item.active,.efficiency-table tbody tr.selected td,.efficiency-table tr.selected td:last-child{background:var(--surface-active)}
.drilldown-card:hover,.drilldown-card:focus-visible,.location-aisle-card:hover,.location-aisle-card:focus-visible{border-color:var(--interactive-border);box-shadow:0 0 0 3px var(--interactive-focus)}
.result-view-switch{background:var(--surface-muted)}
.result-view-switch button.active{background:var(--paper);color:var(--interactive);box-shadow:0 1px 5px rgba(32,32,32,.12)}
.kpi-card::after{background:var(--brand-soft)}
.kpi-card.done .kpi-value,.status-summary-card.done .kpi-value,.location-kpi.done strong{color:var(--success)}
.status-total-card .kpi-value,.recheck-deadline-summary strong{color:var(--brand)}
.status-total-card{border-color:var(--brand-border);background:linear-gradient(145deg,var(--paper),var(--brand-soft-2))}
.status-total-card::after{background:var(--brand-soft)}
.info-callout{background:var(--info-soft);color:var(--info)}
.warning-callout{background:var(--warning-soft);color:var(--warning)}
.loading::before{border-top-color:var(--brand)}
.drawer-backdrop{background:var(--drawer-overlay)}
.detail-drawer{box-shadow:-20px 0 60px color-mix(in srgb,var(--nav) 22%,transparent)}
.toast{background:var(--nav)}
.toast.error{background:var(--danger)}

.forecast-refresh,.forecast-summary-personnel small,.forecast-stepper button,.efficiency-today-detail-button,.efficiency-table td:last-child button,.permission-legend,.location-code-button,.wms-document-link,.stock-qr-link,.tracking-eyebrow,.tracking-hero-icon,.dynamic-command-result,.dynamic-result{color:var(--interactive)}
.forecast-refresh:hover:not(:disabled),.efficiency-today-detail-button,.efficiency-table td:last-child button,.permission-legend,.location-view-tabs button.active,.location-code-button:hover,.location-code-button:focus-visible,.dynamic-tab-list button.active{background:var(--interactive-soft)}
.forecast-summary-personnel:hover,.forecast-summary-personnel[aria-expanded="true"]{border-color:var(--interactive-border);background:var(--interactive-soft)}
.forecast-card,.dashboard-forecast-card{border-top-color:var(--brand)}
.forecast-stage-dot{background:var(--brand);box-shadow:0 0 0 4px var(--brand-focus)}
.forecast-confidence.high,.forecast-staff-group li,.tracking-exact,.wms-document-status.state-completed,.wms-document-timeline li.state-completed .wms-step-marker,.deadline-status.normal,.permission-row em.allowed{background:var(--success-soft);color:var(--success)}
.forecast-progress span,.location-aisle-card>div em{background:var(--brand)}
.tracking-hero{border-color:var(--brand-border);background:linear-gradient(125deg,var(--brand-soft-2),var(--paper) 64%,var(--surface-muted))}
.tracking-hero::after{background:var(--brand-focus)}
.tracking-card.done{border-left-color:var(--success);background:linear-gradient(145deg,var(--paper),var(--success-soft))}
.tracking-card.done .tracking-stage-main>strong{color:var(--success)}
.tracking-card.done .tracking-progress span{background:var(--success)}
.location-view-tabs button.active,.dynamic-tab-list button.active{color:var(--interactive)}
.access-list-item.active{box-shadow:inset 4px 0 var(--interactive)}
a{color:var(--interactive)}
a:hover,a:focus-visible{color:var(--interactive-hover)}
.data-table td,.detail-data-table td,.employee-workload-table td,.wms-document-table td{color:var(--ink)}
.data-table button:not(.primary):not(.danger):not(.wms-line-event-video),.detail-data-table button:not(.primary):not(.danger):not(.wms-line-event-video),.employee-workload-table button:not(.primary):not(.danger):not(.wms-line-event-video),.wms-document-table button:not(.primary):not(.danger):not(.wms-line-event-video){color:var(--interactive)}
.data-table button:not(.primary):not(.danger):not(.wms-line-event-video):hover,.data-table button:not(.primary):not(.danger):not(.wms-line-event-video):focus-visible,.detail-data-table button:not(.primary):not(.danger):not(.wms-line-event-video):hover,.detail-data-table button:not(.primary):not(.danger):not(.wms-line-event-video):focus-visible,.employee-workload-table button:not(.primary):not(.danger):not(.wms-line-event-video):hover,.employee-workload-table button:not(.primary):not(.danger):not(.wms-line-event-video):focus-visible,.wms-document-table button:not(.primary):not(.danger):not(.wms-line-event-video):hover,.wms-document-table button:not(.primary):not(.danger):not(.wms-line-event-video):focus-visible{color:var(--interactive-hover);background:var(--interactive-soft)}
.employee-workload-inline-summary strong,.employee-workload-total strong,.employee-workload-metric strong{color:var(--interactive)}
.employee-workload-person:hover:not(:disabled),.employee-workload-total:hover:not(:disabled),.employee-workload-metric:hover:not(:disabled){background:var(--interactive-soft);color:var(--interactive-hover)}
.wms-document-link:hover,.stock-qr-link:hover{color:var(--interactive-hover);text-decoration-color:currentColor}
.wms-document-link:focus-visible,.stock-qr-link:focus-visible{outline-color:var(--interactive-focus)}
.dynamic-json-editor,.version-code,.version-diff{background:#1f1f1f;color:#f3f3f3}
.wms-document-dialog,.stock-qr-dialog,.wms-document-head{background:var(--paper)}
.wms-document-dialog::backdrop,.stock-qr-dialog::backdrop{background:var(--overlay)}
.wms-document-body{background:var(--page-bg)}
.stock-qr-code{background:var(--paper);border-color:var(--line)}

.theme-trigger{display:flex;align-items:center;justify-content:center;gap:7px}
.auth-theme-trigger{position:fixed;z-index:160;top:18px;right:20px;min-height:36px;padding:8px 12px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);color:var(--muted);box-shadow:0 7px 24px rgba(30,30,30,.08);backdrop-filter:blur(14px)}
.auth-theme-trigger:hover{border-color:var(--interactive-border);color:var(--interactive);background:var(--paper)}
.auth-theme-trigger svg{width:16px;height:16px}
.theme-menu{position:fixed;z-index:200;width:min(276px,calc(100vw - 16px));padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 18px 54px rgba(28,23,23,.18)}
.theme-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px 10px;border-bottom:1px solid var(--line)}
.theme-menu-head strong{font-size:12px}
.theme-menu-head small{color:var(--muted);font-size:9px}
.theme-options{display:grid;gap:5px;padding-top:7px}
.theme-option{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:9px;border:1px solid transparent;background:transparent;text-align:left}
.theme-option:hover{background:var(--surface-subtle)}
.theme-option[aria-checked="true"]{border-color:var(--interactive-border);background:var(--interactive-soft);color:var(--interactive)}
.theme-option-swatch{width:28px;height:28px;border:1px solid color-mix(in srgb,var(--theme-swatch) 65%,#fff);border-radius:8px;background:var(--theme-swatch);box-shadow:inset 0 0 0 5px rgba(255,255,255,.18)}
.theme-option-copy strong,.theme-option-copy small{display:block}
.theme-option-copy strong{font-size:12px}
.theme-option-copy small{margin-top:3px;color:var(--muted);font-size:9px}
.theme-option-check{display:grid;place-items:center;color:var(--interactive)}
.theme-option-check svg{width:15px;height:15px}
.theme-option:focus-visible,.theme-trigger:focus-visible{outline:2px solid var(--brand-focus-strong);outline-offset:2px}

@media(max-width:620px){
  .auth-theme-trigger{top:10px;right:10px;padding:8px}
  .auth-theme-trigger span{display:none}
  .theme-menu{border-radius:10px}
}
