:root{--sky-50:#edf6ff;--sky-100:#d8ecfe;--sky-200:#aed5fd;--sky-400:#3b99f4;--sky-500:#1a7dc4;--sky-600:#1470b0;--forest-50:#e8f5ef;--forest-100:#c8e9d8;--forest-500:#0f6b4f;--forest-600:#0b5c43;--forest-700:#084d38;--amber-50:#fff7e8;--amber-100:#feecc8;--amber-500:#c97800;--amber-600:#b06800;--earth-50:#faf8f4;--earth-100:#f2ede3;--earth-200:#e6dece;--earth-300:#d4c9b4;--graphite-900:#141a18;--graphite-800:#1f2725;--graphite-700:#333d3a;--graphite-600:#4a5552;--graphite-500:#6b7672;--graphite-400:#8e9895;--graphite-200:#ccd2d0;--graphite-100:#e6e9e8;--graphite-50:#f6f7f6;--red-50:#fff0f0;--red-100:#fbd8d3;--red-500:#c0392b;--red-600:#a32e22;--violet-50:#f3ecff;--violet-100:#e4d8fb;--violet-600:#6d28d9;--color-bg:var(--earth-50);--color-surface:#ffffff;--color-text:var(--graphite-900);--color-text-mid:var(--graphite-700);--color-muted:var(--graphite-500);--color-border:var(--graphite-100);--color-border-mid:var(--graphite-200);--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-xl:22px;--r-full:9999px;--shadow-sm:0 1px 2px rgba(20,26,24,.06),0 1px 3px rgba(20,26,24,.08);--shadow-md:0 2px 6px rgba(20,26,24,.07),0 4px 12px rgba(20,26,24,.07);--shadow-lg:0 8px 28px rgba(20,26,24,.14);--dur-fast:.12s;--dur-normal:.22s;--dur-slow:.38s;--ease-out:cubic-bezier(.16,1,.3,1);--font-ui:"Assistant","Heebo","Rubik",system-ui,-apple-system,"Segoe UI",sans-serif;--st-queue-ink:#6f6045;--st-queue-stripe:#cbbfa8;--st-queue-bg:#fbf9f5;--st-queue-head:#f2ede3;--st-tow-ink:#8a5200;--st-tow-stripe:#c97800;--st-tow-bg:#fffaf0;--st-tow-head:#feecc8;--st-air-ink:#0f5b91;--st-air-stripe:#1a7dc4;--st-air-bg:#f4faff;--st-air-head:#d8ecfe;--st-land-ink:#0b5c43;--st-land-stripe:#0f6b4f;--st-land-bg:#f3faf6;--st-land-head:#c8e9d8}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.4}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:inherit}.iso{unicode-bidi:isolate}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.board{display:flex;flex-direction:column;gap:var(--sp-3)}.hlane{display:grid;grid-template-columns:104px 1fr;background:var(--color-surface);border:1px solid var(--color-border-mid);border-radius:var(--r-lg);overflow:hidden}.hlane-rail{padding:var(--sp-3) 10px var(--sp-2);display:flex;flex-direction:column;gap:3px;border-inline-end:1px solid rgba(0,0,0,.07)}.rail-name{font-size:20px;font-weight:800;letter-spacing:-.025em;line-height:1.1}.rail-count{font-size:34px;font-weight:800;line-height:1;letter-spacing:-.03em;margin-top:2px;font-variant-numeric:tabular-nums;unicode-bidi:isolate}.rail-spacer{flex:1}.rail-act{border:1px dashed var(--color-border-mid);background:transparent;border-radius:var(--r-sm);padding:4px 6px;font-size:10.5px;font-weight:700;color:var(--color-muted);margin-top:var(--sp-2)}.rail-act:hover{background:var(--graphite-50);color:var(--color-text-mid)}.hlane[data-st=Draft] .hlane-rail{background:var(--st-queue-head)}.hlane[data-st=Draft] .rail-name,.hlane[data-st=Draft] .rail-count{color:var(--st-queue-ink)}.hlane[data-st=Tow] .hlane-rail{background:var(--st-tow-head)}.hlane[data-st=Tow] .rail-name,.hlane[data-st=Tow] .rail-count{color:var(--st-tow-ink)}.hlane[data-st=Inflight] .hlane-rail{background:var(--st-air-head)}.hlane[data-st=Inflight] .rail-name,.hlane[data-st=Inflight] .rail-count{color:var(--st-air-ink)}.hlane[data-st=Landed] .hlane-rail{background:var(--st-land-head)}.hlane[data-st=Landed] .rail-name,.hlane[data-st=Landed] .rail-count{color:var(--st-land-ink)}.field{padding:var(--sp-2);display:flex;flex-wrap:wrap;gap:var(--sp-2);align-content:flex-start;min-height:92px}.hlane[data-st=Draft] .card{flex:0 0 232px}.hlane[data-st=Inflight] .card{flex:0 0 208px}.hlane[data-st=Landed] .card{flex:0 0 176px}.towdeck{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--sp-3)}.towbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:100%;background:var(--st-tow-bg);border:1.5px solid var(--st-tow-stripe);border-radius:var(--r-md);padding:7px 10px}.tb-side{display:flex;align-items:center;gap:9px;min-width:0}.tb-side.end{justify-content:flex-end}.tb-info{border:0;background:transparent;padding:0;margin:0;font:inherit;color:inherit;text-align:start;cursor:pointer;border-radius:var(--r-sm);width:100%;align-self:stretch}.tb-info:hover{background:#0000000b;box-shadow:0 0 0 4px #0000000b}.tb-info:focus-visible{outline:2px solid var(--st-tow-ink);outline-offset:3px}.tb-pen{flex:0 0 auto;font-size:12.5px;color:var(--st-tow-ink);opacity:.28;transition:opacity var(--dur-fast)}.tb-info:hover .tb-pen,.tb-info:focus-visible .tb-pen{opacity:.95}@media(pointer:coarse){.tb-pen{opacity:.5}}.tb-stack{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;min-width:0;overflow:hidden}.tb-stack .k{font-size:13px;font-weight:800;letter-spacing:.03em;unicode-bidi:isolate;color:var(--st-tow-ink);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tb-stack .nm{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(122px,100%)}.tb-stack .lb{font-size:9.5px;font-weight:800;letter-spacing:.04em;color:var(--color-muted);white-space:nowrap;margin-top:1px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tb-stack .lb.r-instr{color:var(--forest-600)}.tb-stack .lb.r-student{color:var(--color-muted)}.tb-stack .lb.r-guest{color:var(--violet-600)}.tb-stack .lb.r-check{color:var(--sky-600)}.tb-stack .lb.r-pilot{color:var(--color-muted)}.tb-cs{font-size:25px;font-weight:800;letter-spacing:.045em;line-height:1;unicode-bidi:isolate;flex:0 0 auto}.tb-crew{display:flex;align-items:flex-start;gap:10px;min-width:0;overflow:hidden}.tb-crew .tb-stack{flex:1 1 auto;min-width:62px}.tb-tug{flex:0 0 auto}.tb-timer{flex:0 0 auto;font-size:23px;font-weight:800;letter-spacing:-.02em;unicode-bidi:isolate;font-variant-numeric:tabular-nums;color:var(--st-tow-ink);text-align:center;line-height:1;min-width:62px}.tb-timer small{display:block;font-size:8.5px;font-weight:700;letter-spacing:.04em;opacity:.6;margin-top:2px}.practice{flex:0 0 auto;border:1.5px dashed var(--color-border-mid);background:#fff;border-radius:var(--r-full);padding:5px 11px;font-size:11.5px;font-weight:700;color:var(--color-muted);white-space:nowrap;line-height:1.2}.practice:hover{border-color:var(--violet-600);color:var(--violet-600)}.practice[aria-pressed=true]{border-style:solid;background:var(--violet-600);border-color:var(--violet-600);color:#fff;font-weight:800}.practice .plus{font-size:9.5px;opacity:.8;margin-inline-start:4px}.tb-alert{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:var(--amber-600);color:#fff;border:0;border-radius:3px;padding:6px 9px;font-size:11.5px;font-weight:800;letter-spacing:.01em;line-height:1.15;animation:alertring 1s ease-in-out infinite}.tb-alert .bang{display:grid;place-items:center;width:15px;height:15px;border-radius:2px;background:#ffffff40;font-size:10px;line-height:1}.towbar.alarm .tb-alert{background:var(--red-500);animation:alertring-hot .75s ease-in-out infinite}@keyframes alertring{0%,to{box-shadow:0 0 #c978008c}70%{box-shadow:0 0 0 6px #c9780000}}@keyframes alertring-hot{0%,to{box-shadow:0 0 #c0392b99}70%{box-shadow:0 0 0 7px #c0392b00}}@media(prefers-reduced-motion:reduce){.tb-alert{animation:none;box-shadow:0 0 0 3px #c9780059}.towbar.alarm .tb-alert{animation:none;box-shadow:0 0 0 3px #c0392b66}}.tb-alts{display:flex;gap:3px;align-items:stretch;justify-content:center;position:relative}.altbtn{border:1.5px solid var(--st-tow-stripe);background:#fff;border-radius:var(--r-sm);padding:8px 12px;font-weight:800;line-height:1;color:var(--st-tow-ink);display:flex;align-items:center;justify-content:center;gap:5px;min-width:68px}.altbtn:hover{background:var(--st-tow-ink);border-color:var(--st-tow-ink);color:#fff}.altbtn .n{font-size:23px;letter-spacing:-.02em;unicode-bidi:isolate;font-variant-numeric:tabular-nums}.altbtn .pre{font-size:13px;font-weight:700;opacity:.62}.altbtn.more{min-width:58px;border-style:dashed}.altbtn.more .n{font-size:16px;letter-spacing:0}.moremenu{position:absolute;top:calc(100% + 6px);inset-inline-end:0;z-index:40;background:#fff;border:1.5px solid var(--st-tow-stripe);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:8px;min-width:250px}.mm-sec{font-size:10px;font-weight:800;letter-spacing:.05em;color:var(--color-muted);padding:2px 2px 5px}.mm-sec+.mm-sec,.mm-wide+.mm-sec{padding-top:9px;margin-top:7px;border-top:1px solid var(--color-border)}.mm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.mm-grid button{border:1.5px solid var(--color-border-mid);background:#fff;border-radius:var(--r-sm);padding:9px 4px;font-size:14px;font-weight:800;unicode-bidi:isolate;font-variant-numeric:tabular-nums}.mm-grid button:hover{border-color:var(--st-tow-ink);background:var(--amber-50)}.mm-wide{display:block;width:100%;margin-top:5px;border:1.5px dashed var(--color-border-mid);background:#fff;border-radius:var(--r-sm);padding:9px 10px;font-size:13px;font-weight:700;color:var(--color-text-mid);text-align:start}.mm-wide:hover{border-color:var(--graphite-400);background:var(--graphite-50)}.mm-wide.back{border-style:solid;border-color:var(--st-queue-stripe);color:var(--st-queue-ink);background:var(--st-queue-bg)}.mm-wide.back:hover{background:var(--earth-200)}.towbar.warn{background:var(--amber-50);animation:towwarn 1.5s ease-in-out infinite}.towbar.warn .tb-timer{color:var(--amber-600)}.towbar.alarm{border-color:var(--red-500);background:var(--red-50);animation:towalarm .9s ease-in-out infinite}.towbar.alarm .tb-timer,.towbar.alarm .tb-cs{color:var(--red-500)}.towbar.alarm .altbtn{border-color:var(--red-500);color:var(--red-600)}.towbar.alarm .altbtn:hover{background:var(--red-500);border-color:var(--red-500);color:#fff}@keyframes towwarn{0%,to{box-shadow:0 0 #c9780000}50%{box-shadow:0 0 0 4px #c9780038}}@keyframes towalarm{0%,to{box-shadow:0 0 #c0392b00}50%{box-shadow:0 0 0 5px #c0392b52}}@media(prefers-reduced-motion:reduce){.towbar.warn,.towbar.alarm{animation:none}.towbar.warn{box-shadow:0 0 0 3px #c978004d}.towbar.alarm{box-shadow:0 0 0 3px #c0392b66}}.towbar.idle{background:repeating-linear-gradient(135deg,#fffaf0 0 10px,#fff6e4 10px 20px);border-style:dashed;min-height:52px}.towbar .tb-msg{flex:1;font-size:13.5px;font-weight:700;color:var(--st-tow-ink);min-width:0}.towbar .tb-msg em{font-style:normal;font-weight:600;color:var(--color-muted)}.launch{border:0;background:var(--st-tow-ink);color:#fff;border-radius:var(--r-sm);padding:10px 16px;font-size:13.5px;font-weight:800;white-space:nowrap}.launch[disabled]{background:transparent;color:var(--color-muted);border:1px solid var(--color-border-mid);cursor:default;font-weight:700}.launch .csx{unicode-bidi:isolate;letter-spacing:.03em}.towbar.bad{border-color:var(--red-500);border-width:2px;background:var(--red-50)}.tb-bad{flex:0 0 auto;font-size:11px;font-weight:800;color:var(--red-500);white-space:nowrap}.card{position:relative;background:#fff;border:1px solid var(--color-border-mid);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform var(--dur-normal) var(--ease-out),opacity var(--dur-normal),box-shadow var(--dur-fast)}.card:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:6px;z-index:1}.card[data-st=Draft]:before{background:var(--st-queue-stripe)}.card[data-st=Inflight]:before{background:var(--st-air-stripe)}.card[data-st=Landed]:before{background:var(--st-land-stripe)}.card[data-st=Draft]{background:var(--st-queue-bg)}.card[data-st=Inflight]{background:var(--st-air-bg)}.card[data-st=Landed]{background:var(--st-land-bg)}.card-body{padding:8px 10px;padding-inline-start:14px;cursor:pointer;width:100%;border:0;background:transparent;text-align:start;flex:1;position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.card-body:hover{background:#00000008;box-shadow:inset 0 0 0 2px var(--graphite-200)}.card-top{display:flex;align-items:center;gap:7px}.cs{font-size:27px;font-weight:800;letter-spacing:.045em;line-height:1;unicode-bidi:isolate}.pos{flex:0 0 auto;min-width:21px;height:21px;border-radius:var(--r-sm);background:var(--st-queue-ink);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;padding:0 5px;unicode-bidi:isolate}.clock{margin-inline-start:auto;font-size:20px;font-weight:800;line-height:1;letter-spacing:-.02em;color:var(--color-text-mid);unicode-bidi:isolate;font-variant-numeric:tabular-nums;text-align:center}.clock small{display:block;font-size:9px;font-weight:700;letter-spacing:.04em;opacity:.6;margin-top:2px}.card[data-st=Inflight] .clock{color:var(--st-air-ink)}.card.is-long .clock{color:var(--red-500)}.crew{margin-top:6px;display:flex;flex-direction:column;gap:2px}.seat{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;line-height:1.25;min-width:0}.seat .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role{flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.03em;border-radius:3px;padding:1px 5px;line-height:1.5;border:1px solid transparent}.role.r-instr{background:var(--forest-500);color:#fff}.role.r-student{background:#fff;color:var(--forest-600);border-color:var(--forest-100)}.role.r-guest{background:var(--violet-600);color:#fff}.role.r-pilot{background:#fff;color:var(--color-muted);border-color:var(--color-border-mid)}.role.r-check{background:var(--sky-500);color:#fff}.seat.solo .role{display:none}.seat.solo{font-size:14px}.chips{margin-top:6px;display:flex;gap:4px;align-items:center;flex-wrap:wrap}.chip{font-size:10.5px;font-weight:700;border-radius:var(--r-full);padding:2px 7px;background:var(--graphite-100);color:var(--color-text-mid);white-space:nowrap}.chip.t-instr{background:var(--forest-50);color:var(--forest-600)}.chip.t-solo{background:var(--sky-50);color:var(--sky-600)}.chip.t-guest{background:var(--violet-50);color:var(--violet-600)}.chip.t-member{background:var(--amber-50);color:var(--amber-600)}.chip.alt{background:transparent;border:1px solid var(--color-border-mid);color:var(--color-muted);unicode-bidi:isolate}.range{unicode-bidi:isolate;direction:ltr;font-variant-numeric:tabular-nums}.chip.warn{background:var(--red-50);color:var(--red-500)}.chip.pending{background:#fff3ec;border:1px solid #ffcdb2;color:#8a3d10}.chip.practice-chip{background:var(--violet-600);color:#fff}.chip.pay{background:#fff;border:1px solid var(--color-border-mid);color:var(--color-text);font-weight:800;display:inline-flex;align-items:center;gap:4px}.chip.pay .cur{font-weight:800;color:var(--color-muted);font-size:11px}.chip.pay.miss{background:var(--red-50);border-color:var(--red-100);color:var(--red-500)}.chip.pay.miss .cur{color:var(--red-500)}.src{margin-inline-start:auto;font-size:11px;font-weight:800;border-radius:var(--r-sm);padding:1px 6px;border:1px solid var(--color-border-mid);color:var(--color-muted);background:#fff;unicode-bidi:isolate}.src.both{color:var(--forest-600);border-color:var(--forest-100);background:var(--forest-50)}.src.tower{color:var(--sky-600);border-color:var(--sky-200);background:var(--sky-50)}.towline{margin-top:5px;display:flex;align-items:center;gap:5px;min-width:0;font-size:10.5px;line-height:1.3}.towline .tg{flex:0 0 auto;font-weight:800;letter-spacing:.03em;unicode-bidi:isolate;color:var(--color-text-mid);background:var(--graphite-100);border-radius:var(--r-sm);padding:1px 5px}.towline .tp{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--color-muted)}.towline.off .tg{background:var(--amber-50);color:var(--amber-600)}.nm.free,.towline .tp.free{text-decoration:underline dotted;text-underline-offset:2px}.nm.tbd{color:var(--amber-600);font-weight:700}.rail{border-top:1px solid rgba(0,0,0,.07);display:flex}.rail-btn{flex:1;border:0;background:transparent;font-size:14.5px;font-weight:800;letter-spacing:-.01em;padding:11px 8px;display:flex;align-items:center;justify-content:center;gap:7px;transition:background var(--dur-fast)}.card[data-st=Draft] .rail-btn{background:#efe9dc;color:var(--st-queue-ink)}.card[data-st=Draft] .rail-btn:hover{background:var(--earth-200)}.card[data-st=Inflight] .rail-btn{background:var(--sky-100);color:var(--st-air-ink)}.card[data-st=Inflight] .rail-btn:hover{background:var(--sky-200)}.rail-btn .arrow{font-size:16px;opacity:.65}.card.is-arriving{animation:arrive var(--dur-slow) var(--ease-out)}@keyframes arrive{0%{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}.card.nudge{animation:nudge .38s var(--ease-out)}@keyframes nudge{0%,to{transform:none}25%{transform:translate(6px)}75%{transform:translate(-6px)}}.card.just-edited{box-shadow:0 0 0 2px var(--forest-500),var(--shadow-sm)}.field-empty{width:100%;padding:var(--sp-5);text-align:center;color:var(--color-muted);font-size:13px;font-weight:600;border:1px dashed var(--color-border-mid);border-radius:var(--r-md)}.field-empty .g{display:block;font-size:24px;opacity:.25;margin-bottom:4px}.card-add{flex:0 0 232px;border:1.5px dashed var(--color-border-mid);border-radius:var(--r-md);background:transparent;color:var(--color-muted);cursor:pointer;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:92px;transition:all var(--dur-fast)}.card-add:hover{border-color:var(--st-queue-ink);background:#fff;color:var(--st-queue-ink)}.card-add .plus{font-size:26px;font-weight:800;line-height:1}.card-add .t{font-size:13.5px;font-weight:800}.card-add .s{font-size:10.5px;font-weight:600;opacity:.8;text-align:center;line-height:1.35}.undo{position:fixed;inset-inline:0;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:80;display:flex;justify-content:center;pointer-events:none}.undo-inner{pointer-events:auto;display:flex;align-items:center;gap:var(--sp-3);background:var(--graphite-900);color:#fff;border-radius:var(--r-full);padding:9px 10px 9px var(--sp-5);box-shadow:var(--shadow-lg);transform:translateY(90px);opacity:0;transition:all var(--dur-normal) var(--ease-out);font-size:14px;font-weight:700}.undo.on .undo-inner{transform:none;opacity:1}.undo-btn{border:0;background:#ffd97a;color:#3a2a00;font-weight:800;font-size:14px;border-radius:var(--r-full);padding:8px 18px}.sheet{position:fixed;inset:0;z-index:90;display:none}.sheet.on{display:block}.sheet-scrim{position:absolute;inset:0;background:#141a1873}:root{--kb:0px}.sheet-card{position:absolute;inset-inline:0;bottom:min(var(--kb),60%);margin:0 auto;max-width:560px;background:#fff;border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:sheetup var(--dur-normal) var(--ease-out);max-height:90vh;max-height:max(260px,calc(90dvh - var(--kb)))}@keyframes sheetup{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.sheet-inner{padding:var(--sp-4);overflow:auto;flex:1;overscroll-behavior:contain}body.sheet-open{position:fixed;inset-inline:0;width:100%;overflow:hidden}.sheet-head{display:flex;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3)}.sheet-cs{font-size:32px;font-weight:800;letter-spacing:.04em;line-height:1;unicode-bidi:isolate}.sheet-sub{color:var(--color-muted);font-size:12px;font-weight:700;margin-top:4px;line-height:1.4}.sheet-x{margin-inline-start:auto;border:1px solid var(--color-border-mid);background:#fff;border-radius:var(--r-sm);width:32px;height:32px;font-size:16px;flex:0 0 auto}.fgroup{margin-bottom:var(--sp-3)}.flabel{font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--color-muted);margin-bottom:5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.flabel .was{background:var(--red-50);color:var(--red-500);border-radius:var(--r-sm);padding:1px 6px;font-size:10.5px;font-weight:800;letter-spacing:0;text-decoration:line-through;unicode-bidi:isolate}.flabel .swap{margin-inline-start:auto;border:1px solid var(--color-border-mid);background:#fff;border-radius:var(--r-sm);padding:3px 9px;font-size:11px;font-weight:700;letter-spacing:0;color:var(--color-text-mid)}.fval{width:100%;border:1.5px solid var(--color-border-mid);border-radius:var(--r-md);background:#fff;padding:11px 12px;font-size:16px;font-weight:700;text-align:start;display:flex;align-items:center;gap:9px}.fval:hover{border-color:var(--graphite-400)}.fval .caret{margin-inline-start:auto;color:var(--color-muted);font-size:12px}.fval .sub{font-size:12px;font-weight:600;color:var(--color-muted)}.fval.changed{border-color:var(--forest-500);background:var(--forest-50)}.fval.missing{border-color:var(--amber-500);background:var(--amber-50);color:var(--amber-600)}.fval .bigcs{font-size:21px;font-weight:800;letter-spacing:.04em;unicode-bidi:isolate}.fval .empty{color:var(--color-muted);font-weight:600}.ftwo{display:grid;grid-template-columns:minmax(96px,.72fr) 1fr;gap:var(--sp-2)}.fval.sm{padding:8px 11px}.fval .tw{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.fval .tw .lb{font-size:9.5px;font-weight:800;letter-spacing:.05em;color:var(--color-muted)}.fval .tw .vv{font-size:15.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fval .tw .vv.iso{letter-spacing:.04em;unicode-bidi:isolate}.fval .tw .vv.empty{font-weight:600}.opts{display:flex;flex-wrap:wrap;gap:5px}.opt{border:1.5px solid var(--color-border-mid);background:#fff;border-radius:var(--r-full);padding:9px 14px;font-size:13.5px;font-weight:700}.opt:hover{border-color:var(--graphite-400)}.opt[aria-pressed=true]{background:var(--graphite-900);border-color:var(--graphite-900);color:#fff}.fhint{font-size:11.5px;color:var(--color-muted);font-weight:600;margin-top:5px;line-height:1.45}.fhint.warn{color:var(--amber-600);font-weight:700}.fnone{font-size:12.5px;color:var(--color-muted);font-weight:600;line-height:1.5;border:1.5px dashed var(--color-border);border-radius:var(--r-md);padding:10px 12px;background:var(--graphite-50)}.fnone b{color:var(--color-text-mid)}.fixbtn{border:1.5px solid var(--amber-500);background:#fff;color:var(--amber-600);border-radius:var(--r-sm);padding:4px 10px;font-size:11px;font-weight:800;margin-inline-start:6px;white-space:nowrap}.opt.blocked{opacity:.34;cursor:not-allowed;text-decoration:line-through}.opt.blocked:hover{border-color:var(--color-border-mid);background:#fff}.sheet-foot{border-top:1px solid var(--color-border);padding:var(--sp-3) var(--sp-4) calc(var(--sp-3) + env(safe-area-inset-bottom,0px));display:flex;gap:var(--sp-2);background:var(--graphite-50);flex-wrap:wrap;align-items:center}.btn{border:1.5px solid var(--color-border-mid);background:#fff;border-radius:var(--r-md);padding:11px 18px;font-weight:800;font-size:14px}.btn.pri{background:var(--forest-500);border-color:var(--forest-500);color:#fff}.btn.danger{border-color:#f0c4bd;color:var(--red-500);background:var(--red-50)}.btn.grow{flex:1}.btn[disabled]{opacity:.42;cursor:not-allowed}.foot-note{font-size:11.5px;color:var(--color-muted);font-weight:600;flex-basis:100%;line-height:1.45}.rz-q{background:var(--amber-50);border:1.5px solid var(--amber-100);border-radius:var(--r-md);padding:10px 12px;font-size:13px;font-weight:600;line-height:1.5;color:var(--amber-600);margin-bottom:var(--sp-3)}.rz-q b{color:var(--graphite-900)}.rz-list{overflow:visible;padding:0;flex:none;max-height:none}.rzbox .pick-search{margin-bottom:var(--sp-2)}.rz-go{font-size:10.5px;font-weight:700;color:var(--forest-600);margin-inline-start:5px}.picker{position:absolute;inset:0;background:#fff;border-radius:var(--r-xl) var(--r-xl) 0 0;display:flex;flex-direction:column;z-index:5;animation:sheetup var(--dur-fast) var(--ease-out)}.pick-head{padding:var(--sp-3) var(--sp-4) var(--sp-2);border-bottom:1px solid var(--color-border)}.pick-title{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.pick-title b{font-size:16px;font-weight:800}.pick-back{border:1px solid var(--color-border-mid);background:#fff;border-radius:var(--r-sm);width:32px;height:32px;font-size:15px;flex:0 0 auto}.pick-clear{margin-inline-start:auto;border:1px solid var(--color-border-mid);background:#fff;border-radius:var(--r-sm);padding:6px 12px;font-size:12px;font-weight:700;color:var(--color-muted)}.pick-search{position:relative}.pick-search input{width:100%;border:1.5px solid var(--color-border-mid);border-radius:var(--r-md);padding:11px 38px 11px 12px;font-size:16px;font-weight:600;background:var(--graphite-50)}.pick-search input:focus{outline:none;border-color:var(--graphite-900);background:#fff}.pick-search .mag{position:absolute;inset-inline-end:12px;top:50%;transform:translateY(-50%);color:var(--color-muted);font-size:14px;pointer-events:none}.pick-list{overflow:auto;padding:var(--sp-2) var(--sp-3) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));flex:1;overscroll-behavior:contain}.pick-sec{font-size:10.5px;font-weight:800;letter-spacing:.06em;color:var(--color-muted);padding:var(--sp-3) 4px 5px;display:flex;align-items:center;gap:7px}.pick-sec:after{content:"";flex:1;height:1px;background:var(--color-border)}.pick-row{width:100%;display:flex;align-items:center;gap:10px;border:1.5px solid var(--color-border);background:#fff;border-radius:var(--r-md);padding:10px 12px;text-align:start;margin-bottom:5px}.pick-row:hover{border-color:var(--graphite-400);background:var(--graphite-50)}.pick-row[aria-pressed=true]{border-color:var(--graphite-900);background:var(--graphite-900);color:#fff}.pick-row .k{font-size:19px;font-weight:800;letter-spacing:.04em;unicode-bidi:isolate;min-width:56px}.pick-row .v{font-size:15px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-row .m{font-size:12px;font-weight:600;color:var(--color-muted)}.pick-row[aria-pressed=true] .m{color:#ffffffb3}.pick-row .tag{font-size:10px;font-weight:800;border-radius:var(--r-full);padding:2px 8px;white-space:nowrap;margin-inline-start:auto}.pick-row .tag.two{background:var(--forest-50);color:var(--forest-600)}.pick-row .tag.one{background:var(--sky-50);color:var(--sky-600)}.pick-row .tag.busy{background:var(--graphite-100);color:var(--color-muted)}.pick-row .tag.instr{background:var(--forest-500);color:#fff}.pick-row.dim{opacity:.5}.pick-row.blocked{opacity:.45;cursor:not-allowed;background:var(--graphite-50)}.pick-row.blocked:hover{border-color:var(--color-border-mid);background:var(--graphite-50)}.pick-row .tag.no{background:var(--red-50);color:var(--red-500)}.pick-empty{text-align:center;color:var(--color-muted);font-size:13px;font-weight:600;padding:var(--sp-6) 0}.pick-why{font-size:11px;color:var(--color-muted);font-weight:600;padding:0 4px var(--sp-2);line-height:1.5}.pick-new{width:100%;display:flex;align-items:center;gap:10px;border:1.5px dashed var(--amber-500);background:var(--amber-50);border-radius:var(--r-md);padding:10px 12px;text-align:start;margin-bottom:7px}.pick-new[hidden]{display:none}.pick-new[disabled]{border-color:var(--color-border-mid);background:var(--graphite-50);opacity:.75}.pick-new .plus{flex:0 0 auto;font-size:19px;font-weight:800;line-height:1;color:var(--amber-600)}.pick-new[disabled] .plus{color:var(--color-muted)}.pick-new .nv{font-size:16px;font-weight:800;unicode-bidi:isolate;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52%}.pick-new .lb{font-size:10.5px;font-weight:700;color:var(--color-muted);margin-inline-start:auto;text-align:end;line-height:1.3}.pick-row .tag.free{background:var(--amber-50);color:var(--amber-600)}.pick-row .tag.duty{background:var(--st-tow-ink);color:#fff}body[data-vp=phone] .device{height:760px;overflow-y:auto;overflow-x:hidden}body[data-vp=phone] .towdeck{position:sticky;top:0;z-index:45;margin:0 -4px var(--sp-3);padding:8px 4px;background:var(--color-bg);box-shadow:0 7px 11px -7px #141a1852}body[data-vp=phone] .towbar{grid-template-columns:1fr;grid-template-areas:"main" "time" "alts";gap:5px;padding:7px 9px}body[data-vp=phone] .tb-side{grid-area:main;flex-wrap:wrap;gap:5px 9px}body[data-vp=phone] .tb-side.end{grid-area:time;flex-wrap:nowrap;justify-content:flex-start}body[data-vp=phone] .tb-side.end .tb-timer{margin-inline-start:auto}body[data-vp=phone] .tb-timer{font-size:20px;min-width:0}body[data-vp=phone] .tb-alts{grid-area:alts;width:100%;gap:4px}body[data-vp=phone] .tb-alts .altbtn{flex:1;min-width:0;padding:10px 2px;gap:3px}body[data-vp=phone] .tb-alts .altbtn .n{font-size:19px}body[data-vp=phone] .tb-alts .altbtn .pre{font-size:10.5px}body[data-vp=phone] .tb-alts .altbtn.more .n{font-size:14px}body[data-vp=phone] .tb-alert{font-size:10.5px;padding:5px 8px}body[data-vp=phone] .tb-crew{flex:1 1 100%;gap:16px}body[data-vp=phone] .tb-stack .nm{max-width:min(140px,100%)}body[data-vp=phone] .moremenu{inset-inline:0;min-width:0}body[data-vp=phone] .hlane{grid-template-columns:1fr}body[data-vp=phone] .hlane-rail{flex-direction:row;align-items:center;gap:var(--sp-2);border-inline-end:0;border-bottom:1px solid rgba(0,0,0,.08);padding:var(--sp-2) var(--sp-3)}body[data-vp=phone] .rail-count{font-size:26px;margin:0;margin-inline-start:auto}body[data-vp=phone] .rail-act{margin:0}body[data-vp=phone] .hlane[data-st=Draft] .card,body[data-vp=phone] .hlane[data-st=Draft] .card-add,body[data-vp=phone] .hlane[data-st=Inflight] .card{flex:1 1 100%}body[data-vp=phone] .hlane[data-st=Landed] .card{flex:1 1 calc(50% - var(--sp-1))}body[data-vp=phone] .rail-btn{padding:14px 8px;font-size:16px}body[data-vp=phone] .towstrip{flex-wrap:wrap;gap:var(--sp-2)}body[data-vp=phone] .tow-alts{width:100%;justify-content:space-between}body[data-vp=phone] .tow-alts .altbtn{flex:1;min-width:0}body[data-vp=phone] .tow-alts .altlabel{display:none}body[data-vp=phone] .tow-crew{flex-basis:100%}@media(max-width:1180px){.tb-cs{font-size:23px}.hlane{grid-template-columns:84px 1fr}.hlane[data-st=Draft] .card{flex:0 0 calc(50% - var(--sp-1))}.hlane[data-st=Inflight] .card{flex:0 0 calc(33.333% - var(--sp-2))}.hlane[data-st=Landed] .card{flex:0 0 calc(25% - var(--sp-2))}}@media(max-width:760px){.hlane{grid-template-columns:1fr}.hlane-rail{flex-direction:row;align-items:center;border-inline-end:0;border-bottom:1px solid rgba(0,0,0,.08)}.rail-count{margin-inline-start:auto}.hlane[data-st=Draft] .card,.hlane[data-st=Inflight] .card{flex:1 1 100%}.hlane[data-st=Landed] .card{flex:1 1 calc(50% - var(--sp-1))}.towbar{grid-template-columns:1fr;grid-template-areas:"main" "time" "alts";gap:5px}.tb-side{grid-area:main;flex-wrap:wrap}.tb-crew{flex:1 1 100%;gap:16px}.tb-stack .nm{max-width:min(140px,100%)}.tb-side.end{grid-area:time;justify-content:flex-start}.tb-side.end .tb-timer{margin-inline-start:auto}.tb-alts{grid-area:alts;width:100%}.tb-alts .altbtn{flex:1;min-width:0}}:where(body[data-vp=phone]) .sheet .sheet-inner{padding:var(--sp-3)}:where(body[data-vp=phone]) .sheet .sheet-head{position:sticky;top:0;z-index:3;background:#fff;margin:calc(-1*var(--sp-3)) 0 var(--sp-2);padding:var(--sp-3) 0 var(--sp-2);border-bottom:1px solid var(--color-border)}:where(body[data-vp=phone]) .sheet .sheet-cs{font-size:26px}:where(body[data-vp=phone]) .sheet .sheet-x,:where(body[data-vp=phone]) .sheet .pick-back{width:44px;height:44px;font-size:17px}:where(body[data-vp=phone]) .sheet .pick-clear{min-height:38px}:where(body[data-vp=phone]) .sheet .opt{min-height:44px;padding:10px 15px}:where(body[data-vp=phone]) .sheet .fval{min-height:50px}:where(body[data-vp=phone]) .sheet .btn{min-height:48px}body[data-vp=phone]:not(.real-mobile) .sheet .sheet-card{max-width:390px}@media(min-height:561px){body[data-vp=phone]:not(.real-mobile) .sheet .sheet-card{max-height:min(700px,88dvh)}body[data-vp=phone].real-mobile .sheet .sheet-card{max-height:94vh;max-height:max(260px,calc(94dvh - var(--kb)))}}@media(max-height:560px){.sheet .sheet-card{top:0;bottom:0;max-height:none;border-radius:0;max-width:min(920px,100%)}.sheet .picker{border-radius:0}.sheet .sheet-inner{padding:var(--sp-3) var(--sp-4)}.sheet .sheet-head{position:sticky;top:0;z-index:3;background:#fff;margin:calc(-1*var(--sp-3)) 0 var(--sp-2);padding:var(--sp-3) 0 var(--sp-2);border-bottom:1px solid var(--color-border)}.sheet .sheet-cs{font-size:22px}.sheet .fgroup{margin-bottom:var(--sp-2)}.sheet .sheet-foot{padding-block:var(--sp-2)}.sheet .pick-head{padding:var(--sp-2) var(--sp-3)}}@media(max-height:560px)and (min-width:620px){.sheet .sheet-inner{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sp-4);align-content:start}.sheet .sheet-head{grid-column:1/-1}.sheet .pick-list{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--sp-3);align-content:start}.sheet .pick-sec,.sheet .pick-why,.sheet .pick-empty{grid-column:1/-1}.sheet .foot-note{flex:1 1 200px;min-width:0}}.centre{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);padding:var(--sp-6) var(--sp-4);text-align:center}.pair h1{margin:0;font-size:26px;letter-spacing:-.02em}.pair .lede{max-width:34rem;color:var(--color-text-mid);line-height:1.6;margin:0}.pair .primary-link{display:flex;align-items:center;justify-content:center;min-height:56px;min-width:min(22rem,100%);padding:0 var(--sp-6);border-radius:var(--r-md);background:var(--forest-500);color:#fff;font-weight:800;font-size:18px;text-decoration:none}.pair .primary-link:hover{background:var(--forest-600)}.pair .or{display:flex;align-items:center;gap:var(--sp-3);width:min(32rem,100%);color:var(--color-muted);font-size:13px;font-weight:700}.pair .or:before,.pair .or:after{content:"";flex:1;height:1px;background:var(--color-border-mid)}.pair .code{font-size:clamp(40px,10vw,64px);font-weight:800;letter-spacing:.14em;unicode-bidi:isolate;background:var(--color-surface);border:2px solid var(--color-border-mid);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-6)}.pair .hint{max-width:32rem;color:var(--color-muted);font-size:13px;line-height:1.6;margin:0}.pair .warn-soft{color:var(--amber-600)}.pair button,.pair button.ghost{border:1.5px solid var(--color-border-mid);background:var(--color-surface);border-radius:var(--r-md);min-height:44px;padding:0 var(--sp-5);font-weight:800}.warn{color:var(--red-500);background:var(--red-50);border-radius:var(--r-md);padding:10px 14px;margin:0;font-weight:700}.tower-app{padding:var(--sp-3) var(--sp-3) var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-3);max-width:1600px;margin:0 auto}.topbar{position:sticky;top:0;z-index:50;background:var(--color-surface);border:1px solid var(--color-border-mid);border-radius:var(--r-lg);padding:var(--sp-2) var(--sp-3);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}.topbar-who{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.topbar .who{font-weight:800;font-size:17px;letter-spacing:-.02em}.topbar .role{font-size:11px;font-weight:800;letter-spacing:.05em;color:var(--color-muted)}.topbar-duty{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-inline-start:auto}.topbar-duty .dt{display:inline-flex;align-items:baseline;gap:5px;font-size:13px;font-weight:700}.topbar-duty .dt em{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.05em;color:var(--color-muted)}.topbar-duty .shift{gap:4px}.topbar-duty .shift .opt{padding:6px 12px;font-size:12px}.strip{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;background:var(--color-surface);border:1.5px dashed var(--color-border-mid);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);font-weight:700}.strip.warn{background:var(--amber-50);border-style:solid;border-color:var(--amber-100);color:var(--amber-600)}@media(max-width:760px){.tower-app{padding:var(--sp-2) var(--sp-2) var(--sp-6);gap:var(--sp-2)}.topbar{gap:var(--sp-1) var(--sp-3)}.topbar-duty{width:100%;margin-inline-start:0}}.is-locked,.tower-app button:disabled{cursor:not-allowed}.is-locked{opacity:.42;filter:saturate(.55)}.is-locked:hover{background:inherit;border-color:inherit;color:inherit;box-shadow:none}.claim-gate{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:#14161a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.claim-card{width:min(440px,100%);max-height:88vh;overflow-y:auto;padding:20px 20px 16px;border-radius:16px;background:var(--page, #fff);box-shadow:0 24px 60px #0000004d;font-size:14px;line-height:1.55}.claim-card h2{margin:0 0 10px;font-size:18px;font-weight:800}.claim-card p{margin:0 0 10px}.claim-list{margin:0 0 12px;padding-inline-start:20px}.claim-list li{margin-bottom:3px}.claim-warn{padding:10px 12px;border-radius:10px;border:1px solid var(--red-500, #c0392b);background:var(--red-50, #fdf0ee);color:var(--red-600, #a93226);font-weight:700}.claim-foot{display:flex;gap:8px;margin-top:14px}.claim-foot .btn{flex:1}.claim-foot .btn.pri{flex:1.6}
