/* 恒悦 · 墨绿设计交付版。浅色与数据/交互保持独立。 */
:root{
  --brand:#2d68de;--brand-deep:#255dc8;--brand-soft:#edf3fe;--brand-line:#dbe6f8;
  --bg:#f5f7fa;--surface:#fff;--subtle:#f8fafc;--line:#e6ebf2;
  --t1:#21324b;--t2:#61738d;--t3:#6b7c94;
  --green:#168268;--green-soft:#eaf6f1;--red:#c94f4b;--red-soft:#fceeed;
  --amber:#976619;--amber-soft:#fff5e3;--r:11px;
  --sh-1:0 1px 3px rgba(25,45,75,.025);--sh-2:0 4px 15px rgba(25,45,75,.055);
  --brand-dark:#21324b;--brand-mid:#314767;--brand-blue:var(--brand);--brand-blue2:var(--brand);
  --bg-page:var(--bg);--border:var(--line);--text-1:var(--t1);--text-2:var(--t2);--text-3:var(--t3);
  --card:var(--surface);--grad:linear-gradient(135deg,#2d68de,#285ec9);--up:var(--red);--down:var(--green);
  color-scheme:light;
}
html[data-theme="dark"]{
  --brand:#19bd79;--brand-deep:#0b8b5d;--brand-soft:#10382b;--brand-line:#285a45;
  --bg:#070b0a;--surface:#0d1512;--subtle:#0b1210;--line:#20342a;
  --t1:#edf9f1;--t2:#a9c4b4;--t3:#89a795;
  --green:#3be0a0;--green-soft:#10382b;--red:#ff5c67;--red-soft:#331b20;
  --amber:#ffc264;--amber-soft:#302719;--brand-dark:#070b0a;--brand-mid:#10251b;--r:14px;
  --grad:linear-gradient(135deg,#087a51,#0b8759);
  --panel-grad:linear-gradient(145deg,rgba(18,29,25,.96),rgba(10,17,15,.98));
  --sh-1:0 8px 24px rgba(0,0,0,.18);--sh-2:0 12px 30px rgba(18,183,116,.10);
  color-scheme:dark;
}
html body{background:var(--bg);color:var(--t1)}
html .main,html .content{background:transparent}
html .content{padding:25px 28px 36px;max-width:1440px}
html .topbar{height:66px;background:var(--surface);border-color:var(--line);box-shadow:none;backdrop-filter:none}
html .page-title{color:var(--t1);font-size:20px;font-weight:650}
html .page-sub{color:var(--t3);font-size:11px}
html .dashboard-search{height:36px;background:var(--subtle);border-color:var(--line);border-radius:8px;color:var(--t3)}
html .dashboard-search input{color:var(--t1)}
html .dashboard-search input::placeholder{color:var(--t3)}

/* !important is limited to declarations already forced by ui3, and inline colors. */
html .sidebar{background:var(--surface);border-right:1px solid var(--line);box-shadow:none;color:var(--t1);transition:transform 220ms cubic-bezier(.2,.8,.2,1)}
html .brand{background:transparent;box-shadow:none;border:0;margin:14px 12px 8px;padding:12px 8px;border-radius:0;gap:10px}
html .brand-logo-wrap{width:38px;height:38px;padding:2px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:none}
html .brand img{box-shadow:none}
html .brand-name{color:var(--t1);font-size:15px;font-weight:650;letter-spacing:0}
html .brand-sub{color:var(--t3)!important;font-size:9px;letter-spacing:1px}
html .nav-label{color:var(--t3)!important;opacity:1;font-size:10px;font-weight:500;letter-spacing:.6px;padding:15px 23px 8px}
html .nav-item{font-size:13px;font-weight:500;border-radius:8px;color:var(--t2)!important;margin:3px 12px;padding:11px 12px;transition:background-color 160ms,color 160ms,transform 140ms}
html .nav-item:hover{background:var(--subtle)!important;color:var(--t1)!important;transform:none}
html .nav-item.active{background:var(--brand-soft)!important;color:var(--brand)!important;box-shadow:none;font-weight:650}
html .nav-item.active i{color:inherit}
html .nav-dot{background:var(--amber);box-shadow:none}
html .customer-service{background:var(--subtle)!important;border-color:var(--line)!important;box-shadow:none}
html .customer-service button{color:var(--t1)!important}
html .customer-service i{color:var(--brand)!important}
html .customer-service small{color:var(--t3)!important}
html .user-area{background:var(--surface);border-color:var(--line)!important}
html .avatar{background:var(--brand-soft)!important;color:var(--brand);box-shadow:none}
html .user-name{color:var(--t1)!important}
html .user-role,html .logout-link{color:var(--t3)!important}
html .logout-link:hover{background:var(--red-soft)!important;color:var(--red)!important}
html .sidebar-toggle{background:var(--surface)!important;color:var(--t2)!important;border-color:var(--line)!important;box-shadow:none!important}
.theme-toggle{min-width:38px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--t2);font-size:12px;cursor:pointer;transition:background-color 160ms,color 160ms,border-color 160ms}
.theme-toggle:hover{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand)}

/* A panel and its heading always use the same surface/text pair. */
html .card,html .stat-card,html .ma-panel,html .inv-list,html .inv-card,html .out-card,html .record-card,html .workbench-panel{background:var(--surface);color:var(--t1);border-color:var(--line);box-shadow:var(--sh-1);border-radius:var(--r)}
html .card:hover{border-color:var(--brand-line);box-shadow:var(--sh-1)}
html .card-h,html .ma-heading,html .workbench-panel-h{color:var(--t1);border-color:var(--line);font-size:13px;font-weight:600;padding:15px 18px}
html .card-h .sub,html .ma-heading small{color:var(--t3)}
html .card-b{background:transparent;padding:17px 18px}
html .stat-label{color:var(--t2)}
html .stat-value{font-weight:650;color:var(--t1)}
html .stat-sub,html .muted{color:var(--t3)!important}
html .inv-card,html .out-card,html .record-card,html .workbench-panel,html .workbench-stat{border-color:var(--line)!important;box-shadow:var(--sh-1)!important;border-radius:var(--r)!important}
html .stat-card:hover,html .inv-card:hover,html .out-card:hover,html .record-card:hover{transform:none;border-color:var(--brand-line)!important;box-shadow:var(--sh-2)!important}
html .btn-p{background:var(--grad);color:#fff;border-radius:8px;box-shadow:none;font-weight:600}
html .btn-p:hover{background:var(--brand-deep);box-shadow:none;transform:none;filter:none}
html .btn-ghost,html .btn-outline{background:var(--surface);color:var(--t2);border-color:var(--line);border-radius:8px}
html .btn-ghost:hover,html .btn-outline:hover{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-line)}
html .btn-danger-soft{background:var(--surface);color:var(--red);border-color:var(--red-soft)}
html .btn-danger-soft:hover{background:var(--red-soft)}
html .form-control,html .form-select{background-color:var(--surface);color:var(--t1);border-color:var(--line)}
html .form-control::placeholder{color:var(--t3)}
html .form-control:focus,html .form-select:focus{background-color:var(--surface);color:var(--t1);border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
html .form-label{color:var(--t2)}
html .form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}
html .input-group-text{background:var(--subtle);color:var(--t2);border-color:var(--line)}
html .tbl th,html .inv-table th{background:var(--subtle);color:var(--t2);border-color:var(--line)}
html .tbl td,html .inv-table td{color:var(--t1);border-color:var(--line)}
html .tbl tbody tr:hover,html .inv-table tbody tr:hover{background:var(--subtle);box-shadow:none}
html .tag-blue,html .spec-chip{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-line)}
html .tag-green{background:var(--green-soft);color:var(--green)}
html .tag-red{background:var(--red-soft);color:var(--red)}
html .tag-amber{background:var(--amber-soft);color:var(--amber)}
html .tag-gray{background:var(--subtle);color:var(--t2)}
html .chip-code,html .barcode-code,html .sn-chip{background:var(--subtle);color:var(--t2);border-color:var(--line)}
html .seg{background:var(--subtle)!important;border:1px solid var(--line);box-shadow:none}
html .seg-item.active{background:var(--surface)!important;color:var(--brand)!important;box-shadow:var(--sh-1)!important}
html .member-chip.admin{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-line)}
html .member-chip.ok{background:var(--green-soft);color:var(--green);border-color:var(--green-soft)}
html .member-chip.expiring{background:var(--amber-soft);color:var(--amber);border-color:var(--amber-soft)}
html .member-chip.none{background:var(--red-soft);color:var(--red);border-color:var(--red-soft)}
html .modal-content,html .live-scanner-panel{background:var(--surface);color:var(--t1);border:1px solid var(--line)}
html .modal-header,html .modal-footer,html .live-scanner-foot{border-color:var(--line)}
html .live-scanner-foot{background:var(--subtle);color:var(--t2)}
html .flash-msg{background:var(--surface);border-color:var(--line);color:var(--t1)}
html[data-theme="dark"] .btn-close{filter:invert(1) grayscale(1)}
html[data-theme="dark"] .card .text-muted{color:var(--t3)!important}
html[data-theme="dark"] .card .bg-white{background:var(--subtle)!important}
html[data-theme="dark"] .card-b div[style*="f6faff"]{background:var(--subtle)!important;border-color:var(--line)!important}
html .pos,html .mkt-profit.up,html .out-mkt-profit.up,html .rec-mkt-profit.up{color:var(--red)!important}
html .neg,html .mkt-profit.down,html .out-mkt-profit.down,html .rec-mkt-profit.down{color:var(--green)!important}

/* Both workbench layouts share the approved compact density. */
html .workbench-greeting{height:auto;min-height:75px;padding:0 0 12px;background:transparent;border:0;border-radius:0;box-shadow:none}
html .workbench-greeting:after{display:none}
html .workbench-greeting h2{color:var(--t1);font-size:24px;font-weight:650;line-height:1.35;letter-spacing:-.5px;margin:0 0 7px}
html .workbench-greeting p{color:var(--t2);font-size:12px;line-height:1.6}
html .greeting-tip{display:none}
html .greeting-scan{top:4px!important;right:0;bottom:auto;left:auto;padding:10px 14px;font-size:12px;font-weight:600;border-radius:8px;background:var(--grad);box-shadow:none}
html .workbench-stat-grid{gap:12px;margin-bottom:18px}
html .workbench-stat{padding:17px;gap:11px;background:var(--surface);align-items:flex-start}
html .workbench-stat i{width:32px;height:32px;flex-basis:32px;font-size:16px;border-radius:8px;background:var(--brand-soft);color:var(--brand)}
html .workbench-stat:nth-child(2) i{background:var(--amber-soft);color:var(--amber)}
html .workbench-stat:nth-child(3) i{background:var(--green-soft);color:var(--green)}
html .workbench-stat:nth-child(4) i{background:var(--brand-soft);color:var(--brand)}
html .workbench-stat-label{color:var(--t2);font-size:11px}
html .workbench-stat-value{font-size:26px;font-weight:650;margin-top:7px}
html .workbench-stat-foot{font-size:10px;color:var(--t3);margin-top:7px;overflow-wrap:anywhere}
html .workbench-stat-link:hover{transform:none;box-shadow:var(--sh-2)!important}
html .workbench-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
html .workbench-panel-h{height:auto;min-height:51px;font-weight:600!important;color:var(--t1)!important;gap:8px}
html .workbench-panel-h i{font-size:16px}
html .workbench-panel-h .link{font-size:10px;font-weight:400;color:var(--t3)!important}
html .todo-row,html .profit-row{min-height:74px;border-color:var(--line);gap:10px}
html .todo-name,html .profit-name{color:var(--t1);font-size:12px;font-weight:550}
html .todo-sub,html .profit-spec,html .profit-count{color:var(--t3);font-size:10px}
html .todo-count{color:var(--t1);font-size:19px;font-weight:600}
html .todo-dot{width:8px;height:8px;flex-basis:8px;background:var(--red)}
html .todo-row:hover{background:var(--subtle)}
html .profit-money{font-size:13px;font-weight:600;color:var(--red)}
html .workbench-records .tbl th,html .workbench-records .tbl td{padding:12px 16px}
html .dash-new{gap:18px}
html .dash-new{grid-template-columns:minmax(0,1fr)}
html .dash-new>*,html .nb-grid>*,html .nb-stack>*{min-width:0}
html .nb-hello h2{color:var(--t1);font-size:24px;font-weight:650}
html .nb-hello p{color:var(--t2);font-size:12px;line-height:1.6}
html .nb-hello b{color:var(--brand);font-weight:550}
html .nb-stats{gap:12px}
html .nb-stat,html .nb-card{background:var(--surface);border-color:var(--line);box-shadow:var(--sh-1);border-radius:var(--r)}
html .nb-stat{padding:16px 17px}
html .nb-stat:before{display:none}
html .nb-stat:hover{transform:none;border-color:var(--brand-line)}
html .nb-stat-head{gap:9px}
html .nb-ico{width:31px;height:31px;flex-basis:31px;border:0;border-radius:8px;background:var(--brand-soft);color:var(--brand);font-size:15px}
html .nb-stat.amber .nb-ico{background:var(--amber-soft);color:var(--amber);border:0}
html .nb-stat-label{font-size:11px;font-weight:500;color:var(--t2)}
html .nb-stat-val{color:var(--t1);font-size:27px;font-weight:650}
html .nb-stat-val small,html .nb-stat-foot{color:var(--t3);font-size:10px;font-weight:400}
html .nb-card{padding:17px 18px}
html .nb-card-h .t{color:var(--t1);font-size:13px;font-weight:600}
html .nb-card-h i,html .nb-link{color:var(--brand)}
html .nb-card-h .more,html .nb-todo-foot a{color:var(--t3);font-size:10px}
html .nb-tab{background:var(--subtle);border-color:var(--line);color:var(--t2);font-size:11px;font-weight:500;padding:6px 11px}
html .nb-tab.active{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand)}
html .nb-todo,html .nb-todo-foot,html .nb-rank{border-color:var(--line)}
html .nb-todo:hover{background:var(--subtle)}
html .nb-todo-t,html .nb-rank-t{color:var(--t1);font-size:12px;font-weight:550}
html .nb-todo-s,html .nb-todo-time,html .nb-rank-s{color:var(--t3);font-size:10px}
html .nb-dot{background:var(--brand-soft);color:var(--brand);border:0;width:31px;height:31px;flex-basis:31px}
html .nb-dot.amber{background:var(--amber-soft);color:var(--amber)}
html .nb-pri.high{background:var(--red-soft);color:var(--red);border:0}
html .nb-pri.mid{background:var(--amber-soft);color:var(--amber);border:0}
html .nb-pri.low{background:var(--subtle);color:var(--t3);border:0}
html .nb-ring-c b{color:var(--t1);font-weight:650}
html .nb-ring-c span,html .nb-lg small{color:var(--t3)}
html .nb-ring circle:first-of-type{stroke:var(--line)}
html .nb-ring circle:last-of-type{stroke:var(--brand)}
html .nb-lg{color:var(--t2);font-size:12px}
html .nb-lg b{color:var(--t1);font-weight:550}
html .nb-tbl th,html .nb-tbl td{color:var(--t2);border-color:var(--line)}
html .nb-tbl .nm{color:var(--t1);font-weight:550}
html .nb-tbl tbody tr:hover td{background:var(--subtle)}
html .nb-st{background:var(--green-soft);color:var(--green);border:0}
html .nb-st:before{background:var(--green)}

/* Inventory keeps its existing expandable rows and edit forms. */
html .inv-hero,html .out-hero,html .record-hero{background:var(--brand-soft)!important;border:1px solid var(--brand-line)!important;border-radius:var(--r)!important;color:var(--t1)!important;box-shadow:none!important;padding:18px 20px!important}
html .inv-hero h2,html .out-hero h2,html .record-hero h2{color:var(--t1)!important;font-size:20px!important;font-weight:650!important}
html .inv-hero p,html .out-hero p,html .record-hero p{color:var(--t2)!important;font-size:12px}
html .inv-hero small,html .record-hero small{color:var(--t3)}
html .inv-hero .hs-value{color:var(--t1)!important;font-size:20px!important}
html .inv-hero .hs-up{color:var(--red)!important}
html .inv-hero .hs-down{color:var(--green)!important}
html .inv-hero .hs-label,html .inv-hero .hs-sub{color:var(--t2)!important}
html .inv-name,html .out-name,html .record-name{color:var(--t1)!important;font-weight:600}
html .inv-name .brand-sub{font-weight:400;letter-spacing:0}
html .inv-meta,html .meta-grid,html .inv-spec,html .out-meta,html .record-detail,html .record-brand{color:var(--t2)}
html .price-cell,html .inv-price{color:var(--t1)}
html .price-cell .cents,html .barcode-line{color:var(--t3)}
html .pp-up{background:var(--red-soft);color:var(--red)}
html .pp-down{background:var(--green-soft);color:var(--green)}
html .inv-placeholder{background:var(--subtle);color:var(--t3)}
html .cost-group,html .inv-actions summary,html .spec-picker,html .spec-picker-list{background:var(--surface);color:var(--t2);border-color:var(--line)}
html .cost-group input{color:var(--t1)}
html .cost-group button{background:var(--subtle);color:var(--brand);border-color:var(--line)}
html .cost-group button:hover,html .spec-picker-item:hover{background:var(--brand-soft)}
html .inv-actions summary:hover{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-line)}
html .inventory-view-switch button{background:var(--surface);color:var(--t2);border-color:var(--line)}
html .inventory-view-switch button.active{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-line)}
html .inv-list.view-expanded .inv-table tr{background:var(--surface);border-bottom-color:var(--bg)}
html .inv-list.view-expanded .inv-table td{background:var(--subtle)}
html .inv-list.view-expanded .inv-table td:first-child{background:var(--surface)}
html .inv-market,html .record-metric{background:var(--subtle)!important;border-color:var(--line)!important}
html .record-metric small,html .out-meta strong{color:var(--t2)}
html .record-metric b,html .record-detail strong{color:var(--t1)}
html .record-metric label{color:var(--t2)}
html .record-status{background:var(--amber-soft);color:var(--amber)}
html .record-empty{background:var(--subtle);color:var(--t3);border-color:var(--line)}
html .record-actions,html .record-product,html .out-form{border-color:var(--line)}
html .mkt-price,html .out-mkt-price,html .rec-mkt-price{color:var(--t1)!important}
html .out-mkt-price,html .rec-mkt-price{background:var(--brand-soft)!important}
html .out-batchbar{background:var(--brand-deep);box-shadow:none}
html .out-pick,html .out-check{color:var(--t2)}
html .out-pickbox{background:var(--surface);border-color:var(--line)}
html .tab-sw.active{background:var(--brand-soft);color:var(--brand);box-shadow:none}
html[data-theme="dark"] .card-b div[style*="background:#f8fafc"],
html[data-theme="dark"] #resultBox div[style*="background:#f0f7ff"],
html[data-theme="dark"] #manualResult div[style*="background:#f0f7ff"],
html[data-theme="dark"] #batchDetailSummary>div{background:var(--subtle)!important;border-color:var(--line)!important}

@media(max-width:850px){
  html .inv-list:not(.view-expanded){border:0;background:transparent;box-shadow:none;overflow:visible}
  html .inv-list:not(.view-expanded) .inv-table{display:block;min-width:0;width:100%}
  html .inv-list:not(.view-expanded) .inv-table thead{display:none}
  html .inv-list:not(.view-expanded) .inv-table tbody{display:grid;gap:11px}
  html .inv-list:not(.view-expanded) .inv-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:15px;background:var(--surface);border:1px solid var(--line);border-radius:11px}
  html .inv-list:not(.view-expanded) .inv-table td{min-width:0;padding:0;border:0}
  html .inv-list:not(.view-expanded) .inv-table td:first-child{grid-column:1;grid-row:1}
  html .inv-list:not(.view-expanded) .inv-table td:nth-child(2){grid-column:1/-1;grid-row:2}
  html .inv-list:not(.view-expanded) .inv-table td:nth-child(3){display:block;grid-column:2;grid-row:1;text-align:right}
  html .inv-list:not(.view-expanded) .inv-table td:nth-child(3):before{content:'参考价';display:block;font-size:9px;font-weight:400;color:var(--t3);margin-bottom:5px}
  html .inv-list:not(.view-expanded) .inv-table tr:after{grid-column:1/-1;color:var(--brand);text-align:right;border-top:1px solid var(--line);padding:8px 0 0}
  html .inv-list:not(.view-expanded) .inv-table tr.mobile-expanded td:nth-child(n+4){display:block;grid-column:1/-1}
  html .inv-list:not(.view-expanded) .inv-table .inv-name-txt{white-space:normal;overflow-wrap:anywhere;font-size:12px}
  html .inv-list .inv-spec2{max-width:100%;min-width:0}
  html .inv-list .spec-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:10px;font-weight:500}
  html .inv-list .barcode-line,html .inv-list .sn-chip{white-space:normal;overflow-wrap:anywhere}
  html .inv-list .meta-grid{white-space:normal}
}

/* Administration explicitly pairs heading text and background. */
html .ma-heading{background:var(--surface);color:var(--t1)}
html .ma-note,html .ma-muted,html .ma-empty,html .ma-row a small,html .ma-quote-label small{color:var(--t3)}
html .ma-row a,html .ma-spec strong,html .ma-quote-label{color:var(--t1)}
html .ma-row.selected{background:var(--brand-soft);border-color:var(--brand-line)}
html .ma-heading,html .ma-add,html .ma-spec,html .ma-quote{border-color:var(--line)}
html .ma-moves button,html .ma-add input,html .ma-model-search,html .ma-field input,html .ma-field select{background:var(--surface);color:var(--t1);border-color:var(--line)}
html .ma-moves button:hover{background:var(--brand-soft);color:var(--brand)}
html .ma-edit,html .ma-add button{background:var(--brand-soft);color:var(--brand)}
html .ma-field label,html .ma-number{color:var(--t2)}
html .ma-quote-price{color:var(--red)}
html .ma-preview,html .ma-save button{background:var(--grad);color:#fff}
html .ma-save .ma-reset{background:var(--subtle);color:var(--t2)}
html .ma-status{color:var(--green)}
html .ma-panel summary{background:var(--surface);color:var(--t2)}
html .ma-link{color:var(--brand)}

/* 深色的质感与层级来自交付图，而非对浅色页反色。 */
html[data-theme="dark"] body{background:radial-gradient(ellipse at 40% -10%,rgba(24,111,77,.14),transparent 52%),var(--bg)}
html[data-theme="dark"] .sidebar{background:linear-gradient(180deg,#0b1510,#080e0b);border-color:var(--line)}
html[data-theme="dark"] .brand{margin:14px 14px 12px;padding:14px 12px;border:1px solid var(--brand-line);border-radius:16px;background:linear-gradient(135deg,#11241a,#0b1710);box-shadow:0 6px 24px rgba(0,0,0,.15)}
html[data-theme="dark"] .brand-name{font-size:16px;font-weight:750}
html[data-theme="dark"] .brand-sub{color:var(--t2)!important;letter-spacing:1.1px}
html[data-theme="dark"] .nav-item{border:1px solid transparent}
html[data-theme="dark"] .nav-item:hover{background:#10231a!important;border-color:#1c392b}
html[data-theme="dark"] .nav-item.active{background:var(--grad)!important;color:#fff!important;box-shadow:0 8px 24px rgba(18,183,116,.16)}
html[data-theme="dark"] .topbar{background:rgba(7,13,10,.96);border-color:var(--line)}
html[data-theme="dark"] .theme-switch{background:var(--subtle);border-color:var(--line);border-radius:999px;padding:3px}
html[data-theme="dark"] .theme-switch .ts-btn.active{background:var(--grad);color:#fff;box-shadow:0 3px 10px rgba(18,183,116,.16)}
html[data-theme="dark"] .card,html[data-theme="dark"] .nb-card,html[data-theme="dark"] .ma-panel,
html[data-theme="dark"] .inv-card,html[data-theme="dark"] .out-card,html[data-theme="dark"] .record-card,
html[data-theme="dark"] .workbench-panel,html[data-theme="dark"] .mg-panel,
html[data-theme="dark"] .profile-services,html[data-theme="dark"] .profile-history{background:var(--panel-grad);border-color:var(--line);box-shadow:var(--sh-1)}
html[data-theme="dark"] .card-h,html[data-theme="dark"] .ma-heading,html[data-theme="dark"] .workbench-panel-h{background:transparent;font-size:14px}
html[data-theme="dark"] .btn-p,html[data-theme="dark"] .ma-preview,html[data-theme="dark"] .ma-save button:not(.ma-reset){box-shadow:0 5px 18px rgba(18,183,116,.12)}
html[data-theme="dark"] .btn-p:hover{background:#087a51;box-shadow:0 7px 22px rgba(18,183,116,.19)}
html[data-theme="dark"] .btn-p:active,html[data-theme="dark"] .ma-preview:active{transform:translateY(1px)}
html[data-theme="dark"] :is(.form-control,.form-select,.ma-field input,.ma-field select,.ma-model-search){background-color:var(--subtle)}
html[data-theme="dark"] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3e%3cpath stroke='%23a9c4b4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}
html[data-theme="dark"] .tbl th,html[data-theme="dark"] .inv-table th{background:#0b1710;color:var(--t2)}
html[data-theme="dark"] .card-b .text-primary{color:var(--green)!important}
html[data-theme="dark"] .touch-dragging{background:var(--brand-soft)!important;border-color:var(--brand)!important;box-shadow:0 8px 24px rgba(18,183,116,.18)}
html[data-theme="dark"] .brand-logo,html[data-theme="dark"] .record-brand-mark{background:var(--subtle)!important;border-color:var(--line)!important;color:var(--brand)}
html[data-theme="dark"] .record-actions details summary{color:var(--t2)}
html[data-theme="dark"] .list-group-item{background:var(--surface);color:var(--t1);border-color:var(--line)}
html[data-theme="dark"] .list-group-item-action:hover{background:var(--brand-soft);color:var(--t1)}

/* 恢复参考工作台的渐变统计卡和清晰字号。 */
html[data-theme="dark"] .nb-hello h2{font-size:25px;font-weight:750;letter-spacing:-.4px}
html[data-theme="dark"] .nb-hello p{font-size:13px;color:var(--t2)}
html[data-theme="dark"] .nb-stats{gap:16px}
html[data-theme="dark"] .nb-stat{padding:18px;background:linear-gradient(155deg,#12291f,#0c1713 62%,#0a120f);border:1px solid #263e32;border-radius:16px;box-shadow:var(--sh-1)}
html[data-theme="dark"] .nb-stat:before{display:block}
html[data-theme="dark"] .nb-stat:hover{border-color:#36644c;box-shadow:var(--sh-2)}
html[data-theme="dark"] .nb-ico{display:flex;width:38px;height:38px;flex-basis:38px;border-radius:11px;background:rgba(59,224,160,.1);border:1px solid rgba(59,224,160,.24);font-size:17px;color:var(--green)}
html[data-theme="dark"] .nb-stat.amber .nb-ico{border:1px solid rgba(255,194,100,.24);background:rgba(255,194,100,.09)}
html[data-theme="dark"] .nb-stat-label{font-size:12.5px;font-weight:550}
html[data-theme="dark"] .nb-stat-val{font-size:31px;font-weight:750;margin-top:13px}
html[data-theme="dark"] .nb-stat-val small{font-size:12px}
html[data-theme="dark"] .nb-stat-foot{font-size:11px;line-height:1.6}
html[data-theme="dark"] .nb-card{padding:18px;border-radius:16px}
html[data-theme="dark"] .nb-card-h .t{font-size:15px;font-weight:700}
html[data-theme="dark"] .nb-card-h .more,html[data-theme="dark"] .nb-todo-foot a{font-size:12px;color:var(--t2)}
html[data-theme="dark"] .nb-tab{font-size:12px;padding:6px 12px;border-radius:999px}
html[data-theme="dark"] .nb-tab.active{background:var(--grad);border-color:transparent;color:#fff}
html[data-theme="dark"] .nb-badge{background:var(--grad)}
html[data-theme="dark"] .nb-dot{width:34px;height:34px;flex-basis:34px;border:1px solid rgba(59,224,160,.18);border-radius:10px}
html[data-theme="dark"] .nb-dot.amber{border-color:rgba(255,194,100,.18)}
html[data-theme="dark"] .nb-todo{padding:13px 2px}
html[data-theme="dark"] .nb-todo-t,html[data-theme="dark"] .nb-rank-t{font-size:13px;font-weight:650}
html[data-theme="dark"] .nb-todo-s,html[data-theme="dark"] .nb-rank-s{font-size:11.5px;line-height:1.7}
html[data-theme="dark"] .nb-ring-c b{font-size:31px;font-weight:750}
html[data-theme="dark"] .nb-tbl{font-variant-numeric:tabular-nums}
html[data-theme="dark"] .nb-tbl th{font-size:11.5px}
html[data-theme="dark"] .nb-tbl td{font-size:12px}
html[data-theme="dark"] .inv-hero,html[data-theme="dark"] .out-hero,html[data-theme="dark"] .record-hero{background:linear-gradient(120deg,#10271c,#0a120f)!important;border-color:var(--brand-line)!important;padding:22px!important}
html[data-theme="dark"] .profile-membership{background:radial-gradient(ellipse at 100% 0,rgba(59,224,160,.1),transparent 70%),linear-gradient(135deg,#12291f,#0c1713);border-color:var(--brand-line)}
html[data-theme="dark"] .profile-avatar{background:var(--grad);color:#fff;box-shadow:0 6px 20px rgba(18,183,116,.14)}
html[data-theme="dark"] .profile-page .profile-status{color:var(--green)}
html[data-theme="dark"] .profile-page .profile-status.warning{color:var(--amber)}
html[data-theme="dark"] .mg-root .mg-primary{background:var(--grad);border-color:#148c5c;color:#fff}
html[data-theme="dark"] .mg-root .mg-primary:hover:not(:disabled){color:#fff}

html :is(.btn-p,.btn-ghost,.btn-outline,.btn-danger-soft,.ma-moves button,.ma-edit,.ma-save button,.inventory-view-switch button){transition:background-color 160ms,color 160ms,border-color 160ms,box-shadow 160ms,transform 140ms}
html :is(.form-control,.form-select,.ma-field input,.ma-field select,.ma-model-search){transition:border-color 160ms,box-shadow 160ms}
html :is(.stat-card,.nb-stat,.inv-card,.out-card,.record-card){transition:border-color 180ms,box-shadow 180ms}
html :focus-visible{outline:2px solid var(--brand);outline-offset:3px}
html ::-webkit-scrollbar{width:8px;height:8px}
html ::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--surface);border-radius:6px}
html ::-webkit-scrollbar-track{background:transparent}
@media(max-width:1200px){html .workbench-grid{grid-template-columns:1fr 1fr}html .workbench-grid>.workbench-panel:last-child{grid-column:auto}}
@media(max-width:1200px){html .nb-grid{grid-template-columns:minmax(0,1fr)}html .nb-stack{grid-template-columns:minmax(0,1fr)}}
@media(max-width:992px){html .content{padding:20px 20px 36px}}
@media(max-width:800px){html .workbench-grid{grid-template-columns:1fr}}
@media(max-width:768px){
  html .content{padding:20px 16px 30px}
  html body.has-mobile-nav .content{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  html body.has-mobile-nav .out-batchbar{bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  html .topbar{height:59px;padding:0 14px;gap:8px}
  html .topbar-right{gap:7px}
  html .page-title{font-size:17px}
  html .hamburger{color:var(--t2);min-width:38px;min-height:38px;padding:4px}
  html .member-chip{font-size:10px;padding:5px 8px}
  html .theme-toggle{height:36px;min-width:36px;padding:0 8px}
  html .card-b{padding:15px 14px}
  html .card-h,html .workbench-panel-h{padding:14px}
  html .workbench-greeting{min-height:76px;padding-bottom:12px;margin-bottom:16px}
  html .workbench-greeting h2{font-size:22px;max-width:calc(100% - 94px)}
  html .workbench-greeting p{font-size:11px;padding-right:94px}
  html .greeting-scan{position:absolute;right:0;left:auto;bottom:auto;min-height:38px;padding:9px 12px;font-size:11px}
  html .workbench-stat-grid,html .nb-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:17px}
  html .workbench-stat{padding:14px;display:block;min-width:0}
  html .workbench-stat>i{display:none}
  html .workbench-stat-label{font-size:11px}
  html .workbench-stat-value{font-size:24px;letter-spacing:-.6px;white-space:nowrap}
  html .workbench-stat-foot{font-size:9px;line-height:1.6}
  html .workbench-panel-h{font-size:12px}
  html .workbench-panel-h .link{font-size:9px}
  html .workbench-todo,html .workbench-profit{padding-left:14px;padding-right:14px}
  html .todo-sub{white-space:normal;line-height:1.6}
  html .todo-row,html .profit-row{gap:8px}
  html .profit-money{font-size:12px}
  html .dash-new{gap:17px}
  html .nb-hello h2{font-size:22px}
  html .nb-hello p{font-size:11px}
  html .nb-stat{padding:14px}
  html .nb-ico{display:none}
  html .nb-stat-val{font-size:25px;margin-top:10px}
  html .nb-stat-foot{font-size:9px;line-height:1.6}
  html .nb-card{padding:15px 14px}
  html .nb-grid,html .nb-stack{gap:14px}
  html .nb-todo-time{display:none}
  html .nb-todo>div:nth-child(2){min-width:0;flex:1}
  html .nb-pri{font-size:10px;padding:3px 7px}
  html .nb-health{gap:10px}
  html .nb-ring{width:112px;height:112px;flex-basis:112px}
  html .nb-ring-c b{font-size:24px}
  html .nb-lg{font-size:10px;gap:5px}
  html .nb-lg small{display:none}
  html .inv-hero,html .out-hero,html .record-hero{padding:16px!important}
  html .inv-hero h2{font-size:20px!important}
  html .inv-hero{display:block}
  html .inv-hero-stats{display:flex;gap:24px;margin-top:16px;padding-top:13px;border-top:1px solid var(--brand-line)}
  html .inv-hero+.card .card-b{align-items:center}
  html .inv-hero+.card .card-b form{flex-wrap:nowrap;min-width:0}
  html .inv-hero+.card .card-b form .form-control{width:0;flex:1;min-width:0}
  html .inv-hero+.card .card-b .btn-p{padding:9px 12px;flex-shrink:0;font-size:12px}
  html .inv-hero+.card .card-b>.btn-ghost{padding:9px 8px;white-space:nowrap;flex-shrink:0;font-size:12px}
  html .inv-name-txt{white-space:normal;overflow-wrap:anywhere}
  html .inv-actions summary{min-height:38px}
  html .ma-moves button{width:30px;height:34px}
  html .ma-edit{min-height:32px;min-width:32px}
}
@media(max-width:360px){
  html .content{padding-left:13px;padding-right:13px}
  html .workbench-stat,html .nb-stat{padding:12px}
  html .workbench-stat-value{font-size:22px}
  html .topbar-right .member-chip.admin{display:none}
  html .nb-ring{width:98px;height:98px;flex-basis:98px}
  html .nb-ring-c b{font-size:22px}
  html .nb-health{gap:7px}
  html .profit-name{font-size:11px}
  html .profit-rank{width:23px;height:23px;flex-basis:23px}
}
@media(max-width:768px){
  html[data-theme="dark"] .nb-hello h2{font-size:22px}
  html[data-theme="dark"] .nb-hello p{font-size:12px;line-height:1.7}
  html[data-theme="dark"] .nb-stats{gap:10px;margin-bottom:0}
  html[data-theme="dark"] .nb-stat{padding:15px 13px;border-radius:13px}
  html[data-theme="dark"] .nb-ico{width:30px;height:30px;flex-basis:30px;border-radius:9px;font-size:15px}
  html[data-theme="dark"] .nb-stat-head{gap:7px}
  html[data-theme="dark"] .nb-stat-label{font-size:11px;line-height:1.6}
  html[data-theme="dark"] .nb-stat-val{font-size:27px;margin-top:12px}
  html[data-theme="dark"] .nb-stat-foot{font-size:11px}
  html[data-theme="dark"] .nb-card{padding:16px 14px}
  html[data-theme="dark"] .nb-card-h .t{font-size:14px}
  html[data-theme="dark"] .nb-card-h .more{font-size:11px}
  html[data-theme="dark"] .nb-tab{padding:7px 10px;font-size:11px;min-height:36px;display:inline-flex;align-items:center}
  html[data-theme="dark"] .nb-todo{gap:9px;padding:13px 0}
  html[data-theme="dark"] .nb-todo-t,html[data-theme="dark"] .nb-rank-t{font-size:12px;overflow-wrap:anywhere}
  html[data-theme="dark"] .nb-todo-s,html[data-theme="dark"] .nb-rank-s{font-size:11px}
  html[data-theme="dark"] .nb-pri{padding:3px 7px;font-size:10px}
  html[data-theme="dark"] .nb-ring-c b{font-size:25px}
  html[data-theme="dark"] .inv-hero,html[data-theme="dark"] .out-hero,html[data-theme="dark"] .record-hero{padding:18px 16px!important}
  html .theme-switch .ts-btn{min-height:36px;padding:5px 11px}
  html .hamburger{min-height:44px;min-width:44px}
  html .form-control,html .form-select,html .ma-field input,html .ma-field select,html .ma-add input,html .ma-model-search{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  html *,html *::before,html *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
