.backdrop[data-v-caea7a07]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#0a0e1480}.dialog[data-v-caea7a07]{width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:14px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);text-align:center}.icon[data-v-caea7a07]{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}h2[data-v-caea7a07]{margin:12px 0 6px;font-size:1.2rem}.lead[data-v-caea7a07]{margin:0 0 12px;color:var(--text-muted)}.points[data-v-caea7a07]{margin:0 0 16px;padding:12px 14px 12px 32px;border-radius:10px;background:var(--surface-2);text-align:left;font-size:.92rem;line-height:1.5}.msg[data-v-caea7a07]{margin:0 0 12px;font-weight:600}.msg.ok[data-v-caea7a07]{color:var(--accent)}.msg.err[data-v-caea7a07]{color:var(--danger, #c92a2a)}.actions[data-v-caea7a07]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.actions .btn[data-v-caea7a07]{min-width:140px}.never[data-v-caea7a07]{margin-top:10px;border:0;background:none;color:var(--text-muted);font-size:.85rem;text-decoration:underline;cursor:pointer}.hint[data-v-caea7a07]{margin:10px 0 0;font-size:.82rem}@media(max-width:480px){.actions .btn[data-v-caea7a07]{flex:1 1 100%}}.imp-bar[data-v-397cd326]{position:fixed;left:50%;bottom:12px;z-index:90;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);padding:6px 6px 6px 14px;border-radius:999px;background:var(--warning-text);color:#fff;font-size:.88rem;box-shadow:0 6px 20px #1018284d}.txt[data-v-397cd326]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button[data-v-397cd326]{flex:none;height:28px;padding:0 12px;border:0;border-radius:999px;background:#fff;color:#16191d;font-weight:600;cursor:pointer}.boot-error[data-v-d9cd0b0d]{display:grid;place-items:center;gap:1rem;height:100dvh;align-content:center;color:var(--text)}:root{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #f0f2f5;--border: #dde1e6;--text: #16191d;--text-muted: #5f6873;--accent: #0f766e;--accent-contrast: #ffffff;--accent-soft: #e6f4f2;--danger: #b42318;--danger-soft: #fdecea;--warning-soft: #fff4e0;--warning-text: #7a3306;--shadow: 0 1px 2px rgb(16 24 40 / 6%), 0 4px 12px rgb(16 24 40 / 6%);--radius: 10px;--header-h: 56px;--st-moving: #16a34a;--st-idle: #d97706;--st-stopped: #2563eb;--st-offline: #6b7280;--st-disabled: #9ca3af;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1114;--surface: #161a1f;--surface-2: #1d2228;--border: #2a3038;--text: #e7eaee;--text-muted: #9aa4b0;--accent: #2dd4bf;--accent-contrast: #062a26;--accent-soft: #11302d;--danger: #f97066;--danger-soft: #3a1714;--warning-soft: #3a2a10;--warning-text: #fbbf74;--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 4px 12px rgb(0 0 0 / 30%)}}:root[data-theme=dark]{--bg: #0e1114;--surface: #161a1f;--surface-2: #1d2228;--border: #2a3038;--text: #e7eaee;--text-muted: #9aa4b0;--accent: #2dd4bf;--accent-contrast: #062a26;--accent-soft: #11302d;--danger: #f97066;--danger-soft: #3a1714;--warning-soft: #3a2a10;--warning-text: #fbbf74;--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 4px 12px rgb(0 0 0 / 30%)}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;height:100%}body{background:var(--bg);color:var(--text)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.btn{color:var(--text);text-decoration:none}a.btn-primary{color:var(--accent-contrast)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:36px;padding:0 .9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-icon{width:36px;padding:0}.btn-ghost{border-color:transparent;background:transparent}.input,.select{height:38px;width:100%;padding:0 .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.input::placeholder{color:var(--text-muted)}.muted{color:var(--text-muted)}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.unit-off{flex:none;padding:1px 8px;border-radius:999px;background:var(--warning-soft);color:var(--warning-text);font-size:.75rem;font-weight:600;white-space:nowrap}.mapboxgl-ctrl-group{background:var(--surface)!important}.busy-host{position:relative}.busy-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:inherit;background:color-mix(in srgb,var(--surface) 90%,transparent);color:var(--text);font-weight:600;cursor:progress}.busy-overlay:before{content:"";width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:busy-spin .8s linear infinite}@keyframes busy-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.busy-overlay:before{animation:none}}
