:root{
  --navy:#0b2a5b; --navy-2:#123d80; --green:#138a52; --green-2:#0f6b45; --green-soft:#e6f5ec; --gold:#f2b705; --gold-soft:#ffe08a;
  --bg:#ffffff; --fg:#14213d; --muted:#5b6475; --line:rgba(15,23,42,.10); --shadow:0 6px 24px rgba(15,23,42,.16),0 1px 3px rgba(15,23,42,.10);
  --halo:#ffffff; --label:#1b2437; --sheet:#ffffff; --chip:#ffffff;
  --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px); --safe-l:env(safe-area-inset-left,0px); --safe-r:env(safe-area-inset-right,0px);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#121a2b;--fg:#e8ecf5;--muted:#9aa5bb;--line:rgba(255,255,255,.10);--shadow:0 6px 24px rgba(0,0,0,.5);--halo:#0e1525;--label:#eef2fa;--sheet:#151e31;--chip:#1a2438}
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);-webkit-tap-highlight-color:transparent}
#map{position:fixed;inset:0;background:#eef1f5}
@media (prefers-color-scheme:dark){#map{background:#0e1525}}
.ui{position:fixed;z-index:1000}
.ui svg{width:22px;height:22px;fill:currentColor}

/* Top: floating search + chips */
#top{top:calc(var(--safe-t) + 12px);left:calc(var(--safe-l) + 12px);right:calc(var(--safe-r) + 12px);max-width:440px;pointer-events:none}
#top>*{pointer-events:auto}
.searchbar{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:16px;box-shadow:var(--shadow);padding:6px 6px 6px 6px;height:52px}
.brand{flex:none;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--green) 0%,var(--green-2) 45%,var(--navy) 100%);color:#fff;display:grid;place-items:center;box-shadow:inset 0 -3px 0 var(--gold)}
.brand svg{width:22px;height:22px;fill:#fff}
#q{flex:1;min-width:0;border:0;background:transparent;color:var(--fg);font-size:16px;outline:none;height:40px}
#q::placeholder{color:var(--muted)}
#q::-webkit-search-cancel-button{display:none}
.icon-btn{border:0;background:transparent;color:var(--muted);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;cursor:pointer}
.icon-btn:hover{background:var(--line)}
#results{list-style:none;margin:8px 0 0;padding:6px;background:var(--bg);border-radius:16px;box-shadow:var(--shadow);max-height:46vh;overflow:auto}
#results li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;cursor:pointer;min-height:44px}
#results li:hover,#results li.active{background:var(--line)}
#results li .badge{width:28px;height:28px}
#results li .badge svg{width:16px;height:16px}
#results li small{display:block;color:var(--muted);font-size:12px}
#results li.none{color:var(--muted);cursor:default}
#chips{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(90deg,#000 92%,transparent)}
#chips::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 8px;border-radius:18px;border:1px solid var(--line);background:var(--chip);color:var(--fg);font-size:13px;font-weight:600;box-shadow:0 1px 3px rgba(15,23,42,.12);cursor:pointer;white-space:nowrap}
.chip i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--c)}
.chip i svg{width:13px;height:13px;fill:#fff}
.chip b{font-weight:600;color:var(--muted);font-size:12px}
.chip.off{opacity:.45}
.chip.off i{background:#9aa3b2}
.chip.all{padding-left:12px}

/* FABs */
#fabs{right:calc(var(--safe-r) + 12px);bottom:calc(var(--safe-b) + 24px);display:flex;flex-direction:column;gap:10px;transition:transform .25s ease}
body.sheet-open #fabs{transform:translateY(calc(-1 * var(--sheet-h,0px)))}
.fab{width:48px;height:48px;border-radius:14px;border:0;background:var(--bg);color:var(--navy);box-shadow:var(--shadow);display:grid;place-items:center;cursor:pointer}
@media (prefers-color-scheme:dark){.fab{color:var(--gold)}}
.fab:active{transform:scale(.96)}
.fab.on{color:#1a73e8}

/* Leaflet chrome */
.leaflet-control-zoom{border:0!important;box-shadow:var(--shadow)!important;border-radius:14px!important;overflow:hidden}
.leaflet-control-zoom a{width:48px!important;height:44px!important;line-height:44px!important;background:var(--bg)!important;color:var(--fg)!important;border-color:var(--line)!important}
.leaflet-bottom.leaflet-right{bottom:calc(var(--safe-b) + 140px);right:calc(var(--safe-r) + 2px)}
@media (pointer:coarse){.leaflet-control-zoom{display:none}}
.leaflet-control-attribution{background:rgba(255,255,255,.75)!important;border-radius:8px 0 0 0;font-size:10px}
@media (prefers-color-scheme:dark){.leaflet-control-attribution{background:rgba(14,21,37,.75)!important;color:#aab}.leaflet-control-attribution a{color:#9cc3ff}}
.leaflet-bottom.leaflet-left .leaflet-control-attribution{border-radius:0 8px 0 0;margin:0}
.leaflet-bottom.leaflet-left{bottom:var(--safe-b)}

/* POI markers: small dots when zoomed out, icon badges when zoomed in */
.poi{background:none;border:0}
.poi .hit{position:absolute;inset:0;display:grid;place-items:center}
.poi .dot{width:10px;height:10px;border-radius:50%;background:var(--c);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.35);transition:all .15s ease;display:grid;place-items:center}
.poi .dot svg{width:0;height:0;fill:#fff;transition:all .15s ease}
.z-near .poi .dot{width:26px;height:26px;border-width:2px}
.z-near .poi .dot svg{width:15px;height:15px}
.z-mid .poi .dot{width:14px;height:14px}
.poi.r3 .dot{width:13px;height:13px}
.z-mid .poi.r3 .dot{width:18px;height:18px}
.z-mid .poi.r3 .dot svg{width:11px;height:11px}
.z-near .poi.r3 .dot{width:30px;height:30px}
.z-near .poi.r3 .dot svg{width:17px;height:17px}
.poi.sel .dot{outline:3px solid var(--gold);outline-offset:2px;transform:scale(1.15)}
@media (prefers-color-scheme:dark){.poi .dot{border-color:#0e1525}}

/* Collision-placed labels */
.leaflet-labels-pane{pointer-events:none}
.lbl{position:absolute;left:0;top:0;white-space:nowrap;font-size:12px;font-weight:600;line-height:16px;color:var(--label);
  text-shadow:0 0 2px var(--halo),0 0 2px var(--halo),0 0 3px var(--halo),0 0 4px var(--halo),1px 1px 0 var(--halo),-1px -1px 0 var(--halo),1px -1px 0 var(--halo),-1px 1px 0 var(--halo);
  pointer-events:auto;cursor:pointer;transition:opacity .18s ease}
.lbl.r3{font-weight:700;font-size:12.5px}
.lbl.r0{font-weight:500;color:var(--muted)}
.lbl.hide{opacity:0;pointer-events:none}
.leaflet-zoom-anim .leaflet-labels-pane{opacity:0}

/* Bottom sheet */
#sheet{left:0;right:0;bottom:0;margin:0 auto;max-width:520px;background:var(--sheet);color:var(--fg);border-radius:22px 22px 0 0;box-shadow:0 -8px 30px rgba(15,23,42,.22);padding:8px 18px calc(var(--safe-b) + 18px);transform:translateY(110%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
#sheet.open{transform:none}
@media (min-width:800px){#sheet{left:auto;right:84px;bottom:24px;width:380px;border-radius:20px;padding-bottom:18px}}
.grab{width:40px;height:5px;border-radius:3px;background:var(--line);margin:4px auto 10px}
.sheet-head{display:flex;align-items:center;gap:12px}
.badge{flex:none;width:44px;height:44px;border-radius:50%;background:var(--c);display:grid;place-items:center}
.badge svg{fill:#fff;width:24px;height:24px}
.sheet-title{flex:1;min-width:0}
.sheet-title h2{margin:0;font-size:18px;line-height:1.25}
.sheet-title p{margin:3px 0 0;color:var(--muted);font-size:13px;font-weight:600}
.sheet-actions{display:flex;gap:10px;margin-top:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 16px;border-radius:14px;border:1px solid var(--line);color:var(--fg);text-decoration:none;font-weight:600;font-size:15px;flex:1}
.btn svg{width:20px;height:20px}
.btn{background:transparent;cursor:pointer;font-family:inherit}
.btn.primary,.btn.green{background:var(--green);color:#fff;border-color:var(--green)}
.muted{color:var(--muted);font-size:12px;margin:12px 0 0}

#toast{left:50%;transform:translateX(-50%);bottom:calc(var(--safe-b) + 96px);background:rgba(15,23,42,.88);color:#fff;padding:10px 16px;border-radius:20px;font-size:14px;max-width:80vw;text-align:center}
.me-dot{width:18px;height:18px;border-radius:50%;background:#1a73e8;border:3px solid #fff;box-shadow:0 0 0 6px rgba(26,115,232,.25)}

/* Muted basemap */
.base-tiles{filter:saturate(.35) brightness(1.05) contrast(.9)}
@media (prefers-color-scheme:dark){.base-tiles{filter:invert(1) hue-rotate(180deg) brightness(.85) contrast(.85) saturate(.35)}}
[hidden]{display:none!important}
@media (min-width:800px){#top{right:auto;max-width:none}.searchbar{width:420px}#results{width:420px}#chips{max-width:calc(100vw - 110px)}}

/* ===== GreenMiles planner ===== */
.small{font-size:11.5px}
.muted a{color:inherit}
#plan{background:var(--bg);border-radius:18px;box-shadow:var(--shadow);padding:6px 8px 10px}
.plan-head{display:flex;align-items:center;gap:6px;height:40px}
.plan-head b{font-size:16px;color:var(--green)}
@media (prefers-color-scheme:dark){.plan-head b{color:#4ade80}}
.tag{font-size:11px;font-weight:700;color:var(--navy);background:var(--gold-soft);padding:2px 8px;border-radius:10px}
.plan-rows{display:flex;align-items:center;gap:8px;padding-left:6px}
.dots{display:flex;flex-direction:column;align-items:center;width:14px}
.dots i{display:block}
.dots .a{width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.dots .line{width:2px;height:26px;background:repeating-linear-gradient(var(--muted) 0 3px,transparent 3px 6px);margin:4px 0}
.dots .b{width:12px;height:12px;border-radius:3px;background:var(--navy);box-shadow:0 0 0 3px var(--gold)}
.fields{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.fields input{height:42px;border-radius:12px;border:1px solid var(--line);background:var(--line);color:var(--fg);font-size:15px;padding:0 12px;outline:none;width:100%;font-family:inherit}
.fields input:focus{border-color:var(--green);background:var(--bg);box-shadow:0 0 0 3px rgba(19,138,82,.15)}
.gm-pin{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font:800 13px/1 Inter,system-ui,sans-serif;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.gm-pin.a{background:var(--green)}
.gm-pin.b{background:var(--navy);box-shadow:0 0 0 3px var(--gold),0 2px 8px rgba(0,0,0,.35)}
.gm-stop{width:24px;height:24px;border-radius:7px;background:#d98a00;border:2px solid #fff;display:grid;place-items:center;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.gm-stop svg{width:15px;height:15px;fill:#fff}
#rsheet,#tsheet{left:0;right:0;bottom:0;margin:0 auto;max-width:520px;background:var(--sheet);color:var(--fg);border-radius:22px 22px 0 0;box-shadow:0 -8px 30px rgba(15,23,42,.22);padding:6px 14px calc(var(--safe-b) + 12px);transform:translateY(110%);transition:transform .28s cubic-bezier(.2,.8,.2,1);max-height:62vh;overflow:auto}
#rsheet.open,#tsheet.open{transform:none}
#tsheet{z-index:1010}
@media (min-width:800px){
  #rsheet{left:12px;right:auto;top:auto;bottom:24px;width:420px;border-radius:20px;max-height:calc(100vh - 230px)}
  #tsheet{left:auto;right:84px;bottom:24px;width:400px;border-radius:20px}
  body.planning #top{max-width:420px}
}
body.route-open #fabs{transform:translateY(calc(-1 * var(--sheet-h,0px)))}
.r-top{display:flex;align-items:center;gap:10px;margin:0 0 10px;flex-wrap:wrap}
.seg{display:inline-flex;background:var(--line);border-radius:12px;padding:3px}
.seg button{border:0;background:transparent;color:var(--fg);font:600 13px Inter,system-ui,sans-serif;padding:7px 12px;border-radius:9px;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--bg);box-shadow:0 1px 3px rgba(0,0,0,.18)}
#t-night[aria-pressed=true]{background:#1e2a4a;color:#ffe08a}
#cards{display:flex;flex-direction:column;gap:8px}
.mcard{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;padding:10px;border-radius:16px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);font-family:inherit;cursor:pointer}
.mcard.sel{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 18%,transparent)}
.mcard.off{opacity:.55;cursor:default}
.mi{flex:none;width:36px;height:36px;border-radius:11px;background:var(--c);display:grid;place-items:center}
.mi svg{width:21px;height:21px;fill:#fff}
.mbody{flex:1;min-width:0}
.mrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mrow b{font-size:15px}
.mbody small{display:block;color:var(--muted);font-size:12px;margin-top:2px;line-height:1.35}
.eta{text-align:right;flex:none}
.eta b{display:block;font-size:17px}
.eta small{color:var(--muted);font-size:12px}
.pill{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:9px;letter-spacing:.2px;white-space:nowrap}
.pill.best{background:var(--green);color:#fff}
.pill.night{background:#1e2a4a;color:#ffe08a}
.pill.demo{background:#fff1cc;color:#8a5a00;border:1px dashed #d98a00}
small.demo{color:#a86b00!important;font-weight:600}
small.tip{color:var(--green)!important;font-weight:600}
.pax{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12.5px;color:var(--muted)}
.pax button{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:var(--line);color:var(--fg);font-size:18px;line-height:1;cursor:pointer}
.pax output{min-width:16px;text-align:center;font-weight:700;color:var(--fg)}
.note{font-size:12.5px;background:#1e2a4a;color:#e8ecf5;border-radius:12px;padding:9px 11px;margin:10px 0 0}
.r-actions{display:flex;margin-top:10px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 6px}
.stats div{background:var(--green-soft);border-radius:14px;padding:10px;text-align:center;color:#0b3d27}
.stats b{display:block;font-size:17px}
.stats small{font-size:11.5px}
#tlist{list-style:none;margin:0;padding:0}
#tlist li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13.5px}
#tlist li div{flex:1;min-width:0}
#tlist li small{display:block;color:var(--muted);font-size:11.5px}
#tlist li.none{color:var(--muted);font-size:12px;border:0}
#tclear{margin-top:10px;width:100%}
@media (prefers-color-scheme:dark){.stats div{background:#123526;color:#d9f7e6}.pill.demo{background:#3a2c08;color:#ffd77a}}

@media (max-width:799px){
  #rsheet{max-height:52vh;padding-top:4px}
  #rsheet .grab{margin:4px auto 6px}
  .r-top{margin-bottom:6px}
  .mcard{padding:8px 10px;border-radius:14px}
  .mi{width:32px;height:32px}
  .mbody small{font-size:11.5px}
  #cards{gap:6px}
}
.pax{margin-top:4px}
.pax button{width:28px;height:26px}

#devbar{left:50%;transform:translateX(-50%);bottom:calc(var(--safe-b) + 10px);display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:#111827;color:#fff;padding:8px 10px;border-radius:14px;font-size:12px;max-width:94vw;z-index:1020}
#devbar button{border:0;border-radius:8px;padding:6px 9px;font:600 12px Inter,system-ui,sans-serif;cursor:pointer}
#devbar [data-k=prefer]{background:#16a34a;color:#fff}#devbar [data-k=avoid]{background:#dc2626;color:#fff}

/* ===== Journey tracking ===== */
#log:disabled{opacity:1;background:#e2e8f0;border-color:#e2e8f0;color:#475569;box-shadow:none;cursor:not-allowed}
#log.blocked{background:#fff4e5;border-color:#f5b971;color:#9a4d00}
@media (prefers-color-scheme:dark){#log:disabled{background:#1f2937;border-color:#1f2937;color:#cbd5e1}#log.blocked{background:#3a2508;border-color:#8a5a00;color:#ffd08a}}
#live,#summary{left:0;right:0;bottom:0;margin:0 auto;max-width:520px;background:var(--sheet);color:var(--fg);border-radius:22px 22px 0 0;box-shadow:0 -8px 30px rgba(15,23,42,.22);padding:12px 14px calc(var(--safe-b) + 12px);z-index:1005}
#summary{transform:translateY(110%);transition:transform .28s cubic-bezier(.2,.8,.2,1)}
#summary.open{transform:none}
@media (min-width:800px){#live,#summary{left:12px;right:auto;bottom:24px;width:420px;border-radius:20px}}
body.tracking #plan,body.tracking #btn-trips,body.tracking #btn-campus{display:none}
.live-head{display:flex;align-items:center;gap:8px}
.live-head b{font-size:15px;white-space:nowrap}.live-head .muted{margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec{flex:none;width:10px;height:10px;border-radius:50%;background:#dc2626;animation:rec 1.4s infinite}
@keyframes rec{0%{box-shadow:0 0 0 0 rgba(220,38,38,.6)}70%{box-shadow:0 0 0 9px rgba(220,38,38,0)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}}
.live-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 4px}
.live-grid div{background:var(--line);border-radius:12px;padding:8px;text-align:center}
.live-grid b{display:block;font-size:18px;font-variant-numeric:tabular-nums}.live-grid b.gps{font-size:14px;line-height:22px}
.live-grid small{font-size:11px;color:var(--muted)}
.me-dot.live{background:#138a52;box-shadow:0 0 0 7px rgba(19,138,82,.25)}
.sum-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sum-head b{font-size:15px}
.sum-reason{font-size:13px;margin:8px 0 0;color:var(--muted)}.sum-reason.ok{color:var(--green);font-weight:700}
.pill.st-logged{background:#16a34a;color:#fff}.pill.st-not_counted{background:#f59e0b;color:#111}.pill.st-invalid{background:#dc2626;color:#fff}.pill.st-cancelled{background:#64748b;color:#fff}
#summary .stats,#tstats{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))}
#tlist li.replay{cursor:pointer}#tlist small.why{color:#b45309}
.replay-btn{border:0;background:var(--green);color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;flex:none}
#devbar{top:calc(var(--safe-t) + 196px);bottom:auto;font-size:11px;padding:6px 8px;opacity:.94}
@media (min-width:800px){#devbar{top:12px;left:auto;right:12px;transform:none;max-width:560px}}
#devbar .simc{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap}#devbar input[type=number]{width:48px;border-radius:6px;border:0;padding:3px}

#devbar:not(.open){padding:0;background:none}#devbar:not(.open) .devbody{display:none}
#devbar .devtg{background:#111827;color:#ffe08a;font-weight:800;letter-spacing:.5px}
#devbar.open .devtg{background:#374151}
/* v9 – Multi / Safety modes, risk warnings, safe havens, smart link */
.mode-badge{display:flex;flex-direction:column;gap:1px;border-radius:12px;padding:8px 11px;margin:0 0 8px;font-size:14px;line-height:1.25}
.mode-badge small{font-size:11.5px;opacity:.85}
.mode-badge.multi{background:#e7f6ec;color:#0f5132;border:1px solid #9bd3ae}
.mode-badge.safety{background:#1e2a4a;color:#ffe08a;border:1px solid #f59e0b}
.pill.danger{background:#dc2626;color:#fff}
.warn{border-radius:12px;padding:9px 11px;margin:8px 0 0;font-size:12.5px;line-height:1.35}
.warn ul{margin:4px 0;padding-left:18px}.warn p{margin:4px 0}.warn a{color:inherit;font-weight:600}
.warn.danger{background:#fee2e2;color:#7f1d1d;border:2px solid #dc2626}
.warn.caution{background:#fff7e0;color:#6b4500;border:1px solid #f59e0b}
.warn.ok{background:#e7f6ec;color:#0f5132;border:1px solid #9bd3ae}
.haven{width:26px;height:26px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-size:13px;border:2px solid #fff;box-shadow:0 1px 4px #0006}
#share{margin-left:auto;padding:6px 10px;font-size:12.5px}
.r-top{flex-wrap:wrap}
@media (prefers-color-scheme:dark){.warn.danger{background:#450a0a;color:#fecaca}.warn.caution{background:#3a2c08;color:#ffd77a}.warn.ok,.mode-badge.multi{background:#123526;color:#d9f7e6}}
.ptsbox{grid-column:1/-1;background:#0f6b45!important;color:#fff!important}
.tboard{margin:8px 0}.tboard h3{margin:4px 0;font-size:14px}.tboard small{font-size:11.5px;opacity:.8}
.board{margin:4px 0;padding-left:20px;font-size:13px}.board li{display:flex;justify-content:space-between;padding:2px 0}

/* v10 accounts + leaderboard */
.gsheet{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:520px;background:var(--sheet);color:var(--fg);border-radius:22px 22px 0 0;box-shadow:0 -8px 30px rgba(15,23,42,.22);padding:6px 16px calc(var(--safe-b) + 14px);transform:translateY(110%);transition:transform .28s cubic-bezier(.2,.8,.2,1);max-height:78vh;overflow:auto;z-index:1020}
.gsheet.open{transform:none}
@media (min-width:800px){.gsheet{left:auto;right:84px;bottom:24px;width:420px;border-radius:20px}}
.gsheet h3{margin:16px 0 6px;font-size:14px}
.fl{display:block;font-size:13px;font-weight:700;margin:12px 0 4px}
.fl input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border-radius:12px;border:1px solid rgba(100,116,139,.4);background:transparent;color:inherit;font-size:16px}
.fl .row{display:flex;gap:8px;align-items:center}.fl .row input{flex:1}
.btn.wide{width:100%;justify-content:center;margin-top:10px;padding:0 16px}
.btn.danger{color:#dc2626;border-color:#fca5a5}
.or{display:flex;align-items:center;gap:10px;margin:14px 0 4px;color:var(--muted);font-size:12px}.or:before,.or:after{content:"";flex:1;height:1px;background:rgba(100,116,139,.3)}

.r-actions.wrap{flex-wrap:wrap;gap:8px}
#ltabs{display:flex;margin:12px 0 6px}#ltabs button{flex:1}
ol.lb{list-style:none;margin:6px 0;padding:0}
ol.lb li{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid rgba(100,116,139,.18)}
ol.lb li.me{background:rgba(19,138,82,.12);border-radius:10px}
ol.lb .rk{width:30px;text-align:center;font-weight:800}
ol.lb .nm{flex:1;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis}ol.lb .nm small{color:var(--muted);font-weight:600;margin-left:4px}
ol.lb b{font-variant-numeric:tabular-nums}
ul.vlist{list-style:none;margin:0;padding:0}ul.vlist li{padding:8px 0;border-bottom:1px solid rgba(100,116,139,.15);font-size:14px}ul.vlist small{display:block;color:var(--muted)}
.pill.unv{background:rgba(100,116,139,.18);color:var(--muted)}
#btn-account.signed{box-shadow:0 0 0 3px #16a34a inset}

img.brand{background:none;box-shadow:none;border-radius:10px;object-fit:contain}

#legal{position:fixed;left:8px;bottom:calc(var(--safe-b,0px) + 22px);z-index:500;font-size:11px;padding:3px 9px;border-radius:999px}#legal a{text-decoration:none;font-weight:600}

/* v15 sign-in sheet polish */
.gsheet .btn{height:48px;border-radius:999px;font-size:15px}
.gsheet .btn.small{height:38px;padding:0 14px;font-size:13.5px;flex:0 1 auto}
.gsheet .btn:not(.green):not(.danger){border-color:var(--line);background:color-mix(in srgb,var(--fg) 4%,transparent)}
.gsheet .btn.green:active{filter:brightness(.92)}
.gsheet .fl input{border-radius:14px;height:48px;padding:0 14px;border-color:var(--line);background:color-mix(in srgb,var(--fg) 3%,transparent)}
.gsheet .fl input:focus{outline:2px solid var(--green);outline-offset:1px}
.gbtn{display:flex;justify-content:center;align-items:center;width:100%;max-width:400px;margin:0 auto;min-height:48px;background:transparent;border-radius:999px;overflow:hidden;color-scheme:normal}
.gbtn>div,.gbtn iframe{color-scheme:normal;background:transparent!important}
.or{margin:16px 0 6px;font-weight:600;letter-spacing:.2px}
.or:before,.or:after{background:var(--line)}
.gsheet .muted.small{line-height:1.5}
.gsheet .r-actions.wrap{margin-top:10px}
#legal{background:color-mix(in srgb,var(--sheet) 88%,transparent);color:var(--muted);box-shadow:var(--shadow)}
#legal a{color:var(--green)}
@media (prefers-color-scheme:dark){#legal a{color:#4ade80}.gsheet a{color:#4ade80}.btn.danger{color:#f87171;border-color:#7f1d1d}}
/* v16 SOS */
#sos-fab{position:fixed;left:12px;bottom:calc(var(--safe-b,0px) + 56px);z-index:1001;width:56px;height:56px;border-radius:50%;border:3px solid #fff;background:#dc2626;color:#fff;font:800 15px/1 system-ui,sans-serif;letter-spacing:.5px;box-shadow:0 4px 14px rgba(220,38,38,.45);cursor:pointer;display:grid;place-items:center}
#sos-fab:active{transform:scale(.94)}
#sos-fab:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}
body.sos-night #sos-fab,body.safety-mode #sos-fab{width:64px;height:64px;font-size:17px;animation:sosPulse 2.2s ease-out infinite}
@keyframes sosPulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.6),0 4px 14px rgba(220,38,38,.5)}70%{box-shadow:0 0 0 16px rgba(239,68,68,0),0 4px 14px rgba(220,38,38,.5)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0),0 4px 14px rgba(220,38,38,.5)}}
@media (prefers-reduced-motion:reduce){body.sos-night #sos-fab,body.safety-mode #sos-fab{animation:none}}
@media (prefers-color-scheme:dark){#sos-fab{border-color:#1f2937}}
body.tracking #sos-fab{bottom:calc(var(--safe-b,0px) + 260px)}
#sos-sheet{z-index:1030}
.sos-call{display:flex;align-items:center;gap:14px;margin:14px 0 10px;padding:16px 18px;border-radius:20px;background:#dc2626;color:#fff;text-decoration:none;box-shadow:0 6px 18px rgba(220,38,38,.35)}
.sos-call svg{width:34px;height:34px;fill:#fff;flex:none}
.sos-call b{display:block;font-size:20px}.sos-call small{display:block;font-size:14px;opacity:.95}
.sos-call:focus-visible{outline:3px solid #fbbf24;outline-offset:2px}
.sos-row{display:flex;flex-direction:column;gap:8px}
.sos-row .btn{width:100%;text-decoration:none;color:var(--fg)}
.sos-999{border-color:#dc2626!important;color:#dc2626!important;font-weight:700}
@media (prefers-color-scheme:dark){.sos-999{color:#f87171!important;border-color:#b91c1c!important}}
.sos-loc{margin-top:14px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--fg) 5%,transparent);display:flex;flex-direction:column;gap:6px;font-size:14px}
.sos-loc .btn{align-self:flex-start}.sos-ll{font-size:18px;font-variant-numeric:tabular-nums}
#legal{left:80px}
.sos-row .btn{flex:none;height:48px}
#sos-sheet .sos-call,#sos-sheet .sos-call b,#sos-sheet .sos-call small{color:#fff!important}
