:root{--bg:#fff;--bg-2:#fff;--bg-3:#f5f5f5;--bg-4:#ebebeb;--line:#e6e6e6;--line-2:#c8c8c8;--ink:#111;--ink-2:#3a3a3a;--muted:#5c5c5c;--phos:#111;--phos-2:#000;--phos-soft:#f2f2f2;--phos-line:#111;--phos-glow:none;--on-phos:#fff;--amber:#5c5c5c;--amber-soft:#f2f2f2;--amber-glow:none;--red:#111;--red-soft:#f2f2f2;--red-glow:none;--cyan:#111;--cyan-soft:#f2f2f2;--cyan-glow:none;--signal:var(--phos);--orange:var(--phos);--clay:var(--red);--moss:var(--phos);--sky:var(--cyan);--page:var(--bg);--card:var(--bg-2);--accent:var(--phos);--surface:var(--bg-2);--display:"Chakra Petch", "Space Grotesk", "Segoe UI", sans-serif;--body:"Space Grotesk", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--z-sticky:10;--z-pop:20;--z-backdrop:30;--z-overlay:40;--z-notice:50;--r:6px;--r-sm:4px;--chamfer:polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);--chamfer-sm:polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);--bar-h:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.5}*{box-sizing:border-box}html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}body{background-color:var(--bg);background-image:linear-gradient(#0000000b 1px,#0000 1px),linear-gradient(90deg,#0000000b 1px,#0000 1px);background-repeat:no-repeat,no-repeat,repeat,repeat;background-size:auto,auto,48px 48px,48px 48px;min-height:100vh;margin:0}h1,h2,h3,h4{font-family:var(--display);letter-spacing:.005em;color:var(--ink);margin:0;font-weight:600}h1{font-size:1.7647rem;line-height:1.15}h2{font-size:1.0588rem;line-height:1.3}h3{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:18px 0 6px;font-size:.6471rem;font-weight:500}p{margin:0 0 10px}a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}a:hover{text-underline-offset:3px;text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}svg{display:block}img{max-width:100%}:focus-visible{outline:2px solid var(--phos);outline-offset:2px}::selection{background:#e6e6e6}.eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--phos);align-items:center;gap:8px;margin:0 0 6px;font-size:.6471rem;font-weight:500;display:flex}.readout{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.muted{color:var(--muted)}.small{font-size:.7647rem}.m0{margin:0}.mb{margin-bottom:16px}.mt{margin-top:16px}.pad{padding:22px 24px}.pad-x{padding:0 24px}.narrow{max-width:720px}.w-full{justify-content:center;width:100%}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.stack{gap:16px;display:grid}.stack.two{grid-template-columns:repeat(2,minmax(0,1fr))}.link{color:var(--cyan)}.ident{align-items:center;gap:10px;display:inline-flex}.live{background:var(--phos);width:7px;height:7px;box-shadow:var(--phos-glow);border-radius:50%;animation:2.4s infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.bezel{background:linear-gradient(180deg, #ffffff06, transparent 40%), var(--bg-2);border:1px solid var(--line);border-radius:var(--r);position:relative;box-shadow:inset 0 1px #ffffff0a,0 10px 30px -18px #000000e6}.bezel:before,.bezel:after{content:"";border-color:var(--phos-line);pointer-events:none;opacity:.8;border-style:solid;width:10px;height:10px;position:absolute}.bezel:before{border-top-left-radius:var(--r);border-width:1px 0 0 1px;top:-1px;left:-1px}.bezel:after{border-bottom-right-radius:var(--r);border-width:0 1px 1px 0;bottom:-1px;right:-1px}.panel-head{border-bottom:1px solid var(--line);font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:.6471rem;display:flex}.panel-head>span:first-child{color:var(--ink-2)}.panel-head .quiet,.panel-head a{text-transform:none;letter-spacing:0;font-family:var(--body);font-size:.7647rem}.panel-head .readout{color:var(--phos)}.panel-foot{border-top:1px dashed var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin:0;padding:10px 18px 14px;font-size:.7647rem;display:flex}.panel-foot .readout{color:var(--ink);font-size:.8235rem}.solid,.orange,.ghost,.outline,.icon-btn,.quiet,label.solid,label.ghost,.segment button{border-radius:var(--r-sm);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:.7647rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,color .15s,transform .15s;display:inline-flex}.solid,.orange,label.solid{background:var(--phos);color:var(--on-phos);clip-path:var(--chamfer);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;border-radius:0;padding:0 18px;font-size:.7059rem}.solid:hover,.orange:hover,label.solid:hover{background:#333}.solid:active,.orange:active{transform:translateY(1px)}.ghost,.outline,label.ghost{color:var(--ink-2);border-color:var(--line-2);background:0 0}.ghost:hover,.outline:hover,label.ghost:hover{border-color:var(--phos);color:var(--phos);text-decoration:none}.ghost.danger{color:var(--ink);border-color:#111}.ghost.danger:hover{background:var(--red-soft);border-color:var(--red);color:var(--red)}.quiet{min-height:0;color:var(--cyan);background:0 0;padding:0;font-weight:500}.quiet:hover{text-underline-offset:3px;text-decoration:underline}.icon-btn{width:36px;min-height:36px;color:var(--ink-2);background:0 0;padding:0}.icon-btn svg{width:18px;height:18px}.icon-btn:hover{background:var(--bg-4);color:var(--ink)}.icon-btn.bordered{border-color:var(--line-2)}.plate{color:#111;font-family:var(--mono);letter-spacing:.08em;white-space:nowrap;background:#fff;border:1px solid #00000080;border-radius:3px;align-items:center;padding:2px 8px 1px;font-size:.7059rem;font-weight:600;line-height:1.5;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff59}.plate:before{content:"";background:#111;border-radius:2px 0 0 2px;align-self:stretch;width:4px;height:100%;margin:-2px 6px -1px -8px}.plate.sm{padding:1px 6px 0;font-size:.6471rem}.plate.sm:before{width:3px;margin-left:-6px}.plate.lg{border-radius:4px;padding:6px 14px 5px;font-size:1.1765rem}.plate.lg:before{width:8px;margin-left:-14px;margin-right:10px}.lamp{background:#d4d4d4;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block;box-shadow:inset 0 1px 2px #0009}.lamp.sm{width:8px;height:8px}.lamp.ok,.lamp-label.ok .lamp,.lamp-label.in .lamp{background:var(--phos);box-shadow:var(--phos-glow)}.lamp.amber,.lamp-label.low .lamp{background:var(--amber);box-shadow:var(--amber-glow)}.lamp.red,.lamp-label.bad .lamp,.lamp-label.out .lamp{background:var(--red);box-shadow:var(--red-glow)}.lamp.cyan{background:var(--cyan);box-shadow:var(--cyan-glow)}.lamp.blink{animation:1.4s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}.lamp-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;font-size:.6471rem;display:inline-flex}.lamp-label.ok{color:var(--phos)}.lamp-label.low{color:var(--amber)}.lamp-label.bad{color:var(--red)}.lamp-label.none{color:var(--muted)}.lamp-label .lamp{width:9px;height:9px}.ring{width:36px;height:36px;font-family:var(--mono);color:var(--phos);border:1.5px solid var(--phos-line);background:var(--bg-3);border-radius:50%;flex-shrink:0;place-items:center;font-size:.7059rem;font-weight:600;display:inline-grid}.ring.lg{width:56px;height:56px;font-size:1.0588rem}.cockpit{flex-direction:column;height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.ibar{z-index:var(--z-sticky);height:calc(var(--bar-h) + var(--safe-top));padding:var(--safe-top) 24px 0;border-bottom:1px solid var(--line);background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;display:grid;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:12px;display:inline-flex}.brand:hover{text-decoration:none}.brand-badge{background:var(--phos);width:36px;height:36px;color:var(--on-phos);clip-path:var(--chamfer-sm);place-items:center;display:grid}.brand-badge svg{width:20px;height:20px}.brand-word{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;font-size:.9412rem;font-weight:700}.hud-search{background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);width:min(520px,100%);height:40px;color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;cursor:text;justify-self:center;align-items:center;gap:10px;padding:0 12px 0 14px;font-size:.7059rem;transition:border-color .15s,box-shadow .15s;display:flex}.hud-search:hover{border-color:var(--phos-line);box-shadow:0 0 0 3px var(--phos-soft)}.hud-search svg{flex:none;width:16px;height:16px}.search-x{width:44px;height:44px;color:var(--ink);background:0 0;border:0;flex:none;place-items:center;margin-right:-8px;padding:0;display:none}.hud-search:focus-within .search-x,.hud-search.has-query .search-x{display:grid}.hud-search .search-x svg{width:22px;height:22px}.hud-search:focus-within kbd,.hud-search.has-query kbd{display:none}.hud-search input::-webkit-search-cancel-button{display:none}.hud-search input{min-width:0;height:100%;color:var(--ink);font-family:var(--body);letter-spacing:0;text-transform:none;background:0 0;border:0;flex:1;padding:0;font-size:.9412rem}.hud-search input:focus{outline:none}.hud-search kbd{font-family:var(--mono);border:1px solid var(--line-2);color:var(--ink-2);border-radius:3px;padding:1px 7px;font-size:.6471rem}.ibar-right{align-items:center;gap:8px;display:flex}.clock{flex-direction:column;align-items:flex-end;margin-right:10px;line-height:1.1;display:flex}.clock b{font-family:var(--mono);color:var(--phos);text-shadow:none;font-variant-numeric:tabular-nums;font-size:1.0588rem;font-weight:500}.clock small{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.6471rem}.ibar-icon{border-radius:var(--r-sm);width:38px;height:38px;color:var(--ink-2);background:0 0;border:1px solid #0000;place-items:center;display:grid}.ibar-icon svg{width:19px;height:19px}.ibar-icon:hover{border-color:var(--line-2);color:var(--ink)}.pilot{border:1px solid var(--line);height:46px;color:var(--ink);text-align:left;background:0 0;border-radius:999px;align-items:center;gap:10px;margin-left:6px;padding:0 10px 0 6px;display:flex}.pilot:hover,.pilot.on{border-color:var(--phos-line);background:var(--bg-3)}.pilot-name{flex-direction:column;line-height:1.15;display:flex}.pilot-name strong{font-size:.7647rem;font-weight:600}.pilot-name small{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.6471rem}.pilot svg{width:16px;height:16px;color:var(--muted)}.pilot[data-state=synced] .ring{animation:2.4s infinite live-ring}.pilot[data-state=queued] .ring,.pilot[data-state=syncing] .ring{box-shadow:0 0 8px var(--amber)}.pilot[data-state=offline] .ring{border-color:var(--muted);color:var(--muted);box-shadow:none}@keyframes live-ring{0%,to{box-shadow:0 0 #1113}50%{box-shadow:0 0 10px 2px #1111118c}}.gear-strip{border-bottom:1px solid var(--line);scrollbar-width:none;background:#fff;gap:4px;padding:0 24px;display:flex;overflow-x:auto}.gear-strip::-webkit-scrollbar{display:none}.gear-strip a{height:48px;font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);white-space:nowrap;align-items:center;gap:10px;padding:0 18px;font-size:.8235rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex;position:relative}.gear-strip a i{font-family:var(--mono);letter-spacing:.1em;color:var(--muted);opacity:.7;font-size:.6471rem;font-style:normal;font-weight:500}.gear-strip a:hover{color:var(--ink);text-decoration:none}.gear-strip a.on{color:var(--phos);text-shadow:none}.gear-strip a.on i{color:var(--phos);opacity:1}.gear-strip a.on:after{content:"";background:var(--phos);height:2px;box-shadow:var(--phos-glow);position:absolute;bottom:-1px;left:12px;right:12px}.tab-bar{display:none}.sub-strip{border-bottom:1px solid var(--line);scrollbar-width:none;background:#f7f7f7;align-items:center;gap:4px;padding:8px 24px;display:flex;overflow-x:auto}.sub-strip::-webkit-scrollbar{display:none}.sub-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--muted);white-space:nowrap;margin-right:10px;font-size:.6471rem}.sub-label:after{content:"▸";color:var(--phos);margin-left:8px}.sub-strip a,.tabs a{border-radius:var(--r-sm);height:32px;color:var(--ink-2);white-space:nowrap;border:1px solid #0000;align-items:center;padding:0 14px;font-size:.7647rem;font-weight:600;text-decoration:none;display:inline-flex}.sub-strip a:hover,.tabs a:hover{color:var(--ink);background:var(--bg-3);text-decoration:none}.sub-strip a.router-link-active,.tabs a.router-link-active,.tabs a.on{color:var(--phos);background:var(--phos-soft);border-color:var(--phos-line)}.sub-strip a{border-color:var(--line-2);min-width:8.5rem;height:40px;color:var(--ink);background:#fff;justify-content:center}.sub-strip a.router-link-active{color:#fff;background:#111;border-color:#111}.sub-strip a.router-link-active:hover{color:#fff;background:#000}.tabs{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2);gap:4px;padding:4px;display:inline-flex}.deck{width:100%;max-width:1480px;min-height:0;padding:28px 24px calc(28px + var(--safe-bottom));overscroll-behavior:contain;flex:1;margin:0 auto;overflow-y:auto}.deck-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.deck-head h1{margin:0}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.primary-add{letter-spacing:.04em;flex:none;justify-content:flex-start;gap:6px;width:146px;padding:0 10px}.page-title{margin-bottom:4px;font-size:1.4118rem}.page-sub{color:var(--muted);margin:0 0 4px}.warn-strip{border:1px solid #111;border-left:3px solid var(--amber);background:linear-gradient(90deg, var(--amber-soft), transparent 60%), var(--bg-2);border-radius:var(--r-sm);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin-bottom:22px;padding:12px 18px;display:grid}.warn-strip strong{font-family:var(--display);color:var(--ink);font-size:.8824rem;display:block}.warn-strip p{color:var(--ink-2);margin:2px 0 0;font-size:.7647rem}.warn-strip p b{color:var(--amber);font-weight:600}.warn-strip.info{background:var(--bg-2);border-color:#c8c8c8 #c8c8c8 #c8c8c8 #111}.cluster{grid-template-columns:1fr 1.2fr 1fr;gap:16px;margin-bottom:16px;display:grid}.bay-track{grid-template-columns:1fr 1.2fr 1fr;grid-template-areas:"delivered warnings booked""chart chart trip";gap:16px;display:grid}.bay-gauges{display:contents}.bay-delivered{grid-area:delivered}.bay-warn{grid-area:warnings}.bay-booked{grid-area:booked}.bay-chart{grid-area:chart}.bay-trip{grid-area:trip}.bay-dots{display:none}.gauge{flex-direction:column;align-items:center;margin:0;padding:14px 18px 4px;display:flex}.gauge-arc{display:contents}.gauge svg{width:100%;max-width:280px;height:auto;overflow:visible}.gauge-track{fill:none;stroke:var(--bg-4);stroke-width:10px;stroke-linecap:round}.gauge-redline{fill:none;stroke:#00000047;stroke-width:10px}.gauge-fill{fill:none;stroke:var(--phos);stroke-width:10px;stroke-linecap:round;filter:none;transition:stroke-dasharray .8s cubic-bezier(.2,.8,.2,1)}.gauge-panel{cursor:pointer}.gauge-ticks line{stroke:#00000047;stroke-width:1.2px}.gauge-ticks line.major{stroke:#000000b3;stroke-width:2px}.gauge-ticks line.hot{stroke:#111}.gauge-marker{fill:var(--amber);filter:none}.gauge-needle{transform-origin:100px 100px;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.gauge-needle line{stroke:#111;stroke-width:2.5px;stroke-linecap:round;filter:none}.gauge-needle line.tail{stroke:#111;stroke-width:4px}.gauge-hub{fill:var(--bg-4);stroke:#111;stroke-width:1.5px}.gauge-hub-dot{fill:#111}.gauge text{font-family:var(--mono);fill:var(--muted);font-size:.6471rem}.gauge figcaption{text-align:center;flex-direction:column;align-items:center;gap:2px;margin-top:2px;display:flex}.gauge-value{font-family:var(--mono);color:var(--ink);text-shadow:none;font-variant-numeric:tabular-nums;font-size:2rem;font-weight:500;line-height:1}.gauge-value small{color:var(--phos);margin-left:2px;font-size:.9412rem}.gauge figcaption span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.6471rem}.gauge.compact{padding:2px 6px 10px}.gauge.compact svg{max-width:148px}.gauge.compact .gauge-value{font-size:1.2941rem}.gauge.compact figcaption span{letter-spacing:.08em;max-width:14em;line-height:1.35}.lamps-panel{flex-direction:column;display:flex}.lamps{background:var(--line);border-radius:0 0 var(--r) var(--r);flex:1;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:1px;display:grid;overflow:hidden}.lamp-tile{background:var(--bg-2);opacity:.55;border:0;justify-content:center;align-items:center;width:100%;margin:0;padding:6px 4px 2px;transition:opacity .2s;display:flex}.lamp-tile.lit{opacity:1}button.lamp-tile{cursor:pointer}button.lamp-tile:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.warn-queue{margin-bottom:16px}.warn-queue button{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 16px;display:flex}.warn-queue button small{color:var(--muted);display:block}.lamp-tile .gauge{width:100%}.lamp-tile.yellow.lit .gauge-value{color:var(--amber)}.lamp-tile.red.lit .gauge-value{color:var(--red)}.lamps-panel .lamps{border-top:0}.road-panel{cursor:pointer;touch-action:none;margin-bottom:16px}.road-panel.plain{cursor:default}.road-panel.shift-next{animation:.28s road-shift-next}.road-panel.shift-prev{animation:.28s road-shift-prev}.road-panel.shift-up{animation:.28s road-shift-up}.road-panel.shift-down{animation:.28s road-shift-down}@keyframes road-shift-next{0%{transform:translate(28px)}to{transform:none}}@keyframes road-shift-prev{0%{transform:translate(-28px)}to{transform:none}}@keyframes road-shift-up{0%{transform:translateY(28px)}to{transform:none}}@keyframes road-shift-down{0%{transform:translateY(-28px)}to{transform:none}}.agenda{margin:0;padding:0;list-style:none}.agenda-row{border:0;border-top:1px solid var(--line);text-align:left;width:100%;color:inherit;background:0 0;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;margin:0;padding:14px 18px;display:grid}.next-shot{text-align:left;width:100%;color:inherit;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:16px 20px 18px;display:flex}.next-shot .readout{font-size:2rem;font-weight:500;line-height:1}.next-shot strong{font-family:var(--display);margin-top:6px;font-size:1.6471rem;font-weight:600;line-height:1.15;display:block}.next-shot>span{margin-top:6px;font-size:.8235rem;display:block}.next-shot small{max-width:100%;color:var(--muted);white-space:normal;overflow-wrap:anywhere;margin-top:4px;font-size:.7647rem;line-height:1.35;display:block}.next-trip{margin-top:8px;font-size:.8235rem;font-style:normal;font-weight:650;display:block}.next-shot.holding{background:#f5f5f5}.agenda-row .readout{font-size:1.0588rem}.agenda-row .readout i{letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px;font-size:.6471rem;font-style:normal;display:block}.agenda-row strong{font-family:var(--display);font-size:1.0588rem;line-height:1.2;display:block}.agenda-row small{color:var(--muted);margin-top:2px;font-size:.7647rem;display:block}.agenda-row.now{box-shadow:inset 3px 0 #111}.agenda-row.holding{background:#f5f5f5}.agenda-empty{box-sizing:border-box;min-height:183px;color:var(--muted);align-items:center;margin:0;padding:16px 20px 18px;display:flex}.agenda-empty.rest{color:var(--ink);font-family:var(--display);font-size:2rem;font-weight:600;line-height:1.1}.road-switch{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;margin:0;padding:0;display:flex}.road-switch b{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--ink);font-size:.7647rem;font-weight:650}.road-days{z-index:1;gap:16px;display:grid;position:relative}.road-days h3{color:#fff;width:fit-content;font-family:var(--body);letter-spacing:0;text-transform:none;margin:0;font-size:.7647rem;font-weight:650;position:sticky;left:16px}.road-empty{cursor:pointer;text-align:left;border:0}.road{border-radius:0 0 var(--r) var(--r);background:#111;padding:8px 0 16px;position:relative;overflow-x:auto}.road-lane{--lane-top:16px;--lane-bottom:16px;height:156px;margin:14px 16px 12px;position:relative}.road-lane:before{content:"";left:0;right:0;top:calc((var(--lane-top) + (100% - var(--lane-bottom))) / 2 - 1px);pointer-events:none;background-image:linear-gradient(90deg,#ffffffd9 0 28px,#0000 28px);background-repeat:repeat-x;background-size:52px 100%;height:2px;animation:1.6s linear infinite dash;position:absolute}@keyframes dash{0%{background-position:0 0}to{background-position:-52px 0}}.road-lane:after{content:"";left:0;right:0;top:var(--lane-top);bottom:var(--lane-bottom);pointer-events:none;border-top:2px solid #fff;border-bottom:2px solid #fff;position:absolute}.vehicle{top:calc((var(--lane-top) + (100% - var(--lane-bottom))) / 2);z-index:3;width:var(--car,248px);left:calc(var(--from,0) * (100% - var(--car,248px)));text-align:left;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;padding:0;transition:transform .15s;display:block;position:absolute;transform:translateY(-50%)}.vehicle:hover{transform:translateY(-50%)translate(4px)}.vehicle.holding,.vehicle.holding:hover{transform:translateY(-50%)scale(.985)}.vehicle-body{display:block;position:relative}.vehicle-shape{width:100%;height:auto;display:block}.vehicle-copy{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:46%;min-width:0;height:48%;display:flex;position:absolute;top:50%;left:42.3%;overflow:hidden;transform:translate(-50%,-50%)}.vehicle-copy .readout{font-size:.7647rem;line-height:1}.vehicle-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.7647rem;line-height:1.1;overflow:hidden}.vehicle-kind{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.vehicle-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.vehicle-top b{color:var(--phos);font-size:.9412rem;font-weight:500}.vehicle strong{font-family:var(--display);font-size:.8824rem}.vehicle small{color:var(--muted);font-size:.7059rem}.road-lane.fit{--lane-top:16px;--lane-bottom:16px;width:auto;height:108px;margin:16px 12px 4px}.road-lane.fit .vehicle,.road-lane.fit .vehicle:hover,.road-lane.fit .vehicle.holding,.road-lane.fit .vehicle.holding:hover{transform:translateY(calc(-50% - 18px))}.road-lane.fit .vehicle.holding,.road-lane.fit .vehicle.holding:hover{transform:translateY(calc(-50% - 18px))scale(.985)}.passing{z-index:2;top:calc((var(--lane-top) + (100% - var(--lane-bottom))) / 2);left:calc(var(--at) * (100% - var(--car,42px)));width:var(--car,42px);aspect-ratio:914/433;filter:brightness(var(--shade));pointer-events:none;animation:oncoming var(--pace) linear infinite;animation-delay:var(--delay);background:url(/car-top.png) 50%/contain no-repeat;position:absolute;transform:translateY(calc(18px - 50%))scaleX(-1)}@keyframes oncoming{0%{left:100%}to{left:calc(var(--car,42px) * -1)}}.road-lane.fit .vehicle-copy{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;top:0;left:0;overflow:hidden;transform:none}.road-lane.drive{overflow:hidden}.road-lane.drive .vehicle{width:min(220px,68%);left:var(--x,0px)}.road-empty{z-index:1;color:#fff;width:fit-content;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;background:#111;margin:0;padding:6px 10px;font-size:.7059rem;position:relative}.seat-open{overflow:hidden}.seat-layer{z-index:var(--z-overlay);padding:calc(16px + var(--safe-top)) 0 calc(16px + var(--safe-bottom));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.seat-scrim{cursor:pointer;background:#00000075;border:0;padding:0;position:absolute;inset:0}.seat{width:min(440px,100% - 20px);max-height:calc(100% - 20px - var(--safe-bottom));background:#f5f5f5;border-radius:22px;margin:0 10px;animation:.28s cubic-bezier(.2,.85,.2,1) seat-up;position:relative;overflow:auto;box-shadow:0 28px 70px -28px #000000d9}@keyframes seat-up{0%{opacity:0;transform:translateY(28px)}}.seat-road{color:#fff;background:#111;padding:8px 20px 18px;position:relative}.seat-toolbar{align-items:center;min-height:44px;padding-right:44px;display:flex}.seat-road h2{color:#fff;letter-spacing:-.02em;margin:2px 0 0;font-size:1.5294rem;line-height:1.15}.seat-name{width:100%;min-height:44px;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin:0;padding:0;display:flex}.seat-name span{min-width:0}.seat-name svg{color:#ffffff8c;flex:none;width:16px;height:16px}.seat-road p{color:#ffffffb8;margin:2px 0 0;font-size:.8824rem;line-height:1.35}.seat-road .readout{color:#fff}.seat-timer{color:#ffffff8c;font-size:.7647rem}.seat-actions{background:#f5f5f5;padding:16px}.seat-list{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.seat-go{width:100%;min-height:52px;color:var(--ink);text-align:left;background:#fff;border:0;grid-template-columns:32px minmax(0,1fr) auto 16px;align-items:center;column-gap:12px;padding:8px 12px 8px 16px;text-decoration:none;display:grid;position:relative}.seat-go:not(:last-child):after{content:"";background:var(--line);height:1px;position:absolute;bottom:0;left:60px;right:0}.seat-mark{color:#fff;background:#111;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.seat-mark svg{width:18px;height:18px}.seat-copy{flex-direction:column;gap:1px;min-width:0;display:flex}.seat-copy span{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--ink);font-size:1rem;font-weight:600}.seat-copy small{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--muted);font-size:.7647rem;font-weight:400}.seat-go b{text-overflow:ellipsis;white-space:nowrap;max-width:9.5rem;font-family:var(--body);color:var(--ink-2);justify-self:end;font-size:.8824rem;font-weight:400;line-height:1.2;overflow:hidden}.seat-go em{color:#9a9a9a;justify-self:end;font-size:.8824rem;font-style:normal}.seat-chevron{color:#c4c4c4;width:16px;height:16px}.seat-go:not(.off):hover{background:#f7f7f7;text-decoration:none}.seat-go.off{cursor:default}.seat-go.off .seat-mark{color:#9a9a9a;background:#f2f2f2}.seat-go.off .seat-chevron{visibility:hidden}.dash-bottom{grid-template-columns:1.6fr 1fr;gap:16px;display:grid}.scope{grid-template-columns:36px 1fr;gap:8px;padding:18px 18px 12px;display:grid}.scope-axis{height:180px;font-family:var(--mono);color:var(--muted);text-align:right;flex-direction:column;justify-content:space-between;padding-bottom:22px;font-size:.6471rem;display:flex}.scope-panel,.trip-panel{cursor:pointer}.scope-bars{grid-template-columns:repeat(var(--bars,12), minmax(0, 1fr));background:linear-gradient(#00000014 1px, transparent 1px) 0 0 / 100% 25%, linear-gradient(90deg, #0000000d 1px, transparent 1px) 0 0 / calc(100% / var(--bars,12)) 100%;border-bottom:1px solid var(--line-2);background-clip:content-box;align-items:end;gap:6px;height:180px;padding-bottom:22px;display:grid}.scope-bars span{min-height:3px;box-shadow:var(--phos-glow);transform-origin:bottom;animation:.55s cubic-bezier(.2,.8,.2,1) both scope-rise;animation-delay:calc(var(--i) * 35ms);background:#111;border-radius:2px 2px 0 0;position:relative}.scope-bars span.now{box-shadow:none;background:#5c5c5c}.scope-bars span i{font-family:var(--mono);color:var(--muted);margin-top:6px;font-size:.6471rem;font-style:normal;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes scope-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.odometer{align-items:center;gap:4px;padding:20px 18px 8px;display:flex}.odo-window{width:42px;height:56px;font-family:var(--mono);color:var(--ink);border:1px solid var(--line-2);background:linear-gradient(#fff,#f5f5f5);border-radius:4px;font-size:2rem;font-weight:500;overflow:hidden;box-shadow:inset 0 -12px 20px -14px #000,inset 0 12px 20px -14px #000}.odo-window i{transform:translateY(calc(var(--roll) * -56px));transition:transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:var(--delay);display:block}.odo-window b{place-items:center;height:56px;display:grid}.odo-window:last-of-type{color:var(--on-phos);background:var(--phos);border-color:var(--phos)}.odometer em{font-style:normal;font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-left:6px;font-size:.8235rem}.trip{grid-template-columns:1fr auto;gap:0 16px;margin:0;padding:6px 18px 16px;display:grid}.trip dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);border-top:1px dashed var(--line);padding:9px 0;font-size:.6471rem}.trip dd{text-align:right;color:var(--ink);border-top:1px dashed var(--line);margin:0;padding:7px 0;font-size:.9412rem}.trip dd small{font-family:var(--mono);color:var(--muted);margin-left:4px;font-size:.6471rem}.diary-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.diary-views{border:1px solid var(--line);border-radius:var(--r);flex:none;margin:0 0 12px;display:flex;overflow:hidden}.diary-views button{border:0;border-right:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;flex:1 1 0;margin:0;padding:0 8px;font-size:.8235rem;font-weight:600}.diary-views button:last-child{border-right:0}.diary-views button[aria-checked=true]{color:#fff;background:#111}.diary-views button:active{background:#ececec}.diary-views button[aria-checked=true]:active{background:#000}.segment{border:1px solid var(--line-2);border-radius:var(--r-sm);display:inline-flex;overflow:hidden}.segment button{width:40px;color:var(--ink-2);background:0 0;border:0;border-radius:0;padding:0}.segment button+button{border-left:1px solid var(--line-2)}.segment button:hover{background:var(--bg-3);color:var(--phos)}.segment svg{width:16px;height:16px}.diary-menu{flex:none;margin-left:auto;position:relative}.diary-pop{z-index:var(--z-pop);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r);min-width:190px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 24px 50px -20px #000}.diary-pop button,.diary-pop label{text-align:left;border-radius:var(--r-sm);width:100%;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;padding:0 12px;font-size:1rem;display:flex}.diary-pop button:hover,.diary-pop label:hover{background:var(--bg-4);color:var(--phos)}.diary-legend{align-items:center;gap:14px;display:inline-flex}.diary-legend>span{align-items:center;gap:6px;display:inline-flex}.diary-legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.diary-legend .l-past{background:#c8c8c8}.diary-legend .l-future{background:var(--phos);box-shadow:var(--phos-glow)}.diary-legend .l-test{background:var(--amber);box-shadow:var(--amber-glow)}.diary-legend .readout{margin-left:8px}.diary-head{padding:0}.diary-view{min-height:44px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:8px 18px;display:flex}.diary-view span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.diary-head .diary-legend{padding-right:18px}@media (width<=640px){.diary-head.is-month{display:none}}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-dows{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;grid-column:1/-1;grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;display:grid}.month-dow{text-align:center;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 2px;font-size:.6471rem}.month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:#f7f7f7;flex-direction:column;align-items:stretch;gap:3px;min-width:0;min-height:92px;padding:6px;display:flex}.month-grid .month-day:nth-child(7n){border-right:0}.month-day.off{background:var(--bg-2)}.month-day.off>.readout{color:var(--muted)}.month-day.today{box-shadow:inset 0 0 0 1px #111}.month-day>.readout{font-size:.7647rem}.month-lesson{width:100%;min-width:0;color:var(--ink);font-family:var(--body);text-align:left;white-space:nowrap;background:#fff;border:0;border-left:3px solid #111;border-radius:2px;align-items:baseline;gap:4px;padding:2px 4px;font-size:.6471rem;line-height:1.25;display:flex;overflow:hidden}.month-lesson b,.month-lesson span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.month-lesson b{font-family:var(--mono);flex-shrink:0;font-weight:500}.month-lesson.past{color:var(--muted);border-left-color:#a3a3a3}.month-lesson.future{border-left-color:#111}.month-lesson.test{background:repeating-linear-gradient(135deg,#0000000f 0 6px,#0000 6px 12px),#fff}@media (width<=900px){.month-lesson{white-space:normal;flex-direction:column;align-items:flex-start;gap:0}.month-day{min-height:64px;padding:4px 3px}}.road-week{overflow:hidden}.day-list{display:none}.day-group{border-top:1px solid var(--line);background:#fff;grid-template-columns:64px minmax(0,1fr);align-items:start;display:grid}.day-group:first-child{border-top:0}.day-group:nth-child(2n){background:#f3f3f3}.day-group.today{box-shadow:inset 3px 0 #111}.day-head{flex-direction:column;align-items:flex-start;gap:0;padding:12px 4px 12px 12px;display:flex}.day-head strong{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.6471rem}.day-head .readout{color:var(--ink);font-size:1.5294rem;line-height:1.05}.day-head small{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin-top:4px;font-size:.6471rem}.day-lessons{min-width:0}.day-lesson,.day-empty{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:44px;margin:0;padding:10px 16px 10px 4px;display:flex}.day-lesson+.day-lesson{border-top:1px solid #11111114}.day-lesson:active,.day-empty:active{background:#e6e6e6}.day-lesson .readout{flex:none}.day-lesson strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.day-lesson>span{color:var(--muted);font-family:var(--mono);flex:none;font-size:.7647rem}.day-lesson.past .readout,.day-lesson.past strong,.day-empty{color:var(--muted)}button.month-num{text-align:left;background:0 0;border:0;align-self:flex-start;min-width:44px;min-height:44px;margin:0;padding:0}.month-day{cursor:default}.rw-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--bg-4) transparent;overflow-x:auto}.rw-grid{grid-template-columns:76px var(--lane-w);grid-auto-rows:72px;min-width:max-content;display:grid}.rw-corner,.rw-axis{height:40px}.rw-grid>:nth-child(-n+2){grid-row:1}.rw-grid{grid-template-rows:40px}.rw-corner{z-index:3;background:var(--bg-2);border-bottom:1px solid var(--line);border-right:1px solid var(--line);position:sticky;left:0}.rw-axis{border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg, #00000029 0 1px, transparent 1px var(--hour)), repeating-linear-gradient(90deg, transparent 0 calc(var(--hour) / 2 - 1px), #00000014 calc(var(--hour) / 2 - 1px) calc(var(--hour) / 2), transparent calc(var(--hour) / 2) var(--hour));background-size:var(--hour) 10px, var(--hour) 6px;background-position:0 100%,0 100%;background-repeat:repeat-x;position:relative}.rw-axis span{font-family:var(--mono);color:var(--muted);letter-spacing:.04em;margin-left:6px;font-size:.6471rem;position:absolute;top:8px}.rw-now{width:0;position:absolute;top:0;bottom:0}.rw-now b{color:#fff;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;box-shadow:var(--cyan-glow);background:#111;border-radius:3px;padding:1px 7px;font-size:.6471rem;position:absolute;top:6px;left:50%;transform:translate(-50%)}.rw-now b:after{content:"";border:5px solid #0000;border-top-color:var(--cyan);position:absolute;top:100%;left:50%;transform:translate(-50%)}.rw-day{z-index:2;background:var(--bg-2);border-right:1px solid var(--line);border-bottom:1px dashed #00000029;flex-direction:column;justify-content:center;padding:0 12px;line-height:1.1;display:flex;position:sticky;left:0}.rw-day strong{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.6471rem;font-weight:500}.rw-day span{color:var(--ink);margin-top:2px;font-size:1.2941rem}.rw-day small{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--phos);margin-top:3px;font-size:.6471rem}.rw-day.today{background:linear-gradient(90deg, var(--phos-soft), var(--bg-2));border-right-color:var(--phos-line)}.rw-day.today span{color:var(--phos)}.rw-lane{background:repeating-linear-gradient(90deg, #00000014 0 1px, transparent 1px var(--hour)), #f7f7f7;border-bottom:1px dashed #00000029;position:relative}button.vehicle-blk{appearance:none;font:inherit;text-align:left}.rw-lane:last-child{border-bottom:0}.rw-lane:hover{background-color:#efefef}.rw-lane.today{background-color:#f0f0f0;box-shadow:inset 0 0 0 1px #111}.rw-nowline{background:var(--cyan);width:2px;box-shadow:var(--cyan-glow);opacity:.8;pointer-events:none;margin-left:-1px;position:absolute;top:0;bottom:0}.vehicle-blk{text-align:left;border:1px solid var(--line-2);border-left:4px solid var(--phos);background:var(--bg-3);height:58px;color:var(--ink);border-radius:8px 4px 4px 8px;flex-direction:column;justify-content:center;gap:2px;padding:0 10px 0 12px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;position:absolute;top:7px;overflow:hidden;box-shadow:0 6px 18px -10px #000000e6}.vehicle-blk:after{content:"";background:var(--red);opacity:.7;border-radius:2px 0 0 2px;width:3px;position:absolute;top:10px;bottom:10px;right:0}.vehicle-blk:hover{border-color:var(--phos-line);box-shadow:0 10px 22px -10px #000, 0 0 0 1px var(--phos-line);z-index:2;transform:translateY(-1px)}.vehicle-blk:active{background:#ececec}.vehicle-blk.past{border-left-color:#a3a3a3}.vehicle-blk.past strong,.vehicle-blk.past .vb-top b{color:var(--muted)}.vehicle-blk.past:after{opacity:.25}.vehicle-blk.test{background:repeating-linear-gradient(135deg, #0000000f 0 8px, transparent 8px 16px), var(--bg-3);border-left-color:#111}.vehicle-blk.test .vb-top b{color:var(--amber)}.vb-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.vb-top b{color:var(--phos);font-size:.7647rem;font-weight:500}.vehicle-blk strong{font-family:var(--display);white-space:nowrap;text-overflow:ellipsis;font-size:.7647rem;overflow:hidden}.vehicle-blk small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.6471rem;overflow:hidden}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.filter-pairs{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px;width:100%;display:grid}.filter-pairs .chips{grid-template-columns:1fr;gap:8px;margin-bottom:0;display:grid}.filter-pairs .chips button{justify-content:space-between;width:100%}.hud-filter{background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);max-width:480px;height:42px;color:var(--muted);flex:320px;align-items:center;gap:10px;padding:0 14px;display:flex}.hud-filter:focus-within{border-color:var(--phos);box-shadow:0 0 0 3px var(--phos-soft)}.hud-filter svg{flex-shrink:0;width:16px;height:16px}.hud-filter input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:.8235rem}.hud-filter input::placeholder{color:var(--muted)}.chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.toolbar .chips{margin-bottom:0}.chips button{border:1px solid var(--line-2);border-radius:var(--r-sm);height:34px;color:var(--ink-2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;background:0 0;align-items:center;gap:8px;padding:0 12px;font-size:.6471rem;display:inline-flex}.chips button b{color:var(--ink);background:var(--bg-4);border-radius:3px;padding:0 6px;font-weight:500}.chips button:hover{border-color:var(--phos-line);color:var(--ink)}.chips button.on{border-color:var(--phos);color:var(--phos);background:var(--phos-soft)}.chips button.on b{background:var(--phos);color:var(--on-phos)}.table-wrap{overflow:auto}.bezel.table-wrap:after{bottom:0;right:0}.manifest{border-collapse:collapse;width:100%;font-size:.8235rem}.manifest th{text-align:left;font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);border-bottom:1px solid var(--line-2);white-space:nowrap;background:#fafafa;padding:12px 16px;font-size:.6471rem;font-weight:500}.manifest td{border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink-2);padding:13px 16px}.manifest tr:last-child td{border-bottom:0}.manifest td strong{color:var(--ink);white-space:nowrap;font-weight:600;display:block}.manifest td.readout{white-space:nowrap}.manifest td:has(>.plate){white-space:nowrap}.manifest td small{margin-top:1px;font-size:.7059rem;display:block}.manifest td .student-meta,.manifest td .lesson-meta,.lesson-log .lesson-hours{display:none}.lesson-log .lesson-month th{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--ink);background:0 0;border-bottom:0;padding:18px 16px 6px;font-size:.8824rem;font-weight:600}.manifest .right,.manifest .num{text-align:right}.manifest tr.clickable{cursor:pointer;transition:background .12s}.manifest tr.clickable:hover td{background:#f5f5f5}.manifest tr.clickable:hover td:first-child{box-shadow:inset 3px 0 0 var(--phos)}.manifest tr.totals td{color:var(--ink);background:#f5f5f5;font-weight:600}.row-actions{gap:2px;display:inline-flex}.empty-note{border:1px dashed var(--line-2);border-radius:var(--r);color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;text-align:center;margin:0;padding:22px;font-size:.7059rem}.readouts{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.readout-tile{flex-direction:column;gap:6px;padding:16px 18px;display:flex}.readout-tile span,.readout-tile label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.6471rem}.readout-tile b{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.5294rem;font-weight:500}.readout-tile.good b{color:var(--phos);text-shadow:none}.readout-tile.bad b{color:var(--red);text-shadow:none}.select-tile label{flex-direction:column;gap:8px;display:flex}.select-tile select{height:38px}.field{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);flex-direction:column;gap:6px;margin-bottom:14px;font-size:.6471rem;display:flex}.field input,.field select,.field textarea,.input,.readout-tile select{background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);width:100%;min-height:42px;color:var(--ink);font-family:var(--body);letter-spacing:0;text-transform:none;padding:9px 12px;font-size:.8824rem;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.input:focus,.readout-tile select:focus{border-color:var(--phos);box-shadow:0 0 0 3px var(--phos-soft);outline:none}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right 10px center!important;background-repeat:no-repeat!important;background-size:16px!important;background-color:var(--bg-3)!important;padding-right:34px!important}input[type=checkbox]{accent-color:var(--phos);width:16px;height:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}.form-actions{flex-wrap:nowrap;align-items:center;gap:8px;margin-top:6px;display:flex}.form-actions>.solid,.form-actions>.orange,.form-actions>.ghost,.form-actions>.quiet{min-width:0;font-family:var(--body);letter-spacing:0;text-transform:none;flex:1 1 0;padding:0 8px;font-size:.8824rem;font-weight:600}.sheet-x{z-index:2;width:44px;height:44px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.sheet-x svg{width:22px;height:22px}.sheet-x:hover{background:var(--bg-4)}.drawer,.modal,.student-sheet{position:relative}.seat-road .sheet-x{color:#fff;top:8px;right:8px}.seat-road .sheet-x:hover{background:#ffffff1f}.check{color:var(--ink-2);cursor:pointer;align-items:center;gap:10px;margin-bottom:14px;font-size:.8235rem;display:flex}.terms-row{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg-3);justify-content:space-between;align-items:center;margin:0 0 16px;padding:12px 14px;display:flex}.grow .input{margin-bottom:18px}.grow form h2{margin-bottom:10px;font-size:.8824rem}.error-text{color:var(--red);margin:-4px 0 12px;font-size:.7647rem}.divider{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);align-items:center;gap:12px;margin:18px 0 12px;font-size:.6471rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line-2);flex:1;height:1px}.fine{color:var(--muted);margin:14px 0 0;font-size:.7059rem}.meta-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.notes-list{gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.notes-list li{border-left:3px solid var(--phos);background:var(--bg-3);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:10px 14px}.backdrop{z-index:var(--z-backdrop);background:#030508b3;position:fixed;inset:0}.drawer{width:min(420px,100vw - 24px);z-index:var(--z-overlay);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r);padding:22px 24px;animation:.22s cubic-bezier(.2,.8,.2,1) slide-in;position:fixed;top:12px;bottom:12px;right:12px;overflow:auto;box-shadow:0 30px 80px -20px #000,inset 0 1px #ffffff0d}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}.drawer h2{margin-bottom:2px;font-size:1.1765rem}.drawer>.row{padding-right:40px}.drawer h3{margin-top:20px}.drawer p{color:var(--ink-2)}.menu{top:calc(var(--bar-h) + var(--safe-top) + 6px);z-index:var(--z-overlay);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r);min-width:220px;padding:6px;display:grid;position:fixed;right:24px;box-shadow:0 24px 50px -20px #000}.menu a,.menu button{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--ink);background:0 0;border:0;padding:10px 12px;font-size:.8235rem;display:block}.menu a:hover,.menu button:hover{background:var(--bg-4);color:var(--phos);text-decoration:none}.menu .sep{background:var(--line);height:1px;margin:6px 4px}.modal{z-index:var(--z-overlay);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r);width:min(560px,100vw - 24px);max-height:76vh;box-shadow:0 30px 80px -20px #000, 0 0 0 1px var(--phos-line);padding:22px 56px 22px 24px;position:fixed;top:12vh;left:50%;overflow:auto;transform:translate(-50%)}.modal h2{margin-bottom:14px}.hit{border-radius:var(--r-sm);width:100%;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:10px 12px;font-size:.8235rem;display:flex}.hit>span:last-child{min-width:0;display:block}.hit small,.manifest small,.search-hint{display:block}mark{color:#fff;background:#111;border-radius:2px;padding:0 1px}.hit:hover{background:var(--bg-3);color:var(--phos)}.notice{z-index:var(--z-notice);background:var(--bg-3);border:1px solid var(--phos-line);border-left:3px solid var(--phos);border-radius:var(--r-sm);color:var(--ink);font-family:var(--mono);letter-spacing:.04em;box-shadow:0 20px 40px -16px #000, var(--phos-glow);margin:0;padding:12px 18px;font-size:.7059rem;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.split{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:18px;display:grid}.side{gap:2px;padding:10px;display:grid}.side>div{gap:2px;display:grid}.side h3{margin:10px 10px 6px}.side a,.side button{border-radius:var(--r-sm);width:100%;color:var(--ink-2);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:.7647rem;font-weight:500;text-decoration:none;display:flex}.side a svg,.side button svg{width:14px;height:14px;color:var(--muted)}.side a:hover,.side button:hover{background:var(--bg-3);color:var(--ink);text-decoration:none}.side a.on,.side button.on,.side a.router-link-exact-active{background:var(--phos-soft);color:var(--phos);box-shadow:inset 2px 0 0 var(--phos)}.setting-screen{gap:18px;max-width:720px;display:grid}.setting-intro .page-title{margin:0}.setting-intro .page-sub{margin:4px 0 0}.setting-block{gap:8px;display:grid}.setting-block>h2{font-family:var(--body);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 4px;font-size:.7647rem;font-weight:600}.setting-rows{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.setting-row{width:100%;min-height:44px;color:var(--ink);font-family:var(--body);letter-spacing:0;text-align:left;text-transform:none;background:#fff;border:0;border-top:1px solid #11111114;border-radius:0;align-items:center;gap:12px;margin:0;padding:10px 14px;font-size:1rem;font-weight:500;text-decoration:none;display:flex}.setting-rows>:first-child{border-top:0}.setting-row>span:first-child{flex:auto;min-width:0;line-height:1.25}.setting-value{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);text-align:right;flex:0 46%;margin-left:auto;font-size:.8824rem;font-weight:400;overflow:hidden}.setting-row svg{width:16px;height:16px;color:var(--muted);flex:none}.setting-row.signout{justify-content:center;font-weight:600}.money-summary,.money-form,.ledger .setting-block{max-width:720px}.ledger .money-summary,.ledger .money-form{margin-bottom:18px}.money-figure{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:1rem;font-weight:650}.money-pay{align-items:center;min-height:60px}.money-copy{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.money-copy strong{font-size:1rem;font-weight:600;line-height:1.25}.money-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8824rem;font-weight:400;overflow:hidden}.money-note{color:var(--muted);font-weight:400}.money-remove{flex:none;width:44px;height:44px}.money .setting-row .money-remove svg,.ledger .money-remove svg{width:20px;height:20px}.setting-row:active{background:var(--bg-4)}a.setting-row:hover{color:var(--ink);text-decoration:none}.setting-person{border:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);text-align:left;background:#fff;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;display:flex}.setting-person-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.setting-person strong{font-size:1.0588rem;line-height:1.2}.setting-person small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8824rem;overflow:hidden}.setting-person svg{width:16px;height:16px;color:var(--muted);flex:none;margin-left:auto}.setting-rows input,.setting-rows select,.setting-rows textarea{min-width:0;box-shadow:none;color:var(--ink);font-family:var(--body);letter-spacing:0;text-transform:none;background:0 0;border:0;border-radius:0;margin:0;font-size:1rem}.setting-row>input,.setting-row>select{text-align:right;flex:40%;padding:0}.setting-rows select{background-color:#0000!important;background-position:right 0 center!important;padding-right:22px!important}.setting-rows .catalog-main input,.setting-rows .catalog-main select{text-align:left;width:100%;padding:8px 0}.setting-row.stack{flex-direction:column;align-items:stretch;gap:6px}.setting-row.stack textarea,.setting-row.stack .mile-row{text-align:left;width:100%}.setting-row.stack textarea{resize:vertical;min-height:120px}.setting-row input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--ink);flex:none;margin:0 0 0 auto}.setting-choice{align-items:flex-start;min-height:64px;position:relative}.setting-choice input{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.setting-choice span{flex-direction:column;gap:2px;display:flex}.setting-choice b{font-family:var(--body);font-size:1rem;font-weight:600}.setting-choice small{color:var(--muted);white-space:normal;font-size:.7647rem;font-weight:400}.setting-choice svg{color:var(--ink);align-self:center;margin-left:auto}.setting-copy,.setting-note{color:var(--ink-2);margin:0;padding:12px 14px;font-size:.8824rem}.openings-back{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;margin:-8px 0 0;padding:0 8px 0 0;font-size:1rem;font-weight:600;display:inline-flex}.openings-back svg{width:22px;height:22px;margin-left:-4px}.openings .deck-head{margin-bottom:20px}.openings .page-sub{max-width:36rem;margin-top:6px;line-height:1.35}.openings .setting-screen{width:100%}.openings .setting-row{padding-left:16px;padding-right:16px}.openings-notice{color:var(--muted);margin:16px 4px 0}.openings .form-actions{flex-wrap:wrap;margin:16px 0 8px}.openings .form-actions .solid{clip-path:none;border-radius:12px;width:100%;min-height:50px;font-size:1rem}.opening-range{justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.setting-row:has(.opening-range){min-height:44px;padding-top:0;padding-bottom:0}.opening-range select,.opening-range input[type=date]{text-align:right;width:auto;min-width:5.5rem;max-width:9.5rem;height:44px;min-height:44px}.setting-row.opening-days{gap:8px;padding-top:12px;padding-bottom:12px}.opening-days .chips{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0;display:grid}.opening-days .chips button{letter-spacing:.02em;border-radius:8px;justify-content:center;width:100%;height:44px;min-height:44px;padding:0 2px}.opening-days .chips button.on{color:#111;background:#f2f2f2;border-color:#111}.opening-day{gap:8px;display:grid}.opening-day>h3{margin:8px 4px 0}.opening-day:first-of-type>h3{margin-top:0}.opening-gap+.opening-gap{margin-top:8px}.opening-slot{align-items:center;min-height:60px}.opening-actions{margin-bottom:8px}.setting-note{color:var(--muted);border-top:1px solid #11111114}.catalog-row{align-items:flex-start}.catalog-main{flex:auto;min-width:0;display:grid}.catalog-row .catalog-detail{display:grid}.catalog-main input,.catalog-main select{text-align:left}.setting-remove{min-height:44px;color:var(--ink);background:0 0;border:0;flex:none;padding:0 2px;font-weight:600}.setting-rows.import-files{gap:0;margin:0;display:grid}.setting-rows .import-file{border:0;border-top:1px solid #11111114;border-radius:0}.setting-screen .coverage-frame.large{border-radius:12px}.setting-rows .import-file:first-child{border-top:0}.setting-rows.place-matches{gap:0;margin:0;display:grid}.setting-rows.place-matches button{width:100%;min-height:44px;color:var(--ink);text-align:left;background:#fff;border:0;border-top:1px solid #11111114;border-radius:0;padding:10px 14px}.setting-rows.place-matches li:first-child button{border-top:0}.import-hint{color:var(--muted);margin:10px 0 0;font-size:.7647rem}.import-files{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.import-file{border:1px solid var(--line);border-radius:12px;padding:14px}.import-file.off{opacity:.55}.import-file .check{align-items:flex-start;margin:0}.import-file .check b,.import-file .check small{display:block}.import-file .check b{overflow-wrap:anywhere}.import-file .check small{color:var(--muted);font-weight:600}.import-facts{gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.import-facts li{background:var(--bg-3);border-radius:10px;margin:0;padding:10px 12px}.import-warning,.import-note{margin:0 0 4px;font-weight:650}.import-note{margin-top:14px}.import-progress{gap:8px;margin-top:14px;display:grid}.import-progress p{margin:0;font-weight:650}.import-progress p+.import-meter+p{color:var(--muted);font-weight:500}.import-meter{background:#11111114;border-radius:999px;height:8px;overflow:hidden}.import-meter span{border-radius:inherit;background:#111;height:100%;display:block}.settings>section{position:relative}.settings .deck-head,.settings .setting-intro,.settings .settings-back{padding-right:44px}.settings-back{color:var(--ink-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;margin:0 0 12px;padding:0 44px 0 0;font-size:.8235rem;font-weight:600;display:none}.settings-back svg{width:18px;height:18px}.coverage-frame{aspect-ratio:16/4.2;background:#e8e4dc;width:100%;position:relative;overflow:hidden}.coverage-frame.large{aspect-ratio:3/2;border-radius:var(--r) var(--r) 0 0}.coverage-stage{aspect-ratio:640/426;width:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.coverage-tile{display:block;position:absolute}.coverage-ring{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.coverage-ring circle{fill:#1111110f;stroke:#111;stroke-width:2.5px;vector-effect:non-scaling-stroke}.coverage-credit{color:var(--muted);margin:0 0 14px;font-size:.7059rem}.coverage-credit a{color:inherit}.coverage-note{color:var(--ink-2);margin:0 0 12px;font-size:.8235rem}.place-matches{gap:6px;margin:0 0 14px;padding:0;list-style:none;display:grid}.place-matches button{text-align:left;width:100%}.mile-row{align-items:center;gap:12px;display:flex}.mile-row input[type=range]{min-height:0;box-shadow:none;accent-color:var(--ink);background:0 0;border:0;flex:1;padding:0}.mile-row b{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--ink);flex:none;font-size:.8235rem;font-weight:600}.badge-preview{border:1px solid var(--line-2);border-radius:var(--r-sm);max-width:320px;margin-bottom:14px}.catalog{gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.catalog li{border:1px solid var(--line);border-radius:var(--r-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.catalog-name,.catalog-detail label{min-width:0;margin:0;display:block}.catalog-name{flex:12rem}.catalog-detail{flex:2 16rem;gap:8px;min-width:0;display:flex}.catalog-detail label{flex:1}.catalog input,.catalog select{background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-sm);width:100%;min-height:36px;color:var(--ink);font-family:var(--body);letter-spacing:0;text-transform:none;padding:6px 10px;font-size:.8235rem}.catalog .ghost{flex:none;margin:0}.mtd-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.mtd-options>*{color:var(--ink);padding:18px;transition:border-color .15s;display:block}.mtd-options a:hover{border-color:var(--phos-line);text-decoration:none}.mtd-options h2{color:var(--phos);margin-bottom:6px;font-size:.9412rem}.mtd-options p{color:var(--muted);margin:0;font-size:.7647rem}.id-panel{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:16px;padding:20px 24px;display:flex}.id-panel .meta{flex:240px}.id-panel .meta h1{font-size:1.5294rem}.id-panel .code{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:.7647rem;display:flex}.student-sheet{max-width:760px}.student-head{border-bottom:1px solid var(--line);gap:14px;padding:16px 56px 12px 16px;display:grid}.student-id{align-items:center;gap:14px;min-width:0;display:flex}.student-id .meta{flex:1;min-width:0}.student-id h1{margin:0;font-size:1.2941rem}.student-id .code{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;font-size:.7647rem;display:flex}.student-head .tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.student-head .tabs a{justify-content:center}.student-body{padding:16px}.lesson-share{gap:8px;margin-bottom:12px;display:flex}.lesson-share>.ghost{min-width:0;font-family:var(--body);letter-spacing:0;text-transform:none;flex:1 1 0;padding:0 8px;font-size:.8824rem;font-weight:600}.lesson-share>.ghost:active{background:var(--bg-4)}.student-delete{margin-top:8px}.profile-card .who{align-items:center;gap:14px;margin-bottom:16px;display:flex}.profile-card .who strong{font-family:var(--display);font-size:.9412rem;display:block}.profile-card .who small{color:var(--muted);font-size:.7059rem}.spec{grid-template-columns:auto 1fr;gap:10px 20px;margin:0;display:grid}.spec dt{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);align-self:center;font-size:.6471rem}.spec dd{color:var(--ink);margin:0}.grow{max-width:720px}.grow-art{width:320px;margin:0 0 18px}.grow p{color:var(--ink-2)}.grow form{margin-top:24px}.report-main{gap:16px;display:grid}.report-main .deck-head{margin-bottom:4px}.report-grid{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}.report-card{flex-direction:column;display:flex}.report-card h2{font-size:.9412rem}.report-empty{border:1px dashed var(--line-2);border-radius:var(--r-sm);min-height:220px;color:var(--muted);font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;flex:1;place-items:center;margin:18px;font-size:.6471rem;display:grid}.radar{aspect-ratio:1;border:1px solid var(--phos-line);background:repeating-radial-gradient(circle,#0000 0 23%,#00000040 23% calc(23% + 1px),#0000 calc(23% + 1px) 25%),radial-gradient(circle,#0000000f,#00000005 70%,#0000 71%);border-radius:50%;width:240px;margin:22px auto 10px;position:relative;overflow:hidden}.radar span{transform-origin:50%;background:#0003;width:1px;position:absolute;top:0;bottom:0;left:50%}.radar span:nth-child(2){transform:rotate(45deg)}.radar span:nth-child(3){transform:rotate(90deg)}.radar span:nth-child(4){transform:rotate(135deg)}.radar i{background:conic-gradient(#0000008c,#00000014 60deg,#0000 90deg);border-radius:50%;animation:3.2s linear infinite sweep;position:absolute;inset:0}@keyframes sweep{to{transform:rotate(360deg)}}.radar-key{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:0 0 18px;font-size:.6471rem;display:flex}.radar-key i{background:var(--amber);width:16px;height:2px;box-shadow:var(--amber-glow)}.indicator-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.indicator-grid article{flex-direction:column;gap:6px;padding:16px 18px;display:flex}.indicator-grid p{color:var(--ink-2);align-items:flex-start;gap:8px;min-height:36px;margin:0;font-size:.7059rem;display:flex}.indicator-grid p b{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.indicator-grid p small{color:var(--muted)}.indicator-grid .navy{background:var(--phos);box-shadow:var(--phos-glow)}.indicator-grid .teal{background:var(--cyan);box-shadow:var(--cyan-glow)}.indicator-grid .blue{background:var(--amber);box-shadow:var(--amber-glow)}.indicator-grid .sky{box-shadow:none;background:#5c5c5c}.indicator-grid strong{color:var(--ink);font-size:1.7647rem;font-weight:500;line-height:1}.indicator-grid span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.6471rem}.indicator-grid span b{color:var(--amber)}.help-card{border-left:3px solid var(--phos);flex-direction:row;align-items:center;gap:20px;padding:20px 22px}.help-card h2{margin-bottom:6px}.help-card p{color:var(--muted);margin:0;font-size:.7647rem}.trend{border-left:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:linear-gradient(#0000000f 1px,#0000 1px) 24px 0/100% 25%;flex-direction:column;justify-content:space-between;height:160px;margin:12px 24px 24px;padding-left:24px;display:flex;position:relative}.trend span{text-align:right;width:20px;font-family:var(--mono);color:var(--muted);font-size:.6471rem;line-height:0;position:relative;left:-24px}.trend .limit{background:var(--amber);height:2px;box-shadow:var(--amber-glow);position:absolute;top:25%;left:24px;right:0}.trend .actual{background:var(--phos);height:2px;box-shadow:var(--phos-glow);position:absolute;bottom:0;left:24px;right:0}.partner-hero .page-sub{max-width:620px}.partner-filter{min-width:220px;margin:0}.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.partner-grid article{flex-direction:column;justify-content:space-between;gap:16px;padding:20px;transition:border-color .15s,transform .15s;display:flex}.partner-grid article:hover{border-color:var(--phos-line);transform:translateY(-2px)}.partner-grid .plate{margin-bottom:12px}.partner-grid h2{font-size:.9412rem}.partner-grid p{color:var(--muted);margin:0;font-size:.7647rem}.partner-grid button{color:var(--phos);font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;background:0 0;border:0;align-self:flex-start;align-items:center;gap:8px;padding:0;font-size:.6471rem;font-weight:600;display:inline-flex}.partner-grid button svg{width:16px;height:16px;transition:transform .15s}.partner-grid button:hover svg{transform:translate(4px)}.qr{background:var(--bg-3);border:1px dashed var(--line-2);border-radius:var(--r-sm);width:132px;height:132px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:center;place-items:center;font-size:.6471rem;display:grid;position:relative}.qr:before,.qr:after{content:"";border:2px solid var(--phos);width:14px;height:14px;position:absolute}.qr:before{border-width:2px 0 0 2px;top:6px;left:6px}.qr:after{border-width:0 2px 2px 0;bottom:6px;right:6px}.ignition{min-height:100vh;padding:calc(40px + var(--safe-top)) 20px calc(40px + var(--safe-bottom));place-items:center;display:grid;position:relative;overflow:hidden}.ignition-dial{opacity:.55;pointer-events:none;width:min(1180px,160vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-74%)}.ignition-panel{z-index:1;background:#fff;width:min(440px,100%);padding:28px 30px 26px;position:relative}.ignition-brand{align-items:center;gap:12px;margin-bottom:26px;display:flex}.ignition h1{font-size:1.6471rem}.start-btn{min-height:48px;box-shadow:var(--phos-glow);margin-top:4px;font-size:.7647rem}.ignition-ticker{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--muted);flex-wrap:wrap;justify-content:center;gap:28px;margin:0;padding:0 20px;font-size:.6471rem;list-style:none;display:flex;position:absolute;bottom:20px;left:0;right:0}.ignition-ticker li{align-items:center;gap:8px;display:inline-flex}@media (width<=1180px){.cluster{grid-template-columns:1fr 1fr}.cluster .lamps-panel{order:-1;grid-column:1/-1}.bay-track{grid-template-columns:1fr 1fr;grid-template-areas:"warnings warnings""delivered booked""chart trip"}.lamps{grid-template-columns:repeat(4,1fr)}.partner-grid,.indicator-grid,.mtd-options{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:1fr}}@media (width<=900px){.ibar{padding:var(--safe-top) 16px 0;grid-template-columns:auto 1fr auto;gap:12px}.clock,.pilot-name,.pilot svg{display:none}.brand{gap:8px;min-width:0}.brand-word{white-space:nowrap}.pilot{height:44px;margin-left:0;padding:0 4px}.ibar-right{gap:4px}.ibar-icon{width:44px;height:44px}.icon-btn{width:44px;min-height:44px}.hud-search{justify-content:center;justify-self:end;width:44px;height:44px;padding:0}.hud-search input,.hud-search kbd{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:is(.ibar:has(.hud-search:focus-within),.ibar:has(.hud-search.has-query)){grid-template-columns:minmax(0,1fr)}:is(.ibar:has(.hud-search:focus-within)>:not(.hud-search),.ibar:has(.hud-search.has-query)>:not(.hud-search)){display:none}.hud-search:focus-within,.hud-search.has-query{justify-content:flex-start;justify-self:stretch;width:100%;height:44px;padding:0 0 0 12px;position:relative}.hud-search:focus-within input,.hud-search.has-query input{clip:auto;flex:1;width:auto;min-width:0;height:100%;margin:0;position:static;overflow:visible}.gear-strip{display:none}.sub-strip{gap:2px;padding-left:8px;padding-right:8px}.sub-strip a{flex:1 1 0;justify-content:center;min-width:0;padding:0 2px}.sub-strip a,.tabs a{height:44px}.settings-back,.solid,.orange,.ghost,.outline,label.solid,label.ghost,.segment button,.quiet,.chips button{min-height:44px}.segment button{width:44px}.quiet{padding:0 8px}.chips button{height:auto}.sheet-frame .filter-pairs{gap:8px}.sheet-frame .filter-pairs .chips{grid-template-columns:1fr}.sheet-frame .chips button{width:100%;height:44px;min-height:44px;font-family:var(--body);letter-spacing:0;text-transform:none;white-space:nowrap;justify-content:space-between;gap:6px;padding:0 10px;font-size:.7647rem;font-weight:600}.sheet-frame .chips button:active{background:var(--bg-4)}.sheet-frame .chips button b{flex:none;padding:0 5px}.sheet-frame .primary-add{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:.8824rem}.sheet-frame .empty-note{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:1rem}.hud-filter,.select-tile select{height:auto;min-height:44px}.field input,.field select,.field textarea,.input,.catalog input,.catalog select,.hud-filter input,.readout-tile select{min-height:44px;font-size:1rem}.sub-label{display:none}.row-actions{gap:8px}.tab-bar{z-index:var(--z-sticky);height:calc(56px + var(--safe-bottom));padding:4px 8px var(--safe-bottom);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--line);background:#ffffffdb;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar a{min-width:44px;min-height:44px;color:var(--muted);font-family:var(--body);letter-spacing:0;text-transform:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.6471rem;font-weight:650;text-decoration:none;display:flex}.tab-bar a.on{color:var(--ink)}.tab-bar svg{width:22px;height:22px}.tab-bar .brand-badge{clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);width:26px;height:26px}.tab-bar .brand-badge svg{width:16px;height:16px}.deck{padding:16px 16px calc(12px + 56px + var(--safe-bottom));flex-direction:column;display:flex}.notice{bottom:calc(16px + 56px + var(--safe-bottom))}.dash-bottom,.split{grid-template-columns:1fr}.settings>.side{display:none}.settings .reports{flex:none;min-height:0;display:block;overflow:visible}.settings .reports .report-main{flex:none;min-height:0;overflow:visible}.settings-back{display:inline-flex}.settings .coverage-frame:not(.large){aspect-ratio:16/5}.catalog li{flex-wrap:wrap}.catalog-name{flex:auto;width:calc(100% - 7.5rem);max-width:calc(100% - 7.5rem)}.catalog-detail{flex:1 0 100%}.catalog input,.catalog select{min-width:0}.side{grid-template-columns:1fr 1fr;align-items:stretch;gap:4px;display:grid}.side>div{display:contents}.side h3{display:none}.side a,.side button{white-space:normal;width:100%;min-height:44px;line-height:1.3}.stack.two{grid-template-columns:1fr}.readouts{grid-template-columns:repeat(2,1fr)}.help-card{flex-direction:column;align-items:flex-start}}@media (width<=640px){h1{font-size:1.4118rem}.cluster{grid-template-columns:1fr}.lamps{grid-template-columns:repeat(2,1fr)}.warn-strip{grid-template-columns:auto 1fr}.warn-strip>button{grid-column:2;justify-self:start}.form-grid,.form-grid.three{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.partner-grid,.indicator-grid,.mtd-options,.side,.readouts{grid-template-columns:1fr}.table-wrap{overflow:visible}.manifest{display:block}.manifest thead{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.manifest tbody{display:block}.manifest tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);align-items:start;gap:8px;padding:14px 16px;display:grid;position:relative}.manifest tr:last-child{border-bottom:0}:is(.manifest tr:has(.icon-btn),.manifest tr:has(.row-actions)){padding-right:96px}.manifest td{border:0;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:0;display:flex}.manifest td strong,.manifest td.readout{white-space:normal}.manifest td[data-label]:before{content:attr(data-label);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.6471rem;font-weight:500}:is(.manifest td:has(.icon-btn),.manifest td:has(.row-actions)){grid-area:auto;position:absolute;top:10px;right:8px}.manifest td[colspan]{grid-column:1/-1}.manifest td:empty{display:none}.sheet-frame .manifest tr{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:0 10px;padding:12px 28px 12px 12px;display:grid}.sheet-frame .manifest tr.clickable:focus-visible{outline-offset:-2px;outline:2px solid #111}.sheet-frame .manifest tr.clickable:after{content:"";pointer-events:none;border-top:1.5px solid #5c5c5c;border-right:1.5px solid #5c5c5c;width:7px;height:7px;position:absolute;top:18px;right:12px;transform:rotate(45deg)}.sheet-frame .manifest td{width:auto}.sheet-frame .manifest td.wide-col{display:none}.sheet-frame .manifest td:first-child:before,.sheet-frame .manifest td:nth-child(6):before{content:none}.sheet-frame .manifest td:first-child{margin-top:2px}.sheet-frame .manifest td:nth-child(6){color:var(--ink);margin-top:3px}.sheet-frame .manifest .hours-empty{display:none}.sheet-frame .manifest td:nth-child(2) strong{font-size:1rem;line-height:1.25}.sheet-frame .manifest .student-meta{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--muted);flex-wrap:wrap;align-items:center;gap:0;margin-top:2px;font-size:.8824rem;font-weight:400;line-height:1.35;display:flex}.sheet-frame .manifest .student-meta .lamp-label{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:0;text-transform:none;gap:6px}.student-body:has(.lesson-log){padding:0 0 12px}.student-sheet .lesson-share{margin:0;padding:12px 16px 4px}.student-sheet .lesson-log tr.lesson-month{border-bottom:0;gap:0;padding:16px 16px 4px;display:block}.student-sheet .lesson-log tr.lesson-month th{padding:0}.student-sheet .lesson-log tr:not(.lesson-month){grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:0 12px;padding:10px 16px}.student-sheet .lesson-log td{width:auto;display:block}.student-sheet .lesson-log td[data-label]:before{content:none}.student-sheet .lesson-log td.wide-col{display:none}.student-sheet .lesson-log td:first-child strong{font-family:var(--body);color:var(--ink);white-space:normal;font-size:1rem;font-weight:600;line-height:1.25}.student-sheet .lesson-log .lesson-meta{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--muted);margin-top:2px;font-size:.8824rem;font-weight:400;line-height:1.35;display:block}.student-sheet .lesson-log td.num{color:var(--ink);text-align:right;margin-top:1px}.student-sheet .lesson-log .lesson-count{display:none}.student-sheet .lesson-log .lesson-hours{font-family:var(--body);color:var(--ink);font-size:1rem;font-weight:600;display:inline}.drawer{border-radius:var(--r) var(--r) 0 0;width:auto;max-height:88vh;padding-bottom:calc(22px + var(--safe-bottom));inset:auto 0 0}.menu{left:12px;right:12px}.diary-controls{width:100%}.diary-controls>.ghost,.diary-legend{display:none}.month-day{min-height:72px;padding:4px}.rw-grid{grid-template-columns:60px var(--lane-w)}.rw-day{padding:0 8px}.rw-day span{font-size:1.0588rem}.road-empty{box-sizing:border-box;width:100%}.id-panel{gap:14px}.ignition-ticker{gap:12px 20px}}@media (width<=900px){.dash-frame,.diary,.sheet-frame,.ledger,.reports{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.dash-frame .deck-head{flex:none;margin-bottom:12px}.dash-frame .road-panel{flex-direction:column;flex:none;height:248px;margin-bottom:12px;display:flex;overflow:hidden}.dash-frame .road-panel.plain{height:auto;min-height:255px;overflow:visible}.dash-frame .road-panel>.panel-head{z-index:1;background:#fff;flex:none;position:sticky;top:0}.dash-frame .agenda,.dash-frame .road{flex:auto;min-height:184px;max-height:184px;overflow:auto}.dash-frame .agenda-empty{flex:auto;min-height:184px;overflow:visible}.dash-frame .road-panel.plain .next-shot{flex:none;min-height:184px;overflow:visible}.dash-frame .agenda{touch-action:pan-y}.bay{flex-direction:column;flex:auto;min-height:0;display:flex}.bay-track{scroll-snap-type:x mandatory;touch-action:pan-x;scrollbar-width:none;flex:auto;gap:0;min-height:0;display:flex;overflow:auto hidden}.bay-track::-webkit-scrollbar{display:none}.bay-page,.bay-gauges{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%;min-width:0;height:100%;min-height:0}.bay-warn,.bay-delivered,.bay-booked,.bay-chart,.bay-trip{grid-area:auto}.bay-gauges{grid-template-columns:1fr 1fr;grid-template-areas:none;gap:8px;display:grid}.bay-page>.bezel,.bay-gauges>.bezel{flex-direction:column;height:100%;margin:0;display:flex;overflow:auto}.bay-warn{overflow:hidden}.bay-warn .lamps{flex:auto;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;min-height:0}.bay-warn .lamp-tile{min-width:0;min-height:0;padding:4px 6px 6px;overflow:hidden}.bay-warn .gauge.compact{flex-direction:column;align-items:center;width:100%;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.bay-warn .gauge-arc{flex:1;justify-content:center;align-items:flex-end;width:100%;min-width:0;min-height:0;display:flex;overflow:hidden}.bay-warn .gauge.compact svg{width:100%;max-width:100%;height:100%;max-height:100%;display:block;overflow:hidden}.bay-warn .gauge.compact figcaption{flex:none;gap:1px;width:100%;margin-top:0}.bay-warn .gauge.compact figcaption span{line-height:1.2}.bay-chart .scope{flex:1;min-height:0}.bay-chart .scope-bars{height:100%}.bay-dots{flex:none;justify-content:center;gap:0;padding-top:4px;display:flex}.bay-dots button{background:0 0;border:0;place-items:center;width:44px;height:44px;margin:0;padding:0;display:grid}.bay-dots button i{background:#c8c8c8;border-radius:50%;width:7px;height:7px}.bay-dots button[aria-current=true] i{background:#111}.diary .deck-head,.diary-views,.sheet-frame .deck-head,.sheet-frame .toolbar,.ledger .deck-head,.ledger .money-summary,.ledger .toolbar,.reports>.side{flex:none}.diary .diary-head{display:none}.diary .day-list{flex-direction:column;display:flex}.diary .rw-scroll{display:none}.diary .deck-head,.sheet-frame .deck-head,.ledger .deck-head{flex-direction:column;align-items:stretch;gap:10px}.diary-controls,.page-actions{flex-wrap:nowrap;gap:6px;width:100%}.diary-controls .segment,.diary-controls>.ghost,.diary-menu,.page-actions>.ghost{flex:none}.diary-controls>.diary-today{padding:0 10px;display:inline-flex}.diary-scroll,.sheet-scroll,.ledger .sheet-scroll,.reports .report-main{flex:auto;min-height:0;overflow:auto}.drawer{top:calc(12px + var(--safe-top));right:0;bottom:calc(56px + var(--safe-bottom));border-radius:var(--r) var(--r) 0 0;width:auto;max-height:none;padding-bottom:16px;left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (prefers-reduced-transparency:reduce){.tab-bar{-webkit-backdrop-filter:none;background:#fff}}
