:root{--bg:#f3f6f7;--panel:#fff;--line:#d9e1e4;--ink:#14212b;--muted:#5b6b75;--accent:#0f6e8c;--accent-ink:#fff;--accent-soft:#e1f0f4;--wait:#9a5b00;--wait-soft:#fdf0db;--van:#2650b8;--van-soft:#e4ebfb;--bad:#b3261e;--bad-soft:#fbe5e3;--ok:#1d7a46;--ok-soft:#e2f4ea;--f-display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--f-body:"Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e171d;--panel:#15212a;--line:#26353f;--ink:#e4ecef;--muted:#93a4ae;--accent:#4fb3d1;--accent-ink:#06141a;--accent-soft:#16323c;--wait:#f0b45a;--wait-soft:#3a2a12;--van:#8fb0ff;--van-soft:#1c2948;--bad:#ff8a80;--bad-soft:#3d1c1a;--ok:#6fd39a;--ok-soft:#16301f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:400 15px/1.45 var(--f-body)}a{color:var(--accent)}.wrap{max-width:1180px;padding:0 max(16px, env(safe-area-inset-left)) 48px max(16px, env(safe-area-inset-right));margin:0 auto}.narrow{max-width:640px}header.bar{z-index:5;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0}header.bar .inner{max-width:1180px;padding:10px max(16px, env(safe-area-inset-left));flex-wrap:wrap;align-items:center;gap:14px;margin:0 auto;display:flex}.brand{font:700 22px/1 var(--f-display);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}nav.links{flex-wrap:wrap;gap:4px;display:flex}nav.links a{color:var(--muted);border-radius:6px;padding:6px 10px;font-weight:600;text-decoration:none}nav.links a[aria-current=page]{color:var(--ink);background:var(--accent-soft)}.who-am-i{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}h1{font:700 30px/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;text-wrap:balance;margin:24px 0 8px}h2{font:600 20px/1.2 var(--f-display);letter-spacing:.03em;text-transform:uppercase;text-wrap:balance;margin:0}.muted{color:var(--muted)}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}button,select,input,textarea{font:inherit;color:inherit}button,.btn{cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:6px;padding:7px 12px;font-weight:500;text-decoration:none;display:inline-block}button:hover,.btn:hover{border-color:var(--accent)}button.primary,.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.small,.btn.small{padding:4px 9px;font-size:13px}button.danger{color:var(--bad)}button:disabled{opacity:.55;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select,input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=time],textarea{border:1px solid var(--line);background:var(--panel);border-radius:6px;min-width:0;padding:7px 9px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px 16px}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form{flex-direction:column;gap:10px;max-width:380px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.status{color:var(--muted);min-height:20px;margin:4px 0;font-size:14px}.status.err,.err{color:var(--bad)}.status.ok{color:var(--ok)}.banner{background:var(--wait-soft);color:var(--wait);border-radius:8px;padding:10px 14px;font-weight:500}.banner.bad{background:var(--bad-soft);color:var(--bad)}.banner.ok{background:var(--ok-soft);color:var(--ok)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 6px;display:flex}.datebox{align-items:center;gap:6px;display:flex}.dayname{font:600 20px/1 var(--f-display);white-space:nowrap}.summary{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin:16px 0;display:grid;overflow:hidden}.summary div{background:var(--panel);padding:10px 12px}.summary b{font:600 22px/1.1 var(--f-display);font-variant-numeric:tabular-nums;display:block}.summary small{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px}.lanes{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));align-items:start;gap:14px;display:grid}.lane{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0}.lane>header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.lane>header h3{font:700 19px/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;margin:0}.lane>header .veh{color:var(--muted);font-size:12px}.lane>header .right{align-items:center;gap:6px;margin-left:auto;display:flex}.lane.unassigned{border-style:dashed}.lane .empty{color:var(--muted);padding:14px 12px;font-size:14px}.ticket{border-bottom:1px solid var(--line);grid-template-columns:64px 1fr;gap:10px;padding:10px 12px;display:grid}.ticket:last-child{border-bottom:0}.ticket .time{font:500 15px/1.2 var(--f-mono);font-variant-numeric:tabular-nums}.ticket .time small{color:var(--muted);font-size:11px;display:block}.ticket .body{flex-direction:column;gap:4px;min-width:0;display:flex}.patient{font-weight:600}.route{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{letter-spacing:.04em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600}.chip.wait{background:var(--wait-soft);color:var(--wait)}.chip.van{background:var(--van-soft);color:var(--van)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.plain{color:var(--muted);border:1px solid var(--line);background:0 0}.chip.ok{background:var(--ok-soft);color:var(--ok)}.canceled .patient{text-decoration:line-through}.canceled .ticket{opacity:.7}.editgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px;display:grid}.editgrid label{color:var(--muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.editgrid .full{grid-column:1/-1}.editgrid .inline{color:var(--ink);flex-direction:row;align-items:center;gap:6px}.copybox{width:100%;min-height:140px;font:13px/1.4 var(--f-mono);background:var(--bg)}.tablewrap{overflow-x:auto}table.data{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}table.data th{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--line);padding:6px 8px;font-size:11px;font-weight:600}table.data td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px}table.data .num{text-align:right;font-family:var(--f-mono)}table.data tfoot td{border-bottom:0;font-weight:600}.trips-list{color:var(--muted);flex-direction:column;gap:2px;margin-top:4px;font-size:13px;display:flex}.dcard{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.dcard .top{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:12px;padding:12px 14px;display:flex}.dcard .bigtime{font:600 30px/1 var(--f-mono);font-variant-numeric:tabular-nums}.dcard .name{font:700 20px/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}.stop{border-bottom:1px solid var(--line);grid-template-columns:86px 1fr;gap:8px;padding:10px 14px;display:grid}.stop:last-child{border-bottom:0}.stop .lbl{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-top:2px;font-size:11px}.stop .val{overflow-wrap:anywhere;min-width:0}.stop a{font-weight:600;text-decoration:none}.note{background:var(--wait-soft);color:var(--wait);padding:8px 14px;font-size:14px}.address{font:500 16px/1.3 var(--f-mono);background:var(--bg);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:6px;padding:10px 12px}ol.steps{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.hero{gap:16px;max-width:720px;padding:48px 0 24px;display:grid}.hero h1{margin:0;font-size:46px}.hero p{color:var(--muted);max-width:60ch;margin:0;font-size:18px}@media (max-width:560px){.lanes,.editgrid{grid-template-columns:1fr}.hero h1{font-size:34px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.landing{background:var(--bg)}.road-hero{color:#fff;background:linear-gradient(#0b2431 0%,#123a4c 30%,#2b6a80 58%,#8fb4b8 78%,#e9c890 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.road-top{width:100%;max-width:1180px;padding:max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));align-items:center;gap:12px;margin:0 auto;display:flex}.road-top .brand{color:#fff}.road-top .brand span{color:#8fd3e6}.road-top .btn{margin-left:auto}.btn.ghost{color:#fff;background:#ffffff14;border-color:#ffffff73}.btn.ghost:hover{background:#ffffff29;border-color:#fff}.road-copy{z-index:1;width:100%;max-width:1180px;padding:clamp(36px, 7vw, 88px) max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));gap:18px;margin:0 auto;display:grid;position:relative}.road-copy h1{letter-spacing:.01em;max-width:13ch;margin:0;font-size:clamp(40px,6.4vw,84px);line-height:.98}.road-copy p{color:#d8e9ee;max-width:46ch;margin:0;font-size:clamp(17px,1.6vw,20px);line-height:1.5}.road-cta{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:6px;display:flex}.road-cta span{color:#cfe2e8;font-size:15px}.btn.big{font:600 19px/1 var(--f-display);letter-spacing:.04em;text-transform:uppercase;border-radius:8px;padding:15px 22px}.road-hero .btn.primary{color:#13232b;background:#f2c230;border-color:#f2c230}.road-hero .btn.primary:hover{background:#ffd34d;border-color:#ffd34d}.road-hero .btn:focus-visible{outline-offset:3px;outline:3px solid #fff}.scene{width:100%;height:clamp(280px,44vw,560px);margin-top:-40px;display:block}.scene .lane{animation:1.1s linear infinite lane}.scene .wheel{animation:.5s linear infinite spin}.scene .van{animation:1.2s ease-in-out infinite bob}@keyframes lane{to{stroke-dashoffset:116px}}@keyframes spin{to{transform:rotate(-360deg)}}@keyframes bob{50%{transform:translateY(-1.5px)}}@media (prefers-reduced-motion:reduce){.scene .lane,.scene .wheel,.scene .van{animation:none}}.how{padding-top:clamp(36px,6vw,72px)}.how h2{font-size:clamp(26px,3vw,34px)}.how-steps{counter-reset:step;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:22px 0 0;padding:0;list-style:none;display:grid}.how-steps li{counter-increment:step;grid-template-columns:auto 1fr;align-content:start;column-gap:14px;display:grid}.how-steps li:before{content:counter(step);color:#fff;width:40px;height:40px;font:700 22px/1 var(--f-display);background:#1f6b3a;border-radius:6px;grid-row:span 2;place-items:center;display:grid;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #1f6b3a}.how-steps h3{font:700 21px/1.15 var(--f-display);text-transform:none;letter-spacing:.01em;margin:6px 0}.how-steps p{color:var(--muted);max-width:42ch;margin:0}.how-foot{color:var(--muted);margin-top:40px;font-size:14px}@media (max-width:820px){.how-steps{grid-template-columns:1fr;gap:22px}}
