/* BriskCar Driver — black & gold */
:root{
  --bg:#0E0E0F; --surface:#1A1A1C; --surface2:#26262A; --line:#2A2A2E; --bar:#141416;
  --text:#F4F1EA; --muted:#A1A1A6; --dim:#8E8E93;
  --gold:#D4A437; --gold-dim:#6B531C; --warn:#F2C14E; --warn-bg:#2A2110; --ok:#7DD3A0; --ok-bg:#16261C; --bad:#F08A7E; --bad-bg:#2C1714;
  --r:18px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:15px;line-height:1.4}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,p{margin:0}
.muted{color:var(--muted)} .small{font-size:13px} .strong{font-weight:700} .gold{color:var(--gold)} .ok{color:var(--ok)} .warn{color:var(--warn)}
.block{display:block} .lg{font-size:17px;font-weight:800} .center{text-align:center} .pad-top{padding-top:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ----- driver app shell ----- */
body.app{min-height:100vh;padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.screen{max-width:520px;margin:0 auto;padding:calc(16px + env(safe-area-inset-top)) 20px 28px;display:flex;flex-direction:column;gap:16px}
.tabbar{position:fixed;left:0;right:0;bottom:0;background:var(--bar);border-top:1px solid #242428;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 4px calc(10px + env(safe-area-inset-bottom));z-index:10}
.tabbar a{color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;font-weight:700;min-height:52px;justify-content:center;text-decoration:none}
.tabbar a.on{color:var(--gold)}
.badge-wrap{position:relative;display:inline-flex}
.badge{position:absolute;top:-4px;right:-10px;background:var(--gold);color:#0E0E0F;font-size:10px;font-weight:800;border-radius:999px;padding:1px 5px}

.top{display:flex;justify-content:space-between;align-items:center}
.eyebrow,.brand{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--gold)}
.h1{font-size:26px;font-weight:800;line-height:1.15}
.avatar{width:48px;height:48px;border-radius:50%;background:var(--gold);color:#0E0E0F;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;flex-shrink:0;text-decoration:none}
.avatar.lg{width:64px;height:64px;font-size:26px}
.profile{display:flex;gap:14px;align-items:center}

.online{width:100%;border:1px solid var(--gold);background:transparent;color:var(--text);border-radius:var(--r);padding:18px 20px;display:flex;justify-content:space-between;align-items:center;text-align:left;font:inherit;cursor:pointer}
.online strong{display:block;font-size:18px;font-weight:800}
.online small{font-size:13px}
.online.is-on{background:var(--gold);color:#0E0E0F}

.card{background:var(--surface);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:12px}
.card.bordered{border:1px solid var(--gold-dim)}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.label{font-size:14px;font-weight:600;color:var(--muted)}
.big{font-family:'DM Serif Display',Georgia,serif;font-size:44px;line-height:1}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.stats div{display:flex;flex-direction:column;gap:2px}
.stats strong{font-size:17px}
.stats small{font-size:12px;color:var(--muted)}
.section{font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--gold);margin:6px 0 -6px}

.route{display:flex;gap:12px}
.route-line{display:flex;flex-direction:column;align-items:center;padding-top:5px;gap:3px}
.route-line .dot{width:10px;height:10px;border-radius:50%;background:var(--gold)}
.route-line .line{width:2px;flex-grow:1;min-height:30px;background:#3A3A3E}
.route-line .sq{width:10px;height:10px;background:var(--text)}
.route-text{display:flex;flex-direction:column;gap:16px}
.route-text small{display:block;color:var(--muted);font-size:12px}
.chips{display:flex;gap:8px;flex-wrap:wrap}

.chip{display:inline-block;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;white-space:nowrap}
.chip-muted{background:var(--surface2);color:#C9C4B8}
.chip-ok{background:var(--ok-bg);color:var(--ok)}
.chip-warn{background:var(--warn);color:#1A1406}
.chip-bad{background:var(--bad-bg);color:var(--bad)}

.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 16px;border-radius:12px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;border:0;text-decoration:none;text-align:center}
.btn:hover{text-decoration:none;filter:brightness(1.06)}
.btn-gold{background:var(--gold);color:#0E0E0F}
.btn-light{background:var(--text);color:#0E0E0F}
.btn-outline{background:transparent;color:var(--text);border:1px solid #3A3A3E}
.btn-warn{background:var(--warn);color:#1A1406}
.btn-sm{width:auto;min-height:44px;font-size:13px;padding:10px 14px}
.linkbtn{background:none;border:0;padding:8px;color:var(--gold);font:inherit;font-weight:700;cursor:pointer}

.alert{background:var(--warn-bg);border:1px solid var(--gold-dim);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:center;color:var(--warn)}
.alert div{flex-grow:1;display:flex;flex-direction:column;gap:2px}
.alert small{color:#D9CFB8}

.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.checklist li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.checklist li:first-child{border-top:0}
.checklist li a{display:flex;flex-grow:1;align-items:center;gap:12px;color:inherit;text-decoration:none;min-height:44px}
.tick{width:24px;height:24px;border-radius:50%;border:2px solid #3A3A3E;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#0E0E0F}
.checklist li.done .tick{background:var(--ok);border-color:var(--ok)}
.ci-text,.li-text{flex-grow:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.ci-text small,.li-text small{font-size:13px;color:var(--muted)}
.li-text small.warn{color:var(--warn)}
.checklist li.done .ci-text strong{color:var(--muted)}

.list{padding:0;gap:0;overflow:hidden}
.list .li{display:flex;gap:14px;align-items:center;padding:14px 16px;min-height:56px;color:inherit;text-decoration:none;border-top:1px solid var(--line);justify-content:space-between}
.list .li:first-child{border-top:0}
.list a.li:hover{background:#1F1F22;text-decoration:none}
.list .li .ic:last-child{color:var(--dim)}
.li-flat{display:flex;gap:14px;align-items:center;justify-content:space-between}
.tile{width:44px;height:44px;border-radius:12px;background:var(--surface2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.kv{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.kv span{color:var(--muted)}
.note{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--bar);border:1px solid var(--line);font-size:13px;color:#C9C4B8;line-height:1.45}
.note .ic{color:var(--gold);flex-shrink:0;margin-top:1px}
.back{display:inline-flex;align-items:center;gap:4px;font-weight:700;min-height:44px;align-self:flex-start}

.msg{flex-direction:row;gap:12px}
.msg-dot{width:10px;height:10px;border-radius:50%;background:#3A3A3E;margin-top:6px;flex-shrink:0}
.msg-dot.new{background:var(--gold)}
.msg p{color:var(--muted);font-size:14px;margin:4px 0}

.bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:end;height:120px}
.bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}
.bar-col small{font-size:11px;color:var(--muted)}
.bar{width:100%;background:var(--gold-dim);border-radius:6px}
.bar.today{background:var(--gold)}

/* ----- forms ----- */
.form{display:flex;flex-direction:column;gap:12px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:var(--muted)}
input,select,textarea{font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid #3A3A3E;border-radius:10px;padding:12px;min-height:46px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none}
::placeholder{color:#6E6E73;font-weight:500;opacity:1}
input[type=file]{padding:10px;font-size:14px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.code{font-size:26px;letter-spacing:.3em;text-align:center}
.key{display:block;font-size:18px;letter-spacing:.08em;padding:10px;background:var(--bg);border-radius:10px;word-break:break-all;margin-top:6px}
.steps{padding-left:20px;display:flex;flex-direction:column;gap:14px;margin:0}
.copy{font-size:14px}
details summary{cursor:pointer;min-height:32px;list-style-position:outside}
.flash{border-radius:12px;padding:12px 14px;font-size:14px;font-weight:600}
.flash-ok{background:var(--ok-bg);color:var(--ok)}
.flash-error{background:var(--bad-bg);color:var(--bad)}
form.inline{display:inline}

/* ----- sign-in pages ----- */
body.auth{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:calc(48px + env(safe-area-inset-top)) 16px 32px}
.auth-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:16px}
.auth-card h1{font-size:26px;font-weight:800}

/* ----- dispatch admin ----- */
body.admin{min-height:100vh}
.admin-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 24px;border-bottom:1px solid var(--line);background:var(--bar)}
.admin-top nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-weight:700}
.admin-main{max-width:1200px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:18px}
.admin-main h1{font-size:26px;font-weight:800}
.admin-main h2{font-size:17px;font-weight:800}
.admin-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.admin-head p{margin-top:6px}
.actions,.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.row-actions input{flex:1 1 180px;min-height:44px}
.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:start}
.table-wrap{overflow-x:auto;background:var(--surface);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:14px}
th,td{text-align:left;padding:12px 14px;border-top:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:700;border-top:0;font-size:13px}
.narrow{max-width:480px}
@media (max-width:420px){.grid2{grid-template-columns:1fr}.admin-main{padding:16px}}
.bar.h0{height:0%}
.bar.h1{height:1%}
.bar.h2{height:2%}
.bar.h3{height:3%}
.bar.h4{height:4%}
.bar.h5{height:5%}
.bar.h6{height:6%}
.bar.h7{height:7%}
.bar.h8{height:8%}
.bar.h9{height:9%}
.bar.h10{height:10%}
.bar.h11{height:11%}
.bar.h12{height:12%}
.bar.h13{height:13%}
.bar.h14{height:14%}
.bar.h15{height:15%}
.bar.h16{height:16%}
.bar.h17{height:17%}
.bar.h18{height:18%}
.bar.h19{height:19%}
.bar.h20{height:20%}
.bar.h21{height:21%}
.bar.h22{height:22%}
.bar.h23{height:23%}
.bar.h24{height:24%}
.bar.h25{height:25%}
.bar.h26{height:26%}
.bar.h27{height:27%}
.bar.h28{height:28%}
.bar.h29{height:29%}
.bar.h30{height:30%}
.bar.h31{height:31%}
.bar.h32{height:32%}
.bar.h33{height:33%}
.bar.h34{height:34%}
.bar.h35{height:35%}
.bar.h36{height:36%}
.bar.h37{height:37%}
.bar.h38{height:38%}
.bar.h39{height:39%}
.bar.h40{height:40%}
.bar.h41{height:41%}
.bar.h42{height:42%}
.bar.h43{height:43%}
.bar.h44{height:44%}
.bar.h45{height:45%}
.bar.h46{height:46%}
.bar.h47{height:47%}
.bar.h48{height:48%}
.bar.h49{height:49%}
.bar.h50{height:50%}
.bar.h51{height:51%}
.bar.h52{height:52%}
.bar.h53{height:53%}
.bar.h54{height:54%}
.bar.h55{height:55%}
.bar.h56{height:56%}
.bar.h57{height:57%}
.bar.h58{height:58%}
.bar.h59{height:59%}
.bar.h60{height:60%}
.bar.h61{height:61%}
.bar.h62{height:62%}
.bar.h63{height:63%}
.bar.h64{height:64%}
.bar.h65{height:65%}
.bar.h66{height:66%}
.bar.h67{height:67%}
.bar.h68{height:68%}
.bar.h69{height:69%}
.bar.h70{height:70%}
.bar.h71{height:71%}
.bar.h72{height:72%}
.bar.h73{height:73%}
.bar.h74{height:74%}
.bar.h75{height:75%}
.bar.h76{height:76%}
.bar.h77{height:77%}
.bar.h78{height:78%}
.bar.h79{height:79%}
.bar.h80{height:80%}
.bar.h81{height:81%}
.bar.h82{height:82%}
.bar.h83{height:83%}
.bar.h84{height:84%}
.bar.h85{height:85%}
.bar.h86{height:86%}
.bar.h87{height:87%}
.bar.h88{height:88%}
.bar.h89{height:89%}
.bar.h90{height:90%}
.bar.h91{height:91%}
.bar.h92{height:92%}
.bar.h93{height:93%}
.bar.h94{height:94%}
.bar.h95{height:95%}
.bar.h96{height:96%}
.bar.h97{height:97%}
.bar.h98{height:98%}
.bar.h99{height:99%}
.bar.h100{height:100%}