.bb{--u: min(1vw, 1.78vh);position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0e12;color:#f1f3f5;font-family:var(--font-body);padding:calc(var(--u) * 1.4) calc(var(--u) * 1.8);display:flex;flex-direction:column;gap:calc(var(--u) * 1);overflow:hidden}.bb-mono{font-family:var(--font-mono)}.bb-loading{margin:auto;font-size:calc(var(--u) * 2);color:#a3acb9}.bb-label{font-size:calc(var(--u) * 1.05);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8b95a3;margin:calc(var(--u) * .3) 0 calc(var(--u) * -.2)}.bb-muted{color:#8b95a3;font-size:calc(var(--u) * 1.15);margin-top:calc(var(--u) * .4)}.bb-empty{color:#8b95a3;font-size:calc(var(--u) * 1.6);padding:calc(var(--u) * 2)}.bb-head{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 2)}.bb-brand{display:flex;align-items:center;gap:calc(var(--u) * 1.1);min-width:0}.bb-logo{height:calc(var(--u) * 5.2);width:auto}.bb-brand-text{display:flex;flex-direction:column;gap:calc(var(--u) * .2);min-width:0}.bb-station{font-family:var(--font-display);font-weight:700;font-size:calc(var(--u) * 2.5);letter-spacing:.05em;line-height:1}.bb-date{font-size:calc(var(--u) * 1.25);color:#a3acb9}.bb-head-right{display:flex;align-items:center;gap:calc(var(--u) * 2.4)}.bb-weather{display:flex;align-items:baseline;gap:calc(var(--u) * 1.1);font-size:calc(var(--u) * 1.3);color:#c9cfd8}.bb-temp{font-family:var(--font-display);font-weight:700;font-size:calc(var(--u) * 2.4);color:#f1f3f5}.bb-clock-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:calc(var(--u) * .2)}.bb-time{font-size:calc(var(--u) * 3.4);line-height:1;font-weight:600}.bb-conn{font-size:calc(var(--u) * .95);font-weight:700;letter-spacing:.14em;display:flex;align-items:center}.bb-conn.ok{color:#4cc38a}.bb-conn.bad{color:#ff8a8f}.bb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(var(--u) * 1)}.bb-stat{min-width:0;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * .9);background:#151a20;border:1px solid #262C35;border-radius:calc(var(--u) * .8);padding:calc(var(--u) * .7) calc(var(--u) * 1);color:#a3acb9}.bb-stat svg{width:calc(var(--u) * 1.6);height:calc(var(--u) * 1.6)}.bb-stat-label{font-size:calc(var(--u) * 1.15);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.bb-stat-label small{font-weight:500;letter-spacing:.04em;text-transform:none}.bb-stat-value{font-family:var(--font-display);font-weight:700;font-size:calc(var(--u) * 2);line-height:1}.bb-t-ok{color:#4cc38a}.bb-t-warn{color:#f5b13d}.bb-t-bad{color:#ff8a8f}.bb-t-neutral{color:#a3acb9}.bb-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) calc(var(--u) * 30);gap:calc(var(--u) * 1.3)}.bb-left{min-height:0;display:flex;flex-direction:column;gap:calc(var(--u) * 1)}.bb-fit{flex:1;min-height:0;overflow:hidden}.bb-units{display:flex;flex-direction:column;gap:calc(var(--u) * .8)}.bb-unit{background:#12171d;border:1px solid #232932;border-radius:calc(var(--u) * 1);padding:calc(var(--u) * .9) calc(var(--u) * 1.2);display:flex;flex-direction:column;gap:calc(var(--u) * .7)}.bb-unit-head{display:flex;align-items:center;gap:calc(var(--u) * .9)}.bb-unit-head svg{width:calc(var(--u) * 2.2);height:calc(var(--u) * 2.2)}.bb-unit-id{font-family:var(--font-display);font-weight:700;font-size:calc(var(--u) * 3.1);line-height:1}.bb-unit.compact .bb-unit-id{font-size:calc(var(--u) * 2.4)}.bb-count{margin-left:auto;font-size:calc(var(--u) * 1.1);font-weight:700;letter-spacing:.1em}.bb-pill{font-size:calc(var(--u) * 1.05);font-weight:700;letter-spacing:.08em;border-radius:999px;padding:calc(var(--u) * .3) calc(var(--u) * .9)}.bb-pill.sm{font-size:calc(var(--u) * .75);padding:calc(var(--u) * .15) calc(var(--u) * .55)}.bb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--u) * 14.5),1fr));gap:calc(var(--u) * .8)}.bb-card{background:#1a2028;border:1px solid #2A313B;border-radius:calc(var(--u) * .7);padding:calc(var(--u) * .7) calc(var(--u) * .9);display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(var(--u) * .25)}.bb-card.later{opacity:.6}.bb-card.open{background:#ff636914;border:2px dashed #E5484D;justify-content:center}.bb-name{font-family:var(--font-display);font-weight:700;font-size:calc(var(--u) * 1.75);letter-spacing:.04em;text-transform:uppercase;line-height:1.05}.bb-card.open .bb-name{color:#ff8a8f}.bb-unit.compact .bb-name{font-size:calc(var(--u) * 1.55)}.bb-seat{font-size:calc(var(--u) * 1);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#a3acb9;display:inline-flex;align-items:center;gap:calc(var(--u) * .4)}.bb-extra{font-style:normal;font-size:calc(var(--u) * .75);background:#e5484d;color:#fff;border-radius:4px;padding:0 calc(var(--u) * .35)}.bb-hours{font-size:calc(var(--u) * 1.6);color:#c9cfd8;line-height:1.1}.bb-hours.partial{color:#f5b13d}.bb-unit.compact .bb-hours{font-size:calc(var(--u) * 1.3)}.bb-certs{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u) * .3);margin-top:calc(var(--u) * .15)}.bb-cert{font-style:normal;font-size:calc(var(--u) * .78);font-weight:700;letter-spacing:.04em;border-radius:4px;padding:calc(var(--u) * .1) calc(var(--u) * .4);border:1px solid currentColor;color:#c9cfd8}.bb-cert.c-red{color:#ff8a8f}.bb-cert.c-blue{color:#7cb4ff}.bb-cert.c-green{color:#4cc38a}.bb-cert.c-orange{color:#f5b13d}.bb-fleet{display:flex;flex-direction:column;gap:calc(var(--u) * .5)}.bb-fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--u) * 15),1fr));gap:calc(var(--u) * .5)}.bb-fleet-item{background:#12171d;border:1px solid #232932;border-radius:calc(var(--u) * .6);padding:calc(var(--u) * .45) calc(var(--u) * .7);display:flex;flex-direction:column;gap:calc(var(--u) * .15)}.bb-fleet-top{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * .4);font-size:calc(var(--u) * .8);font-weight:700;letter-spacing:.08em}.bb-fleet-top b{font-family:var(--font-display);font-size:calc(var(--u) * 1.4);letter-spacing:.02em;color:#f1f3f5}.bb-fleet-row{display:flex;justify-content:space-between;gap:calc(var(--u) * .5);font-size:calc(var(--u) * .85);color:#c9cfd8;font-weight:600;white-space:nowrap}.bb-dot-warn{background:#f5b13d}.bb-rail{min-height:0;display:flex;flex-direction:column;gap:calc(var(--u) * 1);overflow:hidden}.bb-panel{background:#12171d;border:1px solid #232932;border-radius:calc(var(--u) * 1);padding:calc(var(--u) * 1) calc(var(--u) * 1.2);display:flex;flex-direction:column;gap:calc(var(--u) * .6);min-height:0}.bb-panel-title{display:flex;align-items:center;gap:calc(var(--u) * .6);font-size:calc(var(--u) * 1.15);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c9cfd8}.bb-panel-title svg{width:calc(var(--u) * 1.4);height:calc(var(--u) * 1.4);color:#ff8a8f}.bb-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--u) * .6)}.bb-note{border-left:calc(var(--u) * .3) solid #3A424D;background:#1a2028;border-radius:calc(var(--u) * .4);padding:calc(var(--u) * .6) calc(var(--u) * .8);display:flex;flex-direction:column;gap:calc(var(--u) * .2)}.bb-note.p-action-required,.bb-note.p-operational-risk{border-left-color:#e5484d}.bb-note.p-needs-attention{border-left-color:#f5b13d}.bb-note.p-shift-win{border-left-color:#4cc38a}.bb-note-title{font-size:calc(var(--u) * 1.35);font-weight:600;line-height:1.25}.bb-note-desc{font-size:calc(var(--u) * 1.05);color:#c9cfd8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bb-note-meta{font-size:calc(var(--u) * .9);color:#8b95a3;letter-spacing:.04em}.bb-group{display:flex;flex-direction:column;gap:calc(var(--u) * .35);border-top:1px solid #232932;padding-top:calc(var(--u) * .6)}.bb-group-label{font-size:calc(var(--u) * .9);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8b95a3}.bb-people{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:calc(var(--u) * .35) calc(var(--u) * 1.1);font-size:calc(var(--u) * 1.15)}.bb-people b{font-weight:600}.bb-people span{color:#8b95a3;font-size:calc(var(--u) * .95)}.bb-call{background:#3a0f13;border:2px solid #E5484D;border-radius:calc(var(--u) * 1);padding:calc(var(--u) * 1) calc(var(--u) * 1.6);display:flex;align-items:center;gap:calc(var(--u) * 2)}.bb-call-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:calc(var(--u) * .3)}.bb-call-tag{font-size:calc(var(--u) * 1.1);font-weight:600;letter-spacing:.14em;color:#ff8a8f}.bb-call-nature{font-family:var(--font-display);font-weight:700;font-size:calc(var(--u) * 3.6);line-height:.95}.bb-call-addr{font-size:calc(var(--u) * 1.8);color:#f4d6d8}.bb-call-units,.bb-take-units{display:flex;flex-wrap:wrap;gap:calc(var(--u) * .9)}.bb-chip{background:#0b0e12;border:2px solid currentColor;border-radius:calc(var(--u) * .9);padding:calc(var(--u) * .7) calc(var(--u) * 1.2);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * .2);min-width:calc(var(--u) * 9)}.bb-chip b{font-family:var(--font-display);font-size:calc(var(--u) * 2.4);line-height:1;color:#f1f3f5}.bb-chip span{font-size:calc(var(--u) * 1.1);font-weight:600}.bb-ok{color:#4cc38a;background:#4cc38a24}.bb-warn{color:#f5b13d;background:#f5b13d24}.bb-bad{color:#ff8a8f;background:#ff636929}.bb-neutral{color:#a3acb9;background:#1f252d}.bb-chip.bb-ok,.bb-chip.bb-warn,.bb-chip.bb-bad,.bb-chip.bb-neutral{background:#0b0e12}.bb-foot{display:flex;align-items:center;gap:calc(var(--u) * 1.6);font-size:calc(var(--u) * 1);color:#c9cfd8}.bb-dot{display:inline-block;width:calc(var(--u) * .6);height:calc(var(--u) * .6);border-radius:999px;background:#a3acb9;margin-right:calc(var(--u) * .5)}.bb-dot-ok{background:#4cc38a}.bb-dot-bad{background:#ff6369}.bb-brandmark{margin-left:auto;color:#8b95a3}.bb-sound{background:#d93036;color:#fff;border:0;border-radius:10px;padding:calc(var(--u) * .5) calc(var(--u) * 1.1);font:inherit;font-weight:600;cursor:pointer}.bb-takeover{background:#2a0b0e;justify-content:center;gap:calc(var(--u) * 2);padding:calc(var(--u) * 4)}.bb-take-top{display:flex;justify-content:space-between;font-size:calc(var(--u) * 1.8);font-weight:600;letter-spacing:.14em;color:#ff8a8f}.bb-take-nature{font-family:var(--font-display);font-weight:700;font-size:calc(var(--u) * 10);line-height:.92}.bb-take-addr{font-size:calc(var(--u) * 4);color:#f4d6d8}.bb-take-notes{font-size:calc(var(--u) * 1.8);color:#e8c4c6}@media (prefers-reduced-motion: no-preference){.bb-takeover{animation:bb-pulse 1.6s ease-in-out 3}@keyframes bb-pulse{50%{background:#4a1015}}}.bb-feedwarn{display:flex;align-items:center;gap:calc(var(--u) * .8);background:#f5b13d1f;border:1px solid #F5B13D;color:#f8d394;border-radius:calc(var(--u) * .7);padding:calc(var(--u) * .55) calc(var(--u) * 1);font-size:calc(var(--u) * 1.15)}.bb-feedwarn svg{width:calc(var(--u) * 1.5);height:calc(var(--u) * 1.5);color:#f5b13d;flex:0 0 auto}.bb-feedwarn b{color:#f5b13d}.bb-command{display:flex;align-items:center;flex-wrap:wrap;gap:calc(var(--u) * .6) calc(var(--u) * 1.6);background:#12171d;border:1px solid #232932;border-radius:calc(var(--u) * .7);padding:calc(var(--u) * .55) calc(var(--u) * 1.1);font-size:calc(var(--u) * 1.3)}.bb-command-label{font-size:calc(var(--u) * 1);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ff8a8f}.bb-command b{font-weight:700}.bb-muted-inline{color:#8b95a3;font-size:calc(var(--u) * 1.05)}.bb-btn{display:inline-flex;align-items:center;gap:calc(var(--u) * .4);background:#1a2028;color:#c9cfd8;border:1px solid #2A313B;border-radius:10px;padding:calc(var(--u) * .45) calc(var(--u) * 1);font:inherit;font-weight:600;cursor:pointer}.bb-btn:hover{color:#f1f3f5;border-color:#4a525e}.bb-cast-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:20;padding:16px}.bb-cast{background:#12171d;border:1px solid #2A313B;border-radius:16px;width:min(560px,100%);max-height:90vh;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:14px;font-size:15px;color:#e2e6eb}.bb-cast-head{display:flex;align-items:center;justify-content:space-between;font-size:18px}.bb-cast-opt{display:flex;flex-direction:column;gap:6px;background:#1a2028;border:1px solid #2A313B;border-radius:12px;padding:14px}.bb-cast-opt>b{font-size:16px;color:#f1f3f5}.bb-cast-opt span{color:#c9cfd8;line-height:1.45}.bb-cast-opt .bb-sound{align-self:flex-start;margin-top:4px;padding:8px 14px}.bb-cast-url{font-family:var(--font-mono);font-size:15px;background:#0b0e12;border:1px solid #2A313B;border-radius:8px;padding:8px 10px;color:#f1f3f5;word-break:break-all}.bb-cast-msg{color:#f8d394;font-size:14px}.bb-fleet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.bb-fleet-list li{display:grid;grid-template-columns:calc(var(--u) * 5.5) 1fr auto calc(var(--u) * 5);align-items:center;gap:calc(var(--u) * .6);padding:calc(var(--u) * .32) 0;border-top:1px solid #1F252D;font-size:calc(var(--u) * 1);font-weight:600}.bb-fleet-list li:first-child{border-top:0}.bb-fleet-list b{font-family:var(--font-display);font-size:calc(var(--u) * 1.35)}.bb-fleet-list li>span:last-child{text-align:right}.bb-cards{grid-template-columns:repeat(auto-fill,minmax(calc(var(--u) * 16),1fr))}.bb-unit{flex-direction:row;align-items:stretch;gap:calc(var(--u) * 1.1);padding:calc(var(--u) * .8) calc(var(--u) * 1)}.bb-unit-head{flex-direction:column;align-items:flex-start;justify-content:center;gap:calc(var(--u) * .35);width:calc(var(--u) * 9.5);flex:0 0 auto;margin:0}.bb-unit-head .bb-count{margin-left:0;font-size:calc(var(--u) * .95);letter-spacing:.06em}.bb-unit-head .bb-pill{font-size:calc(var(--u) * .85)}.bb-unit .bb-cards{flex:1;min-width:0;align-content:center}.bb-rail-stack{display:flex;flex-direction:column;gap:calc(var(--u) * 1)}.bb-rail{display:flex;flex-direction:column}:root{--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-display: "Barlow Condensed", "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--radius-sm: 8px;--radius: 14px;--radius-lg: 18px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--bg: #0E1115;--bg-nav: #12161B;--card: #161A20;--card-2: #1A1F26;--border: #272D36;--border-strong: #2F3742;--text: #F1F3F5;--text-2: #A3ACB9;--text-3: #8B95A3;--nav-text: #C9CFD8;--nav-active: #1F252D;--accent: #D93036;--accent-text: #FF6369;--accent-soft: rgba(255, 99, 105, .1);--accent-line: rgba(255, 99, 105, .4);--ok: #4CC38A;--ok-soft: rgba(76, 195, 138, .12);--warn: #F5B13D;--warn-soft: rgba(245, 177, 61, .12);--bad: #FF8A8F;--bad-soft: rgba(255, 99, 105, .12);--neutral-soft: #1F252D;--series-1: #3987e5;color-scheme:dark}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--bg: #F5F6F8;--bg-nav: #FFFFFF;--card: #FFFFFF;--card-2: #F1F3F6;--border: #E2E5EA;--border-strong: #CDD2D9;--text: #111827;--text-2: #4B5563;--text-3: #5B6472;--nav-text: #374151;--nav-active: #EEF0F3;--accent: #D12A30;--accent-text: #B91C1C;--accent-soft: #FEF2F2;--accent-line: #F3A6A9;--ok: #15803D;--ok-soft: #F0FDF4;--warn: #B45309;--warn-soft: #FFFBEB;--bad: #B91C1C;--bad-soft: #FEF2F2;--neutral-soft: #EEF0F3;--series-1: #2a78d6;color-scheme:light}}:root[data-theme=light]{--bg: #F5F6F8;--bg-nav: #FFFFFF;--card: #FFFFFF;--card-2: #F1F3F6;--border: #E2E5EA;--border-strong: #CDD2D9;--text: #111827;--text-2: #4B5563;--text-3: #5B6472;--nav-text: #374151;--nav-active: #EEF0F3;--accent: #D12A30;--accent-text: #B91C1C;--accent-soft: #FEF2F2;--accent-line: #F3A6A9;--ok: #15803D;--ok-soft: #F0FDF4;--warn: #B45309;--warn-soft: #FFFBEB;--bad: #B91C1C;--bad-soft: #FEF2F2;--neutral-soft: #EEF0F3;--series-1: #2a78d6;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:6px}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:.02em;margin:0;line-height:1.05}.mono{font-family:var(--font-mono)}.muted{color:var(--text-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{display:flex;min-height:100vh}.sidebar{width:248px;flex:0 0 248px;background:var(--bg-nav);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand-name{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:.06em;line-height:1}.brand-sub{font-size:12px;color:var(--text-2)}.dept-logo{height:46px;width:auto;flex:0 0 auto}.dept-name{font-family:var(--font-display);font-weight:700;font-size:17px;line-height:1.1;letter-spacing:.02em}.search{display:flex;align-items:center;gap:8px;background:var(--card-2);border:1px solid var(--border-strong);border-radius:10px;padding:0 12px;min-height:42px;color:var(--text-2)}.search input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--text)}.kbd{font-family:var(--font-mono);font-size:11px;border:1px solid var(--border-strong);border-radius:4px;padding:1px 5px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:0 10px 6px}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);font-size:14px;min-height:40px;color:var(--nav-text)}.nav-link:hover{background:var(--nav-active);color:var(--text)}.nav-link.active{background:var(--nav-active);color:var(--text);font-weight:600;box-shadow:inset 2px 0 0 var(--accent-text)}.nav-badge{margin-left:auto;background:var(--accent);color:#fff;font-size:11px;font-weight:600;border-radius:999px;padding:1px 7px}.me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;border-top:1px solid var(--border)}.avatar{width:34px;height:34px;border-radius:999px;background:var(--border-strong);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}.main{flex:1;min-width:0;padding:28px 32px 48px;display:flex;flex-direction:column;gap:22px}.tabbar,.phonebar{display:none}@media (max-width: 899px){.sidebar{display:none}.phonebar{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 4px}.main{padding:20px 16px 110px;gap:16px}.tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--bg-nav);border-top:1px solid var(--border);padding:8px 6px calc(10px + env(safe-area-inset-bottom))}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:600;min-height:48px;color:var(--text-2)}.tab.active{color:var(--accent-text)}}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.page-head h1{font-size:44px}.page-eyebrow{font-size:13px;color:var(--text-2);margin-bottom:4px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}@media (max-width: 899px){.page-head h1{font-size:34px}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.card-pad{padding:16px 18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.section-title{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:.03em}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--min, 280px),1fr));gap:14px}.row{display:flex;align-items:center;gap:10px}.split{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.split>.wide{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:14px}.split>.narrow{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:18px}.stat{display:flex;flex-direction:column;gap:6px}.stat-label,.stat-sub{font-size:13px;color:var(--text-2)}.stat-value{font-family:var(--font-display);font-weight:700;font-size:38px;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--border-strong);background:var(--card-2);color:var(--text);font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--text-3)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover{filter:brightness(1.08)}.btn-ghost{background:transparent}.btn-ok{background:transparent;color:var(--ok);border-color:var(--ok)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{min-height:36px;padding:0 12px;font-size:13px}.pill{display:inline-flex;align-items:center;font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap}.pill-ok{color:var(--ok);background:var(--ok-soft)}.pill-warn{color:var(--warn);background:var(--warn-soft)}.pill-bad{color:var(--bad);background:var(--bad-soft)}.pill-neutral{color:var(--text-2);background:var(--neutral-soft)}.badge{font-size:11px;font-weight:600;color:var(--text-2);background:var(--neutral-soft);border-radius:4px;padding:2px 6px}.dot{width:8px;height:8px;border-radius:999px;flex:0 0 8px}.list{list-style:none;margin:0;padding:0}.list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-top:1px solid var(--border)}.list-row:first-child{border-top:0}.seat{display:flex;gap:12px;align-items:center;border-radius:10px;padding:10px 12px;border:1px solid var(--border);background:var(--card-2)}.seat.open{border:1px dashed var(--accent-text);background:var(--accent-soft)}.seat-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.seat-name{font-weight:600;font-size:16px}.seat.open .seat-name,.seat.open .seat-time{color:var(--accent-text)}.seat-time{font-family:var(--font-mono);font-size:12px;color:var(--text-2)}.banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-radius:12px;padding:12px 16px}.banner-warn{background:var(--warn-soft);border:1px solid var(--warn)}.banner-bad{background:var(--bad-soft);border:1px solid var(--accent-text)}.error-box{background:var(--bad-soft);border:1px solid var(--accent-line);color:var(--bad);border-radius:12px;padding:12px 16px}.empty{text-align:center;padding:40px 20px;color:var(--text-2);display:flex;flex-direction:column;gap:6px;align-items:center}.empty strong{color:var(--text);font-size:16px}.skeleton{background:linear-gradient(90deg,var(--card) 0%,var(--card-2) 50%,var(--card) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--nav-text)}.input,.select,.textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;min-height:44px;color:var(--text);font-weight:400;font-size:15px;width:100%}.textarea{min-height:80px;resize:vertical}.check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--nav-text);min-height:44px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--accent)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:41;background:var(--card);border-left:1px solid var(--border);display:flex;flex-direction:column}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--border)}.drawer-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:16px}.icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border-strong);background:var(--card-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px;min-width:760px}.table th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--text-2);padding:10px 12px}.table td,.table tbody th{padding:12px;border-top:1px solid var(--border)}.table .num{text-align:right;font-family:var(--font-mono)}.bar{flex:1;height:6px;background:var(--neutral-soft);border-radius:3px;overflow:hidden;display:flex}.bar>span{display:block;height:100%}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:700px}.cal-dow{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--text-2);text-align:center;padding-bottom:4px}.cal-day{min-height:96px;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:5px;background:var(--card);border:1px solid var(--border)}.cal-day.past{opacity:.7;background:var(--bg-nav)}.cal-day.today{border:2px solid var(--accent-text)}.cal-num{font-size:13px;font-weight:600}.cal-shift{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-top:2px}.slot{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;border-radius:6px;padding:5px 7px;font-size:12px;font-weight:600;text-align:left;min-height:28px;cursor:pointer;background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-line)}.slot.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.slot.requested{background:transparent;color:var(--ok);border-color:var(--ok)}.slot.locked{background:transparent;color:var(--text-3);border:1px dashed var(--border-strong);cursor:default}.slot .t{font-family:var(--font-mono);font-size:11px;flex:0 0 auto}.crew-line{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:var(--text-2)}.crew-line.me{color:var(--text);font-weight:600}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:82dvh;overflow-y:auto;background:var(--bg-nav);border-top:1px solid var(--border);border-radius:18px 18px 0 0;padding:14px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sheet-link{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border-radius:12px;background:var(--card);border:1px solid var(--border);color:var(--text);font-size:14px;font-weight:500}.sheet-link.active{border-color:var(--accent-line);color:var(--accent-text)}.sheet-link .nav-badge{margin-left:auto}@media (min-width: 900px){.sheet,.sheet-backdrop{display:none}}.ai-wrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;height:calc(100dvh - 76px);min-height:480px}.ai-side{display:flex;flex-direction:column;min-height:0;overflow:hidden}.ai-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px}.ai-title{display:flex;align-items:center;gap:8px;font-size:24px;margin:0;white-space:nowrap}.ai-conv-list{list-style:none;margin:0;padding:0 6px 8px;overflow-y:auto;flex:1}.ai-conv-list li{display:flex;align-items:center;gap:4px;border-radius:10px}.ai-conv-list li.active,.ai-conv-list li:hover{background:var(--nav-active)}.ai-conv{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;background:none;border:0;padding:9px 10px;color:var(--text);cursor:pointer;font:inherit}.ai-conv-title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-conv-meta{font-size:12px;color:var(--text-3)}.ai-del{background:none;border:0;color:var(--text-3);padding:8px;border-radius:8px;cursor:pointer;opacity:.6}.ai-del:hover{opacity:1;color:var(--bad)}.ai-del-confirm{display:flex;gap:4px;padding-right:6px}.ai-chat{display:flex;flex-direction:column;min-height:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ai-chat-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.ai-chat-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-back{display:none}.ai-mode-pick .select{min-height:36px;padding-top:4px;padding-bottom:4px}.ai-messages{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:14px}.ai-msg{max-width:760px}.ai-user{align-self:flex-end;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:16px 16px 4px;padding:10px 14px;max-width:min(620px,88%)}.ai-user-text{white-space:pre-wrap;overflow-wrap:anywhere}.ai-assistant{align-self:flex-start;width:100%}.ai-thinking{display:flex;align-items:center;gap:4px}.ai-thinking .dot{width:7px;height:7px;border-radius:50%;background:var(--accent-text);animation:aiDot 1.2s infinite ease-in-out}.ai-thinking .dot:nth-child(2){animation-delay:.15s}.ai-thinking .dot:nth-child(3){animation-delay:.3s}@keyframes aiDot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion: reduce){.ai-thinking .dot{animation:none;opacity:.7}}.ai-empty{margin:auto;text-align:center;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0}.ai-empty h2{font-size:30px;margin:4px 0 0}.ai-empty p{margin:0}.ai-ideas{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.ai-idea{background:var(--card-2);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;cursor:pointer;min-height:40px;text-align:left}.ai-idea:hover{border-color:var(--accent-line)}.ai-composer{display:flex;gap:8px;align-items:flex-end;padding:12px;border-top:1px solid var(--border);background:var(--card)}.ai-composer .textarea{flex:1;min-height:46px;max-height:180px;resize:none;line-height:1.4}.ai-send{min-width:46px;min-height:46px;padding:0;justify-content:center}.ai-quiz{margin-top:12px;border:1px solid var(--border);border-radius:14px;padding:14px;background:var(--card-2);display:flex;flex-direction:column;gap:12px}.ai-quiz-list{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:14px}.ai-quiz fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.ai-quiz legend{font-weight:600;margin-bottom:6px;padding:0}.ai-opt{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:44px;border:1px solid var(--border);border-radius:10px;cursor:pointer;background:var(--card)}.ai-opt input{width:18px;height:18px;accent-color:var(--accent);flex:none}.ai-opt.chosen{border-color:var(--accent-line)}.ai-opt.right{border-color:var(--ok);background:var(--ok-soft)}.ai-opt.wrong{border-color:var(--bad);background:var(--bad-soft)}.ai-expl{margin:2px 0 0;font-size:14px;color:var(--text-2)}@media (max-width: 899px){.ai-wrap{display:block;height:auto;min-height:0;margin:-4px -16px 0}.ai-side{display:none;border-radius:0;border-left:0;border-right:0}.ai-show-history .ai-side{display:flex}.ai-show-history .ai-chat{display:none}.ai-chat{border-radius:0;border-left:0;border-right:0;overflow:visible;min-height:calc(100dvh - 190px)}.ai-back{display:inline-flex}.ai-chat-head{position:sticky;top:0;z-index:5;background:var(--card);padding:10px 12px}.ai-messages{overflow:visible;padding:14px 14px 8px}.ai-composer{position:sticky;bottom:calc(74px + env(safe-area-inset-bottom));z-index:5}.ai-title{font-size:22px}}.md{display:flex;flex-direction:column;gap:10px;line-height:1.55;overflow-wrap:anywhere}.md-p{margin:0}.md-h{margin:6px 0 0;font-family:var(--font-body);font-size:17px;font-weight:700;letter-spacing:0}h2.md-h{font-size:19px}.md-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:4px}.md-list .md-list{margin-top:4px}.md-code{font-family:var(--font-mono);font-size:.9em;background:var(--card-2);border:1px solid var(--border);border-radius:6px;padding:1px 5px}.md-pre{margin:0;padding:12px;background:var(--card-2);border:1px solid var(--border);border-radius:10px;overflow-x:auto;font-family:var(--font-mono);font-size:13px}.md-hr{border:0;border-top:1px solid var(--border);margin:4px 0;width:100%}.md a{color:var(--accent-text);text-decoration:underline}.md-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.md-table{border-collapse:collapse;width:100%;font-size:14px}.md-table th,.md-table td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.md-table th{background:var(--card-2);font-weight:600;white-space:nowrap}.md-table tr:last-child td{border-bottom:0}@media (max-width: 899px){.input,.select,.textarea,.search input,input,select,textarea{font-size:16px}}.qz-edit-q{border:1px solid var(--border);border-radius:14px;padding:12px;margin:0;display:flex;flex-direction:column;gap:8px;background:var(--card-2)}.qz-edit-q legend{font-weight:700;padding:0 6px}.ev-chip{display:flex;align-items:center;gap:4px;width:100%;min-width:0;text-align:left;font:inherit;font-size:11px;line-height:1.3;padding:2px 5px;border-radius:6px;border:0;border-left:3px solid var(--ev, var(--text-3));background:var(--card-2);color:var(--text);cursor:pointer}.ev-chip .t{font-family:var(--font-mono);color:var(--text-2);flex:none}.ev-chip .ev-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ev-chip.cancelled .ev-title{text-decoration:line-through;opacity:.6}.ev-bar{width:4px;min-height:34px;border-radius:2px;flex:none}.ev-dot{display:inline-block;width:9px;height:9px;border-radius:50%}.ev-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:15px}.ev-dl dt{color:var(--text-2)}.ev-dl dd{margin:0}@media (max-width: 699px){.cal-month{display:none}}
