:root{--night: #0b1420;--board: #101d2c;--line: #24384d;--paper: #f3f5f8;--card: #ffffff;--ink: #0f2138;--ink-2: #5a6a7e;--amber: #f7931e;--good: #1f8a7c;--bad: #c0392b;--display: Archivo, ui-sans-serif, system-ui, sans-serif;--body: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;--data: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased}.shell{display:flex;flex-direction:column;min-height:100%}.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;background:var(--night);color:#fff;padding-top:calc(.85rem + env(safe-area-inset-top))}.top h1{margin:0;font-family:var(--display);font-size:1.05rem;font-weight:700}.top .who{font-size:.78rem;color:#8fa3b8}.main{flex:1;padding:1rem;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.tabs{position:fixed;inset-inline:0;bottom:0;z-index:10;display:flex;background:var(--night);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabs a{flex:1;min-height:3.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;color:#8fa3b8;text-decoration:none;font-size:.72rem;font-weight:600}.tabs a[aria-current=page]{color:var(--amber)}.tabs .dot{width:1.35rem;height:1.35rem;border-radius:50%;border:2px solid currentColor}.tabs a[aria-current=page] .dot{background:currentColor}.card{background:var(--card);border:1px solid #e2e7ee;border-radius:10px;padding:.9rem;margin-bottom:.75rem}.card.tap{cursor:pointer;display:block;width:100%;text-align:left;color:inherit;text-decoration:none}.card.tap *{text-decoration:none}.card.tap:active{background:#f7f9fc}.card a[href^="tel:"]{color:var(--ink);text-decoration:underline}.when{font-family:var(--data);font-weight:600;font-size:1.1rem;letter-spacing:-.02em}.date{color:var(--ink-2);font-size:.82rem}.route{font-family:var(--display);font-weight:600;margin-top:.35rem;line-height:1.25}.muted{color:var(--ink-2);font-size:.85rem}.ref{font-family:var(--data);font-size:.8rem;color:var(--ink-2)}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#eef1f6;color:var(--ink-2)}.pill.live{background:#fdf0e0;color:#a8620d}.pill.done{background:#e6f4f1;color:#12655a}.pill.new{background:#fdeceb;color:#a2312a}dl.facts{margin:.75rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.4rem .9rem}dl.facts dt{color:var(--ink-2);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}dl.facts dd{margin:0;font-size:.95rem}.money{font-family:var(--data);font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:0 1.1rem;width:100%;border:1px solid transparent;border-radius:8px;font-family:var(--body);font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none}.btn-primary{background:var(--amber);color:#0b1420}.btn-quiet{background:#fff;border-color:#cdd6e1;color:var(--ink)}.btn-bad{background:#fff;border-color:#e6b4ae;color:var(--bad)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn+.btn{margin-top:.6rem}label.field{display:block;margin-bottom:.9rem}label.field>span{display:block;margin-bottom:.3rem;font-size:.85rem;color:var(--ink-2)}input,select{width:100%;min-height:3rem;padding:0 .75rem;border:1px solid #cdd6e1;border-radius:8px;background:#fff;font-family:var(--body);font-size:1rem;color:var(--ink)}input:focus-visible,select:focus-visible,.btn:focus-visible,.card.tap:focus-visible{outline:2px solid var(--amber);outline-offset:2px}input.code{font-family:var(--data);font-size:1.6rem;letter-spacing:.4em;text-align:center}.notice{padding:.75rem .9rem;border-radius:8px;font-size:.9rem;margin-bottom:.9rem}.notice.bad{background:#fdeceb;color:#8f2a22}.notice.info{background:#eef4fb;color:#24486f}.empty{text-align:center;color:var(--ink-2);padding:2.5rem 1rem}.spinner{text-align:center;color:var(--ink-2);padding:2rem}h2.sec{font-family:var(--display);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin:1.25rem 0 .5rem}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
