:root,[data-theme=dark]{--bg:#0b1220;--panel:#111a2c;--panel-2:#16223a;--side:#0d1526;--line:#22314f;--text:#e2e8f0;--muted:#8a9bb8;--accent:#38bdf8;--primary:#0369a1;--primary-line:#0284c7;--primary-text:#fff;--danger:#7f1d1d;--danger-line:#b91c1c;--danger-text:#fff;--selected:#0f2440;--header-bg:#111a2c;--header-text:#e2e8f0;--header-accent:#38bdf8;--banner-bg:#0c4a6e;--banner-line:#0284c7;--banner-text:#e0f2fe;--map-bg:#0a1020;--zone-fill:#ffffff05;--stand-fill:#0f172a;--stand-occupied:#1e293b;--stand-line:#334155;--hub-fill:#0c4a6e;--hub-text:#e0f2fe;--hub-line:#1e3a5f;--shadow:#00000073;--ok:#22c55e;--ok-ink:#86efac;--tight:#eab308;--tight-ink:#fde047;--car:#818cf8;--car-ink:#c7d2fe;--risk:#ef4444;--risk-ink:#fecaca;--missed:#be123c;--missed-ink:#fda4af;--done:#475569;--done-ink:#94a3b8;--arr:#34d399;--dep:#60a5fa;--ssr-bg:#78350f;--ssr-ink:#fde68a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f4f6fa;--panel:#fff;--panel-2:#eef1f6;--side:#f9fafc;--line:#d9dee8;--text:#0f172a;--muted:#64748b;--accent:#0369a1;--primary:#0369a1;--primary-line:#075985;--primary-text:#fff;--danger:#b91c1c;--danger-line:#991b1b;--selected:#e0f2fe;--header-bg:#fff;--header-text:#0f172a;--header-accent:#0369a1;--banner-bg:#e0f2fe;--banner-line:#7dd3fc;--banner-text:#0c4a6e;--map-bg:#fff;--zone-fill:#0f172a05;--stand-fill:#f8fafc;--stand-occupied:#e2e8f0;--stand-line:#cbd5e1;--hub-fill:#0369a1;--hub-text:#fff;--hub-line:#dbe3ee;--shadow:#0f172a26;--ok-ink:#15803d;--tight:#ca8a04;--tight-ink:#a16207;--car:#6366f1;--car-ink:#4338ca;--risk-ink:#b91c1c;--missed-ink:#9f1239;--done:#94a3b8;--done-ink:#475569;--arr:#059669;--dep:#2563eb;--ssr-bg:#fef3c7;--ssr-ink:#92400e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=thy]{--bg:#f5f5f6;--panel:#fff;--panel-2:#f1f1f3;--side:#fafafa;--line:#e2e2e6;--text:#1d1d1f;--muted:#6e6e73;--accent:#c8102e;--primary:#c8102e;--primary-line:#a00d25;--primary-text:#fff;--danger:#3a3a3c;--danger-line:#1d1d1f;--selected:#fdecef;--header-bg:#c8102e;--header-text:#fff;--header-accent:#fff;--banner-bg:#fdecef;--banner-line:#f3a5b1;--banner-text:#7a0a1c;--map-bg:#fff;--zone-fill:#c8102e05;--stand-fill:#fafafa;--stand-occupied:#ececef;--stand-line:#d1d1d6;--hub-fill:#c8102e;--hub-text:#fff;--hub-line:#f1d5da;--shadow:#00000024;--ok-ink:#15803d;--tight:#ca8a04;--tight-ink:#a16207;--car:#6366f1;--car-ink:#4338ca;--risk-ink:#b91c1c;--missed-ink:#9f1239;--done:#a1a1aa;--done-ink:#52525b;--arr:#059669;--dep:#1d4ed8;--ssr-bg:#fef3c7;--ssr-ink:#92400e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=pegasus]{--bg:#161616;--panel:#222;--panel-2:#2c2c2c;--side:#1b1b1b;--line:#3a3a3a;--text:#f5f5f5;--muted:#a3a3a3;--accent:#fc0;--primary:#fc0;--primary-line:#e6b800;--primary-text:#161616;--danger:#7f1d1d;--danger-line:#b91c1c;--selected:#332b00;--header-bg:#fc0;--header-text:#161616;--header-accent:#161616;--banner-bg:#332b00;--banner-line:#fc0;--banner-text:#fff3bf;--map-bg:#121212;--zone-fill:#ffcc0005;--stand-fill:#1a1a1a;--stand-occupied:#2a2a2a;--stand-line:#404040;--hub-fill:#fc0;--hub-text:#161616;--hub-line:#2e2e2e;--tight:#fb923c;--tight-ink:#fdba74;--car:#c084fc;--car-ink:#e9d5ff;--done:#525252;--done-ink:#a3a3a3;--arr:#4ade80;--dep:#fc0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=lufthansa]{--bg:#050f36;--panel:#0a1a52;--panel-2:#102466;--side:#071442;--line:#1f3480;--text:#fff;--muted:#a9b4d6;--accent:#ffad00;--primary:#ffad00;--primary-line:#e69c00;--primary-text:#05164d;--danger:#7f1d1d;--danger-line:#b91c1c;--selected:#17307e;--header-bg:#05164d;--header-text:#fff;--header-accent:#ffad00;--banner-bg:#17307e;--banner-line:#ffad00;--banner-text:#fff;--map-bg:#040d30;--zone-fill:#ffffff08;--stand-fill:#071442;--stand-occupied:#102466;--stand-line:#24408f;--hub-fill:#ffad00;--hub-text:#05164d;--hub-line:#15296b;--tight:#facc15;--tight-ink:#fde68a;--done:#3b4f8f;--done-ink:#a9b4d6;--arr:#4ade80;--dep:#7dd3fc;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--radius:10px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}button{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:8px;min-height:34px;padding:6px 12px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--primary);border-color:var(--primary-line);color:var(--primary-text);font-weight:600}button.danger{background:var(--danger);border-color:var(--danger-line);color:#fff}button.ghost{background:0 0;border-color:#0000}button.link{min-height:0;color:var(--accent);text-align:left;background:0 0;border:none;padding:0}button.link:hover{text-decoration:underline}input,select{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;min-height:34px;padding:6px 10px}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;accent-color:var(--accent)}.muted{color:var(--muted)}.small{font-size:12px}.empty{color:var(--muted);text-align:center;padding:24px}.splash{height:100%;color:var(--muted);place-items:center;display:grid}.app{flex-direction:column;height:100%;display:flex}.app>.header,.app>.kpis,.app>.day-over{flex-shrink:0}.header{background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:10px 16px;display:flex;position:relative}.brand{align-items:center;gap:8px;display:flex}.logo{letter-spacing:-.02em;font-size:18px;font-weight:800}.logo span{color:var(--header-accent);opacity:.85}.dot{border:1px solid #fff9;border-radius:50%;width:9px;height:9px}.dot.on{background:#22c55e;box-shadow:0 0 8px #22c55e}.dot.off{background:#ef4444}.clock{font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:22px;font-weight:700;display:flex}.clock small{opacity:.7;font-size:12px;font-weight:500}.clock-date{opacity:.85;white-space:nowrap;font-size:13px;font-weight:600}.day-tag{color:var(--muted);margin-left:-2px;font-size:10px;font-weight:600}.sim-bar{align-items:center;gap:12px;display:flex}.transport{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:9px;gap:2px;padding:2px;display:flex}.transport button{min-height:30px;color:var(--muted);background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.transport button.play{background:var(--primary);color:var(--primary-text);box-shadow:0 1px 3px var(--shadow);min-width:78px;font-weight:600}.transport button.play.running{color:var(--text);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.speed-seg{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:9px;gap:2px;padding:2px;display:flex}.speed-seg button{min-height:30px;color:var(--muted);font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:7px;padding:4px 8px;font-size:13px}.speed-seg button.active{background:var(--primary);color:var(--primary-text);box-shadow:0 1px 3px var(--shadow);font-weight:600}.speed-select{display:none}.transport button.stop:hover{color:var(--danger)}.controls{color:var(--text);margin-left:auto}.controls summary{cursor:pointer;border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:6px 12px;list-style:none}.controls summary::-webkit-details-marker{display:none}.controls[open] summary{border-color:var(--accent)}.controls-body{z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:260px;box-shadow:0 12px 32px var(--shadow);gap:10px;padding:14px;display:grid;position:absolute;top:calc(100% + 6px);right:16px}.controls-body label{justify-content:space-between;align-items:center;gap:10px;display:flex}.controls-body input[type=number]{width:70px}.controls-body hr{border:none;border-top:1px solid var(--line);width:100%;margin:2px 0}.theme-swatches{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.theme-swatches button{flex-direction:column;align-items:center;gap:4px;min-height:0;padding:6px 2px;font-size:11px;display:flex}.theme-swatches button.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-swatches i{border:1px solid var(--line);border-radius:5px;width:26px;height:18px}label.check{cursor:pointer;align-items:center;gap:6px;display:inline-flex;justify-content:flex-start!important}label.inline{align-items:center;gap:8px;display:inline-flex}label.inline input{width:80px}.kpis{border-bottom:1px solid var(--line);scrollbar-width:none;gap:8px;padding:10px 16px;display:flex;overflow-x:auto}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex:none;min-width:96px;padding:8px 12px}.kpi .value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.kpi .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11px}.kpi.ok .value{color:var(--ok-ink)}.kpi.tight .value{color:var(--tight-ink)}.kpi.car .value{color:var(--car-ink)}.kpi.risk .value{color:var(--risk-ink)}.kpi.missed .value{color:var(--missed-ink)}.kpi.done .value{color:var(--done-ink)}button.kpi{text-align:left;color:inherit;border-radius:var(--radius);min-height:0}.kpi.clickable{cursor:pointer}.kpi.clickable:hover{border-color:var(--accent)}.kpi.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--panel-2)}.kpi.active .label{color:var(--text)}.l-short{display:none}.filter-chip{border-color:var(--accent);border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:4px 12px;font-size:13px;display:inline-flex}.day-over{background:var(--banner-bg);color:var(--banner-text);border:1px solid var(--banner-line);border-radius:var(--radius);border-left-width:5px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:10px 16px 0;padding:12px 14px;display:flex}.day-over>div{flex-direction:column;gap:2px;display:flex}.day-over strong{font-variant-numeric:tabular-nums;font-size:16px}.all-finished p{color:var(--text);margin:0 0 12px;font-weight:600}.all-finished .actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.layout{flex:1;grid-template-columns:minmax(0,1.25fr) minmax(420px,1fr);min-height:0;display:grid}.main{min-height:0;padding:12px 16px;overflow:auto}.app>.main{flex:1}.main.narrow{padding-bottom:80px}.side{border-left:1px solid var(--line);background:var(--side);min-height:0;padding:12px 16px;overflow:auto}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:10px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.bottom-nav{background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:20;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{min-height:56px;color:var(--muted);background:0 0;border:none;border-radius:0;flex-direction:column;align-items:center;gap:2px;padding:8px 0;display:flex;position:relative}.bottom-nav button.active{color:var(--accent)}.bottom-nav .icon{font-size:18px}.bottom-nav .badge{color:#fff;background:#ef4444;border-radius:10px;padding:0 6px;font-size:11px;position:absolute;top:4px;left:calc(50% + 8px)}.overlay{background:var(--bg);z-index:25;padding:12px 16px 90px;position:fixed;inset:0;overflow:auto}.toast{background:var(--banner-bg);color:var(--banner-text);border:1px solid var(--banner-line);border-radius:var(--radius);z-index:50;max-width:90vw;box-shadow:0 8px 24px var(--shadow);padding:10px 16px;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.toast.error{color:#fff;background:#7f1d1d;border-color:#ef4444}.gate{background:var(--bg);place-items:center;min-height:100%;padding:24px 16px;display:grid}.gate-card{background:var(--panel);border:1px solid var(--line);width:min(380px,100%);box-shadow:0 20px 48px var(--shadow);border-radius:16px;flex-direction:column;gap:14px;padding:28px;display:flex}.gate-card.wide{width:min(720px,100%)}.gate-card h2,.gate-card p{margin:0}.gate-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.gate-card input{color:var(--text)}.gate-card button[type=submit]{min-height:42px}.gate-error{color:var(--risk-ink);background:color-mix(in srgb, var(--risk) 15%, transparent);border-radius:8px;padding:8px 10px;font-size:13px}.logo.big{font-size:26px}.logo.big span{color:var(--accent)}.airlines{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.airline{text-align:left;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;min-height:130px;padding:18px;transition:transform .15s;display:flex}.airline:hover{transform:translateY(-2px)}.airline-code{letter-spacing:-.02em;font-size:30px;font-weight:800}.airline-name{font-size:15px;font-weight:700}.airline .muted{color:inherit;opacity:.75}.airline.a-thy{color:#fff;background:#c8102e}.airline.a-pegasus{color:#161616;background:#fc0}.airline.a-lufthansa{color:#fff;background:#05164d}.airline.a-lufthansa .airline-code{color:#ffad00}.airline:hover:not(:disabled){border-color:var(--text)}.airline-badge{opacity:.85;border:1px solid;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.airline-menu{position:relative}button.airline-badge{color:inherit;cursor:pointer;background:0 0;min-height:0;line-height:1.4}button.airline-badge[aria-expanded=true]{opacity:1}.airline-menu-list{z-index:31;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px var(--shadow);gap:4px;min-width:240px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:calc(100% + 6px);left:0}.airline-menu-list button{text-align:left;background:0 0;border-color:#0000;grid-template-columns:16px 30px 1fr auto;align-items:center;gap:8px;width:100%;padding:8px 10px;display:grid}.airline-menu-list button:hover{border-color:var(--line)}.airline-menu-list button.active{border-color:var(--accent)}.airline-menu-list .check-mark{color:var(--accent);font-weight:700}.airline-menu-list .airline-code{letter-spacing:0;font-size:14px;font-weight:800}.airline-menu-list .airline-name{font-size:14px;font-weight:600}.session{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session span{flex-basis:100%}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.filters input[type=search]{flex:200px}.seg-control{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.seg-control button{background:var(--panel);border:none;border-radius:0}.seg-control button.active{background:var(--primary);color:var(--primary-text)}.flight-head,.flight-row{grid-template-columns:64px minmax(120px,1.2fr) 56px minmax(100px,1fr) minmax(110px,1.3fr) minmax(110px,1.3fr);align-items:center;gap:8px;display:grid}.flight-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 12px 6px;font-size:11px}.flight-list{flex-direction:column;gap:4px;display:flex}.flight-row{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:52px;padding:8px 12px}.flight-row.has-issues{border-left:3px solid var(--risk)}.flight-row.selected{border-color:var(--accent);background:var(--selected)}.c-time{font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.c-time s{color:var(--muted);font-size:12px}.leg-time{align-items:baseline;gap:4px;display:flex}.c-flight{flex-wrap:wrap;align-items:baseline;gap:2px 8px;display:flex}.leg{flex-basis:100%;align-items:baseline;gap:6px;min-width:0;display:flex}.leg.other{opacity:.7}.c-status{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.na{color:var(--line)}.dir{font-weight:800}.dir.ARR{color:var(--arr)}.dir.DEP{color:var(--dep)}.status{background:var(--panel-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.s-DELAYED{color:var(--tight-ink);border-color:var(--tight)}.s-APPROACH{color:var(--arr)}.s-LANDED{color:var(--muted)}.s-BOARDING{color:var(--accent);border-color:var(--accent)}.s-GATE_CLOSED{color:var(--missed-ink);border-color:var(--missed)}.s-DEPARTED{color:var(--muted);opacity:.7}.delay{color:var(--tight-ink);font-size:12px;font-weight:600}.delay.big{color:var(--risk-ink)}.zone-tag{background:var(--panel-2);border-left:3px solid;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700}.z-A{border-color:#3b82f6}.z-B{border-color:#06b6d4}.z-D{border-color:#8b5cf6}.z-F{border-color:#ec4899}.z-G{border-color:#f59e0b}.z-R{border-color:#64748b}.riskbar{grid-template-columns:auto auto 1fr;align-items:center;gap:2px 6px;font-size:12px;display:grid}.riskbar.empty{color:var(--muted);display:block}.rb-label{color:var(--muted);font-size:11px}.rb-total{font-variant-numeric:tabular-nums;font-weight:700}.rb-bar{background:var(--panel-2);border-radius:4px;min-width:60px;height:8px;display:flex;overflow:hidden}.rb-flags{grid-column:1/-1;gap:4px;display:flex}.rb-flags:empty{display:none}.flag{border-radius:6px;padding:0 6px;font-size:11px;font-weight:700}.seg{height:100%;display:block}.seg.r-OK{background:var(--ok)}.seg.r-TIGHT{background:var(--tight)}.seg.r-CAR_SAVABLE{background:var(--car)}.seg.r-AT_RISK{background:var(--risk)}.seg.r-MISSED{background:var(--missed)}.seg.r-DONE{background:var(--done)}.chip{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.chip.r-OK,.flag.r-OK{background:color-mix(in srgb, var(--ok) 22%, transparent);color:var(--ok-ink)}.chip.r-TIGHT,.flag.r-TIGHT{background:color-mix(in srgb, var(--tight) 22%, transparent);color:var(--tight-ink)}.chip.r-CAR_SAVABLE,.flag.r-CAR_SAVABLE{background:color-mix(in srgb, var(--car) 24%, transparent);color:var(--car-ink)}.chip.r-AT_RISK,.flag.r-AT_RISK{background:color-mix(in srgb, var(--risk) 24%, transparent);color:var(--risk-ink)}.chip.r-MISSED,.flag.r-MISSED{background:color-mix(in srgb, var(--missed) 26%, transparent);color:var(--missed-ink)}.chip.r-DONE{background:color-mix(in srgb, var(--done) 25%, transparent);color:var(--done-ink)}.chip.mission{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--text)}.chip.pending{background:var(--panel-2);color:var(--muted)}.detail{flex-direction:column;gap:10px;display:flex}.detail-head{align-items:flex-start;gap:8px;display:flex}.detail-head .back{font-size:20px}.detail-head h2{margin:0 0 6px;font-size:20px}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:4px;font-size:13px;display:flex}.detail-leg{border-top:1px solid var(--line);padding:8px 0 4px}.leg-title{white-space:nowrap}.detail-actions,.select-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.select-bar{gap:12px;font-size:13px}.summary-bars{max-width:380px}.pax-list{flex-direction:column;gap:4px;padding-bottom:70px;display:flex}.pax-row{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:8px;grid-template-columns:20px minmax(130px,1.4fr) minmax(120px,1.2fr) 80px 46px minmax(110px,1fr);align-items:center;gap:8px;padding:8px 10px;display:grid}.pax-row.selected{border-color:var(--accent);background:var(--selected)}.p-name,.p-flight{flex-direction:column;min-width:0;display:flex}.p-name b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.p-slack{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.p-slack.neg{color:var(--risk-ink)}.p-risk{flex-wrap:wrap;gap:4px;display:flex}.ssr{background:var(--ssr-bg);color:var(--ssr-ink);border-radius:4px;margin-left:6px;padding:0 5px;font-size:10px}.ssr.re{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text)}.action-bar{background:var(--selected);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 8px 24px var(--shadow);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;bottom:8px}.map-panel h3{margin:16px 0 8px;font-size:14px}.zone-map{background:var(--map-bg);border-radius:var(--radius);border:1px solid var(--line);width:100%;height:auto}.zone{fill:var(--zone-fill);stroke-width:2px}.zone-label{font-size:15px;font-weight:700}.hub{fill:var(--hub-fill);stroke:var(--accent);stroke-width:2px}.hub-label{fill:var(--hub-text);text-anchor:middle;font-size:13px;font-weight:700}.hub-line{stroke:var(--hub-line);stroke-width:6px;stroke-linecap:round}.stand-box{fill:var(--stand-fill);stroke:var(--stand-line);stroke-width:1.5px}.stand-box.occupied{fill:var(--stand-occupied)}.stand-box.sel{stroke-width:4px;stroke:var(--accent)!important}.stand-box.rf-OK{stroke:var(--ok)}.stand-box.rf-TIGHT{stroke:var(--tight)}.stand-box.rf-CAR_SAVABLE{stroke:var(--car);stroke-width:3px}.stand-box.rf-AT_RISK{stroke:var(--risk);stroke-width:3px}.stand-box.rf-MISSED{stroke:var(--missed);stroke-width:3px}.stand-id{fill:var(--muted);text-anchor:middle;font-size:11px;font-weight:700}.stand-flight{fill:var(--text);text-anchor:middle;font-size:10px}.stand-time{fill:var(--muted);text-anchor:middle;font-size:9px}.mission-line{stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:6 5}.conn{cursor:pointer}.conn-line{fill:none;stroke-width:4px;stroke-linecap:round}.conn-line.in{stroke-dasharray:10 7}.conn-badge{fill:var(--panel);stroke-width:3px}.conn-count{fill:var(--text);text-anchor:middle;font-size:15px;font-weight:800}.conn-line.r-OK{stroke:var(--ok)}.conn-head.r-OK{fill:var(--ok)}.conn-badge.r-OK{stroke:var(--ok)}.conn-line.r-TIGHT{stroke:var(--tight)}.conn-head.r-TIGHT{fill:var(--tight)}.conn-badge.r-TIGHT{stroke:var(--tight)}.conn-line.r-CAR_SAVABLE{stroke:var(--car)}.conn-head.r-CAR_SAVABLE{fill:var(--car)}.conn-badge.r-CAR_SAVABLE{stroke:var(--car)}.conn-line.r-AT_RISK{stroke:var(--risk)}.conn-head.r-AT_RISK{fill:var(--risk)}.conn-badge.r-AT_RISK{stroke:var(--risk)}.conn-line.r-MISSED{stroke:var(--missed)}.conn-head.r-MISSED{fill:var(--missed)}.conn-badge.r-MISSED{stroke:var(--missed)}.conn-line.r-DONE{stroke:var(--done)}.conn-head.r-DONE{fill:var(--done)}.conn-badge.r-DONE{stroke:var(--done)}.legend .lnk{border-top:3px solid var(--muted);vertical-align:middle;width:22px;display:inline-block}.legend .lnk.in{border-top-style:dashed}.conn-list{flex-direction:column;gap:4px;margin-top:10px;display:flex}.conn-item{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.conn-item .chip{margin-left:auto}.vehicle{transition:transform .9s linear}.vehicle circle{stroke:var(--map-bg);stroke-width:2px}.vehicle-label{text-anchor:middle;fill:#0b1220;font-size:9px;font-weight:800}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;display:flex}.legend .sw{vertical-align:middle;border:2px solid;border-radius:3px;width:14px;height:10px;display:inline-block}.sw.rf-OK{border-color:var(--ok)}.sw.rf-TIGHT{border-color:var(--tight)}.sw.rf-CAR_SAVABLE{border-color:var(--car)}.sw.rf-AT_RISK{border-color:var(--risk)}.sw.rf-MISSED{border-color:var(--missed)}.legend .dotv{vertical-align:middle;border-radius:50%;width:10px;height:10px;display:inline-block}.matrix-wrap{overflow-x:auto}.matrix{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:12px}.matrix th,.matrix td{border:1px solid var(--line);text-align:center;padding:4px 8px}.matrix td{cursor:pointer}.matrix td:hover{background:var(--panel-2)}.matrix td.far{color:var(--risk-ink)}.matrix td.editing{outline:2px solid var(--accent);outline-offset:-2px}.matrix-edit{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding:10px;display:flex}.matrix-edit input{width:70px}.tasks{flex-direction:column;gap:10px;display:flex}.task-card{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:12px}.task-card.t-holdDecision{border-left-color:var(--tight)}.task-card.t-pickup{border-left-color:var(--car)}.task-card.t-noVehicle,.task-card.t-manualHandling{border-left-color:var(--risk)}.task-card.t-slaEscalation{border-left-color:var(--missed)}.task-card.focused{border-color:var(--accent);animation:2.4s ease-out task-focus}@keyframes task-focus{0%{background:var(--selected);box-shadow:0 0 0 3px var(--accent)}to{box-shadow:0 0 #0000}}.sla-line{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;display:flex}.sla-badge{font-variant-numeric:tabular-nums;border:1px solid;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.sla-badge.sla-ok{color:var(--ok-ink)}.sla-badge.sla-warn{color:var(--tight-ink)}.sla-badge.sla-breach{color:var(--risk-ink);background:color-mix(in srgb, var(--risk) 18%, transparent)}.sla-money{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.task-card header{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.task-name{font-weight:700}.task-card p{margin:8px 0;line-height:1.45}.task-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.task-actions .camunda-link{margin-left:auto}a.camunda-link{color:var(--accent);white-space:nowrap;text-decoration:none}a.camunda-link:hover{text-decoration:underline}a.camunda-link.button{border:1px solid var(--line);background:0 0;border-radius:8px;align-items:center;min-height:34px;padding:6px 12px;display:inline-flex}a.camunda-link.button:hover{border-color:var(--accent);text-decoration:none}a.camunda-link.chip{border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.options{flex-direction:column;gap:4px;display:flex}.option{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex}.option.selected{border-color:var(--accent);background:var(--selected)}.events{flex-direction:column;display:flex}.event{border-bottom:1px solid var(--line);grid-template-columns:44px 72px 1fr;align-items:baseline;gap:8px;padding:6px 0;font-size:13px;display:grid}.etype{background:var(--panel-2);text-align:center;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.e-DELAY{color:var(--tight-ink)}.e-MISSED{color:var(--missed-ink)}.e-PICKUP{color:var(--car-ink)}.e-REBOOK{color:var(--accent)}.e-LANDED{color:var(--arr)}.e-SLA{color:var(--risk-ink)}.e-GATE{color:var(--missed-ink)}.e-CAR{color:var(--car-ink)}.event .msg{color:var(--text)}.view-switch{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;gap:2px;padding:2px;display:flex}.view-switch button{min-height:0;color:var(--muted);background:0 0;border:none;border-radius:7px;padding:5px 12px}.view-switch button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px var(--shadow);font-weight:600}.dashboard{flex-direction:column;gap:10px;max-width:1400px;margin:0 auto;display:flex}.dash-since{margin:0}.dash-h{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:6px 0 0;font-size:12px;font-weight:600}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.dash-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:left;color:inherit;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}button.dash-tile{cursor:pointer;min-height:0}.dash-tile.clickable:hover{border-color:var(--accent)}.dash-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.dash-value{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;line-height:1.2}.dash-sub{color:var(--muted);font-size:12px;line-height:1.35}.dash-tile.ok .dash-value{color:var(--ok-ink)}.dash-tile.tight .dash-value{color:var(--tight-ink)}.dash-tile.car .dash-value{color:var(--car-ink)}.dash-tile.missed .dash-value{color:var(--missed-ink)}.meter{background:var(--panel-2);border-radius:3px;height:6px;margin:4px 0;display:block;overflow:hidden}.meter>span{background:var(--accent);border-radius:3px;height:100%;display:block}.dash-charts,.dash-lists{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:10px;margin-top:6px;display:grid}.dash-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:10px 12px}.dash-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.dash-card h3{margin:0;font-size:14px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.legend b{color:var(--text);font-variant-numeric:tabular-nums}.legend i,.chart-tip i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.chart-box{width:100%;min-height:170px;position:relative}.chart-box svg{touch-action:pan-y;display:block}.chart-box .grid{stroke:var(--line);stroke-width:1px}.chart-box .grid.zero{stroke:var(--muted)}.chart-box .axis{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-box .crosshair{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.chart-box .end-dot{stroke:var(--panel);stroke-width:2px}.chart-tip{pointer-events:none;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 18px var(--shadow);z-index:2;border-radius:8px;min-width:150px;padding:6px 10px;font-size:12px;position:absolute;top:6px}.chart-tip div{color:var(--muted);align-items:center;display:flex}.chart-tip span{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px;font-weight:600}.bars{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bars li{grid-template-columns:minmax(0,1.3fr) minmax(60px,2fr) auto;align-items:center;gap:8px;font-size:13px;display:grid}.bar-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar-track{background:var(--panel-2);border-radius:4px;gap:2px;height:10px;display:flex;overflow:hidden}.bar-fill{background:var(--accent);border-radius:4px;height:100%;display:block}.bar-fill.risk{background:var(--risk)}.bar-fill.missed{background:var(--missed)}.bar-fill.ok{background:var(--ok)}.bar-value{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:40px}.dash-work{grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:10px;display:grid}.dash-table{flex-direction:column;max-height:380px;font-size:13px;display:flex;overflow-y:auto}.dt-head,.dt-row{align-items:center;gap:8px;padding:6px 4px;display:grid}.dt-head{z-index:1;background:var(--panel);border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;position:sticky;top:0}.dt-row{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.dt-row:last-child{border-bottom:none}.dt-row>span{min-width:0}.dt-row.clickable{cursor:pointer}.dt-row.clickable:hover,.dt-row.clickable:focus-visible{background:var(--selected);outline:none}.dt-row.pending{background:color-mix(in srgb, var(--tight) 9%, transparent)}.dt-link{justify-self:end}.dt-row .sla-line{margin-top:0}.task-table .dt-head,.task-table .dt-row{grid-template-columns:minmax(0,1.7fr) 70px 58px 58px 64px minmax(0,1.4fr) auto}.reaccom-table .dt-head,.reaccom-table .dt-row{grid-template-columns:46px 58px minmax(0,2fr) 58px minmax(0,1.3fr) auto}.tc-name{text-overflow:ellipsis;overflow:hidden}.dt-row.t-slaEscalation .tc-name{color:var(--missed-ink);font-weight:600}.rc-sub{display:block}.rc-mode{flex-wrap:wrap;gap:4px;display:flex}.chip.pending-chip{background:color-mix(in srgb, var(--tight) 24%, transparent);color:var(--tight-ink)}.chip.mode-manual{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--text)}.chip.mode-workflow{background:color-mix(in srgb, var(--dep) 22%, transparent);color:var(--text)}.chip.mode-auto{background:color-mix(in srgb, var(--car) 24%, transparent);color:var(--car-ink)}.dash-money{flex-direction:column;gap:10px;display:flex}.dash-money .dash-lists{margin-top:0}.dash-h-note{text-transform:none;letter-spacing:0;font-weight:400}.amt{font-variant-numeric:tabular-nums;white-space:nowrap}.amt.pos{color:var(--ok-ink)}.amt.neg{color:var(--missed-ink)}.dash-table .num{text-align:right;justify-self:end}.mt-task .dt-head,.mt-task .dt-row{grid-template-columns:minmax(0,2fr) 32px repeat(3,minmax(52px,1fr))}.mt-cat .dt-head,.mt-cat .dt-row{grid-template-columns:minmax(0,2fr) 32px minmax(64px,1fr) minmax(64px,1fr)}.mt-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mt-group{background:var(--panel-2);font-size:12px}.mt-total{border-top:1px solid var(--line)}.money-log .dt-head,.money-log .dt-row{grid-template-columns:46px minmax(0,2fr) 64px 70px auto}.tabs .tab-temp{align-items:stretch;margin-left:auto;display:inline-flex}.tabs .tab-temp.active{border-bottom:2px solid var(--accent)}.tabs .tab-temp.active button{border-bottom-color:#0000}.tabs .tab-close{color:var(--muted);padding:4px 8px}.tabs .tab-close:hover{color:var(--text)}.overlay.sheet .detail-head{align-items:center;margin-bottom:6px}.overlay.sheet .detail-head h2{margin:0}.drill-sub{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-bottom:8px;display:flex}.drill-h{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;font-size:13px}.dash-table.fill{max-height:none;overflow:visible}.pk-row{border-bottom:1px solid var(--line);cursor:pointer;font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;padding:8px 6px;font-size:13px;display:flex}.pk-row:hover,.pk-row:focus-visible{background:var(--selected);outline:none}.pk-row.closed{opacity:.8}.pk-line{flex-wrap:wrap;align-items:center;gap:4px 12px;min-width:0;display:flex}.pk-car{font-weight:600}.pk-flight,.pk-link{margin-left:auto}.pk-ok{color:var(--ok-ink)}.pk-late{color:var(--risk-ink)}.pk-row .sla-line{margin-top:0}.chip.pk-requested{background:color-mix(in srgb, var(--tight) 24%, transparent);color:var(--tight-ink)}.chip.pk-en-route,.chip.pk-at-pickup{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--text)}.chip.pk-delivering{background:color-mix(in srgb, var(--car) 24%, transparent);color:var(--car-ink)}.chip.pk-delivered{background:color-mix(in srgb, var(--ok) 22%, transparent);color:var(--ok-ink)}.chip.pk-cancelled{background:var(--panel-2);color:var(--muted)}.chip.pk-expired,.chip.pk-failed{background:color-mix(in srgb, var(--risk) 22%, transparent);color:var(--risk-ink)}.mission-line.hl{stroke-width:4.5px;stroke-dasharray:none}.vehicle-ring{fill:none;stroke:var(--accent);stroke-width:3px;animation:1.2s ease-in-out infinite ring-pulse}@keyframes ring-pulse{50%{stroke-opacity:.35}}@media (width>=721px) and (width<=1399px){.kpis{grid-template-columns:repeat(6,minmax(0,1fr));display:grid;overflow-x:visible}.kpi{min-width:0;padding:7px 10px}.kpi .label{white-space:normal;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;line-height:1.2}.header{gap:12px}.sim-bar{gap:8px}.speed-seg{display:none}.speed-select{color:var(--text);font-variant-numeric:tabular-nums;min-height:32px;padding:4px 8px;display:block}.clock small{display:none}}@media (width>=721px) and (width<=1099px){.t-label{display:none}.transport button,.transport button.play{justify-content:center;min-width:40px;padding:4px 8px}.clock{font-size:19px}.clock-date{font-size:12px}}@media (width>=1000px) and (width<=1399px){.kpis{grid-template-columns:repeat(11,minmax(0,1fr));gap:6px}.kpi .value{font-size:18px}.kpi .label{letter-spacing:.02em;font-size:10px}}@media (width<=1099px){.flight-head{display:none}.flight-row{grid-template-columns:58px 1fr 1fr auto;grid-template-areas:"time flight flight stand""time status status status""in in out out";row-gap:6px}.c-time{grid-area:time;align-self:start}.c-flight{grid-area:flight}.c-stand{grid-area:stand;align-self:start}.c-status{grid-area:status}.c-in{grid-area:in}.c-out{grid-area:out}}@media (width<=720px){.flight-row{grid-template-columns:54px 1fr 1fr auto;grid-template-areas:"time flight flight stand""time flight flight status""in in out out";padding:10px 12px}.leg-time{flex-wrap:wrap;column-gap:3px}.leg-time s{font-size:11px}.c-status{flex-direction:column;align-self:end;align-items:flex-end;gap:4px}.c-status .status{font-size:10px}.header{gap:10px;padding:8px 12px}.clock{gap:5px;font-size:18px}.clock-date{font-size:11px}.sim-bar{order:2;justify-content:space-between;width:100%}.sim-bar .clock{margin-right:auto}.transport button,.transport button.play{justify-content:center;min-width:44px;min-height:34px;padding:4px 8px}.t-label,.speed-seg{display:none}.speed-select{color:var(--text);font-variant-numeric:tabular-nums;min-height:34px;padding:4px 8px;display:block}.kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:6px 12px;display:grid;overflow-x:visible}.kpi{min-width:0;padding:4px 6px}.kpi.phone-hidden{display:none}.kpi .value{font-size:16px;line-height:1.2}.kpi .label{letter-spacing:0;text-transform:none;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.l-full{display:none}.l-short{display:inline}.filters{gap:8px 10px}.filters input[type=search]{flex-basis:100%}.filters .seg-control button{padding:5px 8px}.filters .check{gap:4px;font-size:13px}.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-value{font-size:21px}.bottom-nav button{font-size:12px}.main.narrow{padding:10px 12px 80px}.controls-body{left:12px;right:12px}.pax-row{grid-template-columns:20px 1fr auto;grid-template-areas:"cb name slack""cb flight travel""cb risk risk"}.pax-row>input{grid-area:cb}.p-name{grid-area:name}.p-flight{grid-area:flight}.p-travel{text-align:right;grid-area:travel}.p-slack{grid-area:slack}.p-risk{grid-area:risk}.event{grid-template-columns:40px 64px 1fr}.dash-table{max-height:none}.dash-table .dt-head{display:none}.dash-table .dt-row{flex-wrap:wrap;gap:4px 12px;padding:8px 2px;display:flex}.tc-name,.rc-flights{flex-basis:100%}.tc-name{order:-1;font-weight:600}.rc-time{font-weight:600}.tc-group:before{content:"Group ";color:var(--muted)}.rc-wait:before{content:"waited ";color:var(--muted)}.dt-link{margin-left:auto}.dash-table.money-table .dt-head{display:grid}.dash-table.money-table .dt-row{gap:6px;padding:6px 2px;display:grid}.ml-event{flex-basis:100%;order:-1}.ml-time{font-weight:600}}@media (width<=400px){.clock small{display:none}}
