.trip-card[data-v-7383d5fc]{margin:14px 0;padding:15px;border-radius:14px;background:#0f6de9;color:#fff;display:grid;gap:12px;box-shadow:0 5px 14px #1670ef35}.trip-card>div[data-v-7383d5fc]{display:flex;justify-content:space-between;align-items:center}.trip-card>div[data-v-7383d5fc]:nth-child(2){border-top:1px solid #ffffff44;padding-top:10px}.trip-card span[data-v-7383d5fc]{display:flex;align-items:center;gap:5px}.trip-card svg[data-v-7383d5fc]{width:18px}.trip-card strong[data-v-7383d5fc]{font-size:24px}.trip-card button[data-v-7383d5fc]{height:42px;border:0;border-radius:9px;background:#fff;color:#1269da;font-weight:800}.station-choice[data-v-7383d5fc]{display:flex!important;align-items:center;gap:8px;text-align:left;padding:0 12px!important}.station-choice svg[data-v-7383d5fc]{width:20px;color:#1670ef}.station-choice span[data-v-7383d5fc]{margin-left:auto;color:#26a75c;font-size:12px}.vehicle-choice[data-v-7383d5fc]{display:flex!important;justify-content:space-between;padding:0 12px!important;text-align:left}.vehicle-choice b[data-v-7383d5fc]{color:#26a75c}.orders[data-v-7383d5fc]{max-height:390px;overflow:auto;display:grid;gap:9px}.orders article[data-v-7383d5fc]{border:1px solid #e4e8ed;border-radius:10px;padding:11px;display:grid;grid-template-columns:1fr auto;gap:5px}.orders article>span[data-v-7383d5fc]{color:#1670ef;font-size:12px}.orders small[data-v-7383d5fc]{color:#76818d}.orders article button[data-v-7383d5fc]{grid-column:1/-1;height:34px;color:#e24a3b;margin:3px 0 0}.campus-console nav[data-v-831908fb]{flex-wrap:wrap}.campus-console code[data-v-831908fb]{overflow-wrap:anywhere}.campus-console form>button[data-v-831908fb]{margin-top:12px}.stop-table td>button+button[data-v-831908fb]{margin-left:8px}.map-canvas[data-v-831908fb]{height:360px;margin:16px 0;background:#edf4ff}.map-search[data-v-831908fb]{display:flex;flex-wrap:wrap;gap:12px}.map-editor[data-v-831908fb]{margin:24px 0}.campus-console[data-v-831908fb]{color:#172c42}.campus-console header[data-v-831908fb],.fields[data-v-831908fb],footer[data-v-831908fb]{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.campus-console header>div[data-v-831908fb]{flex:1}.campus-console h1[data-v-831908fb]{margin:0;font-size:26px}.campus-console h2[data-v-831908fb]{font-size:20px}.campus-console p[data-v-831908fb]{color:#536579;line-height:1.7}.campus-console label[data-v-831908fb]{display:grid;gap:8px}.campus-console input[data-v-831908fb],.campus-console select[data-v-831908fb]{min-height:44px;padding:8px 12px;border:1px solid #aebdcc;border-radius:8px;background:#fff;color:#172c42;max-width:100%;box-sizing:border-box}.campus-console button[data-v-831908fb]{min-height:44px;padding:9px 16px;border:1px solid #bcc9d6;border-radius:8px;background:#fff;color:#155dab;cursor:pointer}.campus-console button[data-v-831908fb]:disabled{opacity:.5;cursor:default}.campus-console button[data-v-831908fb]:focus-visible,.campus-console input[data-v-831908fb]:focus-visible{outline:3px solid #126fe8;outline-offset:2px}.campus-console nav[data-v-831908fb]{display:flex;gap:12px;margin:24px 0}.campus-console nav [aria-pressed=true][data-v-831908fb],.campus-console .primary[data-v-831908fb]{background:#126fe8;color:#fff;border-color:#126fe8}.route-list[data-v-831908fb]{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.route-list button[data-v-831908fb]{display:grid;text-align:left;gap:6px}.route-list span[data-v-831908fb]{font-size:13px;color:#52657a}.campus-console form[data-v-831908fb]{background:#fff;padding:24px;border:1px solid #dce4ec;border-radius:14px}.campus-console .check[data-v-831908fb]{display:flex;align-items:center}.check input[data-v-831908fb]{min-height:24px;width:24px}.stop-table[data-v-831908fb]{overflow-x:auto;margin:24px 0}.stop-table table[data-v-831908fb]{width:100%;min-width:800px;border-collapse:collapse}.stop-table td[data-v-831908fb],.stop-table th[data-v-831908fb]{padding:12px 8px;border-bottom:1px solid #e4eaf0;text-align:left}.stop-table input[data-v-831908fb]{width:145px}.row-actions[data-v-831908fb]{white-space:nowrap}.row-actions button[data-v-831908fb]{margin-right:6px}.campus-console .error[data-v-831908fb]{color:#ad2924;background:#fff0ee;padding:16px}.campus-console footer[data-v-831908fb]{justify-content:flex-end;margin-top:20px}@media(max-width:600px){.campus-console header>div[data-v-831908fb]{flex-basis:100%}.campus-console form[data-v-831908fb]{padding:16px}.fields>label[data-v-831908fb]{width:100%}}:root{--navy:#0b2731;--navy-2:#123640;--teal:#168d78;--teal-soft:#e4f1ed;--gold:#c9932b;--ink:#17252a;--muted:#6c7a7e;--line:#dfe5e2;--paper:#fff;--canvas:#f3f1ea;--danger:#c54c45;--warning:#d89027;--shadow:0 8px 30px rgba(15,39,46,.07)}body{margin:0;background:var(--canvas);color:var(--ink)}button,input,select,textarea{font:inherit}.ops-shell,.auth-screen{font-family:PingFang SC,Microsoft YaHei,Inter,system-ui,sans-serif}.ops-shell button{cursor:pointer}.ops-shell button:disabled{cursor:not-allowed;opacity:.5}.auth-screen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 72% 20%,#1c4b53 0,transparent 35%),var(--navy);color:#fff}.auth-screen>p{position:absolute;margin-top:100px;color:#a8c0c1}.auth-mark{width:64px;height:40px;object-fit:contain}.login-card{width:min(440px,calc(100vw - 32px));background:#fff;color:var(--ink);padding:38px;border-radius:18px;box-shadow:0 30px 80px #0000004d}.brand-lockup{display:flex;align-items:center;gap:11px}.brand-lockup>img{width:48px;height:34px;object-fit:contain}.brand-lockup span,.ops-brand span{display:grid}.brand-lockup strong,.ops-brand strong{font-size:15px}.brand-lockup small,.ops-brand small{font-size:9px;letter-spacing:1.8px;color:#819092}.login-card h1{font:650 28px Georgia,Songti SC;margin:34px 0 8px}.login-card>p{color:var(--muted);margin:0 0 26px}.login-card label{display:grid;gap:8px;margin:16px 0;font-size:13px}.login-card input{height:46px;border:1px solid var(--line);border-radius:8px;padding:0 13px;outline:none}.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #168d7816}.form-error{display:block;color:var(--danger);margin:5px 0}.wide{width:100%}.ops-shell{min-height:100vh;background:var(--canvas)}.ops-shell>aside{position:fixed;inset:0 auto 0 0;width:224px;background:var(--navy);color:#d4e0df;display:flex;flex-direction:column;z-index:20}.ops-brand{height:76px;display:flex;align-items:center;gap:11px;padding:0 22px;border-bottom:1px solid #23434b}.ops-brand strong{color:#fff}.ops-brand small{color:#91a8aa}.ops-brand>button{display:none;margin-left:auto;background:transparent;border:0;color:#fff}.ops-brand>button svg{width:21px}.ops-shell aside nav{flex:1;overflow:auto;padding:15px 10px 20px;scrollbar-width:thin;scrollbar-color:#34545b transparent}.ops-shell aside nav section+section{margin-top:15px}.ops-shell aside nav section>small{display:block;color:#779197;font-size:10px;letter-spacing:1.5px;padding:7px 13px}.ops-shell aside nav button{width:100%;height:39px;border:0;background:transparent;color:#aebfc1;border-radius:6px;padding:0 11px;display:flex;align-items:center;gap:11px;text-align:left;font-size:12px}.ops-shell aside nav button>svg:first-child{width:17px;height:17px}.ops-shell aside nav button:hover{background:#123842;color:#fff}.ops-shell aside nav button.active{background:linear-gradient(90deg,#1e5a5b,#1a4b50);color:#fff;box-shadow:inset 3px 0 #d4a640}.nav-caret{width:13px;margin-left:auto;opacity:.35}.aside-foot{height:66px;border-top:1px solid #23434b;display:flex;align-items:center;gap:10px;padding:0 21px}.aside-foot>div{display:grid}.aside-foot strong{font-size:11px;color:#dce8e6}.aside-foot small{font-size:9px;color:#789497}.online-dot{width:8px;height:8px;border-radius:50%;background:#56bc83;box-shadow:0 0 0 4px #56bc8320}.ops-main{margin-left:224px;min-height:100vh}.topbar{height:64px;background:#fffffff0;border-bottom:1px solid var(--line);padding:0 26px;display:flex;align-items:center;gap:18px;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.breadcrumb{display:flex;align-items:center;gap:7px;color:#829093;font-size:11px;white-space:nowrap}.breadcrumb svg{width:11px}.breadcrumb b{color:#344548}.top-search{margin-left:auto;width:270px;height:34px;border:1px solid #dfe5e2;border-radius:6px;display:flex;align-items:center;gap:8px;padding:0 10px;background:#f7f8f6}.top-search svg{width:15px;color:#8b989a}.top-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:11px}.icon-button{position:relative;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:6px}.icon-button svg{width:16px}.icon-button i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--danger);right:7px;top:6px}.user-chip{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:16px}.user-chip>span{width:31px;height:31px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:10px}.user-chip>div{display:grid;min-width:74px}.user-chip strong{font-size:11px}.user-chip small{font-size:9px;color:var(--muted)}.user-chip button{width:27px;height:27px;border:0;background:transparent;color:#7f8c8e}.user-chip svg{width:16px}.mobile-menu{display:none;border:0;background:transparent}.mobile-menu svg{width:20px}.content{padding:28px 30px 45px;max-width:1640px;margin:auto}.overview-head,.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:22px}.eyebrow{display:block;font-size:9px;letter-spacing:2px;color:var(--teal);font-weight:700;margin-bottom:5px}.overview-head h1,.page-title h1{font:650 27px Georgia,Songti SC;letter-spacing:.5px;margin:0 0 6px}.overview-head p,.page-title p{font-size:11px;color:var(--muted);margin:0}.overview-actions,.page-title>div:last-child{display:flex;align-items:center;gap:8px}.overview-actions select,.page-title select{height:35px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:0 30px 0 10px;font-size:11px}.overview-actions>label{height:35px;background:#fff;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;padding:0 9px;gap:5px}.overview-actions>label svg{width:14px;color:var(--muted)}.overview-actions input{width:105px;border:0;outline:0;font-size:10px;background:transparent}.overview-actions>label span{color:#a1adae}.primary,.secondary{height:35px;border-radius:5px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:11px}.primary{border:1px solid var(--navy);background:var(--navy);color:#fff}.primary:hover{background:#12414b}.secondary{border:1px solid var(--line);background:#fff;color:#344548}.primary svg,.secondary svg{width:14px}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin-bottom:12px}.kpis article{min-width:0;background:var(--paper);border:1px solid var(--line);box-shadow:0 3px 16px #112c320a;padding:14px 15px;position:relative}.kpis article>svg{position:absolute;right:13px;top:13px;width:18px;color:#9aa9a8}.kpis article>span{display:grid;color:#334448;font-size:11px}.kpis article>span small{color:#9ba7a7;font-size:8px;margin-top:2px}.kpis article>strong{display:block;font:650 23px Georgia;margin:13px 0 6px;white-space:nowrap}.kpis article>strong small{font-size:13px;color:#748184}.kpis article>em{font-style:normal;color:#668078;font-size:9px}.kpis article>em.danger,.danger,.negative{color:var(--danger)!important}.dashboard-grid{display:grid;grid-template-columns:1.45fr 1fr .8fr;gap:12px}.panel{background:#fff;border:1px solid var(--line);box-shadow:0 3px 18px #112c320a;min-width:0}.panel>header{height:58px;border-bottom:1px solid #e8ece9;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.panel>header>div{display:grid}.panel>header small{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#8c999a}.panel>header h2{font:650 15px Georgia,Songti SC;margin:2px 0 0}.text-button{border:0;background:transparent;color:var(--teal);font-size:9px;display:flex;align-items:center;gap:2px}.text-button svg{width:12px}.revenue-panel{grid-column:span 2;min-height:293px}.trend-legend{display:flex;align-items:center;gap:7px;padding:15px 18px 0;font-size:9px;color:var(--muted)}.trend-legend span{display:flex;align-items:center;gap:5px}.trend-legend i{width:13px;height:3px;background:var(--teal)}.trend-legend b{margin-left:auto;color:var(--ink);font:600 13px Georgia}.bar-chart{height:204px;padding:38px 22px 15px;display:flex;align-items:end;gap:11px;background:repeating-linear-gradient(to top,transparent 0,transparent 40px,#eef1ef 41px)}.bar-chart>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;position:relative}.bar-chart i{width:min(38px,75%);min-height:3px;background:linear-gradient(#1b8e79,#74b6a6);border-radius:2px 2px 0 0}.bar-chart small{font-size:8px;color:#829092;margin-top:6px}.bar-value{display:none;position:absolute;bottom:calc(100% + 4px);font-size:8px}.bar-chart>div:hover .bar-value{display:block}.map-panel{min-height:293px}.live-map,.workspace-map,.draw-map{position:relative;overflow:hidden;background:#d8ded7}.live-map{height:234px}.live-map img,.workspace-map img,.draw-map img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72) contrast(.95)}.map-marker{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 2px 7px #00000040;z-index:2}.map-marker svg{width:12px}.map-marker.vehicle{background:var(--teal)}.map-marker.station{background:var(--gold)}.map-marker.offline{background:#8c9796}.map-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#eff3efbb;font-size:11px;color:var(--muted)}.map-legend{position:absolute;left:10px;bottom:8px;background:#ffffffea;border:1px solid #d6ddda;padding:5px 7px;display:flex;gap:9px;font-size:7px}.map-legend span{display:flex;align-items:center;gap:3px}.map-legend i{width:6px;height:6px;border-radius:50%}.map-legend i.vehicle{background:var(--teal)}.map-legend i.station{background:var(--gold)}.map-legend i.offline{background:#8c9796}.finance-panel{min-height:245px}.finance-total{padding:18px 16px 14px;background:#f5f7f4;display:grid}.finance-total span{font-size:9px;color:var(--muted)}.finance-total strong{font:650 24px Georgia;margin:5px 0}.finance-total small{font-size:8px;color:#859092}.finance-panel dl{margin:0;padding:5px 16px}.finance-panel dl div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed #e2e6e3;font-size:10px}.finance-panel dt{color:var(--muted)}.finance-panel dd{margin:0;font-family:Georgia}.marketing-panel{min-height:245px}.campaign-list{display:grid;padding:7px 14px}.campaign-list button{border:0;border-bottom:1px solid #edf0ee;background:#fff;padding:10px 2px;display:flex;align-items:center;justify-content:space-between;text-align:left}.campaign-list button>span{display:grid;grid-template-columns:24px 1fr;align-items:center}.campaign-list svg{grid-row:span 2;width:16px;color:var(--gold)}.campaign-list b{font-size:10px}.campaign-list small{font-size:8px;color:var(--muted)}.campaign-list button>strong{display:grid;text-align:right;font:600 13px Georgia}.campaign-list button>strong small{font:400 7px sans-serif}.people-panel{min-height:245px}.people-stats{display:grid;grid-template-columns:repeat(2,1fr);height:186px}.people-stats div{display:grid;place-items:center;border-right:1px solid #edf0ee;border-bottom:1px solid #edf0ee;padding:12px}.people-stats span{font-size:9px;color:var(--muted)}.people-stats strong{font:650 26px Georgia}.exception-panel{grid-column:span 2;min-height:240px}.exception-panel>header>span{font-size:9px;color:var(--muted)}.exception-table{overflow:auto}.exception-row{min-width:760px;display:grid;grid-template-columns:55px minmax(250px,1fr) 110px 125px 70px 45px;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid #edf0ee;font-size:9px}.exception-header{background:#f5f7f4;color:#7f8b8d;padding-block:7px}.exception-row>span:nth-child(2){display:grid}.exception-row>span:nth-child(2) b{font-size:10px}.exception-row>span:nth-child(2) small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exception-row i{font-style:normal;color:#fff;width:22px;height:22px;border-radius:50%;display:grid;place-items:center}.exception-row i.critical{background:var(--danger)}.exception-row i.medium{background:var(--warning)}.exception-row button{border:0;background:transparent;color:var(--teal);font-size:9px}.alert-panel{min-height:240px}.alert-levels{display:grid;grid-template-columns:repeat(2,1fr);height:181px}.alert-levels button{background:#fff;border:0;border-right:1px solid #edf0ee;border-bottom:1px solid #edf0ee;display:flex;justify-content:center;align-items:center;gap:8px}.alert-levels i{width:9px;height:9px;border-radius:50%}.alert-levels i.critical{background:var(--danger)}.alert-levels i.medium{background:var(--warning)}.alert-levels i.normal{background:#518d80}.alert-levels i.info{background:#7992a8}.alert-levels span{display:grid;font-size:8px;color:var(--muted);text-align:left}.alert-levels b{font:650 22px Georgia;color:var(--ink)}.panel-empty{min-height:130px;display:flex;align-items:center;justify-content:center;gap:7px;color:#8b989a;font-size:10px}.panel-empty svg{width:17px;color:var(--teal)}.page-title{margin-bottom:20px}.page-title>div:last-child{align-self:center}.map-tabs{height:45px;background:#fff;border:1px solid var(--line);display:flex;align-items:end;padding:0 15px;margin-bottom:12px}.map-tabs button{height:44px;padding:0 20px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:11px}.map-tabs button.active{color:var(--teal);border-color:var(--teal);font-weight:600}.map-workspace{display:grid;grid-template-columns:1fr 260px;background:#fff;border:1px solid var(--line);min-height:610px}.workspace-map{min-height:610px}.map-workspace>aside{padding:24px;border-left:1px solid var(--line)}.map-workspace>aside h2{font:650 20px Georgia;margin:0 0 24px}.map-workspace>aside dl{display:grid;gap:0;margin:0 0 30px}.map-workspace>aside dl div{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.map-workspace>aside dt{font-size:11px;color:var(--muted)}.map-workspace>aside dd{font:650 18px Georgia;margin:0}.boundary-workspace{background:#fff;border:1px solid var(--line)}.boundary-tools{height:78px;border-bottom:1px solid var(--line);padding:0 18px;display:flex;justify-content:space-between;align-items:center}.boundary-tools h2{font:650 17px Georgia;margin:0 0 4px}.boundary-tools p{font-size:9px;color:var(--muted);margin:0}.boundary-tools>div:last-child{display:flex;gap:8px}.draw-map{height:620px}.draw-map canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;cursor:crosshair}.draw-tip{position:absolute;z-index:3;left:50%;top:15px;transform:translate(-50%);background:#fff;border:1px solid var(--line);padding:8px 12px;font-size:9px;pointer-events:none}.draw-tip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.boundary-workspace>footer{height:44px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;color:var(--muted);font-size:9px;border-top:1px solid var(--line)}.data-panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.table-toolbar{height:59px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 15px}.table-toolbar>label{height:34px;width:290px;border:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 10px;background:#f8f9f7}.table-toolbar>label svg{width:14px;color:#8b989a}.table-toolbar input{border:0;outline:0;background:transparent;min-width:0;flex:1;font-size:10px}.table-toolbar>div{display:flex;align-items:center;gap:10px}.table-toolbar>div>span{font-size:9px;color:var(--muted)}.table-scroll{overflow:auto;max-height:calc(100vh - 230px)}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{height:45px;padding:0 12px;border-bottom:1px solid #e9eeeb;text-align:left;font-size:10px}th{height:39px;position:sticky;top:0;z-index:2;background:#f2f5f2;color:#687779;font-weight:600}tbody tr:hover{background:#fafbf9}.cell-text{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis}.status-pill{display:inline-flex;padding:3px 8px;border-radius:12px;font-size:8px}.status-pill.good{background:#e0f2e8;color:#26865d}.status-pill.warn{background:#fff0d8;color:#b1731e}.status-pill.bad{background:#fbe4e2;color:#b6433f}.row-actions button{border:0;background:transparent;color:var(--teal);font-size:9px;padding:4px}.row-actions button:last-child{color:var(--danger)}.row-actions button.approve{color:var(--teal)}.row-actions button.reject{color:var(--danger)}.row-actions button:hover{text-decoration:underline}.table-empty{text-align:center;color:#839092;height:180px}.data-panel a{color:var(--teal);text-decoration:none}.overlay{position:fixed;z-index:40;top:0;right:0;bottom:0;left:0;background:#071c237a;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.record-drawer{width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);background:#fff;border-radius:10px;box-shadow:0 24px 80px #05191f4d;display:flex;flex-direction:column;overflow:hidden}.record-drawer>header,.layout-dialog>header{min-height:82px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 22px}.record-drawer>header span,.layout-dialog>header span{font-size:8px;letter-spacing:1.4px;color:var(--teal)}.record-drawer>header h2,.layout-dialog>header h2{font:650 19px Georgia;margin:3px 0}.record-drawer>header button,.layout-dialog>header button{border:0;background:transparent}.record-drawer>header svg,.layout-dialog>header svg{width:20px}.form-grid{flex:1;min-height:0;overflow:auto;padding:20px 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:15px}.form-grid label{display:grid;align-content:start;gap:6px;font-size:10px}.form-grid label.wide{grid-column:1/-1}.form-grid label>span{color:#46575a}.form-grid em{font-style:normal;color:var(--danger);margin-left:3px}.form-grid label>small{color:var(--teal);font-size:8px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:4px;background:#fff;padding:0 10px;outline:none;font-size:11px}.form-grid input,.form-grid select{height:38px}.form-grid textarea{padding-block:10px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #168d7812}.form-grid input:disabled{background:#f0f3f1;color:#8b9798}.form-map-field{grid-column:1/-1;border:1px solid var(--line);border-radius:6px;overflow:hidden}.form-map-field>header{min-height:52px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f6f8f6;border-bottom:1px solid var(--line)}.form-map-field>header>div:first-child{display:grid;gap:3px}.form-map-field>header span{font-size:10px;color:#46575a}.form-map-field>header small{font-size:8px;color:var(--teal)}.form-map-field>header>div:last-child{display:flex;gap:6px}.form-map{height:300px;position:relative;background:#d8ded7}.form-map img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.72) contrast(.95)}.form-map canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair}.form-map>span{position:absolute;top:10px;left:50%;transform:translate(-50%);padding:6px 10px;background:#0b2731e6;color:#fff;border-radius:4px;font-size:8px;pointer-events:none}.form-map-field>footer{height:34px;padding:0 12px;display:flex;align-items:center;color:var(--muted);font-size:8px}.record-drawer>footer,.layout-dialog>footer{height:65px;flex:none;border-top:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:0 22px}.layout-dialog{margin:auto;width:min(560px,calc(100vw - 30px));max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:10px;box-shadow:0 24px 80px #05191f4d}.layout-dialog>header p{margin:0;color:var(--muted);font-size:9px}.module-options{padding:22px;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.module-options button{height:48px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;gap:9px;padding:0 13px;text-align:left;font-size:11px}.module-options button svg{width:18px;color:#a7b0af}.module-options button.selected{border-color:var(--teal);background:var(--teal-soft);color:#0c6d5c}.module-options button.selected svg{color:var(--teal)}.toast{position:fixed;z-index:60;left:50%;bottom:25px;transform:translate(-50%);background:var(--navy);color:#fff;padding:10px 17px;border-radius:4px;box-shadow:0 10px 30px #00000038;font-size:10px}@media(max-width:1250px){.kpis{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.revenue-panel,.exception-panel{grid-column:span 2}.map-panel{grid-column:span 1}.top-search{width:210px}}@media(max-width:900px){.ops-shell>aside{transform:translate(-100%);transition:.22s;box-shadow:20px 0 60px #00000040}.ops-shell>aside.open{transform:none}.ops-brand>button,.mobile-menu{display:grid}.ops-main{margin-left:0}.topbar{padding:0 14px}.breadcrumb,.top-search,.user-chip>div{display:none}.user-chip{margin-left:auto}.content{padding:20px 14px}.overview-head,.page-title{align-items:flex-start;flex-direction:column}.overview-actions,.page-title>div:last-child{flex-wrap:wrap}.dashboard-grid{grid-template-columns:1fr}.revenue-panel,.exception-panel{grid-column:span 1}.map-workspace{grid-template-columns:1fr}.map-workspace>aside{border-left:0;border-top:1px solid var(--line)}.boundary-tools{height:auto;padding:14px;align-items:flex-start;gap:12px}.boundary-tools>div:last-child{flex-wrap:wrap}.draw-map{height:480px}}.form-map-field{min-height:428px}.form-map-shell{height:340px;position:relative;background:#d8ded7}.form-map-shell .form-map{height:100%;width:100%;z-index:0}.zone-vertex-icon{width:16px;height:16px;border:3px solid #168d78;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0b273166}.zone-vertex-icon.first{background:#0b2731}.form-map-field>footer{justify-content:space-between}.form-map-search{position:absolute;z-index:1000;top:10px;left:50px;width:min(510px,calc(100% - 110px));filter:drop-shadow(0 5px 14px #0b273133)}.form-map-search>div:first-child{height:38px;display:flex;align-items:center;background:#fff;border:1px solid #bccac8;border-radius:5px;overflow:hidden}.form-map-search svg{flex:none;width:17px;margin:0 9px;color:var(--teal)}.form-map-search input{min-width:0;flex:1;height:100%;border:0;outline:0;padding:0;font-size:11px}.form-map-search>div:first-child>button{align-self:stretch;flex:none;border:0;border-left:1px solid var(--line);background:var(--navy);color:#fff;padding:0 16px;font-size:10px}.form-map-search>div:first-child>button:disabled{opacity:.65}.form-map-results{margin-top:5px;max-height:176px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:5px}.form-map-results button{width:100%;min-height:39px;border:0;border-bottom:1px solid #edf1ef;background:#fff;padding:7px 10px;text-align:left;font-size:9px;line-height:1.45}.form-map-results button:last-child{border-bottom:0}.form-map-results button:hover{background:var(--teal-soft);color:#0c6d5c}@media(max-width:620px){.kpis{grid-template-columns:repeat(2,1fr)}.overview-actions>label{display:none}.dashboard-grid{display:block}.panel{margin-bottom:12px}.exception-row{min-width:700px}.overlay{padding:12px}.record-drawer{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.form-map-field{min-height:348px}.form-map-shell{height:260px}.form-map-field>header{align-items:flex-start;flex-direction:column}.module-options{grid-template-columns:1fr}.table-toolbar>label{width:210px}.boundary-workspace>footer{height:auto;padding:12px;gap:7px;align-items:flex-start;flex-direction:column}.user-chip{border:0;padding:0}.kpis article>strong{font-size:19px}}.organization-chart{min-height:520px;padding:42px;background:#fff;border:1px solid var(--line,#dfe5e2);border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:34px}.organization-node{display:flex;align-items:center;gap:12px;min-width:220px;padding:16px 20px;border:1px solid #dbe5e1;border-radius:10px;background:#fff;box-shadow:0 8px 24px #0d303a0f}.organization-node svg{width:24px;height:24px;color:#168d78}.organization-node span{display:flex;flex-direction:column;gap:3px}.organization-node small{color:#7a8d8b;font-size:11px}.organization-node strong{color:#0b303b}.organization-node.headquarters{background:#0b303b;border-color:#0b303b}.organization-node.headquarters svg,.organization-node.headquarters strong{color:#fff}.organization-node.headquarters small{color:#98bbb6}.organization-branches{width:100%;display:flex;justify-content:center;align-items:flex-start;gap:28px;flex-wrap:wrap}.organization-region{display:flex;flex-direction:column;align-items:center;gap:22px;padding-top:22px;border-top:2px solid #b9d5ce}.organization-sites{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.organization-node.site{min-width:180px}.organization-region.direct{padding:22px 18px 0}.organization-hint{margin:0;color:#8b9795}.region-dialog{max-width:720px}.region-form{padding:24px}.region-form>label{display:grid;gap:8px}.region-form fieldset{margin:22px 0 0;padding:18px;border:1px solid #dfe5e2;border-radius:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.region-form fieldset label{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid #edf0ef;border-radius:6px}.region-form fieldset input{width:auto}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);grid-template-areas:"map map" "trend finance" "marketing alerts" "exceptions exceptions"}.map-panel{grid-area:map;min-height:500px}.live-map{height:440px}.revenue-panel{grid-area:trend;grid-column:auto}.finance-panel{grid-area:finance;min-height:293px}.marketing-panel{grid-area:marketing}.alert-panel{grid-area:alerts}.exception-panel{grid-area:exceptions;grid-column:auto}@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr;grid-template-areas:"map" "trend" "finance" "marketing" "alerts" "exceptions"}.live-map{height:380px}}.camera-demo-create{min-height:86px;margin-bottom:12px;padding:15px 18px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,280px) 130px auto;align-items:end;gap:12px}.camera-demo-create>div{align-self:center;display:grid;gap:4px}.camera-demo-create>div span,.camera-demo-create label span{font-size:9px;color:var(--muted)}.camera-demo-create>div strong{font:650 15px Georgia,Songti SC}.camera-demo-create label{display:grid;gap:6px}.camera-demo-create input,.camera-demo-create select{height:35px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:0 10px;font-size:11px;outline:none}.camera-demo-create input:focus,.camera-demo-create select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #168d7812}.camera-demo-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:12px;align-items:start}.camera-demo-list{position:sticky;top:92px;max-height:calc(100vh - 120px);overflow:hidden}.camera-demo-list>header>span{font-size:9px;color:var(--muted)}.camera-demo-session-list{max-height:calc(100vh - 180px);overflow:auto}.camera-demo-session-list>button{width:100%;min-height:68px;border:0;border-bottom:1px solid #edf0ee;background:#fff;padding:11px 13px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left}.camera-demo-session-list>button:hover{background:#f7f9f7}.camera-demo-session-list>button.selected{background:var(--teal-soft);box-shadow:inset 3px 0 var(--teal)}.camera-demo-session-list>button>span:nth-child(2){display:grid;gap:4px;min-width:0}.camera-demo-session-list strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.camera-demo-session-list small{font-size:8px;color:var(--muted)}.camera-demo-session-list em{font-style:normal;font-size:8px;color:var(--muted)}.camera-demo-dot{width:8px;height:8px;border-radius:50%;background:#a4afad}.camera-demo-dot.live{background:#27a36d;box-shadow:0 0 0 4px #27a36d1c}.camera-demo-main{display:grid;gap:12px;min-width:0}.camera-demo-live>header{height:66px}.camera-demo-state{font-size:9px;color:var(--muted);padding:5px 9px;border:1px solid var(--line);border-radius:20px}.camera-demo-state.live{color:#18835b;border-color:#a9d8c7;background:#e7f5ef}.camera-demo-stage{height:min(52vw,560px);min-height:410px;background:#0c171d}.camera-demo-stage iframe{width:100%;height:100%;border:0;display:block}.camera-demo-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b7c4c7;text-align:center;padding:30px;background:radial-gradient(circle at 50% 44%,#18323a 0,#0c171d 55%)}.camera-demo-placeholder svg{width:46px;height:46px;margin-bottom:18px;color:#4e7479}.camera-demo-placeholder strong{font:650 18px Georgia,Songti SC;color:#e8efef}.camera-demo-placeholder span{max-width:440px;margin-top:8px;font-size:10px;line-height:1.7}.camera-demo-access{min-height:112px;padding:13px 16px;border-top:1px solid var(--line);display:flex;align-items:center;gap:13px}.camera-demo-access img{width:84px;height:84px;border:1px solid var(--line);padding:3px}.camera-demo-access>div{min-width:0;flex:1;display:grid;gap:4px}.camera-demo-access>div span{font-size:8px;color:var(--teal);letter-spacing:1px}.camera-demo-access>div strong{font-size:11px}.camera-demo-access p{margin:2px 0 0;max-width:620px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}.camera-demo-stop{height:35px;border:1px solid #e1b8b5;background:#fff;color:var(--danger);border-radius:5px;padding:0 12px;font-size:10px}.camera-demo-recordings>header{height:60px}.camera-demo-recording-grid{min-height:260px;display:grid;grid-template-columns:260px minmax(0,1fr)}.camera-demo-recording-list{border-right:1px solid var(--line);max-height:360px;overflow:auto}.camera-demo-recording-list>button{width:100%;min-height:54px;border:0;border-bottom:1px solid #edf0ee;background:#fff;padding:9px 12px;display:flex;align-items:center;gap:9px;text-align:left}.camera-demo-recording-list>button:hover,.camera-demo-recording-list>button.selected{background:var(--teal-soft)}.camera-demo-recording-list svg{width:17px;color:var(--teal)}.camera-demo-recording-list span{display:grid;gap:3px}.camera-demo-recording-list strong{font-size:9px}.camera-demo-recording-list small{font-size:8px;color:var(--muted)}.camera-demo-player{min-height:260px;background:#10191e;display:grid;place-items:center}.camera-demo-player video{width:100%;height:100%;max-height:360px;background:#000}.camera-demo-player>div{display:flex;flex-direction:column;align-items:center;gap:10px;color:#91a4a8;font-size:9px}.camera-demo-player svg{width:30px}.camera-demo-empty{min-height:130px;display:grid;place-items:center;padding:20px;text-align:center;color:var(--muted);font-size:9px}@media(max-width:1050px){.camera-demo-create{grid-template-columns:1fr 1fr}.camera-demo-create>div{grid-column:1/-1}.camera-demo-workspace{grid-template-columns:220px minmax(0,1fr)}.camera-demo-access{flex-wrap:wrap}.camera-demo-access>div{min-width:230px}}@media(max-width:760px){.camera-demo-create{grid-template-columns:1fr}.camera-demo-create>div{grid-column:auto}.camera-demo-workspace{grid-template-columns:1fr}.camera-demo-list{position:static;max-height:none}.camera-demo-session-list{max-height:240px}.camera-demo-stage{height:58vw;min-height:300px}.camera-demo-recording-grid{grid-template-columns:1fr}.camera-demo-recording-list{border-right:0;border-bottom:1px solid var(--line);max-height:220px}.camera-demo-access img{width:72px;height:72px}}.camera-demo-badge{display:inline-flex;vertical-align:middle;margin-left:8px;padding:4px 8px;border:1px solid #9fcfc4;border-radius:20px;background:var(--teal-soft);color:var(--teal);font:600 9px/1 sans-serif;letter-spacing:.5px}.camera-demo-config{min-height:82px;margin-bottom:12px;padding:0 18px;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;align-items:center}.camera-demo-config>div{min-height:42px;padding:0 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:6px}.camera-demo-config>div:first-child{padding-left:0}.camera-demo-config>div span{font-size:8px;color:var(--muted)}.camera-demo-config>div strong{font-size:10px;color:var(--navy)}.camera-demo-config>.camera-demo-config-status{padding-right:0;border-right:0;flex-direction:row;align-items:center;gap:9px}.camera-demo-config-status strong{white-space:nowrap}.camera-demo-workspace{grid-template-columns:minmax(0,1fr)}.camera-demo-unconfigured{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.camera-demo-unconfigured svg{width:38px;color:#739096}.camera-demo-unconfigured strong{font:650 17px Georgia,Songti SC;color:var(--navy)}@media(max-width:900px){.camera-demo-config{grid-template-columns:repeat(2,1fr);padding:12px}.camera-demo-config>div,.camera-demo-config>div:first-child{padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}.camera-demo-config>.camera-demo-config-status{border-bottom:0}}@media(max-width:560px){.camera-demo-config{grid-template-columns:1fr}.camera-demo-config>div{border-bottom:1px solid var(--line)}.camera-demo-stage{min-height:260px}}.global-header{position:fixed;z-index:30;inset:0 0 auto 0;height:76px;padding:0 26px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;box-shadow:0 2px 12px #0f272e0d}.global-brand{display:flex;align-items:center;gap:22px;min-width:0}.global-brand img{display:block;width:225px;height:42px;object-fit:contain}.global-brand strong{font-size:20px;letter-spacing:1px;color:var(--navy);white-space:nowrap}.global-header .user-chip{margin-left:auto}.global-header .user-chip>strong{font-size:11px;white-space:nowrap}.global-header>.mobile-menu,.sidebar-close{display:none}.ops-shell>aside{top:76px;bottom:0}.ops-main{padding-top:76px}.sidebar-close{position:absolute;z-index:2;right:8px;top:8px;width:30px;height:30px;border:0;background:transparent;color:#fff}.sidebar-close svg{width:20px}@media(max-width:900px){.global-header{padding:0 14px;height:68px}.global-brand{gap:12px}.global-brand img{width:150px;height:34px}.global-brand strong{font-size:15px}.global-header>.mobile-menu,.sidebar-close{display:grid;place-items:center}.ops-shell>aside{top:68px}.ops-main{padding-top:68px}}@media(max-width:620px){.global-brand img{width:112px}.global-brand strong{font-size:12px}.global-header .user-chip>strong{display:none}}.license-review-dialog{width:min(820px,calc(100vw - 48px));max-height:calc(100vh - 48px);background:#fff;border-radius:10px;box-shadow:0 24px 80px #05191f4d;display:flex;flex-direction:column;overflow:hidden}.license-review-dialog>header{min-height:82px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 22px}.license-review-dialog>header span{font-size:8px;letter-spacing:1.4px;color:var(--teal)}.license-review-dialog>header h2{font:650 19px Georgia;margin:3px 0}.license-review-dialog>header p{font-size:9px;color:var(--muted);margin:2px 0 0}.license-review-dialog>header button{border:0;background:transparent}.license-review-dialog>header svg{width:20px}.license-review-body{display:grid;grid-template-columns:240px 1fr;gap:20px;padding:22px;overflow:auto}.license-meta{margin:0;display:grid;gap:0;align-content:start}.license-meta>div{display:flex;justify-content:space-between;gap:12px;padding:12px 2px;border-bottom:1px solid #edf0ee;font-size:10px}.license-meta dt{color:var(--muted);margin:0}.license-meta dd{margin:0;font-weight:600;color:var(--ink)}.license-images{display:grid;grid-template-columns:1fr 1fr;gap:14px}.license-images figure{margin:0;display:grid;gap:7px}.license-images figcaption{font-size:9px;color:var(--muted)}.license-images img{width:100%;border:1px solid var(--line);border-radius:6px;background:#f3f5f3;object-fit:contain}.license-review-dialog>footer{min-height:64px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;align-items:center;gap:9px;padding:0 22px}.license-review-dialog>footer .secondary{border:1px solid var(--line);background:#fff;color:#344548;height:35px;border-radius:5px;padding:0 13px;font-size:11px}.license-review-dialog>footer .approve{border:0;background:transparent;color:var(--teal);font-size:11px;padding:4px 10px}.license-review-dialog>footer .reject{border:0;background:transparent;color:var(--danger);font-size:11px;padding:4px 10px}.license-review-dialog>footer button:hover{text-decoration:underline}@media(max-width:760px){.license-review-body,.license-images{grid-template-columns:1fr}}.section-tabs{display:flex;align-items:center;gap:24px;min-height:52px;margin:-24px -30px 24px;padding:0 30px;border-bottom:1px solid var(--line);background:#fff;overflow-x:auto}.section-tabs button{align-self:stretch;position:relative;flex:none;border:0;background:transparent;padding:0 2px;color:#718083;font-size:11px}.section-tabs button:after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:transparent}.section-tabs button:hover{color:var(--navy)}.section-tabs button.active{color:var(--navy);font-weight:650}.section-tabs button.active:after{background:var(--teal)}.data-date-filter{display:flex;align-items:center;gap:8px}.data-date-filter input{height:38px;border:1px solid var(--line);border-radius:4px;padding:0 9px;background:#fff;color:var(--navy);font-size:10px}.data-date-filter span{color:var(--muted)}.data-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.data-kpis article{min-height:104px;padding:17px;border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;flex-direction:column;justify-content:space-between}.data-kpis span{display:flex;flex-direction:column;gap:3px;color:#526266;font-size:10px}.data-kpis small{color:var(--muted);font-size:8px}.data-kpis strong{font:650 21px Georgia;color:var(--navy)}.operations-filter{min-height:62px;margin-bottom:14px;padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;display:flex;align-items:center;gap:16px}.operations-filter>label{display:flex;align-items:center;gap:8px;flex:none;color:#607073;font-size:9px}.operations-filter select{width:180px;height:36px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:0 28px 0 10px;color:var(--navy);font-size:10px}.period-switch{display:flex;align-items:center;gap:3px;padding:3px;border-radius:5px;background:#f1f4f1}.period-switch button{height:30px;border:0;border-radius:3px;background:transparent;padding:0 11px;color:#647477;font-size:9px}.period-switch button:hover,.period-switch button.active{background:#fff;color:var(--teal);box-shadow:0 1px 5px #0b273112}.operations-range{margin-left:auto;display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;white-space:nowrap}.operations-range svg{width:14px}.operations-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.operations-charts{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-bottom:14px}.operations-chart{min-height:270px;padding:18px;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.operations-chart>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.operations-chart>header div{display:grid;gap:4px}.operations-chart>header strong{color:var(--navy);font-size:12px}.operations-chart>header small,.operations-chart>header>span{color:var(--muted);font-size:8px}.trend-bars{height:190px;display:flex;align-items:flex-end;gap:3px;overflow-x:auto;border-bottom:1px solid var(--line)}.trend-column{position:relative;height:100%;min-width:10px;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column}.trend-value{width:70%;min-height:2px;background:linear-gradient(180deg,#18a58a,#8fd5c6);border-radius:3px 3px 0 0}.trend-column b{position:absolute;top:0;color:#849194;font-size:7px;font-weight:500}.trend-column small{position:absolute;bottom:-17px;color:#879497;font-size:7px;white-space:nowrap}.hourly-bars{height:190px;display:grid;grid-template-columns:repeat(24,1fr);align-items:end;gap:4px;border-bottom:1px solid var(--line)}.hourly-bars>div{position:relative;height:100%;display:flex;align-items:flex-end}.hourly-bars i{display:block;width:100%;min-height:2px;border-radius:2px 2px 0 0;background:#e7b84f}.hourly-bars small{position:absolute;bottom:-17px;left:50%;transform:translate(-50%);font-size:7px;color:#879497}.fleet-chart{min-height:230px}.fleet-stacked{height:18px;margin:36px 0 26px;border-radius:9px;background:#eef2ef;display:flex;overflow:hidden}.fleet-stacked i{display:block;height:100%}.available{background:#21a47e}.inUse{background:#2877c7}.maintenance{background:#e1a43b}.offline{background:#cf5f55}.fleet-chart ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fleet-chart li{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;color:#637174;font-size:9px}.fleet-chart li i{width:8px;height:8px;border-radius:50%}.fleet-chart li strong{color:var(--navy);font:650 15px Georgia}.zone-ranking{min-height:230px}.ranking-list{display:grid;gap:13px}.ranking-list>div{display:grid;gap:5px}.ranking-list label{display:flex;justify-content:space-between;color:#59686b;font-size:9px}.ranking-list label strong{color:var(--navy);font-weight:600}.ranking-list>div>i{height:6px;border-radius:3px;background:#edf1ee;overflow:hidden}.ranking-list>div>i b{display:block;height:100%;min-width:2px;border-radius:3px;background:linear-gradient(90deg,#148a77,#62b9a9)}.chart-empty{height:160px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:9px}.operations-table{margin-bottom:20px}.zone-location{display:block;margin-top:3px;color:var(--muted);font-size:7px}.custom-range-dialog{width:min(560px,calc(100vw - 32px));border-radius:10px;background:#fff;box-shadow:0 24px 80px #05191f4d;overflow:hidden}.custom-range-dialog>header{height:82px;padding:0 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.custom-range-dialog h2{margin:4px 0 0;font:650 19px Georgia}.custom-range-dialog>header button{border:0;background:transparent}.custom-range-dialog>div{padding:28px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px}.custom-range-dialog label{display:grid;gap:7px;color:#526266;font-size:9px}.custom-range-dialog input{height:40px;border:1px solid var(--line);border-radius:4px;padding:0 10px;color:var(--navy)}.custom-range-dialog>div>span{height:40px;display:flex;align-items:center;color:var(--muted)}.custom-range-dialog>footer{height:66px;padding:0 24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:8px}.donut-chart{min-height:250px}.donut-body{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:24px}.donut-wheel{width:144px;height:144px;border-radius:50%;display:grid;place-items:center}.donut-wheel:before{content:"";grid-area:1/1;width:88px;height:88px;border-radius:50%;background:#fff}.donut-wheel>span{z-index:1;grid-area:1/1;display:grid;text-align:center;color:var(--muted);font-size:8px}.donut-wheel b{font:650 24px Georgia;color:var(--navy)}.donut-body ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}.donut-body li{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;color:#637174;font-size:9px}.donut-body li i{width:8px;height:8px;border-radius:50%}.donut-body li strong{color:var(--navy);font:650 15px Georgia}.period-control{position:relative}.custom-range-popover{position:absolute;z-index:70;top:calc(100% + 8px);right:0}.table-link{border:0;background:transparent;padding:0;color:var(--teal);font-weight:650}.account-card{max-width:760px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.account-fields{padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.account-fields label{display:grid;gap:7px;color:#46575a;font-size:10px}.account-fields input{height:40px;border:1px solid var(--line);border-radius:4px;padding:0 11px;outline:0}.account-fields input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #168d7812}.account-fields small{color:var(--muted);font-size:8px}.account-card>footer{height:66px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;padding:0 24px}.table-filters{display:flex;align-items:center;gap:8px}.table-filters>label{width:300px}.table-filters select{height:34px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:0 28px 0 9px;color:#526266;font-size:9px}.tariff-tiers{grid-column:1/-1;padding:14px;border:1px solid var(--line);border-radius:6px;background:#f8faf8;display:grid;gap:10px}.tariff-tiers>header{display:flex;align-items:center;justify-content:space-between}.tariff-tiers>header div{display:grid;gap:3px}.tariff-tiers>header small{color:var(--muted);font-size:8px}.tariff-tiers>div{display:grid;grid-template-columns:90px repeat(3,1fr) 32px;align-items:end;gap:9px;padding:10px;background:#fff;border:1px solid #e6ece8}.tariff-tiers>div>strong{align-self:center;font-size:10px}.tariff-tiers label,.tariff-tier-start{display:grid;gap:5px;font-size:8px;color:#657477}.tariff-tier-start b{height:36px;display:flex;align-items:center;padding:0 9px;border:1px solid var(--line);border-radius:4px;background:#f3f6f4;color:var(--navy);font-weight:500}.tariff-tiers input,.pricing-apply-body select{height:36px;border:1px solid var(--line);border-radius:4px;padding:0 9px;background:#fff}.tariff-tiers>div>button{height:36px;border:0;background:transparent;color:var(--danger)}.pricing-apply-body{padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.pricing-apply-body>label{grid-column:1/-1;display:grid;gap:6px;font-size:10px}.pricing-apply-body fieldset{margin:0;min-height:160px;max-height:260px;overflow:auto;border:1px solid var(--line);display:grid;align-content:start;gap:8px;padding:12px}.pricing-apply-body legend{padding:0 5px;color:var(--navy);font-size:10px}.pricing-apply-body fieldset label{display:flex;align-items:center;gap:7px;font-size:9px}.pricing-apply-body input{accent-color:var(--teal)}.record-drawer{width:min(1104px,calc(100vw - 32px));max-height:calc(100vh - 32px)}.layout-dialog{width:min(672px,calc(100vw - 32px));max-height:calc(100vh - 32px)}.zone-detail-dialog{width:min(1248px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 24px 80px #05191f4d}.zone-detail-dialog>header{height:84px;padding:0 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.zone-detail-dialog>header>div:first-child{display:grid;gap:3px}.zone-detail-dialog>header span{color:var(--teal);font-size:8px;letter-spacing:1.4px}.zone-detail-dialog>header h2{margin:0;font:650 20px Georgia}.zone-detail-dialog>header p{margin:0;color:var(--muted);font-size:9px}.zone-detail-dialog>header>div:last-child{display:flex;align-items:center;gap:8px}.zone-detail-dialog .dialog-close{width:36px;height:36px;border:0;background:transparent}.zone-detail-dialog .dialog-close svg{width:20px}.zone-detail-map-shell{position:relative}.zone-detail-map{height:min(65vh,624px);background:#d8ded7}.zone-map-tip{position:absolute;z-index:900;top:14px;left:50%;transform:translate(-50%);padding:9px 14px;border-radius:5px;background:#0b2731eb;color:#fff;font-size:10px;box-shadow:0 6px 20px #0b273144}.zone-map-editor{position:absolute;z-index:1000;top:16px;right:16px;width:300px;padding:15px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 16px 40px #0b273144;display:grid;gap:12px}.zone-map-editor>header{display:flex;align-items:flex-start;justify-content:space-between}.zone-map-editor>header>div{display:grid;gap:3px}.zone-map-editor>header span{font-size:8px;letter-spacing:1px;color:var(--teal)}.zone-map-editor>header strong{font-size:15px}.zone-map-editor>header button{border:0;background:transparent}.zone-map-editor label{display:grid;gap:5px;font-size:9px;color:#46575a}.zone-map-editor input,.zone-map-editor textarea{width:100%;border:1px solid var(--line);border-radius:4px;padding:9px;font:11px inherit;outline:0}.zone-map-editor textarea{resize:vertical}.zone-map-editor>small{font-size:8px;line-height:1.6;color:var(--muted)}.zone-map-editor>footer{display:flex;justify-content:flex-end;gap:7px}.zone-detail-dialog>footer{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.zone-detail-dialog>footer button{height:82px;border:0;border-right:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;gap:10px}.zone-detail-dialog>footer button:last-child{border-right:0}.zone-detail-dialog>footer button:hover,.zone-detail-dialog>footer button.active{background:var(--teal-soft)}.zone-detail-dialog>footer button:disabled{opacity:.45;cursor:not-allowed}.zone-detail-dialog>footer b{font:650 20px Georgia;color:var(--navy)}.zone-detail-dialog>footer span{display:grid;gap:3px;color:var(--navy);font-size:10px;text-align:left}.zone-detail-dialog>footer small{font-size:8px;color:var(--muted)}.zone-detail-dialog .amap-marker-label{border:1px solid var(--line);border-radius:3px;padding:3px 6px;background:#fff;color:var(--navy);font-size:9px}.record-detail-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border-radius:10px;background:#fff;box-shadow:0 24px 80px #05191f4d}.record-detail-dialog>header{height:84px;padding:0 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.record-detail-dialog>header span{font-size:8px;letter-spacing:1.4px;color:var(--teal)}.record-detail-dialog>header h2{margin:4px 0 0;font:650 20px Georgia}.record-detail-dialog>header button{border:0;background:transparent}.record-detail-dialog dl{margin:0;padding:22px 24px;display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line)}.record-detail-dialog dt,.record-detail-dialog dd{margin:0;padding:10px 0;border-bottom:1px solid #edf1ef;font-size:10px}.record-detail-dialog dt{color:var(--muted)}.record-detail-dialog dd{overflow-wrap:anywhere;color:var(--navy)}.membership-type-dialog{overflow:hidden}.membership-type-options{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.membership-type-options button{min-height:86px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:16px;display:grid;grid-template-columns:28px 1fr 16px;align-items:center;gap:10px;text-align:left}.membership-type-options button:hover{border-color:var(--teal);background:var(--teal-soft)}.membership-type-options svg{width:24px;color:var(--teal)}.membership-type-options svg:last-child{width:14px;color:var(--muted)}.membership-type-options span{display:grid;gap:5px}.membership-type-options strong{font-size:13px;color:var(--navy)}.membership-type-options small{font-size:9px;color:var(--muted)}.membership-rule-dialog{width:min(1200px,calc(100vw - 32px))}.membership-benefit-grid{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.membership-benefit-grid label,.stored-tier-row label{display:grid;gap:6px;color:#46575a;font-size:10px}.membership-benefit-grid input,.membership-benefit-grid select,.stored-tier-row input,.stored-tier-row select{width:100%;height:40px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:0 10px;outline:0}.stored-tier-editor{padding:22px;overflow:auto}.stored-tier-editor>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stored-tier-editor>header div{display:grid;gap:3px}.stored-tier-editor>header small{color:var(--muted);font-size:8px}.stored-tier-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 34px;align-items:end;gap:10px;padding:13px;border:1px solid var(--line);background:#f8faf8}.stored-tier-row+.stored-tier-row{margin-top:9px}.stored-tier-row>button{height:40px;border:0;background:transparent;color:var(--danger)}.coupon-type-dialog{width:min(820px,calc(100vw - 32px));overflow:hidden}.coupon-type-options{padding:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.coupon-type-options button{min-height:92px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:15px;display:grid;grid-template-columns:24px 1fr 14px;align-items:center;gap:9px;text-align:left}.coupon-type-options button:hover{border-color:var(--teal);background:var(--teal-soft)}.coupon-type-options svg{width:22px;color:var(--teal)}.coupon-type-options svg:last-child{width:13px;color:var(--muted)}.coupon-type-options span{display:grid;gap:4px}.coupon-type-options strong{font-size:12px}.coupon-type-options small{font-size:8px;color:var(--muted)}.coupon-rule-dialog{width:min(980px,calc(100vw - 32px))}.coupon-rule-grid{padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;overflow:auto}.coupon-rule-grid label,.coupon-issue-body label{display:grid;gap:6px;color:#46575a;font-size:10px}.coupon-rule-grid input,.coupon-rule-grid select,.coupon-issue-body input{width:100%;height:40px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:0 10px;outline:0}.coupon-rule-grid small{color:var(--muted);font-size:8px}.coupon-issue-body{padding:22px;display:grid;gap:14px;position:relative}.coupon-customer-results{position:absolute;z-index:2;top:76px;right:22px;left:22px;max-height:190px;overflow:auto;border:1px solid var(--line);background:#fff;box-shadow:0 12px 28px #0b273126}.coupon-customer-results button{width:100%;min-height:44px;border:0;border-bottom:1px solid var(--line);background:#fff;padding:8px 11px;display:flex;align-items:center;justify-content:space-between}.coupon-customer-results button:hover{background:var(--teal-soft)}.coupon-customer-results span{color:var(--muted);font-size:9px}.selected-customer{margin:0;display:flex;align-items:center;gap:6px;color:var(--teal);font-size:9px}.selected-customer svg{width:15px}@media(max-width:620px){.section-tabs{margin:-18px -16px 18px;padding:0 16px;gap:18px}.membership-type-options,.membership-benefit-grid,.coupon-type-options,.coupon-rule-grid,.stored-tier-row{grid-template-columns:1fr}}@media(max-width:1100px){.operations-filter{align-items:flex-start;flex-wrap:wrap}.operations-range{margin-left:0}.operations-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.data-kpis{grid-template-columns:repeat(3,1fr)}.operations-charts,.account-fields{grid-template-columns:1fr}}@media(max-width:620px){.data-kpis,.operations-kpis{grid-template-columns:repeat(2,1fr)}.data-date-filter{align-items:stretch;flex-direction:column}.operations-filter>label{width:100%}.operations-filter select{flex:1}.period-switch{width:100%;overflow-x:auto}.custom-range-dialog>div{grid-template-columns:1fr}.custom-range-dialog>div>span{display:none}.record-drawer,.zone-detail-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.zone-detail-dialog>footer{grid-template-columns:repeat(2,1fr)}.zone-map-editor{top:8px;right:8px;left:8px;width:auto}.record-detail-dialog dl{grid-template-columns:105px 1fr}}.zone-map-editor select{width:100%;border:1px solid var(--line);border-radius:4px;padding:9px;font:11px inherit;outline:0;background:#fff}.zone-map-editor{max-height:calc(65vh - 32px);overflow:auto}.zone-map-editor input:focus,.zone-map-editor select:focus,.zone-map-editor textarea:focus{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-soft)}.zone-detail-dialog>footer{grid-template-columns:repeat(6,1fr)}@media(max-width:620px){.zone-detail-dialog>footer{grid-template-columns:repeat(2,1fr)}}.auth-screen{width:100%;max-width:none;margin:0;padding:0;background:radial-gradient(circle at 72% 20%,#1c4b53 0,transparent 35%),#0b2731}.ops-shell .ops-main{width:auto;max-width:none;min-height:100vh;margin:0 0 0 224px;padding:0;background:transparent}.ops-shell aside nav{display:block;grid-template-columns:none;margin:0}.ops-shell aside nav button{display:flex;justify-items:normal;padding:0 11px}.ops-shell .panel{border-radius:0;overflow:visible}.ops-shell .map-panel,.ops-shell .data-panel,.ops-shell .live-map,.ops-shell .workspace-map,.ops-shell .draw-map{overflow:hidden}.ops-shell .overlay{z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.ops-shell .toast{z-index:260;white-space:nowrap;font-size:10px}@media(max-width:900px){.ops-shell .ops-main{margin-left:0}}:root{--header-h: 80px;--sidebar-w: 232px;--navy: #071f33;--navy-2: #0b2d49;--teal: #287fd4;--teal-strong: #1768b4;--teal-soft: #eaf3fd;--gold: #d3a33b;--ink: #102a40;--muted: #617587;--line: #d9e3ec;--paper: #fff;--canvas: #f4f7fa;--danger: #c94f50;--warning: #c98121;--shadow: 0 12px 32px rgba(7, 31, 43, .08);--font-ui: "HarmonyOS Sans SC", "MiSans", "Source Han Sans SC", "Noto Sans CJK SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--font-data: "DIN Alternate", "Bahnschrift", "Roboto Condensed", var(--font-ui);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}html{color-scheme:light;scrollbar-color:#91a8ba #e9eef3;scrollbar-width:thin}body{font-family:var(--font-ui);font-size:13px;line-height:1.55;background:var(--canvas);color:var(--ink);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::selection{background:#cfe5fb;color:var(--navy)}*{scrollbar-width:thin;scrollbar-color:#91a5ab transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:#91a5ab;background-clip:padding-box}*::-webkit-scrollbar-track{background:transparent}button,input,select,textarea{font-family:var(--font-ui)}button,a,input,select,textarea{transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(40,127,212,.24);outline-offset:2px}input::placeholder,textarea::placeholder{color:#819299;opacity:1}input:disabled,select:disabled,textarea:disabled{background:#eef2f3!important;color:#7b8c92!important}.ops-shell{font-family:var(--font-ui);font-size:13px;background:var(--canvas)}.ops-shell .ops-main{margin-left:var(--sidebar-w);padding-top:var(--header-h)}.content{max-width:1720px;padding:32px 36px 56px}.eyebrow{display:none}.overview-head,.page-title{align-items:center;gap:32px;margin-bottom:26px}.page-title>div:first-child{display:grid;align-content:start;gap:0}.overview-head h1,.page-title h1{margin:0;font-family:var(--font-ui);font-size:28px;font-weight:750;line-height:1.25;letter-spacing:-.02em;color:var(--navy)}.overview-head p,.page-title p{max-width:72ch;font-size:13px;line-height:1.7;color:var(--muted)}.global-header{z-index:100;height:var(--header-h);padding:0 30px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 7px 26px #0c365812}.global-brand{gap:24px}.global-brand img{width:224px;height:44px}.global-brand strong{font-size:21px;font-weight:720;letter-spacing:.04em;color:var(--navy)}.global-header .zone-switch{display:flex;align-items:center;gap:8px;margin-left:auto;padding-left:18px;border-left:1px solid var(--line);color:var(--muted);font-size:10px}.global-header .zone-switch select{height:34px;min-width:132px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:0 8px;font-size:12px;color:var(--navy);outline:none}.global-header .zone-switch select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #168d7812}.global-header .zone-switch select:disabled{background:#f0f3f1;color:#8b9798}.global-header .user-chip{gap:10px;border-left:1px solid var(--line);padding-left:22px}.global-header .user-chip>span{width:36px;height:36px;font-size:12px;background:var(--navy)}.global-header .user-chip>strong{font-size:13px;font-weight:650}.global-header .user-chip>button{width:38px;height:38px;border-radius:var(--radius-sm)}.global-header .user-chip>button:hover{background:var(--teal-soft);color:var(--teal-strong)}.ops-shell>aside{z-index:80;top:var(--header-h);bottom:0;width:var(--sidebar-w);background:var(--navy)}.ops-shell aside nav{padding:18px 12px 24px}.ops-shell aside nav section+section{margin-top:17px}.ops-shell aside nav section>small{padding:8px 12px;color:#7897ae;font-size:11px;font-weight:650;letter-spacing:.1em}.ops-shell aside nav button{height:44px;padding:0 13px;border-radius:7px;gap:12px;color:#c1d0dc;font-size:14px;font-weight:560}.ops-shell aside nav button>svg:first-child{width:19px;height:19px;color:#58a8ee}.ops-shell aside nav button:hover{background:#0e3858;color:#fff}.ops-shell aside nav button.active{background:#154c76;color:#fff;box-shadow:inset 3px 0 #4ba3f2}.ops-shell aside nav button.active>svg:first-child{color:#82c5ff}.nav-caret{width:14px;opacity:.5}.aside-foot{height:72px;padding:0 22px;border-top-color:#1c414d}.aside-foot strong{font-size:12px}.aside-foot small{font-size:10px}.content:has(>.section-tabs){display:grid;grid-template-columns:320px minmax(0,1fr);column-gap:14px;align-items:start}.content:has(>.section-tabs)>.page-title{display:contents}.content:has(>.section-tabs)>.page-title>div:first-child{grid-row:1;grid-column:1;width:320px;max-width:100%;margin-bottom:26px}.content:has(>.section-tabs)>:not(.section-tabs):not(.page-title){grid-column:1/-1}.section-tabs{grid-row:1;grid-column:2;align-self:start;justify-self:start;display:inline-flex;min-height:46px;margin:0 0 26px;padding:4px;gap:4px;border:1px solid #dbe5ec;border-radius:9px;background:#edf3f7;box-shadow:none;overflow-x:auto}.section-tabs button{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:104px;height:38px;min-height:38px;padding:0 16px;border:0;border-radius:6px;font-size:14px;font-weight:650;line-height:1;color:#526c7f;white-space:nowrap}.section-tabs button:after{display:none}.section-tabs button:hover{background:#fff;color:var(--teal-strong)}.section-tabs button.active{background:var(--teal);font-weight:700;color:#fff;box-shadow:0 4px 12px #287fd438}.primary,.secondary{min-height:40px;height:40px;padding:0 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:650}.primary{border-color:var(--teal);background:var(--teal)}.primary:hover{border-color:var(--teal-strong);background:var(--teal-strong)}.secondary{border-color:var(--line);color:#314a54}.secondary:hover{border-color:#a9bbc1;background:#f6f9fa;color:var(--navy)}.icon-button{width:40px;height:40px;border-radius:var(--radius-sm)}.text-button,.table-link,.row-actions button,.exception-row button{min-height:32px;font-size:12px;font-weight:650}.text-button:hover,.table-link:hover,.row-actions button:hover,.exception-row button:hover{color:var(--teal-strong);text-decoration:underline;text-underline-offset:3px}.overview-actions select,.page-title select,.operations-filter select,.table-filters select,.data-date-filter input{height:40px;border-color:var(--line);border-radius:var(--radius-sm);font-size:12px;color:var(--ink)}.kpis,.data-kpis{gap:14px;margin-bottom:16px}.kpis article,.data-kpis article{min-height:118px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:none;background:#fff}.kpis article>span,.data-kpis span{font-size:12px;font-weight:650;color:#344c55}.kpis article>span small,.data-kpis small{margin-top:3px;font-size:10px;font-weight:400;color:#778990}.kpis article>strong,.data-kpis strong,.finance-total strong,.people-stats strong,.alert-levels b,.donut-wheel b,.donut-body li strong,.fleet-chart li strong{font-family:var(--font-data);font-variant-numeric:tabular-nums;color:var(--navy)}.kpis article>strong{margin:14px 0 6px;font-size:27px;line-height:1}.kpis article>em{font-size:11px}.kpis article>svg{width:20px;color:#7d9699}.dashboard-grid,.operations-charts{gap:16px}.ops-shell .panel,.data-panel,.operations-chart,.operations-filter,.account-card,.organization-chart,.boundary-workspace,.map-workspace{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:none;background:var(--paper)}.ops-shell .panel{overflow:hidden}.panel>header{height:64px;padding:0 20px;border-bottom-color:#e4eaed}.panel>header small,.operations-chart>header small,.operations-chart>header>span{font-size:10px;line-height:1.45;color:#71858c;text-transform:none;letter-spacing:.02em}.panel>header h2,.operations-chart>header strong{margin-top:2px;font-family:var(--font-ui);font-size:16px;font-weight:720;color:var(--navy)}.panel-empty,.chart-empty{font-size:12px;color:#71858c}.finance-total span,.finance-total small,.campaign-list small,.alert-levels span,.trend-legend,.zone-ranking label,.fleet-chart li,.donut-body li{font-size:11px}.campaign-list b{font-size:12px}.campaign-list button{min-height:52px}.alert-levels button:hover,.campaign-list button:hover{background:#f4faf8}.operations-chart{padding:20px;min-height:292px}.operations-chart>header{margin-bottom:20px}.trend-column b,.trend-column small,.hourly-bars small,.zone-location{font-size:9px}.trend-bars,.hourly-bars{height:200px}.bar-chart small,.bar-value{font-size:10px}.operations-filter{min-height:68px;padding:12px 16px;gap:20px}.operations-filter>label{gap:10px;font-size:12px;color:#465e67}.period-switch{gap:4px;padding:4px;border-radius:8px;background:#edf2f3}.period-switch button{height:34px;padding:0 13px;border-radius:5px;font-size:11px;font-weight:600;color:#5f747c}.period-switch button:hover,.period-switch button.active{color:var(--teal-strong);box-shadow:0 2px 8px #071f2b14}.operations-range{font-size:11px}.custom-range-popover{z-index:220;top:calc(100% + 10px)}.custom-range-dialog{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 24px 70px #071f2b3d}.custom-range-dialog>header{height:70px}.custom-range-dialog h2{font-family:var(--font-ui);font-size:18px}.custom-range-dialog label{font-size:12px}.table-toolbar{height:72px;padding:0 18px}.table-toolbar>label{width:min(360px,42vw);height:42px;border-radius:var(--radius-sm);background:#f7f9fb}.table-toolbar input,.table-toolbar>div>span,.table-filters select{font-size:13px}.table-filters select{height:40px}.table-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.toolbar-create,.toolbar-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 16px;border-radius:7px;font-size:13px;font-weight:700;white-space:nowrap}.toolbar-create{border:1px solid var(--teal);background:var(--teal);color:#fff}.toolbar-create:hover{border-color:var(--teal-strong);background:var(--teal-strong)}.toolbar-secondary{border:1px solid var(--line);background:#fff;color:#385468}.toolbar-secondary:hover{border-color:#a7bdce;background:#f5f8fb;color:var(--teal-strong)}.toolbar-create svg,.toolbar-secondary svg{width:16px;height:16px}.table-scroll{max-height:calc(100vh - 260px)}table{font-variant-numeric:tabular-nums}th,td{height:58px;padding:0 18px;font-size:14px;line-height:1.45}th{height:50px;background:#edf3f8;color:#435f74;font-size:13px;font-weight:700;letter-spacing:.01em}tbody tr:hover{background:#f1f7fd}.status-pill{padding:5px 10px;font-size:12px;font-weight:650}.row-actions{display:flex;align-items:center;gap:4px}.row-actions button{font-size:13px}.table-empty{height:220px;font-size:14px}.membership-rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px;background:#f5f8fb}.membership-rule-card{min-width:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.membership-rule-card>header{min-height:82px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e6edf2}.membership-rule-card>header>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px}.membership-rule-card>header span{padding:4px 8px;border-radius:5px;background:var(--teal-soft);color:var(--teal-strong);font-size:11px;font-weight:700}.membership-rule-card>header strong{font-size:16px;color:var(--navy)}.membership-rule-card>header small{grid-column:1/-1;color:var(--muted);font-size:11px}.membership-rule-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:18px}.membership-rule-card dl div{display:grid;gap:5px}.membership-rule-card dt{color:var(--muted);font-size:11px}.membership-rule-card dd{margin:0;color:var(--ink);font-size:14px;font-weight:650}.stored-tier-summary{display:grid;gap:10px;padding:16px 18px}.stored-tier-summary>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;background:#f5f8fb}.stored-tier-summary strong{font-size:14px;color:var(--navy)}.stored-tier-summary span{padding:0;background:transparent;color:var(--ink);font-size:13px;font-weight:500}.stored-tier-summary small{color:var(--muted);font-size:11px}.overlay{z-index:200;padding:20px;background:#04172094;-webkit-backdrop-filter:none;backdrop-filter:none}.record-drawer,.layout-dialog,.zone-detail-dialog,.record-detail-dialog,.membership-rule-dialog,.coupon-type-dialog,.coupon-rule-dialog{border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-lg);box-shadow:0 30px 90px #02121957}.record-drawer{width:min(1120px,calc(100vw - 40px));max-height:calc(100dvh - 40px)}.record-drawer>header,.layout-dialog>header,.zone-detail-dialog>header,.record-detail-dialog>header{min-height:76px;height:76px;padding:0 26px}.record-drawer>header span,.layout-dialog>header span,.zone-detail-dialog>header span,.record-detail-dialog>header span{font-size:10px;font-weight:700;letter-spacing:.12em}.record-drawer>header h2,.layout-dialog>header h2,.zone-detail-dialog>header h2,.record-detail-dialog>header h2{font-family:var(--font-ui);font-size:20px;font-weight:750;letter-spacing:-.01em;color:var(--navy)}.record-drawer>header button,.layout-dialog>header button,.zone-detail-dialog .dialog-close,.record-detail-dialog>header button{width:40px;height:40px;border-radius:var(--radius-sm)}.record-drawer>header button:hover,.layout-dialog>header button:hover,.zone-detail-dialog .dialog-close:hover,.record-detail-dialog>header button:hover{background:#edf3f4}.form-grid{padding:24px 26px;gap:18px 20px}.form-grid label,.account-fields label,.membership-benefit-grid label,.stored-tier-row label,.coupon-rule-grid label,.coupon-issue-body label,.zone-map-editor label{gap:7px;font-size:12px;color:#3e5660}.form-grid label>small,.account-fields small,.coupon-rule-grid small,.stored-tier-editor>header small{font-size:10px;line-height:1.45}.form-grid input,.form-grid select,.account-fields input,.membership-benefit-grid input,.membership-benefit-grid select,.stored-tier-row input,.stored-tier-row select,.coupon-rule-grid input,.coupon-rule-grid select,.coupon-issue-body input,.tariff-tiers input,.pricing-apply-body select{height:42px;border-color:var(--line);border-radius:var(--radius-sm);font-size:13px}.form-grid textarea{min-height:96px;padding:11px 12px;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:13px;line-height:1.6}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #287fd424}.record-drawer>footer,.layout-dialog>footer{height:72px;padding:0 26px;background:#fbfcfc}.form-map-field{border-radius:var(--radius-md)}.form-map-field>header{min-height:60px;padding:10px 14px}.form-map-field>header span{font-size:12px}.form-map-field>header small,.form-map-field>footer{font-size:10px}.form-map-search>div:first-child{height:42px;border-radius:var(--radius-sm)}.form-map-search input,.form-map-search>div:first-child>button{font-size:12px}.form-map-results button{min-height:44px;font-size:11px}.zone-map-editor{z-index:1100;width:340px;padding:18px;border-radius:var(--radius-md);box-shadow:0 18px 50px #071f2b3d}.zone-map-editor>header span,.zone-map-editor>small{font-size:10px}.zone-map-editor>header strong{font-size:16px}.zone-map-editor>footer .danger{margin-right:auto;border-color:#d97066;color:#b8463d;background:#fff}.zone-map-editor>footer .danger:hover{background:#fff1ef}.zone-detail-dialog>footer button{height:88px}.zone-detail-dialog>footer b{font-family:var(--font-data);font-size:22px}.zone-detail-dialog>footer span{font-size:12px}.zone-detail-dialog>footer small{font-size:10px}.record-detail-dialog dt,.record-detail-dialog dd{font-size:12px}.membership-type-options button,.coupon-type-options button{border-radius:var(--radius-md)}.membership-type-options strong,.coupon-type-options strong{font-size:14px}.membership-type-options small,.coupon-type-options small{font-size:11px;line-height:1.5}.pricing-apply-body>label,.pricing-apply-body legend,.pricing-apply-body fieldset label,.tariff-tiers>div>strong,.tariff-tiers label,.tariff-tier-start{font-size:11px}.account-card{width:100%;max-width:none;min-height:330px}.account-fields{padding:32px;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 26px}.account-fields label{font-size:13px;font-weight:600}.account-fields input{height:46px;font-size:14px}.account-fields small{font-weight:400}.account-card>footer{height:78px;padding:0 32px;background:#f8fafc}.qualification-title>label{display:grid;gap:6px;color:var(--muted);font-size:11px}.qualification-title>label select{min-width:240px}.qualification-panel{width:min(760px,100%);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;overflow:hidden;box-shadow:var(--shadow)}.qualification-panel>header{min-height:104px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:#f7fafc}.qualification-panel>header h2{margin:0 0 6px;color:var(--navy);font-size:19px}.qualification-panel>header p{margin:0;color:var(--muted);font-size:12px}.qualification-panel>header>span{padding:6px 10px;border-radius:999px;background:var(--teal-soft);color:var(--teal-strong);font-size:11px;font-weight:700;white-space:nowrap}.qualification-options{padding:4px 28px}.qualification-margin{padding:0 28px 16px}.qualification-margin>label{display:flex;align-items:center;justify-content:space-between;gap:24px}.qualification-margin>label>span{display:grid;gap:5px}.qualification-margin strong{color:var(--ink);font-size:15px}.qualification-margin small{color:var(--muted);font-size:11px}.qualification-margin input[type=number]{width:110px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px}.qualification-options>label{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);cursor:pointer}.qualification-options>label:last-child{border-bottom:0}.qualification-options>label>span{display:grid;gap:5px}.qualification-options strong{color:var(--ink);font-size:15px}.qualification-options small,.qualification-panel>footer small{color:var(--muted);font-size:11px}.qualification-options input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:46px;height:26px;flex:0 0 auto;border:1px solid #aebdc8;border-radius:999px;background:#dce4ea;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.qualification-options input:after{content:"";display:block;width:20px;height:20px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0b25323d;transition:transform .16s ease}.qualification-options input:checked{border-color:var(--teal);background:var(--teal)}.qualification-options input:checked:after{transform:translate(20px)}.qualification-options input:focus-visible{outline:3px solid rgba(40,127,212,.24);outline-offset:3px}.qualification-options input:disabled{cursor:wait;opacity:.55}.qualification-panel>footer{min-height:78px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);background:#fbfcfd}@media(max-width:1200px){.content{padding-inline:24px}.content:has(>.section-tabs){grid-template-columns:1fr}.content:has(>.section-tabs)>.section-tabs{grid-row:2;grid-column:1;justify-self:start;margin-top:-14px}.global-brand img{width:190px}.global-brand strong{font-size:18px}.operations-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.account-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){:root{--header-h: 68px}.ops-shell .ops-main{margin-left:0;padding-top:var(--header-h)}.global-header{height:var(--header-h);padding:0 16px;gap:12px}.global-brand{gap:12px}.global-brand img{width:145px;height:34px}.global-brand strong{font-size:15px}.ops-shell>aside{top:var(--header-h)}.content{padding:24px 18px 40px}.kpis,.data-kpis,.operations-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.membership-rule-list{grid-template-columns:1fr}.record-drawer{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}}@media(max-width:620px){.global-brand img{width:104px}.global-brand strong{max-width:130px;white-space:normal;font-size:12px;line-height:1.25}.global-header .user-chip{padding-left:10px}.global-header .user-chip>span{width:32px;height:32px}.global-header .user-chip>button{width:34px;height:34px}.content{padding:20px 14px 32px}.content:has(>.section-tabs){grid-template-columns:1fr}.section-tabs{max-width:100%}.section-tabs button{min-width:104px}.overview-head h1,.page-title h1{font-size:24px}.overview-head p,.page-title p{font-size:12px}.kpis,.data-kpis,.operations-kpis{grid-template-columns:1fr}.operations-filter{align-items:stretch}.period-switch{overflow-x:auto}.operations-range{white-space:normal}.custom-range-popover{position:fixed;top:82px;right:12px;left:12px;width:auto}.table-toolbar{height:auto;min-height:66px;padding-block:12px;align-items:stretch;gap:10px;flex-direction:column}.table-toolbar>label{width:100%}.table-toolbar-actions{justify-content:flex-start;flex-wrap:wrap}.membership-rule-list{padding:12px}.membership-rule-card dl{grid-template-columns:1fr}.stored-tier-summary>div{grid-template-columns:1fr}.overlay{padding:8px}.record-drawer{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.record-drawer>header,.layout-dialog>header{padding:0 18px}.form-grid{grid-template-columns:1fr;padding:20px 18px}.record-drawer>footer,.layout-dialog>footer{padding:0 18px}.zone-detail-dialog>footer button{height:74px}.account-fields{grid-template-columns:1fr;padding:22px 18px}.account-card>footer{padding:0 18px}.qualification-title>label,.qualification-title>label select,.qualification-panel{width:100%;min-width:0}.qualification-panel>header,.qualification-panel>footer{padding-inline:18px}.qualification-panel>header{align-items:flex-start;flex-direction:column}.qualification-options{padding-inline:18px}.qualification-panel>footer small{max-width:145px}}*{box-sizing:border-box}:root{font-family:Source Han Sans SC,PingFang SC,system-ui,sans-serif;color:#182231;background:#eef3f8}body{margin:0}button{font:inherit;color:inherit}main{width:min(100%,430px);min-height:100vh;margin:auto;padding:18px 12px 24px;background:#fff}header{height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px}.brand{display:flex;align-items:center;white-space:nowrap}.brand strong,.brand span{color:#1870ea;font-weight:900}.brand strong{font-size:22px}.brand span{font-size:13px;letter-spacing:1px;margin-left:4px}.brand i{height:20px;border-left:1px solid #bbc2ca;margin:0 8px}.brand b{font-size:15px}.zone{border:0;background:#f5f7fa;border-radius:22px;padding:9px 10px;display:flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap}.zone svg{width:17px;color:#1670ef}.hero{height:216px;position:relative;overflow:hidden;border-radius:12px;margin-top:14px;background:#d9e6d6}.hero img{width:100%;height:100%;object-fit:cover;object-position:center 56%;transform:scaleX(-1)}.shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(6,27,43,.72),transparent 65%)}.copy{position:absolute;left:16px;top:82px;color:#fff;text-shadow:0 1px 4px #142e2c}.copy h1{font-size:22px;margin:0 0 7px}.copy p{margin:0;font-size:16px}.dots{position:absolute;bottom:7px;left:47%;color:#aaa;font-size:11px;letter-spacing:4px}.dots:first-letter{color:#fff}nav{display:grid;grid-template-columns:repeat(4,1fr);margin:20px 0}nav button{border:0;border-right:1px solid #edf0f3;background:transparent;display:grid;justify-items:center;gap:7px;padding:0}nav button:last-child{border:0}nav svg{width:34px;height:34px;color:#1670ef}nav button:nth-child(3) svg{color:#26ae5f}nav span{font-size:14px;font-weight:600}.panel{border:1px solid #e4e8ec;border-radius:13px;overflow:hidden}.head{height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between}.head h2{font-size:18px;margin:0}.head span{display:flex;align-items:center;gap:4px;color:#20aa58;background:#edf9f1;padding:5px 9px;border-radius:20px;font-size:12px}.head svg{width:16px}.map{height:330px;position:relative;overflow:hidden;background:url(/map.jpg) center/cover}.boundary{position:absolute;top:24px;right:18px;bottom:30px;left:18px;border:3px dashed #1478ef;border-radius:44% 38% 42% 35%;transform:rotate(3deg)}.route{position:absolute;left:41%;top:23%;width:9px;height:59%;background:#20ae5f;border:2px solid #fff;border-radius:8px;transform:rotate(-27deg)}.station{position:absolute;z-index:2;border:0;background:transparent;display:flex;align-items:center;padding:0}.station svg{width:27px;height:27px;color:#1670ef}.station span{background:#fff;border-radius:6px;padding:5px 7px;font-weight:700;font-size:12px;box-shadow:0 2px 7px #375c6d36}.station small{display:block;margin-top:3px;color:#fff;background:#20ae5f;border-radius:5px;padding:2px}.a{top:18%;left:46%}.b{top:52%;left:22%}.c{right:7%;bottom:17%}.legend{position:absolute;z-index:2;left:12px;bottom:12px;background:#fff;padding:8px 10px;border-radius:8px;display:grid;gap:4px;font-size:11px;color:#1670ef}.locate{position:absolute;z-index:2;right:12px;bottom:12px;border:0;border-radius:50%;width:40px;height:40px;background:#fff}.scan{width:100%;height:58px;border:0;border-radius:12px;margin:14px 0;background:#116dec;color:#fff;font-size:24px;font-weight:800;display:flex;justify-content:center;align-items:center;gap:12px}.scan svg{width:30px}.safety{width:100%;border:1px solid #e1e5e9;border-radius:13px;background:#fff;display:flex;align-items:center;text-align:left;gap:12px;padding:14px}.safety>svg{color:#1670ef;width:30px}.safety span{flex:1;display:grid;gap:3px}.safety b{font-size:17px}.safety small{color:#7d8792;font-size:11px}.overlay{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;display:grid;place-items:end center;background:#0d1f3155;padding:20px}.dialog{width:min(390px,100%);background:#fff;border-radius:18px;padding:20px}.dialog p{color:#687381;line-height:1.6}.dialog button{width:100%;height:44px;margin-top:8px;border:1px solid #dfe4ea;border-radius:10px;background:#fff}.dialog .primary{border:0;background:#1670ef;color:#fff}.toast{position:fixed;z-index:20;left:50%;bottom:24px;transform:translate(-50%);background:#132233;color:#fff;padding:11px 16px;border-radius:22px;white-space:nowrap;font-size:13px}@media(max-width:360px){.brand b{display:none}.hero{height:200px}.map{height:300px}}
