:root{--ink:#0b1727;--ink-2:#12253a;--ink-3:#1c3851;--text:#172b3d;--muted:#6c7c8b;--soft:#f4f7f9;--line:#e1e8ee;--line-strong:#cad5df;--teal:#12a99b;--teal-dark:#078378;--blue:#3284da;--amber:#d28a24;--rose:#d45561;--green:#18a56f;--shadow:0 14px 34px #0e223312;color:var(--text);background:var(--soft);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{background:var(--soft);min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{background:var(--soft);min-height:100vh}.sidebar{z-index:30;color:#d8e4ec;background:var(--ink);flex-direction:column;width:248px;padding:24px 14px 16px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:10px 0 28px #0b172714}.brand{color:#fff;align-items:center;gap:11px;padding:0 10px 22px;display:flex}.brand-mark{color:#b6fff5;letter-spacing:0;background:linear-gradient(135deg,#12a99b6b,#3082d742);border:1px solid #5ae4d2a6;border-radius:9px;place-items:center;width:34px;height:34px;font-size:18px;font-weight:800;display:grid}.brand span:last-child{flex-direction:column;gap:2px;display:flex}.brand strong{letter-spacing:.08em;font-size:14px}.brand small{color:#7e99ad;letter-spacing:.16em;text-transform:uppercase;font-size:10px}.mobile-close{color:#a8bdca;background:0 0;border:0;margin-left:auto;display:none}.environment{color:#aec3d0;background:#ffffff0e;border:1px solid #b8dfe624;border-radius:7px;align-items:center;gap:7px;margin:0 7px 25px;padding:9px 10px;font-size:11px;display:flex}.environment svg{color:#7192a5;margin-left:auto}.env-dot{background:#42d6b4;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #42d6b421}.nav-group{margin-bottom:24px}.nav-label{color:#70899b;letter-spacing:.14em;padding:0 12px 8px;font-size:10px;font-weight:700;display:block}.nav-item{color:#a7bac7;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;width:100%;min-height:41px;padding:0 11px;font-size:13px;transition:all .18s;display:flex;position:relative}.nav-item em{color:#9deee0;text-align:center;background:#12a99b38;border-radius:10px;min-width:20px;margin-left:auto;padding:2px 5px;font-size:10px;font-style:normal}.sidebar-footer{margin-top:auto}.operator{border-top:1px solid #cee4ed1f;align-items:center;gap:9px;margin-top:14px;padding:12px 9px 2px;display:flex}.operator-avatar{color:#0d2635;background:#83e2d4;border-radius:50%;place-items:center;width:29px;height:29px;font-size:12px;font-weight:800;display:grid}.operator span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.operator strong{color:#e6f1f4;font-size:12px}.operator svg{color:#718999}.main-shell{min-height:100vh;margin-left:248px}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafcfdeb;justify-content:space-between;align-items:center;height:64px;padding:0 34px;display:flex;position:sticky;top:0}.topbar-left,.topbar-right,.breadcrumbs{align-items:center;display:flex}.breadcrumbs{color:#8b9aa6;gap:8px;font-size:12px}.breadcrumbs strong{color:var(--text);font-weight:650}.topbar-right{color:var(--muted);gap:17px}.sync-status{color:#637986;align-items:center;gap:6px;font-size:11px;display:flex}.sync-status i{background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #18a56f1f}.sync-status span{color:#9baab4;font-variant-numeric:tabular-nums}.icon-button{color:#6e7e8c;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;width:33px;height:33px;padding:0;transition:all .18s;display:inline-grid}.icon-button:hover{border-color:var(--line);color:var(--teal-dark);background:#fff}.notification-button{color:#6e7e8c;background:0 0;border:0;place-items:center;width:28px;height:33px;padding:0;display:inline-grid;position:relative}.notification-button i{color:#fff;background:var(--rose);border:2px solid #f9fbfc;border-radius:50%;place-items:center;width:15px;height:15px;font-size:8px;font-style:normal;display:grid;position:absolute;top:1px;right:-2px}.topbar-user{color:var(--text);font-size:12px;font-weight:650;display:none}.mobile-menu{display:none}.content{max-width:1600px;margin:0 auto;padding:31px 34px 54px}.page-title-row{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:24px;display:flex}.eyebrow{color:var(--teal-dark);letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:800}h1,h2,h3,p{margin:0}h1{color:var(--ink);letter-spacing:0;font-size:27px;font-weight:730;line-height:1.15}.page-title-row p{max-width:720px;color:var(--muted);margin-top:8px;font-size:12px}.page-actions{flex-wrap:wrap;gap:9px;display:flex}.button{color:#fff;background:var(--ink);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:35px;padding:0 13px;font-size:12px;font-weight:650;transition:all .18s;display:inline-flex}.button:hover{background:var(--ink-2);transform:translateY(-1px)}.button.secondary{border-color:var(--line-strong);color:#526575;background:#fff}.button svg{flex:none}.trial-banner{border:1px solid #c9e8e3;border-left:3px solid var(--teal);background:#eefaf8;border-radius:7px;align-items:center;gap:11px;margin-bottom:20px;padding:12px 15px;display:flex}.trial-mark{width:28px;height:28px;color:var(--teal-dark);background:#cff2ed;border-radius:6px;place-items:center;display:grid}.trial-banner>div:nth-child(2){flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.trial-banner strong{color:#13584f;font-size:12px}.trial-banner span{color:#567d7c;font-size:11px}.trial-banner button,.text-button,.filter-link{color:var(--teal-dark);white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:11px;font-weight:700;display:inline-flex}.trial-banner button:hover,.text-button:hover,.filter-link:hover{color:var(--ink)}.ai-brief{color:#e8fbfb;background:linear-gradient(102deg,#102b3d 0%,#112331 54%,#172942 100%);border:1px solid #294659;border-radius:8px;align-items:center;gap:17px;min-height:62px;margin-bottom:20px;padding:11px 14px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 23px #0e202f1f}.ai-brief:after{content:"";pointer-events:none;border:1px solid #59d9cc26;border-radius:50%;width:220px;height:120px;position:absolute;top:-40px;right:17%;box-shadow:0 0 0 14px #59d9cc09,0 0 0 28px #59d9cc05}.ai-signal{z-index:1;color:#82f1df;letter-spacing:.03em;align-items:center;gap:6px;min-width:104px;font-size:10px;font-weight:750;display:flex;position:relative}.ai-signal svg{color:#5ee5d3}.ai-signal i{color:#67d8c9;letter-spacing:.08em;background:#12a99b1f;border:1px solid #64e9d759;border-radius:3px;margin-left:2px;padding:2px 4px;font-size:7px;font-style:normal}.ai-recommendation{z-index:1;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex;position:relative}.ai-recommendation strong{color:#f1ffff;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.ai-recommendation span{color:#91b4bc;font-size:9px}.ai-confidence{z-index:1;border-left:1px solid #a2dce12e;align-items:baseline;gap:7px;padding:0 16px;display:flex;position:relative}.ai-confidence span{color:#86a8b4;font-size:9px}.ai-confidence strong{color:#68e3d2;font-family:Consolas,monospace;font-size:15px}.ai-brief>button{z-index:1;color:#8aeee0;white-space:nowrap;background:0 0;border:0;align-items:center;gap:3px;padding:6px 0 6px 12px;font-size:10px;font-weight:700;display:inline-flex;position:relative}.ai-brief>button:hover{color:#fff}.ai-context{z-index:1;border-left:1px solid #a2dce12e;align-items:center;gap:7px;padding:0 12px;display:flex;position:relative}.ai-context span{color:#c8f6f2;align-items:center;gap:3px;font-family:Consolas,monospace;font-size:10px;display:inline-flex}.ai-context span svg{color:#5ed7c8}.ai-context small{color:#7ea2ae;margin-left:1px;font-family:inherit;font-size:8px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.kpi-card{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:16px 17px 14px;box-shadow:0 5px 16px #0f223206}.kpi-top,.kpi-foot{justify-content:space-between;align-items:center;gap:7px;display:flex}.kpi-top>span:first-child{color:#6f808e;font-size:11px}.kpi-icon{border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.kpi-icon.teal{color:#087f76;background:#e3f7f4}.kpi-icon.blue{color:#2b6eae;background:#e9f2fc}.kpi-icon.amber{color:#a76a18;background:#fdf3df}.kpi-icon.rose{color:#b44753;background:#fcebed}.kpi-value{color:var(--ink);letter-spacing:0;font-variant-numeric:tabular-nums;margin:12px 0 10px;font-size:25px;font-weight:740}.kpi-value small{color:#798894;letter-spacing:0;margin-left:3px;font-size:11px;font-weight:550}.kpi-foot{color:#8b99a4;font-size:10px}.kpi-foot span:first-child{align-items:center;gap:2px;font-weight:700;display:inline-flex}.trend-up{color:var(--green)}.trend-down{color:var(--rose)}.overview-grid,.lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(310px,.9fr);gap:18px;margin-bottom:18px;display:grid}.lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr)}.panel{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;box-shadow:0 5px 16px #0f223206}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 19px 0;display:flex}.panel-head h2{color:var(--ink);letter-spacing:0;font-size:14px;font-weight:720}.panel-head p{color:#8b99a4;margin-top:5px;font-size:10px}.legend{color:#7d8c97;white-space:nowrap;align-items:center;gap:12px;font-size:10px;display:flex}.legend span{align-items:center;gap:4px;display:inline-flex}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.teal{background:var(--teal)}.legend-dot.blue{background:var(--blue)}.legend-dot.amber{background:var(--amber)}.legend-dot.red{background:var(--rose)}.select-compact{border:1px solid var(--line);color:#687b89;background:#fff;border-radius:5px;align-items:center;gap:5px;min-height:27px;padding:0 8px;font-size:10px;display:inline-flex}.chart-area{border-bottom:1px solid var(--line);height:215px;margin:22px 20px 4px;display:flex}.y-labels{color:#a0adb6;flex-direction:column;flex:none;justify-content:space-between;width:25px;padding:1px 0 19px;font-size:9px;display:flex}.bars{background:repeating-linear-gradient(#0000 0 calc(25% - 1px),#eef2f4 calc(25% - 1px) 25%);flex:1;justify-content:space-between;align-items:stretch;gap:4px;padding:0 2px;display:flex;position:relative}.bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:5px;display:flex}.bar-stack{flex-direction:column;justify-content:flex-end;gap:1px;width:100%;max-width:14px;height:87%;display:flex}.bar{border-radius:3px 3px 1px 1px;width:100%;min-height:2px;display:block}.bar.completed{background:var(--teal)}.bar.moving{background:#77b3eb}.bar-wrap>span{color:#9aa7b0;padding-top:9px;font-size:8px}.chart-summary{color:#8a98a3;align-items:center;gap:22px;padding:10px 20px 17px;font-size:10px;display:flex}.chart-summary strong{color:var(--ink);margin-right:3px;font-size:12px}.gate-panel{padding-bottom:17px}.gate-score{align-items:center;gap:20px;padding:23px 20px 19px;display:flex}.donut{background:conic-gradient(var(--teal) 0 var(--score), #e9f0f1 var(--score) 100%);border-radius:50%;place-items:center;width:116px;height:116px;display:grid}.donut:before{content:"";background:#fff;border-radius:50%;width:89px;height:89px;position:absolute}.donut>div{z-index:1;flex-direction:column;align-items:center;display:flex}.donut strong{color:var(--ink);letter-spacing:0;font-size:27px}.donut small{color:#82929c;margin-top:1px;font-size:9px}.gate-score-copy{color:#7d8c98;flex-direction:column;flex:1;gap:8px;font-size:10px;display:flex}.gate-score-copy>strong{color:var(--ink);margin-bottom:4px;font-size:12px}.gate-score-copy span{align-items:center;gap:6px;display:flex}.inline-dot{border-radius:50%;width:6px;height:6px}.inline-dot.green{background:var(--green)}.inline-dot.amber{background:var(--amber)}.inline-dot.red{background:var(--rose)}.gate-notice{color:#98681f;background:#fffaf0;border:1px solid #fae3b9;border-radius:6px;align-items:center;gap:8px;margin:0 20px;padding:10px 11px;font-size:10px;display:flex}.gate-notice svg{flex:none}.gate-notice span{flex:1}.gate-notice strong{color:#8e5911}.gate-notice button{color:#99621d;background:0 0;border:0;font-size:10px;font-weight:700}.table-panel,.fleet-panel{overflow:hidden}.table-wrap{width:100%;overflow-x:auto}.table-panel table{min-width:630px}.table-wrap table{border-collapse:collapse;text-align:left;width:100%}.table-wrap th{border-bottom:1px solid var(--line);color:#9aa7b0;white-space:nowrap;padding:13px 19px 10px;font-size:9px;font-weight:700}.table-wrap td{color:#516471;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #edf1f3;padding:12px 19px;font-size:11px}.table-wrap tbody tr{transition:background .15s}.table-wrap tbody tr:hover{cursor:pointer;background:#f8fbfb}.table-wrap tr:last-child td{border-bottom:0}.table-wrap td strong{color:var(--text);font-size:11px;font-weight:680;display:block}.table-wrap td small{color:#94a1ab;align-items:center;gap:3px;margin-top:4px;font-size:9px;display:flex}.mono{letter-spacing:0;font-family:SFMono-Regular,Consolas,monospace}.text-danger{color:var(--rose)!important}.text-warning{color:#b3761b!important}.text-success{color:var(--green)!important}.status-badge{white-space:nowrap;border-radius:4px;align-items:center;gap:5px;min-height:21px;padding:0 7px;font-size:10px;font-weight:650;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.fleet-list{padding:11px 11px 12px}.fleet-row{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:10px 8px;display:flex}.fleet-row:hover{background:#f5faf9}.vehicle-avatar{border-radius:7px;flex:none;place-items:center;width:31px;height:31px;display:grid}.fleet-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.fleet-main strong{color:var(--text);text-overflow:ellipsis;font-size:11px;overflow:hidden}.fleet-main small{color:#8d9aa4;text-overflow:ellipsis;font-size:9px;overflow:hidden}.fleet-metric{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.battery{color:#728591;align-items:center;gap:3px;font-size:9px;display:inline-flex}.kpi-strip,.risk-kpis,.quality-metrics{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:18px;display:grid;overflow:hidden}.kpi-strip>div,.risk-kpis>div,.quality-metrics>div{background:#fff;min-width:0;padding:16px 19px}.kpi-strip span,.risk-kpis span{color:#7a8b97;font-size:10px;display:block}.kpi-strip strong,.risk-kpis strong{color:var(--ink);letter-spacing:0;margin:7px 0 3px;font-size:23px;display:block}.kpi-strip small,.risk-kpis small{color:#9aa6ae;font-size:9px;display:block}.risk-kpis strong em{color:#70808d;letter-spacing:0;margin-left:2px;font-size:12px;font-style:normal}.risk-kpis small.trend-up{color:var(--green);align-items:center;gap:2px;display:flex}.list-panel{overflow:hidden}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:15px 19px;display:flex}.tabs{align-self:stretch;align-items:center;gap:20px;display:flex}.tabs button{color:#7c8b96;background:0 0;border:0;align-items:center;gap:5px;height:100%;padding:0;font-size:11px;display:inline-flex;position:relative}.tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-16px;left:0;right:0}.tabs button.active{color:var(--ink);font-weight:750}.tabs button.active:after{background:var(--teal)}.tabs em{color:#8897a2;background:#f0f3f5;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-style:normal;display:inline-grid}.tabs button.active em{color:#087b72;background:#e3f7f4}.toolbar-controls{align-items:center;gap:8px;display:flex}.toolbar-controls select{border:1px solid var(--line-strong);color:#607381;background:#fff;border-radius:5px;height:33px;padding:0 27px 0 9px;font-size:11px}.search-field{border:1px solid var(--line-strong);color:#8a9aa5;background:#fff;border-radius:5px;align-items:center;gap:7px;width:205px;height:33px;padding:0 9px;display:flex}.search-field:focus-within{border-color:#7cbdb6;box-shadow:0 0 0 3px #12a99b1a}.search-field input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:11px}.search-field.compact{width:160px}.toolbar-title small{color:#9aa6ad;margin-left:7px;font-size:10px;font-weight:500}.toolbar-subtitle{color:#98a5ad;margin-top:4px;font-size:10px}.progress-cell{align-items:center;gap:7px;min-width:102px;display:flex}.progress-track{background:#e9eff2;border-radius:3px;flex:1;height:5px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--teal);height:100%;display:block}.progress-cell span{color:#83939e;min-width:25px;font-size:9px}.amount{font-weight:700;color:var(--ink)!important}.empty-state{text-align:center!important;padding:50px!important}.empty-state>*{margin:6px auto!important;display:block!important}.empty-state svg{color:#a1b3bc}.empty-state strong{color:var(--text)!important}.empty-state span{color:#96a4ad!important;font-size:10px!important}.table-footer{border-top:1px solid var(--line);color:#94a1aa;justify-content:space-between;align-items:center;padding:12px 19px;font-size:10px;display:flex}.pagination{gap:4px;display:flex}.pagination button{border:1px solid var(--line);color:#758590;background:#fff;border-radius:4px;min-width:27px;height:26px;padding:0 6px;font-size:10px}.pagination button.current{color:#fff;border-color:var(--teal);background:var(--teal)}.pagination button:disabled{color:#bdc7cd}.vehicle-summary{background:#f5fcfb;border:1px solid #d8ebe8;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:15px 18px;display:flex}.vehicle-summary-main{align-items:center;gap:12px;display:flex}.summary-icon{border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.summary-icon.green{color:#118a71;background:#ddf6ef}.vehicle-summary-main>div:not(.summary-icon):not(.summary-divider){flex-direction:column;gap:2px;display:flex}.vehicle-summary-main strong{color:var(--ink);letter-spacing:0;font-size:20px}.summary-divider{background:#d3e6e3;width:1px;height:28px;margin:0 9px}.summary-note{color:#997020;background:#fffaf0;border:1px solid #fae4b9;border-radius:5px;align-items:center;gap:7px;padding:8px 10px;font-size:10px;display:flex}.summary-note button{color:#9a661e;background:0 0;border:0;margin-left:5px;padding:0;font-size:10px;font-weight:700}.battery-cell{align-items:center;gap:7px;display:flex}.battery-track{background:#e7edef;border-radius:3px;width:55px;height:5px;overflow:hidden}.battery-track i{border-radius:inherit;background:var(--green);height:100%;display:block}.battery-track i.low{background:var(--amber)}.compliance-head{align-items:stretch;gap:18px;margin-bottom:18px;display:flex}.compliance-score{border:1px solid var(--line);background:#fff;border-radius:8px;flex:1;align-items:center;gap:20px;min-width:0;padding:16px 20px;display:flex}.score-ring{background:conic-gradient(var(--teal) 0 92%, #e8eff1 92% 100%);border-radius:50%;flex:none;justify-content:center;align-items:center;width:88px;height:88px;display:flex;position:relative}.score-ring:after{content:"";background:#fff;border-radius:50%;width:68px;height:68px;position:absolute}.score-ring strong,.score-ring span{z-index:1;position:absolute}.score-ring strong{color:var(--ink);font-size:22px;top:24px}.score-ring span{color:#8a9aa2;font-size:8px;top:51px}.compliance-score p{color:#83939e;margin-top:6px;font-size:10px}.mini-stats{color:#85939e;gap:12px;margin-top:13px;font-size:9px;display:flex}.mini-stats span{align-items:center;gap:4px;display:flex}.green-dot,.amber-dot,.red-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.green-dot{background:var(--green)}.amber-dot{background:var(--amber)}.red-dot{background:var(--rose)}.compliance-callout{color:#3674b2;background:#f5f9fe;border:1px solid #d9e6f4;border-radius:8px;align-items:center;gap:11px;width:320px;padding:16px;display:flex}.compliance-callout>svg{flex:none}.compliance-callout>div{flex-direction:column;flex:1;gap:5px;display:flex}.compliance-callout span{color:#7891a7;font-size:9px;line-height:1.4}.compliance-callout button{color:#5483b1;background:0 0;border:0;place-items:center;display:grid}.compliance-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:18px;margin-bottom:18px;display:grid}.checks-panel{overflow:hidden}.checks-list{padding:9px 19px 12px}.check-row{border-bottom:1px solid #edf1f3;align-items:center;gap:10px;min-height:49px;display:flex}.check-row:last-child{border-bottom:0}.check-icon{border-radius:6px;flex:none;place-items:center;width:28px;height:28px;display:grid}.check-icon.success{color:#178364;background:#e8f7f1}.check-icon.warning{color:#9b661b;background:#fff4de}.check-icon.danger{color:#b54854;background:#feebed}.check-icon.info{color:#326fae;background:#eaf3fc}.check-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.check-copy small{color:#91a0a9;text-overflow:ellipsis;font-size:9px;overflow:hidden}.blocked-panel{overflow:hidden}.count-pill{border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:750;display:grid}.count-pill.danger{color:#b74753;background:#feebed}.blocked-list{padding:10px 12px 8px}.blocked-list button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:10px 7px;display:flex}.blocked-list button:hover{background:#fff7f7}.blocked-list button>span:nth-child(2){flex-direction:column;flex:1;gap:3px;display:flex}.blocked-list strong{font-size:11px}.blocked-list small{color:#8c9aa5;font-size:9px}.blocked-list>button>svg{color:#aab6be}.blocked-icon{color:#b54854;background:#feebed;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.blocked-icon.amber{color:#a36b1c;background:#fff4de}.blocked-icon.red{color:#b54854;background:#feebed}.wifi-off{border:2px solid;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;font-weight:800;display:grid}.full-width-button{border:1px solid var(--line);color:#54717e;background:#fff;border-radius:5px;justify-content:center;align-items:center;gap:4px;width:calc(100% - 24px);height:32px;margin:0 12px 12px;font-size:10px;display:flex}.full-width-button:hover{color:var(--teal-dark);border-color:#98ccc5}.alert-list{padding:5px 8px 11px}.alert-row{width:100%;min-height:66px;color:var(--text);text-align:left;background:0 0;border:0;border-bottom:1px solid #edf1f3;grid-template-columns:35px minmax(160px,1.4fr) minmax(150px,1fr) 70px 72px 18px;align-items:center;gap:10px;padding:9px 11px;display:grid}.alert-row:last-child{border-bottom:0}.alert-row:hover{background:#f8fbfb;border-radius:6px}.alert-severity{border-radius:4px;place-items:center;width:29px;height:22px;font-size:10px;font-weight:750;display:inline-grid}.alert-severity.danger{color:#b74753;background:#feebed}.alert-severity.warning{color:#9d671b;background:#fff4dc}.alert-severity.info{color:#326da9;background:#eaf3fc}.alert-severity.success{color:#177e5f;background:#e8f7f1}.alert-type,.alert-vehicle{flex-direction:column;gap:4px;min-width:0;display:flex}.alert-type strong{text-overflow:ellipsis;font-size:11px;overflow:hidden}.alert-vehicle{color:#556b79;font-size:10px}.alert-vehicle svg{color:#8498a4;margin-right:4px}.alert-time{color:#71818e;font-variant-numeric:tabular-nums;font-size:10px}.quality-score{background:linear-gradient(105deg,#f4fbfb 0%,#f8fbfe 100%);border:1px solid #d9e7ee;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:17px 20px;display:flex}.quality-score-main{align-items:center;gap:20px;display:flex}.quality-number{color:var(--teal-dark);letter-spacing:0;font-size:30px;font-weight:780}.quality-number span{color:#8ba0aa;letter-spacing:0;margin-left:3px;font-size:12px;font-weight:550}.quality-score h2{color:var(--ink);font-size:14px}.quality-score p{color:#84959f;margin-top:5px;font-size:10px}.quality-progress{background:#e1eef0;border-radius:3px;width:260px;height:5px;margin-top:12px;overflow:hidden}.quality-progress i{border-radius:inherit;background:var(--teal);height:100%;display:block}.quality-update{color:#83939d;align-items:center;gap:5px;font-size:10px;display:flex}.quality-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.quality-metrics>div{flex-direction:column;gap:7px;display:flex}.quality-metrics span{color:#71838e;align-items:center;gap:6px;font-size:10px;display:flex}.quality-metrics strong{color:var(--ink);letter-spacing:0;font-size:20px}.quality-metrics strong em{color:#84949d;letter-spacing:0;margin-left:2px;font-size:10px;font-style:normal}.quality-metrics small{font-size:9px}.warning-text{color:#ad741e}.success-text{color:var(--green)}.quality-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:18px;margin-bottom:18px;display:grid}.quality-chart-panel,.source-panel{min-height:260px}.quality-chart{border-bottom:1px solid var(--line);background:repeating-linear-gradient(#0000 0 calc(33.3% - 1px),#eef2f4 calc(33.3% - 1px) 33.3%);height:160px;margin:18px 20px 0}.quality-line{justify-content:space-around;align-items:flex-end;gap:13px;height:135px;padding:0 12px;display:flex}.quality-line i{background:linear-gradient(#78d9cb,#0da194);border-radius:5px 5px 0 0;width:11px;display:block;position:relative}.quality-line i:after{content:"";background:#0da194;border:2px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;bottom:100%;right:50%;transform:translate(50%,50%);box-shadow:0 0 0 1px #0da194}.chart-xlabels{color:#9aa7af;justify-content:space-between;padding:8px 2px 0;font-size:8px;display:flex}.quality-legend{color:#84949e;gap:16px;padding:13px 20px;font-size:9px;display:flex}.quality-legend span{align-items:center;gap:5px;display:flex}.source-list{padding:8px 19px 12px}.source-row{border-bottom:1px solid #edf1f3;align-items:center;gap:8px;min-height:43px;display:flex}.source-row:last-child{border-bottom:0}.source-status{place-items:center;width:17px;height:17px;display:grid}.source-status i{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #18a56f1f}.source-status.warning i{background:var(--amber);box-shadow:0 0 0 4px #d28a241f}.source-copy{flex-direction:column;flex:1;gap:3px;display:flex}.source-copy small{color:#97a5ae;font-size:8px}.source-volume{color:#83939d;font-family:Consolas,monospace;font-size:8px}.quality-table td:first-child{min-width:170px}.quality-table td:nth-child(2){color:#738490;font-size:10px}.quality-table td:nth-child(4),.quality-table td:nth-child(5){font-family:Consolas,monospace;font-size:10px}.drawer-layer{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0817254a;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{width:min(var(--drawer-width), calc(100vw - 24px));background:#fff;border-left:1px solid #dce5e9;height:100%;animation:.22s ease-out drawer-in;overflow:auto;box-shadow:-14px 0 38px #0a1d2b26}@keyframes drawer-in{0%{opacity:.4;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.drawer-head{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 22px 16px;display:flex;position:sticky;top:0}.drawer-head .eyebrow{margin-bottom:5px}.drawer-head h2{color:var(--ink);letter-spacing:0;font-size:20px}.drawer-body{padding:19px 22px 28px}.drawer-status-head,.vehicle-drawer-hero,.alert-drawer-title,.quality-drawer-title{align-items:flex-start;gap:10px;display:flex}.drawer-status-head>div,.vehicle-drawer-hero>div,.alert-drawer-title>div,.quality-drawer-title>div{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.drawer-status-head strong{color:var(--ink);font-size:12px}.drawer-status-head span:not(.status-badge){color:#84939e;font-size:10px}.drawer-section{padding-top:21px}.drawer-section+.drawer-section{border-top:1px solid var(--line);margin-top:21px}.drawer-section h3{color:var(--ink);margin-bottom:13px;font-size:12px}.big-progress{align-items:center;gap:10px;display:flex}.big-progress .progress-track{height:7px}.big-progress strong{color:var(--teal-dark);font-size:12px}.route-timeline{flex-direction:column;margin-top:15px;display:flex}.timeline-item{gap:11px;min-height:50px;display:flex;position:relative}.timeline-item:not(:last-child):before{content:"";background:#dfe7eb;width:1px;position:absolute;top:14px;bottom:-3px;left:5px}.timeline-item i{z-index:1;background:#fff;border:2px solid #cdd8de;border-radius:50%;flex:none;width:11px;height:11px;margin-top:2px}.timeline-item.done i{border-color:var(--teal);background:var(--teal);box-shadow:0 0 0 3px #e0f5f1}.timeline-item.current i{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #e8f1fc}.timeline-item span{flex-direction:column;gap:4px;display:flex}.timeline-item strong{color:var(--text);font-size:10px}.timeline-item small{color:#96a3ac;font-size:9px}.detail-row{color:#8b9aa4;justify-content:space-between;align-items:baseline;gap:12px;min-height:30px;font-size:10px;display:flex}.detail-row strong{color:var(--text);text-align:right;font-size:10px;font-weight:650}.linked-object{color:#5e7581;border-bottom:1px solid #edf1f3;align-items:center;gap:9px;padding:10px 0;display:flex}.linked-object:last-child{border-bottom:0}.linked-object>span{flex-direction:column;flex:1;gap:3px;display:flex}.linked-object strong{color:var(--text);font-size:10px}.linked-object small{color:#93a1aa;font-size:9px}.success-icon{color:var(--green)}.drawer-actions{border-top:1px solid var(--line);gap:8px;margin-top:25px;padding-top:17px;display:flex}.drawer-actions .button{flex:1}.vehicle-drawer-hero{border-bottom:1px solid var(--line);align-items:center;padding-bottom:18px}.vehicle-avatar.large{border-radius:9px;width:46px;height:46px}.vehicle-drawer-hero strong{color:var(--ink);font-size:14px}.vehicle-drawer-hero>div span{color:#8b9ba4;font-size:9px}.vehicle-live-grid{border:1px solid var(--line);background:var(--line);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:17px;display:grid;overflow:hidden}.vehicle-live-grid>div{background:#f9fbfc;flex-direction:column;gap:5px;min-height:79px;padding:11px;display:flex}.vehicle-live-grid span{color:#8797a1;font-size:9px}.vehicle-live-grid strong{color:var(--ink);letter-spacing:0;font-size:17px}.vehicle-live-grid strong small{color:#8696a1;letter-spacing:0;font-size:9px}.vehicle-live-grid small{color:#a0acb3;font-size:8px}.task-card,.location-card{border:1px solid var(--line);background:#fafcfc;border-radius:6px;align-items:center;gap:9px;padding:12px;display:flex}.task-card>div{flex-direction:column;flex:1;gap:5px;display:flex}.task-card strong{color:var(--ink);font-size:10px}.task-card span{color:#8999a3;font-size:9px}.location-card{color:var(--teal-dark);flex-wrap:wrap}.location-card span{color:var(--text);flex:1;font-size:10px}.location-card small{color:#97a4ac;width:100%;padding-left:26px;font-size:9px}.drawer-empty{color:#80939d;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:50px 20px;display:flex}.drawer-empty svg{color:var(--teal)}.drawer-empty strong{color:var(--text);font-size:13px}.drawer-empty p{color:#8e9da6;max-width:280px;font-size:10px;line-height:1.7}.drawer-empty.compact{border:1px dashed var(--line-strong);border-radius:6px;flex-direction:row;padding:15px;font-size:10px}.event-mini{border-bottom:1px solid #edf1f3;gap:10px;padding:9px 0;display:flex}.event-mini:last-child{border-bottom:0}.event-time{color:#8596a0;width:37px;font-family:Consolas,monospace;font-size:9px}.event-mini>span:last-child{flex-direction:column;flex:1;gap:3px;display:flex}.event-mini strong{color:var(--text);font-size:10px}.event-mini small{color:#95a2ab;font-size:9px}.alert-drawer-title,.quality-drawer-title{border-bottom:1px solid var(--line);align-items:center;padding-bottom:17px}.alert-drawer-title h3,.quality-drawer-title h3{color:var(--ink);font-size:15px}.alert-drawer-title p,.quality-drawer-title p{color:#8d9ca6;font-size:9px}.description-box{color:#8e672b;background:#fffbf4;border:1px solid #f4e3c5;border-radius:6px;gap:8px;margin-bottom:13px;padding:11px;font-size:10px;line-height:1.6;display:flex}.description-box svg{flex:none;margin-top:1px}.metric-compare{border:1px solid var(--line);background:#fafcfc;border-radius:7px;grid-template-columns:1fr 25px 1fr;align-items:center;gap:9px;padding:15px;display:grid}.metric-compare>div:not(.compare-arrow){flex-direction:column;gap:5px;display:flex}.metric-compare span{color:#8998a1;font-size:9px}.metric-compare strong{color:var(--ink);font-family:Consolas,monospace;font-size:15px}.compare-arrow{color:var(--amber);place-items:center;display:grid}.suggestion{color:#3a7773;background:#f2fbfa;border:1px solid #cdebe6;border-radius:6px;gap:8px;padding:11px;font-size:10px;line-height:1.6;display:flex}.suggestion svg{color:var(--teal);flex:none}.quality-issue-icon{border-radius:8px;flex:none;place-items:center;width:38px;height:38px;display:grid}.quality-issue-icon.danger{color:#b74753;background:#feebed}.quality-issue-icon.warning{color:#9d671b;background:#fff4dc}.quality-issue-icon.info{color:#326da9;background:#eaf3fc}.toast{z-index:80;color:#1d6c64;box-shadow:var(--shadow);background:#f0fcfa;border:1px solid #bfe5de;border-radius:6px;align-items:center;gap:8px;padding:11px 15px;font-size:11px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:24px;right:26px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sidebar-scrim{display:none}@media (width<=1120px){.content{padding-left:24px;padding-right:24px}.topbar{padding:0 24px}.overview-grid,.lower-grid{grid-template-columns:minmax(0,1.3fr) minmax(290px,.8fr)}.alert-row{grid-template-columns:35px minmax(145px,1.35fr) minmax(125px,1fr) 55px 70px 18px}.quality-table th:nth-child(2),.quality-table td:nth-child(2),.quality-table th:nth-child(5),.quality-table td:nth-child(5){display:none}}@media (width<=900px){.sidebar{transition:transform .22s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-close{display:block}.sidebar-scrim{z-index:25;background:#07142061;border:0;display:block;position:fixed;inset:0}.main-shell{margin-left:0}.topbar{padding:0 18px}.mobile-menu{margin-right:5px;display:inline-grid}.topbar-user{display:inline}.sync-status{display:none}.content{padding:25px 18px 44px}.overview-grid,.lower-grid,.compliance-grid,.quality-grid{grid-template-columns:1fr}.kpi-grid,.kpi-strip,.risk-kpis,.quality-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-score-main{min-width:0}.quality-score p{max-width:390px}.quality-progress{width:min(260px,100%)}.page-title-row{flex-direction:column;align-items:flex-start}.page-actions{width:100%}.toolbar{flex-direction:column;align-items:flex-start;padding:14px 16px}.toolbar-controls{width:100%}.toolbar-controls .search-field{flex:1;width:auto}.tabs{gap:18px;width:100%;min-height:31px;overflow-x:auto}.tabs button:after{bottom:-15px}.alert-row{grid-template-columns:35px minmax(140px,1.4fr) minmax(120px,1fr) 55px 70px 18px}.compliance-head{flex-direction:column;align-items:stretch}.compliance-callout{width:100%}.vehicle-summary{flex-direction:column;align-items:flex-start}.summary-note{width:100%}.table-footer{flex-direction:column;align-items:flex-start;gap:10px}}@media (width<=560px){h1{font-size:24px}.content{padding:22px 13px 40px}.topbar{height:58px;padding:0 13px}.breadcrumbs span{display:none}.topbar-right{gap:9px}.topbar-right .icon-button{display:none}.topbar-user{font-size:11px}.page-title-row{gap:14px;margin-bottom:18px}.page-title-row p{display:none}.page-actions .button{flex:1}.ai-brief{flex-wrap:wrap;align-items:flex-start;gap:9px 12px;padding:11px 12px}.ai-signal{min-width:auto}.ai-context{border-left:0;flex-basis:100%;order:2;justify-content:space-between;padding:3px 0 0}.ai-recommendation{flex-basis:100%;order:4}.ai-recommendation strong{white-space:normal;line-height:1.35}.ai-confidence{border-left:0;order:2;margin-left:auto;padding:0}.ai-brief>button{order:2;padding:0}.kpi-grid{gap:8px;margin-bottom:12px}.kpi-card{padding:12px}.kpi-value{margin:10px 0 8px;font-size:21px}.kpi-foot{flex-direction:column;align-items:flex-start;gap:3px}.overview-grid,.lower-grid{gap:12px;margin-bottom:12px}.panel-head{padding:15px 13px 0}.chart-area{height:174px;margin:18px 13px 4px}.chart-summary{flex-wrap:wrap;gap:7px 14px;padding:9px 13px 14px}.legend{gap:7px}.legend>span{display:none}.gate-score{gap:14px;padding:18px 13px 15px}.donut{width:102px;height:102px}.donut:before{width:78px;height:78px}.gate-score-copy{gap:6px}.gate-notice{margin:0 13px}.table-panel table{min-width:600px}.fleet-list{padding:8px 6px 10px}.kpi-strip,.risk-kpis,.quality-metrics{gap:1px;margin-bottom:12px}.kpi-strip>div,.risk-kpis>div,.quality-metrics>div{padding:12px}.kpi-strip strong,.risk-kpis strong{font-size:20px}.risk-kpis small{line-height:1.35}.toolbar-controls{flex-wrap:wrap}.toolbar-controls .search-field{flex-basis:100%;order:0}.toolbar-controls select{flex:1}.orders-table{min-width:840px}.orders-table th:nth-child(3),.orders-table td:nth-child(3),.orders-table th:nth-child(7),.orders-table td:nth-child(7){display:none}.vehicle-table{min-width:800px}.vehicle-table th:nth-child(2),.vehicle-table td:nth-child(2),.vehicle-table th:nth-child(5),.vehicle-table td:nth-child(5){display:none}.vehicle-summary-main{justify-content:space-between;gap:8px;width:100%}.summary-divider{margin:0 2px}.compliance-score{gap:13px;padding:14px}.score-ring{width:76px;height:76px}.score-ring:after{width:58px;height:58px}.score-ring strong{font-size:19px;top:20px}.score-ring span{font-size:7px;top:44px}.compliance-score p{line-height:1.45}.mini-stats{flex-wrap:wrap;gap:6px 10px;margin-top:8px}.checks-list{padding-left:13px;padding-right:13px}.check-row{gap:8px}.check-copy small{max-width:150px}.gate-table-panel table{min-width:620px}.alert-row{grid-template-columns:30px minmax(140px,1.2fr) 85px 50px 18px;gap:7px;padding:8px 5px}.alert-row .status-badge{display:none}.alert-row .alert-vehicle{overflow:hidden}.alert-row .alert-vehicle small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quality-score{flex-direction:column;align-items:flex-start;padding:14px}.quality-score-main{align-items:flex-start;gap:13px}.quality-number{font-size:25px}.quality-score h2{font-size:13px}.quality-score p{line-height:1.45}.quality-update{align-self:flex-end}.quality-metrics strong{font-size:18px}.quality-grid{gap:12px}.quality-chart-panel,.source-panel{min-height:auto}.quality-line{gap:9px;padding:0 4px}.quality-legend{flex-wrap:wrap;gap:8px 12px;padding:11px 13px}.source-list{padding-left:13px;padding-right:13px}.source-volume{display:none}.quality-table{min-width:720px}.quality-table th:nth-child(2),.quality-table td:nth-child(2),.quality-table th:nth-child(5),.quality-table td:nth-child(5),.quality-table th:nth-child(6),.quality-table td:nth-child(6){display:none}.drawer{width:calc(100vw - 12px)}.drawer-head{padding:18px 16px 14px}.drawer-head h2{font-size:18px}.drawer-body{padding:16px 16px 24px}.toast{justify-content:center;bottom:13px;left:13px;right:13px}.pagination button:nth-child(2),.pagination button:nth-child(4){display:none}}:root{--ink:#ecfbff;--ink-2:#c6e8ef;--ink-3:#8ab3c1;--text:#c8e0e6;--muted:#7693a0;--soft:#06121d;--line:#70bdcf2b;--line-strong:#77dbe159;--teal:#48e1cf;--teal-dark:#4fdccf;--blue:#6e9cff;--amber:#ffbf5b;--rose:#ff7185;--green:#56e3a4;--shadow:0 18px 60px #0000003d}body,.app-shell{color:var(--text);background:#06121d}.sidebar{background:#040f1af5;border-right:1px solid #69cddc29;box-shadow:12px 0 38px #00000047}.brand{color:#f4ffff}.brand-mark{color:#c2fff8;background:linear-gradient(135deg,#23dcc857,#5079ff47);border-color:#66efe2c7;box-shadow:0 0 22px #3fe6d42e}.brand strong{letter-spacing:0}.brand small{letter-spacing:0;color:#73a3b5}.environment{color:#a7d1d7;background:#133e4f6b;border-color:#77d9e238}.nav-label{color:#5f8999;letter-spacing:0}.nav-item{color:#84a6b4}.nav-item:hover{color:#efffff;background:#4bd4d31a}.nav-item.active svg{color:#6df3e3}.nav-item em{color:#9ff9ec;background:#27d5c629}.operator{border-top-color:#75cddb24}.operator-avatar{color:#06202a;background:#7ce8d8}.operator strong{color:#e5fbff}.operator small{color:#7193a1}.main-shell{background:0 0}.topbar{background:#04101bb8;border-bottom-color:#6cc2d32b}.breadcrumbs svg{color:#4f7485}.topbar-right{color:#81a8b4}.icon-button{color:#82a7b3}.icon-button:hover{color:#a8fff5;background:#2da3a629;border-color:#60d8d65c}.notification-button{color:#82a7b3}.notification-button i{border-color:#06121d}.sync-status.fallback{color:#f0b76b}.sync-status.fallback i{background:#f0b76b;box-shadow:0 0 0 3px #f0b76b1f}.sync-status.stale{color:#f0b76b}.sync-status.stale i{background:#f0b76b;box-shadow:0 0 0 3px #f0b76b1f}.sync-status.loading{color:#82a7ff}.sync-status.loading i{background:#82a7ff;box-shadow:0 0 0 3px #82a7ff1f}.content{position:relative}.content:before{z-index:-1;opacity:.24;content:"";pointer-events:none;background-image:linear-gradient(#54bac80f 1px,#0000 1px),linear-gradient(90deg,#54bac80f 1px,#0000 1px);background-size:54px 54px;position:fixed;inset:64px 0 0 248px}.eyebrow{color:#5ce5d5;letter-spacing:0}.page-title-row{align-items:center}.page-title-row h1{color:#e8fcff;letter-spacing:0;font-size:30px}.page-title-row p{color:#7397a4}.button{color:#d9ffff;background:linear-gradient(135deg,#123e4d,#0a2635);border-color:#6fd8dd38;box-shadow:0 0 18px #3bdcd014}.button:hover{color:#fff;background:linear-gradient(135deg,#1b5b67,#103247)}.button.secondary{color:#9fc3ca;background:#0a233099;border-color:#77cdda3b}.button.secondary:hover{color:#dffff9;background:#175b6759;border-color:#5ce4d699}.panel,.kpi-card,.kpi-strip>div,.risk-kpis>div,.quality-metrics>div{border-color:var(--line);box-shadow:var(--shadow);background:#081b28db}.panel-head h2,.kpi-value,.kpi-strip strong,.risk-kpis strong,.quality-score h2{color:#e8fbff}.panel-head p,.toolbar-subtitle,.kpi-top>span:first-child,.kpi-foot,.kpi-strip span,.risk-kpis span,.kpi-strip small,.risk-kpis small{color:#70909e}.table-wrap th{border-bottom-color:var(--line);color:#5e8491}.table-wrap td{color:#9bb9c1;border-bottom-color:#68b1c21f}.table-wrap td strong{color:#d6eef2}.table-wrap td small{color:#6e929f}.table-wrap tbody tr:hover,.fleet-row:hover,.alert-row:hover{background:#36b6b91a}.muted-icon{color:#517b89}.status-badge.success{color:#65edba;background:#2eae802b}.status-badge.warning{color:#ffd078;background:#d696332b}.status-badge.danger{color:#ff8a99;background:#d4445c2e}.status-badge.info{color:#91b9ff;background:#477ada2e}.status-badge.neutral{color:#9bb6bf;background:#638b9729}.vehicle-avatar.success{color:#6df3c0;background:#31b5872b}.vehicle-avatar.warning{color:#ffd47e;background:#da9b2c2b}.vehicle-avatar.danger{color:#ff8a98;background:#d5435b2e}.vehicle-avatar.info{color:#97bcff;background:#4777da30}.vehicle-avatar.neutral{color:#95b2bd;background:#567d8b2e}.fleet-main strong{color:#d8f1f5}.fleet-main small{color:#6d8d9b}.battery{color:#82a9b5}.battery svg{color:var(--amber)}.ai-brief{background:linear-gradient(110deg,#082937f2,#071a2bf0);border-color:#53e1d45c;box-shadow:0 0 38px #2dd7cd1f}.trial-banner{background:#0f414859;border-color:#53e0d140}.trial-banner strong{color:#b4fff4}.trial-banner span{color:#81b2b7}.trial-mark{color:#69f1dd;background:#3dd3c326}.signal-rail{background:#59aec130;border:1px solid #6cced833;grid-template-columns:repeat(4,minmax(0,1fr)) 1.35fr;gap:1px;margin:18px 0;display:grid;box-shadow:0 16px 40px #0000003b}.signal-rail>div{background:#071b28e0;min-height:72px;padding:14px 16px}.signal-rail span{color:#6d98a5;font-size:10px;display:block}.signal-rail strong{color:#e6fcff;margin-top:6px;font-family:Consolas,monospace;font-size:22px;font-weight:650;display:block}.signal-rail strong em{color:#75a7b2;margin-left:2px;font-size:11px;font-style:normal}.signal-rail small{color:#5c8997;font-size:9px}.signal-rail small:before{content:""}.signal-rail-action{cursor:pointer;background:linear-gradient(100deg,#0d404ce6,#0c2d42e6)!important}.signal-rail-action strong{color:#7bf4df;align-items:center;gap:7px;display:flex}.danger-number{color:#ff8292!important}.dispatch-error{color:#ffb1ba;background:#5c1d2c59;border:1px solid #ff778447;gap:9px;margin-top:14px;padding:11px 12px;font-size:10px;line-height:1.55;display:flex}.dispatch-error svg{color:#ff8292;flex:none}.dispatch-error span{flex-direction:column;gap:4px;display:flex}.dispatch-error small{color:#d7909a;font-size:9px}.command-theatre{grid-template-columns:minmax(0,1.65fr) minmax(310px,.65fr);gap:14px;min-height:520px;margin:0 0 18px;display:grid}.scene-panel,.ai-stack{background:#051420e6;border:1px solid #63d6dc3d;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000047}.scene-panel{min-width:0}.scene-panel:after{content:"";pointer-events:none;border:1px solid #4fe4d41f;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-140px;right:-80px;box-shadow:0 0 0 22px #4fe4d409,0 0 0 44px #4fe4d406}.scene-toolbar{z-index:2;border-bottom:1px solid #66c2d224;justify-content:space-between;align-items:center;gap:14px;padding:17px 19px 13px;display:flex;position:relative}.scene-kicker{color:#61dcd4;letter-spacing:0;align-items:center;gap:6px;font-family:Consolas,monospace;font-size:9px;display:inline-flex}.scene-kicker i{background:#53e5d2;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #53e5d221,0 0 18px #53e5d2b3}.scene-title h2{color:#e7fdff;letter-spacing:0;margin-top:6px;font-size:19px}.scene-controls{align-items:center;gap:5px;display:flex}.scene-controls>button:not(.icon-button){color:#6f9aa7;background:0 0;border:1px solid #0000;border-radius:4px;min-height:27px;padding:0 9px;font-size:10px}.scene-live{align-items:center;gap:5px;margin-right:4px;font-family:Consolas,monospace;display:inline-flex;color:#6cf3d5!important}.scene-live span{background:#6cf3d5;border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #6cf3d5}.network-map{background:radial-gradient(circle at 58% 45%,#10748229,#0000 32%),linear-gradient(135deg,#061a28,#06121f 58%,#071d2d);height:420px;position:relative;overflow:hidden}.map-grid{opacity:.42;transform-origin:bottom;background-image:linear-gradient(#4db5c317 1px,#0000 1px),linear-gradient(90deg,#4db5c317 1px,#0000 1px);background-size:38px 38px;position:absolute;inset:0;transform:perspective(440px)rotateX(58deg)scale(1.35)translateY(90px)}.map-scanline{z-index:1;opacity:.08;pointer-events:none;background:linear-gradient(#0000,#65f5df,#0000);height:35%;animation:5s linear infinite map-scan;position:absolute;inset:-40% 0 auto}@keyframes map-scan{0%{transform:translateY(0)}to{transform:translateY(540px)}}.map-basemap,.map-abstract{z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.road{fill:none;stroke:#64a6bc38;stroke-width:2px}.active-route{fill:none;stroke:#50e7d3;stroke-width:2.2px;stroke-linecap:round;stroke-dasharray:4 13;filter:drop-shadow(0 0 5px #4ae5d1cc);animation:3.4s linear infinite route-flow}.active-route.secondary{stroke:#6f99ff;opacity:.8;animation-duration:4.8s}@keyframes route-flow{to{stroke-dashoffset:-140px}}.risk-orbit{fill:none;stroke:#ffbe539e;stroke-width:1px;stroke-dasharray:3 7;transform-origin:777px 136px;animation:8s linear infinite orbit-spin}@keyframes orbit-spin{to{transform:rotate(360deg)}}.risk-dot{fill:#ffbd59;filter:drop-shadow(0 0 8px #ffbd59)}.risk-layer .active-route{stroke:#ff9b74}.risk-layer .vehicle-pulse:not(.warning){opacity:.38}.rule-layer .active-route{stroke:#85aaff}.rule-layer .map-node{color:#9ab4ff}.tencent-map-wrap{z-index:2;background:#d9e9ec;position:absolute;inset:0;overflow:hidden}.tencent-map{width:100%;height:100%;position:absolute;inset:0}.tencent-map-state{z-index:8;color:#173840;background:#f5fcfce6;border:1px solid #124c5642;padding:8px 12px;font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 22px #10333c24}.tencent-map-state.warning{color:#714b13;background:#fff8e7f2;border-color:#c2872b73}.tencent-map-attribution{z-index:8;color:#34545d;text-align:right;background:#f5fcfcdb;border:1px solid #114a553d;max-width:min(260px,100% - 20px);padding:4px 7px;font-family:Consolas,monospace;font-size:10px;line-height:1.3;position:absolute;bottom:30px;right:10px}.scene-hud{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#051622b8;border-left:1px solid #5fded670;flex-direction:column;gap:3px;padding:9px 10px;display:flex;position:absolute}.scene-hud span{color:#5f9ba6;font-family:Consolas,monospace;font-size:8px}.scene-hud strong{color:#dff;font-family:Consolas,monospace;font-size:20px;font-weight:500}.scene-hud strong small{color:#69e8d5;margin-left:2px;font-size:10px}.scene-hud small{color:#638592;font-size:8px}.hud-left{top:21px;left:19px}.hud-right{text-align:right;border-left:0;border-right:1px solid #5fded670;top:21px;right:19px}.map-node{z-index:4;color:#6fdccf;align-items:center;gap:5px;font-family:Consolas,monospace;font-size:8px;display:flex;position:absolute}.map-node span{background:#0d4f4f94;border:1px solid #5be6d394;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;box-shadow:0 0 18px #38e0cb3d}.hub-node{top:71%;left:15%}.hub-node.two{top:49%;left:73%}.hub-node.three{top:71%;left:62%}.vehicle-pulse{z-index:6;color:#b8fff7;background:0 0;border:0;align-items:center;gap:5px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.vehicle-pulse small{color:#8ec3c5;white-space:nowrap;font-family:Consolas,monospace;font-size:8px}.vehicle-core{color:#69f3dd;background:#092b37;border:1px solid #64eddb;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:relative;box-shadow:0 0 18px #4ce5d38c}.vehicle-pulse.warning .vehicle-core{color:#ffc66d;background:#3a2a16;border-color:#ffbc5b;box-shadow:0 0 18px #ffbc5b8c}.pulse-ring{border:1px solid #5eefd9a6;border-radius:50%;width:26px;height:26px;animation:2.4s ease-out infinite pulse;position:absolute;left:12px}.vehicle-pulse.warning .pulse-ring{border-color:#ffbc5bb3}@keyframes pulse{0%{opacity:.85;transform:scale(.8)}70%,to{opacity:0;transform:scale(2.1)}}.map-tag{z-index:5;color:#8bc7c4;background:#051f29c2;border:1px solid #59cfcd4a;align-items:center;gap:5px;padding:5px 7px;font-family:Consolas,monospace;font-size:8px;display:flex;position:absolute}.map-tag span{background:#5be5d5;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #5be5d5}.map-tag span.amber{background:#ffc061;box-shadow:0 0 8px #ffc061}.tag-a{top:55%;left:34%}.tag-b{border-color:#ffbc5b4d;top:22%;right:18%}.scene-corner{z-index:5;border-color:#59dfd5a6;width:28px;height:28px;position:absolute}.corner-tl{border-top:1px solid;border-left:1px solid;top:16px;left:16px}.corner-br{border-bottom:1px solid;border-right:1px solid;bottom:16px;right:16px}.scene-foot{color:#6f98a4;border-top:1px solid #63c4cf24;align-items:center;gap:17px;min-height:40px;padding:0 19px;font-family:Consolas,monospace;font-size:9px;display:flex}.scene-foot span{align-items:center;gap:5px;display:inline-flex}.scene-foot i{background:#56e3c5;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px}.scene-foot i.amber{background:#ffbd5a}.scene-foot i.red{background:#ff7187}.scene-foot-note{color:#527886;margin-left:auto}.ai-stack{background:radial-gradient(circle at 50% 12%,#5676ff29,#0000 28%),#061322f0;border-color:#779fff45;flex-direction:column;padding:17px 15px 13px;display:flex}.ai-stack-head{justify-content:space-between;align-items:flex-start;display:flex}.ai-stack-head h2{color:#ecffff;margin-top:6px;font-size:18px}.ai-core-status{color:#75e6cf;align-items:center;gap:5px;font-family:Consolas,monospace;font-size:8px;display:inline-flex}.ai-core-status i{background:#66edca;border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #66edca}.ai-orbit{place-items:center;width:124px;height:124px;margin:18px auto 14px;display:grid;position:relative}.orbit-line{border:1px solid #6498ff8c;border-radius:50%;position:absolute;inset:12px;transform:rotate(24deg)scaleX(.45)}.orbit-line.two{border-color:#49e1cf59;inset:4px;transform:rotate(-42deg)scaleX(.45)}.orbit-core{z-index:2;color:#7cfff0;background:radial-gradient(circle,#3cd9d040,#133c5340);border:1px solid #6ce8d4;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:relative;box-shadow:0 0 28px #41e3d257,inset 0 0 18px #5d80ff66}.orbit-label{z-index:3;color:#d7ffff;text-align:center;font-family:Consolas,monospace;font-size:7px;line-height:1.25;position:absolute}.decision-card{background:#0c2739b8;border:1px solid #69b5da2e;margin-top:8px;padding:11px 11px 10px}.decision-top{color:#648e9c;justify-content:space-between;align-items:center;font-family:Consolas,monospace;font-size:8px;display:flex}.decision-card strong{color:#e4ffff;margin-top:8px;font-size:11px;display:block}.decision-card small{color:#7ca1ad;margin-top:5px;font-size:9px;display:block}.decision-card button{color:#75e5d7;background:0 0;border:0;align-items:center;gap:4px;margin-top:9px;padding:0;font-size:9px;display:inline-flex}.decision-card button:hover{color:#eaffff}.ai-stack-foot{color:#5f8998;border-top:1px solid #6dbacf29;flex-direction:column;gap:6px;margin-top:auto;padding-top:12px;font-family:Consolas,monospace;font-size:8px;display:flex}.ai-stack-foot span{align-items:center;gap:5px;display:flex}.ai-stack-foot svg{color:#69dbc9}.drawer-layer{background:#00080fb3}.drawer{color:var(--text);background:#081c2a;border-left-color:#69d4da47;box-shadow:-20px 0 70px #00000070}.drawer-head{border-bottom-color:var(--line);background:#071a27eb}.drawer-head h2,.drawer-status-head strong,.drawer-section h3,.vehicle-drawer-hero strong,.alert-drawer-title h3,.quality-drawer-title h3{color:#eaffff}.drawer-status-head span:not(.status-badge),.vehicle-drawer-hero>div span,.drawer-empty,.detail-row,.drawer-empty p{color:#7697a3}.drawer-section+.drawer-section,.drawer-actions,.event-mini{border-color:var(--line)}.detail-row strong,.timeline-item strong,.linked-object strong,.event-mini strong{color:#cfe9ee}.timeline-item:not(:last-child):before{background:#6bacbb40}.timeline-item i{background:#0a2635;border-color:#426777}.timeline-item.done i{border-color:var(--teal);background:var(--teal)}.task-card,.location-card,.metric-compare{border-color:var(--line);background:#0b2736b3}.vehicle-live-grid{border-color:var(--line);background:var(--line)}.vehicle-live-grid>div{background:#091f2de6}.vehicle-live-grid span,.vehicle-live-grid small,.event-time{color:#7194a0}.vehicle-live-grid strong{color:#e7ffff}.linked-object{border-bottom-color:var(--line);color:#7fa8b2}.description-box{color:#ffd782;background:#4c34175c;border-color:#ffbc5f47}.suggestion{color:#8ee6d9;background:#0e46465c;border-color:#45decc47}.toast{color:#a4fff2;background:#08363cf0;border-color:#4ce1d059;box-shadow:0 0 26px #3ee1d333}.quality-score{background:linear-gradient(105deg,#093337b8,#0b253cbf);border-color:#53d5d340}.quality-number{color:#6df0da}.quality-score p,.quality-update,.quality-metrics span,.quality-legend,.source-copy small{color:#7595a1}.quality-progress{background:#508f9b3d}.quality-metrics span svg{color:#64c4c5}.quality-chart{border-bottom-color:var(--line);background:repeating-linear-gradient(#0000 0 calc(33.3% - 1px),#4c94a12e calc(33.3% - 1px) 33.3%)}.source-row{border-bottom-color:var(--line)}.source-copy strong{color:#cce6eb}@media (width<=900px){.content:before{left:0}.command-theatre{grid-template-columns:1fr}.ai-stack{min-height:470px}.scene-foot-note{display:none}}@media (width<=560px){.page-title-row h1{font-size:24px}.command-theatre{gap:10px}.scene-toolbar{flex-direction:column;align-items:flex-start;padding:14px 13px 10px}.scene-controls{width:100%;overflow-x:auto}.network-map{height:330px}.scene-hud{transform-origin:0 0;transform:scale(.88)}.hud-right{transform-origin:100% 0}.scene-foot{gap:10px;padding:0 13px;font-size:8px}.ai-stack{min-height:430px}.signal-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.signal-rail>div{min-height:66px;padding:11px 12px}.signal-rail-action{grid-column:span 2}.signal-rail strong{font-size:19px}.content:before{display:none}}:root{--text:#e9f7f8;--muted:#acc5cc;--soft:#0b1820;--line:#97e0e24d;--line-strong:#9de7e785}body{font-size:14px;line-height:1.5}body,.app-shell{background:#0b1820}.app-shell{background:linear-gradient(128deg,#0b1820 0%,#10252d 58%,#151f26 100%)}.sidebar{background:#09141a;border-right-color:#98dede42;box-shadow:14px 0 44px #00000052}.brand strong{font-size:16px}.brand small{color:#9ab9c1;font-size:12px}.brand-mark{border-radius:6px}.brand>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.environment{color:#d1e6e9;min-height:42px;font-size:13px}.nav-label{color:#8baab3;font-size:12px}.nav-item{color:#b7ced4;min-height:46px;font-size:14px}.nav-item.active{color:#fff;background:#36bdb12e;box-shadow:inset 3px 0 #67ead8}.nav-item em{font-size:11px}.operator strong{font-size:14px}.operator small{color:#9bb5bc;font-size:12px}.topbar{background:#09141ae0;border-bottom-color:#97e0e242;height:68px}.breadcrumbs,.sync-status,.topbar-user{font-size:13px}.breadcrumbs{color:#9ebac1}.breadcrumbs strong{color:#f3ffff}.sync-status{color:#b6d6d9}.sync-status span{color:#8eabb3}.content{max-width:1720px;padding-top:28px}.page-title-row{align-items:center;margin-bottom:22px}.page-title-row h1{color:#f6ffff;font-size:34px;line-height:1.1}.page-title-row p{color:#aac5cb;font-size:14px}.eyebrow{color:#68ead9;margin-bottom:7px;font-size:12px}.button{border-radius:5px;min-height:38px;padding:0 14px;font-size:13px}.status-badge{min-height:26px;padding:0 9px;font-size:12px}.panel{background:#112934;border-color:#97e0e24d;border-radius:6px;box-shadow:0 16px 44px #0000003b,inset 0 1px #ffffff09}.panel-head{padding:18px 18px 0}.panel-head h2{color:#f2ffff;font-size:18px}.panel-head p{color:#a4c0c7;font-size:13px}.text-button,.filter-link{color:#78eadb;font-size:13px}.table-wrap th{color:#a8c4ca;font-size:12px}.table-wrap td{color:#d3e5e8;font-size:14px}.table-wrap td strong{color:#f0fbfc;font-size:14px}.table-wrap td small{color:#9db8bf;font-size:12px}.toolbar-title{color:#f4ffff;font-size:18px}.toolbar-title small,.toolbar-subtitle{color:#9ebac1;font-size:12px}.tabs button,.toolbar-controls select,.search-field input,.table-footer,.pagination button{font-size:13px}.search-field,.toolbar-controls select{color:#dcecee;background:#142f3b;border-color:#97e0e257;min-height:38px}.search-field input{color:#edfafa}.search-field input::placeholder{color:#91aeb5}.command-theatre{grid-template-columns:minmax(0,1.72fr) minmax(340px,.72fr);gap:16px;min-height:590px;margin-bottom:16px}.scene-panel,.ai-stack{background:#102832;border-color:#84e1dc61;border-radius:6px;box-shadow:0 22px 62px #00000052,inset 0 1px #ffffff0b}.scene-panel{border-top:3px solid #52daca}.scene-panel:after{opacity:.8}.scene-toolbar{background:#132f39;border-bottom-color:#8edcda47;min-height:78px;padding:16px 20px}.scene-kicker{color:#7cebdd;font-size:12px}.scene-title h2{color:#f6ffff;font-size:24px}.scene-controls{gap:7px}.scene-controls>button:not(.icon-button){color:#b6cdd2;min-height:34px;padding:0 11px;font-size:13px}.scene-controls>button:not(.icon-button):hover,.scene-controls>button.active{color:#fff;background:#3abbb133;border-color:#63e9d885}.scene-controls .icon-button{width:34px;height:34px}.scene-snapshot{color:#d7ecee;white-space:nowrap;align-items:center;gap:7px;margin-right:5px;font-family:Consolas,monospace;font-size:12px;display:inline-flex}.scene-snapshot>span{background:#66dfcf;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #66dfcf24}.network-map{background:linear-gradient(135deg,#17343d 0%,#102832 56%,#1a2830 100%);height:455px}.map-grid{opacity:.65;background-image:linear-gradient(#6fd0cf24 1px,#0000 1px),linear-gradient(90deg,#6fd0cf24 1px,#0000 1px)}.road{stroke:#aad9de5c;stroke-width:2.4px}.active-route{stroke-width:3px}.scene-hud{background:#0c232bdb;border-color:#6ce6d6b3;gap:4px;padding:11px 12px}.scene-hud span,.scene-hud small{color:#b6d0d5;font-size:12px}.scene-hud strong{color:#fff;font-size:27px}.scene-hud strong small{color:#7ff0df;font-size:12px}.map-node,.map-node small{color:#b1f7ee;font-size:12px}.map-node span{background:#136b67cc;width:31px;height:31px}.vehicle-pulse small{color:#e4f7f8;text-shadow:0 1px 2px #081319;font-size:12px}.vehicle-core{background:#143e47;width:31px;height:31px}.map-tag{color:#c5e3e5;background:#0c262deb;padding:7px 9px;font-size:12px}.map-tag b{color:#fff;font-weight:700}.map-tag{display:none}.scene-empty-note{z-index:5;color:#a4bdc3;font-size:12px;position:absolute;bottom:14px;right:18px}.scene-foot{color:#c2dade;gap:21px;min-height:50px;padding:0 20px;font-size:12px}.scene-foot-note{color:#91b0b8}.ai-stack{background:#142632;border-top:3px solid #f0b353;padding:18px 17px 15px}.ai-stack-head h2{color:#fff;font-size:20px}.ai-orbit{width:114px;height:114px;margin:14px auto 10px}.orbit-core{width:56px;height:56px}.orbit-label{color:#efffff;font-size:11px}.decision-card{background:0 0;border-top:0;border-bottom:1px solid #9adade38;border-left:3px solid #5bd8c9;border-right:0;margin-top:0;padding:14px 3px 14px 13px}.decision-card.critical{background:#9b30411a;border-color:#9adade38 #9adade38 #9adade38 #ff6879}.decision-top{color:#a8c0c6;font-size:12px}.decision-card strong{color:#fff;font-size:15px;line-height:1.45}.decision-card small{color:#b1c7cc;font-size:13px;line-height:1.5}.decision-card button{color:#77ecdc;font-size:12px}.ai-stack-foot{color:#a6c1c7;gap:8px;font-size:12px}.console-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:16px;display:grid}.console-grid>.panel{min-height:285px;overflow:hidden}.console-list,.event-list{padding:10px 12px 14px}.console-row,.event-row{color:#d7e9eb;text-align:left;background:0 0;border:0;border-bottom:1px solid #99dcdd2b;align-items:center;gap:10px;width:100%;min-height:55px;padding:9px 7px;display:grid}.console-row{grid-template-columns:30px minmax(0,1fr) auto 18px}.event-row{grid-template-columns:30px minmax(0,1fr) 18px}.console-row:hover,.event-row:hover{background:#48c1b81a}.console-row>span:nth-child(2),.event-row>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.console-row strong,.event-row strong{color:#f5ffff;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.console-row small,.event-row small{color:#a4bdc3;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.console-index,.event-marker{color:#70ead9;background:#34b7ac1f;border:1px solid #6ee3d361;border-radius:4px;place-items:center;width:28px;height:28px;font-weight:800;display:grid}.console-index.danger{color:#ff8c9a;background:#c8374b21;border-color:#ff6b7d75}.console-panel-actions{align-items:center;gap:10px;display:inline-flex}.boundary-list{background:#9adcde2e;border:1px solid #9adcde36;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:18px;display:grid;overflow:hidden}.boundary-list>div{background:#122d38;flex-direction:column;justify-content:center;gap:6px;min-height:82px;padding:12px;display:flex}.boundary-list span{color:#a2bec4;font-size:12px}.boundary-list strong{color:#fff;font-size:17px}.console-empty{color:#a2bdc3;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:205px;display:flex}.console-empty strong{color:#eaffff;font-size:14px}.console-empty span{font-size:12px}.view-dashboard .main-shell{background:#edf3f4}.view-dashboard .topbar{color:#29414a;background:#f8fbfbf0;border-bottom-color:#ccdadd}.view-dashboard .breadcrumbs{color:#6f858c}.view-dashboard .breadcrumbs strong{color:#163039}.view-dashboard .topbar-right,.view-dashboard .sync-status{color:#49646c}.view-dashboard .sync-status span{color:#70858b}.view-dashboard .icon-button,.view-dashboard .notification-button{color:#526b72}.view-dashboard .notification-button i{border-color:#f8fbfb}.view-dashboard .content{background:#edf3f4;max-width:none;min-height:calc(100vh - 68px);padding:0}.view-dashboard .content:before{display:none}.dashboard-page{color:#1b343c;background:#edf3f4;min-height:calc(100vh - 68px);padding:30px 34px 54px}.dashboard-page .page-title-row h1{color:#122b33}.dashboard-page .page-title-row p{color:#60777e}.dashboard-page .eyebrow{color:#087d73}.dashboard-page .button.secondary{color:#294c55;box-shadow:none;background:#fff;border-color:#b9ced2}.dashboard-page .button.secondary:hover{color:#08766d;background:#f9ffff;border-color:#268f86}.dashboard-page .status-badge.info{color:#245f92;background:#e0edf8}.dashboard-context{color:#536c73;background:#fff;border:1px solid #c9dadd;border-left:4px solid #168d82;flex-wrap:wrap;align-items:center;gap:11px 24px;min-height:48px;margin-bottom:18px;padding:10px 16px;display:flex;box-shadow:0 5px 18px #17353d0d}.dashboard-context span{align-items:center;gap:7px;font-size:13px;display:inline-flex}.dashboard-context svg{color:#168d82}.dashboard-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.dashboard-kpi{background:#fff;border:1px solid #cad9dc;border-top:4px solid #168d82;border-radius:5px;min-height:120px;padding:17px;position:relative;overflow:hidden;box-shadow:0 8px 25px #18343c0f}.dashboard-kpi>span{color:#5a7279;font-size:13px}.dashboard-kpi strong{color:#122b33;margin-top:14px;font-size:32px;line-height:1;display:block}.dashboard-kpi strong small{color:#687f85;margin-left:5px;font-size:13px;font-weight:600}.dashboard-kpi>i{background:#168d82;width:30px;height:4px;position:absolute;bottom:13px;right:14px}.dashboard-kpi.amber{border-top-color:#d89026}.dashboard-kpi.amber>i{background:#d89026}.dashboard-kpi.blue{border-top-color:#3d78be}.dashboard-kpi.blue>i{background:#3d78be}.dashboard-kpi.green{border-top-color:#279466}.dashboard-kpi.green>i{background:#279466}.dashboard-kpi.red{border-top-color:#c74e5c}.dashboard-kpi.red>i{background:#c74e5c}.dashboard-kpi.slate{border-top-color:#607882}.dashboard-kpi.slate>i{background:#607882}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.dashboard-panel{background:#fff;border:1px solid #cadadd;border-radius:5px;min-width:0;min-height:280px;padding:19px;box-shadow:0 8px 25px #18343c0e}.dashboard-panel-head{border-bottom:1px solid #dce6e8;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:15px;display:flex}.dashboard-panel-head h2{color:#18343c;font-size:18px}.dashboard-panel-head span{color:#72868b;margin-top:3px;font-size:12px;display:block}.dashboard-panel-head>svg{color:#168d82}.status-bars{flex-direction:column;gap:18px;padding-top:25px;display:flex}.status-bar-row{color:#4d656c;grid-template-columns:68px minmax(0,1fr) 32px;align-items:center;gap:12px;font-size:13px;display:grid}.status-bar-row>div{background:#e5edef;height:12px;overflow:hidden}.status-bar-row i{background:#168d82;min-width:3px;height:100%;display:block}.status-bar-row i.amber{background:#d89026}.status-bar-row i.green{background:#279466}.status-bar-row i.red{background:#c74e5c}.status-bar-row strong{color:#18343c;font-size:15px}.quality-panel .gate-score{align-items:baseline;gap:8px;padding:25px 0 13px;display:flex}.quality-panel .gate-score strong{color:#c43f4f;font-size:46px}.quality-panel .gate-score span{color:#667d83;font-size:14px}.gate-progress{background:#e5edef;height:13px;overflow:hidden}.gate-progress i{background:#25986b;min-width:2px;height:100%;display:block}.gate-note{color:#5b4a2f;background:#fff7e8;border-left:3px solid #d48b27;margin-top:17px;padding:12px 13px;font-size:13px}.trend-empty{color:#536d74;flex-direction:column;justify-content:center;align-items:center;gap:5px;height:198px;display:flex;position:relative;overflow:hidden}.trend-empty span,.trend-empty small{z-index:2;position:relative}.trend-empty span{color:#294850;font-size:14px;font-weight:700}.trend-empty small{font-size:12px}.trend-grid-lines{opacity:.8;background-image:linear-gradient(#dce7e8 1px,#0000 1px),linear-gradient(90deg,#dce7e8 1px,#0000 1px);background-size:100% 34px,56px 100%;position:absolute;inset:22px 0 0}.event-source-list{flex-direction:column;padding-top:8px;display:flex}.event-source-list>div{border-bottom:1px solid #e0e8ea;justify-content:space-between;align-items:center;gap:12px;min-height:43px;display:flex}.event-source-list span{color:#486269;text-overflow:ellipsis;white-space:nowrap;font-family:Consolas,monospace;font-size:12px;overflow:hidden}.event-source-list strong{color:#17343c;font-size:15px}.dashboard-table-panel{min-height:0;padding:0;overflow:hidden}.dashboard-table-panel .dashboard-panel-head{padding:18px 19px}.dashboard-table-wrap{width:100%;overflow-x:auto}.dashboard-table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:820px}.dashboard-table-wrap th{color:#647a80;background:#f5f8f8;border-bottom:1px solid #ccdadd;padding:12px 19px;font-size:12px}.dashboard-table-wrap td{color:#405a61;vertical-align:top;border-bottom:1px solid #e2eaeb;max-width:520px;padding:14px 19px;font-size:13px}.dashboard-table-wrap td strong{color:#18343c;font-size:14px;display:block}.dashboard-table-wrap td small{color:#75898e;margin-top:4px;font-size:12px;display:block}.dashboard-table-wrap .status-badge.danger{color:#a93643;background:#fde9eb}.dashboard-table-wrap .status-badge.success{color:#176d4e;background:#e3f5ec}.dashboard-empty,.dashboard-empty-cell{color:#73888d;text-align:center;font-size:13px}.dashboard-empty{flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:195px;display:flex}@media (width<=1260px){.command-theatre{grid-template-columns:minmax(0,1.5fr) minmax(320px,.78fr)}.console-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.command-theatre{grid-template-columns:1fr}.ai-stack{min-height:0}.ai-orbit{display:none}.console-grid{grid-template-columns:1fr}.console-events{grid-column:auto}.dashboard-page{padding:25px 18px 44px}.dashboard-grid{grid-template-columns:1fr}}@media (width<=560px){body{font-size:14px}.content{padding:20px 12px 38px}.page-title-row h1{font-size:28px}.page-title-row p{font-size:13px;display:block}.page-actions{align-items:center}.page-actions .status-badge{flex:none}.scene-toolbar{padding:14px 13px}.scene-title h2{font-size:21px}.scene-controls{gap:4px}.scene-snapshot{font-size:11px}.scene-controls>button:not(.icon-button){min-height:32px;padding:0 8px;font-size:12px}.network-map{height:390px}.scene-hud{transform:none}.scene-hud span,.scene-hud small{font-size:10px}.scene-hud strong{font-size:23px}.hud-left{top:16px;left:12px}.hud-right{top:16px;right:12px}.map-node,.vehicle-pulse small,.map-tag{font-size:11px}.tag-a{top:61%;left:12%}.tag-b{top:35%;right:6%}.scene-empty-note{text-align:right;font-size:11px;bottom:10px;left:10px;right:10px}.scene-foot{flex-wrap:wrap;gap:5px 14px;min-height:54px;padding:8px 12px;font-size:11px}.scene-foot-note{display:none}.ai-stack{padding:16px 13px}.decision-card{padding:13px 2px 13px 10px}.decision-card strong{font-size:14px}.decision-card small{font-size:12px}.console-grid>.panel{min-height:0}.boundary-list{margin:15px 13px}.dashboard-page{padding:21px 12px 38px}.dashboard-context{flex-direction:column;align-items:flex-start;gap:7px}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-kpi{min-height:105px;padding:14px}.dashboard-kpi strong{font-size:28px}.dashboard-panel{min-height:255px;padding:15px}.dashboard-panel-head h2{font-size:16px}.status-bar-row{grid-template-columns:58px minmax(0,1fr) 26px;gap:8px}.dashboard-table-panel{padding:0}.console-panel-actions{gap:6px}.console-panel-actions .status-badge{display:none}.dashboard-table-wrap{overflow:visible}.dashboard-table-wrap table{table-layout:fixed;min-width:0}.dashboard-table-wrap th,.dashboard-table-wrap td{white-space:normal;word-break:break-word;padding:10px 8px;font-size:12px}.dashboard-table-wrap th:first-child,.dashboard-table-wrap td:first-child{width:32%}.dashboard-table-wrap th:nth-child(2),.dashboard-table-wrap td:nth-child(2){width:22%}.dashboard-table-wrap th:nth-child(3),.dashboard-table-wrap td:nth-child(3){width:46%}.dashboard-table-wrap th:nth-child(4),.dashboard-table-wrap td:nth-child(4),.dashboard-table-wrap th:nth-child(5),.dashboard-table-wrap td:nth-child(5){display:none}.dashboard-table-wrap td strong{font-size:13px}}.kpi-strip span,.risk-kpis span,.quality-metrics span{color:#b0c8ce;font-size:13px}.kpi-strip strong,.risk-kpis strong,.quality-metrics strong{color:#f5ffff;font-size:25px}.kpi-strip small,.risk-kpis small,.quality-metrics small{color:#9eb9c0;font-size:12px}.kpi-strip>div,.risk-kpis>div,.quality-metrics>div{background:#112b36;min-height:104px}.tabs button{color:#aac2c8;font-size:13px}.tabs button.active{color:#fff}.tabs em{font-size:11px}.vehicle-summary{color:#dcecee;background:#112b36;border-color:#97e0e24d}.vehicle-summary-main strong{color:#fff;font-size:24px}.vehicle-summary-main b{color:#fff;font-size:18px}.vehicle-summary-main span{color:#a9c2c8;font-size:12px}.summary-note{color:#ffd38a;background:#754d1638;border-color:#e8ac4a66;font-size:13px}.compliance-score{background:#112b36;border-color:#97e0e24d}.score-ring:after{background:#112b36}.score-ring strong{color:#fff;font-size:24px}.score-ring span{color:#b0c7cc;font-size:10px}.compliance-score h2{color:#fff;font-size:18px}.compliance-score p{color:#aac3c9;font-size:13px}.mini-stats{color:#aec6cb;font-size:12px}.compliance-callout{color:#9bc3ff;background:#30558533;border-color:#6f9fde66}.compliance-callout strong{color:#d7e8ff;font-size:14px}.compliance-callout span{color:#afc7e4;font-size:12px}.check-row{border-color:#97e0e229}.check-copy strong{color:#eefbfc;font-size:14px}.check-copy small{color:#a5bec4;max-width:520px;font-size:12px}.blocked-list button{color:#dbecee;border-color:#97e0e22b}.blocked-list button strong{color:#fff;font-size:14px}.blocked-list button small{color:#a5bdc3;font-size:12px}.alert-row{color:#dbeaec;min-height:63px}.alert-type strong{color:#f5ffff;font-size:14px}.alert-type small,.alert-vehicle small{color:#9eb8be;font-size:12px}.alert-vehicle,.alert-time{color:#bfd2d6;font-size:13px}.alert-severity{font-size:12px}.quality-mode{overflow-wrap:anywhere;font-size:15px!important}.quality-boundary-panel{min-height:310px}.quality-boundary-list{background:#97e0e22e;border:1px solid #97e0e233;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:20px 18px;display:grid}.quality-boundary-list>div{background:#122d38;flex-direction:column;justify-content:center;gap:6px;min-height:92px;padding:13px;display:flex}.quality-boundary-list span{color:#a4bec4;font-size:12px}.quality-boundary-list strong{color:#f3ffff;font-size:14px}.source-copy strong{color:#eefafa;font-size:14px}.source-copy small,.source-volume{color:#9eb8be;font-size:12px}.source-row{min-height:54px}.quality-value-cell{min-width:280px;max-width:480px;line-height:1.5;white-space:normal!important}.drawer{color:#dbecee}.drawer-head h2{font-size:21px}.drawer .eyebrow{font-size:12px}.drawer-section h3{font-size:15px}.drawer-status-head span:not(.status-badge),.vehicle-drawer-hero>div span{color:#aac2c8;font-size:12px}.detail-row{color:#a9c0c6;font-size:13px}.detail-row strong{color:#eef9fa;font-size:13px}.vehicle-live-grid span,.vehicle-live-grid small{color:#a2bbc1;font-size:12px}.vehicle-live-grid strong{font-size:21px}.task-card strong,.location-card span,.event-mini strong,.linked-object strong{font-size:13px}.task-card span,.location-card small,.event-mini small,.linked-object small,.event-time{color:#9fb8be;font-size:12px}.readonly-note{color:#f3d49a;background:#6f4b1838;border:1px solid #e7ae4d61;border-left:3px solid #e1a541;align-items:center;gap:8px;margin-top:22px;padding:12px 13px;font-size:13px;display:flex}@media (width<=560px){.kpi-strip span,.risk-kpis span,.quality-metrics span,.kpi-strip small,.risk-kpis small,.quality-metrics small{font-size:12px}.quality-boundary-list{grid-template-columns:1fr;margin:15px 13px}.quality-boundary-list>div{min-height:70px}.scene-hud span,.scene-hud small,.map-node,.vehicle-pulse small,.map-tag,.scene-foot{font-size:12px}}.vehicle-pulse{transform:translate(calc(-50% + var(--map-offset-x,0px)), calc(-50% + var(--map-offset-y,0px)))}.map-source-switch{background:#04192194;border:1px solid #82dcda47;border-radius:4px;align-items:center;gap:2px;padding:2px;display:inline-flex}.scene-kicker,.scene-controls>button:not(.icon-button),.scene-snapshot,.map-source-switch,.map-source-switch button{white-space:nowrap;flex:none}.map-source-switch button{min-width:42px;color:#9db9bf!important;background:0 0!important;border:0!important;min-height:28px!important;padding:0 8px!important;font-size:12px!important}.map-source-switch button.active{color:#08232a!important;background:#73e8d8!important}.map-basemap{opacity:.98;z-index:2!important}.map-abstract{z-index:2!important}.map-water{fill:#173843}.map-district-shapes polygon{fill:#30687329;stroke:#79cdcf47;stroke-width:1.4px;stroke-dasharray:6 7}.map-district-shapes polygon:nth-child(2n){fill:#1f59691f}.map-districts circle{fill:#3f898f1a;stroke:#7fd8d547;stroke-width:1.2px;stroke-dasharray:5 6}.map-districts text{fill:#cff7f3db;letter-spacing:1px;text-anchor:middle;paint-order:stroke;stroke:#173843;stroke-width:4px;font-size:15px;font-weight:700}.map-base-roads polyline{fill:none;stroke:#bfe7e894;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round}.map-base-roads polyline:nth-child(2n){stroke:#85c6d26b;stroke-width:2.1px}.map-minor-roads polyline{fill:none;stroke:#7bbec94d;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.map-api-route{fill:none;stroke:#69f2da;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 12;filter:drop-shadow(0 0 7px #69f2dac7);animation:3.6s linear infinite route-flow}.map-waypoints text{display:none}.waypoint-halo{fill:#57e8d329;stroke:#6cf1dcc7;stroke-width:1px}.waypoint-dot{fill:#d9fff8;filter:drop-shadow(0 0 6px #69f2da)}.api-waypoint{transform:translate(-50%,-50%)}.api-waypoint small{color:#ddfffa;white-space:nowrap;transform:translate(var(--waypoint-label-x,0px), var(--waypoint-label-y,0px));background:#071f27c7;border:1px solid #75e0d640;padding:2px 4px;font-size:11px;display:block}.vehicle-pulse{margin-left:var(--map-offset-x,0px);margin-top:var(--map-offset-y,0px)}.vehicle-pulse small{transform:translate(var(--label-offset-x,0px), var(--label-offset-y,0px));background:#071e26e0;border:1px solid #78dad447;padding:2px 4px}.vehicle-pulse.warning small{border-color:#ffbc5b66}.map-attribution{z-index:6;color:#c0dfe0;background:#071c25d6;border:1px solid #8bdedb42;align-items:center;gap:6px;padding:5px 8px;font-family:Consolas,monospace;font-size:11px;display:inline-flex;position:absolute;bottom:14px;left:18px}.map-attribution svg{color:#72ead9}.scene-empty-note{bottom:14px}@media (width<=900px){.scene-controls{flex-wrap:wrap;justify-content:flex-end}.scene-snapshot{order:5;justify-content:flex-end;width:100%;margin-top:2px}}@media (width<=560px){.map-source-switch button{min-height:30px!important;font-size:12px!important}.map-attribution{justify-content:center;font-size:10px;bottom:42px;left:10px;right:10px}.scene-empty-note{font-size:11px;bottom:10px;left:auto;right:10px}.map-districts text{font-size:17px}.map-waypoints text{display:none}}
