@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format("woff2"),url(/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2) format("woff2"),url(/assets/montserrat-latin-ext-400-normal-BffdBkAA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-600-normal-wReYPmz2.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2) format("woff2"),url(/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2) format("woff2"),url(/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2) format("woff2"),url(/assets/montserrat-latin-ext-600-normal-CSDhkhgS.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--r-1: 4px;--r-2: 6px;--r-3: 8px;--r-4: 12px;--lh: 1.35;--lh-tight: 1.2;--w-regular: 400;--w-strong: 600;--font: "Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--fs-xs: 10.5px;--fs-sm: 11.5px;--fs-md: 12.5px;--fs-lg: 15px;--fs-xl: 24px;--row-h: 28px;--ctl-h: 28px;--rail-w: 56px;--rail-wide: 212px;--top-h: 44px;--ease: cubic-bezier(.2,.7,.2,1);--dur: .18s;--c-ok: #3fb950;--c-reefer: #4cc3ff;--c-haz: #f7d046;--c-hold: #fb8c3c;--c-late: #f0b429;--c-bad: #f2555a;--c-live: #2dd4bf;--c-acc: #3d8bfd}[data-theme=dark]{color-scheme:dark;--bg: #0b1426;--bg-2: #0e1830;--surface: #111d36;--surface-2: #16243f;--sunken: #0d172c;--rail: #091121;--line: #1e2d4a;--line-strong: #2a3c5e;--text: #e6edf3;--text-2: #a3b1bf;--text-3: #7a8a9a;--accent: #4f8fe6;--accent-ink: #ffffff;--accent-weak: rgba(79,143,230,.14);--focus: #6aa3f0;--ok: #7ee29a;--ok-bg: rgba(63,185,80,.14);--warn: #ffd166;--warn-bg: rgba(240,180,41,.14);--hold: #ffb27a;--hold-bg: rgba(251,140,60,.15);--bad: #ff8f92;--bad-bg: rgba(242,85,90,.15);--info: #8fd8ff;--info-bg: rgba(76,195,255,.14);--idle: #a3b1bf;--idle-bg: #1b2a45;--live: #7ff0de;--live-bg: rgba(45,212,191,.12);--shadow-sm: 0 1px 2px rgba(0,0,0,.35);--shadow: 0 8px 24px rgba(2,6,16,.5);--scrim: rgba(3,7,16,.55);--map-bg: #0b1426;--map-ground: #0f1a2f;--map-grid: #14213a;--map-road: #16233d;--map-slot: #26365a;--map-label: #7385a3;--map-bldg: #283a5c;--map-unit: #5b6b7e;--map-empty: #3d4a59}[data-theme=light]{color-scheme:light;--bg: #eef1f4;--bg-2: #f7f8fa;--surface: #ffffff;--surface-2: #f4f6f8;--sunken: #e9edf1;--rail: #ffffff;--line: #e1e6eb;--line-strong: #cdd5dd;--text: #121821;--text-2: #48535f;--text-3: #66717d;--accent: #1258B5;--accent-ink: #ffffff;--accent-weak: rgba(18,88,181,.1);--focus: #1258B5;--ok: #1d7a46;--ok-bg: #e3f3e9;--warn: #8a5a00;--warn-bg: #fdf0d3;--hold: #a34a00;--hold-bg: #fde4d0;--bad: #b42318;--bad-bg: #fbe3e1;--info: #0b6aa2;--info-bg: #e1f1fb;--idle: #56616d;--idle-bg: #eceff2;--live: #0f7f72;--live-bg: #dcf5f1;--shadow-sm: 0 1px 2px rgba(16,32,64,.08);--shadow: 0 8px 24px rgba(16,32,64,.12);--scrim: rgba(20,28,38,.28);--map-bg: #eef1f5;--map-ground: #dde3e9;--map-grid: #d3dae1;--map-road: #ccd4dc;--map-slot: #b9c3cd;--map-label: #5d6975;--map-bldg: #aeb9c4;--map-unit: #8696a7;--map-empty: #b8c3ce}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:var(--fs-md)/var(--lh) var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:1px}svg.lucide{flex:none}.mono,.m{font-family:var(--mono);font-size:var(--fs-sm);letter-spacing:-.01em}.num{font-variant-numeric:tabular-nums;text-align:right}.mu{color:var(--text-3)}.t2{color:var(--text-2)}.shell{display:grid;grid-template-columns:auto minmax(0,1fr);height:100%}.rail{width:var(--rail-w);background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:8px 0;transition:width var(--dur) var(--ease);overflow:hidden;z-index:20}.rail.wide{width:var(--rail-wide)}.rail .logo{height:36px;display:flex;align-items:center;gap:10px;padding:0 16px;margin-bottom:6px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.rail .logo b{width:24px;height:24px;border-radius:5px;background:var(--c-acc);color:#fff;display:grid;place-items:center;font-size:12px;flex:none}.rail button.nv{all:unset;display:flex;align-items:center;gap:12px;height:34px;margin:1px 8px;padding:0 11px;border-radius:6px;color:var(--text-3);position:relative;white-space:nowrap;cursor:pointer}.rail button.nv:hover{background:var(--surface);color:var(--text)}.rail button.nv:focus-visible{outline:2px solid var(--focus)}.rail button.nv.on{background:var(--surface-2);color:var(--text)}.rail button.nv.on:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--accent)}.rail .lbl{opacity:1;transition:opacity var(--dur)}.rail:not(.wide) .lbl,.rail:not(.wide) .sec{opacity:0;pointer-events:none}.rail .badge{margin-left:auto;font:600 10px var(--mono);background:var(--c-bad);color:#fff;border-radius:8px;padding:1px 5px}.rail:not(.wide) .badge{position:absolute;top:3px;left:24px;margin:0;padding:0 4px}.rail .sec{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;padding:10px 20px 4px;white-space:nowrap;height:26px}.rail .foot{margin-top:auto}.rail:not(.wide) button.nv[data-tip]:hover:after{content:attr(data-tip);position:fixed;left:62px;margin-top:0;background:var(--text);color:var(--bg);padding:3px 8px;border-radius:4px;font-size:11.5px;pointer-events:none}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:var(--top-h);flex:none;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--bg-2)}.content{flex:1;min-height:0;overflow:auto;padding:8px}.content.flush{padding:0;overflow:hidden;position:relative}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border:1px solid var(--line-strong);border-radius:6px;color:var(--text-2);background:var(--surface);white-space:nowrap;font-size:var(--fs-md)}button.chip{cursor:pointer}button.chip:hover{color:var(--text)}.chip.on{border-color:var(--accent);color:var(--text);background:var(--accent-weak)}.chip .dot{width:7px;height:7px;border-radius:50%}.chip .n{color:var(--text-3);font:11px var(--mono)}.search{flex:0 1 340px;display:flex;align-items:center;gap:8px;height:28px;padding:0 10px;border:1px solid var(--line-strong);border-radius:6px;color:var(--text-3);background:var(--surface)}.search input{all:unset;flex:1;color:var(--text);min-width:0}.search:focus-within{border-color:var(--focus)}kbd,.kbd{font:10.5px var(--mono);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;padding:0 4px;color:var(--text-2);background:var(--bg-2)}.live{display:inline-flex;align-items:center;gap:6px;color:var(--live);font:600 11px var(--mono);white-space:nowrap}.live i{width:7px;height:7px;border-radius:50%;background:var(--c-live);box-shadow:0 0 0 3px var(--live-bg);animation:pulse 2s infinite}.live.off{color:var(--bad)}.live.off i{background:var(--c-bad);animation:none}.av{width:26px;height:26px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-strong);display:grid;place-items:center;font:600 10.5px var(--font);color:var(--text-2);flex:none}.seg{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface)}.seg button{all:unset;height:22px;padding:0 7px;display:inline-flex;align-items:center;gap:5px;border-radius:5px;color:var(--text-3);cursor:pointer;font-size:var(--fs-sm)}.seg button.on{background:var(--surface-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong)}.seg button:focus-visible{outline:2px solid var(--focus)}.w,.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;box-shadow:var(--shadow-sm)}.w>h3,.panel>header{margin:0;height:34px;display:flex;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:11px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);flex:none;white-space:nowrap}.w>h3 svg,.panel>header svg{color:var(--text-3)}.w>h3 .r,.panel>header .r{margin-left:auto;display:flex;gap:6px;align-items:center;text-transform:none;letter-spacing:0;font-weight:400;color:var(--text-3)}.panel>header .meta{text-transform:none;letter-spacing:0;font-weight:400;color:var(--text-3);overflow:hidden;text-overflow:ellipsis}.panel .body{padding:8px 12px}.grid{display:grid;gap:8px}.scroll{overflow:auto;min-height:0}.ph{display:flex;align-items:center;gap:12px;margin:0 0 8px;min-height:28px}.ph h1{font-size:var(--fs-lg);margin:0;font-weight:600;letter-spacing:-.01em}.ph .meta{color:var(--text-3);font-size:var(--fs-sm)}.ph .act{margin-left:auto;display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--ctl-h);padding:0 10px;border-radius:6px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text);font-weight:400;white-space:nowrap;cursor:pointer;transition:background var(--dur),border-color var(--dur),transform 80ms}.btn:hover{border-color:var(--text-3)}.btn:active{transform:translateY(1px)}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.ok{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}.btn.hold{background:var(--hold-bg);border-color:color-mix(in srgb,var(--hold) 40%,transparent);color:var(--hold)}.btn.bad{background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 40%,transparent);color:var(--bad)}.btn.sm{height:22px;padding:0 7px;font-size:var(--fs-sm)}.btn.lg{height:44px;font-size:14px}.btn.ghost{background:transparent;border-color:transparent}.btn.icon{width:28px;padding:0}.btn:disabled{opacity:.45;cursor:not-allowed}.btn kbd{margin-left:4px}.ctl{height:var(--ctl-h);border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);padding:0 8px;color:var(--text)}.ctl:focus{border-color:var(--focus);outline:none;box-shadow:0 0 0 1px var(--focus)}table,table.t{border-collapse:collapse;width:100%;font-size:var(--fs-md)}.t th,.t td,table td,table th{height:28px;padding:0 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.t th,table th{font-size:10.5px;color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.06em;height:26px;background:var(--surface);position:sticky;top:0;z-index:1}.t tr:hover td{background:var(--surface-2)}.t tr.sel td,tr.sel td{background:var(--accent-weak)}tr.sel td:first-child{box-shadow:inset 2px 0 var(--accent)}.t td.actions{text-align:right}.t td.actions .btn{margin-left:4px}td.r,th.r{text-align:right}tr.click{cursor:pointer}.pill,.tag{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:4px;font:600 10px var(--font);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.s-ok,.t-ok{color:var(--ok);background:var(--ok-bg)}.s-warn,.t-late{color:var(--warn);background:var(--warn-bg)}.s-hold,.t-hold{color:var(--hold);background:var(--hold-bg)}.s-quarantine,.s-bad,.t-bad{color:var(--bad);background:var(--bad-bg)}.s-empty,.s-idle,.t-idle{color:var(--idle);background:var(--idle-bg)}.s-info,.t-reefer{color:var(--info);background:var(--info-bg)}.t-haz{color:var(--warn);background:var(--warn-bg)}.t-live{color:var(--live);background:var(--live-bg)}.sev{width:3px;align-self:stretch}.sev-high{background:var(--c-bad)}.sev-med{background:var(--c-late)}.sev-low{background:var(--line-strong)}.doors{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.door{border:1px solid var(--line-strong);border-radius:7px;background:var(--bg-2);padding:8px;min-height:84px;display:flex;flex-direction:column;gap:2px;font-size:var(--fs-sm);position:relative;transition:border-color var(--dur),background var(--dur)}.door .dh{display:flex;justify-content:space-between;font-weight:600}.door.occupied{border-color:color-mix(in srgb,var(--c-ok) 45%,transparent)}.door.free{border-style:dashed}.door.over{border-color:var(--focus);background:var(--accent-weak)}.door.blocked{background:repeating-linear-gradient(135deg,var(--bad-bg) 0 6px,transparent 6px 12px);border-color:color-mix(in srgb,var(--c-bad) 45%,transparent);color:var(--text-3)}.drag{cursor:grab}.drag:active{cursor:grabbing}.fld{display:grid;gap:3px}.fld label{font-size:var(--fs-xs);color:var(--text-2);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.fld .hint{font-size:var(--fs-xs);color:var(--text-3)}.fld .err{font-size:var(--fs-xs);color:var(--bad);font-weight:600}.fld .okm{font-size:var(--fs-xs);color:var(--ok);font-weight:600}.row{display:flex;gap:8px;align-items:center}.dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;font-size:var(--fs-md)}.dl dt{color:var(--text-3)}.dl dd{margin:0}.bar{height:6px;background:var(--sunken);border-radius:3px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--accent)}.scrim{position:fixed;inset:0;background:var(--scrim);display:flex;justify-content:center;padding-top:12vh;z-index:50;animation:fade var(--dur) var(--ease)}.palette{width:560px;max-width:94vw;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow);align-self:flex-start;overflow:hidden;animation:pop var(--dur) var(--ease)}.palette input{width:100%;height:44px;border:0;border-bottom:1px solid var(--line);padding:0 14px;font-size:var(--fs-lg);outline:none;background:transparent}.palette ul{list-style:none;margin:0;padding:4px 0;max-height:340px;overflow:auto}.palette li{display:flex;justify-content:space-between;padding:0 14px;height:30px;align-items:center;cursor:pointer}.palette li.on{background:var(--accent-weak)}.palette li small{color:var(--text-3)}.drawer-scrim{position:fixed;inset:0;background:var(--scrim);z-index:40;animation:fade var(--dur) var(--ease)}.drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:var(--surface);border-left:1px solid var(--line-strong);box-shadow:var(--shadow);z-index:41;display:flex;flex-direction:column;animation:slidein .22s var(--ease)}.drawer>header{height:var(--top-h);display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--line);font-weight:600}.drawer .db{flex:1;overflow:auto}.toast{position:fixed;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:center;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text);padding:8px 12px;border-radius:8px;font-size:var(--fs-md);z-index:60;box-shadow:var(--shadow);animation:rise .2s var(--ease)}.toast.err{border-color:var(--c-bad);color:var(--bad)}.empty-note{color:var(--text-3);font-size:var(--fs-sm);padding:10px 12px}.ud .hd{padding:10px 12px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:flex-start}.ud .ico{width:34px;height:34px;border-radius:7px;display:grid;place-items:center;flex:none;background:var(--surface-2)}.ud .id{font:600 15px var(--mono)}.kv{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.kv div{padding:7px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.kv div:nth-child(2n){border-right:0}.kv span{display:block;font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.kv b{font:600 12px var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.acts{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px 12px}.acts .btn{height:32px;justify-content:flex-start}.acts .btn kbd{margin-left:auto}.hint-line{padding:0 12px 10px;font-size:11px;color:var(--text-2);display:flex;gap:6px;align-items:flex-start}@keyframes pulse{50%{box-shadow:0 0 0 6px transparent}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(-6px) scale(.98)}}@keyframes slidein{0%{transform:translate(24px);opacity:0}}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes flowdot{0%{offset-distance:0%}to{offset-distance:100%}}@keyframes dash{to{stroke-dashoffset:-18}}.enter{animation:pop .24s var(--ease) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.ymap2{position:absolute;inset:0;overflow:hidden;background:var(--map-bg);touch-action:none;-webkit-user-select:none;user-select:none}.ymap2 .world{position:absolute;inset:0}.hud{position:absolute;z-index:3}.panel.hud,.hud.panel{background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow)}.ticker{top:8px;left:8px;right:8px;height:30px;display:flex;align-items:center;overflow:hidden;font-size:11.5px;flex-direction:row}.ticker .lab{display:flex;align-items:center;gap:6px;padding:0 10px;height:100%;border-right:1px solid var(--line-strong);color:var(--bad);font:600 10.5px var(--mono);letter-spacing:.08em;flex:none}.ticker .it{all:unset;display:flex;gap:7px;align-items:center;padding:0 14px;border-right:1px solid var(--line);white-space:nowrap;cursor:pointer;height:100%}.ticker .it:hover{background:var(--surface-2)}.ticker .it span:first-of-type{color:var(--text)}.filters{top:46px;left:8px;display:flex;gap:6px;flex-wrap:wrap;max-width:62%}.filters .chip{background:color-mix(in srgb,var(--surface) 94%,transparent);height:25px}.mode{top:46px;flex-direction:row;transition:right var(--dur) var(--ease)}.heatleg{top:82px;right:8px;display:flex;gap:10px;padding:6px 10px;font-size:11px;flex-direction:row}.heatleg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.ycard{top:46px;right:8px;width:330px;animation:slidein .22s var(--ease)}.ycard.left{right:auto;left:8px;top:84px}.ycard-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 12px;border-bottom:1px solid var(--line);font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.ycard.min{width:230px}.ycard.min .ycard-bar{border:0;text-transform:none;color:var(--text)}.zoom{right:8px;bottom:186px;display:flex;flex-direction:column}.zoom button{all:unset;width:32px;height:32px;display:grid;place-items:center;border-bottom:1px solid var(--line-strong);color:var(--text-2);cursor:pointer}.zoom button:last-child{border:0}.zoom button:hover{color:var(--text)}.mini{right:48px;bottom:8px;width:232px;height:162px;padding:5px}.mini svg{width:100%;height:100%;cursor:pointer}.queue{left:8px;bottom:8px;width:min(780px,calc(100% - 300px))}.queue .row.q{all:unset;display:grid;grid-template-columns:22px 130px 120px 1fr 120px 80px;gap:10px;align-items:center;height:30px;padding:0 10px;border-top:1px solid var(--line);cursor:pointer;width:calc(100% - 20px)}.queue .row.q:hover{background:var(--surface-2)}.prog{height:4px;border-radius:2px;background:var(--line-strong);overflow:hidden}.prog span{display:block;height:100%;background:var(--c-live);transition:width .3s linear}.qh{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;font-size:11px;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.dragtip{padding:6px 9px;font-size:11.5px;display:flex;gap:8px;align-items:center;pointer-events:none;z-index:5;flex-direction:row}.legend2{right:290px;bottom:12px;font-size:11px;color:var(--text-3);display:flex;gap:6px;align-items:center}.tower{display:flex;flex-direction:column;gap:8px;height:100%;min-height:0}.tower-bar{display:flex;gap:6px;align-items:center}.tg{flex:1;min-height:0;display:grid;gap:8px;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto minmax(0,1fr) minmax(0,1fr)}.flow{grid-column:1 / -1}.flowrow{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:0;padding:10px 12px}.fstage-wrap{display:flex;align-items:stretch;min-width:0}.fstage{flex:1;min-width:0;border:1px solid var(--line-strong);border-left:3px solid var(--c);border-radius:8px;background:var(--bg-2);padding:8px 12px;display:grid;gap:4px}.fk{display:flex;justify-content:space-between;font:600 10.5px var(--font);letter-spacing:.1em;color:var(--text-3);gap:6px}.fk .m{letter-spacing:0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fv{display:flex;align-items:baseline;gap:8px}.fv b{font:600 30px var(--font);letter-spacing:-.02em}.fv span{color:var(--text-2)}.fchips{display:flex;gap:5px;flex-wrap:wrap}.fchips span{border:1px solid var(--line-strong);background:var(--surface-2);border-radius:4px;padding:1px 6px;font-size:10.5px;color:var(--text-2)}.flink{width:64px;flex:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:var(--text-3);font-size:10px}.flink .track{position:relative;width:52px;height:2px;background:var(--line-strong)}.flink .track:after{content:"";position:absolute;right:-4px;top:-4px;border:5px solid transparent;border-left-color:var(--line-strong)}.flink .track i{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 20%,transparent);animation:slide 2.1s linear infinite}@keyframes slide{0%{left:0}to{left:44px}}.kpis2{grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.kpi2{padding:9px 12px;gap:4px;justify-content:space-between}.kpi2 .l{color:var(--text-3);font-size:11px;display:flex;gap:6px;align-items:center}.kpi2 .v{font:600 22px var(--font);letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px;white-space:nowrap;overflow:hidden}.kpi2 .v small{font:500 11px var(--font);color:var(--text-3);overflow:hidden;text-overflow:ellipsis}.dn{color:var(--bad)!important}.wd-doors{grid-column:1 / 5}.wd-decide{grid-column:5 / 9}.wd-appts{grid-column:9 / 13}.wd-zones{grid-column:1 / 4}.wd-moves{grid-column:4 / 9}.wd-det{grid-column:9 / 13}.dg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:8px}.dt{all:unset;border:1px solid var(--line-strong);border-radius:6px;padding:5px 7px;background:var(--bg-2);height:50px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;cursor:pointer;box-sizing:border-box}.dt:disabled{cursor:default}.dt:not(:disabled):hover{border-color:var(--text-3)}.dt b{font-size:11px}.dt span{font-size:10px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dt.free span{color:var(--text-3)}.dt i{position:absolute;left:0;bottom:0;height:3px;background:var(--c-ok)}.dt.occupied{border-color:color-mix(in srgb,var(--c-ok) 45%,transparent)}.dt.long{border-color:color-mix(in srgb,var(--c-late) 60%,transparent)}.dt.long i{background:var(--c-late)}.dt.blocked{background:repeating-linear-gradient(135deg,var(--bad-bg) 0 6px,transparent 6px 12px);border-color:color-mix(in srgb,var(--c-bad) 50%,transparent)}.dt.blocked span{color:var(--bad)}.ex{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--line)}.ell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt{padding:6px 10px;position:relative;flex:1}.gr{display:grid;grid-template-columns:62px 1fr;align-items:start;min-height:26px;margin-bottom:6px;font-size:11px}.gr .lane{position:relative;height:38px;border-left:1px solid var(--line)}.gb{position:absolute;height:12px;border-radius:3px;font:600 9px var(--mono);padding:0 4px;color:var(--bg);overflow:hidden;white-space:nowrap;line-height:12px}.gaxis{display:flex;justify-content:space-between;font-size:10px}.now{position:absolute;top:4px;bottom:34px;width:1px;background:var(--accent)}.now span{position:absolute;top:-2px;left:3px;font-size:9.5px;color:var(--accent);font-weight:600}.gleg{display:flex;gap:10px;font-size:10.5px;color:var(--text-3);padding-left:72px}.gleg i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px}.zb{display:grid;grid-template-columns:24px 1fr 50px;gap:8px;align-items:center;padding:5px 12px}.zb .tr{height:8px;background:var(--sunken);border-radius:4px;overflow:hidden}.zb .tr span{display:block;height:100%;border-radius:4px;transition:width .4s var(--ease)}.chk2{height:30px;border-bottom:1px solid var(--line);cursor:pointer}.gate2{display:grid;grid-template-columns:320px minmax(0,1fr) 340px;gap:8px;height:100%;min-height:0}.arr{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--line);cursor:pointer}.arr:hover{background:var(--hover)}.arr.on{background:var(--sel);box-shadow:inset 3px 0 var(--accent)}.arr .t{color:var(--text-2)}.arr b{display:block;font-size:12px}.arr small{display:block;font-size:11px}.cams{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:10px 12px}.cam{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--line-strong);aspect-ratio:4 / 3}.cam svg{width:100%;height:100%;display:block}.cam .cl,.cam .cr{position:absolute;top:6px;font-size:10px;background:#000a;color:#fff;padding:1px 6px;border-radius:3px}.cam .cl{left:6px}.cam .cr{right:6px;color:#fbbf24}.reads{display:grid;grid-template-columns:1fr 1fr .7fr;gap:10px;padding:0 12px 8px}.ctl.big{height:40px;font-size:16px;letter-spacing:.04em}.checks{padding:6px 10px;display:grid;gap:2px}.ck{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:center;padding:5px 4px;border-bottom:1px solid var(--line)}.ck span{display:flex;justify-content:space-between;gap:8px;min-width:0}.ck small{color:var(--text-3);font-size:11px}.ck.ok svg{color:var(--c-ok)}.ck.bad svg{color:var(--c-bad)}.ck.bad small{color:var(--bad)}.ck.na svg{color:var(--text-3);opacity:.5}.kvs{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:8px 14px;font-size:12px}.gacts{margin-top:auto;padding:10px 12px 12px;display:grid;gap:6px;border-top:1px solid var(--line)}.gacts .btn.lg{height:46px;font-size:15px;justify-content:center}.spot2{max-width:430px;margin:0 auto;height:100%;display:flex;flex-direction:column;gap:10px}.sp-top{display:flex;justify-content:space-between;align-items:center}.sp-top b{font-size:18px;display:block}.sp-top small{font-size:12px}.sp-job{border:1px solid var(--line-strong);background:var(--surface);border-radius:14px;padding:14px;display:grid;gap:10px;box-shadow:var(--shadow)}.sp-route{display:flex;align-items:center;gap:10px;font-size:32px;font-weight:600;letter-spacing:-.02em}.sp-route svg{color:var(--text-3)}.sp-unit{display:flex;gap:6px;align-items:center;color:var(--text-2);font-size:14px;flex-wrap:wrap}.sp-map{width:100%;height:110px;background:var(--map-ground);border-radius:10px;border:1px solid var(--line)}.slide{position:relative;height:60px;border-radius:30px;background:var(--sunken);border:1px solid var(--line-strong);overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.slide .fill{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--c-ok) 28%,transparent);border-radius:30px}.slide .lbl{position:absolute;inset:0;display:grid;place-items:center;font-weight:600;font-size:15px;color:var(--text-2);padding-left:40px}.slide .knob{position:absolute;left:2px;top:2px;width:54px;height:54px;border-radius:50%;background:var(--c-ok);color:#06240f;display:grid;place-items:center;box-shadow:0 2px 8px #0005}.slide.done .knob{background:var(--c-ok)}.slide:focus-visible{outline:2px solid var(--accent)}.sp-next{display:grid;gap:4px}.sec2{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.sp-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:14px}.sp-tabs{margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:6px}.sp-tabs span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--text-3)}.sp-tabs .on{color:var(--accent)}@media(max-width:600px){.rail,.topbar .search,.topbar .chip,.topbar select{display:none}}.login{position:fixed;inset:0;display:grid;grid-template-columns:1.2fr 1fr;background:var(--bg)}.login-art{position:relative;overflow:hidden;background:var(--map-bg);border-right:1px solid var(--line)}.la-grid{position:absolute;inset:-20%;background-image:linear-gradient(var(--map-grid) 1px,transparent 1px),linear-gradient(90deg,var(--map-grid) 1px,transparent 1px);background-size:36px 36px;transform:perspective(700px) rotateX(55deg) rotate(-30deg)}.login-art i{position:absolute;width:44px;height:18px;border-radius:3px;opacity:.85;animation:rise 3.4s var(--ease) infinite alternate;box-shadow:0 6px color-mix(in srgb,black 35%,transparent)}.la-copy{position:absolute;left:48px;bottom:48px;display:grid;gap:6px}.la-copy b{font-size:28px;letter-spacing:-.02em}.la-copy span{color:var(--text-2)}.login-card{align-self:center;justify-self:center;width:min(380px,90vw);display:grid;gap:12px}.login-card .logo{display:flex;align-items:center;gap:8px;font-weight:600}.login-card .logo b{width:28px;height:28px;border-radius:7px;background:var(--accent);color:var(--bg);display:grid;place-items:center}.login-card h1{margin:8px 0 0;font-size:22px}.login-card p{margin:0}.pw{display:flex;gap:4px}.pw .ctl{flex:1}.or{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;color:var(--text-3);font-size:11px}.or:before,.or:after{content:"";height:1px;background:var(--line)}.login-card .btn.lg{height:42px;justify-content:center}@media(max-width:800px){.login{grid-template-columns:1fr}.login-art{display:none}}.brand-logo{width:28px;height:28px;border-radius:7px;object-fit:contain;background:var(--surface-2)}.bell{position:relative}.bell em{position:absolute;top:0;right:0;min-width:15px;height:15px;border-radius:8px;background:var(--c-bad);color:#fff;font:600 9.5px var(--font);font-style:normal;display:grid;place-items:center;padding:0 3px}.who{display:flex;align-items:center;gap:8px}.who span{display:grid;line-height:1.15}.who b{font-size:12px}.who small{font-size:10.5px;color:var(--text-3)}@media(max-width:1200px){.who span{display:none}}.notes-bar{padding:8px 12px;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.notes{display:grid}.note{all:unset;box-sizing:border-box;display:grid;grid-template-columns:18px 1fr 8px;gap:10px;align-items:start;padding:9px 12px;border-bottom:1px solid var(--line);cursor:pointer}.note span{display:grid;gap:2px}.note b{font-weight:400}.note small{font-size:11px}.note svg{color:var(--text-3);margin-top:2px}.note.unread b{font-weight:600}.note .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:5px}.note:hover{background:var(--hover)}.cam img{width:100%;height:100%;object-fit:cover;display:block}.cam .ocr-boxes{position:absolute;inset:0;width:100%;height:100%}.cam-busy{position:absolute;inset:0;display:grid;place-items:center;background:#0008;color:#fff;font-weight:600}.cam-foot{display:flex;align-items:center;gap:6px;padding-top:6px;min-height:30px;font-size:12px}.okm{color:var(--ok)}.warnm{color:var(--warn, var(--c-late))}.pop-wrap{position:relative}.pop{position:absolute;right:0;bottom:100%;margin-bottom:4px;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow);padding:4px;z-index:20;display:grid;min-width:150px}.pop button{all:unset;padding:6px 10px;border-radius:5px;cursor:pointer;font-size:12px}.pop button:hover{background:var(--hover)}.dock2{display:grid;grid-template-columns:minmax(0,1fr) 380px;grid-template-rows:auto auto minmax(0,1fr);gap:8px;height:100%;min-height:0}.dock2 .ph{margin:0}.dock-doors{grid-column:1}.dock-gantt{grid-column:1;min-height:0;overflow:auto}.dock-side{grid-column:2;grid-row:2 / 4;display:flex;flex-direction:column;gap:8px;min-height:0}.dock-wait{flex:1;min-height:0;display:flex;flex-direction:column}.dock-wait .scroll{flex:1;overflow:auto}.dock-doors .doors{grid-template-columns:repeat(7,minmax(0,1fr))}.kgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kp{padding:8px 10px;gap:2px}.kp .l{font-size:11px;color:var(--text-3);display:flex;gap:5px;align-items:center}.kp b{font-size:20px;letter-spacing:-.02em}.kp small{font-size:10.5px}.dgantt{position:relative;padding:4px 12px 8px}.dg-axis{position:relative;height:16px;margin-left:44px;font-size:10px;color:var(--text-3)}.dg-axis span{position:absolute;transform:translate(-50%)}.dg-row{display:grid;grid-template-columns:44px 1fr;align-items:center;height:22px}.dg-row b{font-size:11px}.dg-lane{position:relative;height:16px;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100% / 9));border-radius:3px}.dg-bar{position:absolute;top:1px;height:14px;border-radius:3px;font:600 9.5px var(--mono);line-height:14px;padding:0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--bg)}.dg-bar.act{background:var(--c-ok)}.dg-bar.long{background:var(--c-late)}.dg-bar.plan{background:transparent;border:1px dashed var(--c-live);color:var(--c-live);line-height:12px}.dg-bar.blocked{background:repeating-linear-gradient(135deg,var(--bad-bg) 0 6px,transparent 6px 12px);color:var(--bad)}.dg-now{position:absolute;top:4px;bottom:8px;width:1px;background:var(--accent);margin-left:12px}.lg2{display:inline-flex;gap:4px;align-items:center;margin-left:10px;font-size:10.5px;color:var(--text-3)}.lg2 i{width:10px;height:8px;border-radius:2px;display:inline-block}.lg2 .a{background:var(--c-ok)}.lg2 .l{background:var(--c-late)}.lg2 .p{border:1px dashed var(--c-live)}.demo-wrap{position:relative}.chip.demo{background:var(--accent);color:var(--accent-ink);border:0;font-weight:600;letter-spacing:.04em;cursor:pointer;display:inline-flex;gap:4px;align-items:center}.chip.demo .pulse{width:6px;height:6px;border-radius:50%;background:currentColor;animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.2}}.demo-pop{display:flex;flex-direction:column;gap:6px;width:240px;padding:10px;left:0;right:auto}.demo-pop p{font-size:11px;margin:0 0 4px}.demo-pop .btn{justify-content:flex-start}.role-sw{display:inline-flex;gap:6px;align-items:center;font-size:11px}.ctl.sm{height:26px;padding:0 6px;font-size:12px}.spot{position:fixed;z-index:80;border-radius:8px;box-shadow:0 0 0 2px var(--accent),0 0 0 9999px #05080c8c;pointer-events:none;transition:all .25s ease}.spot-cap{position:absolute;left:0;background:var(--accent);color:var(--accent-ink);font-size:12px;padding:4px 8px;border-radius:5px;white-space:nowrap}.presenter{position:fixed;z-index:90;right:16px;bottom:16px;width:330px;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 12px 40px #00000059;display:flex;flex-direction:column;max-height:70vh}.presenter header{display:flex;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line)}.presenter header .btn{margin-left:auto}.pr-body{padding:10px 12px}.pr-body h4{margin:0 0 4px;font-size:14px}.pr-body p{margin:0;font-size:12.5px;line-height:1.5;color:var(--text-2)}.pr-role{font-size:11px;display:block;margin-top:6px}.pr-steps{margin:0;padding:4px 12px 8px 30px;overflow:auto;font-size:11.5px;color:var(--text-3);flex:1}.pr-steps li{cursor:pointer;padding:1px 0}.pr-steps li.on{color:var(--accent);font-weight:600}.pr-steps li.done{color:var(--text-2)}.presenter footer{display:flex;gap:6px;align-items:center;justify-content:space-between;padding:8px 10px;border-top:1px solid var(--line)}.kb{font-size:10.5px}.content.phone-host{display:grid;place-items:start center;background:radial-gradient(circle at 50% 30%,var(--surface-2),var(--bg))}.content.phone-host>*{width:390px;height:780px;max-height:calc(100vh - 90px);border:10px solid #0b0d10;border-radius:38px;overflow:hidden;box-shadow:0 20px 50px #0006;position:relative}.ai-prev .ph h1{display:flex;gap:6px;align-items:center}.preview-tag{display:inline-flex;gap:4px;align-items:center}.ai-prev .bar{display:inline-block;width:60px;height:6px;background:var(--line);border-radius:3px;overflow:hidden}.ai-prev .bar i{display:block;height:100%;background:var(--c-late)}.adm{display:flex;flex-direction:column;gap:8px}.adm-tabs{display:inline-flex;align-self:flex-start}.adm-tabs button{display:inline-flex;gap:5px;align-items:center}.adm-zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.adm-zone{padding:8px 10px;gap:6px}.adm-zone .zh{display:flex;gap:6px;align-items:center}.adm-zone .sp{flex:1}.adm-zone .slots{display:flex;flex-wrap:wrap;gap:3px}.adm-zone .slots i{width:14px;height:10px;border-radius:2px;border:1px solid var(--line-strong)}.adm-zone .slots i.u{background:var(--c-live);border-color:transparent}.adm-zone.add{flex-direction:row;flex-wrap:wrap;align-items:center;display:flex;border-style:dashed}.adm-doors{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.adm-door{display:flex;gap:8px;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:6px}.adm-door .btn{margin-left:auto}.adm-door.blocked{background:var(--bad-bg)}.adm-door.occupied{opacity:.75}.panel header .sp{flex:1}.form{display:flex;flex-direction:column;gap:10px}.form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2)}.form.two{display:grid;grid-template-columns:1fr 1fr}.form.two>.btn{grid-column:1/-1;justify-self:start}.form>.btn{align-self:flex-start}.form label.radio{flex-direction:row;gap:8px;align-items:flex-start;padding:8px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.inunit{display:flex;align-items:center;gap:6px}.inunit em{font-style:normal;color:var(--text-3);font-size:11px}.brand-prev{display:flex;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px}.brand-prev img,.brand-prev b{width:32px;height:32px;border-radius:6px;object-fit:contain;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}.sp-off{display:inline-flex;gap:4px;align-items:center;font:600 11px var(--mono);color:var(--warn);background:var(--warn-bg);border:0;border-radius:10px;padding:2px 8px;cursor:pointer}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cam-wrap{min-width:0}.cam img{width:100%;height:100%;object-fit:cover}.intg{display:flex;flex-direction:column;gap:8px}.intg .ph{display:flex;align-items:center;gap:10px}.intg .ph h1{display:flex;gap:6px;align-items:center}.sp{flex:1}.intg-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start}.intg-card{padding:10px 12px;gap:6px;display:flex;flex-direction:column}.intg-card.on{border-color:var(--line-strong)}.intg-card .ih{display:flex;align-items:center;gap:6px}.ist{display:flex;gap:12px;font-size:11px;color:var(--text-3)}.ist em{font-style:normal;font:600 18px var(--mono);color:var(--text);display:block}.ist .bad em{color:var(--bad)}.intg-form{border-top:1px solid var(--line);padding-top:8px;gap:8px}.intg-form .two{display:grid;grid-template-columns:1fr 1fr;gap:6px}.intg-form .three{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.intg-form .row,.inb .row{display:flex;gap:6px;align-items:center}.inb{display:flex;flex-direction:column;gap:4px;font-size:11px}.inb code{font-size:11px;word-break:break-all}.payload{margin:0;max-height:260px;overflow:auto;font:11px/1.45 var(--mono);background:var(--sunken);padding:8px;border-radius:6px;white-space:pre-wrap}.tpl{display:grid;grid-template-columns:1fr auto;gap:4px}.tpl>input,.tpl>textarea{grid-column:1/-1}textarea.ctl{height:auto;padding:6px 8px;font:inherit;resize:vertical}.reports .filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.bars{display:flex;flex-direction:column}.bars rect:hover{opacity:.8}.bars .bx{display:flex;font:10px var(--mono);color:var(--text-3)}.bars .bx span{text-align:center;overflow:hidden;white-space:nowrap}td.num{text-align:right}.site-pick{appearance:none;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);height:26px;border-radius:6px;padding:0 22px 0 28px;font:inherit;font-size:var(--fs-md);cursor:pointer}.site-wrap{position:relative;display:inline-flex;align-items:center}.site-wrap>svg{position:absolute;left:8px;pointer-events:none;color:var(--text-2)}.site-wrap:after{content:"▾";position:absolute;right:8px;font-size:10px;color:var(--text-3);pointer-events:none}.who.btnish{cursor:pointer;border-radius:6px;padding:2px 4px}.who.btnish:hover{background:var(--surface-2)}.viol{margin:6px 0 0;padding-left:16px;color:var(--bad);font-size:var(--fs-sm)}.linkish{all:unset;cursor:pointer;color:var(--text-3);font-size:var(--fs-sm);align-self:flex-end}.linkish:hover{color:var(--text);text-decoration:underline}.home{display:flex;flex-direction:column;gap:8px;min-height:0}.home.phone,.home.phone-ok{max-width:520px;margin:0 auto;width:100%}.home-hero{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-3);background:var(--surface)}.home-hero.col{flex-direction:column;align-items:stretch}.home-hero small{color:var(--text-3);font-size:var(--fs-sm)}.home-hero h2{margin:2px 0 0;font-size:20px;font-weight:600}.home-hero p{margin:2px 0 0}.home-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.home-tile{all:unset;display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);cursor:pointer}.home-tile:disabled{cursor:default}.home-tile:not(:disabled):hover{border-color:var(--line-strong)}.home-tile:focus-visible{outline:2px solid var(--focus)}.home-tile small{color:var(--text-3);font-size:var(--fs-sm)}.home-tile b{font-size:20px;font-weight:600}.home-tile.bad b{color:var(--bad)}.home-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:900px){.home-2{grid-template-columns:1fr}}.door-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px}.door-strip .ds{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface)}.door-strip .ds.free{border-left:3px solid var(--c-ok)}.door-strip .ds.occupied{border-left:3px solid var(--info)}.door-strip .ds.blocked{border-left:3px solid var(--idle);opacity:.7}.door-strip .ds.over{border-left-color:var(--c-late)}.hbar{display:grid;grid-template-columns:140px 1fr 80px;align-items:center;gap:8px;height:24px}.hbar i{height:8px;border-radius:4px;background:var(--accent)}.hbar b{text-align:right}.pill-off{display:flex;gap:6px;align-items:center;padding:6px 10px;border-radius:var(--r-2);background:var(--warn-bg);color:var(--warn)}@media(max-width:600px){.home-hero{flex-direction:column;align-items:stretch}.home .btn.lg{width:100%}}.v12{display:flex;flex-direction:column;gap:8px}.v12-sec{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--line)}.v12-h,.v12-chk{display:flex;align-items:center;justify-content:space-between;gap:8px}.v12-thumbs{display:flex;flex-wrap:wrap;gap:6px}.v12-thumbs a{display:flex;flex-direction:column;align-items:center;color:var(--text-3);text-decoration:none}.v12-thumbs img{width:64px;height:48px;object-fit:cover;border-radius:var(--r-2);border:1px solid var(--line)}.v12-sides{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.v12-sides svg{cursor:crosshair}.v12-sides rect{fill:var(--surface-2, var(--surface));stroke:var(--line-strong)}.v12-sides svg.on rect{stroke:var(--accent)}.v12-sides text{fill:var(--text-3);font-size:9px}.v12-sides circle.minor{fill:var(--c-late)}.v12-sides circle.major{fill:var(--bad)}.v12-url{display:flex;gap:6px;align-items:center;word-break:break-all}.v12-cut{display:flex;gap:6px;align-items:center;padding:6px 10px;border-radius:var(--r-2);border:1px solid var(--line)}.v12-cut.on{border-color:var(--c-late);color:var(--c-late)}.v12-check{display:flex;flex-direction:column;gap:2px}.yc{display:grid;grid-template-columns:48px 120px 1fr;align-items:center;gap:8px;padding:2px 6px;border-radius:var(--r-2)}.yc.ok{background:color-mix(in srgb,var(--c-ok) 12%,transparent)}.yc.diff{background:color-mix(in srgb,var(--c-late) 16%,transparent)}.v12-reefers{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;padding:8px}.v12-reefers .rf{all:unset;cursor:pointer;display:flex;flex-direction:column;padding:6px 8px;border:1px solid var(--line);border-left:3px solid var(--c-reefer);border-radius:var(--r-2)}.v12-reefers .rf.bad{border-left-color:var(--bad)}.v12-reefers .rf b{font-size:18px;font-weight:600}.v12-reefers .rf small{color:var(--text-3)}.drv{max-width:560px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:12px;min-height:100vh}.drv header{display:flex;align-items:center;gap:8px}.drv header .sp{flex:1}.drv-card{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface)}.drv-card label{display:flex;flex-direction:column;gap:4px}.drv .ctl.big{height:48px;font-size:20px}.drv .btn.xl{height:56px;font-size:18px;justify-content:center}.drv-state{margin:0;font-size:22px;font-weight:600}.drv-state.hold{color:var(--bad)}.drv-state.at_door{color:var(--c-ok)}.drv-kv{display:flex;gap:24px}.drv-kv div{display:flex;flex-direction:column}.drv-kv span{color:var(--text-3)}.drv-kv b{font-size:28px;font-weight:600;display:flex;align-items:center;gap:4px}.drv-err{padding:10px;border-radius:var(--r-2);background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.drv.kiosk{max-width:760px}.drv.kiosk .ctl.big{height:64px;font-size:28px}.drv.kiosk .btn.xl{height:72px;font-size:22px}.drawer .db>.v12,.drawer .db .v12-ux{padding:8px 12px}.role-chips{display:flex;flex-wrap:wrap;gap:6px}.role-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;border:1px solid var(--line,#d5dbe5);background:var(--panel,transparent);color:inherit;font:inherit;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.role-chip:hover{border-color:var(--accent,#1258B5);transform:translateY(-1px)}.role-chip.on{background:var(--accent,#1258B5);border-color:var(--accent,#1258B5);color:#fff}.usw-list{display:grid;gap:4px;margin-top:6px}.usw-i{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;border:1px solid var(--line,#d5dbe5);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.usw-i:hover:not(:disabled){border-color:var(--accent,#1258B5)}.usw-i.on{opacity:.6;cursor:default}.usw-i .av{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:600;background:var(--accent,#1258B5);color:#fff}.usw-i span:nth-child(2){display:flex;flex-direction:column;line-height:1.2}.v15-plan{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}.v15-mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 14px}.v15-g{font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin:2px 0 4px}.v15-mod{display:flex;align-items:center;gap:6px;min-height:26px;padding:0 6px;border-radius:6px;font-size:12px;color:var(--text-3)}.v15-mod.on{color:var(--text);background:var(--surface-2)}.v15-mod small{font-size:10px;white-space:nowrap}.v15-usage{display:grid;gap:8px}.v15-usage .row{font-size:12px;margin-bottom:3px}.v15-warn{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:7px;border:1px solid color-mix(in srgb,var(--c-late) 45%,transparent);background:color-mix(in srgb,var(--c-late) 10%,transparent);font-size:12px}.v15-op .panel{min-height:0}.v15-op tr.on td{background:var(--surface-2)}.login-ws{display:flex;gap:6px;align-items:center;font-size:12px}@media(max-width:900px){.v15-plan{grid-template-columns:1fr}}
