:root{--navy:#062844;--navy-2:#0a3558;--blue:#0071bb;--blue-soft:#e6f1f8;--bg:#f4f6f8;--card:#fff;--text:#0b1b2b;--muted:#64748b;--line:#e3e8ee;--success:#0e7a4f;--success-soft:#e3f6ec;--warning:#9a5b00;--warning-soft:#fff3df;--danger:#b42318;--danger-soft:#fdecea;--info:#0058a3;--info-soft:#e6f1f8;--radius:14px;--shadow:0 1px 2px #0628440f, 0 4px 16px #0628440a;--series-1:#2a78d6;--chart-grid:#eceff3;--chart-axis:#c3c9d1;--spark:#8a9bb0;--brand-orange:#f0a031;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.3px;margin:0;font-size:22px}h2{margin:0 0 12px;font-size:16px}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, var(--navy) 0%, #04203a 100%);color:#fff;flex-direction:column;gap:4px;height:100vh;padding:26px 14px 18px;display:flex;position:sticky;top:0}.brand{flex-direction:column;align-items:flex-start;gap:8px;padding:0 12px 26px;display:flex}.brand img{width:150px;height:auto;display:block}.brand-tag{letter-spacing:1.6px;text-transform:uppercase;color:var(--brand-orange);font-size:11px;font-weight:600}.nav{flex-direction:column;gap:4px;display:flex}.nav-link{color:#b8c7d6;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav-link:hover{color:#fff;background:#ffffff12;text-decoration:none}.nav-link.active{color:#fff;background:#ffffff1f;font-weight:600}.nav-link.active:before{content:"";background:var(--brand-orange);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-14px}.sidebar-foot{color:#b8c7d6;border-top:1px solid #ffffff1a;margin-top:auto;padding:14px 6px 0;font-size:13px}.who{align-items:center;gap:10px;display:flex}.who strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:600;display:block;overflow:hidden}.who .role{color:#8ea3b8;font-size:12px}.avatar{background:var(--brand-orange);width:34px;height:34px;color:var(--navy);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.sidebar-foot button.ghost{color:#d5e0ea;background:0 0;border-color:#ffffff2e;justify-content:center;width:100%;margin-top:12px}.sidebar-foot button.ghost:hover{background:#ffffff14}.main{min-width:0;padding:24px 28px 40px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.page-head .sub{color:var(--muted);margin-top:4px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card+.card{margin-top:16px}.grid>.card+.card,.chart-grid-2>.card+.card,.kpi-grid>.card+.card{margin-top:0}.grid{gap:16px;display:grid}.cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.two-col{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f8fafc}td .secondary{color:var(--muted);margin-top:2px;font-size:12px;display:block}.empty{text-align:center;color:var(--muted);padding:32px 12px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.neutral{color:#334155;background:#eef2f6}.badge.success{background:var(--success-soft);color:var(--success)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.muted{color:var(--muted);background:#f1f5f9}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.on{background:#16a34a;box-shadow:0 0 0 3px #16a34a2e}.dot.off{background:#94a3b8}.dot.job{background:var(--blue);box-shadow:0 0 0 3px #0071bb2e}button,.btn{font:inherit;border:1px solid var(--line);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;display:inline-flex}button:hover{background:#f8fafc}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}button.primary:hover{background:var(--navy-2)}button.danger{color:var(--danger);border-color:#f5c2bd}button.danger:hover{background:var(--danger-soft)}input,select,textarea{font:inherit;border:1px solid var(--line);color:var(--text);background:#fff;border-radius:10px;padding:9px 12px;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:-1px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tab{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}.tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.pager{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.pager div{gap:8px;display:flex}.kv{grid-template-columns:140px 1fr;gap:8px 14px;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;margin:0}.timeline{margin:0;padding:0;list-style:none}.timeline li{grid-template-columns:14px 1fr;gap:10px;padding-bottom:14px;font-size:14px;display:grid;position:relative}.timeline li:before{content:"";background:var(--blue);border-radius:50%;width:10px;height:10px;margin-top:5px}.timeline li:not(:last-child):after{content:"";background:var(--line);width:2px;position:absolute;top:17px;bottom:0;left:4px}.timeline .when{color:var(--muted);font-size:12px}.docs{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.doc{border:1px solid var(--line);background:#f8fafc;border-radius:12px;overflow:hidden}.doc .thumb{height:120px;color:var(--muted);background:#eef2f6;justify-content:center;align-items:center;font-size:13px;display:flex}.doc img{object-fit:cover;width:100%;height:120px;display:block}.doc .cap{justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.back{margin-bottom:10px;font-size:14px;display:inline-block}.notice{border-radius:10px;padding:12px 14px;font-size:14px}.notice.error{background:var(--danger-soft);color:var(--danger)}.notice.warn{background:var(--warning-soft);color:var(--warning)}.price-row{justify-content:space-between;gap:12px;padding:4px 0;font-size:14px;display:flex}.price-row span:last-child{white-space:nowrap;flex:none}.price-row.total{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-weight:700}.map{border:1px solid var(--line);border-radius:12px;height:460px;overflow:hidden}.map.small{height:340px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.live-list{flex-direction:column;gap:8px;max-height:460px;display:flex;overflow-y:auto}.live-item{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:10px;align-items:flex-start;gap:10px;width:100%;padding:10px;font-size:13px;display:flex}.live-item:hover{background:#f8fafc}.live-item .dot{flex:none;margin-top:5px}.live-badge{color:var(--success);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.login-page{background:linear-gradient(160deg, var(--navy) 0%, #0b4a7a 100%);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{background:#fff;border-radius:18px;flex-direction:column;gap:14px;width:100%;max-width:400px;padding:34px 32px;display:flex;box-shadow:0 20px 50px #00000040}.login-head{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:6px;display:flex}.login-head img{width:190px;height:auto;margin-bottom:14px}.login-head h1{font-size:18px}.login-head .sub{color:var(--muted);font-size:14px}.login-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.login-card button{justify-content:center;padding:12px}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{flex-flow:wrap;align-items:center;height:auto;padding:12px;position:static}.brand{padding:0 14px 0 4px}.brand img{width:110px}.brand-tag,.nav-link.active:before{display:none}.nav{flex-flow:wrap}.sidebar-foot{display:none}.two-col{grid-template-columns:minmax(0,1fr)}.main{padding:16px}.kv{grid-template-columns:110px 1fr}}.chart-section{margin-top:28px}.chart-section .page-head{margin-bottom:14px}.chart-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.chart-card{flex-direction:column;gap:10px;min-width:0;margin:0;transition:opacity .2s;display:flex}.chart-card.refreshing{opacity:.55}.chart-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chart-title{font-size:15px;font-weight:700}.chart-sub{color:var(--muted);margin-top:3px;font-size:13px}.chart-toggle{padding:5px 10px;font-size:12px}.chart{width:100%;min-width:0;position:relative}.chart svg{display:block;overflow:visible}.chart svg rect[tabindex]:focus{outline:none}.chart svg rect[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.chart-grid{stroke:var(--chart-grid);stroke-width:1px;shape-rendering:crispedges}.chart-baseline{stroke:var(--chart-axis);stroke-width:1px;shape-rendering:crispedges}.chart-crosshair{stroke:var(--muted);stroke-width:1px;shape-rendering:crispedges}.chart-axis{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-axis-strong{fill:var(--text);font-size:12px}.chart-label{fill:var(--text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.chart-tooltip{pointer-events:none;border:1px solid var(--line);white-space:nowrap;z-index:5;background:#fff;border-radius:8px;grid-template-columns:auto auto;align-items:center;column-gap:8px;padding:6px 10px;font-size:12px;display:grid;position:absolute;transform:translate(-50%,-100%);box-shadow:0 6px 18px #0628441f}.chart-tooltip strong{color:var(--text);font-size:14px}.chart-tooltip span:last-child{color:var(--muted);grid-column:2}.chart-tooltip-key{background:var(--series-1);border-radius:1px;grid-row:span 2;width:12px;height:2px}.chart-table{max-height:260px;overflow-y:auto}.chart-table td.num{text-align:right;font-variant-numeric:tabular-nums}.range-tabs{gap:6px;display:flex}@media (width<=1100px){.chart-grid-2{grid-template-columns:minmax(0,1fr)}}.hero{color:#fff;background:radial-gradient(120% 140% at 100% 0%, #0d5a93 0%, var(--navy) 55%, #041b30 100%);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;padding:26px 28px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0628442e}.hero-text,.hero-side{z-index:1;position:relative}.hero-text h1{margin:6px 0 8px;font-size:26px}.hero-text p{color:#c6d5e4;max-width:520px;margin:0;font-size:14px}.hero-date{letter-spacing:1px;text-transform:uppercase;color:var(--brand-orange);font-size:12px;font-weight:600}.hero-side{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.hero-figure{letter-spacing:-.6px;font-variant-numeric:tabular-nums;margin-top:10px;font-size:30px;font-weight:700}.hero-caption{color:#c6d5e4;font-size:13px}.hero-updated{color:#8ea3b8;margin-top:4px;font-size:12px}.hero-live{color:#c6d5e4;background:#ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.hero-live.on{color:#b6f0cd}.pulse{background:#94a3b8;border-radius:50%;width:8px;height:8px}.hero-live.on .pulse{background:#34d399;animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #34d39999}70%{box-shadow:0 0 0 8px #34d39900}to{box-shadow:0 0 #34d39900}}.hero-art{opacity:.16;pointer-events:none;width:380px;height:190px;position:absolute;top:-10px;right:18%}.hero-art path{fill:none;stroke:#fff;stroke-width:7px;stroke-linecap:round}.hero-art rect{fill:var(--brand-orange)}.hero-art circle{fill:#fff}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.kpi{flex-direction:column;gap:8px;min-width:0;margin:0;display:flex}.kpi-head{align-items:center;gap:10px;display:flex}.kpi-icon{background:var(--blue-soft);width:32px;height:32px;color:var(--blue);border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.kpi-label{color:var(--muted);font-size:13px;font-weight:600}.kpi-value{letter-spacing:-.6px;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:28px;font-weight:700;overflow:hidden}.kpi-of{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:500}.kpi-foot{color:var(--muted);margin-top:auto;font-size:12px}.delta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.delta{font-variant-numeric:tabular-nums;border-radius:6px;padding:2px 7px;font-weight:700}.delta.up{background:var(--success-soft);color:var(--success)}.delta.down{background:var(--danger-soft);color:var(--danger)}.delta.flat{color:#475569;background:#eef2f6}.sparkline{height:40px}.meter-wrap{flex-direction:column;gap:10px;margin-top:auto;display:flex}.meter{background:#e9eef3;border-radius:999px;gap:2px;height:10px;display:flex;overflow:hidden}.meter .seg{height:100%}.meter .seg:first-child{border-radius:999px 0 0 999px}.meter .seg.job{background:var(--blue)}.meter .seg.on{background:#16a34a}.meter-legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.meter-legend>span{align-items:center;gap:6px;display:inline-flex}.ops-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.ops-tile{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--text);border-radius:12px;align-items:center;gap:12px;min-width:0;padding:14px 16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.ops-tile:hover{border-color:#c9d5e1;text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 18px #06284414}.ops-icon{color:#475569;background:#eef2f6;border-radius:10px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.ops-tile.warning .ops-icon{background:var(--warning-soft);color:var(--warning)}.ops-tile.info .ops-icon{background:var(--info-soft);color:var(--info)}.ops-tile.success .ops-icon{background:var(--success-soft);color:var(--success)}.ops-body{flex:1;grid-template-columns:auto 1fr;align-items:baseline;column-gap:10px;min-width:0;display:grid}.ops-value{font-variant-numeric:tabular-nums;grid-row:span 2;font-size:22px;font-weight:700}.ops-label{font-size:13px;font-weight:600}.ops-hint{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ops-arrow{color:#a3b1c0;flex:none}.card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.card-head h2{margin:0}.card-sub{color:var(--muted);font-size:12px}.card-link{align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.feed-row{margin-top:16px}table.compact td{padding:10px 12px}table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.route-cell{max-width:260px}.route-cell>span:first-child{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.route-cell .secondary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feed{max-height:420px;margin:0;padding:0;list-style:none;overflow-y:auto}.feed li{border-bottom:1px solid var(--line);grid-template-columns:12px 1fr auto;align-items:start;gap:12px;padding:10px 0;font-size:13px;display:grid}.feed li:last-child{border-bottom:0}.feed-body{min-width:0}.feed-body .secondary{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;display:block;overflow:hidden}.feed-time{color:var(--muted);white-space:nowrap;font-size:12px}.feed-dot{background:#94a3b8;border-radius:50%;width:10px;height:10px;margin-top:4px}.feed-dot.success{background:var(--success)}.feed-dot.warning{background:#d98a00}.feed-dot.danger{background:var(--danger)}.feed-dot.info{background:var(--blue)}@media (width<=1200px){.kpi-grid,.ops-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.kpi-grid,.ops-grid{grid-template-columns:minmax(0,1fr)}.hero{padding:20px}.hero-side{text-align:left;align-items:flex-start}.hero-art{display:none}}.nav-badge{background:var(--brand-orange);min-width:22px;height:20px;color:var(--navy);border-radius:999px;justify-content:center;align-items:center;margin-left:auto;padding:0 7px;font-size:12px;font-weight:700;display:inline-flex}.tab{align-items:center;gap:6px;display:inline-flex}.tab-count{color:#475569;background:#eef2f6;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.tab.active .tab-count{color:#fff;background:#ffffff2e}.tab-count.hot,.tab.active .tab-count.hot{background:var(--brand-orange);color:var(--navy)}.btn{text-decoration:none}.btn:hover{background:#f8fafc;text-decoration:none}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.primary:hover{background:var(--navy-2)}button.small{padding:6px 12px;font-size:13px}button.danger.solid{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger.solid:hover{background:#962017}.notice.success{background:var(--success-soft);color:var(--success)}.person{align-items:center;gap:12px;display:flex}.person-thumb{object-fit:cover;border:1px solid var(--line);border-radius:10px;flex:none;width:44px;height:44px}.empty-thumb{color:var(--muted);background:#eef2f6;justify-content:center;align-items:center;display:inline-flex}.plate{letter-spacing:.5px;color:#0f172a;background:#fff;border:1.5px solid #1e293b;border-radius:5px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700;display:inline-block}td .secondary.plate{width:fit-content;margin-top:4px;display:block}.doc-count{font-variant-numeric:tabular-nums;color:var(--warning);font-weight:700}.doc-count.complete{color:var(--success)}.wait{align-items:center;gap:5px;font-weight:600;display:inline-flex}.wait.slow{color:var(--danger)}.clamp{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.review-docs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.review-doc{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.review-doc.checked{box-shadow:0 0 0 2px var(--success-soft);border-color:#7fd1a7}.review-doc.missing{border-style:dashed}.review-thumb{cursor:zoom-in;background:#eef2f6;border:0;border-radius:0;justify-content:center;align-items:center;width:100%;height:170px;padding:0;display:flex;overflow:hidden}.review-thumb:hover{background:#e5ebf1}.review-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .2s;display:block}.review-thumb:hover img{transform:scale(1.03)}.thumb-note{color:var(--muted);flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.review-doc.missing .thumb-note{color:var(--danger)}.review-doc-body{flex-direction:column;gap:4px;padding:10px 12px 12px;display:flex}.review-doc-title{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.review-doc-hint{color:var(--muted);font-size:12px}.check-row{cursor:pointer;align-items:center;gap:8px;margin-top:6px;font-size:13px;font-weight:600;display:inline-flex}.check-row input{width:16px;height:16px;accent-color:var(--success)}.decision{position:sticky;top:16px}.decision-actions{flex-direction:column;gap:10px;margin-top:16px;display:flex}.decision-actions button{justify-content:center}.decision-note{color:var(--muted);margin:0 0 12px;font-size:14px}.progress-label{justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.warn-text{color:var(--danger)}.field-hint{color:var(--muted);font-size:12px}.confirm-box{border:1px solid var(--line);background:#f8fafc;border-radius:12px;flex-direction:column;gap:12px;margin-top:16px;padding:14px;display:flex}.confirm-box p{margin:0;font-size:14px}.confirm-box .row{flex-wrap:wrap;gap:10px;display:flex}.reason-picker{flex-direction:column;gap:8px;display:flex}.reason-picker textarea{resize:vertical;width:100%}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:500}.chip.on{background:var(--danger-soft);color:var(--danger);border-color:#f5c2bd}.secondary-block{color:var(--muted);font-size:12px;display:block}.history-reason{color:#334155;margin-top:2px;font-size:13px;display:block}.timeline li.h-approved:before{background:var(--success)}.timeline li.h-rejected:before,.timeline li.h-revoked:before{background:var(--danger)}.timeline li.h-submitted:before{background:var(--brand-orange)}.lightbox{z-index:2000;background:#041220f5;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-bar{color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:14px;display:flex}.lightbox-plate{color:#c6d5e4;margin-left:14px}.lightbox-plate b{color:#fff;letter-spacing:.5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.lightbox-actions{gap:8px;display:flex}.lightbox-actions button,.lightbox-actions .btn{color:#fff;background:#ffffff1a;border-color:#fff3}.lightbox-actions button:hover,.lightbox-actions .btn:hover{background:#ffffff2e}.lightbox-actions button.check.on{background:var(--success);border-color:var(--success)}.lightbox-body{flex:1;align-items:center;gap:12px;min-height:0;padding:0 12px 18px;display:flex}.lightbox-view{flex:1;justify-content:center;align-items:center;min-width:0;height:100%;display:flex}.lightbox-view img{object-fit:contain;background:#fff;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 10px 40px #0006}.lightbox-view iframe{background:#fff;border:0;border-radius:8px;width:100%;height:100%}.lightbox-empty{color:#c6d5e4;font-size:16px}.lightbox-nav{color:#fff;background:#ffffff1a;border-color:#0000;border-radius:50%;flex:none;justify-content:center;width:46px;height:46px;padding:0}.lightbox-nav:hover{background:#fff3}.lightbox-nav:disabled{opacity:.25}@media (width<=900px){.decision{position:static}.lightbox-nav{display:none}}.avatar-img{object-fit:cover;border:1px solid var(--line);border-radius:50%;flex:none}.avatar-initials{background:var(--blue-soft);color:var(--blue);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.profile-head{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:16px;display:flex}.profile-main{flex:1;min-width:200px}.profile-main h1{flex-wrap:wrap;align-items:center;display:flex}.profile-meta{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:6px;font-size:13px;display:flex}.profile-active{border:1px solid var(--line);color:var(--text);background:#f8fafc;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px;display:flex}.profile-active:hover{border-color:#c9d5e1;text-decoration:none}.stat-strip{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-bottom:16px;display:grid;overflow:hidden}.stat-strip>div{background:var(--card);flex-direction:column;gap:2px;min-width:0;padding:14px 18px;display:flex}.stat-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:700;overflow:hidden}.stat-label{color:var(--muted);font-size:12px}.chips-inline{flex-wrap:wrap;gap:6px;display:flex}.card-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.card-list li{border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;display:flex}.card-brand{text-transform:capitalize;min-width:64px;font-weight:700}.card-list .field-hint{margin-left:auto}@media (width<=1100px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-strip>div:last-child:nth-child(odd){grid-column:span 2}}.profile-charts{margin-bottom:16px}.place-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.place-row{justify-content:space-between;gap:12px;font-size:14px;display:flex}.place-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.place-row strong{font-variant-numeric:tabular-nums;flex:none}.place-bar{background:#eef2f6;border-radius:999px;height:6px;margin:6px 0 4px;overflow:hidden}.place-bar span{background:var(--series-1);border-radius:999px;height:100%;display:block}.vehicle-photo{border:1px solid var(--line);background:#eef2f6;border-radius:10px;width:100%;max-width:320px;margin-top:8px;display:block;overflow:hidden}.vehicle-photo img{object-fit:cover;width:100%;height:190px;display:block}.vehicle-thumb{object-fit:cover;border:1px solid var(--line);border-radius:8px;flex:none;width:40px;height:40px}.mono{letter-spacing:1px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.doc img.signature-img{object-fit:contain;background:#fff}.save-bar{align-items:center;gap:10px;display:flex}.settings-rows{flex-direction:column;gap:14px;display:flex}.settings-rows label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.switch-row{cursor:pointer;align-items:flex-start;display:flex;color:var(--text)!important;flex-direction:row!important;gap:12px!important;font-weight:400!important}.switch-row input{width:18px;height:18px;accent-color:var(--navy);flex:none;margin-top:2px}.switch-row strong{font-size:14px;display:block}.inline-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.inline-fields label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.prompt-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.prompt-field:last-child{margin-bottom:0}.prompt-label{color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;font-weight:600;display:flex}.prompt-label:empty{display:none}.prompt-field textarea{resize:vertical;width:100%;font-size:13px;line-height:1.5}.link-button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.link-button:hover{background:0 0;text-decoration:underline}.part-prompts{flex-direction:column;gap:14px;display:flex}.part-prompt{border:1px solid var(--line);border-radius:12px;padding:12px 14px}.part-prompt-head{grid-template-columns:28px 1fr auto;align-items:start;gap:10px;margin-bottom:10px;font-size:14px;display:grid}.part-index{background:var(--navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:700;display:flex}.test-preview{object-fit:contain;border:1px solid var(--line);background:#f8fafc;border-radius:10px;width:100%;max-height:220px}.test-result{border:1px solid var(--line);background:#f8fafc;border-radius:10px;flex-direction:column;gap:6px;padding:12px;font-size:13px;display:flex}.test-result p{margin:0}.test-result pre{white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);background:#fff;border-radius:8px;margin:0;padding:8px;font-size:12px}.inspection-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.inspection-part{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.inspection-part.damage{box-shadow:0 0 0 2px var(--danger-soft);border-color:#f5c2bd}.inspection-part img,.inspection-part .thumb{object-fit:cover;width:100%;height:120px;color:var(--muted);background:#eef2f6;justify-content:center;align-items:center;font-size:13px;display:flex}.inspection-body{flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.inspection-title{justify-content:space-between;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.inspection-note{color:#334155;font-size:12px}@media (width<=640px){.inline-fields{grid-template-columns:minmax(0,1fr)}}.resolution{background:var(--success-soft);border-radius:8px;align-items:flex-start;gap:8px;margin-top:4px;padding:6px;font-size:12px;display:flex}.resolution img{object-fit:cover;border-radius:6px;flex:none;width:44px!important;height:44px!important}.rule-editor{flex-direction:column;gap:10px;display:flex}.rule-input{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.rule-input input{font-variant-numeric:tabular-nums;width:120px}.payout-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.payout-totals>div{border:1px solid var(--line);background:#f8fafc;border-radius:10px;flex-direction:column;gap:2px;min-width:0;padding:10px;display:flex}.payout-totals .stat-value{white-space:normal;font-size:14px;overflow:visible}.payout-drivers{flex-direction:column;gap:10px;display:flex}.payout-driver{border:1px solid var(--line);border-radius:12px;overflow:hidden}.payout-driver.open{box-shadow:var(--shadow);border-color:#c9d5e1}.payout-driver-head{text-align:left;border:0;border-radius:0;justify-content:space-between;width:100%;padding:12px 14px;font-weight:400}.payout-amount{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.payout-jobs{border-top:1px solid var(--line);padding:0 14px 14px}.pay-bar{flex-wrap:wrap;gap:10px;margin:12px 0 6px;display:flex}.pay-bar input{flex:1;min-width:200px}.cashout-list{flex-direction:column;gap:10px;display:flex}.cashout-row{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.cashout-main{justify-content:space-between;align-items:flex-start;gap:12px;font-size:14px;display:flex}.cashout-amount{font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:4px;font-size:18px;font-weight:700;display:flex}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.payout-destination code{-webkit-user-select:all;user-select:all;background:#f1f5f9;border-radius:6px;padding:1px 6px;font-size:12.5px}.support-message{white-space:pre-wrap;color:var(--text);margin-top:8px;line-height:1.5;display:block}.review-box textarea{resize:vertical;width:100%}.review-box{background:#f8fafc;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.stars{color:#b7791f;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700}.stars-count{color:var(--muted);margin-left:4px;font-weight:400}.stars-dim{color:#e2e8f0}.rating-big{font-size:18px}.star-bars{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.star-bar{color:var(--muted);grid-template-columns:32px 1fr 28px;align-items:center;gap:8px;font-size:12px;display:grid}.star-track{background:#eef2f6;border-radius:999px;height:6px;overflow:hidden}.star-track span{background:#d69e2e;border-radius:999px;height:100%;display:block}.star-n{text-align:right;font-variant-numeric:tabular-nums}.feedback-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feedback-list li{border-top:1px solid var(--line);padding-top:10px;font-size:13px}.feedback-list p{margin:6px 0}.feedback-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.truck-marker{pointer-events:auto;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;display:flex}.truck-label{white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:6px;max-width:180px;height:30px;padding:3px 6px 3px 3px;display:flex;box-shadow:0 2px 8px #06284440}.truck-marker .truck-avatar{object-fit:cover;border-radius:50%;flex:none;width:24px;height:24px}.truck-avatar.initials{background:var(--navy);color:#fff;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.truck-name{color:var(--text);text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.truck-chip{border-radius:999px;flex:none;padding:2px 7px;font-size:10px;font-weight:700}.truck-chip.available{background:var(--success-soft);color:var(--success)}.truck-chip.on_job{background:var(--info-soft);color:var(--info)}.truck-box{justify-content:center;align-items:center;width:72px;height:72px;display:flex}.truck-marker .truck-img{filter:drop-shadow(0 2px 2px #06284473);width:72px;height:auto;transition:transform .4s}.key-form .row-actions{margin-top:14px}.new-key{border-color:var(--success)}.new-key .notice{margin-bottom:12px}.key-box{border:1px solid var(--line);background:#f8fafc;border-radius:10px;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.key-box code{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1;min-width:0;font-size:13px}.key-example{color:#e2e8f0;background:#0f172a;border-radius:10px;margin:6px 0 12px;padding:10px 12px;font-size:12.5px;overflow-x:auto}.key-prefix{background:#f1f5f9;border-radius:6px;padding:1px 6px;font-size:12.5px}.pr-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:14px;font-size:13px;display:flex}.pr-status .badge{margin-right:6px}.pr-grid-main{align-items:start;margin-bottom:16px}.pr-col{flex-direction:column;gap:16px;min-width:0;display:flex}.pr-col>.card+.card{margin-top:0}.pr-empty{flex-direction:column;align-items:flex-start;gap:12px;padding:4px 0 6px;display:flex}.pr-empty p{color:var(--muted);max-width:60ch;margin:0;font-size:14px}.pr-fields{grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:14px;margin-bottom:14px;display:grid}.pr-fields label{flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.pr-fields .field-hint{font-weight:400}.pr-zones input:not([type=checkbox]){font-variant-numeric:tabular-nums;width:100px;padding:7px 10px}.pr-zones td{vertical-align:middle}.pr-zones .num{font-variant-numeric:tabular-nums}.pr-rate{color:var(--success);font-weight:600}input.pr-bad,input[aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft)}.pr-messages{flex-direction:column;gap:4px;margin-top:12px;font-size:13px;display:flex}.pr-zone-foot{flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;display:flex}.pr-zone-foot .field-hint{flex:1;min-width:220px}.pr-chart{position:relative}.pr-chart svg{width:100%;height:auto;display:block}.pr-grid{stroke:var(--chart-grid)}.pr-axis{fill:var(--muted);font-size:11px}.pr-axis-title{fill:var(--muted);font-size:11px;font-weight:600}.pr-line-draft{fill:none;stroke:var(--series-1);stroke-width:2.5px;stroke-linejoin:round}.pr-point{fill:#fff;stroke:var(--series-1);stroke-width:2px}.pr-test-line{stroke:var(--chart-axis);stroke-dasharray:4 4}.pr-test-point{fill:var(--series-1);stroke:#fff;stroke-width:2px}.pr-hover-line{stroke:var(--chart-axis)}.pr-tooltip{background:var(--navy);color:#fff;pointer-events:none;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:8px;flex-direction:column;padding:7px 10px;font-size:12px;display:flex;position:absolute;top:8px;transform:translate(-50%)}.pr-distance{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.pr-distance>div{border:1px solid var(--line);border-radius:10px;align-items:center;padding-right:12px;display:flex}.pr-distance input{font-variant-numeric:tabular-nums;border:0;width:100%;min-width:0;font-size:26px;font-weight:700}.pr-distance input:focus{outline:none}.pr-distance>div:focus-within{outline:2px solid var(--blue);outline-offset:-1px}.pr-distance>div>span{color:var(--muted);font-weight:500}.pr-slider{width:100%;accent-color:var(--blue);margin:14px 0 10px}.pr-presets{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.pr-presets button.active{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}.pr-fare{background:var(--navy);color:#fff;overflow-wrap:anywhere;border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex}.pr-fare-label{letter-spacing:1px;text-transform:uppercase;color:#9fb4c8;font-size:11px;font-weight:600}.pr-fare-value{letter-spacing:-.8px;font-variant-numeric:tabular-nums;font-size:34px;font-weight:700}.pr-fare-msg{font-size:22px;font-weight:700}.pr-fare-zone{color:var(--brand-orange);font-size:13px}.pr-fare-math{color:#9fb4c8;font-variant-numeric:tabular-nums;border-top:1px solid #ffffff24;margin-top:6px;padding-top:8px;font-size:12px}.pr-row-selected td{background:var(--blue-soft)}.pr-zone-list{color:var(--muted);font-size:13px}.pr-version-actions{flex-wrap:nowrap;justify-content:flex-end}@media (width<=640px){.pr-fields{grid-template-columns:minmax(0,1fr)}}.pr-nowrap{white-space:nowrap}.pr-intro{color:var(--muted);max-width:75ch;margin:0 0 12px;font-size:13px}.pr-fixed{font-variant-numeric:tabular-nums;padding:7px 0;display:inline-block}.pr-tick{stroke:var(--chart-axis)}.pr-point-label{fill:var(--text);font-size:11px;font-weight:600}.pr-exact{margin:10px 0 0}.pr-sim-note{margin:12px 0 0}.pr-lines{flex-direction:column;gap:8px;margin:14px 0 0;font-size:13px;display:flex}.pr-lines>div{justify-content:space-between;gap:12px;display:flex}.pr-lines dt{color:var(--muted)}.pr-lines dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.pr-total{border-top:1px solid var(--line);padding-top:8px;font-size:15px}.pr-total dt{color:var(--text);font-weight:600}.pr-vat .switch-row{margin-bottom:14px}.pr-vat-fields{flex-direction:column;gap:12px;display:flex}.pr-vat-fields label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.pr-vat-fields .field-hint{font-weight:400}.pr-vat-fields input:disabled{color:var(--muted);background:#f8fafc}.pr-vat-foot{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.pr-vat-foot .field-hint{flex:1;min-width:160px}.map-error{color:var(--danger,#b91c1c);background:#fff;border-radius:8px;padding:10px 12px;font-size:13px;position:absolute;inset:auto 12px 12px;box-shadow:0 2px 8px #06284433}.map-popup{color:var(--text);padding:2px 4px 0 0;font-size:13px;line-height:1.5}.map-dot{box-sizing:border-box;border-radius:50%;width:16px;height:16px;position:relative;box-shadow:0 1px 4px #06284459}.map-dot.pickup{background:#fff;border:3px solid #062844}.map-dot.dropoff{background:#0071bb;border:2px solid #fff}.map-dot.driver{background:#16a34a;border:3px solid #fff;width:20px;height:20px}.map-dot-label{color:var(--text);white-space:nowrap;background:#fff;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 1px 4px #06284440}
