:root{--brand:#1768df;--ink:#152741;--muted:#687a91;--page:#f3f6fa;--line:#e4eaf2;--nav:#13243c;--positive:#117963;--negative:#bc3d44;--warning:#9a6816;--tblr-font-sans-serif:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--tblr-primary:#1768df;--tblr-primary-rgb:23,104,223}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--tblr-font-sans-serif);font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #70aaff;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:30px;font-weight:750;line-height:1.3;letter-spacing:-.6px}h2{font-size:18px;font-weight:700;line-height:1.45}h3{font-size:16px;font-weight:700}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.9px;color:#6b82a2;margin-bottom:8px}.btn{min-height:38px;font-size:14px;font-weight:600;border-radius:7px}.btn-primary{background:var(--brand);border-color:var(--brand)}.btn-outline-primary{color:var(--brand);border-color:#c6d9f6;background:white}.text-button{border:0;background:none;color:var(--brand);font-size:14px;font-weight:600;padding:6px 0;white-space:nowrap}.form-control,.form-select{font-size:14px;min-height:40px;border-radius:7px;border-color:#dbe3ee}.form-control:focus,.form-select:focus{box-shadow:0 0 0 3px #1768df18;border-color:#5b95e9}.form-label{font-size:14px;font-weight:600}.error-text{color:var(--negative);font-size:14px;min-height:26px;margin:14px 0}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650;border:1px solid #b8d4ff;background:#eef5ff;color:#225da9;border-radius:30px;padding:4px 10px;white-space:nowrap}.status-pill.neutral{background:#f7f9fc;border-color:#e0e7f0;color:#596d89}.subtle-badge{font-size:12px;background:#f1f5fa;padding:4px 10px;border-radius:5px;color:var(--muted)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,45%) 1fr}.login-brand-panel{background:#13243c;color:#fff;display:flex;flex-direction:column;padding:52px 64px;position:relative;overflow:hidden}.brand-mark{font-size:26px;font-weight:700;letter-spacing:4px}.brand-mark span{color:#65a0fa}.login-copy{margin:auto 0}.login-copy .eyebrow{color:#79a8eb}.login-copy h1{font-size:44px;line-height:1.6;letter-spacing:1px}.login-copy>p:last-child{color:#a0b4cf;margin-top:22px;font-size:17px}.login-principles{display:flex;gap:24px;padding-top:40px;font-size:13px;color:#9eb2d0;border-top:1px solid #ffffff17}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:32px}.login-card{width:100%;max-width:390px}.login-card h2{font-size:27px;letter-spacing:-.5px;margin:24px 0 10px}.login-card>.muted{font-size:15px;margin-bottom:26px}.entry-hint{font-size:13px;color:var(--muted);padding:12px 14px;border-left:3px solid #94b8ec;background:#eaf1fa;margin-bottom:26px}.entry-hint.ready{border-color:#59a991;background:#edf7f3;color:#326d5c}.password-label{margin-top:18px}.login-card .form-control{height:46px;font-size:16px}.login-button{width:100%;height:48px}.login-note{text-align:center;font-size:12px;color:#8795a8;margin-top:20px}.mobile-brand{display:none}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:226px;background:var(--nav);color:#b6c7dd;padding:28px 18px;display:flex;flex-direction:column;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:0 4px 30px;font-size:20px;font-weight:700}.sidebar-brand:hover{color:white}.sidebar-brand small{display:block;color:#849fbd;font-size:11px;font-weight:400;margin-top:3px;letter-spacing:.4px}.logo-tile{height:38px;width:38px;display:grid;place-items:center;border:1px solid #487bbe;border-radius:9px;background:#22446f;color:#d1e2ff;font-size:22px}.nav-section-label{font-size:11px;letter-spacing:1px;color:#7088a7;padding:10px 13px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;border:0;background:transparent;color:#9fb2ce;padding:11px 14px;border-radius:7px;font-size:14px;text-align:left;cursor:pointer;margin-bottom:5px}.nav-item:hover{background:#ffffff08;color:#fff}.nav-item.active{background:#235693;color:#fff;box-shadow:inset 3px 0 #71aaf8}.nav-symbol{font-size:19px;width:20px;text-align:center;font-weight:400}.sidebar-bottom{margin-top:auto;padding:18px 9px 0;border-top:1px solid #ffffff14;font-size:11px;color:#8a9fbc}.sidebar-bottom small{display:block;margin:8px 0 0 13px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#54b79e;margin-right:5px}.main{margin-left:226px;min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:12px}.breadcrumb-text{font-size:13px;color:#8291a5}.breadcrumb-text span{padding:0 12px;color:#c1cbda}.breadcrumb-text strong{font-weight:500;color:#4b5c73}.header-actions{display:flex;align-items:center;gap:10px}.header-actions .btn{border:1px solid var(--line);background:white}.content{max-width:1620px;margin:0 auto;padding:30px 34px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading>.muted,.page-heading p.muted{font-size:13px;margin-top:8px}.view-tools{display:flex;gap:10px;align-items:center}.view-tools select{min-width:145px}.notice{background:#fff9ed;border:1px solid #eadcbb;border-radius:9px;padding:15px 18px;display:flex;align-items:flex-start;gap:12px;margin-bottom:26px;color:#7b5b22}.notice-icon{display:grid;place-items:center;flex:0 0 20px;height:20px;border:1.5px solid #b8944f;border-radius:50%;font-size:13px;font-weight:700;margin-top:2px}.notice strong{font-size:14px}.notice p{font-size:12px;color:#937645;margin-top:3px}.notice .text-button{margin-left:auto;color:#8c692c}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px 22px;position:relative;overflow:hidden}.kpi.primary{border-top:3px solid var(--brand);padding-top:19px}.kpi-label{font-size:13px;font-weight:600;color:#6c7c91;display:flex;align-items:center;justify-content:space-between;gap:6px}.kpi-value{font-size:29px;font-weight:750;letter-spacing:-1px;margin:9px 0 7px;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.3}.kpi.primary .kpi-value{color:#1559a7}.kpi-sub{font-size:12px;color:#8895a7}.kpi-value.pending{color:#9cabbc;font-size:25px;letter-spacing:0}.kpi .mini-tag{font-size:10px;font-weight:500;color:#8b6f42;background:#fcf1db;padding:2px 6px;border-radius:4px}.card{border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 4px #183b5b02;background:#fff;overflow:hidden;margin-bottom:22px}.card-header{border:0;border-bottom:1px solid #eff3f8;padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:84px}.card-header h2{font-size:16px}.card-header p{font-size:12px;color:#8693a6;margin-top:4px}.overview-charts{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:22px}.chart{width:100%;height:280px;padding:6px 14px 2px}.route-body{padding:21px 23px}.route-row{display:flex;align-items:center;justify-content:space-between;margin:0 0 15px;gap:12px}.route-label{font-size:14px;display:flex;align-items:center;gap:9px}.color-dot{display:inline-block;height:8px;width:8px;background:#357bd9;border-radius:2px}.color-dot.chengshi{background:#6b57bc}.route-count{font-weight:700;font-size:20px;font-variant-numeric:tabular-nums}.route-count small{color:#9aabba;font-size:11px;margin-left:4px;font-weight:400}.route-bar{height:8px;border-radius:5px;display:flex;overflow:hidden;background:#eef2f8;margin:18px 0}.route-bar .warehouse{background:#357bd9}.route-bar .chengshi{background:#6b57bc}.route-note{font-size:12px;color:#7c8da3;line-height:1.7}.route-status{display:flex;align-items:center;gap:8px;background:#f6f8fb;border:1px solid #e8edf5;border-radius:6px;font-size:12px;color:#68557a;padding:10px 11px;margin-top:18px}.route-status .pending-dot{width:5px;height:5px;border-radius:50%;background:#ac8c56;flex-shrink:0}.table{margin:0;font-size:14px;--tblr-table-striped-bg:#f8fafc}.table thead th{background:#f8fafd;color:#71849b;white-space:nowrap;letter-spacing:0;font-size:12px;font-weight:600;padding:12px 20px;border-color:var(--line)}.table td{padding:16px 20px;border-color:#edf1f6;vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr[data-store],.table tbody tr[data-month]{cursor:pointer}.table tbody tr[data-store]:hover,.table tbody tr[data-month]:hover{background:#f6f9fe}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.number{font-variant-numeric:tabular-nums}.positive{color:var(--positive);font-weight:650}.negative{color:var(--negative);font-weight:650}.store-name{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:550;white-space:nowrap}.platform-mark{display:grid;place-items:center;flex:0 0 30px;height:30px;background:#fff0ef;border:1px solid #f5dada;color:#bd5b59;font-size:11px;font-weight:700;border-radius:7px}.platform-mark.taobao{background:#fff4e9;border-color:#f2e1d0;color:#ad7845}.pending-value{color:#91a1b6;font-size:13px;white-space:nowrap}.pending-value small{display:block;font-size:10px;color:#a1afc0}.row-link{color:var(--brand);border:0;background:none;font-size:12px;white-space:nowrap}.totals-row{background:#f6f9fe;font-weight:650}.month-tag{font-size:11px;display:block;font-weight:400;color:#8493a8;margin-top:3px;max-width:190px;white-space:normal}.basis-control{font-size:12px;color:#7c8ba0;display:flex;align-items:center;gap:10px;white-space:nowrap}.basis-control select{min-width:144px}.store-controls{align-items:flex-start}.store-filters{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;max-width:650px}.store-filters select{width:auto}.store-filters input{width:175px}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:30px 0 5px;font-size:11px;color:#8b99ac}.cost-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.body-copy{padding:22px;font-size:14px}.body-copy p+p{margin-top:12px}.rule-list{padding-left:18px;color:#536b85;font-size:14px;line-height:1.9}.rule-list li+li{margin-top:10px}.checklist{margin:0;padding:0;list-style:none}.checklist li{display:flex;gap:12px;padding:16px 22px;border-bottom:1px solid #eff3f8;font-size:14px;line-height:1.7}.checklist li:last-child{border:0}.check-number{flex:0 0 23px;height:23px;background:#f9edd5;border-radius:5px;display:grid;place-items:center;color:#9b7d47;font-size:12px;margin-top:1px}.evidence-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.evidence-stat{border:1px solid var(--line);background:white;border-radius:9px;padding:20px}.evidence-stat strong{display:block;font-size:25px;margin-bottom:5px}.evidence-stat span{font-size:13px;color:var(--muted)}.hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow-wrap:anywhere;color:#7890ab;line-height:1.7}.source-card{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:17px 22px;border-bottom:1px solid #eff3f8}.source-card:last-child{border:0}.source-card h3{font-size:14px}.source-card p{font-size:13px;margin-bottom:5px;color:#61778e;overflow-wrap:anywhere}.legacy-heading{display:flex;align-items:center;gap:18px;padding:26px}.legacy-icon{height:54px;width:54px;background:#eef2f7;border-radius:13px;display:grid;place-items:center;font-size:26px;color:#6780a3}.legacy-heading h2{font-size:21px}.legacy-heading p{font-size:13px;color:#8191a7;margin-top:4px}.legacy-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:24px;border-top:1px solid var(--line);gap:15px}.legacy-metrics strong{display:block;font-size:27px;margin:6px 0}.legacy-metrics span{font-size:12px;color:#8294ad}.legacy-boundary{padding:20px 24px;background:#f8faff;border-top:1px solid var(--line);font-size:14px;color:#627892}.no-data{padding:35px;text-align:center;color:#8a9bad}.error-panel{padding:18px;background:#fff0ef;border:1px solid #efcaca;border-radius:8px;color:#b14949;margin-bottom:20px}.info-strip{background:#edf4ff;border:1px solid #d7e5fa;color:#4e6d97;padding:14px 18px;border-radius:8px;margin-bottom:20px;font-size:13px}.mobile-card-label{display:none}dialog{border:1px solid var(--line);border-radius:13px;padding:0;max-width:1000px;width:calc(100vw - 40px);max-height:86vh;color:var(--ink);box-shadow:0 25px 90px #15274135}dialog::backdrop{background:#10243f80;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 26px;gap:18px;border-bottom:1px solid var(--line)}.dialog-heading .eyebrow{font-size:10px;display:block}.dialog-heading h2{font-size:21px}#store-dialog-body{padding:22px}.dialog-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.dialog-kpis>div{padding:16px;background:#f5f8fd;border:1px solid #e5edf8;border-radius:8px}.dialog-kpis small{display:block;font-size:12px;color:#8294aa}.dialog-kpis strong{font-size:22px}.scope-note{font-size:12px;color:#8190a6;margin-top:14px;line-height:1.8}.cost-note{font-size:12px;color:#8a7655}.thin-table td{padding:12px 20px}.footer-license{display:flex;gap:20px;flex-wrap:wrap;font-size:12px}.footer-license a{color:#768da9}.drift-box{padding:14px 18px;background:#f5f0e9;border:1px solid #eadfcd;color:#886a41;border-radius:8px;font-size:13px;margin-bottom:20px}
@media(min-width:1600px){.content{padding-top:36px}.kpi-value{font-size:33px}.chart{height:315px}.card-header{padding-top:23px;padding-bottom:23px}}
@media(max-width:1250px){.sidebar{width:198px;padding-left:13px;padding-right:13px}.main{margin-left:198px}.content{padding:25px}.topbar{padding:0 25px}.kpi{padding:17px 16px}.kpi.primary{padding-top:15px}.kpi-value{font-size:24px}.kpi-label{font-size:12px}.kpi-sub{font-size:11px}.overview-charts{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:16px}.store-controls{flex-direction:column;align-items:stretch}.store-filters{justify-content:flex-start;max-width:none}.cost-grid{grid-template-columns:1fr}.login-brand-panel{padding:44px}.login-copy h1{font-size:36px}.login-principles{gap:14px}}
@media(max-width:900px){.sidebar{width:180px}.main{margin-left:180px}.sidebar-brand{font-size:17px;gap:8px}.sidebar-brand small{font-size:10px}.logo-tile{height:32px;width:32px}.content{padding:22px}.page-heading{align-items:flex-start;flex-direction:column;gap:16px}.view-tools{width:100%}.view-tools select{max-width:180px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kpi-value{font-size:28px}.overview-charts{grid-template-columns:1fr}.route-body{padding:18px 22px}.route-row{margin-bottom:10px}.route-bar{margin:12px 0}.notice .text-button{display:none}.source-card{grid-template-columns:1fr;gap:7px}.topbar{padding:0 22px}.desktop-only{display:none}.table td,.table th{padding-left:16px!important;padding-right:16px!important}.evidence-stats{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:40% 1fr}.login-brand-panel{padding:30px}.login-copy h1{font-size:28px}.login-principles{display:block}.login-principles span{display:block;margin-top:8px}.login-form-panel{padding:30px}.login-card h2{font-size:24px}}
@media(max-width:640px){.sidebar{position:relative;width:100%;padding:16px 16px 0;display:block}.sidebar-brand{padding:0 4px 16px;font-size:18px}.sidebar-brand small{font-size:11px}.logo-tile{width:33px;height:33px}.sidebar>.nav-section-label,.sidebar-bottom,nav .nav-section-label{display:none}#main-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 12px 8px}.nav-item{flex:0 0 auto;width:auto;padding:8px 11px;font-size:12px;white-space:nowrap;margin-bottom:0}.nav-symbol{font-size:14px;width:14px}.nav-item.active{box-shadow:none}.main{margin-left:0}.topbar{height:53px;padding:0 18px}.breadcrumb-text{font-size:12px}.breadcrumb-text span{padding:0 6px}.header-actions{gap:5px}.header-actions .btn{font-size:11px;min-height:30px;padding:4px 8px}.content{padding:21px 16px}.page-heading h1{font-size:25px}.page-heading{margin-bottom:20px;gap:16px}.eyebrow{font-size:10px}.view-tools{display:flex;justify-content:space-between}.view-tools select{max-width:180px}.view-tools .btn{font-size:12px}.notice{padding:12px;margin-bottom:18px;gap:10px}.notice strong{font-size:13px}.notice p{font-size:11px;line-height:1.65}.notice-icon{flex-basis:17px;height:17px;font-size:11px}.kpi-grid{gap:10px;margin-bottom:16px}.kpi{padding:15px 13px;border-radius:8px}.kpi.primary{padding-top:13px}.kpi-label{font-size:11px}.kpi-value{font-size:23px;letter-spacing:-.8px;margin:10px 0 5px}.kpi-value.pending{font-size:22px}.kpi-sub{font-size:10px}.kpi .mini-tag{font-size:9px;padding:1px 4px}.card{margin-bottom:18px}.card-header{padding:17px;min-height:74px;gap:10px}.card-header h2{font-size:15px}.card-header p{font-size:11px}.card-header .text-button{font-size:11px}.chart{height:258px;padding:0 3px}.overview-charts{gap:0}.route-body{padding:18px}.table{font-size:12px}.table td,.table th{padding-left:14px!important;padding-right:14px!important}.table thead th{font-size:11px}.table td{padding-top:14px;padding-bottom:14px}.store-name{font-size:12px;gap:8px}.platform-mark{flex-basis:25px;height:25px;font-size:10px}.pending-value{font-size:11px}.page-footer{display:block;font-size:10px;margin-top:22px;line-height:1.8}.page-footer>span{display:block}.store-filters{gap:7px}.store-filters .form-select,.store-filters .form-control{font-size:12px;min-height:36px}.store-filters input{flex:1;min-width:120px;width:100px}.store-filters select:first-of-type{width:100px}.store-filters select:last-of-type{width:100%}.basis-control{font-size:10px;gap:5px;display:block}.basis-control select{min-width:100px;font-size:11px;margin-top:3px;max-width:130px}.cost-grid{gap:0}.body-copy{padding:18px;font-size:13px}.rule-list{font-size:13px}.checklist li{font-size:13px;padding:14px 17px}.evidence-stats{gap:10px}.evidence-stat{padding:15px}.evidence-stat strong{font-size:23px}.evidence-stat span{font-size:11px}.source-card{padding:15px 18px}.source-card h3{font-size:13px}.source-card p{font-size:12px}.legacy-heading{padding:20px;gap:12px}.legacy-heading h2{font-size:17px}.legacy-icon{width:44px;height:44px}.legacy-metrics{grid-template-columns:repeat(2,1fr);padding:20px}.legacy-metrics strong{font-size:25px}.legacy-boundary{font-size:13px;padding:17px}.dialog-heading{padding:17px}.dialog-heading h2{font-size:17px}#store-dialog-body{padding:14px}.dialog-kpis{gap:7px}.dialog-kpis>div{padding:12px 9px}.dialog-kpis strong{font-size:18px}.dialog-kpis small{font-size:10px}dialog{width:calc(100vw - 18px);max-height:90vh}.login-shell{display:block;background:#f3f6fa}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;padding:26px}.mobile-brand{display:block;font-size:16px;font-weight:700;color:#315374;margin-bottom:35px}.login-card{max-width:390px}.login-card h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Keep ordinary copy readable on small phones; do not shrink monetary values to fit. */
.kpi-sub,.card-header p,.notice p,.route-note,.route-status,.scope-note,.entry-hint,.info-strip,.store-name{font-size:14px}
@media(max-width:640px){
  .kpi-grid>.kpi:nth-child(-n+2){grid-column:1/-1}
  .kpi-grid>.kpi:nth-child(-n+2) .kpi-value{font-size:32px}
  .kpi-label,.kpi-sub,.nav-item,.table,.table thead th,.store-name,.row-link,.body-copy,.rule-list,.checklist li,.notice strong,.notice p,.view-tools .btn,.store-filters .form-select,.store-filters .form-control,.basis-control select{font-size:14px}
  .header-actions .btn{font-size:13px;min-height:36px}
  .card-header p,.card-header .text-button,.scope-note,.route-note,.route-status,.info-strip{font-size:14px}
  .page-heading p.muted{font-size:14px}
  #overview-stores table{width:100%;table-layout:fixed}
  #overview-stores th:nth-child(2),#overview-stores td:nth-child(2),#overview-stores th:nth-child(3),#overview-stores td:nth-child(3),#overview-stores th:nth-child(5),#overview-stores td:nth-child(5),#overview-stores th:last-child,#overview-stores td:last-child{display:none}
  #overview-stores th:first-child{width:56%}
  #overview-stores th:nth-child(4){white-space:normal}
  #overview-stores .store-name{white-space:normal;align-items:flex-start}
  #overview-stores .platform-mark{display:none}
  .dialog-kpis{grid-template-columns:1fr}
  .dialog-kpis small{font-size:14px}
}
