:root{color-scheme:light;--font: system-ui, "Segoe UI", Roboto, sans-serif;--color-bg: #FFFFFF;--color-panel: #F1F3F6;--color-text: #0B1220;--color-text-secondary: #3D4757;--color-border: #7B8698;--color-primary: #1F4FE0;--color-on-primary: #FFFFFF;--color-danger: #B42318;--color-on-danger: #FFFFFF;--map-todo-band: #0B2A8A;--map-todo-arrow: #FFD400;--map-done: #12924B;--map-other: #8A94A6;--map-other-opacity: .45;--vehicle-fill: #FFFFFF;--vehicle-stroke: #0B1220;--vehicle-stroke-width: 3.5px;--zone-1: #2563EB;--zone-2: #EA580C;--zone-3: #7C3AED;--zone-4: #DB2777;--zone-5: #0E7490;--zone-6: #A16207;--zone-7: #475569;--zone-8: #B91C1C}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0B0F17;--color-panel: #151B26;--color-text: #F5F7FA;--color-text-secondary: #C2CAD6;--color-border: #5B6677;--color-primary: #7AA2FF;--color-on-primary: #0B0F17;--color-danger: #FF8A7A;--color-on-danger: #0B0F17;--map-todo-band: #7AA2FF;--map-todo-arrow: #0B1220;--map-done: #3DDC84;--map-other: #6B7686;--map-other-opacity: .45;--vehicle-fill: #FFFFFF;--vehicle-stroke: #0B1220;--vehicle-stroke-width: 3.5px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font);font-size:16px;line-height:1.5;background:var(--color-bg);color:var(--color-text)}#app{min-height:100%}h1,h2,h3,p{margin:0}button{font:inherit;cursor:pointer;min-height:40px;padding:0 16px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-panel);color:var(--color-text)}button.primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}button.danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-on-danger)}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.text-secondary{color:var(--color-text-secondary)}
