:root{--bg:#0F1115;--card:#181B21;--line:#2A2F38;--brand:#7FA650;--text:#E8EAED;--muted:#8B93A1;--orange:#FF8A1F;--success:#4CAF7A;--danger:#E5484D;color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:14px;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand)}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button{border:1px solid var(--line);background:#20242C;color:var(--text);border-radius:5px;min-height:36px;padding:8px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}button:hover:not(:disabled){border-color:#596351;background:#282E35}.primary{background:var(--brand);color:#0F1115;border-color:var(--brand);font-weight:650}.primary:hover:not(:disabled){background:#8CB65A;border-color:#8CB65A}.danger{color:#F08083;border-color:#74363D;background:transparent}.quiet{background:transparent}.small-button{min-height:30px;padding:4px 10px;font-size:12px}.icon{width:18px;height:18px;vertical-align:middle;flex-shrink:0;object-fit:contain}.boot{padding:100px;text-align:center;color:var(--muted)}.muted{color:var(--muted)}.tiny{font-size:12px;line-height:1.6}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.green{color:var(--brand)}.orange{color:var(--orange)}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);height:100vh}.sidebar{border-right:1px solid var(--line);background:#12151A;display:flex;flex-direction:column;padding:25px 14px 18px;overflow:auto}.logo-lockup{display:flex;gap:12px;align-items:center;padding:0 10px 26px}.logo-lockup img{width:38px;height:38px}.logo-lockup strong{font-size:16px;letter-spacing:1px}.logo-lockup small{display:block;color:var(--muted);font-size:10px;letter-spacing:2px;margin-top:5px}.scope-switch{width:100%;margin-bottom:24px;justify-content:space-between;background:#181D24;font-size:12px}.nav-label{font-size:10px;letter-spacing:2px;color:#67717E;padding:0 13px;margin-bottom:10px}.nav{display:flex;flex-direction:column;gap:5px}.nav a{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid transparent;font-size:13px;color:#A6AFBA;border-radius:4px;position:relative}.nav a:hover{background:#1B2027}.nav a.active{background:rgba(127,166,80,.1);border-color:#34472A;color:#B9D793}.nav a.active:before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:2px;background:var(--brand)}.nav em{margin-left:auto;font:10px ui-monospace,monospace;background:#293420;color:#AFCB8C;border-radius:3px;padding:2px 5px}.sidebar-foot{margin-top:auto;padding:22px 12px 0;font-size:11px;line-height:1.8;color:#67717E}.env-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);margin-right:6px}.workspace{min-width:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:72px;flex-shrink:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:16px;background:#12151A}.breadcrumbs{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:12px;min-width:0}.breadcrumbs b{font-weight:500;color:#CDD2DA}.top-actions{display:flex;align-items:center;gap:16px}.environment{font-size:11px;color:#C8A874;border:1px solid #53452D;border-radius:3px;padding:5px 8px}.account{display:flex;align-items:center;gap:9px;font-size:12px}.account-avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid #3E4B34;color:#A4C677;background:#243020;border-radius:50%}.logout{padding:4px 8px;min-height:28px;color:var(--muted);background:none;border:none}.page-scroll{overflow:auto;flex:1;padding:26px 28px 28px;scrollbar-width:thin;scrollbar-color:#323A45 transparent}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7E8A73;margin-bottom:8px}.page-heading h1{font-size:24px;line-height:1.3;margin:0 0 8px;letter-spacing:.4px;font-weight:650}.page-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.7}.heading-actions{display:flex;gap:10px;align-items:center}.notice{padding:11px 14px;background:#191D23;border-left:2px solid #536342;display:flex;gap:10px;align-items:center;color:#A6AFBA;font-size:12px;line-height:1.7;margin-bottom:18px}.notice .icon{color:#9BBD79}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat{background:var(--card);border:1px solid var(--line);padding:19px 20px;position:relative;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.stat-label{font-size:12px;color:#9CA5B2;display:flex;align-items:center;justify-content:space-between}.stat-label .icon{color:#677568}.stat-value{font-size:30px;font-weight:650;letter-spacing:-.6px;margin:13px 0 9px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.stat-caption{font-size:11px;color:#76818E}.stat-caption span{color:#A5BF88}.panel{background:var(--card);border:1px solid var(--line);border-radius:4px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);gap:12px}.panel-head h2{font-size:14px;font-weight:600;margin:0}.panel-head small{font-size:11px;color:var(--muted)}.panel-body{padding:20px}.chart-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:16px;margin-bottom:18px}.chart{width:100%;height:210px;display:block}.chart text{font-family:inherit;font-size:10px;fill:#76818E}.chart path{vector-effect:non-scaling-stroke}.legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--brand)}.donut-wrap{display:flex;align-items:center;gap:22px;justify-content:center;min-height:210px}.donut{width:145px;height:145px;flex-shrink:0}.donut .total{font:26px ui-monospace,monospace;fill:var(--text)}.donut .subtitle{font-size:10px;fill:var(--muted)}.status-legend{display:grid;gap:13px;font-size:11px;min-width:95px}.status-legend div{display:flex;gap:8px;align-items:center}.status-legend b{margin-left:auto;font-weight:400;color:#B6BFC9}.bottom-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}th{padding:13px 16px;font-weight:400;color:#8B93A1;background:#15191F;font-size:11px;border-bottom:1px solid var(--line)}td{padding:15px 16px;border-bottom:1px solid #252B34;color:#C8CFD9}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#1C2129}.cell-stack small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.person{display:flex;gap:10px;align-items:center}.person img{width:32px;height:32px;object-fit:cover;border-radius:50%;background:#29332D;border:1px solid #46553D}.person strong{font-size:12px;font-weight:550;color:#DCE1E7}.person .online{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--success);margin-right:5px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;border:1px solid #3A424E;border-radius:3px;padding:4px 7px;background:#20252C;color:#A9B2BE}.badge.active,.badge.serving,.badge.complete{color:#82C49C;border-color:#335A43;background:#1C2A22}.badge.waiting,.badge.pending,.badge.confirm{color:#D3B178;border-color:#5A4B34;background:#2C261E}.badge.banned,.badge.disabled,.badge.aftersales,.badge.rejected{color:#E78D90;border-color:#67393E;background:#2D2024}.badge.sample{color:#929CA9;border-color:#3B434E;background:transparent}.tag{padding:3px 6px;border:1px solid #343D46;color:#99A5B4;border-radius:3px;font-size:10px;margin-right:4px}.task{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #262D35}.task:last-child{border:0}.task-icon{width:33px;height:33px;background:#252C22;border:1px solid #364432;color:#A4BE84;display:grid;place-items:center;border-radius:4px}.task strong{font-size:12px;font-weight:500}.task small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.task button{margin-left:auto}.task-count{font-family:ui-monospace,monospace;color:var(--orange)}.toolbar{display:flex;gap:10px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search-control{display:flex;align-items:center;gap:8px;background:#12161C;border:1px solid #343B45;border-radius:4px;padding:0 10px;min-width:260px;flex:1;max-width:370px}.search-control .icon{color:#75818D;width:16px}.search-control input{border:0;min-width:0;width:100%;background:none;padding:9px 0;outline:none}.toolbar select{width:150px}.table-foot{padding:13px 18px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#7D8795}.empty{padding:55px 24px;text-align:center;color:var(--muted);font-size:12px;line-height:1.8}.empty .icon{width:30px;height:30px;margin-bottom:12px;color:#647057}.empty strong{display:block;margin-bottom:7px;color:#C9D0D9;font-size:14px;font-weight:500}.empty button{margin-top:18px}.actions{display:flex;gap:8px}.link-button{color:#AFCB8C;background:none;border:0;padding:0;min-height:24px;font-size:12px}.link-button:hover:not(:disabled){background:none;border:0;color:#D0E4B9}.link-button.danger{color:#F08083}.split-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px}.service-tree{padding:18px}.service-tree b{display:block;font-size:13px;margin-bottom:20px}.tree-mode{padding:9px 0;color:#A4BE89;font-size:12px}.tree-item{display:block;font-size:11px;color:#8B93A1;padding:8px 0 8px 20px;border-left:1px solid #344034;margin-left:7px}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.config-card{padding:22px}.config-card h2{font-size:15px;margin:0 0 8px;font-weight:550}.config-card p{color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 22px}.config-values{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.config-values dt{font-size:11px;color:var(--muted);margin-bottom:8px}.config-values dd{font-size:14px;margin:0}.roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.roster-card{border:1px solid var(--line);padding:16px;background:var(--card)}.roster-card .person{margin-bottom:15px}.roster-card .tag{display:inline-block;margin-top:5px}.roster-card p{font-size:11px;color:var(--muted);margin:12px 0 0}.tenant-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan{padding:28px;position:relative}.plan.featured{border-color:#4B6340}.plan h2{font-size:19px;margin:0 0 8px}.plan .price{font-size:32px;letter-spacing:-1px;margin:25px 0 8px;font-family:ui-monospace,monospace}.plan .price span{font-size:12px;color:var(--muted);letter-spacing:0}.plan .plan-capacity{margin:24px 0;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.plan p{font-size:12px;line-height:1.8;color:var(--muted);min-height:45px}.tabs{display:flex;gap:24px;margin-bottom:18px;border-bottom:1px solid var(--line)}.tabs button{border:0;border-radius:0;background:none;color:#8B93A1;padding:12px 0;border-bottom:2px solid transparent}.tabs button.active{color:#D8E1CD;border-bottom-color:var(--brand)}input,select,textarea{background:#11151B;color:#E8EAED;border:1px solid #343D49;border-radius:4px;min-height:37px;padding:9px 11px;max-width:100%}input::placeholder,textarea::placeholder{color:#64707E}select{cursor:pointer}textarea{resize:vertical;line-height:1.6;min-height:90px;width:100%}input[type=checkbox]{min-height:0;width:15px;height:15px;accent-color:var(--brand);padding:0}dialog{padding:0;background:var(--card);color:var(--text);border:1px solid #424B56;border-radius:7px;max-height:90vh;width:min(660px,calc(100vw - 32px));box-shadow:0 20px 80px #0009;overflow:auto}dialog::backdrop{background:rgba(3,6,9,.72)}dialog.drawer{margin:0 0 0 auto;height:100vh;max-height:100vh;width:min(580px,100vw);border-radius:0;border-right:0}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:2}.dialog-head h2{font-size:17px;margin:0}.dialog-close{background:none;border:0;padding:7px;min-height:32px}.dialog-body{padding:24px}.dialog-foot{display:flex;gap:10px;justify-content:flex-end;padding:18px 24px;border-top:1px solid var(--line);background:#15191F}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:12px;color:#C0C8D3}.field.wide{grid-column:1/-1}.field small{font-size:11px;line-height:1.6;color:#8B93A1}.check-options{display:flex;flex-wrap:wrap;gap:14px;padding:7px 0}.check-options label{display:flex;align-items:center;gap:6px;font-size:12px}.form-error{color:#EB9396;font-size:12px;line-height:1.7;margin-top:18px;min-height:0}.form-error:empty{display:none}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.detail-grid dt{font-size:11px;color:#8B93A1;margin-bottom:7px}.detail-grid dd{margin:0;font-size:13px;overflow-wrap:anywhere}.detail-section{padding:20px 0;border-top:1px solid var(--line)}.detail-section h3{font-size:13px;margin:0 0 13px}.detail-section p{font-size:12px;line-height:1.8;color:#A8B2BF}.timeline{display:grid;gap:16px;font-size:11px;color:#9FA9B6}.timeline div{border-left:2px solid #3F5033;padding-left:12px}.timeline small{display:block;color:#687582;margin-top:5px}.login{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,1fr);min-height:100vh}.login-art{position:relative;overflow:hidden;border-right:1px solid var(--line);padding:48px 60px;display:flex;flex-direction:column;justify-content:space-between}.login-art:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0F1115 3%,rgba(15,17,21,.15) 60%,#0F1115 100%),url('/admin-demo/assets/art/extraction-scene.png') center/cover;opacity:.32;pointer-events:none}.login-art>*{position:relative}.login-art .logo-lockup{padding:0}.login-title{padding:110px 0 70px}.login-title .eyebrow{color:#AFC58F;margin-bottom:24px}.login-title h1{font-size:42px;line-height:1.45;letter-spacing:3px;margin:0 0 20px;font-weight:600}.login-title p{font-size:13px;color:#8F9B9C;line-height:2.1;max-width:380px}.login-art-foot{color:#687572;font-size:11px;letter-spacing:1px;display:flex;justify-content:space-between}.login-form-side{display:grid;place-items:center;padding:50px}.login-box{width:100%;max-width:350px}.login-box h2{font-size:25px;font-weight:600;margin:0 0 10px}.login-box>p{font-size:12px;color:var(--muted);margin:0 0 32px;line-height:1.8}.login-box .field{margin-bottom:20px}.login-box .primary{width:100%;height:42px;margin-top:10px}.login-box .login-note{border-top:1px solid var(--line);margin-top:28px;padding-top:20px;font-size:11px;line-height:1.9;color:#6E7A88}#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#243021;color:#D3E7C1;border:1px solid #4C6241;border-radius:5px;padding:12px 20px;z-index:100;font-size:13px;display:none}#toast.error{background:#302127;color:#F1ACB0;border-color:#70414A}.error-panel{padding:45px 24px;text-align:center;color:#D7A2A6}.error-panel button{margin-top:18px}.footer-note{font-size:11px;color:#66717F;margin-top:22px;line-height:1.7}dl{margin:0}.section-gap{margin-top:18px}@media(max-width:1100px){.shell{grid-template-columns:190px minmax(0,1fr)}.page-scroll{padding:22px 20px}.topbar{padding:0 20px}.chart-grid,.bottom-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr)}.stat{padding:15px}.stat-value{font-size:24px}.environment{display:none}.roster{grid-template-columns:repeat(2,minmax(0,1fr))}.donut-wrap{gap:12px}.donut{width:115px;height:115px}.login-art{padding:38px}}@media(max-width:760px){.shell{grid-template-columns:68px minmax(0,1fr)}.sidebar{padding:18px 7px}.logo-lockup{padding:0 7px 22px}.sidebar .logo-lockup div,.nav-label,.nav a span,.nav em,.sidebar-foot,.scope-switch span{display:none}.sidebar .logo-lockup img{width:32px;height:32px}.nav a{padding:13px 16px}.scope-switch{padding:9px;justify-content:center}.topbar{height:60px;padding:0 16px}.breadcrumbs{font-size:11px}.breadcrumbs b{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{gap:8px}.account>span:last-child{display:none}.page-scroll{padding:20px 16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid,.bottom-grid,.config-grid,.split-layout,.tenant-plans{grid-template-columns:1fr}.service-tree{display:none}.page-heading{flex-wrap:wrap}.page-heading h1{font-size:22px}.heading-actions{width:100%}.toolbar select{flex:1;width:auto}.search-control{min-width:180px;max-width:none}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.roster{grid-template-columns:1fr}.login{grid-template-columns:1fr}.login-art{display:none}.login-form-side{padding:36px 24px;min-height:100vh}.topbar .quiet{display:none}.stat-value{font-size:22px}.panel-head{padding:15px}.dialog-body{padding:20px}.dialog-foot{padding:16px 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.top-actions{flex-shrink:0}.sidebar .logo-lockup div{min-width:0}.sidebar .logo-lockup strong{display:block;max-width:132px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.breadcrumbs{display:none}.topbar{justify-content:flex-end}.top-actions select{width:135px;max-width:135px;font-size:11px}}

/* Daily management: one next action, advanced setup behind More. */
.workbench-role{font-size:12px;color:var(--muted);margin:-8px 0 20px}.workbench-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workbench-task{display:flex;flex-direction:column;gap:12px;padding:22px;color:var(--text);min-width:0;transition:border-color .15s}.workbench-task:hover{border-color:var(--brand)}.workbench-task:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.workbench-task>span:first-child{font-size:14px}.workbench-task strong{font-size:34px;line-height:1.2;font-variant-numeric:tabular-nums}.workbench-task small{font-size:12px;color:var(--muted);line-height:1.7}.workbench-link{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--brand);margin-top:auto}.workbench-shortcuts{display:flex;flex-wrap:wrap;gap:12px;padding:20px}.workbench-shortcuts a{padding:12px 16px;border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:13px}.workbench-shortcuts a:focus-visible{outline:2px solid var(--brand)}@media(max-width:1100px){.workbench-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.workbench-grid{grid-template-columns:1fr}.workbench-task{padding:18px}.workbench-shortcuts{flex-direction:column}}
.daily-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:16px 20px 0}.daily-tabs button{background:transparent;color:var(--muted);min-height:40px}.daily-tabs .selected{border-color:var(--brand);color:var(--text);background:#7FA65012}.income-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-menu{max-width:780px}.simple-menu-item{display:flex;align-items:center;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line);color:var(--text);min-height:72px}.simple-menu-item:last-child{border-bottom:0}.simple-menu-item>div{flex:1}.simple-menu-item small,.feedback-cell small{display:block;color:var(--muted);font-size:12px;margin-top:6px;line-height:1.6}.simple-menu-item:hover{background:#ffffff04}.simple-menu-item:focus-visible{outline:2px solid var(--brand);outline-offset:-3px}.feedback-cell{min-width:200px;max-width:360px;white-space:normal;overflow-wrap:anywhere;line-height:1.7}.actions{flex-wrap:wrap}

@media(max-width:760px){.nav a{flex-direction:column;gap:5px;padding:10px 4px}.nav a span{display:block;font-size:11px}.scope-switch:not(button){display:none}}
.image-upload-row{display:flex;gap:12px;align-items:center}.upload-preview{width:80px;height:64px;object-fit:cover;border:1px solid var(--line);border-radius:4px}.upload-preview.hidden{display:none}.upload-control{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:8px 12px;border:1px solid var(--line);border-radius:4px;cursor:pointer;overflow:hidden}.upload-control input[type=file]{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.upload-control:focus-within{outline:2px solid var(--brand)}

.sku-editor { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.sku-editor[hidden] { display:none; }
.dispatch-drawer .dialog-body{padding-top:12px}.dispatch-order{padding:16px;background:#20251F;border:1px solid #35432D;border-radius:12px}.dispatch-order-title{font-size:17px;font-weight:700;line-height:26px}.dispatch-order>.tiny{margin-top:4px;overflow-wrap:anywhere}.dispatch-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 0}.dispatch-facts dt{font-size:11px;color:var(--muted)}.dispatch-facts dd{margin:4px 0 0;font-size:13px;line-height:20px;overflow-wrap:anywhere}.dispatch-note{padding-top:12px;margin-top:14px;border-top:1px solid #35432D}.dispatch-note>span{font-size:11px;color:var(--muted)}.dispatch-note p{font-size:13px;line-height:21px;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.dispatch-candidates{padding:0;border:0;margin:0;min-width:0}.dispatch-candidates legend{padding:0;margin-bottom:12px;font-size:14px;font-weight:600}.dispatch-option{display:flex;align-items:center;gap:12px;min-height:76px;margin-bottom:8px;padding:12px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.dispatch-option:has(input:checked){border-color:var(--brand);background:#202A1E}.dispatch-option input[type=radio]{width:18px;height:18px;min-height:18px;padding:0;margin:0;flex:none;accent-color:var(--brand)}.dispatch-option img{width:38px;height:38px;object-fit:cover;border-radius:9px;flex:none}.dispatch-member{flex:1;min-width:0;overflow-wrap:anywhere}.dispatch-member strong{display:block;font-size:14px}.dispatch-member small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.dispatch-load{flex:none;font-size:11px;color:var(--muted)}.dispatch-load.available{color:#A8C48C}.dispatch-none{padding:24px 14px;border:1px dashed var(--line);border-radius:10px;font-size:14px;line-height:23px}.dispatch-none small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.dispatch-drawer .dialog-foot .primary{min-width:128px}


.product-image-field .upload-preview{width:96px;height:96px;object-fit:cover;background:#181B21}.product-list-item{display:flex;align-items:center;gap:12px}.product-list-image{width:48px;height:48px;object-fit:cover;background:#181B21;border:1px solid var(--line);border-radius:4px;flex-shrink:0}.product-image-field .image-upload-row{flex-wrap:wrap}
.staff-tabs{display:flex;gap:8px;margin:0 0 20px;flex-wrap:wrap}.staff-tabs button{min-height:44px;padding:0 18px}.staff-advanced{margin-top:24px;border-top:1px solid var(--line,#303840);padding-top:16px;color:#9BA69A;font-size:13px}.staff-advanced summary{cursor:pointer;min-height:44px;display:list-item;line-height:44px}.staff-advanced p{line-height:22px}.sync-status{font-size:12px;color:#9BA69A}.workbench-shortcuts{margin-top:18px}.page-heading h1{letter-spacing:0}.dispatch-note p{font-size:14px;line-height:23px}.dispatch-member strong{font-size:15px}.workbench-task strong{font-variant-numeric:tabular-nums}
.workbench-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.workbench-task{padding:18px;gap:8px}.mobile-order-list{display:none}
@media(max-width:760px){.workbench-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workbench-task{padding:14px;gap:6px}.workbench-task>span:first-child{font-size:13px}.workbench-task strong{font-size:27px}.workbench-task small{display:none}.workbench-link{font-size:11px}.desktop-order-list{display:none}.mobile-order-list{display:block}.mobile-order-card{padding:16px;border-top:1px solid var(--line)}.mobile-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.mobile-order-head strong{font-size:15px;min-width:0;overflow-wrap:anywhere}.mobile-order-head .badge{flex:none}.mobile-order-card p{color:var(--muted);font-size:12px;line-height:20px;margin:8px 0}.mobile-order-actions{display:flex;gap:8px;margin-top:12px}.mobile-order-actions button{min-height:44px;flex:1}.heading-actions{flex-wrap:wrap}.sync-status{font-size:11px}}

/* Day mode keeps the same operating layout and club identity. */
:root[data-theme="light"]{--bg:#F4F6FB;--card:#FFFFFF;--line:#E2E8F0;--text:#0E1726;--muted:#5E6E82;--orange:#D97706;--success:#00A859;--danger:#DC2626;--action:#009951;color-scheme:light}
.theme-toggle{font-size:12px;min-height:36px;flex-shrink:0;background:transparent}
.login-theme{display:flex;justify-content:flex-end;margin-bottom:28px}
:root[data-theme="light"] .sidebar,:root[data-theme="light"] .topbar{background:#FFF}
:root[data-theme="light"] button{background:#F5F8F2;color:var(--text)}
:root[data-theme="light"] button:hover:not(:disabled){background:#EBF1E5;border-color:#A4B995}
:root[data-theme="light"] .primary{background:var(--action);border-color:var(--action);color:#FFF}
:root[data-theme="light"] .primary:hover:not(:disabled){background:#385726;border-color:#385726}
:root[data-theme="light"] .quiet,:root[data-theme="light"] .theme-toggle,:root[data-theme="light"] .logout,:root[data-theme="light"] .dialog-close{background:transparent}
:root[data-theme="light"] .danger,:root[data-theme="light"] .link-button.danger{color:var(--danger);border-color:#D9A8AF}
:root[data-theme="light"] .scope-switch,:root[data-theme="light"] th,:root[data-theme="light"] .dialog-foot{background:#F5F8F2}
:root[data-theme="light"] .nav a{color:#536351}
:root[data-theme="light"] .nav a:hover{background:#F3F7EE}
:root[data-theme="light"] .nav a.active{color:#385726;border-color:#C9D8BD;background:#EDF4E6}
:root[data-theme="light"] .nav em{background:#E3EDD9;color:#405D2F}
:root[data-theme="light"] .nav-label,:root[data-theme="light"] .sidebar-foot,:root[data-theme="light"] .eyebrow,:root[data-theme="light"] .footer-note{color:#60705B}
:root[data-theme="light"] .breadcrumbs b,:root[data-theme="light"] .person strong,:root[data-theme="light"] .empty strong,:root[data-theme="light"] .field>span{color:var(--text)}
:root[data-theme="light"] .environment{color:#765216;background:#FCF8EC;border-color:#E2D6B6}
:root[data-theme="light"] .account-avatar,:root[data-theme="light"] .task-icon{background:#EEF4E7;color:#446331;border-color:#D3DFC9}
:root[data-theme="light"] .page-scroll{scrollbar-color:#B6C5AD transparent}
:root[data-theme="light"] .notice{background:#ECF3E6;color:#4B6040;border-color:#7D9D62}
:root[data-theme="light"] .notice .icon,:root[data-theme="light"] .green,:root[data-theme="light"] .workbench-link{color:var(--action)}
:root[data-theme="light"] .stat-label,:root[data-theme="light"] .stat-caption,:root[data-theme="light"] .table-foot,:root[data-theme="light"] th,:root[data-theme="light"] .detail-grid dt,:root[data-theme="light"] .timeline,:root[data-theme="light"] .field small,:root[data-theme="light"] .tree-item,:root[data-theme="light"] .sync-status,:root[data-theme="light"] .staff-advanced{color:var(--muted)}
:root[data-theme="light"] .stat-caption span,:root[data-theme="light"] .stat-label .icon,:root[data-theme="light"] .tree-mode,:root[data-theme="light"] .dispatch-load.available{color:var(--action)}
:root[data-theme="light"] .chart text{fill:var(--muted)}
:root[data-theme="light"] .chart line{stroke:var(--line)}
:root[data-theme="light"] .status-legend b{color:var(--text)}
:root[data-theme="light"] td{color:#354633;border-color:#E6EBE1}
:root[data-theme="light"] tbody tr:hover{background:#F6F9F2}
:root[data-theme="light"] .badge{background:#F2F5EF;border-color:#D4DECD;color:#52604B}
:root[data-theme="light"] .badge.active,:root[data-theme="light"] .badge.serving,:root[data-theme="light"] .badge.complete{color:#286240;border-color:#BED7C4;background:#EDF7EF}
:root[data-theme="light"] .badge.waiting,:root[data-theme="light"] .badge.pending,:root[data-theme="light"] .badge.confirm{color:#805419;border-color:#E3CFA5;background:#FFF7E7}
:root[data-theme="light"] .badge.banned,:root[data-theme="light"] .badge.disabled,:root[data-theme="light"] .badge.aftersales,:root[data-theme="light"] .badge.rejected{color:#A83040;border-color:#E6BEC3;background:#FFF0F1}
:root[data-theme="light"] .badge.sample{color:var(--muted);background:transparent}
:root[data-theme="light"] .tag{color:#53674B;border-color:#D4DECD}
:root[data-theme="light"] .task{border-color:var(--line)}
:root[data-theme="light"] input,:root[data-theme="light"] select,:root[data-theme="light"] textarea,:root[data-theme="light"] .search-control{color:var(--text);background:#FFF;border-color:#BDCCB4}
:root[data-theme="light"] input::placeholder,:root[data-theme="light"] textarea::placeholder{color:#74816D}
:root[data-theme="light"] .search-control input{border:0;background:none}
:root[data-theme="light"] .link-button{color:var(--action);background:none}
:root[data-theme="light"] .link-button:hover:not(:disabled){color:#2E4A20;background:none}
:root[data-theme="light"] .tabs button{background:none;color:var(--muted)}
:root[data-theme="light"] .tabs button.active{color:var(--action)}
:root[data-theme="light"] dialog{border-color:#BFCEB5;box-shadow:0 20px 80px #24371D26}
:root[data-theme="light"] dialog::backdrop{background:rgba(28,43,25,.26)}
:root[data-theme="light"] .form-error,:root[data-theme="light"] .error-panel{color:var(--danger)}
:root[data-theme="light"] .detail-section p,:root[data-theme="light"] .timeline small,:root[data-theme="light"] .login-box .login-note{color:var(--muted)}
:root[data-theme="light"] .login-art{background:#EBF1E5}
:root[data-theme="light"] .login-art:before{background:linear-gradient(0deg,#EBF1E5 3%,rgba(235,241,229,.7) 60%,#EBF1E5 100%),url('/admin-demo/assets/art/extraction-scene.png') center/cover;opacity:.42}
:root[data-theme="light"] .login-title .eyebrow{color:#496D32}
:root[data-theme="light"] .login-title p,:root[data-theme="light"] .login-art-foot{color:#53694A}
:root[data-theme="light"] #toast{background:#EBF5E5;color:#365824;border-color:#ABCA96}
:root[data-theme="light"] #toast.error{background:#FFF0F1;color:#A83040;border-color:#D7A6AE}
:root[data-theme="light"] .daily-tabs button{background:none;color:var(--muted)}
:root[data-theme="light"] .daily-tabs .selected{background:#EBF3E4;color:#385726}
:root[data-theme="light"] .simple-menu-item:hover{background:#F6F9F2}
:root[data-theme="light"] .dispatch-order{background:#F2F7ED;border-color:#CFDEC2}
:root[data-theme="light"] .dispatch-note{border-color:#CFDEC2}
:root[data-theme="light"] .dispatch-option:has(input:checked){background:#EDF5E5;border-color:#7A9A5F}
:root[data-theme="light"] .product-image-field .upload-preview,:root[data-theme="light"] .product-list-image{background:#F2F5EE}
@media(max-width:760px){.theme-toggle{font-size:11px;padding:6px 8px}.top-actions{gap:6px}.top-actions select{width:110px;max-width:110px}}

/* ==========================================================
   ESPORTS PRO HIGH-END STYLING (去AI味 · 电竞战术控制台)
   ========================================================== */

:root {
  --esports-neon: #00FF87;
  --esports-neon-glow: rgba(0, 255, 135, 0.35);
  --esports-cyan: #00F0FF;
  --esports-gold: #FFB800;
  --esports-red: #FF3366;
}

:root[data-theme="light"] {
  --bg: #F4F6FB;
  --card: #FFFFFF;
  --line: #E2E8F0;
  --text: #0E1726;
  --muted: #5E6E82;
  --brand: #00A859;
  --action: #009951;
  --esports-neon: #00A859;
  --esports-neon-glow: rgba(0, 168, 89, 0.25);
}

:root[data-theme="light"] button {
  background: #F8FAFD;
  color: var(--text);
  border-color: var(--line);
}
:root[data-theme="light"] button:hover:not(:disabled) {
  background: #EEF2F8;
  border-color: #CBD5E1;
}
:root[data-theme="light"] .primary {
  background: var(--action);
  border-color: var(--action);
  color: #FFF;
}
:root[data-theme="light"] .primary:hover:not(:disabled) {
  background: #008043;
  border-color: #008043;
}
:root[data-theme="light"] .scope-switch,
:root[data-theme="light"] th,
:root[data-theme="light"] .dialog-foot {
  background: #F8FAFD;
}
:root[data-theme="light"] .nav a {
  color: #4B5563;
}
:root[data-theme="light"] .nav a:hover {
  background: #F1F5F9;
}
:root[data-theme="light"] .nav a.active {
  color: #008043;
  border-color: #BBEFD0;
  background: #EAF8F0;
}
:root[data-theme="light"] .nav em {
  background: #E0F5E9;
  color: #008043;
}
:root[data-theme="light"] td {
  color: #1E293B;
  border-color: #F1F5F9;
}
:root[data-theme="light"] tbody tr:hover {
  background: #F8FAFC;
}

/* 1. Layout & Root Container */
.esports-platform-root {
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
}

/* Background grid accent */
.esports-platform-root::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(0, 255, 135, 0.035) 1px, transparent 1px);
  background-size: 24px 24px;
  z-index: 0;
}
:root[data-theme="light"] .esports-platform-root::before {
  background-image: radial-gradient(rgba(14, 23, 38, 0.04) 1px, transparent 1px);
}

/* 2. Esports Command Hero Header */
.esports-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  padding-bottom: 4px;
  position: relative;
  z-index: 1;
}
.esports-header-main {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.esports-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 1.8px;
  color: var(--brand);
  text-transform: uppercase;
}
.esports-eyebrow .hud-bracket {
  color: var(--muted);
  font-family: ui-monospace, monospace;
}
.hud-radar {
  position: relative;
  width: 10px;
  height: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.radar-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 8px var(--brand);
}
.radar-ping {
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  border: 1px solid var(--brand);
  animation: radar-pulse 2s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes radar-pulse {
  0% { transform: scale(0.6); opacity: 1; }
  100% { transform: scale(2.2); opacity: 0; }
}
.hud-badge-online {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 1.2px;
  padding: 2px 7px;
  border-radius: 3px;
  background: rgba(0, 255, 135, 0.12);
  border: 1px solid rgba(0, 255, 135, 0.35);
  color: var(--brand);
}
:root[data-theme="light"] .hud-badge-online {
  background: #E8F8EE;
  border-color: #A3E2B8;
  color: #008744;
}
.esports-heading {
  font-size: 28px;
  font-weight: 850;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--text);
  line-height: 1.2;
}
.esports-lead {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
  letter-spacing: 0.2px;
}

/* Primary Action Button - Esports Chamfer Cut */
.esports-btn-primary {
  position: relative;
  min-height: 42px;
  padding: 0 22px;
  border: 0;
  outline: none;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  background: linear-gradient(135deg, #00FF87 0%, #00D66E 100%);
  color: #041409 !important;
  font-weight: 800;
  font-size: 13.5px;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 255, 135, 0.35);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
:root[data-theme="light"] .esports-btn-primary {
  background: linear-gradient(135deg, #00C853 0%, #009624 100%);
  color: #FFFFFF !important;
  box-shadow: 0 4px 14px rgba(0, 200, 83, 0.3);
}
.esports-btn-primary:hover:not(:disabled) {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 8px 24px rgba(0, 255, 135, 0.55);
}
:root[data-theme="light"] .esports-btn-primary:hover:not(:disabled) {
  box-shadow: 0 8px 22px rgba(0, 200, 83, 0.45);
}
.esports-btn-primary .btn-icon {
  font-size: 15px;
  font-weight: 900;
}

/* 3. Esports Tactical Broadcast Bar */
.esports-broadcast-bar {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 18px;
  border-radius: 6px;
  background: var(--card);
  border: 1px solid var(--line);
  border-left: 3px solid var(--brand);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}
.broadcast-lead {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.broadcast-tag {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 1.2px;
  color: var(--brand);
  background: rgba(0, 255, 135, 0.1);
  padding: 3px 8px;
  border-radius: 3px;
  border: 1px solid rgba(0, 255, 135, 0.25);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
:root[data-theme="light"] .broadcast-tag {
  background: #E8F8EE;
  border-color: #B2E5C5;
  color: #008744;
}
.tag-pulse {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 6px var(--brand);
}
.broadcast-flag {
  font-size: 10px;
  font-weight: 700;
  color: var(--muted);
  border: 1px solid var(--line);
  padding: 2px 6px;
  border-radius: 2px;
}
.broadcast-body {
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--text);
  flex: 1;
}
.broadcast-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.chip-item {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  background: var(--bg);
  border: 1px solid var(--line);
  padding: 3px 8px;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.chip-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--brand);
}

/* 4. Esports HUD Metric Cards (4-Grid) */
.esports-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  position: relative;
  z-index: 1;
}
.esports-stat-card {
  position: relative;
  background: var(--card);
  border: 1px solid var(--line);
  padding: 20px 22px;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%);
  display: flex;
  flex-direction: column;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}
.esports-stat-card:hover {
  transform: translateY(-3px);
  border-color: var(--brand);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08), 0 0 16px rgba(0, 255, 135, 0.12);
}
:root[data-theme="light"] .esports-stat-card:hover {
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06), 0 0 14px rgba(0, 168, 89, 0.12);
}
.stat-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.stat-card-tag {
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: 1.4px;
  color: var(--muted);
}
.stat-badge-glow {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 2px 7px;
  border-radius: 3px;
  text-transform: uppercase;
}
.stat-badge-glow.green {
  background: rgba(0, 255, 135, 0.12);
  border: 1px solid rgba(0, 255, 135, 0.3);
  color: var(--brand);
}
:root[data-theme="light"] .stat-badge-glow.green {
  background: #E8F8EE;
  border-color: #B2E5C5;
  color: #008744;
}
.stat-badge-glow.cyan {
  background: rgba(0, 240, 255, 0.12);
  border: 1px solid rgba(0, 240, 255, 0.3);
  color: #00F0FF;
}
:root[data-theme="light"] .stat-badge-glow.cyan {
  background: #E6F7FF;
  border-color: #91D5FF;
  color: #0050B3;
}
.stat-badge-glow.gold {
  background: rgba(255, 184, 0, 0.12);
  border: 1px solid rgba(255, 184, 0, 0.35);
  color: #FFB800;
}
:root[data-theme="light"] .stat-badge-glow.gold {
  background: #FFF7E6;
  border-color: #FFD591;
  color: #D46B08;
}
.stat-badge-glow.safe {
  background: rgba(0, 255, 135, 0.1);
  border: 1px solid rgba(0, 255, 135, 0.25);
  color: var(--brand);
}
:root[data-theme="light"] .stat-badge-glow.safe {
  background: #E8F8EE;
  border-color: #B2E5C5;
  color: #008744;
}
.stat-badge-glow.danger {
  background: rgba(255, 51, 102, 0.12);
  border: 1px solid rgba(255, 51, 102, 0.35);
  color: #FF3366;
}
:root[data-theme="light"] .stat-badge-glow.danger {
  background: #FFF1F0;
  border-color: #FFA39E;
  color: #CF1322;
}

.stat-card-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: 6px;
}
.stat-card-value {
  font-size: 34px;
  font-weight: 850;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--text);
  margin-bottom: 12px;
}
.stat-card-value.accent-gold {
  color: #FFB800;
}
:root[data-theme="light"] .stat-card-value.accent-gold {
  color: #D46B08;
}
.stat-card-value.accent-safe {
  color: var(--brand);
}
:root[data-theme="light"] .stat-card-value.accent-safe {
  color: #008744;
}
.stat-card-value.accent-danger {
  color: #FF3366;
}
:root[data-theme="light"] .stat-card-value.accent-danger {
  color: #CF1322;
}
.currency-symbol {
  font-size: 22px;
  font-weight: 700;
  margin-right: 2px;
  opacity: 0.85;
}
.stat-unit {
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  margin-left: 4px;
}

/* Micro progress meter */
.stat-micro-meter {
  height: 3px;
  background: var(--line);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 8px;
}
.stat-micro-meter span {
  display: block;
  height: 100%;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--brand), #00F0FF);
}
.stat-micro-meter.cyan span {
  background: linear-gradient(90deg, #00F0FF, #0080FF);
}
.stat-micro-meter.gold span {
  background: linear-gradient(90deg, #FFB800, #FF7700);
}
.stat-micro-meter.safe span {
  background: var(--brand);
}
.stat-micro-meter.danger span {
  background: #FF3366;
}
.stat-foot-meta {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.4;
}
.stat-foot-meta b {
  color: var(--text);
  font-weight: 600;
}

/* 5. Esports Club Tenants Matrix Panel */
.esports-tenant-panel {
  position: relative;
  z-index: 1;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
}
.esports-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
  border-bottom: 1px solid var(--line);
  background: var(--card);
}
.panel-head-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.panel-head-icon {
  width: 28px;
  height: 28px;
  border-radius: 4px;
  background: rgba(0, 255, 135, 0.1);
  border: 1px solid rgba(0, 255, 135, 0.3);
  display: grid;
  place-items: center;
  color: var(--brand);
}
:root[data-theme="light"] .panel-head-icon {
  background: #E8F8EE;
  border-color: #B2E5C5;
  color: #008744;
}
.panel-head-title h2 {
  font-size: 15px;
  font-weight: 800;
  margin: 0;
  color: var(--text);
  letter-spacing: 0.3px;
}
.panel-head-title small {
  display: block;
  font-size: 10.5px;
  color: var(--muted);
  letter-spacing: 1.2px;
  margin-top: 3px;
}
.esports-pill {
  font-size: 10.5px;
  font-weight: 750;
  color: var(--muted);
  background: var(--bg);
  border: 1px solid var(--line);
  padding: 4px 10px;
  border-radius: 3px;
  letter-spacing: 1px;
}

/* Table styles */
.esports-table-wrap {
  overflow-x: auto;
}
.esports-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 12.5px;
  white-space: nowrap;
}
.esports-table th {
  padding: 12px 20px;
  background: var(--bg);
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border-bottom: 1px solid var(--line);
}
.esports-tr {
  transition: background 0.15s ease;
}
.esports-tr td {
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
  color: var(--text);
  vertical-align: middle;
}
.esports-tr:hover {
  background: rgba(0, 255, 135, 0.035);
}
:root[data-theme="light"] .esports-tr:hover {
  background: #F8FAFD;
}
.esports-tr:last-child td {
  border-bottom: 0;
}

/* Custom Club Cell */
.esports-club-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}
.club-avatar-wrap {
  position: relative;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.club-avatar {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  object-fit: cover;
  background: var(--bg);
  border: 1.5px solid var(--line);
}
.club-status-dot {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #00E676;
  border: 2px solid var(--card);
  box-shadow: 0 0 6px #00E676;
}
.club-status-dot.disabled, .club-status-dot.banned {
  background: #FF3366;
  box-shadow: 0 0 6px #FF3366;
}
.club-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.club-title {
  font-size: 13.5px;
  font-weight: 750;
  color: var(--text);
  letter-spacing: 0.2px;
}
.tenant-id-badge {
  font-size: 10px;
  color: var(--muted);
  letter-spacing: 0.8px;
  background: var(--bg);
  border: 1px solid var(--line);
  padding: 1px 6px;
  border-radius: 2px;
  width: fit-content;
}

/* Tier Badges */
.esports-tier-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 750;
  padding: 4px 10px;
  border-radius: 3px;
  letter-spacing: 0.5px;
}
.esports-tier-badge.pro {
  background: rgba(255, 184, 0, 0.1);
  border: 1px solid rgba(255, 184, 0, 0.4);
  color: #FFB800;
}
:root[data-theme="light"] .esports-tier-badge.pro {
  background: #FFF7E6;
  border-color: #FFD591;
  color: #D46B08;
}
.esports-tier-badge.core {
  background: var(--bg);
  border: 1px solid var(--line);
  color: var(--muted);
}
.tier-pip {
  font-style: normal;
  font-size: 10px;
}

/* Date and Numbers */
.date-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--text);
}
.date-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--brand);
}
.roster-chip {
  font-size: 13px;
  color: var(--text);
}
.roster-num {
  font-size: 15px;
  font-weight: 800;
  color: var(--brand);
}
:root[data-theme="light"] .roster-num {
  color: #008744;
}
.roster-unit {
  font-size: 11px;
  color: var(--muted);
  margin-left: 2px;
}
.money-chip {
  font-size: 14px;
  font-weight: 800;
  color: var(--text);
}
.money-chip small {
  font-size: 11px;
  margin-right: 2px;
  color: var(--muted);
}

/* Status Badge with Radar Pip */
.esports-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 750;
  padding: 4px 10px;
  border-radius: 3px;
  background: rgba(0, 255, 135, 0.08);
  border: 1px solid rgba(0, 255, 135, 0.3);
  color: var(--brand);
}
:root[data-theme="light"] .esports-status-badge {
  background: #E8F8EE;
  border-color: #A3E2B8;
  color: #008744;
}
.status-radar {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 6px currentColor;
}
.esports-status-badge.disabled, .esports-status-badge.banned {
  background: rgba(255, 51, 102, 0.1);
  border-color: rgba(255, 51, 102, 0.3);
  color: #FF3366;
}
:root[data-theme="light"] .esports-status-badge.disabled {
  background: #FFF1F0;
  border-color: #FFA39E;
  color: #CF1322;
}

/* Actions in Table */
.esports-actions {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
.esports-btn-ghost {
  min-height: 32px;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 650;
  background: transparent;
  border: 1px solid var(--line);
  color: var(--muted);
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.18s;
}
.esports-btn-ghost:hover:not(:disabled) {
  border-color: var(--brand);
  color: var(--brand);
  background: rgba(0, 255, 135, 0.06);
}
:root[data-theme="light"] .esports-btn-ghost:hover:not(:disabled) {
  background: #E8F8EE;
  border-color: #008744;
  color: #008744;
}
.esports-btn-enter {
  min-height: 32px;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 750;
  background: var(--text);
  color: var(--bg) !important;
  border: 1px solid var(--text);
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.esports-btn-enter .btn-arrow {
  font-style: normal;
  font-weight: 900;
  font-size: 14px;
  transition: transform 0.15s;
}
.esports-btn-enter:hover:not(:disabled) {
  background: var(--brand);
  border-color: var(--brand);
  color: #041409 !important;
  box-shadow: 0 3px 12px rgba(0, 255, 135, 0.35);
}
.esports-btn-enter:hover .btn-arrow {
  transform: translateX(2px);
}
:root[data-theme="light"] .esports-btn-enter {
  background: #0E1726;
  color: #FFFFFF !important;
  border-color: #0E1726;
}
:root[data-theme="light"] .esports-btn-enter:hover:not(:disabled) {
  background: #009624;
  border-color: #009624;
  color: #FFFFFF !important;
  box-shadow: 0 3px 12px rgba(0, 150, 36, 0.35);
}

.esports-table-foot {
  padding: 12px 22px;
  border-top: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 10.5px;
  color: var(--muted);
  background: var(--card);
  letter-spacing: 0.8px;
}

/* 6. Esports Footer Protocol */
.esports-footer-protocol {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-radius: 5px;
  background: var(--card);
  border: 1px solid var(--line);
  margin-top: 4px;
}
.protocol-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11.5px;
  color: var(--muted);
}
.protocol-badge {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--brand);
  background: rgba(0, 255, 135, 0.1);
  border: 1px solid rgba(0, 255, 135, 0.3);
  padding: 2px 6px;
  border-radius: 2px;
}
:root[data-theme="light"] .protocol-badge {
  background: #E8F8EE;
  border-color: #B2E5C5;
  color: #008744;
}

/* Responsive adjustments */
@media (max-width: 1100px) {
  .esports-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .esports-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .esports-stats-grid {
    grid-template-columns: 1fr;
  }
  .esports-broadcast-bar {
    flex-direction: column;
    align-items: flex-start;
  }
  .esports-footer-protocol {
    flex-direction: column;
    align-items: flex-start;
  }
}

.esports-platform-root + .footer-note {
  display: none !important;
}

/* ==========================================================
   ESPORTS CLUB UI & DIALOG UPGRADES (俱乐部界面/按钮/字体/关闭全面精修)
   ========================================================== */

/* 1. Dialogs & Drawers Enhanced */
dialog {
  border: 1px solid var(--line) !important;
  background: var(--card) !important;
  border-radius: 8px !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(8px);
}
dialog::backdrop {
  background: rgba(8, 12, 18, 0.72) !important;
  backdrop-filter: blur(4px);
}
:root[data-theme="light"] dialog::backdrop {
  background: rgba(15, 23, 42, 0.45) !important;
}

dialog.drawer {
  border-left: 1px solid var(--line) !important;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.35) !important;
}

.dialog-head {
  padding: 18px 24px !important;
  border-bottom: 1px solid var(--line) !important;
  background: var(--card) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: sticky;
  top: 0;
  z-index: 10;
}
.dialog-head h2 {
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: 0.3px;
  color: var(--text) !important;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.dialog-head h2::before {
  content: '';
  display: inline-block;
  width: 3px;
  height: 15px;
  background: var(--brand);
  border-radius: 2px;
}

/* 2. Tactical High-Visibility Close Button (关闭按钮清晰化) */
.dialog-close {
  width: 34px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 6px !important;
  background: var(--bg) !important;
  border: 1px solid var(--line) !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  flex-shrink: 0;
}
.dialog-close .icon {
  width: 16px !important;
  height: 16px !important;
  transition: transform 0.2s ease;
  filter: contrast(1.2);
}
.dialog-close:hover:not(:disabled) {
  border-color: #FF3366 !important;
  background: rgba(255, 51, 102, 0.12) !important;
  color: #FF3366 !important;
}
:root[data-theme="light"] .dialog-close:hover:not(:disabled) {
  border-color: #E62E43 !important;
  background: #FFF1F0 !important;
  color: #CF1322 !important;
}
.dialog-close:hover .icon {
  transform: rotate(90deg) scale(1.1);
}

/* Dialog Footer */
.dialog-foot {
  padding: 16px 24px !important;
  border-top: 1px solid var(--line) !important;
  background: var(--bg) !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: flex-end !important;
  align-items: center !important;
}
.dialog-foot .quiet {
  min-height: 38px !important;
  padding: 8px 18px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: 1px solid var(--line) !important;
  background: var(--card) !important;
  color: var(--text) !important;
  border-radius: 4px !important;
  cursor: pointer;
  transition: all 0.15s;
}
.dialog-foot .quiet:hover {
  border-color: var(--muted) !important;
  background: var(--card-hover, var(--bg)) !important;
}
.dialog-foot .primary {
  min-height: 38px !important;
  padding: 8px 22px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  border-radius: 4px !important;
}

/* 3. Heading Action Buttons (右上角操作按钮清晰化) */
.heading-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.heading-actions .primary,
.heading-primary-link {
  min-height: 38px !important;
  padding: 8px 18px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  letter-spacing: 0.3px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.heading-actions .quiet,
.heading-quiet-btn {
  min-height: 38px !important;
  padding: 8px 16px !important;
  border: 1px solid var(--line) !important;
  background: var(--card) !important;
  color: var(--text) !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer;
  transition: all 0.18s ease;
}
.heading-actions .quiet:hover,
.heading-quiet-btn:hover {
  border-color: var(--brand) !important;
  color: var(--brand) !important;
  background: rgba(0, 255, 135, 0.05) !important;
}
:root[data-theme="light"] .heading-actions .quiet:hover,
:root[data-theme="light"] .heading-quiet-btn:hover {
  background: #E8F8EE !important;
  border-color: #008744 !important;
  color: #008744 !important;
}

/* 4. Filter Tabs (.daily-tabs 战术标签组清晰化) */
.daily-tabs {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  padding: 16px 20px 14px !important;
  border-bottom: 1px solid var(--line) !important;
  background: var(--card) !important;
}
.daily-tabs button {
  min-height: 34px !important;
  padding: 6px 14px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  border: 1px solid var(--line) !important;
  background: var(--bg) !important;
  color: var(--muted) !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.daily-tabs button:hover:not(.selected) {
  border-color: var(--muted) !important;
  color: var(--text) !important;
  background: var(--card) !important;
}
.daily-tabs button.selected {
  border-color: var(--brand) !important;
  background: rgba(0, 255, 135, 0.12) !important;
  color: var(--brand) !important;
  font-weight: 750 !important;
  box-shadow: 0 1px 6px rgba(0, 255, 135, 0.2) !important;
}
:root[data-theme="light"] .daily-tabs button.selected {
  border-color: #00A859 !important;
  background: #E8F8EE !important;
  color: #008043 !important;
  box-shadow: 0 1px 4px rgba(0, 168, 89, 0.15) !important;
}

/* 5. Table Rows & Typography (表格字体/微标/按钮清晰化) */
.table-wrap table th {
  font-size: 11px !important;
  font-weight: 750 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 13px 18px !important;
}
.table-wrap table td {
  padding: 15px 18px !important;
  font-size: 13px !important;
  vertical-align: middle !important;
}

/* Order Actions in Table */
.actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.actions .small-button.primary {
  min-height: 32px !important;
  padding: 5px 14px !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  letter-spacing: 0.3px;
  border-radius: 4px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
}
.actions .link-button {
  min-height: 30px !important;
  padding: 4px 12px !important;
  border: 1px solid var(--line) !important;
  background: var(--bg) !important;
  color: var(--text) !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: all 0.18s;
  white-space: nowrap;
}
.actions .link-button:hover:not(:disabled) {
  border-color: var(--brand) !important;
  color: var(--brand) !important;
  background: rgba(0, 255, 135, 0.08) !important;
}
:root[data-theme="light"] .actions .link-button:hover:not(:disabled) {
  border-color: #008744 !important;
  color: #008744 !important;
  background: #E8F8EE !important;
}

/* Badges with Radar Pip (状态微标高清晰度) */
.badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  letter-spacing: 0.3px !important;
  border: 1px solid transparent !important;
  white-space: nowrap;
}
.badge::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 6px currentColor;
}
.badge.complete,
.badge.active,
.badge.serving {
  color: #00FF87 !important;
  background: rgba(0, 255, 135, 0.1) !important;
  border-color: rgba(0, 255, 135, 0.35) !important;
}
:root[data-theme="light"] .badge.complete,
:root[data-theme="light"] .badge.active,
:root[data-theme="light"] .badge.serving {
  color: #008043 !important;
  background: #E8F8EE !important;
  border-color: #A3E2B8 !important;
}

.badge.waiting,
.badge.pending,
.badge.confirm {
  color: #FFB800 !important;
  background: rgba(255, 184, 0, 0.1) !important;
  border-color: rgba(255, 184, 0, 0.35) !important;
}
:root[data-theme="light"] .badge.waiting,
:root[data-theme="light"] .badge.pending,
:root[data-theme="light"] .badge.confirm {
  color: #B45309 !important;
  background: #FFFBEB !important;
  border-color: #FDE68A !important;
}

.badge.aftersales,
.badge.banned,
.badge.disabled,
.badge.rejected {
  color: #FF3366 !important;
  background: rgba(255, 51, 102, 0.12) !important;
  border-color: rgba(255, 51, 102, 0.35) !important;
}
:root[data-theme="light"] .badge.aftersales,
:root[data-theme="light"] .badge.banned,
:root[data-theme="light"] .badge.disabled,
:root[data-theme="light"] .badge.rejected {
  color: #B91C1C !important;
  background: #FEF2F2 !important;
  border-color: #FECACA !important;
}

.badge.sample {
  color: var(--muted) !important;
  background: var(--bg) !important;
  border-color: var(--line) !important;
}
.badge.sample::before {
  display: none;
}

/* Price & Date in Table */
.font-price b {
  font-size: 14.5px;
  font-weight: 850;
  letter-spacing: -0.02em;
  color: var(--text);
}
.font-date {
  font-size: 11.5px;
  color: var(--muted);
  letter-spacing: 0.3px;
}

/* 6. Candidate Cards in Dispatch Drawer (安排陪玩抽屉选项清晰化) */
.dispatch-option {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 72px !important;
  margin-bottom: 10px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  background: var(--card) !important;
  cursor: pointer !important;
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.dispatch-option:hover {
  border-color: var(--brand) !important;
  background: rgba(0, 255, 135, 0.03) !important;
}
:root[data-theme="light"] .dispatch-option:hover {
  background: #F8FAFD !important;
}
.dispatch-option:has(input:checked) {
  border-color: var(--brand) !important;
  background: rgba(0, 255, 135, 0.09) !important;
  box-shadow: 0 0 14px rgba(0, 255, 135, 0.15) !important;
}
:root[data-theme="light"] .dispatch-option:has(input:checked) {
  background: #E8F8EE !important;
  border-color: #00A859 !important;
}
.dispatch-note-highlight {
  background: rgba(0, 168, 89, 0.08) !important;
  border: 1px solid rgba(0, 168, 89, 0.3) !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
}
.dispatch-option-designated {
  border-color: #F59E0B !important;
  background: rgba(245, 158, 11, 0.06) !important;
}
:root[data-theme="light"] .dispatch-option-designated {
  background: #FFFBEB !important;
  border-color: #F59E0B !important;
}
.dispatch-option img {
  width: 40px !important;
  height: 40px !important;
  border-radius: 6px !important;
  border: 1.5px solid var(--line) !important;
  object-fit: cover !important;
}
.dispatch-member strong {
  font-size: 14px !important;
  font-weight: 750 !important;
  color: var(--text) !important;
}
.dispatch-member small {
  color: var(--muted) !important;
  font-size: 11px !important;
}
.dispatch-load.available {
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #00E676 !important;
  background: rgba(0, 255, 135, 0.1) !important;
  padding: 3px 8px !important;
  border-radius: 3px !important;
}
:root[data-theme="light"] .dispatch-load.available {
  color: #008744 !important;
  background: #E8F8EE !important;
}

/* Person vertical stack */
.person > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  line-height: 1.3 !important;
}
.person strong {
  display: flex !important;
  align-items: center !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  color: var(--text) !important;
}
.person small {
  display: block !important;
  font-size: 11px !important;
  color: var(--muted) !important;
  font-weight: 500 !important;
}

/* Close button enhanced */
.dialog-close {
  width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 8px !important;
  border: 1px solid var(--line) !important;
  background: var(--bg) !important;
  color: var(--muted) !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.dialog-close .icon {
  width: 18px !important;
  height: 18px !important;
  filter: drop-shadow(0 0 1px currentColor);
}
.dialog-close:hover {
  border-color: #FF3366 !important;
  background: rgba(255, 51, 102, 0.15) !important;
  color: #FF3366 !important;
  transform: rotate(90deg) scale(1.08) !important;
}
:root[data-theme="light"] .dialog-close:hover {
  border-color: #E62E43 !important;
  background: #FFF1F0 !important;
  color: #CF1322 !important;
}

/* Table padding right breathing room */
.table-wrap table td:last-child,
.table-wrap table th:last-child {
  padding-right: 24px !important;
}

/* Modernized Sidebar Navigation Links */
.nav a {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  padding: 11px 14px !important;
  transition: all 0.15s ease !important;
}
.nav a .icon {
  width: 18px !important;
  height: 18px !important;
}
.nav a.active {
  font-weight: 750 !important;
}

/* ==========================================================
   ESPORTS DISPATCH HUB & WORKBENCH OVERHAUL (电竞派单调度工作台)
   ========================================================== */

/* 1. Tactical Service Lifecycle Pipeline (陪玩业务全流程态势流水线) */
.esports-pipeline-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 18px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  overflow-x: auto;
}
:root[data-theme="dark"] .esports-pipeline-bar {
  background: linear-gradient(180deg, #151924 0%, #0F131D 100%);
  border-color: rgba(255, 255, 255, 0.08);
}
.pipeline-step {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  border-radius: 6px;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.pipeline-step .step-badge {
  font-size: 11px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 4px;
  background: var(--line);
  color: var(--muted);
}
.pipeline-step .step-name {
  font-size: 13px;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
}
.pipeline-step .step-count {
  font-size: 11px;
  color: var(--muted);
  display: block;
}
.pipeline-divider {
  color: var(--line);
  font-size: 18px;
  font-weight: 300;
  user-select: none;
}
:root[data-theme="dark"] .pipeline-divider {
  color: rgba(255, 255, 255, 0.15);
}

/* Alert Step (待派单有积压时的战备高亮) */
.pipeline-step.step-alert {
  background: rgba(0, 201, 104, 0.08);
  border: 1px solid rgba(0, 201, 104, 0.3);
}
.pipeline-step.step-alert .step-badge {
  background: #00A859;
  color: #FFFFFF;
}
:root[data-theme="dark"] .pipeline-step.step-alert .step-badge {
  background: #00FF87;
  color: #0A0D14;
}
.pipeline-step.step-alert .step-name {
  color: #00A859;
}
:root[data-theme="dark"] .pipeline-step.step-alert .step-name {
  color: #00FF87;
}

/* Warn Step (售后有异常时的警报高亮) */
.pipeline-step.step-warn {
  background: rgba(239, 68, 68, 0.08);
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.pipeline-step.step-warn .step-badge {
  background: #DC2626;
  color: #FFFFFF;
}
.pipeline-step.step-warn .step-name {
  color: #DC2626;
}

/* Active Step */
.pipeline-step.step-active .step-badge {
  background: #0284C7;
  color: #FFFFFF;
}

/* 2. Tactical Workbench Task Cards (6 大待办任务卡片重构) */
.workbench-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-bottom: 24px !important;
}
@media (max-width: 1024px) {
  .workbench-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .workbench-grid {
    grid-template-columns: 1fr !important;
  }
}

.workbench-task {
  display: flex !important;
  flex-direction: column !important;
  padding: 18px 20px !important;
  border-radius: 8px !important;
  border: 1px solid var(--line) !important;
  background: var(--card) !important;
  position: relative !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: var(--text) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
}
:root[data-theme="dark"] .workbench-task {
  background: linear-gradient(180deg, #161A24 0%, #0E121B 100%) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* Top Accent Bars by Category */
.workbench-task::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3.5px;
  background: var(--line);
  transition: height 0.18s ease;
}
.workbench-task.task-unassigned::before { background: #00A859; }
:root[data-theme="dark"] .workbench-task.task-unassigned::before { background: #00FF87; box-shadow: 0 0 10px #00FF87; }
.workbench-task.task-assigned::before { background: #0284C7; }
:root[data-theme="dark"] .workbench-task.task-assigned::before { background: #00D4FF; box-shadow: 0 0 10px #00D4FF; }
.workbench-task.task-confirm::before { background: #7C3AED; }
:root[data-theme="dark"] .workbench-task.task-confirm::before { background: #A78BFA; }
.workbench-task.task-aftersales::before { background: #DC2626; }
:root[data-theme="dark"] .workbench-task.task-aftersales::before { background: #FF453A; }
.workbench-task.task-applications::before { background: #D97706; }
:root[data-theme="dark"] .workbench-task.task-applications::before { background: #F59E0B; }
.workbench-task.task-settlements::before { background: #059669; }
:root[data-theme="dark"] .workbench-task.task-settlements::before { background: #10B981; }

.workbench-task:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}
:root[data-theme="dark"] .workbench-task:hover {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.6) !important;
}
.workbench-task:hover::before {
  height: 5px;
}

/* Task Card Header */
.workbench-task-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 8px !important;
}
.workbench-task-label {
  font-size: 14.5px !important;
  font-weight: 750 !important;
  color: var(--text) !important;
}
.workbench-task-code {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  color: var(--muted) !important;
  background: rgba(125, 140, 160, 0.08) !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
}

/* Task Card Body & Count */
.workbench-task-body {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 6px 0 8px !important;
}
.workbench-task-count {
  font-size: 42px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  letter-spacing: -0.03em !important;
  color: var(--text) !important;
}

/* Active pending pulse count */
.workbench-task.has-pending.task-unassigned .workbench-task-count {
  color: #00A859 !important;
}
:root[data-theme="dark"] .workbench-task.has-pending.task-unassigned .workbench-task-count {
  color: #00FF87 !important;
  text-shadow: 0 0 16px rgba(0, 255, 135, 0.3) !important;
}
.workbench-task.has-pending.task-aftersales .workbench-task-count {
  color: #DC2626 !important;
}
:root[data-theme="dark"] .workbench-task.has-pending.task-aftersales .workbench-task-count {
  color: #FF453A !important;
  text-shadow: 0 0 16px rgba(255, 69, 58, 0.3) !important;
}

/* Radar ping indicator */
.workbench-task-ping {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
}

/* Detail Text */
.workbench-task-detail {
  font-size: 12px !important;
  color: var(--muted) !important;
  line-height: 1.5 !important;
  min-height: 36px !important;
  margin-bottom: 12px !important;
}

/* Task Card Footer */
.workbench-task-footer {
  margin-top: auto !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--line) !important;
}
:root[data-theme="dark"] .workbench-task-footer {
  border-top-color: rgba(255, 255, 255, 0.06) !important;
}
.workbench-task-footer .workbench-link {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--action) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: all 0.15s ease !important;
}
:root[data-theme="dark"] .workbench-task-footer .workbench-link {
  color: #00FF87 !important;
}
.workbench-task:hover .workbench-link {
  padding-right: 4px;
}

/* 3. Tactical Elements on Workbench Table & Shortcuts */
.table-action-pill {
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  border: 1px solid var(--line) !important;
  color: var(--text) !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}
.table-action-pill:hover {
  border-color: var(--brand) !important;
  background: rgba(0, 168, 89, 0.06) !important;
}

.workbench-shortcuts {
  display: flex !important;
  gap: 12px !important;
  margin-top: 20px !important;
}
.shortcut-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  padding: 10px 18px !important;
  border-radius: 6px !important;
  border: 1px solid var(--line) !important;
  background: var(--card) !important;
  color: var(--text) !important;
  text-decoration: none !important;
  transition: all 0.18s ease !important;
}
.shortcut-pill:hover {
  border-color: var(--brand) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}
.shortcut-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--action);
}
:root[data-theme="dark"] .shortcut-dot {
  background: #00FF87;
  box-shadow: 0 0 6px #00FF87;
}

/* 4. Dispatch Order Drawer Header Badge */
.dispatch-order-badge {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.5px;
  color: var(--action);
  background: rgba(0, 168, 89, 0.1);
  border: 1px solid rgba(0, 168, 89, 0.25);
  border-radius: 3px;
  padding: 2px 8px;
  display: inline-block;
  margin-bottom: 8px;
}
:root[data-theme="dark"] .dispatch-order-badge {
  color: #00FF87;
  background: rgba(0, 255, 135, 0.1);
  border-color: rgba(0, 255, 135, 0.25);
}

/* 5. Safe Self-Contained Status Indicators (严禁溢出与防椭圆变形) */
.sync-indicator {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--action);
  box-shadow: 0 0 6px var(--action);
  margin-right: 6px;
  vertical-align: middle;
  flex-shrink: 0;
}
:root[data-theme="dark"] .sync-indicator {
  background: #00FF87;
  box-shadow: 0 0 8px #00FF87;
}

.task-pulse-pip {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #00A859;
  box-shadow: 0 0 8px rgba(0, 168, 89, 0.6);
  vertical-align: middle;
  flex-shrink: 0;
}
:root[data-theme="dark"] .task-pulse-pip {
  background: #00FF87;
  box-shadow: 0 0 10px rgba(0, 255, 135, 0.8);
}
.task-aftersales .task-pulse-pip {
  background: #DC2626;
  box-shadow: 0 0 8px rgba(220, 38, 38, 0.6);
}
:root[data-theme="dark"] .task-aftersales .task-pulse-pip {
  background: #FF453A;
  box-shadow: 0 0 10px rgba(255, 69, 58, 0.8);
}

/* 6. Strict Viewport & Layout Containment (杜绝水平溢出与滚动条跳动) */
html, body, .shell, .workspace, .page-scroll {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
}

/* 7. Enhanced Management Financial KPI Dashboard & Pagination Controls */
.kpi-stats-5 {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
@media (max-width: 1280px) {
  .kpi-stats-5 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .kpi-stats-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 480px) {
  .kpi-stats-5 {
    grid-template-columns: 1fr !important;
  }
}
.table-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 18px;
  border-top: 1px solid var(--line);
  background: var(--card);
  flex-wrap: wrap;
  gap: 10px;
}
.pagination-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}
.pagination-controls button {
  min-height: 28px;
  padding: 3px 10px;
  font-size: 12px;
}
:root[data-theme="light"] .table-pagination {
  background: #FFF;
  border-top-color: #E2E8F0;
}

/* Aftersales Dispute & Penalty Ledger Styling */
.badge.danger {
  color: #FF3366 !important;
  background: rgba(255, 51, 102, 0.15) !important;
  border-color: rgba(255, 51, 102, 0.4) !important;
}
:root[data-theme="light"] .badge.danger {
  color: #BE123C !important;
  background: #FFF1F2 !important;
  border-color: #FDA4AF !important;
}
.aftersales-dispute-card {
  box-shadow: 0 2px 10px rgba(225, 29, 72, 0.08);
}
:root[data-theme="dark"] .aftersales-dispute-card {
  background: rgba(225, 29, 72, 0.12) !important;
  border-color: rgba(225, 29, 72, 0.35) !important;
}
:root[data-theme="dark"] .aftersales-dispute-card div,
:root[data-theme="dark"] .aftersales-dispute-card span {
  color: #F1F5F9;
}
:root[data-theme="dark"] .resolve-dynamic-panel {
  background: rgba(255, 255, 255, 0.04) !important;
}
:root[data-theme="dark"] .penalty-box {
  background: rgba(225, 29, 72, 0.15) !important;
  border-color: rgba(225, 29, 72, 0.45) !important;
}
:root[data-theme="dark"] .penalty-box div,
:root[data-theme="dark"] .penalty-box span {
  color: #F8FAFC;
}

