:root,:root[data-theme=light]{color-scheme:light;--bg: #f4f6f5;--surface: #ffffff;--surface-raised: #ffffff;--surface-sunken: #eef1f0;--text-primary: #1c2b26;--text-subtle: #47554f;--text-on-accent: #ffffff;--border: #dde4e1;--border-strong: #9aa8a2;--accent: #0b3d2e;--accent-contrast: #ffffff;--sel-bg: #e6f2e8;--wet: #1d6fc2;--wet-stroke: #155a9e;--dry: #3a9e3d;--dry-stroke: #2d7c30;--idle: #f0a92e;--idle-fill: #fdf8ec;--off: #4a4f4d;--off-stroke: #333937;--comm: #c2c9cc;--comm-fill: #e4e8ea;--danger: #a81c1c;--danger-fg: #ffffff;--warn: #e79a2b;--barrier: #e0b421;--ok-chip: #e6f2e8;--ok-chip-fg: #20512c;--warn-chip: #fdf3e0;--warn-chip-fg: #63490c;--bad-chip: #fbe9e9;--bad-chip-fg: #8e1f1f;--neutral-chip: #eef1f0;--neutral-chip-fg: #33403b;--confirmed-chip: #d9efdd;--confirmed-chip-fg: #175226;--dial-needle: #0d1f18;--dial-needle-big: #10231c;--dial-needle-off: #e8ecea;--dial-text-on: #ffffff;--dial-text-off: #f0f3f2;--dial-text-idle: #33403b;--dial-eg-fill: #7fd4ff;--dial-eg-stroke: #0d466e;--sector-allow: #3aa856;--sector-exclude: #d64b46;--sector-seg: #e79a2b;--sector-opacity-allow: .34;--sector-opacity-exclude: .4;--sector-opacity-seg: .42;--sector-stroke-width: 0;--track: #e8eeeb;--focus-ring: #1d6fc2;--elev-1: 0 1px 3px rgba(0, 0, 0, .1);--elev-2: 0 4px 8px rgba(0, 0, 0, .08)}:root[data-theme=dark]{color-scheme:dark;--bg: #121815;--surface: #1b2420;--surface-raised: #26332d;--surface-sunken: #161d1a;--text-primary: #eaf1ed;--text-subtle: #a8b8b1;--text-on-accent: #0a0f0d;--border: #33413b;--border-strong: #5d6f67;--accent: #7ec9a4;--accent-contrast: #0a0f0d;--sel-bg: #24382d;--wet: #4b9fe8;--wet-stroke: #8cc5f2;--dry: #5cc45f;--dry-stroke: #93dd95;--idle: #f5bb55;--idle-fill: #2e2716;--off: #39413e;--off-stroke: #59635f;--comm: #6b7873;--comm-fill: #2b3431;--danger: #ff938d;--danger-fg: #190606;--warn: #f0aa4a;--barrier: #e8c752;--ok-chip: #1d3324;--ok-chip-fg: #93dd95;--warn-chip: #382c14;--warn-chip-fg: #f2c777;--bad-chip: #3a1f1f;--bad-chip-fg: #f4a6a2;--neutral-chip: #262f2c;--neutral-chip-fg: #c3cfca;--confirmed-chip: #1f3d29;--confirmed-chip-fg: #9ce8a6;--dial-needle: #eaf1ed;--dial-needle-big: #ffffff;--dial-needle-off: #5d6f67;--dial-text-on: #ffffff;--dial-text-off: #b9c6c0;--dial-text-idle: #eaf1ed;--dial-eg-fill: #9fe0ff;--dial-eg-stroke: #0d466e;--sector-allow: #4fc46f;--sector-exclude: #ef6d67;--sector-seg: #f0aa4a;--sector-opacity-allow: .4;--sector-opacity-exclude: .46;--sector-opacity-seg: .46;--sector-stroke-width: 0;--track: #2b3431;--focus-ring: #7ec9a4;--elev-1: 0 1px 3px rgba(0, 0, 0, .5);--elev-2: 0 4px 10px rgba(0, 0, 0, .55)}:root[data-theme=outdoor]{color-scheme:light;--bg: #ffffff;--surface: #ffffff;--surface-raised: #ffffff;--surface-sunken: #f2f4f3;--text-primary: #0a0f0d;--text-subtle: #2c3733;--text-on-accent: #ffffff;--border: #0a0f0d;--border-strong: #0a0f0d;--accent: #06301f;--accent-contrast: #ffffff;--sel-bg: #cfe6d5;--wet: #0f4f8f;--wet-stroke: #062f57;--dry: #1d6b21;--dry-stroke: #0f4412;--idle: #8a5a00;--idle-fill: #fbf0d6;--off: #2b302e;--off-stroke: #0a0f0d;--comm: #5c6663;--comm-fill: #dfe4e2;--danger: #9a1414;--danger-fg: #ffffff;--warn: #8a5a00;--barrier: #7a5f00;--ok-chip: #cfe6d5;--ok-chip-fg: #0f3d18;--warn-chip: #f7e6c4;--warn-chip-fg: #4d3800;--bad-chip: #f7d5d5;--bad-chip-fg: #6b0f0f;--neutral-chip: #e6eae8;--neutral-chip-fg: #141a18;--confirmed-chip: #bfe0c7;--confirmed-chip-fg: #0b3312;--dial-needle: #000000;--dial-needle-big: #000000;--dial-needle-off: #dfe4e2;--dial-text-on: #ffffff;--dial-text-off: #ffffff;--dial-text-idle: #0a0f0d;--dial-eg-fill: #7fd4ff;--dial-eg-stroke: #062f57;--sector-allow: #1d6b21;--sector-exclude: #9a1414;--sector-seg: #8a5a00;--sector-opacity-allow: .5;--sector-opacity-exclude: .55;--sector-opacity-seg: .55;--sector-stroke-width: 1.2;--track: #dfe4e2;--focus-ring: #06301f;--elev-1: none;--elev-2: none}*{margin:0}html,body{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased}#root{min-height:100dvh}a{color:var(--accent)}input,select,button{font-size:16px}@media (max-width: 640px){button{min-height:40px}}.tp-tabular{font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.leaflet-container{height:100%;width:100%}.tp-dial-marker{background:none;border:none}.tp-dial-marker .tp-marker-label{font:11px system-ui;color:#fff;text-shadow:0 1px 2px #000;text-align:center;margin-top:1px}
