@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#edeff2;--canvas-2:#e4e7ec;--surface:#fff;--surface-2:#f5f6f8;--surface-3:#eceef2;--surface-4:#e3e6eb;--hair:#11182721;--hair-2:#11182730;--hair-3:#11182747;--ink:#141a23;--ink-2:#4a5361;--ink-3:#757e8d;--ink-4:#a5acb7;--ink-inv:#fff;--accent:#3a8040;--accent-hover:#327038;--accent-press:#2b6131;--accent-ink:#2f6d35;--accent-soft:#edf5ee;--accent-soft-2:#d6e9d8;--accent-ring:#3a804042;--brand:#3a8040;--brand-hi:#3a8040;--brand-lo:#3a8040;--brand-ink:#fff;--brand-strong:#2f6d35;--brand-soft:#edf5ee;--brand-soft-2:#d6e9d8;--brand-glow:transparent;--info:#3346f0;--info-soft:#eef0ff;--good:#10794b;--good-dot:#1ea362;--good-soft:#e6f5ed;--warn:#8f5a00;--warn-dot:#e39a10;--warn-soft:#fff3da;--crit:#bf2f2a;--crit-dot:#e5484d;--crit-soft:#fdeceb;--transit:#2b3341;--idle:#8b93a1;--off:#c4c9d1;--series-1:#3a8040;--series-2:#3346f0;--series-3:#eb6834;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--c-green:#3a8040;--c-blue:#3346f0;--c-orange:#eb6834;--seq-1:#e3f0e4;--seq-2:#b7d8ba;--seq-3:#7cb581;--seq-4:#3a8040;--seq-5:#24552a;--glass:#ffffffa3;--glass-strong:#fffc;--glass-solid:#ffffffeb;--glass-line:#ffffffbf;--glass-edge:#11182712;--blur:22px;--shadow-xs:0 1px 2px #1018280f;--shadow-sm:0 1px 2px #1018280d, 0 2px 8px -2px #10182814;--shadow-md:0 12px 32px -14px #10182833, 0 2px 6px -2px #1018280f;--shadow-float:0 24px 64px -26px #141c3057, 0 8px 20px -10px #141c301f;--shadow-pop:0 30px 80px -30px #141c306b, 0 10px 26px -12px #141c3029;--r-1:6px;--r-2:8px;--r-3:10px;--r-4:14px;--r-5:18px;--pill:999px;--font:"Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--spring:cubic-bezier(.34, 1.36, .64, 1);--sidebar:232px;--sidebar-min:64px;--topbar:56px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility}body{font-family:var(--font);color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";margin:0;font-size:13px;line-height:1.45;overflow:hidden}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-.025em;font-size:26px;font-weight:620;line-height:1.15}h2{letter-spacing:-.015em;font-size:17px;font-weight:600;line-height:1.25}h3{letter-spacing:-.005em;font-size:13.5px;font-weight:600;line-height:1.3}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}img,svg{display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft-2)}.mono{font-family:var(--mono);font-feature-settings:"zero" 0;letter-spacing:-.01em}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.soft{color:var(--ink-2)}.faint{color:var(--ink-4)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:#11182729 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#11182724 padding-box padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-track{background:0 0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{border-radius:var(--r-2);letter-spacing:-.005em;white-space:nowrap;height:32px;color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 .5px var(--hair-2);transition:background .15s var(--ease), box-shadow .15s var(--ease), color .15s;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:520;display:inline-flex}.btn:hover{background:var(--surface-2);box-shadow:inset 0 0 0 .5px var(--hair-3)}.btn:active{background:var(--surface-3)}.btn svg{flex:none;width:15px;height:15px}.btn.sm{gap:6px;height:28px;padding:0 10px;font-size:12.5px}.btn.sm svg{width:14px;height:14px}.btn.lg{border-radius:var(--r-3);height:40px;padding:0 16px;font-size:14px}.btn.primary,.btn.accent{color:#fff;background:var(--accent);box-shadow:none}.btn.primary:hover,.btn.accent:hover{background:var(--accent-hover);box-shadow:none}.btn.primary:active,.btn.accent:active{background:var(--accent-press)}.btn.ink{color:#fff;background:var(--ink);box-shadow:none}.btn.ink:hover{background:#232b37}.btn.good{color:#fff;background:var(--accent);box-shadow:none}.btn.good:hover{background:var(--accent-hover)}.btn.ghost{box-shadow:none;color:var(--ink-2);background:0 0}.btn.ghost:hover{background:var(--surface-3);color:var(--ink)}.btn.danger{color:var(--crit)}.btn.danger:hover{background:var(--crit-soft)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.btn.block{width:100%}.icon-btn{border-radius:var(--r-2);width:32px;height:32px;color:var(--ink-2);flex:none;place-items:center;transition:background .15s,color .15s,box-shadow .15s;display:inline-grid;position:relative}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.icon-btn svg{width:16px;height:16px}.icon-btn.sm{width:28px;height:28px}.icon-btn.sm svg{width:15px;height:15px}.icon-btn.on{color:#fff;background:var(--accent)}.icon-btn.bordered{background:var(--surface);box-shadow:inset 0 0 0 .5px var(--hair-2)}.field{gap:6px;display:grid}.field-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.field-row>label{color:var(--ink-2);font-size:12.5px;font-weight:520}.field-link{white-space:nowrap;font-size:12.5px}.field>label,.label{color:var(--ink-2);font-size:12.5px;font-weight:520}.hint{color:var(--ink-3);font-size:12px}.input,.select,.textarea{border-radius:var(--r-2);background:var(--surface-2);width:100%;height:36px;box-shadow:inset 0 0 0 .5px var(--hair);color:var(--ink);border:0;outline:none;padding:0 11px;transition:background .15s,box-shadow .15s}.textarea{resize:vertical;height:auto;min-height:84px;padding:9px 11px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:hover,.select:hover,.textarea:hover{box-shadow:inset 0 0 0 .5px var(--hair-2)}.input:focus,.select:focus,.textarea:focus{background:var(--surface);box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 3px var(--accent-ring)}.input.invalid{box-shadow:inset 0 0 0 1px var(--crit-dot), 0 0 0 3px #e5484d29;background:snow}.input.mono{font-family:var(--mono);font-size:12.5px}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23757e8d' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap>svg:first-child{width:15px;height:15px;color:var(--ink-3);pointer-events:none;position:absolute;left:10px}.input-wrap>svg:first-child+.input{padding-left:32px}.input-wrap .suffix{color:var(--ink-3);pointer-events:none;font-size:12px;position:absolute;right:10px}.err{color:var(--crit);align-items:center;gap:6px;font-size:12px;display:flex}.toggle{--w:32px;width:var(--w);background:var(--surface-4);height:19px;box-shadow:inset 0 0 0 .5px var(--hair);transition:background .2s var(--ease);border-radius:20px;flex:none;position:relative}.toggle:after{content:"";width:15px;height:15px;transition:transform .22s var(--spring);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #10182840}.toggle[aria-checked=true]{background:var(--accent);box-shadow:none}.toggle[aria-checked=true]:after{transform:translate(13px)}.check{background:var(--surface);width:16px;height:16px;box-shadow:inset 0 0 0 1.25px var(--hair-3);color:#fff;border-radius:4.5px;flex:none;place-items:center;transition:background .15s,box-shadow .15s;display:inline-grid}.check svg{opacity:0;width:11px;height:11px;transition:all .18s var(--spring);transform:scale(.6)}.check[aria-checked=true]{background:var(--accent);box-shadow:none}.check[aria-checked=true] svg{opacity:1;transform:scale(1)}.seg{-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);box-shadow:0 0 0 .5px var(--hair-2);background:#ffffffb8;border-radius:10px;gap:2px;padding:3px;display:inline-flex;position:relative}.seg button{z-index:1;height:26px;color:var(--ink-2);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;font-weight:520;transition:color .15s;display:inline-flex;position:relative}.seg button svg{width:14px;height:14px}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{color:#fff}.seg .seg-thumb{z-index:0;background:var(--accent);border-radius:7px;position:absolute;top:0;bottom:0}.seg.glassy{background:#fff9}.seg.seg-sm button{height:24px;padding:0 9px;font-size:12px}.seg.block{display:flex}.seg.block button{flex:1}.tabs{-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);box-shadow:0 0 0 .5px var(--hair-2);background:#ffffffb8;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.tabs button{height:28px;color:var(--ink-2);border-radius:7px;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:520;transition:color .15s,background .15s;display:inline-flex;position:relative}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:#fff;background:var(--accent)}.tabs .count{color:inherit;opacity:.7;font-variant-numeric:tabular-nums;font-size:11px}.pill{white-space:nowrap;height:22px;color:var(--ink-2);background:var(--surface-3);border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:520;display:inline-flex}.pill svg{width:13px;height:13px}.pill.good{color:var(--good);background:var(--good-soft)}.pill.warn{color:var(--warn);background:var(--warn-soft)}.pill.crit{color:var(--crit);background:var(--crit-soft)}.pill.accent{color:var(--accent-ink);background:var(--accent-soft)}.pill.brand{color:#fff;background:var(--accent)}.pill.ink{color:#fff;background:var(--ink)}.pill.outline{box-shadow:inset 0 0 0 .5px var(--hair-2);background:0 0}.dot{background:var(--ink-4);border-radius:50%;flex:none;width:7px;height:7px}.dot.ring{background:0 0;box-shadow:inset 0 0 0 1.5px}.status{white-space:nowrap;color:var(--ink-2);align-items:center;gap:7px;font-size:12.5px;font-weight:520;display:inline-flex}.status .glyph{border-radius:50%;flex:none;place-items:center;width:16px;height:16px;display:grid}.status .glyph svg{width:10px;height:10px}.kbd{min-width:18px;height:18px;font-family:var(--mono);color:var(--ink-3);background:var(--surface);box-shadow:inset 0 0 0 .5px var(--hair-2);border-radius:4px;place-items:center;padding:0 4px;font-size:10.5px;display:inline-grid}.bar{background:var(--surface-4);border-radius:6px;height:6px;position:relative;overflow:hidden}.bar>i{background:var(--ink);transition:width .7s var(--ease-out), background .3s;border-radius:6px;position:absolute;inset:0 auto 0 0}.bar.thin{height:4px}.bar.accent>i{background:var(--accent)}.bar.good>i{background:var(--good-dot)}.bar.warn>i{background:var(--warn-dot)}.bar.crit>i{background:var(--crit-dot)}.bar .limit{background:var(--ink);opacity:.55;border-radius:2px;width:2px;position:absolute;top:-2px;bottom:-2px}.card{background:var(--surface);border-radius:var(--r-4);box-shadow:0 0 0 .5px var(--hair)}.card.solid{background:var(--surface)}.card-head{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.card-head h3{align-items:center;gap:8px;display:flex}.card-body{padding:0 16px 16px}.glass{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur)) saturate(170%);backdrop-filter:blur(var(--blur)) saturate(170%);border-radius:var(--r-4);box-shadow:inset 0 0 0 .5px var(--glass-line), 0 0 0 .5px var(--glass-edge), var(--shadow-sm)}.glass.strong{background:var(--glass-strong)}.glass.flat{box-shadow:inset 0 0 0 .5px var(--glass-line), 0 0 0 .5px var(--glass-edge)}.divider{background:var(--hair);border:0;height:.5px;margin:0}.vdiv{background:var(--hair);align-self:stretch;width:.5px}.kv{grid-template-columns:minmax(96px,auto) 1fr;gap:9px 14px;font-size:12.5px;display:grid}.kv dt{color:var(--ink-3)}.kv dd{color:var(--ink);text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-weight:500;overflow:hidden}.table-wrap{border-radius:var(--r-4);overflow:auto}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}.table th{z-index:1;text-align:left;color:var(--ink-3);background:var(--surface);border-bottom:.5px solid var(--hair);white-space:nowrap;height:36px;padding:0 12px;font-size:12px;font-weight:520;position:sticky;top:0}.table th button{color:inherit;font-weight:inherit;align-items:center;gap:4px;display:inline-flex}.table th button:hover{color:var(--ink)}.table td{border-bottom:.5px solid var(--hair);white-space:nowrap;height:46px;color:var(--ink);padding:0 12px}.table tbody tr{transition:background .12s}.table tbody tr.clickable{cursor:pointer}.table tbody tr:hover{background:#fafbfc}.table tbody tr.active{background:var(--accent-soft)}.table tbody tr:last-child td{border-bottom:0}.table .r{text-align:right}.table td.mono,.table .id{font-family:var(--mono);font-size:12px}.menu{-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);min-width:200px;box-shadow:0 0 0 .5px #11182724, var(--shadow-md);z-index:60;background:#fffffff5;border-radius:12px;padding:5px}.menu-item{width:100%;height:32px;color:var(--ink);text-align:left;border-radius:7px;align-items:center;gap:9px;padding:0 9px;font-size:13px;display:flex}.menu-item:hover,.menu-item[data-active=true]{background:var(--surface-3)}.menu-item svg{width:15px;height:15px;color:var(--ink-3);flex:none}.menu-item .end{color:var(--ink-3);margin-left:auto;font-size:12px}.menu-item.danger,.menu-item.danger svg{color:var(--crit)}.menu-label{color:var(--ink-3);padding:8px 9px 4px;font-size:11.5px;font-weight:520}.menu-sep{background:var(--hair);height:.5px;margin:4px 2px}.tip{z-index:200;pointer-events:none;color:#fff;white-space:nowrap;background:#1b222c;border-radius:7px;padding:5px 8px;font-size:12px;font-weight:500;position:fixed}.tip .kbd{color:#d5dae2;box-shadow:none;background:#ffffff1f;margin-left:6px}.scrim{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#161b2447;position:fixed;inset:0}.modal{z-index:81;background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:0 0 0 .5px var(--hair), var(--shadow-md);border-radius:16px;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden}.modal-head{align-items:flex-start;gap:12px;padding:18px 20px 6px;display:flex}.modal-head h2{font-size:16px}.modal-head p{color:var(--ink-3);margin-top:3px;font-size:13px}.modal-body{padding:12px 20px 18px;overflow:auto}.modal-foot{border-top:.5px solid var(--hair);background:var(--surface-2);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.drawer{z-index:81;background:var(--surface);width:min(460px,100vw - 16px);box-shadow:0 0 0 .5px var(--hair), var(--shadow-md);border-radius:16px;flex-direction:column;display:flex;position:fixed;top:8px;bottom:8px;right:8px;overflow:hidden}.toasts{z-index:120;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}:root[data-toasts=planner] .toasts{right:auto;left:var(--toast-left,300px);bottom:var(--toast-bottom,200px);align-items:flex-start}.toast{pointer-events:auto;color:#eef1f6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#181e27f5;border-radius:12px;align-items:center;gap:11px;min-width:320px;max-width:480px;padding:10px 10px 10px 12px;display:flex;box-shadow:0 0 0 .5px #ffffff14,0 12px 32px -16px #00000073}.toast .t-icon{border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.toast .t-icon svg{width:13px;height:13px}.toast strong{color:#fff;font-size:13px;font-weight:560;display:block}.toast span{color:#aab3c2;font-size:12px;display:block}.toast .t-act{color:#fff;background:#ffffff1a;border-radius:7px;height:28px;margin-left:auto;padding:0 10px;font-size:12.5px;font-weight:560}.toast .t-act:hover{background:#ffffff2e}.empty{text-align:center;color:var(--ink-2);justify-items:center;gap:8px;padding:40px 24px;display:grid}.empty .e-art{width:56px;height:56px;color:var(--ink-3);background:var(--surface-2);box-shadow:0 0 0 .5px var(--hair);border-radius:16px;place-items:center;margin-bottom:6px;display:grid}.empty .e-art svg{width:24px;height:24px}.empty h3{color:var(--ink);font-size:14px}.empty p{max-width:360px;color:var(--ink-3);font-size:12.5px}.empty .e-actions{gap:8px;margin-top:8px;display:flex}.problem{background:var(--crit-soft);border-radius:12px;grid-template-columns:28px 1fr;gap:4px 12px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #e5484d38}.problem.warn{background:var(--warn-soft);box-shadow:inset 0 0 0 1px #e39a1047}.problem .p-icon{width:28px;height:28px;color:var(--crit);background:#fff;border-radius:8px;place-items:center;display:grid;box-shadow:0 0 0 1px #e5484d33}.problem.warn .p-icon{color:var(--warn);box-shadow:0 0 0 1px #e39a1040}.problem .p-icon svg{width:15px;height:15px}.problem h4{color:var(--ink);align-self:center;margin:0;font-size:13.5px;font-weight:600}.problem dl{grid-column:2;gap:6px;margin:2px 0 0;font-size:12.5px;display:grid}.problem dt{color:var(--ink-2);font-size:11.5px;font-weight:560}.problem dd{color:var(--ink);margin:0}.problem .p-actions{grid-column:2;gap:8px;margin-top:8px;display:flex}.avatar{--s:28px;width:var(--s);height:var(--s);font-size:calc(var(--s) * .38);letter-spacing:.01em;color:var(--ink-2);background:var(--surface-3);box-shadow:inset 0 0 0 .5px var(--hair-2);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.avatar.ai{color:#fff;background:var(--accent);box-shadow:none}.avatar.sys{color:var(--ink-3);background:var(--surface-3)}.skeleton{background:linear-gradient(90deg, var(--surface-3), #f7f8fa, var(--surface-3));background-size:200% 100%;border-radius:6px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.9s linear infinite spin}@keyframes pulse-ring{0%{box-shadow:0 0 #3a804073}to{box-shadow:0 0 0 10px #3a804000}}.shell{grid-template-columns:var(--sidebar) 1fr;height:100vh;transition:grid-template-columns .28s var(--ease-out);display:grid}.shell.collapsed{grid-template-columns:var(--sidebar-min) 1fr}.sidebar{background:var(--canvas);border-right:.5px solid var(--hair);z-index:30;flex-direction:column;min-width:0;padding:10px;display:flex;position:relative}.sb-top{align-items:center;gap:2px;display:flex}.sb-top>:first-child{flex:1;min-width:0}.sb-toggle{color:var(--ink-3)}.shell.collapsed .sb-top{flex-direction:column;gap:6px}.shell.collapsed .sb-top>:first-child{flex:none}.ws-switch{text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:6px;transition:background .15s;display:flex}.ws-switch:hover{background:var(--surface-3)}.ws-logo{background:#141a23;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.ws-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.ws-sub{color:var(--ink-3);white-space:nowrap;font-size:11.5px}.nav{gap:1px;margin-top:14px;padding-bottom:8px;display:grid;overflow:hidden auto}.nav-group{color:var(--ink-4);white-space:nowrap;padding:14px 10px 6px;font-size:11.5px;font-weight:520}.nav a{height:32px;color:var(--ink-2);white-space:nowrap;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav a svg{width:16px;height:16px;color:var(--ink-3);flex:none;transition:color .15s}.nav a:hover{background:var(--surface-3);color:var(--ink)}.nav a.active{color:var(--ink);background:var(--surface);box-shadow:0 0 0 .5px var(--hair)}.nav a.active svg{color:var(--accent)}.nav .badge{min-width:18px;height:18px;color:var(--crit);background:var(--crit-soft);border-radius:9px;place-items:center;margin-left:auto;padding:0 5px;font-size:11px;font-weight:600;display:grid}.sidebar-foot{border-top:.5px solid var(--hair);gap:2px;margin-top:auto;padding-top:8px;display:grid}.me{text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:6px;display:flex}.me:hover{background:var(--surface-3)}.shell.collapsed .nav-group,.shell.collapsed .nav a span,.shell.collapsed .nav .badge,.shell.collapsed .ws-text,.shell.collapsed .me-text{display:none}.shell.collapsed .nav a{justify-content:center;padding:0}.shell.collapsed .nav a .dot-badge{display:block}.dot-badge{background:var(--crit-dot);width:7px;height:7px;box-shadow:0 0 0 2px var(--canvas);border-radius:50%;display:none;position:absolute;top:6px;right:10px}.main{flex-direction:column;min-width:0;height:100vh;min-height:0;display:flex}.topbar{height:var(--topbar);border-bottom:.5px solid var(--hair);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#edeff2d9;flex:none;align-items:center;gap:12px;padding:0 14px 0 16px;display:flex}.crumbs{color:var(--ink-3);white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.crumbs a:hover{color:var(--ink)}.crumbs .sep{color:var(--ink-4)}.crumbs .cur{color:var(--ink);font-weight:560}.search-trigger{width:min(380px,34vw);height:32px;color:var(--ink-3);background:var(--surface);box-shadow:0 0 0 .5px var(--hair);border-radius:9px;align-items:center;gap:8px;margin:0 auto;padding:0 8px 0 10px;font-size:13px;transition:box-shadow .15s;display:flex}.search-trigger:hover{box-shadow:0 0 0 .5px var(--hair-2)}.search-trigger svg{width:15px;height:15px}.search-trigger .kbd{margin-left:auto}.top-actions{align-items:center;gap:4px;display:flex}.sim-clock{height:30px;color:var(--ink-2);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-size:12.5px;display:flex}.sim-clock:hover{background:var(--surface-3)}.sim-clock .live{background:var(--good-dot);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #1ea3622e}.sim-clock .live.fast{background:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.notif-dot{background:var(--crit-dot);width:8px;height:8px;box-shadow:0 0 0 2px var(--canvas);border-radius:50%;position:absolute;top:6px;right:6px}.content{flex:1;min-height:0;position:relative;overflow:auto}.content.flush{overflow:hidden}.page{max-width:1480px;margin:0 auto;padding:24px 28px 48px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p{color:var(--ink-3);margin-top:6px;font-size:13.5px}.page-head .actions{align-items:center;gap:8px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar .grow{flex:1}.section-title{justify-content:space-between;align-items:center;gap:12px;margin:28px 0 12px;display:flex}.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.planner{background:radial-gradient(1200px 520px at 46% 46%,#fffffff2,#fff0 70%),linear-gradient(#f3f4f6 0%,#eceef1 62%,#e5e8ec 100%);position:absolute;inset:0;overflow:hidden}.planner-canvas{inset:0;position:absolute!important}.planner-canvas canvas{outline:none}.island{pointer-events:auto;position:absolute}.p-header{width:352px;padding:12px 14px;top:14px;left:14px}.p-header .row1{align-items:center;gap:10px;display:flex}.p-header .truck-id{letter-spacing:-.03em;font-size:22px;font-weight:650;font-family:var(--font)}.p-header .model{color:var(--ink-3);margin-top:2px;font-size:12.5px}.p-header .route{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;display:flex}.p-header .route b{color:var(--ink);font-weight:560}.p-header .driver-row{border-top:.5px solid var(--hair);align-items:center;gap:10px;margin-top:10px;padding-top:10px;display:flex}.p-header .acts{gap:6px;margin-top:10px;display:flex}.p-modes{align-items:center;gap:8px;padding:5px;display:flex;top:14px}.p-modes .seg{box-shadow:none;background:0 0;padding:0}.p-modes .seg button{height:30px;padding:0 11px}.p-panel{flex-direction:column;width:340px;display:flex;top:14px;bottom:186px;right:14px;overflow:hidden}.p-panel .panel-head{align-items:center;gap:6px;padding:10px 10px 8px;display:flex}.p-panel .panel-head .seg{flex:1}.p-panel .panel-body{flex:1;padding:2px 14px 14px;overflow:auto}.panel-sec{border-top:.5px solid var(--hair);padding:12px 0}.panel-sec:first-child{border-top:0;padding-top:4px}.panel-sec h4{color:var(--ink);justify-content:space-between;align-items:center;margin:0 0 10px;font-size:12.5px;font-weight:600;display:flex}.p-panel .kv dd{font-family:var(--mono);font-size:12px;font-weight:450}.p-panel .kv dd.sans{font-family:var(--font);font-size:12.5px;font-weight:520}.cargo-list{gap:2px;display:grid}.cargo-row{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9px;grid-template-columns:14px 26px 1fr auto;align-items:center;gap:8px;padding:7px 6px;transition:background .12s,box-shadow .12s;display:grid}.cargo-row:hover{background:#ffffffb3}.cargo-row.sel{box-shadow:0 0 0 1px var(--accent);background:#fff}.cargo-row .grip{color:var(--ink-4);cursor:grab;place-items:center;display:grid}.cargo-row .grip svg{width:14px;height:14px}.cargo-row .kind{background:var(--surface-3);width:26px;height:26px;color:var(--ink-2);border-radius:7px;place-items:center;display:grid}.cargo-row .kind svg{width:14px;height:14px}.cargo-row .t1{font-family:var(--mono);color:var(--ink);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.cargo-row .t2{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.cargo-row .w{font-family:var(--mono);color:var(--ink-2);text-align:right;font-size:11.5px}.cargo-row.staged .kind{box-shadow:inset 0 0 0 .5px var(--hair-3);background:0 0;border-style:dashed}.p-camera{flex-direction:column;gap:2px;padding:4px;display:flex;bottom:186px;left:14px}.p-actions{align-items:center;gap:8px;display:flex;bottom:186px}.p-legend{color:var(--ink-2);align-items:center;gap:14px;padding:8px 12px;font-size:12px;display:flex;bottom:186px}.p-legend .sw{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.p-legend .sw i{border-radius:3px;width:10px;height:10px}.p-stats{align-items:stretch;height:70px;display:flex;bottom:112px;left:14px;overflow:hidden}.stat{text-align:left;flex-direction:column;flex:1 1 0;justify-content:center;gap:1px;min-width:0;padding:9px 12px 11px;transition:background .15s;display:flex;position:relative}.stat+.stat:before{content:"";background:var(--hair);width:.5px;position:absolute;top:12px;bottom:12px;left:0}.stat:hover{background:#ffffff73}.stat.on{background:#ffffffbf}.stat .s-label{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.stat .s-val{letter-spacing:-.025em;white-space:nowrap;font-size:19px;font-weight:620;line-height:1.15}.stat .s-val small{color:var(--ink-3);letter-spacing:0;font-size:12px;font-weight:500}.stat .s-sub{color:var(--ink-3);font-size:10.5px;font-family:var(--mono);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.stat .s-meter{background:#11182714;border-radius:2px;height:2px;position:absolute;bottom:6px;left:12px;right:12px;overflow:hidden}.stat .s-meter i{transition:width .7s var(--ease-out);border-radius:2px;position:absolute;inset:0 auto 0 0}.stat .s-axles{gap:3px;height:2px;display:flex;position:absolute;bottom:6px;left:12px;right:12px}.stat.crit .s-val{color:var(--crit)}.hdiv{background:var(--hair);height:.5px;margin:3px 6px}.p-carousel{height:96px;bottom:8px;left:0;right:0}.carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;align-items:center;gap:10px;height:100%;padding:6px 50% 8px;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 150px calc(100% - 110px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 150px calc(100% - 110px),#0000 100%)}.carousel-track.grabbing{cursor:grabbing;scroll-snap-type:none}.carousel-track::-webkit-scrollbar{display:none}.tcard{scroll-snap-align:center;text-align:left;-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);width:256px;height:80px;box-shadow:inset 0 0 0 .5px #fffc, 0 0 0 .5px var(--glass-edge);transition:transform .35s var(--ease-out), background .2s, box-shadow .2s, opacity .2s;opacity:.85;-webkit-user-select:none;user-select:none;background:#ffffff80;border-radius:14px;flex:none;grid-template-columns:86px 1fr;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:grid}.tcard:hover{opacity:1;background:#ffffffbf}.tcard.active{opacity:1;box-shadow:0 0 0 1.5px var(--accent);background:#fff;transform:translateY(-3px)}.tcard .tc-id{letter-spacing:-.02em;align-items:center;gap:6px;font-size:14px;font-weight:650;display:flex}.tcard .tc-model{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tcard .tc-load{font-family:var(--mono);color:var(--ink-2);white-space:nowrap;justify-content:space-between;gap:6px;margin-top:5px;font-size:10.5px;display:flex}.carousel-side{z-index:2;align-items:center;gap:6px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.scene-chip{color:var(--ink-2);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border-radius:7px;padding:4px 8px;font-size:11.5px;font-weight:500;box-shadow:0 0 0 .5px #1118271f}.scene-chip b{color:var(--ink);font-family:var(--mono);font-weight:500}.scene-chip.good{color:var(--good)}.scene-chip.crit{color:var(--crit)}.scene-chip.accent{color:var(--accent-ink)}.dim-chip{font-family:var(--mono);color:var(--ink-2);white-space:nowrap;background:#f4f5f7eb;border-radius:5px;padding:1px 6px;font-size:11px}.cargo-tag{font-family:var(--mono);color:var(--ink);white-space:nowrap;background:#ffffffeb;border-radius:5px;padding:1px 5px;font-size:10.5px;font-weight:500;box-shadow:0 0 0 .5px #1118271f}.axle-gauge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-radius:9px;width:136px;padding:7px 9px 8px;font-size:11px;box-shadow:0 0 0 .5px #1118271f}.axle-gauge .ag-label{color:var(--ink-3)}.axle-gauge .ag-val{font-family:var(--mono);color:var(--ink-2);white-space:nowrap;margin:2px 0 5px}.axle-gauge .ag-val b{color:var(--ink);font-weight:500}.axle-gauge .ag-bar{background:var(--surface-4);border-radius:4px;height:4px;position:relative}.axle-gauge .ag-bar i{background:var(--good-dot);border-radius:4px;position:absolute;inset:0 auto 0 0}.axle-gauge.warn .ag-bar i{background:var(--warn-dot)}.axle-gauge.crit .ag-bar i{background:var(--crit-dot)}.axle-gauge.crit .ag-val b{color:var(--crit)}.axle-gauge .ag-bar span{background:var(--ink);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.ghost-tip{white-space:nowrap;color:#fff;border-radius:9px;gap:2px;padding:7px 10px;font-size:11.5px;display:grid}.ghost-tip b{font-size:12px;font-weight:600}.ghost-tip span{opacity:.86}.ghost-tip.ok{background:#12804f}.ghost-tip.bad{background:#bf2f2a}.part-card{-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);min-width:210px;box-shadow:0 0 0 .5px #1118271f, var(--shadow-sm);background:#ffffffe6;border-radius:12px;padding:10px 12px;font-size:12px}.part-card.crit{box-shadow:0 0 0 1px #e5484d73, var(--shadow-sm)}.part-card .pc-title{margin-bottom:6px;font-size:12.5px;font-weight:600}.pc-row{color:var(--ink-3);white-space:nowrap;justify-content:space-between;gap:16px;padding:2px 0;display:flex}.pc-row b{font-family:var(--mono);color:var(--ink);font-size:11.5px;font-weight:450}.cargo-card{-webkit-backdrop-filter:blur(22px)saturate(170%);backdrop-filter:blur(22px)saturate(170%);width:268px;box-shadow:inset 0 0 0 .5px #fffc, 0 0 0 .5px #1118271f, var(--shadow-sm);pointer-events:auto;background:#ffffffd6;border-radius:14px;padding:12px 14px;font-size:12px;transform:translate(26px,-50%)}.cargo-card .cc-head{align-items:center;gap:8px;display:flex}.cargo-card .cc-id{font-family:var(--mono);letter-spacing:-.02em;font-size:15px;font-weight:560}.cargo-card .cc-desc{color:var(--ink-3);margin-top:1px}.cargo-card .cc-big{gap:16px;margin:10px 0 8px;display:flex}.cargo-card .cc-big div{display:grid}.cargo-card .cc-big b{letter-spacing:-.025em;font-size:18px;font-weight:620}.cargo-card .cc-big span{color:var(--ink-3);font-size:11px}.cargo-card .kv{gap:6px 12px;font-size:12px}.cargo-card .cc-acts{gap:6px;margin-top:12px;display:flex}.drag-chip{z-index:150;pointer-events:none;box-shadow:0 0 0 1px var(--accent), 0 10px 24px -12px #141c3059;font-family:var(--mono);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex;position:fixed;transform:translate(14px,14px)rotate(-1.5deg)}.prio{align-items:flex-end;gap:2px;display:inline-flex}.prio i{background:var(--surface-4);border-radius:1px;width:3px}.prio i.on{background:var(--ink-3)}.prio i.on.hi{background:var(--crit-dot)}.prio span{color:var(--ink-2);margin-left:5px;font-size:12px}.status .glyph.moving{animation:2.2s ease-out infinite pulse-ring}@media (width<=1439px){.p-panel{width:304px}}@media (width<=1180px){.p-header{width:312px}}@media (width<=1100px){.p-panel{max-height:56%;top:auto;bottom:186px}}.ship-mini{box-shadow:inset 0 1px 0 #ffffffe6, 0 0 0 .5px var(--hair);background:#ffffff8c;border-radius:14px;align-items:center;gap:10px;padding:9px 12px;transition:background .15s;display:flex}.ship-mini:hover{background:#ffffffd9}.ship-mini .sw{border-radius:4px;flex:none;width:12px;height:12px;box-shadow:inset 0 0 0 1px #ffffff59}.stops{gap:0;margin:0;padding:0;list-style:none;display:grid}.stops li{grid-template-columns:22px 1fr;gap:10px;padding-bottom:14px;font-size:12.5px;display:grid;position:relative}.stops li:before{content:"";background:var(--hair-2);width:1.5px;position:absolute;top:22px;bottom:0;left:10px}.stops li:last-child:before{display:none}.stops .node{width:22px;height:22px;color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--hair-3);background:#fff;border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.stops li.done .node{background:var(--good-dot);color:#fff;box-shadow:none}.p-panel.opt{max-height:calc(100% - 200px);bottom:auto}.ai-mark{width:26px;height:26px;color:var(--brand-ink);background:var(--accent);border-radius:8px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff80}.check-row{height:28px;color:var(--ink-4);align-items:center;gap:10px;font-size:12.5px;transition:color .2s;display:flex}.check-row.active{color:var(--ink)}.check-row.done{color:var(--ink-2)}.check-row .cr-icon{width:18px;height:18px;box-shadow:inset 0 0 0 1.5px var(--hair-2);color:var(--accent);border-radius:50%;place-items:center;display:grid}.check-row.done .cr-icon{background:var(--good-dot);color:#fff;box-shadow:none}.delta-row{color:var(--ink-2);align-items:baseline;gap:10px;font-size:13px;display:flex}.delta-row b{font-family:var(--mono);min-width:78px;font-size:14px;font-weight:560}.compare{box-shadow:inset 0 0 0 .5px var(--hair);background:#ffffffb3;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:12px;display:grid}.compare>div{gap:4px;font-size:12px;display:grid}.compare b{letter-spacing:-.03em;font-size:26px;font-weight:640}.changes{box-shadow:inset 0 0 0 .5px var(--hair);background:#ffffffb3;border-radius:12px;gap:6px;padding:10px 12px;display:grid}.change{align-items:baseline;gap:9px;font-size:12.5px;display:flex}.ch-dot{background:var(--accent);border-radius:2px;flex:none;width:7px;height:7px;transform:translateY(-1px)}.ch-dot[data-kind=add]{background:var(--good-dot)}.ch-dot[data-kind=rotate],.ch-dot[data-kind=shift]{background:var(--ink-3)}.assist-btn{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb8;border-radius:11px;height:38px;padding:0 14px}.assist-btn svg{color:var(--accent)}.assist{display:grid}.assist-input{background:var(--surface-2);height:38px;box-shadow:inset 0 0 0 .5px var(--hair);color:var(--accent);border-radius:9px;align-items:center;gap:8px;margin:2px 2px 6px;padding:0 10px;display:flex}.assist-input input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:13px}.assist-result{box-shadow:0 0 0 1px var(--accent-soft-2);background:#fff;border-radius:10px;margin:0 2px 6px;padding:10px 12px;font-size:12.5px}.assist-result b{font-size:13px;font-weight:600;display:block}.assist-result p{color:var(--ink-2);margin-top:3px}.cmdk{z-index:90;-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);width:min(620px,100vw - 32px);box-shadow:0 0 0 .5px var(--hair-2), var(--shadow-md);background:#fffffff0;border-radius:16px;position:fixed;top:14vh;left:50%;overflow:hidden;transform:translate(-50%)}.cmdk-input{border-bottom:.5px solid var(--hair);height:52px;color:var(--ink-3);align-items:center;gap:10px;padding:0 14px;display:flex}.cmdk-input input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:15px}.cmdk-list{max-height:420px;padding:6px;overflow:auto}.notif-item{border-radius:9px;align-items:flex-start;gap:10px;width:100%;padding:9px;display:flex}.notif-item:hover{background:var(--surface-3)}.notif-item.unread{background:#3a80400a}.driver-opt{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:box-shadow .15s,background .15s;display:flex}.driver-opt:hover{background:var(--surface-2)}.driver-opt.on{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--accent-soft)}.driver-opt.blocked{opacity:.78}.radio{width:18px;height:18px;box-shadow:inset 0 0 0 1.5px var(--hair-3);border-radius:50%;flex:none;transition:box-shadow .15s}.radio.on{box-shadow:inset 0 0 0 5px var(--accent)}.check-line{border-radius:11px;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.check-line.ok .cl-icon{color:var(--good)}.check-line.bad{background:var(--warn-soft)}.check-line.bad .cl-icon{color:var(--warn)}.modal-icon{background:var(--surface-3);width:34px;height:34px;color:var(--ink-2);border-radius:10px;flex:none;place-items:center;display:grid}.btn.on{background:var(--accent-soft);color:var(--accent-ink)}.seg-sm button{height:24px;font-size:12px}.kpi-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi-tile{text-align:left;gap:4px;padding:14px 16px 10px;transition:background .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.kpi-tile:hover{background:var(--surface-2);box-shadow:0 0 0 .5px var(--hair-2)}.kpi-label{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.kpi-val{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:620;line-height:1.1}.kpi-foot{white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:11.5px;display:flex}.kpi-foot .muted{text-overflow:ellipsis;overflow:hidden}.kpi-spark{height:30px;margin:4px -4px 0}.delta{color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:560}.delta .muted{font-weight:400}.delta.up{color:var(--good)}.delta.down{color:var(--crit)}.axis-t{fill:var(--ink-3);font-size:10.5px;font-family:var(--mono)}.lane-t{fill:var(--ink-2);font-size:11.5px;font-weight:500}.mk{fill:#fff;stroke:var(--ink-3);stroke-width:1.5px}.mk.done{fill:var(--ink-2);stroke:#fff}.mk.good{fill:var(--good-dot);stroke:#fff;stroke-width:1.5px}.mk.risk{fill:var(--warn-dot);stroke:#fff;stroke-width:1.5px}.legend-inline{color:var(--ink-3);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend-inline span{align-items:center;gap:6px;display:inline-flex}.lg-dot{width:9px;height:9px;box-shadow:inset 0 0 0 1.5px var(--ink-3);border-radius:50%}.lg-dot.filled{background:var(--ink-2);box-shadow:none}.lg-dot.risk{background:var(--warn-dot);box-shadow:none}.lg-key.now{background:var(--crit-dot);border-radius:2px;width:2px;height:12px}.chart-tip{pointer-events:none;z-index:5;color:#fff;white-space:nowrap;background:#1b222c;border-radius:8px;min-width:140px;padding:7px 9px;font-size:12px;position:absolute}.ct-title{margin-bottom:3px;font-weight:600}.ct-row{color:#ffffffc7;align-items:center;gap:6px;padding:1px 0;display:flex}.ct-row i{border-radius:2px;flex:none;width:8px;height:8px}.ct-row b{font-family:var(--mono);color:#fff;margin-left:auto;padding-left:14px;font-weight:500}.dep{margin-bottom:16px;overflow:hidden}.dep-head{justify-content:space-between;align-items:flex-end;gap:16px;padding:16px 18px 14px;display:flex}.dep-title{gap:4px;min-width:0;display:grid}.dep-kicker{color:var(--ink-3);font-size:12px;font-weight:520}.dep-name{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dep-name h2{letter-spacing:-.03em;font-size:22px;font-weight:650}.dep-route{color:var(--ink-2);align-items:center;gap:6px;font-size:15px;font-weight:520;display:inline-flex}.dep-route svg{color:var(--ink-4)}.dep-actions{flex:none;align-items:center;gap:8px;display:flex}.dep-count{border-radius:var(--r-2);height:28px;color:var(--ink-2);background:var(--surface-3);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:520;display:inline-flex}.dep-count.soon{color:var(--warn);background:var(--warn-soft)}.dep-body{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:12px;padding:0 16px 12px;display:grid}.dep-scene{min-height:330px;box-shadow:inset 0 0 0 .5px var(--hair);background:linear-gradient(#f4f5f7,#eceef1);border-radius:12px;position:relative;overflow:hidden}.dep-chips{pointer-events:none;flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;left:12px}.scene-pill{height:24px;color:var(--ink-2);box-shadow:0 0 0 .5px var(--hair);background:#ffffffe6;border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:520;display:inline-flex}.scene-pill.crit{color:var(--crit)}.scene-pill.good{color:var(--good)}.dep-scene-foot{color:var(--ink-3);pointer-events:none;font-size:11px;position:absolute;bottom:10px;right:12px}.dep-data{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:10px;display:grid}.dep-block{background:var(--surface);box-shadow:inset 0 0 0 .5px var(--hair);border-radius:12px;min-width:0;padding:12px 14px}.db-head{color:var(--ink-2);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:560;display:flex}.db-head svg{color:var(--ink-3)}.db-head .muted{margin-left:auto;font-size:11px;font-weight:400}.db-route{justify-content:space-between;gap:10px;display:flex}.db-route b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:620;line-height:1.05;display:block}.db-route b.crit{color:var(--crit)}.db-route span{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:150px;margin-top:3px;font-size:11.5px;display:block;overflow:hidden}.db-timeline{background:var(--surface-4);border-radius:6px;height:6px;margin:12px 0 8px;position:relative}.db-timeline i{border-radius:6px;position:absolute;top:0;bottom:0}.db-timeline i.win{background:repeating-linear-gradient(135deg,#3a80404d 0 3px,#3a80401f 3px 6px)}.db-timeline i.trip{background:var(--accent)}.db-timeline .eta{width:12px;height:12px;box-shadow:inset 0 0 0 2.5px var(--accent);background:#fff;border-radius:50%;margin:-6px 0 0 -6px;position:absolute;top:50%}.db-timeline .eta.late{box-shadow:inset 0 0 0 2.5px var(--crit-dot)}.db-sub{color:var(--ink-3);font-size:11.5px}.db-load{align-items:center;gap:14px;display:flex}.ring-val{font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.db-load dl{flex:1;grid-template-columns:auto 1fr;gap:4px 10px;min-width:0;margin:0;font-size:11.5px;display:grid}.db-load dt{color:var(--ink-3)}.db-load dd{text-align:right;white-space:nowrap;margin:0}.db-axles{gap:8px;display:grid}.db-axle{color:var(--ink-2);grid-template-columns:70px 1fr 50px;align-items:center;gap:8px;font-size:11.5px;display:grid}.db-axle b{text-align:right;color:var(--ink);font-weight:500}.db-axle-bar{background:var(--surface-4);border-radius:6px;height:6px;position:relative;overflow:hidden}.db-axle-bar i{background:var(--ink);border-radius:6px;position:absolute;inset:0 auto 0 0}.db-axle.over .db-axle-bar i{background:var(--crit-dot)}.db-axle.over b{color:var(--crit)}.db-driver{align-items:center;gap:10px;display:flex}.db-driver b{font-size:13px;font-weight:560;display:block}.db-driver span{color:var(--ink-3);font-size:11.5px}.db-av{width:30px;height:30px;color:var(--ink-2);background:var(--surface-3);box-shadow:inset 0 0 0 .5px var(--hair-2);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-style:normal;font-weight:600;display:grid}.db-av.none{color:var(--ink-3);box-shadow:inset 0 0 0 1.5px var(--hair-3);background:0 0}.db-eco{border-top:.5px solid var(--hair);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px;padding-top:10px;display:grid}.db-eco span{color:var(--ink-3);font-size:11px;display:block}.db-eco b{white-space:nowrap;font-size:13px;font-weight:500}.db-eco b.good{color:var(--good)}.db-eco small{color:var(--ink-3);font-size:10.5px}.dep-ready{background:var(--surface);box-shadow:inset 0 0 0 .5px var(--hair);border-radius:12px;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;padding:10px 12px;display:flex}.dr-title{margin-right:4px;font-size:12px;font-weight:600}.dr-item{height:24px;color:var(--crit);background:var(--crit-soft);border-radius:6px;align-items:center;gap:6px;padding:0 8px 0 5px;font-size:11.5px;font-weight:520;display:inline-flex}.dr-item i{border-radius:50%;place-items:center;width:14px;height:14px;display:grid;box-shadow:inset 0 0 0 1.5px #e5484d8c}.dr-item.ok{color:var(--good);background:var(--good-soft)}.dr-item.ok i{color:#fff;background:var(--good-dot);box-shadow:none}.dep-queue{grid-template-columns:repeat(6,minmax(0,1fr)) auto;align-items:stretch;gap:8px;padding:0 16px 16px;display:grid}.dq-head{grid-column:1/-1;align-items:baseline;gap:8px;padding:4px 2px 0;font-size:12.5px;font-weight:600;display:flex}.dq-head .muted{font-size:11.5px;font-weight:400}.dq-row{text-align:left;background:var(--surface);box-shadow:inset 0 0 0 .5px var(--hair);border-radius:12px;grid-template-columns:1fr;align-content:start;gap:6px;min-width:0;padding:10px 12px;transition:background .15s,box-shadow .15s;display:grid}.dq-row:hover{background:var(--surface-2)}.dq-row.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.dq-main{min-width:0}.dq-top{justify-content:space-between;gap:6px;font-size:12.5px;display:flex}.dq-top b{font-weight:600}.dq-top .mono{color:var(--ink-2);font-size:11.5px}.dq-sub{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.dq-meta{color:var(--ink-2);align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.dq-meta .mono{color:var(--ink-3);margin-left:auto}.dq-dot{border-radius:50%;flex:none;width:6px;height:6px}.dq-dot.good{background:var(--good-dot)}.dq-dot.warn{background:var(--warn-dot)}.dq-dot.crit{background:var(--crit-dot)}.dq-all{color:var(--ink-2);border-radius:12px;justify-content:center;align-items:center;gap:4px;padding:0 14px;font-size:12.5px;font-weight:520;display:flex}.dq-all:hover{background:var(--surface-3);color:var(--ink)}.today-ops{margin-bottom:16px}.to-body{grid-template-columns:minmax(250px,290px) minmax(0,1fr);gap:20px;padding:12px 16px 14px;display:grid}.to-stages{align-content:start;gap:8px;display:grid}.to-stage{text-align:left;background:var(--surface);box-shadow:inset 0 0 0 .5px var(--hair);border-radius:12px;grid-template-columns:30px 1fr;align-items:start;gap:12px;padding:10px 12px;transition:background .15s;display:grid}.to-stage:hover{background:var(--surface-2)}.ts-icon{width:30px;height:30px;color:var(--ink-2);background:var(--surface-3);border-radius:9px;place-items:center;display:grid}.ts-main{min-width:0}.ts-top{justify-content:space-between;align-items:baseline;gap:8px;font-size:13px;display:flex}.ts-top>b{font-weight:560}.ts-count{font-variant-numeric:tabular-nums;color:var(--ink-3);font-size:12px}.ts-count b{letter-spacing:-.02em;color:var(--ink);font-size:17px;font-weight:620}.ts-bar{background:var(--surface-4);border-radius:6px;height:6px;margin:7px 0 6px;position:relative;overflow:hidden}.ts-bar i{background:var(--k,var(--ink));border-radius:6px;position:absolute;top:0;bottom:0;left:0}.ts-bar i.active{background:repeating-linear-gradient(135deg, var(--accent) 0 3px, #3a804059 3px 6px)}.ts-next{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:11.5px;display:flex;overflow:hidden}.to-charts{min-width:0}.to-cap{fill:var(--ink-2);font-size:11.5px;font-weight:560}.now-l{stroke:var(--crit-dot);stroke-width:1.5px}.now-pill{fill:var(--crit-dot)}.now-t{font-size:10.5px;font-family:var(--mono);fill:#fff}.to-hover{fill:#1118270a}.ov-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.ov-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fleet-mix{gap:3px;height:6px;margin:0 16px 8px;display:flex}.fleet-mix i{border-radius:6px;min-width:6px}.fleet-board{gap:4px;display:grid}.fb-row{border-top:.5px solid var(--hair);grid-template-columns:150px 1fr;align-items:start;gap:12px;padding:8px 0;display:grid}.fb-row:first-child{border-top:0}.fb-head{justify-content:space-between;align-items:center;padding-top:6px;display:flex}.fb-head b{font-size:15px;font-weight:620}.fb-head b .muted{font-size:11px;font-weight:400}.fb-trucks{flex-wrap:wrap;gap:2px 4px;display:flex}.fb-truck{font-family:var(--mono);color:var(--ink-3);border-radius:7px;justify-items:center;gap:0;padding:3px 4px 2px;font-size:10px;display:grid}.fb-truck:hover{background:var(--surface-3);color:var(--ink)}.alert-row{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:11px;align-items:center;gap:12px;padding:10px;display:flex}.al-icon{border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.mini-canvas{inset:0;position:absolute!important}.map,.map.maplibregl-map{background:#eceef1;position:absolute;inset:0}.map .maplibregl-ctrl-attrib{background:#ffffffb3;font-size:10px}.tmk{cursor:pointer;width:24px;height:24px;position:relative}.tmk-dot{width:24px;height:24px;color:var(--transit);transition:transform .2s var(--ease-out), background .2s, color .2s;background:#fff;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 1.5px,0 4px 10px -4px #00000059}.tmk-arrow{transition:transform .6s var(--ease-out);place-items:center;display:grid}.tmk.delayed .tmk-dot{color:var(--warn-dot)}.tmk.loading .tmk-dot{color:var(--accent)}.tmk.available .tmk-dot{color:var(--good-dot)}.tmk.idle .tmk-dot{color:var(--idle)}.tmk:hover .tmk-dot{transform:scale(1.12)}.tmk.sel .tmk-dot{background:var(--accent);color:var(--brand-ink);box-shadow:0 0 0 4px #3a804038}.tmk-label{white-space:nowrap;pointer-events:none;background:#fff;border-radius:7px;align-items:center;gap:6px;padding:3px 7px;font-size:11px;display:none;position:absolute;top:50%;left:30px;transform:translateY(-50%);box-shadow:0 0 0 .5px #11182724,0 6px 14px -6px #1118274d}.tmk-label b{font-family:var(--mono);font-weight:600}.tmk-label span{color:var(--ink-3)}.tmk:hover .tmk-label,.tmk.sel .tmk-label,.map.labels .tmk-label{display:flex}.stop-pin{width:12px;height:12px;position:relative}.stop-pin i{box-shadow:0 0 0 2.5px var(--ink);background:#fff;border-radius:50%;position:absolute;inset:0}.stop-pin.origin i{background:var(--ink)}.stop-pin.done i{background:var(--good-dot);box-shadow:0 0 0 2.5px #fff, 0 0 0 3.5px var(--good-dot)}.stop-pin span{white-space:nowrap;color:var(--ink);text-shadow:0 0 3px #fff,0 0 6px #fff;pointer-events:none;font-size:11.5px;font-weight:560;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.back-link{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:10px;font-size:12.5px;display:inline-flex}.back-link:hover{color:var(--ink)}.link{color:var(--accent-ink);cursor:pointer;background:0 0;font-weight:520}.link:hover{text-underline-offset:2px;text-decoration:underline}.screen-loading{background:linear-gradient(90deg,#0000,#ffffff80,#0000);height:100%}.map-loading{background:#eceef1}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{height:30px;color:var(--ink-2);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);box-shadow:inset 0 0 0 .5px var(--hair-2);background:#ffffffb8;border-radius:9px;align-items:center;gap:7px;padding:0 11px;font-size:12.5px;font-weight:520;transition:background .15s,color .15s;display:inline-flex}.chip:hover{color:var(--ink);background:#fff}.chip.on{color:#fff;background:var(--accent);box-shadow:none}.chip.on:hover{background:var(--accent-hover)}.chip .count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.chip.on .count{color:#ffffffc7}.chip.on .dot{box-shadow:0 0 0 1.5px #ffffffd9}.bulk-bar,.save-bar{z-index:60;color:#eef1f6;background:#181e27f0;border-radius:14px;align-items:center;gap:10px;padding:8px 8px 8px 16px;font-size:13px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 18px 44px -14px #00000073}.hos{background:var(--surface-4);vertical-align:middle;border-radius:5px;width:80px;height:5px;display:inline-block;position:relative;overflow:hidden}.hos i{border-radius:5px;position:absolute;inset:0 auto 0 0}.card-body .hos{width:100%}.grow-bar{flex:1}.lines{gap:6px;display:grid}.line{grid-template-columns:190px 1fr 74px 90px 86px 30px;align-items:center;gap:6px;display:grid}.line.head span{color:var(--ink-3);font-size:11.5px}.line .input,.line .select{height:32px}.stepper{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px;padding:14px 18px;display:grid}.step{align-items:flex-start;gap:10px;display:flex;position:relative}.step:after{content:"";background:var(--hair-2);border-radius:2px;flex:1;align-self:flex-start;min-width:12px;height:1.5px;margin-top:10.5px}.step:last-child:after{display:none}.step.done:after{background:var(--ink-3)}.step .node{z-index:1;width:22px;height:22px;color:var(--ink-3);box-shadow:inset 0 0 0 1.5px var(--hair-3);background:#fffc;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid;position:relative}.step.done .node{background:var(--brand-strong);color:#fff;box-shadow:none}.step.cur .node{background:var(--accent);color:var(--brand-ink);box-shadow:0 0 0 4px var(--accent-ring)}.step>div{z-index:1;flex:none;position:relative}.st-label{align-items:center;font-size:12.5px;font-weight:560;display:flex}.st-time{color:var(--ink-3);font-size:11px}.detail-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:16px;display:grid}.two-col-kv{grid-template-columns:1fr 1fr;gap:24px;display:grid}.assign-truck{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.assign-truck:hover{background:var(--surface-2)}.map-box{height:260px;box-shadow:inset 0 0 0 .5px var(--hair);border-radius:12px;margin:0 16px 16px;position:relative;overflow:hidden}.doc-row{border-radius:9px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.doc-row:hover{background:var(--surface-2)}.doc-kind{width:34px;height:26px;font-family:var(--mono);letter-spacing:.02em;color:var(--ink-2);background:var(--surface-3);border-radius:6px;flex:none;place-items:center;font-size:10px;font-weight:600;display:inline-grid}.doc-kind.pod{color:var(--good);background:var(--good-soft)}.doc-kind.cmr,.doc-kind.bol{color:var(--accent-ink);background:var(--accent-soft)}.doc-kind.invoice{color:#8a4b12;background:#fbefe2}.doc-kind.adr,.doc-kind.customs{color:var(--warn);background:var(--warn-soft)}.mini-log{gap:8px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.mini-log li{grid-template-columns:auto 1fr;gap:10px;display:grid}.pod{grid-template-columns:200px 1fr;align-items:center;gap:18px;display:grid}.sig{background:var(--surface-2);width:100%;height:90px;box-shadow:inset 0 0 0 .5px var(--hair);border-radius:10px}.doc-viewer{z-index:81;background:var(--surface-3);width:min(860px,100vw - 32px);box-shadow:0 0 0 .5px var(--hair), var(--shadow-md);border-radius:16px;flex-direction:column;display:flex;position:fixed;top:24px;bottom:24px;left:50%;overflow:hidden;transform:translate(-50%)}.dv-bar{background:var(--surface);border-bottom:.5px solid var(--hair);align-items:center;gap:10px;padding:12px 14px;display:flex}.dv-scroll{flex:1;padding:28px;overflow:auto}.sheet{max-width:720px;color:var(--ink);background:#fff;border-radius:4px;margin:0 auto;padding:36px 40px;font-size:12px;box-shadow:0 1px 3px #1018281f,0 12px 32px -12px #10182833}.sheet table{border-collapse:collapse;width:100%;margin-top:16px}.sheet th,.sheet td{text-align:left;border:1px solid #dde1e6;padding:6px 8px;font-size:11.5px}.sheet th{background:#f6f7f9;font-weight:600}.sh-head{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;display:flex}.sh-title{letter-spacing:-.01em;font-size:16px;font-weight:650}.sh-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sheet .box{border:1px solid #dde1e6;border-radius:4px;min-height:52px;padding:8px 10px}.sheet .box span,.sh-sign span{color:var(--ink-3);margin-bottom:3px;font-size:10px;display:block}.sh-sign{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.sh-sign>div{border:1px solid #dde1e6;border-radius:4px;min-height:70px;padding:8px 10px}.dropzone{border:1.5px dashed var(--hair-3);color:var(--ink-2);cursor:pointer;background:#ffffff80;border-radius:14px;align-items:center;gap:14px;padding:18px 20px;transition:all .15s;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.upload-row{background:var(--surface);box-shadow:0 0 0 .5px var(--hair);border-radius:10px;align-items:center;gap:10px;margin-top:8px;padding:10px 14px;font-size:12.5px;display:flex}.truck-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.truck-card{text-align:left;transition:transform .2s var(--ease-out), box-shadow .2s;display:grid;overflow:hidden}.truck-card:hover{box-shadow:0 0 0 .5px var(--hair-3)}.tc-top{border-bottom:.5px solid var(--hair);background:linear-gradient(#f6f7f9,#eef0f3);place-items:center;height:92px;display:grid}.tc-main{gap:4px;padding:12px 14px 14px;display:grid}.tc-util{justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.td-over{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.td-card{flex-direction:column;min-width:0;display:flex}.td-vehicle{gap:16px;padding:0 16px 16px;display:grid}.td-vehicle>svg{margin:4px 0 2px}.spec-grid{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;display:grid;overflow:hidden}.spec-grid>div{min-width:0;box-shadow:inset -.5px -.5px 0 var(--hair);padding:9px 12px}.spec-grid dt{color:var(--ink-3);font-size:11.5px}.spec-grid>div.wide{grid-column:1/-1}.spec-grid dd{white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:12.5px;font-weight:520;overflow:hidden}.td-stops{gap:10px;margin:0;padding:0;list-style:none;display:grid}.td-stops li{grid-template-columns:14px 1fr;align-items:start;gap:10px;display:grid;position:relative}.td-stops li+li:before{content:"";background:var(--hair-3);width:.5px;height:14px;position:absolute;top:-12px;left:6.5px}.td-stops li>i{width:10px;height:10px;box-shadow:inset 0 0 0 1.5px var(--ink-3);border-radius:50%;margin:3px 0 0 2px}.td-stops li.done>i{background:var(--accent);box-shadow:none}.td-stops b{font-size:12.5px;font-weight:560;display:block}.td-stops span{color:var(--ink-3);font-size:11.5px}.td-trip{flex-direction:column;flex:1;gap:14px;padding:0 16px 16px;display:flex}.td-driver{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.td-driver-name{font-weight:560}.td-driver-name:hover{color:var(--accent-ink)}.td-av-empty{width:36px;height:36px;color:var(--ink-3);box-shadow:inset 0 0 0 1px var(--hair-3);border-radius:50%;flex:none;place-items:center;display:grid}.td-route{justify-content:space-between;gap:12px;margin-top:4px;display:flex}.td-route b{letter-spacing:-.02em;font-size:20px;font-weight:500;display:block}.td-route span{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:170px;font-size:12px;display:block;overflow:hidden}.td-progress{background:var(--surface-4);border-radius:6px;height:6px;position:relative}.td-progress i{background:var(--accent);border-radius:6px;position:absolute;inset:0 auto 0 0}.td-progress span{width:12px;height:12px;box-shadow:inset 0 0 0 2.5px var(--accent);background:#fff;border-radius:50%;margin:-6px 0 0 -6px;position:absolute;top:50%}.td-progress-label{color:var(--ink-3);justify-content:space-between;margin-top:-6px;font-size:11.5px;display:flex}.td-facts{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:auto;display:grid}.td-facts>div{gap:2px;min-width:0;padding:9px 12px;display:grid}.td-facts>div+div{box-shadow:inset .5px 0 0 var(--hair)}.td-facts span{color:var(--ink-3);font-size:11.5px}.td-facts b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:560;overflow:hidden}.td-none{text-align:center;color:var(--ink-3);box-shadow:inset 0 0 0 .5px var(--hair);border-radius:10px;flex:1;place-items:center;padding:20px;font-size:12.5px;display:grid}.td-util{flex-direction:column;flex:1;gap:12px;min-height:0;padding:0 16px 16px;display:flex}.td-util-head{gap:28px;display:flex}.td-util-head span{color:var(--ink-3);font-size:11.5px;display:block}.td-util-head b{letter-spacing:-.03em;align-items:baseline;gap:8px;font-size:24px;font-weight:620;display:inline-flex}.td-util-head em{letter-spacing:0;font-size:12px;font-style:normal;font-weight:560}.td-util-head em.up{color:var(--good)}.td-util-head em.down{color:var(--crit)}.td-bars{border-bottom:.5px solid var(--hair-2);flex:1;grid-template-columns:repeat(28,minmax(0,1fr));align-items:end;gap:3px;min-height:120px;padding-bottom:2px;display:grid}.td-bars button{cursor:default;align-items:flex-end;height:100%;display:flex}.td-bars i{background:var(--accent);border-radius:3px 3px 1px 1px;width:100%;transition:opacity .15s;display:block}.td-bars button.off i{background:var(--surface-4)}.td-util-foot{color:var(--ink-3);justify-content:space-between;font-size:11.5px;display:flex}.td-load{grid-column:1/-1;overflow:hidden}.td-load-strip{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 16px 14px;display:grid}.td-load-strip>div{gap:4px;min-width:0;padding:10px 14px 12px;display:grid}.td-load-strip>div+div{box-shadow:inset .5px 0 0 var(--hair)}.td-load-strip span{color:var(--ink-3);font-size:11.5px}.td-load-strip b{font-size:16px;font-weight:560}.td-load-strip em{color:var(--ink-3);font-size:11.5px;font-style:normal}.td-load .table th{border-top:.5px solid var(--hair);background:var(--surface-2)}@media (width<=1180px){.td-over{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.td-over>.td-card:nth-child(3){grid-column:1/-1}}.truck-hero{background:radial-gradient(800px 300px,#fff,#fff0 70%),linear-gradient(#f3f4f6,#e8ebef);height:430px;position:relative;overflow:hidden}.th-modes{padding:4px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.th-modes .seg{box-shadow:none;background:0 0}.th-stats{grid-template-columns:repeat(4,1fr);padding:10px 6px;display:grid;position:absolute;bottom:14px;left:14px;right:14px}.th-stats>div{border-left:.5px solid var(--hair);gap:1px;padding:0 14px;display:grid}.th-stats>div:first-child{border-left:0}.th-stats span{color:var(--ink-3);font-size:11.5px}.th-stats b{letter-spacing:-.03em;font-size:20px;font-weight:620}.th-stats small{color:var(--ink-3);font-size:11px}.heat-row{grid-template-columns:repeat(28,1fr);gap:3px;display:grid}.heat-row i{aspect-ratio:1;border-radius:3px}.perf{grid-template-columns:1fr 1fr;justify-items:center;gap:14px;display:grid}.perf>div{color:var(--ink-3);justify-items:center;gap:6px;font-size:12px;display:grid}.perf .kv{justify-self:stretch;width:100%}.lic-row{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.week{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.wk-day{gap:6px;font-size:12px;display:grid}.wk-slot{font-family:var(--mono);text-align:center;background:var(--accent-soft);color:var(--accent-ink);border-radius:9px;padding:10px 8px;font-size:11.5px}.wk-slot.off{background:var(--surface-3);color:var(--ink-3);font-family:var(--font)}.wk-day.today .wk-slot{box-shadow:inset 0 0 0 1.5px var(--accent)}.split-view{grid-template-columns:400px 1fr;display:grid;position:absolute;inset:0}.split-list{border-right:.5px solid var(--hair);background:var(--canvas);flex-direction:column;min-height:0;display:flex}.sl-head{gap:10px;padding:20px 16px 12px;display:grid}.sl-body{flex:1;align-content:start;gap:8px;padding:4px 12px 20px;display:grid;overflow:auto}.disp-card{background:var(--surface);box-shadow:0 0 0 .5px var(--hair), var(--shadow-xs);cursor:pointer;border-radius:13px;padding:12px 12px 10px;transition:box-shadow .15s}.disp-card:hover{box-shadow:0 0 0 .5px var(--hair-2), var(--shadow-sm)}.disp-card.sel{box-shadow:0 0 0 1.5px var(--accent)}.dc-top{align-items:center;gap:8px;display:flex}.dc-top .grow,.grow{flex:1}.dc-route{color:var(--ink);margin-top:6px;font-size:12.5px}.dc-route .done{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.dc-meta{color:var(--ink-2);justify-content:space-between;align-items:center;margin-top:6px;font-size:12px;display:flex}.dc-meta span{align-items:center;gap:6px;display:inline-flex}.dc-progress{background:var(--surface-4);border-radius:4px;height:4px;margin-top:10px;position:relative;overflow:hidden}.dc-progress i{border-radius:4px;transition:width 1s linear;position:absolute;inset:0 auto 0 0}.dc-eta{color:var(--ink-3);justify-content:space-between;align-items:center;gap:8px;margin-top:6px;font-size:11.5px;display:flex}.split-map{min-width:0;position:relative}.map-card{width:360px;padding:14px;position:absolute;bottom:16px;left:16px}.tracking{position:absolute;inset:0}.track-list{flex-direction:column;width:360px;display:flex;position:absolute;top:14px;bottom:84px;left:14px;overflow:hidden}.tl-body{flex:1;padding:0 8px 10px;overflow:auto}.tl-row{border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px;transition:background .12s;display:flex}.tl-row:hover{background:#fff9}.tl-row.sel{box-shadow:0 0 0 1px var(--accent);background:#fff}.tl-dot{border-radius:50%;flex:none;width:8px;height:8px}.tl-prog{background:#11182714;border-radius:3px;height:3px;margin-top:5px;position:relative;overflow:hidden}.tl-prog i{border-radius:3px;position:absolute;inset:0 auto 0 0}.track-card{width:340px;padding:16px;position:absolute;top:14px;right:14px}.tc-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 8px;display:grid}.tc-metrics>div{box-shadow:inset 0 0 0 .5px var(--hair);color:var(--ink-3);background:#ffffffb3;border-radius:10px;gap:2px;padding:8px 10px;font-size:11px;display:grid}.tc-metrics b{color:var(--ink);letter-spacing:-.02em;font-size:17px;font-weight:620}.time-ctl{z-index:5;align-items:center;gap:4px;padding:5px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.track-detail .time-ctl{left:calc(50% + var(--sidebar) / 2);position:fixed}.tc-time{padding:0 10px;font-size:12.5px}.track-detail{max-width:1480px;height:100%;margin:0 auto;padding:18px 24px 90px;overflow:auto}.content.flush .track-detail{position:absolute;inset:0}.td-head h1{font-size:24px}.arrive-banner{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-soft-2);color:var(--accent-ink);border-radius:14px;align-items:center;gap:14px;margin-top:14px;padding:12px 14px;display:flex}.arrive-banner.good{background:var(--good-soft);color:var(--good);box-shadow:inset 0 0 0 1px #1ea36240}.arrive-banner b{color:var(--ink);display:block}.arrive-banner span{color:var(--ink-2);font-size:12.5px}.td-main{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.td-scene,.td-map{height:400px;position:relative;overflow:hidden}.td-scene{background:radial-gradient(700px 300px,#fff,#fff0 70%),linear-gradient(#f3f4f6,#e8ebef)}.td-chips{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;left:12px}.chip-metric{color:var(--ink-2);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.chip-metric b{color:var(--ink);font-family:var(--mono);font-weight:500}.td-empty{border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:12.5px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.td-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.sig-pad{background:var(--surface-2);width:100%;height:150px;box-shadow:inset 0 0 0 .5px var(--hair-2);cursor:crosshair;touch-action:none;border-radius:12px}.photo-thumb{width:76px;height:58px;font-size:10px;font-family:var(--mono);color:var(--ink-3);background:linear-gradient(135deg,#e7eaee,#d9dde3);border-radius:9px;align-content:center;place-items:center;gap:2px;display:grid}.photo-thumb.add{box-shadow:inset 0 0 0 1.5px var(--hair-3);font-size:18px;font-family:var(--font);background:0 0}.exc{grid-template-columns:420px 1fr;height:100%;display:grid}.exc-list{border-right:.5px solid var(--hair);flex-direction:column;min-height:0;display:flex}.exc-scroll{flex:1;padding-bottom:20px;overflow:auto}.exc-group{padding:6px 12px}.exc-gh{color:var(--ink-2);align-items:center;gap:8px;padding:8px 6px;font-size:12px;font-weight:560;display:flex}.exc-item{background:var(--surface);width:100%;box-shadow:0 0 0 .5px var(--hair);border-radius:12px;align-items:center;gap:10px;margin-bottom:4px;padding:10px;transition:box-shadow .15s;display:flex}.exc-item:hover{box-shadow:0 0 0 .5px var(--hair-2), var(--shadow-xs)}.exc-item.sel{box-shadow:0 0 0 1.5px var(--accent)}.exc-detail{min-width:0;overflow:auto}.exc-body{max-width:980px;padding:26px 28px 40px}.exc-ctx{height:330px;box-shadow:inset 0 0 0 .5px var(--hair);background:radial-gradient(700px 260px,#fff,#fff0 70%),linear-gradient(#f3f4f6,#e8ebef);border-radius:16px;margin:20px 0;position:relative;overflow:hidden}.exc-why{grid-template-columns:1fr 1.2fr;gap:16px;display:grid}.exc-why>div{background:var(--surface);box-shadow:0 0 0 .5px var(--hair);border-radius:14px;padding:16px}.exc-why p{color:var(--ink-2);margin-top:6px;font-size:13px}.exc-why .rec{background:linear-gradient(180deg, #fff, var(--accent-soft));box-shadow:0 0 0 1px var(--accent-soft-2)}.exc-why .rec p{color:var(--ink)}.tile-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.tile-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-tile{gap:4px;padding:14px 16px 10px;display:grid;overflow:hidden}.st-delta{white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.st-spark{height:34px;margin:4px -4px 0}.an-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.an-grid>.span-3{grid-column:span 3}.an-grid>.span-4{grid-column:span 4}.an-grid>.span-5{grid-column:span 5}.an-grid>.span-6{grid-column:span 6}.an-grid>.span-7{grid-column:span 7}.an-grid>.span-8{grid-column:span 8}.an-grid>.span-12{grid-column:span 12}.tbl-card{flex-direction:column;min-width:0;display:flex;overflow:hidden}.tbl-card .cc-head{padding-bottom:10px}.tbl-card .table th:first-child,.tbl-card .table td:first-child{padding-left:16px}.tbl-card .table th:last-child,.tbl-card .table td:last-child{padding-right:16px}.tbl-card .table td{height:40px}.tbl-card .table th{border-top:.5px solid var(--hair);background:var(--surface-2)}.tbl-card.roomy .table td{height:56px}.tbl-foot{border-top:.5px solid var(--hair);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:auto;padding:14px 16px;font-size:12px;display:flex}.tbl-foot b{color:var(--ink);font-weight:500}.cell-bar{align-items:center;gap:10px;display:flex}.cell-bar:before{content:none}.cell-bar i{background:var(--accent);border-radius:6px;flex:none;max-width:calc(100% - 64px);height:6px;display:block}.cell-bar.warn i{background:var(--warn-dot)}.cell-bar b{font-size:12px;font-weight:500}.an-grid>.span-7.tbl-card,.an-grid>.span-5.tbl-card{align-self:stretch}.chart-card{flex-direction:column;min-width:0;display:flex}.cc-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 0;display:flex}.cc-head h3{font-size:13.5px}.cc-q{color:var(--ink-3);max-width:52ch;margin-top:3px;font-size:12px}.cc-tools{flex:none;align-items:center;gap:8px;display:flex}.cc-headline{justify-content:space-between;align-items:flex-end;gap:12px;padding:10px 16px 2px;display:flex}.cc-figure{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cc-big{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:620;line-height:1.05}.cc-big small{letter-spacing:0;color:var(--ink-3);font-size:12px;font-weight:500;font-family:var(--mono);margin-left:4px}.cc-note{color:var(--ink-3);font-size:12px}.cc-body{flex:1;padding:10px 12px 14px}.chart-box{width:100%;position:relative}.chart-box svg{display:block;overflow:visible}.grid-l{stroke:#1118271f;stroke-dasharray:2 4}.ref-l{stroke:var(--ink-3);stroke-dasharray:5 5;stroke-width:1.2px}.ref-t{fill:var(--ink-2)}.cross-l{stroke:#11182747;stroke-dasharray:3 3}.col-track{fill:#1118270b}.end-label{font-size:11px;font-family:var(--mono);fill:var(--ink);font-weight:500}.delta-chip{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-3);align-items:center;gap:1px;font-size:11.5px;font-weight:560;display:inline-flex}.delta-chip.good{color:var(--good)}.delta-chip.bad{color:var(--crit)}.delta-chip.flat{color:var(--ink-3)}.lg-key{background:var(--k);border-radius:4px;width:14px;height:4px;display:inline-block}.lg-key.dashed{border-top:2px dashed var(--k);background:0 0;border-radius:0;height:0}.hbars{gap:12px;padding:8px 4px 4px;display:grid}.hb-row{grid-template-columns:minmax(120px,170px) 1fr 112px;align-items:center;gap:12px;font-size:12.5px;display:grid}.hb-label{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hb-tracks{gap:4px;display:grid}.hb-track{background:#1118270f;border-radius:10px;height:10px;position:relative;overflow:hidden}.hbars.two .hb-track{height:7px}.hb-track i{border-radius:10px;min-width:6px;position:absolute;inset:0 auto 0 0}.hb-val{text-align:right;font-size:11.5px}.heat-grid{gap:3px;display:grid}.hg-row{cursor:pointer;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;font-size:11px;display:grid}.hg-row:hover .mono:first-child{color:var(--accent-ink)}.hg-row .heat-row i{aspect-ratio:auto;border-radius:3px;height:12px}.heat-legend{align-items:center;gap:8px;font-size:11px;display:flex}.heat-legend i{background:linear-gradient(90deg, var(--seq-1), var(--seq-3), var(--seq-5));border-radius:4px;width:90px;height:8px}.board{gap:16px;max-width:1600px;margin:0 auto;padding:18px 22px 28px;display:grid}.board-head{justify-content:space-between;align-items:flex-end;display:flex}.board-grid{grid-template-columns:330px minmax(0,1fr) 330px;gap:16px;height:540px;display:grid}.board-col{flex-direction:column;min-height:0;display:flex;overflow:hidden}.bc-head{gap:10px;padding:14px 14px 10px;display:grid}.bc-body{flex:1;align-content:start;gap:8px;padding:2px 12px 14px;display:grid;overflow:auto}.fr-group{background:var(--surface-2);box-shadow:inset 0 0 0 .5px var(--hair);cursor:grab;border-radius:12px;padding:10px 12px;transition:box-shadow .15s,transform .15s}.fr-group:hover{box-shadow:inset 0 0 0 .5px var(--hair-2), var(--shadow-sm);background:#fff}.fr-group:active{cursor:grabbing}.fr-head{align-items:center;gap:8px;display:flex}.fr-sub{color:var(--ink-2);margin-top:4px;font-size:12px}.fr-meta{color:var(--ink-3);justify-content:space-between;margin-top:6px;font-size:11.5px;display:flex}.fr-meta span{align-items:center;gap:4px;display:inline-flex}.board-center{flex-direction:column;display:flex;position:relative;overflow:hidden}.bcen-head{z-index:2;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.bcen-scene{background:radial-gradient(600px 240px,#fff,#fff0 70%),linear-gradient(#f3f4f6,#e8ebef);border-radius:12px;flex:1;margin:0 12px 12px;transition:box-shadow .15s;position:relative;overflow:hidden}.bcen-scene.droppable{box-shadow:inset 0 0 0 2px var(--accent-soft-2)}.bcen-scene.over{box-shadow:inset 0 0 0 2px var(--accent)}.fit-badge{color:#fff;pointer-events:none;border-radius:10px;padding:7px 12px;font-size:12.5px;font-weight:520;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.fit-badge.ok{background:#12804f}.fit-badge.bad{background:#bf2f2a}.tr-card{background:var(--surface-2);box-shadow:inset 0 0 0 .5px var(--hair);cursor:pointer;border-radius:12px;padding:10px 12px;transition:box-shadow .15s,background .15s}.tr-card:hover{background:#fff}.tr-card.sel{box-shadow:inset 0 0 0 1.5px var(--ink);background:#fff}.tr-card.ok{background:var(--good-soft);box-shadow:inset 0 0 0 1.5px var(--good-dot)}.tr-card.bad{background:var(--crit-soft);box-shadow:inset 0 0 0 1.5px var(--crit-dot)}.tr-bars{gap:4px;margin-top:8px;display:grid}.tr-bars>div{color:var(--ink-3);grid-template-columns:44px 1fr 34px;align-items:center;gap:8px;font-size:11px;display:grid}.tr-bars .mono{text-align:right}.tr-foot{color:var(--ink-2);justify-content:space-between;align-items:center;margin-top:8px;font-size:11.5px;display:flex}.tr-foot span{align-items:center;gap:5px;display:inline-flex}.tr-fit{margin-top:8px;font-size:12px;font-weight:560}.tr-fit.ok{color:var(--good)}.tr-fit.bad{color:var(--crit)}.gb{cursor:pointer}.gb.loading,.gl.loading{fill:var(--accent);background:var(--accent)}.gb.pickup,.gl.pickup{fill:#6e7cf5;background:#6e7cf5}.gb.transit,.gl.transit{fill:#2b3341;background:#2b3341}.gb.rest,.gl.rest{fill:#c3c8d0;background:#c3c8d0}.gb.delivery,.gl.delivery{fill:var(--good-dot);background:var(--good-dot)}.gb.return,.gl.return{fill:#dfe2e7;background:#dfe2e7}.gb:hover{opacity:.8}.gl{border-radius:2px;width:12px;height:7px;display:inline-block}.route-drawer{z-index:50;flex-direction:column;width:420px;display:flex;position:fixed;top:64px;bottom:12px;right:12px;overflow:hidden}.rd-map{border-radius:12px;flex:none;height:240px;margin:0 16px;position:relative;overflow:hidden}.stop-edit{gap:6px;margin:0;padding:0;list-style:none;display:grid}.stop-edit li{box-shadow:inset 0 0 0 .5px var(--hair);background:#ffffffb3;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;display:flex}.stop-edit .node{width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--hair-3);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.settings-grid{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:24px;display:grid}.settings-nav{gap:1px;display:grid;position:sticky;top:0}.settings-nav a{height:32px;color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex}.settings-nav a svg{width:15px;height:15px;color:var(--ink-3)}.settings-nav a:hover{background:var(--surface-3);color:var(--ink)}.settings-nav a.active{background:var(--surface);color:var(--ink);box-shadow:0 0 0 .5px var(--hair), var(--shadow-xs)}.settings-body>div{gap:16px;display:grid}.set-row{border-top:.5px solid var(--hair);justify-content:space-between;align-items:center;gap:24px;padding:12px 0;font-size:13px;display:flex}.set-row:first-child{border-top:0}.table.perm td,.table.perm th{height:38px}.perm-group td{color:var(--ink-3);background:var(--surface-2);font-size:11.5px;font-weight:600;height:30px!important}.depot-row{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:12px;align-items:center;gap:14px;padding:12px 14px;display:flex}.integ-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.integ{padding:14px}.integ-icon{background:var(--surface-3);width:30px;height:30px;color:var(--ink-2);border-radius:9px;place-items:center;display:grid}.plan-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.audit-day+.audit-day{margin-top:18px}.audit-date{color:var(--ink-3);background:var(--surface);padding:6px 0;font-size:12px;font-weight:600;position:sticky;top:0}.audit{gap:2px;margin:0;padding:0;list-style:none;display:grid}.audit li{border-radius:10px;grid-template-columns:48px 26px 1fr auto;align-items:start;gap:12px;padding:9px 8px;font-size:13px;display:grid}.audit li:hover{background:var(--surface-2)}.a-time{color:var(--ink-3);padding-top:4px;font-size:12px}.a-text{padding-top:3px;line-height:1.45}.a-text .muted{font-size:12px}.a-target{background:var(--surface-3);border-radius:5px;padding:0 6px;font-size:12px;display:inline-block}.a-cat{color:var(--ink-3);text-transform:capitalize;align-items:center;gap:4px;padding-top:5px;font-size:11px;display:inline-flex}.vtype-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.vtype{text-align:left;box-shadow:inset 0 0 0 .5px var(--hair-2);border-radius:12px;justify-items:start;gap:2px;padding:10px 12px;transition:all .15s;display:grid}.vtype:hover{background:var(--surface-2)}.vtype.on{box-shadow:inset 0 0 0 1.5px var(--accent);background:var(--accent-soft)}.vtype b{margin-top:4px;font-size:13px}.vtype span{color:var(--ink-3);font-size:11.5px}.auth{--auth-w:min(1048px, calc(100% - 64px));background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;height:100vh;display:grid;overflow:auto}.auth-bar{width:var(--auth-w);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:24px 0 0;display:flex}.auth-foot{color:var(--ink-3);padding:0 0 22px;font-size:11.5px}.auth-foot nav{gap:14px;display:flex}.auth-foot a:hover{color:var(--ink)}.auth-main{width:var(--auth-w);grid-template-columns:minmax(320px,400px) minmax(0,560px);justify-content:space-between;align-items:center;gap:72px;margin:0 auto;padding:24px 0;display:grid}.auth-form{width:100%}.auth-art{justify-items:end;min-width:0;display:grid;position:relative}.auth-art .plan-show{height:100%}.fleet-show{width:100%;max-width:560px;height:clamp(520px,76vh,700px);box-shadow:inset 0 0 0 .5px var(--hair);background:#f7f8f9;border-radius:28px;position:relative;overflow:hidden}.fm-map,.fm-map.maplibregl-map{position:absolute;inset:0;-webkit-mask-image:radial-gradient(62% 52% at 50% 46%,#000 34%,#00000080 62%,#0000 92%);mask-image:radial-gradient(62% 52% at 50% 46%,#000 34%,#00000080 62%,#0000 92%)}.fm-map canvas{outline:none}.fm-flare{pointer-events:none;background:radial-gradient(60% 34% at 50% 0,#fffffff2,#fff0 100%),radial-gradient(70% 30% at 50% 100%,#fffffff2,#fff0 100%);position:absolute;inset:0}.fm-truck{will-change:transform;width:12px;height:35px;position:relative}.fm-rot{filter:drop-shadow(0 3px 3px #10182838);width:12px;height:35px}.fm-rot svg{display:block}.fm-tag{height:20px;font-family:var(--mono);color:var(--ink-2);white-space:nowrap;box-shadow:0 0 0 .5px var(--hair), 0 4px 10px -4px #10182829;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:0 8px 0 7px;font-size:10.5px;transition:opacity .25s;display:inline-flex;position:absolute;top:-8px;left:18px}.fm-tag.hidden{opacity:0}.fm-tag i{background:var(--accent);border-radius:50%;width:5px;height:5px}.fm-tag i.late{background:var(--warn-dot)}.fm-focus{justify-items:center;gap:4px;display:grid}.fm-tri{border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:8px solid var(--ink);width:0;height:0}.fm-logo{width:40px;height:40px;box-shadow:0 0 0 .5px var(--hair), 0 6px 16px -6px #10182838;background:#fff;border-radius:50%;place-items:center;display:grid}.fm-caption{height:34px;color:var(--ink-2);white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 0 .5px var(--hair);background:#ffffffdb;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:12.5px;display:inline-flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.fm-caption i{background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #3a804029}.fm-attr{color:var(--ink-4);font-size:9.5px;position:absolute;bottom:9px;right:14px}.auth-title{letter-spacing:-.03em;font-size:28px;font-weight:620;line-height:1.12}.auth-sub{color:var(--ink-3);max-width:44ch;margin:10px 0 26px;font-size:14px;line-height:1.55}.sso{justify-content:center;gap:10px}.or{color:var(--ink-4);align-items:center;gap:12px;margin:18px 0;font-size:12px;display:flex}.or:before,.or:after{content:"";background:var(--hair-2);flex:1;height:.5px}.auth-alt{color:var(--ink-3);text-align:center;margin-top:20px;font-size:13px}.pw-meter{grid-template-columns:repeat(4,1fr) auto;align-items:center;gap:4px;margin-top:6px;font-size:11.5px;display:grid}.pw-meter i{background:var(--surface-4);border-radius:3px;height:3px}.pw-meter i.on.s1{background:var(--crit-dot)}.pw-meter i.on.s2{background:var(--warn-dot)}.pw-meter i.on.s3,.pw-meter i.on.s4{background:var(--good-dot)}.pw-meter span{margin-left:8px}.verify-icon{width:46px;height:46px;color:var(--accent);background:var(--accent-soft);border-radius:12px;place-items:center;margin-bottom:18px;display:grid}.verify-icon.good{color:var(--good);background:var(--good-soft)}.otp{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.otp-cell{text-align:center;height:54px;font-family:var(--mono);background:var(--surface-2);box-shadow:inset 0 0 0 .5px var(--hair-2);border:0;border-radius:10px;outline:none;font-size:22px}.otp-cell:focus{box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 3px var(--accent-ring);background:#fff}.otp-cell.invalid{box-shadow:inset 0 0 0 1px var(--crit-dot)}.ws-progress{gap:10px;margin-top:8px;display:grid}.wsp{color:var(--ink-4);align-items:center;gap:10px;font-size:13.5px;display:flex}.wsp span{width:20px;height:20px;box-shadow:inset 0 0 0 1px var(--hair-2);color:var(--accent);border-radius:50%;place-items:center;display:grid}.wsp.cur{color:var(--ink)}.wsp.done{color:var(--ink-2)}.wsp.done span{background:var(--good-dot);color:#fff;box-shadow:none}.welcome{background:var(--surface);flex-direction:column;height:100vh;display:flex;overflow:auto}.wl-top{justify-content:space-between;align-items:center;width:100%;max-width:1400px;margin:0 auto;padding:18px 28px 0;display:flex}.wl-hero{text-align:center;padding:34px 24px 28px}.wl-title{letter-spacing:-.045em;max-width:15ch;margin:0 auto;font-size:clamp(38px,4.2vw,58px);font-weight:620;line-height:1.04}.wl-sub{max-width:54ch;color:var(--ink-3);margin:16px auto 0;font-size:16px;line-height:1.55}.wl-ctas{justify-content:center;gap:10px;margin-top:24px;display:flex}.wl-stage{flex:1;width:calc(100% - 56px);max-width:1400px;min-height:470px;margin:0 auto 14px;position:relative}.wl-stage .plan-show{position:absolute;inset:0}.wl-foot{width:100%;max-width:1400px;color:var(--ink-3);justify-content:space-between;margin:0 auto;padding:0 28px 16px;font-size:11.5px;display:flex}.wl-foot nav{gap:14px;display:flex}.plan-show{color:var(--ink);box-shadow:inset 0 0 0 .5px var(--hair);background:#f6f7f9;border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:16px;padding:24px 26px 20px;display:grid;position:relative;overflow:hidden}.ps-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.ps-head b{letter-spacing:-.015em;margin-top:3px;font-size:16px;font-weight:600;display:block}.ps-kicker{color:var(--ink-3);align-items:center;gap:7px;font-size:12px;display:inline-flex}.ps-kicker:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.ps-ref{color:var(--ink-3);font-size:11.5px}.ps-drawing{min-height:0;box-shadow:inset 0 0 0 .5px var(--hair);background:#fff;border-radius:12px;flex-direction:column;padding:14px 0 12px;display:flex;position:relative}.ps-canvas{flex:1;place-items:center;min-height:0;display:grid}.ps-svg{display:block;overflow:visible}.ps-legend{color:var(--ink-3);flex-wrap:wrap;gap:16px;padding:0 18px;font-size:11.5px;display:flex}.ps-legend span{align-items:center;gap:6px;display:inline-flex}.ps-legend i{border-radius:2px;width:10px;height:10px}.ps-legend i.line{background:var(--accent);border-radius:1px;width:2px;height:12px}.ps-dot{fill:#11182714}.ps-cap{font-family:var(--mono);fill:var(--ink-3);font-size:10.5px}.ps-body{fill:#11182704;stroke:#11182761;stroke-width:.75px}.ps-grid-l{stroke:#11182714;stroke-width:.5px}.ps-tractor{fill:#fff;stroke:#11182761;stroke-width:.75px}.ps-tractor-l{stroke:#11182738;stroke-width:.5px}.ps-kingpin{fill:none;stroke:#11182773;stroke-width:.75px}.ps-unit{stroke:#fff;stroke-width:.75px}.ps-dim{stroke:#11182759;stroke-width:.5px}.ps-dim-t,.ps-tag{font-family:var(--mono);fill:var(--ink-3);font-size:10px}.ps-tag.crit{fill:var(--crit)}.ps-ground{stroke:#11182740;stroke-width:.75px}.ps-deck{stroke:#1118278c;stroke-width:1px}.ps-chassis{stroke:#1118274d;stroke-width:1.5px}.ps-cab{fill:#f3f4f6;stroke:#1118276b;stroke-width:.75px;stroke-linejoin:round}.ps-glass{fill:#dfe3e8;stroke:#1118274d;stroke-width:.5px}.ps-wheel{fill:#fff;stroke:#1118278c;stroke-width:.75px}.ps-hub{fill:none;stroke:#11182740;stroke-width:.5px}.ps-ideal{stroke:#11182766;stroke-width:.75px;stroke-dasharray:3 3}.ps-cg{stroke:var(--accent);stroke-width:1.25px}.ps-cg.crit{stroke:var(--crit-dot)}.ps-cg-dot{fill:var(--accent)}.ps-cg-dot.crit{fill:var(--crit-dot)}.ps-axle-t{font-family:var(--mono);fill:var(--ink-2);font-size:10.5px}.ps-axle-t.crit{fill:var(--crit)}.ps-metrics{box-shadow:inset 0 0 0 .5px var(--hair);background:#fff;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ps-metric{gap:2px;min-width:0;padding:13px 16px;display:grid}.ps-metric+.ps-metric{box-shadow:inset .5px 0 0 var(--hair)}.ps-metric>span{color:var(--ink-3);font-size:11.5px}.ps-metric b{letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:620;line-height:1.1}.ps-metric b.crit{color:var(--crit)}.ps-metric b small{color:var(--ink-3);margin-left:1px;font-size:13px;font-weight:500}.ps-metric em{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-style:normal;overflow:hidden}.ps-metric em.crit{color:var(--crit)}.ps-metric em.good{color:var(--good)}.ps-event{min-height:30px;color:var(--ink-2);align-items:center;font-size:13px;display:flex}.ps-line{align-items:center;gap:10px;display:flex}.ps-line>i{border-radius:50%;flex:none;width:8px;height:8px}.ps-line>i.crit{background:var(--crit-dot)}.ps-line>i.accent{background:var(--accent)}.ps-av{color:#fff;background:var(--accent);border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:10.5px;font-weight:600;display:grid}.ps-route{width:100%;color:var(--ink-2);align-items:center;gap:12px;font-size:12.5px;display:flex}.ps-track{background:var(--surface-4);border-radius:2px;flex:1;height:2px;position:relative}.ps-track i{background:var(--accent);border-radius:2px;position:absolute;inset:0 auto 0 0}.ps-track b{width:10px;height:10px;box-shadow:inset 0 0 0 2px var(--accent);background:#fff;border-radius:50%;margin:-5px 0 0 -5px;position:absolute;top:50%}.ps-eta{color:var(--ink);font-weight:500}.ps-beats{-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%);box-shadow:0 0 0 .5px var(--hair-2);background:#ffffffb8;border-radius:10px;gap:2px;padding:3px;display:flex}.ps-beats button{height:32px;color:var(--ink-2);white-space:nowrap;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:12.5px;font-weight:520;transition:color .15s,background .15s;display:inline-flex;position:relative;overflow:hidden}.ps-beats button:hover{color:var(--ink)}.ps-beats button .mono{color:var(--ink-4);font-size:11px}.ps-beats button.on{color:#fff;background:var(--accent)}.ps-beats button.on .mono{color:#ffffffbf}.ps-beats button>i{transform-origin:0;background:#fff9;border-radius:2px;height:2px;position:absolute;bottom:4px;left:10px;right:10px}.plan-show.wide{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);column-gap:20px}.plan-show.wide .ps-head{grid-column:1/-1}.plan-show.wide .ps-drawing{grid-area:2/1}.plan-show.wide .ps-side{grid-area:2/2}.plan-show.wide .ps-metrics{grid-area:2/2;grid-template-columns:repeat(2,minmax(0,1fr));align-self:start}.plan-show.wide .ps-metric:nth-child(3),.plan-show.wide .ps-metric:nth-child(4){border-top:.5px solid var(--hair)}.plan-show.wide .ps-metric:nth-child(3){box-shadow:none}.plan-show.wide .ps-event{min-height:56px;box-shadow:inset 0 0 0 .5px var(--hair);background:#fff;border-radius:12px;grid-area:2/2;align-self:end;align-items:flex-start;padding:12px 14px}.plan-show.wide .ps-beats{grid-column:1/-1}@media (width<=1240px){.auth-main{gap:48px}.plan-show.panel .ps-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-show.panel .ps-metric:nth-child(3){box-shadow:none}.plan-show.panel .ps-metric:nth-child(n+3){border-top:.5px solid var(--hair)}.ps-beats button .mono{display:none}}@media (width<=980px){.auth-main{grid-template-columns:minmax(0,420px);justify-content:center}.auth-art{display:none}.plan-show.wide{grid-template-columns:1fr}.plan-show.wide .ps-metrics,.plan-show.wide .ps-event{grid-area:auto/1}}.onb{background:radial-gradient(1000px 600px at 50% 0%, #fff, #fff0), var(--canvas);flex-direction:column;align-items:center;height:100vh;min-height:100vh;padding:24px 24px 40px;display:flex;overflow:auto}.onb-top{justify-content:space-between;align-items:center;width:min(1040px,100%);margin-bottom:22px;display:flex}.onb-window{background:var(--surface);width:min(1040px,100%);min-height:620px;box-shadow:0 0 0 .5px var(--hair);border-radius:20px;grid-template-columns:230px 1fr;display:grid;overflow:hidden}.onb-rail{background:var(--surface-2);border-right:.5px solid var(--hair);align-content:start;gap:4px;padding:26px 18px;display:grid;position:relative}.onb-step{z-index:1;height:40px;color:var(--ink-3);text-align:left;border-radius:10px;align-items:center;gap:12px;padding:0 8px;font-size:13.5px;font-weight:520;display:flex;position:relative}.onb-step.cur{color:var(--ink);box-shadow:0 0 0 .5px var(--hair), var(--shadow-xs);background:#fff}.onb-step.done{color:var(--ink-2)}.os-n{width:24px;height:24px;box-shadow:inset 0 0 0 1.5px var(--hair-3);background:#fff;border-radius:50%;place-items:center;font-size:11.5px;font-weight:600;display:grid}.onb-step.cur .os-n{background:var(--accent);color:var(--brand-ink);box-shadow:none}.onb-step.done .os-n{background:var(--ink);color:#fff;box-shadow:none}.onb-progress{background:var(--hair-2);width:1.5px;height:210px;position:absolute;top:52px;bottom:auto;left:37px}.onb-progress i{background:var(--ink-3);transition:height .4s var(--ease-out);position:absolute;top:0;left:0;right:0}.onb-main{flex-direction:column;min-width:0;display:flex}.onb-content{flex:1;padding:34px 40px 20px}.onb-content h2{letter-spacing:-.025em;font-size:24px}.onb-content>p{margin-top:6px;font-size:13.5px}.onb-foot{border-top:.5px solid var(--hair);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.counter{align-items:center;gap:10px;display:inline-flex}.counter .mono{text-align:center;min-width:24px;font-size:14px}.onb-fleet{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}.ofl{box-shadow:inset 0 0 0 .5px var(--hair);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.ofl.on{background:var(--surface-2)}.import-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.import-tile{border:1.5px dashed var(--hair-3);border-radius:14px;padding:14px;transition:all .2s}.import-tile.busy{border-color:var(--accent);background:var(--accent-soft)}.import-tile.done{background:var(--good-soft);border-style:solid;border-color:#1ea36259}.it-icon{width:32px;height:32px;color:var(--ink-2);box-shadow:0 0 0 .5px var(--hair);background:#fff;border-radius:9px;place-items:center;display:grid}.import-tile.done .it-icon{color:var(--good)}.it-result{color:var(--good);margin-top:12px;font-size:12.5px;font-weight:520}.ready-mark{width:64px;height:64px;color:var(--brand-ink);background:var(--accent);border-radius:20px;place-items:center;display:grid;box-shadow:inset 0 1px #ffffff80}.ready-list{text-align:left;gap:8px;margin-top:20px;display:grid}.ready-list div{align-items:center;gap:8px;font-size:13.5px;display:flex}@media (width<=1280px){.tile-row{grid-template-columns:repeat(3,minmax(0,1fr))}.board-grid{grid-template-columns:290px minmax(0,1fr) 290px}.integ-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr))}.an-grid>.span-3,.an-grid>.span-4{grid-column:span 6}.an-grid>.span-8,.an-grid>.span-7,.an-grid>.span-5{grid-column:span 12}.dep-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dep-queue{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.dq-head,.dq-all{grid-column:1/-1}}@media (width>=1281px) and (width<=1500px){.kpi-row .kpi-val{font-size:30px}.kpi-row .kpi-foot .muted{display:none}}@media (width<=1100px){.dep-body,.to-body,.ov-grid,.ov-grid.two,.detail-grid,.grid-2,.grid-3,.td-main,.td-grid{grid-template-columns:minmax(0,1fr)}.grid-3>.card,.td-grid>.card{grid-column:auto!important}.exc,.split-view{grid-template-columns:340px 1fr}.auth-main{grid-template-columns:minmax(0,420px);justify-content:center}.auth-art{display:none}.board-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto}.board-center{order:-1;grid-column:span 2;height:360px}}
