@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: 3px;--r-2: 6px;--r-3: 10px;--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-2xs: 11px;--fs-xs: 11.5px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 26px;--row-h: 40px;--ctl-h: 40px;--ctl-sm: 28px;--rail-w: 56px;--rail-wide: 212px;--top-h: 48px;--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}:root[data-density=compact]{--fs-2xs: 10px;--fs-xs: 10.5px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--fs-xl: 24px;--row-h: 32px;--ctl-h: 32px;--ctl-sm: 24px;--top-h: 44px}:root[data-density=relaxed]{--fs-2xs: 12px;--fs-xs: 12px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 18px;--fs-xl: 28px;--row-h: 48px;--ctl-h: 44px;--ctl-sm: 44px;--top-h: 52px}[data-theme=dark]{color-scheme:dark;--bg: #0A172B;--bg-2: #0F2038;--surface: #1A3254;--surface-2: #152A49;--sunken: #0F2038;--rail: #082F67;--line: rgba(255,255,255,.1);--line-strong: rgba(255,255,255,.34);--text: rgba(255,255,255,.9);--text-2: rgba(255,255,255,.64);--text-3: rgba(255,255,255,.62);--accent: #57A0E9;--accent-ink: #ffffff;--accent-weak: rgba(76,154,232,.16);--focus: #6DAEEC;--ok: #4CC38A;--ok-bg: rgba(76,195,138,.14);--warn: #E5A13D;--warn-bg: rgba(229,161,61,.14);--hold: #ffb27a;--hold-bg: rgba(251,140,60,.15);--bad: #FF9A93;--bad-bg: rgba(241,112,106,.15);--info: #86BDF4;--info-bg: rgba(76,154,232,.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: #EBF2FF;--sunken: #EBF2FF;--rail: #1258B5;--line: #E7EBF3;--line-strong: #8693A5;--text: #010D43;--text-2: #43576C;--text-3: #5B6C81;--accent: #1258B5;--accent-ink: #ffffff;--accent-weak: #EFF6FF;--focus: #1258B5;--ok: #12703F;--ok-bg: #E7F5EC;--warn: #8A5A00;--warn-bg: #FCF1DC;--hold: #a34a00;--hold-bg: #fde4d0;--bad: #B3261E;--bad-bg: #FBEAE9;--info: #1258B5;--info-bg: #E4EEFC;--idle: #56616d;--idle-bg: #eceff2;--live: #0c766a;--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}[data-theme=dark]{--accent-ink: #0A172B}[data-theme=light][data-palette=red]{--accent: #A32444;--accent-ink: #fff;--accent-weak: #F7E4EA;--focus: #A32444;--rail: #A32444}[data-theme=dark][data-palette=red]{--accent: #E28291;--accent-ink: #0A172B;--accent-weak: rgba(221,110,127,.16);--focus: #F8A7B0;--rail: #5C1023}[data-theme=light][data-palette=green]{--accent: #016E4A;--accent-ink: #fff;--accent-weak: #E3F3EC;--focus: #014C32;--rail: #016E4A}[data-theme=dark][data-palette=green]{--accent: #53B188;--accent-ink: #0A172B;--accent-weak: rgba(72,172,128,.16);--focus: #BEE2CF;--rail: #013C27}[data-theme=light][data-palette=yellow]{--accent: #8A6A00;--accent-ink: #fff;--accent-weak: #FBF4DE;--focus: #5C4801;--rail: #8A6A00}[data-theme=dark][data-palette=yellow]{--accent: #D6BF7F;--accent-ink: #0A172B;--accent-weak: rgba(214,191,127,.18);--focus: #E5D7B2;--rail: #332701}*{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:var(--fs-2xs);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{border-right-color:#ffffff1f;color:#fff}.rail .logo{color:#fff}.rail .logo b{background:#fff;color:var(--accent)}.rail button.nv{color:#fffc}.rail button.nv:hover{background:#ffffff1f;color:#fff}.rail button.nv.on{background:#ffffff29;color:#fff}.rail button.nv.on:before{background:#fff}.rail button.nv:focus-visible{outline-color:#ffffffe6}.rail .sec{color:#ffffffe0}.rail .badge{background:#05193c99;color:#fff}.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:var(--fs-xs);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:var(--ctl-sm);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 var(--fs-xs) 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:var(--ctl-sm);padding:0 9px;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:var(--fs-xs);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:var(--ctl-sm);min-width:var(--ctl-sm);padding:0 9px;font-size:var(--fs-sm)}.btn.lg{height:44px;font-size:14px}.btn.ghost{background:transparent;border-color:transparent}.btn.icon{width:max(28px,var(--ctl-sm));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:var(--fs-2xs);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 var(--fs-2xs) 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:var(--fs-2xs);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:var(--fs-xs);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:var(--fs-xs);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 var(--fs-2xs) 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:var(--ctl-sm)}.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:var(--fs-xs);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:var(--fs-xs);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:var(--fs-xs);color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.dragtip{padding:6px 9px;font-size:var(--fs-xs);display:flex;gap:8px;align-items:center;pointer-events:none;z-index:5;flex-direction:row}.legend2{right:290px;bottom:12px;font-size:var(--fs-xs);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 var(--fs-2xs) var(--font);letter-spacing:.1em;color:var(--text-3);gap:6px}.fk .m{letter-spacing:0;font-size:var(--fs-xs);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:var(--fs-2xs);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:var(--fs-2xs)}.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:var(--fs-xs);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 var(--fs-xs) 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:var(--fs-xs)}.dt span{font-size:var(--fs-2xs);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:var(--fs-xs)}.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:#04170b;overflow:hidden;white-space:nowrap;line-height:12px}.gaxis{display:flex;justify-content:space-between;font-size:var(--fs-2xs)}.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:var(--fs-2xs);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}.booking-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:8px;width:100%}.booking-fields>.ctl{min-width:0;width:100%}.gate2{display:grid;grid-template-columns:320px minmax(0,1fr) 340px;gap:8px;height:100%;min-height:0}.gate2>section{min-width:0}.gate2 .gq>h3{flex-wrap:wrap;height:auto;min-height:36px}.gate2 .gq>h3 .r{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px}.gate2 .gq>.scroll{flex:1;min-height:80px}.gate2 .gq>.gate-departures{flex:0 1 40%;max-height:240px}.gate-departure{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.gate-departure b,.gate-departure small{display:block}.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:var(--fs-xs)}.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:#fcd34d}.reads{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:10px;padding:0 12px 8px}.reads .fld,.reads input{min-width:0;width:100%}.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:var(--fs-xs)}.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:var(--fs-xs);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:var(--fs-xs);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:var(--fs-xs)}.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:#c0262d;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:var(--fs-2xs);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:var(--fs-xs)}.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;flex-wrap:wrap;align-items:center;gap:6px;padding-top:6px;min-height:30px;font-size:12px}.cam-foot .btn{white-space:nowrap}.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(auto-fill,minmax(170px,1fr))}.kgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.kp{padding:8px 10px;gap:2px}.kp .l{font-size:var(--fs-xs);color:var(--text-3);display:flex;gap:5px;align-items:center}.kp b{font-size:20px;letter-spacing:-.02em}.kp small{font-size:var(--fs-2xs)}.dgantt{position:relative;padding:4px 12px 8px}.dg-axis{position:relative;height:16px;margin-left:44px;font-size:var(--fs-2xs);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:var(--fs-xs)}.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:#04170b}.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(--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:var(--fs-2xs);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}}.topbar .pop{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.appearance-pop{gap:4px;padding:8px;min-width:180px}.pop-sec{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:4px 6px 2px}.appearance-pop .seg{display:flex;gap:2px}.appearance-pop .seg button{box-sizing:border-box;min-height:var(--ctl-sm);display:inline-flex;align-items:center;gap:5px;flex:1;justify-content:center}.palette-pick{display:flex;gap:8px;padding:4px 6px}.palette-pick .swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.palette-pick .swatch.on{border-color:var(--text)}.palette-pick .swatch:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.demo-switchers{display:flex;flex-direction:column;gap:8px;padding:8px 0;margin:2px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.demo-switchers .role-sw{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.action-inbox{padding:8px 12px;border-bottom:1px solid var(--line);display:grid;gap:4px}.action-row{all:unset;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:6px;background:var(--warn-bg);color:var(--text);cursor:pointer;font-size:var(--fs-md)}.action-row:hover{border-color:var(--focus)}.action-row:focus-visible,.welcome-x:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.demo-pop{display:flex;flex-direction:column;gap:6px;width:240px;padding:10px;left:0;right:auto}.demo-pop p{font-size:var(--fs-xs);margin:0 0 4px}.demo-pop .btn{justify-content:flex-start}.role-sw{display:inline-flex;gap:6px;align-items:center;font-size:var(--fs-xs)}.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:var(--fs-xs);display:block;margin-top:6px}.pr-steps{margin:0;padding:4px 12px 8px 30px;overflow:auto;font-size:var(--fs-xs);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:var(--fs-2xs)}.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;min-width:0}.adm .panel{overflow-x:auto}.adm .ctl{min-width:0;max-width:100%}.adm-tabs{display:inline-flex;align-self:flex-start;max-width:100%;overflow-x:auto}.adm-tabs button{display:inline-flex;gap:5px;align-items:center;flex-shrink:0}@media(max-width:900px){.adm .grid{grid-template-columns:minmax(0,1fr)!important}.adm .form.two,.adm-doors{grid-template-columns:minmax(0,1fr)}}.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{background:var(--surface-2)}.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:var(--fs-xs)}.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 var(--fs-xs) 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:var(--fs-xs);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:var(--fs-xs)}.inb code{font-size:var(--fs-xs);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%}.welcome-card{position:relative;padding:14px 16px;margin-bottom:10px;border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:var(--r-3);background:var(--accent-weak)}.welcome-card h3{margin:0 0 6px;font-size:var(--fs-lg)}.welcome-card ul{margin:0 0 10px;padding-left:18px;display:grid;gap:3px;color:var(--text-2);font-size:var(--fs-md)}.welcome-x{all:unset;position:absolute;top:8px;right:10px;cursor:pointer;color:var(--text-3);border-radius:4px;padding:2px}.welcome-x:hover{color:var(--text)}.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(--warn)}.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(--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:var(--fs-2xs);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:var(--fs-2xs);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}}.vtl{display:flex;align-items:flex-start;gap:0}.vtl-step{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.vtl-step:before{content:"";position:absolute;top:5px;left:-50%;width:100%;height:2px;background:var(--line, #d5dbe5);z-index:0}.vtl-step:first-child:before{display:none}.vtl-step.on:before{background:color-mix(in srgb,var(--c-ok) 60%,transparent)}.vtl-step>i{width:12px;height:12px;border-radius:50%;background:var(--surface-2);border:2px solid var(--line, #d5dbe5);z-index:1}.vtl-step.on>i{background:var(--c-ok);border-color:var(--c-ok)}.vtl-step.cur>i{background:var(--c-acc);border-color:var(--c-acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-acc) 25%,transparent)}.vtl-l{font-size:var(--fs-2xs);margin-top:3px;color:var(--text-3);white-space:nowrap}.vtl-step.on .vtl-l{color:var(--text-2)}.vtl-t{font-size:var(--fs-2xs);color:var(--text-3)}.flows{display:grid}.flow-row small{font-size:var(--fs-xs);display:block}.dash-wrap{display:flex;flex-direction:column;gap:8px;min-height:0}.dash-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.dash{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;grid-auto-flow:row dense;align-content:start}.dash-card{position:relative;display:flex;min-width:0;grid-column:span 6}.dash-card.size-s{grid-column:span 4}.dash-card.size-m{grid-column:span 6}.dash-card.size-l{grid-column:span 12}.dash-card>.w,.dash-card>section,.dash-card>div{flex:1;min-width:0}.dash-card .kpis2{grid-column:auto}.dash-drill{position:absolute;top:7px;right:8px;z-index:2;display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface);color:var(--text-3);cursor:pointer;opacity:0;transition:opacity .12s}.dash-card:hover .dash-drill,.dash-drill:focus-visible{opacity:1}.dash-drill:hover{color:var(--accent);border-color:var(--accent)}.dash.edit .dash-card{outline:1px dashed var(--line-strong);outline-offset:-1px;cursor:grab;border-radius:var(--r-3)}.dash.edit .dash-card.drag-over{outline:2px solid var(--accent)}.dash-ctrl{position:absolute;top:6px;right:6px;z-index:3;display:flex;gap:4px}.dash-ctrl button,.dash-ctrl .h{all:unset;display:grid;place-items:center;width:var(--ctl-sm);height:var(--ctl-sm);border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface);color:var(--text-2);cursor:pointer}.dash-ctrl .h{cursor:grab}.dash-ctrl button:hover{color:var(--bad);border-color:var(--bad)}.dash-tray{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:var(--r-3);background:var(--surface-2)}.dash-tray .chip{cursor:pointer}.dash-empty{grid-column:1 / -1;padding:24px;text-align:center;color:var(--text-3);border:1px dashed var(--line-strong);border-radius:var(--r-3)}@media(max-width:1100px){.dash-card.size-s{grid-column:span 6}.dash-card.size-m,.dash-card.size-l{grid-column:span 12}}@media(max-width:680px){.dash-card{grid-column:span 12!important}}.skip-link{position:absolute;left:8px;top:-100px;z-index:100;padding:8px 12px;border-radius:var(--r-2);background:var(--accent);color:var(--accent-ink);font-weight:600;text-decoration:none}.skip-link:focus{top:8px}main:focus{outline:none}.nav-toggle{display:none}.nav-scrim{position:fixed;inset:0;background:var(--scrim);z-index:59}.rail.open{position:fixed;top:0;bottom:0;left:0;z-index:60;width:var(--rail-wide);display:flex;box-shadow:var(--shadow)}.rail.open .lbl,.rail.open .sec{opacity:1;pointer-events:auto}.rail.open .badge{position:static}@media(max-width:1024px){.rail.wide:not(.open){width:var(--rail-w)}.rail.wide:not(.open) .lbl,.rail.wide:not(.open) .sec{opacity:0;pointer-events:none}.rail.wide:not(.open) .badge{position:absolute;top:3px;left:24px;margin:0;padding:0 4px}}@media(max-width:600px){.nav-toggle{display:inline-flex}.rail.open{display:flex}}@media(max-width:1280px){.gate2{grid-template-columns:260px minmax(0,1fr);grid-auto-rows:min-content;height:auto}.gate2>:first-child{grid-row:span 2;max-height:calc(100vh - 120px)}.gate2>:nth-child(3){grid-column:2}}@media(max-width:700px){.gate2{grid-template-columns:minmax(0,1fr)}.gate2>:first-child{grid-row:auto;max-height:260px}.gate2>:nth-child(3){grid-column:auto}.cams,.reads{grid-template-columns:minmax(0,1fr)}}.door-acts{margin-top:auto;gap:4px;flex-wrap:wrap}.door-acts .btn{flex:1 1 auto;justify-content:center;white-space:nowrap}@media(max-width:1100px){.dock2{grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto}.dock-doors,.dock-side{grid-column:1;grid-row:auto}}@media(max-width:1100px){.flowrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fstage-wrap{flex-direction:column;gap:4px}.flink{width:auto;flex-direction:row;justify-content:flex-start;padding:0 4px}.kpis2{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.flowrow{grid-template-columns:minmax(0,1fr)}.kpis2{grid-template-columns:repeat(2,minmax(0,1fr))}}.pad{padding:var(--sp-3)!important}.grow{flex:1!important}.mt-2{margin-top:var(--sp-2)!important}.mb-3{margin-bottom:var(--sp-3)!important}.ttl{display:flex!important;align-items:center!important;gap:6px!important;margin-bottom:var(--sp-2)!important}.fs-xs{font-size:var(--fs-xs)!important}.sh{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.sh-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sh-top h1{margin:0;font-size:var(--fs-lg);font-weight:600;color:var(--text-2)}.sh-answer{margin:0;font-size:var(--fs-xl);font-weight:700;line-height:1.25;color:var(--text);max-width:72ch}.sh-detail{margin:0;font-size:var(--fs-md);color:var(--text-2);line-height:1.5;max-width:90ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-4);padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.card+.card,.card-row+.card,.card+.card-row{margin-top:var(--sp-4)}.card-h{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.card-h h2{margin:0;font-size:var(--fs-lg);flex-grow:1}.card-row{display:flex;gap:var(--sp-4);flex-wrap:wrap;align-items:flex-start}.card-row>.card{flex:1 1 380px;margin:0}.legend{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-2)}.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.sw-blue{background:var(--accent)}.sw-light{background:color-mix(in srgb,var(--accent) 45%,var(--surface))}.sw-warn{background:var(--c-late)}.sw-muted{background:var(--line-strong)}.fl{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--sp-2) 0}.fl-item{display:flex;align-items:center;flex:1 1 180px;min-width:0}.fl-box{all:unset;box-sizing:border-box;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-3);background:var(--bg-2);border:1px solid var(--line);color:var(--text);font-family:inherit}button.fl-box{cursor:pointer}button.fl-box:hover{border-color:var(--accent)}button.fl-box:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.fl-box.slow{background:var(--surface);border:2px solid var(--c-late)}.fl-name{font:600 var(--fs-xs) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.fl-count{font-size:30px;line-height:1.1}.fl-label{font-size:var(--fs-sm);color:var(--text-2)}.fl-time{font-size:var(--fs-md);font-weight:600;color:var(--text-2)}.fl-time.warn{color:var(--warn)}.fl-flag{align-self:flex-start;font:600 var(--fs-xs) var(--mono);text-transform:uppercase;background:var(--warn-bg);color:var(--warn);padding:3px 8px;border-radius:var(--r-2)}.fl-arrow{flex:0 0 56px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--line-strong)}.fl-arrow span{font:400 var(--fs-xs) var(--mono);color:var(--text-2)}.jr{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.jr-step{display:grid;grid-template-columns:26px minmax(0,1fr) auto;column-gap:var(--sp-3)}.jr-rail{display:flex;flex-direction:column;align-items:center}.jr-dot{width:22px;height:22px;border-radius:50%;box-sizing:border-box;display:grid;place-items:center;flex:none;color:var(--accent-ink)}.jr-step.is-done .jr-dot{background:var(--accent)}.jr-step.is-now .jr-dot{border:5px solid var(--c-late);background:var(--surface)}.jr-step.is-next .jr-dot{border:2px solid var(--line-strong);background:var(--surface)}.jr-line{width:2px;flex-grow:1;min-height:12px;background:var(--line)}.jr-step.is-done .jr-line{background:var(--accent)}.jr-body{padding-bottom:var(--sp-4);display:flex;flex-direction:column;gap:3px;min-width:0}.jr-title{font-size:var(--fs-md);font-weight:600}.jr-step.is-now .jr-title{color:var(--warn)}.jr-step.is-next .jr-title{color:var(--text-2);font-weight:500}.jr-detail{font-size:var(--fs-sm);color:var(--text-2);line-height:1.45}.jr-act{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.jr-when{font:400 var(--fs-xs) var(--mono);color:var(--text-2);white-space:nowrap;padding-top:3px}.jd{display:flex;align-items:center;min-width:120px}.jd-seg{display:flex;align-items:center;flex:1}.jd-seg:last-child{flex:none}.jd-dot{width:12px;height:12px;border-radius:50%;box-sizing:border-box;flex:none}.jd-dot.is-done{background:var(--accent)}.jd-dot.is-now{border:3px solid var(--c-late);background:var(--surface)}.jd-dot.is-next{border:2px solid var(--line-strong);background:var(--surface)}.jd-bar{height:3px;flex:1;background:var(--line)}.jd-bar.is-done{background:var(--accent)}.sb{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--bg-2)}.sb-muted{background:var(--line-strong)}.sb-light{background:color-mix(in srgb,var(--accent) 45%,var(--surface))}.sb-blue{background:var(--accent)}.sb-warn{background:var(--c-late)}.wtrack{position:relative;height:14px;background:var(--bg-2);border-radius:4px}.wtrack>.fill{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:var(--c-late)}.wtrack>.target{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text)}.blanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4);align-items:start}.blane{display:flex;flex-direction:column;gap:var(--sp-2)}.blane h2{margin:0;font-size:var(--fs-lg);display:flex;gap:8px;align-items:baseline}.blane h2 small{font:600 var(--fs-sm) var(--mono);color:var(--text-2);margin-left:auto}.blane>p{margin:0;font-size:var(--fs-sm);color:var(--text-2);line-height:1.45}.bcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-4);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.bcard-h{display:flex;align-items:baseline;gap:8px}.bcard-h b{font:600 var(--fs-md) var(--mono);flex-grow:1}.bcard-h em{font-style:normal;font-size:var(--fs-sm);font-weight:600;color:var(--warn)}.bsteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:var(--fs-sm)}.bsteps li{display:flex;align-items:center;gap:8px;color:var(--text-2)}.bsteps li.is-now{color:var(--warn);font-weight:600}.bcard-acts{display:flex;gap:6px;flex-wrap:wrap}.bcard-acts .btn{flex:1 1 auto;justify-content:center}.fold{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-4);padding:var(--sp-3) var(--sp-4);margin-top:var(--sp-4)}.fold>summary{cursor:pointer;font-weight:600;min-height:28px}.fold>summary small{font-weight:400;color:var(--text-2)}.ft-row{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr) 96px auto;gap:var(--sp-4);align-items:center;padding:var(--sp-3) 0;border-top:1px solid var(--line)}.ft-who{display:flex;flex-direction:column;gap:2px}.ft-who b{font:600 var(--fs-md) var(--mono)}.ft-legend{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--text-2);margin-top:4px}.ft-legend b{color:var(--warn)}.ft-amt{text-align:right;font-size:var(--fs-lg);font-weight:700}.ft-amt small{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--text-2)}.ft-decide{border:2px solid var(--accent);border-radius:var(--r-3);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-3)}.wt-row{display:grid;grid-template-columns:130px minmax(0,1fr) 64px;gap:var(--sp-3);align-items:center}@media(max-width:700px){.ft-row{grid-template-columns:minmax(0,1fr) auto}.ft-row>:nth-child(2){grid-column:1 / -1;grid-row:2}.fl-arrow{flex-basis:32px}.sh-answer{font-size:21px}}.uj{display:flex;flex-direction:column;gap:var(--sp-3)}.uj-answer{margin:0;font-size:var(--fs-lg);font-weight:700;line-height:1.3}.uj-block{display:flex;flex-direction:column;gap:6px}.uj-label{font:600 var(--fs-xs) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.uj-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text-2)}.uj-legend span{display:inline-flex;align-items:center;gap:5px}.uj-legend .is-warn{color:var(--warn);font-weight:600}.uj-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}@media(max-width:700px){.fl-item{flex:1 1 100%;flex-direction:column;align-items:stretch}.fl-box{width:100%}.fl-arrow{flex:none;flex-direction:row;justify-content:center;gap:8px;padding:4px 0}.fl-arrow svg{transform:rotate(90deg);width:28px}}.sw-free{border:2px solid color-mix(in srgb,var(--accent) 55%,var(--surface));box-sizing:border-box}.sw-closed{background:var(--line-strong);opacity:.45}.dchips{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch}.dchips button{all:unset;box-sizing:border-box;cursor:pointer;min-width:84px;min-height:48px;padding:6px 10px;border-radius:var(--r-3);border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;justify-content:center}.dchips button b{font-size:var(--fs-sm)}.dchips button span{font-size:var(--fs-xs);color:var(--text-2)}.dchips button.on{border:2px solid var(--accent);background:var(--accent-weak)}.dchips button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.dstrip{display:grid;gap:6px;align-items:end;overflow-x:auto;padding-bottom:4px}.dcol{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:4px;height:150px;padding:4px;border-radius:var(--r-2);border:2px solid transparent}.dcol.on{border-color:var(--accent);background:var(--accent-weak)}.dcol:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.dblocks{display:flex;flex-direction:column-reverse;gap:3px;min-height:12px}.dblocks i{flex:1;min-height:4px;border-radius:3px}.dblocks i.u{background:var(--accent)}.dblocks i.f{border:2px solid color-mix(in srgb,var(--accent) 55%,var(--surface));background:var(--surface)}.dblocks i.c{background:var(--line-strong);opacity:.45}.dlab{font:400 var(--fs-xs) var(--mono);color:var(--text-2);text-align:center}.dwhy{list-style:none;margin:0;padding:0;display:flex;gap:16px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text-2)}.dwhy b{color:var(--text)}.dpick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--accent-weak);border-radius:var(--r-3);padding:var(--sp-3) var(--sp-4)}.ag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:var(--sp-4)}.ag-grid .card+.card{margin-top:0}.ag.is-live{border:2px solid var(--c-late)}.ag.is-off{opacity:.75}.ag-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 0;align-items:stretch}.ag-step{position:relative;flex:1 1 120px;display:flex;flex-direction:column;gap:4px;padding:10px 12px;margin-right:26px;border-radius:var(--r-3);font-size:var(--fs-sm);line-height:1.35;min-height:84px;box-sizing:border-box}.ag-step:last-child{margin-right:0}.ag-step.when{background:var(--bg-2)}.ag-step.then{background:var(--accent-weak)}.ag-step.result{background:var(--ok-bg)}.ag-kind{font:600 var(--fs-2xs) var(--mono);letter-spacing:.06em;color:var(--text-2)}.ag-step.then .ag-kind{color:var(--accent)}.ag-step.result .ag-kind{color:var(--ok)}.ag-arrow{position:absolute;right:-24px;top:50%;margin-top:-6px;color:var(--line-strong)}.ag-switch{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 4px;border-radius:18px;border:1px solid var(--line-strong);font-weight:600;font-size:var(--fs-sm)}.ag-switch span{width:28px;height:28px;border-radius:50%;background:var(--line-strong)}.ag-switch.on span{background:var(--accent)}.ag-switch:disabled{cursor:default;opacity:.7}.ag-switch:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.ag-meter{display:flex;flex-direction:column;gap:6px}@media(max-width:700px){.ag-grid{grid-template-columns:minmax(0,1fr)}.ag-step{flex-basis:100%;margin-right:0;margin-bottom:18px}.ag-arrow{right:50%;top:auto;bottom:-18px;transform:rotate(90deg)}}.chip-ind{font:600 var(--fs-xs) var(--mono);text-transform:uppercase;padding:4px 8px;border-radius:var(--r-2);background:var(--warn-bg);color:var(--warn)}.ai-row{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(200px,260px);gap:var(--sp-3);align-items:center;padding:4px 0;border-radius:var(--r-2)}.ai-row .is-warn,.ai-arr .is-warn{color:var(--warn);font-weight:600}.ai-track{height:16px}.ai-track .fill.pred{background:color-mix(in srgb,var(--accent) 35%,var(--surface))}.ai-track .fill.now{background:var(--accent)}.sw-slot{background:var(--accent-weak);border:1px solid var(--accent);box-sizing:border-box}.ai-arr{display:grid;grid-template-columns:100px minmax(0,1fr) 170px;gap:var(--sp-3);align-items:center}.ai-axis{position:relative;height:16px;font:400 var(--fs-2xs) var(--mono);color:var(--text-2)}.ai-axis span{position:absolute;transform:translate(-50%)}.ai-time{position:relative;height:22px}.ai-time .slot{position:absolute;top:6px;height:10px;border-radius:4px;background:var(--accent-weak);border:1px solid var(--accent);box-sizing:border-box}.ai-time .eta{position:absolute;top:3px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);box-sizing:border-box}.ai-time .eta.late{background:var(--c-late)}.ai-door{display:flex;flex-direction:column;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}.ai-door:last-of-type{border-bottom:0}.ai-dbar{display:grid;grid-template-columns:40px minmax(0,1fr) 52px;gap:8px;align-items:center}.ai-door .btn{align-self:flex-start}@media(max-width:700px){.ai-row,.ai-arr{grid-template-columns:minmax(0,1fr)}}.ya-zone{display:grid;grid-template-columns:100px minmax(0,1fr);gap:var(--sp-3);align-items:center}.ya-zone>div:first-child{display:flex;flex-direction:column}.ya-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:4px}.ya-slot{all:unset;box-sizing:border-box;cursor:pointer;aspect-ratio:1 / 1;min-height:30px;border-radius:4px;display:grid;place-items:center;font-weight:700;font-size:var(--fs-sm)}.ya-slot.ok{background:var(--accent)}.ya-slot.bad{background:var(--c-late);color:#3d2600}.ya-slot.todo{background:var(--surface);border:2px solid var(--line-strong)}.ya-slot.here{outline:3px solid var(--text);outline-offset:1px}.ya-slot:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.ya-walk{border:2px solid var(--accent)}.ya-q{margin:0;font-size:var(--fs-lg);line-height:1.4}.btn.big{height:52px;font-size:var(--fs-md);justify-content:center}.ya-issue{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:var(--fs-sm);line-height:1.45}.ya-issue b{color:var(--warn)}@media(max-width:700px){.ya-zone{grid-template-columns:minmax(0,1fr)}}.dash-hero{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-3);background:linear-gradient(120deg,var(--accent-weak),var(--surface) 70%);box-shadow:var(--shadow-sm)}.dh-eyebrow{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--c-live);animation:pulse 1.6s infinite;box-shadow:0 0 0 0 var(--c-live)}.dash-hero h2{margin:2px 0;font-size:20px;color:var(--text)}.dash-hero p{margin:0;color:var(--text-2)}.dh-pills{display:flex;gap:8px;flex-wrap:wrap}.dh-pill{all:unset;box-sizing:border-box;display:grid;gap:1px;min-width:96px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-3);background:var(--surface)}button.dh-pill{cursor:pointer;transition:transform .12s,border-color .12s}button.dh-pill:hover{transform:translateY(-2px);border-color:var(--accent)}button.dh-pill:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.dh-pill b{font:600 20px var(--mono);color:var(--text)}.dh-pill span{font-size:var(--fs-xs);color:var(--text-3)}.dh-pill.bad{border-color:var(--c-bad)}.dh-pill.bad b{color:var(--bad)}.dash-gallery{padding:12px;border:1px dashed var(--line-strong);border-radius:var(--r-3);background:var(--surface-2);display:grid;gap:10px}.dg-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.dg-card{all:unset;box-sizing:border-box;display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);cursor:pointer}.dg-card:hover{border-color:var(--accent)}.dg-card:focus-visible{outline:2px solid var(--focus)}.dg-ic{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:var(--r-2);background:var(--accent-weak);color:var(--accent)}.dg-tx{display:grid;gap:2px;min-width:0;flex:1}.dg-tx small{color:var(--text-3);line-height:1.35}.dg-add{display:inline-flex;gap:3px;align-items:center;color:var(--accent);font-weight:600;font-size:var(--fs-xs)}.dash-ctrl button:disabled{opacity:.35;cursor:default}.dash-ctrl button:not(.rm):not(:disabled):hover{color:var(--accent);border-color:var(--accent)}.dash-card.dragging{opacity:.45}.seg-b{all:unset;box-sizing:border-box;padding:2px 8px;border:1px solid var(--line-strong);font-size:var(--fs-xs);color:var(--text-2);cursor:pointer;background:var(--surface)}.seg-b:first-child{border-radius:var(--r-2) 0 0 var(--r-2)}.seg-b:last-child{border-radius:0 var(--r-2) var(--r-2) 0;border-left:0}.seg-b.on{background:var(--accent-weak);color:var(--text);border-color:var(--accent)}.seg-b:focus-visible{outline:2px solid var(--focus)}.ex-n{margin-left:6px}.heat{display:grid;gap:7px;padding:10px 12px 4px}.heat-row{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center}.heat-cells{display:flex;flex-wrap:wrap;gap:3px}.hc{all:unset;box-sizing:border-box;width:16px;height:16px;border-radius:4px;background:var(--sunken);border:1px solid var(--line);transition:transform .1s}button.hc:not(:disabled){cursor:pointer}button.hc:not(:disabled):hover,button.hc:focus-visible{transform:scale(1.4);outline:2px solid var(--focus);z-index:1}.hc.ok{background:var(--c-ok);border-color:transparent}.hc.late{background:var(--c-late);border-color:transparent}.hc.bad{background:var(--c-bad);border-color:transparent}.hc.hold{background:var(--c-hold);border-color:transparent}.hc.reefer{background:var(--c-reefer);border-color:transparent}.hc.haz{background:var(--c-haz);border-color:transparent}.heat-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 12px 10px;font-size:var(--fs-xs);color:var(--text-2);min-height:32px}.heat-leg{display:flex;gap:10px;flex-wrap:wrap}.heat-leg span{display:inline-flex;gap:4px;align-items:center}.heat-leg .hc{width:10px;height:10px}.thru{display:flex;align-items:flex-end;gap:6px;height:120px;padding:12px 12px 0}.tb{all:unset;box-sizing:border-box;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;cursor:pointer}.tb i{display:block;width:100%;border-radius:4px 4px 0 0;background:color-mix(in srgb,var(--c-acc) 55%,transparent);transition:background .12s}.tb.peak i{background:var(--c-late)}.tb.sel i,.tb:hover i{background:var(--accent)}.tb:focus-visible{outline:2px solid var(--focus)}.tb small{font:10px var(--mono);color:var(--text-3);height:12px}.thru-read{padding:6px 12px 10px;font-size:var(--fs-md);color:var(--text-2)}.thru-read b{color:var(--text);font-size:16px}.ladder{display:grid;gap:6px;padding:10px 12px}.lad{all:unset;box-sizing:border-box;display:grid;grid-template-columns:64px 1fr 34px;gap:10px;align-items:center;padding:3px 4px;border-radius:var(--r-2);cursor:pointer}.lad:hover,.lad.on{background:var(--accent-weak)}.lad:focus-visible{outline:2px solid var(--focus)}.lad .tr{height:12px;border-radius:6px;background:var(--sunken);overflow:hidden}.lad .tr span{display:block;height:100%;border-radius:6px;transition:width .3s}.lad b{text-align:right}.lad-list{display:grid;padding:0 12px 10px}.lad-u{all:unset;box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr auto;gap:8px;padding:5px 4px;border-top:1px solid var(--line);cursor:pointer}.lad-u:hover{background:var(--accent-weak)}.lad-u:focus-visible{outline:2px solid var(--focus)}@media(max-width:680px){.dash-hero{padding:12px}.dh-pill{min-width:84px}.heat-row{grid-template-columns:24px 1fr}.heat-row>span:last-child{display:none}}.dash.edit .dash-card{flex-direction:column}.dash.edit .dash-ctrl{position:static;justify-content:flex-end;padding:4px 4px 0;background:var(--surface-2);border:1px dashed var(--line-strong);border-bottom:0;border-radius:var(--r-3) var(--r-3) 0 0}.dash.edit .dash-card{outline:0}.dash.edit .dash-card>.w,.dash.edit .dash-card>section,.dash.edit .dash-card>div:not(.dash-ctrl){border-top-left-radius:0;border-top-right-radius:0;outline:1px dashed var(--line-strong);outline-offset:-1px}.dash.edit .dash-card.drag-over>.w,.dash.edit .dash-card.drag-over>section,.dash.edit .dash-card.drag-over>div:not(.dash-ctrl){outline:2px solid var(--accent)}.crumbs{flex:none;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--bg-2);font-size:var(--fs-sm);color:var(--text-3)}.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px;margin:0;padding:0;list-style:none}.crumbs li{display:inline-flex;align-items:center;gap:2px}.crumbs button{all:unset;cursor:pointer;padding:2px 4px;border-radius:var(--r-1);color:var(--accent)}.crumbs button:hover{text-decoration:underline}.crumbs button:focus-visible{outline:2px solid var(--focus)}.crumbs span{padding:2px 4px}.crumbs span[aria-current=page]{color:var(--text);font-weight:600}.shell{--role-c: var(--accent)}.shell[data-role=gate_guard],.shell[data-role=gate_supervisor]{--role-c: var(--c-live)}.shell[data-role=dock_supervisor]{--role-c: var(--c-ok)}.shell[data-role=spotter]{--role-c: var(--c-reefer)}.shell[data-role=carrier]{--role-c: var(--c-acc)}.shell[data-role=detention_approver]{--role-c: var(--c-hold)}.shell[data-role=tenant_admin]{--role-c: var(--c-haz)}.shell[data-role=yard_viewer]{--role-c: var(--text-3)}.rolebadge{display:flex;align-items:center;gap:8px;margin:6px 12px 2px;padding:5px 10px;border-radius:999px;background:#ffffff1f;color:#fff;font-size:var(--fs-xs);font-weight:600;white-space:nowrap;overflow:hidden}.rolebadge i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--role-c);box-shadow:0 0 0 2px #ffffff8c}.rail:not(.wide) .rolebadge{margin:6px 8px 2px;padding:5px;justify-content:center}.rail:not(.wide) .rolebadge{font-size:0;gap:0}.dash-hero{border-left:4px solid var(--role-c)}.dh-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}@media(pointer:coarse),(max-width:1024px){:root:not([data-density=compact]){--ctl-h: 44px;--ctl-sm: 44px;--row-h: 48px}}@media(pointer:coarse),(max-width:1024px){:root:not([data-density=compact]) input.ctl,:root:not([data-density=compact]) select.ctl{min-height:44px}}.glossary{margin:6px 0 8px}.glossary summary{cursor:pointer;color:var(--accent);width:max-content}.glossary summary:focus-visible{outline:2px solid var(--focus)}.glossary table{margin-top:6px}.glossary td{vertical-align:top}[data-theme=dark] .ag-step.then .ag-kind{color:#a9d0f7}tr.held-row td:first-child{box-shadow:inset 3px 0 0 var(--hold)}
