:root{color-scheme:light;--surface:#fff;--surface-alt:#f3f6ef;--accent-soft:#e9f2df;--accent-text:#365f30;--edge:#e0e7db;--subtle:#64715e;--primary-bg:#23664f;--primary-fg:#fff}
[data-theme=dark]{color-scheme:dark;--ink:#edf3ed;--muted:#a4b0a6;--green:#b4e78d;--lime:#b4e78d;--line:#2b362e;--border:#2b362e;--paper:#111713;--background:#090c0b;--bg:#090c0b;--surface:#111713;--surface-alt:#1b241e;--accent-soft:#263a25;--accent-text:#c5efa6;--edge:#2b362e;--subtle:#a4b0a6;--primary-bg:#b4e78d;--primary-fg:#14210f;--shadow:0 16px 60px #0005}
.theme-toggle{width:38px;height:38px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--edge);border-radius:12px;background:var(--surface-alt);color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
.theme-toggle:hover{box-shadow:0 0 0 3px var(--accent-soft)}.theme-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.theme-row .logo{margin-bottom:0}.auth-shell>.theme-row{margin-bottom:30px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #83ae65;outline-offset:3px}button:disabled{cursor:not-allowed}button:active{transform:translateY(1px) scale(.985)}
.panel-nav button.active{background:var(--accent-soft);font-weight:650}.panel-nav button{min-height:42px}.secondary-button,.preference{border:1px solid var(--edge);border-radius:10px}.secondary-button:hover,.chip:hover,.small-button:hover{background:var(--accent-soft)}
.eyebrow,.small-link,.field-button small,.tariff small,.under-button,.form-foot,.account-note,.hint,.metric small,.metric .caption,td small,.updated,.workspace-label{color:var(--subtle)}
.feature-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;font-size:12px;border-bottom:1px solid var(--edge)}.feature-row button{color:var(--accent-text);font-weight:600;min-height:38px}.stop-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--edge)}.stop-row .field-button{flex:1;min-width:0}.stop-number{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--accent-soft);font-size:11px;flex-shrink:0}.stop-actions{display:flex;gap:2px}.stop-actions button{width:30px;height:38px;font-size:18px}.add-stop{min-height:38px;font-size:11px;color:var(--accent-text);font-weight:600}.payment-option{width:100%;display:flex;justify-content:space-between;gap:12px;border:1px solid var(--edge);border-radius:12px;padding:16px;margin:9px 0;text-align:left;background:var(--surface-alt)}.payment-option.selected{border-color:#82aa68;background:var(--accent-soft)}.payment-option small{display:block;color:var(--subtle);line-height:1.6;margin-top:5px}.payment-option[disabled]{opacity:.65}.tip-options{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.tip-options button{padding:12px 16px;border:1px solid var(--edge);border-radius:10px;background:var(--surface-alt)}.tip-options .selected{background:var(--accent-soft);border-color:#82aa68}.payment-card{background:var(--surface-alt);border:1px solid var(--edge);border-radius:14px;padding:16px;margin:18px 0}.payment-card h3{margin-top:0}.payment-card p{font-size:12px;line-height:1.6;color:var(--muted)}.payment-phone{font-size:22px;font-weight:650;letter-spacing:.4px;user-select:all}.payment-total{display:flex;justify-content:space-between;font-size:14px;margin:12px 0}.payment-card .secondary-button{width:100%;margin-top:8px}.segment-row{padding:10px 0;border-bottom:1px solid var(--edge);font-size:12px;line-height:1.7}.segment-row strong{float:right;margin-left:8px}.segment-row small{color:var(--subtle)}.next-stop{background:var(--accent-soft);padding:13px;border-radius:12px;margin:14px 0}.next-stop p{font-size:12px;line-height:1.6}
[data-theme=dark] body{background:var(--bg,var(--background));color:var(--ink)}
[data-theme=dark] :is(.topbar,.ride-panel,.panel-nav,#booking-footer,.round,.map-top-info,.map-tool,.demo-pill,dialog,.sidebar,.card,.map-card,.metric,.period-toolbar,.auth-shell,.square,.map-label,.leaflet-popup-content-wrapper,.leaflet-popup-tip){background:var(--surface);color:var(--ink);border-color:var(--edge)}
[data-theme=dark] :is(.route-fields,.role-switch,.account-btn,.chip,.tariff,.form input,.form textarea,.search-input,.auth-tabs,.choose-map,.metric,.status-badge.offline,.avatar,.plate,.bubble,.job,.presets,.secondary,.small-button,input,select,dialog header button,.play-icon,.pill,.payment-option){background:var(--surface-alt);border-color:var(--edge);color:var(--ink)}
[data-theme=dark] :is(.role-switch button.selected,.tariff.selected,.preference.selected,.auth-tabs .selected,.sidebar nav button.selected,.metric.highlight,.bubble.mine,.status-badge,.badge.free,.panel-nav button.active){background:var(--accent-soft);border-color:#6d9955;color:var(--accent-text)}
[data-theme=dark] :is(.primary,.search-form button){background:var(--primary-bg);color:var(--primary-fg);box-shadow:none}[data-theme=dark] .primary:hover{background:#c5f5a4}[data-theme=dark] .primary.secondary{background:var(--surface-alt);color:var(--ink)}
[data-theme=dark] :is(.secondary-button,.preference,.field-row,.card-head,.driver-row,.order,td,.history-item,.result,.trip-line){border-color:var(--edge)}
[data-theme=dark] :is(.notice,.info-box){background:#1e3023;border-color:#344f36;color:#c3d8b7}[data-theme=dark] :is(.notice.warning,.connection,.badge.busy,.demo-label){background:#382e1d;border-color:#685332;color:#f0cf8c}[data-theme=dark] :is(.primary.danger,.danger-button,.form-error,#error-banner,.badge.stale){background:#3b2320;color:#ffb5a7!important;border-color:#684038}
[data-theme=dark] :is(small,.subtitle,.hint,.eyebrow,.form-foot,.account-note,.small-link,.field-button small,.pay-row .payment-label,.under-button,.driver-row small,.order small,.auth-form label,.edit-form label,.auth-shell p,.sidebar nav button,.role-switch button,.panel-nav button,.map-legend,.metric span,.metric .caption,.head-tools label,dialog p,.result small,.back-link,.sidebar-bottom button,.workspace-label,.pilot,.updated,th){color:var(--subtle)}
[data-theme=dark] :is(th,.driver-row:hover,.result:hover,.sidebar nav button:hover,.chip:hover,.panel-nav button:hover,.round:hover,.map-tool:hover){background:var(--surface-alt)}
[data-theme=dark] .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) saturate(.35) brightness(.75) contrast(.9)}[data-theme=dark] .leaflet-container{background:#141d19}[data-theme=dark] .leaflet-control-attribution{background:#111713dc!important;color:#adb9ac}[data-theme=dark] .leaflet-control-attribution a{color:#c1dfa8}[data-theme=dark] .leaflet-bar a{background:var(--surface);color:var(--ink);border-color:var(--edge)}
[data-theme=dark] .map-wash{background:linear-gradient(90deg,#090c0b66,transparent 55%),linear-gradient(180deg,#090c0baa,transparent 28%)}[data-theme=dark] .map-caption{color:#bbc8b8;text-shadow:0 1px 4px #000}[data-theme=dark] .map-caption b,[data-theme=dark] .pin{color:var(--accent-text)}[data-theme=dark] .brand-symbol{background:#294f39;color:#c4efa3}[data-theme=dark] .field-dot.end{border-color:#bcdf9c}[data-theme=dark] .stepper i{background:#364536}[data-theme=dark] .stepper i.current{background:#b4e78d}[data-theme=dark] .map-pick{background:#203728;color:#fff}[data-theme=dark] dialog::backdrop{background:#0009}
@media(max-width:760px){.header-right{gap:7px}.theme-toggle{width:32px;height:32px;font-size:21px}.topbar .pilot{display:none}.stop-actions button{width:28px}.theme-row .logo{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

[data-theme=dark] #map{background:#141d19}
