:root{
  --bg:#f3f1ec; --surface:#fffdf8; --surface2:#ebe8e0; --fg:#1b2430; --muted:#5d6672;
  --line:#d4d0c5; --accent:#c25b00; --accent-fg:#fff; --ok:#17734a; --ok-bg:#dff1e7;
  --bad:#b3261e; --bad-bg:#fbe3e0; --navy:#1f3347; --navy-fg:#f3f1ec;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#10161d; --surface:#18212b; --surface2:#222d39; --fg:#e9e6df; --muted:#9aa5b1;
  --line:#2f3b49; --accent:#f09a3e; --accent-fg:#1a1208; --ok:#58d49a; --ok-bg:#12372a;
  --bad:#ff8f86; --bad-bg:#40201d; --navy:#0b1118; --navy-fg:#e9e6df; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#10161d; --surface:#18212b; --surface2:#222d39; --fg:#e9e6df; --muted:#9aa5b1;
  --line:#2f3b49; --accent:#f09a3e; --accent-fg:#1a1208; --ok:#58d49a; --ok-bg:#12372a;
  --bad:#ff8f86; --bad-bg:#40201d; --navy:#0b1118; --navy-fg:#e9e6df; color-scheme:dark}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:15px/1.45 'IBM Plex Sans',system-ui,sans-serif;margin:0;padding-inline:16px;padding-block:0 48px}
.wrap{max-width:760px;margin:0 auto}
h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:.04em;margin:0;text-wrap:balance}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
header.top{background:var(--navy);color:var(--navy-fg);margin-inline:-16px;padding:18px 16px 16px}
header.top .in{max-width:760px;margin:0 auto;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-end}
header.top h1{font-size:34px;line-height:1}
header.top small{display:block;color:var(--navy-fg);opacity:.7;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.shift{text-align:right}
.shift .t{font-size:22px}
.badge{display:inline-block;padding:3px 10px;border-radius:3px;font-family:'IBM Plex Mono',monospace;font-size:13px;background:var(--accent);color:var(--accent-fg);font-weight:500}
.badge.off{background:transparent;border:1px solid var(--bad);color:var(--bad)}
nav.tabs{display:flex;gap:4px;margin-top:16px;border-bottom:2px solid var(--line)}
nav.tabs button{background:none;border:0;color:var(--muted);font:600 18px 'Barlow Condensed',sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
nav.tabs button[aria-selected=true]{color:var(--fg);border-color:var(--accent)}
section{margin-top:22px}
section>h2{font-size:22px;display:flex;gap:10px;align-items:baseline;margin-bottom:10px}
section>h2 .n{color:var(--accent);font-family:'IBM Plex Mono',monospace;font-size:14px}
.hint{color:var(--muted);font-size:13px;margin:0 0 10px}
select,input,textarea{font:inherit;color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:8px 10px;min-width:0;width:100%}
select:focus,input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.tango{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:6px;padding:12px;margin-bottom:10px}
.tango.t3{border-left-color:var(--accent)}
.thead{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.thead h3{font-size:22px}
.thead .tag{font-size:12px;color:var(--muted)}
.lbl{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:10px 12px;cursor:pointer;text-align:left;color:var(--fg);font:inherit;display:flex;flex-direction:column;gap:2px}
.chip b{font:700 20px 'Barlow Condensed',sans-serif;letter-spacing:.05em;text-transform:uppercase}
.chip span{font-size:11px;color:var(--muted)}
.chip[aria-pressed=true]{background:var(--navy);color:var(--navy-fg);border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}
.chip[aria-pressed=true] span{color:var(--navy-fg);opacity:.75}
.route{background:var(--surface2);border-radius:6px;padding:10px 12px;font-size:14px;margin-top:6px}
.route li{margin-bottom:2px}
.route ul{margin:4px 0 0;padding-left:18px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pair label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
@media(max-width:520px){.pair{grid-template-columns:1fr}}
.auto{font-size:12px;color:var(--accent);margin-top:6px}
.veh-toggle{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);font-weight:500}
.veh-toggle input{width:auto}
.veh{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.veh .full{grid-column:1/-1}
.veh label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
@media(max-width:520px){.veh{grid-template-columns:1fr}}
.item{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px;margin-bottom:10px}
.item b{display:block}
.item p{margin:2px 0 10px;color:var(--muted);font-size:13px}
.seg{display:flex;gap:8px}
.seg button{flex:1;padding:10px;border:1px solid var(--line);background:var(--surface2);color:var(--fg);border-radius:5px;font:600 15px 'IBM Plex Sans',sans-serif;cursor:pointer}
.seg button.ok[aria-pressed=true]{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.seg button.no[aria-pressed=true]{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}
.item textarea{margin-top:10px}
.err{color:var(--bad);font-size:13px;margin-top:4px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.btn{font:700 19px 'Barlow Condensed',sans-serif;letter-spacing:.07em;text-transform:uppercase;padding:12px 22px;border-radius:5px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line)}
.summary{background:var(--bad-bg);color:var(--bad);border-radius:6px;padding:10px 12px;margin-top:14px;font-size:14px}
.acta{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px}
.acta h2{font-size:28px;margin-bottom:2px}
.acta .meta{color:var(--muted);font-size:13px;margin-bottom:14px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tw{overflow-x:auto}
.pill{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:600}
.pill.ok{background:var(--ok-bg);color:var(--ok)}
.pill.no{background:var(--bad-bg);color:var(--bad)}
.acta h3{font-size:18px;margin:18px 0 6px;color:var(--accent)}
.who li{margin-bottom:3px}
.pinbox{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px;max-width:340px}
.pinbox input{letter-spacing:.5em;text-align:center;font-size:20px;margin:10px 0}
.hist{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:12px;margin-bottom:10px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.theme{background:none;border:1px solid rgba(255,255,255,.3);color:var(--navy-fg);border-radius:4px;padding:3px 8px;font-size:12px;cursor:pointer;margin-top:8px}
.hist{cursor:pointer}
.hist small{display:block;color:var(--muted)}
