/* CurbKick: forest green, lime, warm cream, and navigation blue. */
:root{color-scheme:dark;--ink:#f3f1de;--muted:#afc1b6;--accent:#b1d948;--accent-light:#d8ed9c;--line:#344c40;--paper:#0b1611;--surface:#13231a;--surface-soft:#20372a;--button-ink:#15220b;--green:#368d58;--blue:#72b8f4;--warning-bg:#352c1b;--warning-text:#f3d394;--danger-bg:#38231e;--danger-text:#ffbaa6}
:root[data-theme=light]{color-scheme:light;--ink:#153c29;--muted:#526859;--accent:#277845;--accent-light:#e6efc7;--line:#c8d5c4;--paper:#f4f5ec;--surface:#fffef6;--surface-soft:#e9efdf;--button-ink:#fffef0;--green:#277845;--blue:#17629e;--warning-bg:#fff2d7;--warning-text:#785317;--danger-bg:#fff0e8;--danger-text:#943e28}
body{background:var(--paper);color:var(--ink)}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:24px;min-height:40px;padding:8px 12px;font:600 14px/1.2 system-ui;cursor:pointer;white-space:nowrap;width:auto;flex-shrink:0}
.theme-to-dark{display:none}:root[data-theme=light] .theme-to-dark{display:inline}:root[data-theme=light] .theme-to-light{display:none}
.brand{color:var(--ink);gap:10px;white-space:nowrap}.brand-period{color:var(--accent);margin-left:0}.curbkick-logo{display:block;width:46px;height:66px;object-fit:cover}.brand>span{letter-spacing:-1px}.topbar{height:94px;gap:16px;padding:0 24px}.topbar nav{gap:6px}.topbar nav button{padding:0 6px}.topbar>.theme-toggle{order:2}.topbar>.wallet-button{order:3}.topbar>form{order:4}.topbar>.avatar{order:5}.topbar>form .text-button{font-size:12px;white-space:nowrap}
.primary,.report-button{background:var(--accent);color:var(--button-ink)}.primary>span{color:inherit}.primary:hover,.report-button:hover{background:var(--accent);filter:brightness(1.1)}.secondary{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}.reward-hero{background:#20683c;color:#f6f5e5}.reward-hero>span,.reward-hero>small,.reward-hero h2 small{color:#deedc7}.reward-hero .progress i{background:#b1d948}
.spot-card.chosen{border-color:var(--accent);background:var(--surface-soft)}.spot-icon,.gift-icon,.modal-icon,.status-green,.city-status a,.source-note a,.text-button,.session-clock{color:var(--accent)}.status-green:before{background:var(--accent)}.wallet-button,.good-neighbor,.city-status,.driver-card,.active-session,.curb-summary,.parking-result,.wallet-total,.data-loading{background:var(--surface-soft);border-color:var(--line)}
.field-label input,.field-label select,.field-label textarea,select{color:var(--ink);background:var(--surface);border-color:var(--line)}.check-line,.city-status p,.curb-group span span,.curb-group small,.active-session>p,.active-session>small,.active-session p.reminder-note,.city-signs article>p.sign-reading{color:var(--muted)}.city-signs article>p{color:var(--ink)}
.spot-pin{background:var(--accent);color:var(--button-ink);border-color:var(--surface)}.spot-pin.selected{background:var(--accent);color:var(--button-ink);border-color:var(--ink)}.spot-pin.leaving{background:#c7953b;color:#211805}.spot-pin:after{border-top-color:var(--surface)}.map-panel{background:#17281e}.tiles{filter:invert(.91) hue-rotate(140deg) saturate(.35) brightness(.68);opacity:1}:root[data-theme=light] .tiles{filter:saturate(.55) contrast(.93);opacity:1}.map-shade{background:#0d301b12}.neighborhood,.map-legend,.map-hint,.attribution{background:var(--surface);color:var(--ink)}.map-hint{text-shadow:none}.map-hint span,.neighborhood span,.map-bottom-note{color:var(--muted)}.you-pin>span{color:var(--blue);background:var(--surface)}.toast{background:var(--surface-soft);color:var(--ink);border:1px solid var(--line)}.toast button{color:var(--ink)}.modal-backdrop{background:#020a06b3}.photo-upload{color:var(--muted);background:var(--surface-soft);border-color:var(--line)}
.error-box,.info-box,.unknown-result,.live-verdict,.active-session.due,.spot-icon.amber,.pill.warm,.status-label.suspended{background:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-text)}.live-verdict.restriction,.parking-result.blocked,.session-history .delete-confirm{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-text)}.live-verdict .next-window{border-color:var(--line)}.status-amber{color:var(--warning-text)}.coc-family-footer{background:var(--surface);color:var(--ink)}.coc-family-name{color:var(--ink)}.coc-family-eyebrow,.coc-family-product,.coc-family-copyright{color:var(--muted)}
.account-gate{padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.account-brand{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}
body.access-page{background:radial-gradient(ellipse at top,#244c30 0, var(--paper) 65%);color:var(--ink)}.access-page .card{background:var(--surface);border-color:var(--line);box-shadow:0 24px 80px #0003}.access-brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.access-logo{object-fit:cover;width:98px;height:142px}.access-page .tag{color:var(--accent);margin-top:28px}.access-page p{color:var(--muted)}.access-page input{background:var(--paper);border-color:var(--line);color:var(--ink)}.access-page form button{background:var(--accent);color:var(--button-ink)}.access-page .theme-toggle{background:var(--surface-soft);color:var(--ink);border:1px solid var(--line);font-size:14px;padding:10px 13px}.access-page .error{color:var(--warning-text);background:var(--warning-bg)}.access-page .footer{color:var(--muted)}.access-page input:focus-visible,.access-page button:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:1100px) and (min-width:761px){.topbar{gap:8px;padding:0 16px}.brand{font-size:23px}.topbar nav button{font-size:12px}.wallet-button{padding:9px}.wallet-button span,.topbar .avatar{display:none}.theme-toggle{padding:8px}}
@media(max-width:760px){.topbar{height:auto;min-height:90px;padding:10px 16px;gap:10px}.brand{font-size:25px}.curbkick-logo{width:42px;height:60px}.topbar>.theme-toggle{margin-left:auto}.topbar>.wallet-button{margin-left:0}.topbar>form{margin-left:auto}.topbar nav{background:var(--surface);border-top:1px solid var(--line)}.topbar nav button{font-size:12px;padding:8px 5px}.account-gate{margin:20px 14px}.account-brand{gap:12px}.account-brand .brand{font-size:22px}.prototype-strip{font-size:12px}.tiny-tag{font-size:10px}.map-hint{font-size:12px}.map-hint span{font-size:12px}.map-legend{font-size:12px;gap:10px}}
