/* Shared by the public site, dashboard, account pages and app management. */
:root {
  color-scheme: light;
  --appearance-bg: #f6f7ef;
  --appearance-surface: #fffefb;
  --appearance-soft: #edf2e7;
  --appearance-ink: #193e34;
  --appearance-muted: #586b5d;
  --appearance-line: #d4ddce;
  --appearance-accent: #176b61;
  --appearance-on-accent: #ffffff;
  --appearance-danger: #b74135;
  --appearance-danger-bg: #fff0eb;
  --appearance-warning: #876328;
  --appearance-warning-bg: #faf0dc;
}
:root[data-theme=dark] {
  color-scheme: dark;
  --appearance-bg: #101b17;
  --appearance-surface: #192822;
  --appearance-soft: #24372d;
  --appearance-ink: #e6efe7;
  --appearance-muted: #b1c1b4;
  --appearance-line: #3c5043;
  --appearance-accent: #9bceaf;
  --appearance-on-accent: #11291b;
  --appearance-danger: #ffb4a8;
  --appearance-danger-bg: #492a27;
  --appearance-warning: #edcd8e;
  --appearance-warning-bg: #3b3322;
  --ink: var(--appearance-ink);
  --paper: var(--appearance-bg);
  --muted: var(--appearance-muted);
  --accent: var(--appearance-accent);
  --border: var(--appearance-line);
  --line: var(--appearance-line);
  background: var(--appearance-bg);
  color: var(--appearance-ink);
}
.appearance-picker { display:flex; align-items:center; gap:9px; margin:0; font:500 12px/1.4 system-ui,sans-serif; color:var(--appearance-muted); }
.appearance-picker select { width:auto; min-height:40px; margin:0; padding:8px 9px; border:1px solid var(--appearance-line); border-radius:9px; background:var(--appearance-surface); color:var(--appearance-ink); font:500 13px system-ui,sans-serif; cursor:pointer; }
.appearance-picker select:focus-visible { outline:3px solid var(--appearance-accent); outline-offset:3px; }
.appearance-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.auth-form>[data-theme-picker] { display:flex; justify-content:flex-end; margin-bottom:22px; }
.sidebar [data-theme-picker],.admin-sidebar [data-theme-picker] { margin:18px 0; }
.sidebar .appearance-picker,.admin-sidebar .appearance-picker { color:#cfdfce; }
.sidebar .sidebar-appearance { flex-shrink:0; margin:0 0 14px; }
.admin-sidebar .sidebar-foot { flex-wrap:wrap; }
.site-header-actions { display:flex; align-items:center; gap:14px; }
.site-header-actions .appearance-picker>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.page-appearance { display:flex; justify-content:flex-end; padding:16px 22px 0; max-width:1200px; margin:auto; }
.verification-page>.page-appearance { position:absolute; top:0; right:0; }
.apk-download header { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.apk-download header [data-theme-picker] { margin-left:auto; }

html[data-theme=dark] body { background:var(--appearance-bg); color:var(--appearance-ink); }
html[data-theme=dark] a { color:var(--appearance-accent); }
html[data-theme=dark] p { color:var(--appearance-muted); }
html[data-theme=dark] :is(input,select,textarea) { background:var(--appearance-surface); color:var(--appearance-ink); border-color:var(--appearance-line); }
html[data-theme=dark] :is(input,textarea)::placeholder { color:var(--appearance-muted); opacity:1; }
html[data-theme=dark] :is(button,a,input,select,textarea,summary):focus-visible { outline-color:var(--appearance-accent); }
html[data-theme=dark] :is(.primary,.button.primary) { background:var(--appearance-accent); color:var(--appearance-on-accent); }
html[data-theme=dark] :is(.primary,.button.primary):hover { background:#b5dfc3; }
html[data-theme=dark] :is(.secondary,.google-button,.space-member-link,.button.outline) { background:var(--appearance-surface); color:var(--appearance-ink); border-color:var(--appearance-line); }
html[data-theme=dark] .secondary:hover { background:var(--appearance-soft); }
html[data-theme=dark] :is(.text-button,button.link,details summary,.verification-brand,.download-detail,.meetups-main .text-button) { color:var(--appearance-accent); }
html[data-theme=dark] :is(.privacy-page a,.privacy-document a) { color:var(--appearance-accent); }
html[data-theme=dark] :is(.error,.sos-seconds) { color:var(--appearance-danger); }
html[data-theme=dark] :is(.danger,.safety-footer .danger,button.danger,.badge.bad,.incident,#attention-shortcut) { background:var(--appearance-danger-bg); color:var(--appearance-danger); border-color:#805046; }
html[data-theme=dark] :is(.auth-form>p,.small,.muted,small,.member .detail,.member-info .detail,.member-checkin small,.privacy-strip p,.privacy-strip small,.map-empty span,.circle-request p,.request-state,.circle-empty p,.safety-footer span,.onboarding-steps,.account-plan p,.account-plan li,.history-dialog [data-status],#driving-results,.plan-status,.space-badge,.meetups-footnote,.data-main p,.data-card p) { color:var(--appearance-muted); }
html[data-theme=dark] :is(.metric>span,.metric small,.facts dt,th,.pager span,.empty) { color:var(--appearance-muted); }
html[data-theme=dark] :is(.panel,.people-panel,.map-panel,.metric,.card,.data-card,.support-card,.privacy-strip,.quick-access,.verification-card,dialog:not(.gps-camera),.circle-layout .panel,.circle-layout .people-panel,.circle-layout .map-panel,.map-empty) { background:var(--appearance-surface); color:var(--appearance-ink); border-color:var(--appearance-line); }
html[data-theme=dark] :is(.panel-heading,.member,.activity-row,.task,.place,.driving-details,.driving-row,.circle-request,.circle-tabs,.session,.campaign,.audit-entry,.support-report,.support-note,.support-response,.space-impact>div,.meetup-note,.meetup-people li,th,td) { border-color:var(--appearance-line); }
html[data-theme=dark] :is(.profile-facts,.private-email,.account-plan.active,.timer-row,.invite-code,.quick-grid button span,.ownership-summary,.meetup-responses>span,.meetup-change-note,.notice,.audit-entry pre,.data-ready,th) { background:var(--appearance-soft); color:var(--appearance-ink); }
html[data-theme=dark] :is(.profile-facts strong,.driving-row strong,.quick-grid button,.circle-empty h3,.member-checkin,.request-answer,.support-body,.support-note-body) { color:var(--appearance-ink); }
html[data-theme=dark] :is(.avatar,.member .avatar,.member .avatar.fresh,.you-label,.free-badge,.badge,.meetup-phase,.panel-heading>span,.circle-tabs button[aria-selected=true]) { background:var(--appearance-soft); color:var(--appearance-accent); }
html[data-theme=dark] :is(.member .avatar.stale,.badge.warn,.session-confirm) { background:var(--appearance-warning-bg); color:var(--appearance-warning); border-color:#8f774c; }
html[data-theme=dark] .member-info .status.stale { color:var(--appearance-warning); }
html[data-theme=dark] :is(.sidebar,.admin-sidebar,.auth-story) { background:#132b23; }
html[data-theme=dark] .sidebar-bottom { background:transparent; }
html[data-theme=dark] .admin-sidebar :is(button,.brand,.sidebar-foot a) { color:#d1e0ce; background:transparent; }
html[data-theme=dark] .admin-sidebar nav button[aria-current=page] { background:#36513d; color:#edfae9; }
html[data-theme=dark] .admin-sidebar p { color:#b1c1b4; }
html[data-theme=dark] .circle-tabs { background:var(--appearance-bg); }
html[data-theme=dark] .circle-tabs button { color:var(--appearance-muted); }
html[data-theme=dark] :is(#map,.history-map) { background:var(--appearance-soft); }
html[data-theme=dark] :is(.maplibregl-popup-content,.maplibregl-ctrl-group,.maplibregl-ctrl-attrib) { background:var(--appearance-surface); color:var(--appearance-ink); }
html[data-theme=dark] .maplibregl-ctrl-attrib a { color:var(--appearance-ink); }
html[data-theme=dark] .maplibregl-ctrl button .maplibregl-ctrl-icon { filter:invert(1); }
html[data-theme=dark] .maplibregl-popup-anchor-bottom .maplibregl-popup-tip { border-top-color:var(--appearance-surface); }
/* Camera previews, exported photos, QR codes and map imagery retain their real colors. */
html[data-theme=dark] .gps-camera footer { background:var(--appearance-surface); color:var(--appearance-ink); }
html[data-theme=dark] .gps-camera footer input { background:var(--appearance-soft); color:var(--appearance-ink); }

/* Public website */
html[data-theme=dark] :is(.site-header nav,.eyebrow,.hero-foot strong,.feature-label,.plan-state,.plan-state.muted,.plan-price small,.plan-card>p,.plan-card ul,.plan-card .plan-note,.plans-foot,.privacy-section p:not(.eyebrow),.privacy-points,.how-section li>span,.visual-caption,.demo-header small,.demo-members small,.floating-note small,.demo-free,.battery,.site-footer p,.site-footer small,.download-state,.download-state.muted) { color:var(--appearance-muted); }
html[data-theme=dark] :is(.hero-visual,.feature-card,.plan-card,.download-card,.floating-note,.map-place) { background:var(--appearance-surface); color:var(--appearance-ink); border-color:var(--appearance-line); }
html[data-theme=dark] :is(.statement-band,.plan-card.featured,.download-card.available,.privacy-section,.feature-icon,.note-check,.member-avatar) { background:var(--appearance-soft); color:var(--appearance-ink); border-color:var(--appearance-line); }
html[data-theme=dark] :is(h1 em,.statement-band p span,.privacy-symbol) { color:#aed08d; }
html[data-theme=dark] :is(.demo-brand,.closing .primary) { background:#9bceaf; color:#11291b; }
html[data-theme=dark] .audience-section { background:#132b23; }
html[data-theme=dark] .audience-section .eyebrow { color:#b4cb99; }
html[data-theme=dark] .store-pending { background:var(--appearance-soft); color:var(--appearance-muted); border-color:var(--appearance-line); }
html[data-theme=dark] .pin-label { color:var(--appearance-ink); }
html[data-theme=dark] .map-credit { background:#192822ed; color:var(--appearance-ink); }
html[data-theme=dark] .site-header .brand img { outline:1px solid #50664b; border-radius:11px; }
html[data-theme=dark] .mini-avatar { color:#293c2d; }
html[data-theme=dark] .apk-download :is(article,.guide) { background:var(--appearance-surface); color:var(--appearance-ink); border-color:var(--appearance-line); }
html[data-theme=dark] .apk-download .available { background:var(--appearance-soft); }
html[data-theme=dark] .apk-download .button { background:var(--appearance-accent); color:var(--appearance-on-accent); }
html[data-theme=dark] .apk-download .pending { background:var(--appearance-soft); color:var(--appearance-muted); border-color:var(--appearance-line); }
html[data-theme=dark] .apk-download :is(.state,details,footer) { color:var(--appearance-muted); }
@media(max-width:720px) {
  .site-header { gap:10px; }
  .site-header-actions { gap:8px; }
  .site-header-actions .button.small { padding:10px; gap:7px; font-size:12px; }
  .site-header-actions .appearance-picker select { padding:8px 4px; font-size:12px; }
}
@media(max-width:360px) { .site-header { padding-inline:14px; } .site-header .brand { font-size:22px; gap:6px; } .site-header .brand img { width:28px; height:28px; } }
