@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@500;600;700&family=Fira+Sans:wght@300;400;500;600;700&display=swap";:root{--font-sans:"Fira Sans", "Segoe UI", system-ui, sans-serif;--font-mono:"Fira Code", "Segoe UI", monospace;--bg:#0a0a0a;--bg-soft:#141414;--bg-accent:#1a1a1a;--bg-deep:#050505;--panel:#141414e6;--panel-solid:#161616;--panel-soft:#ffffff0a;--panel-hover:#282828e6;--line:#ffffff1a;--line-strong:#fff3;--text:#a3a3a3;--text-strong:#fafafa;--muted:#737373;--primary:#22c55e;--primary-strong:#16a34a;--primary-dark:#15803d;--primary-darker:#166534;--primary-glow:#22c55e1a;--primary-border:#22c55e66;--primary-focus:#22c55e80;--secondary:#a3a3a3;--secondary-strong:#d4d4d4;--secondary-dark:#737373;--secondary-glow:#a3a3a314;--danger:#ef4444;--danger-light:#f87171;--danger-text:#fca5a5;--danger-text-soft:#fecaca;--danger-text-softer:#fee2e2;--danger-bg:#7f1d1d66;--danger-bg-strong:#991b1beb;--danger-border:#f871714d;--danger-border-strong:#ef444480;--primary-fg:#0a0a0a;--warning:#f59e0b;--warning-text:#fbbf24;--warning-bg:#f59e0b29;--warning-border:#f59e0b66;--warning-btn-text:#fbbf24;--warning-btn-bg:#f59e0b29;--warning-btn-border:#f59e0b73;--warning-btn-hover-bg:#f59e0b52;--warning-btn-hover-text:#fff;--node-mikrotik:#fbbf24;--node-sectorial:#22c55e;--node-m5:#60a5fa;--node-offline:#404040;--gradient-main:radial-gradient(ellipse at 20% 0%, #22c55e0f, transparent 50%), linear-gradient(180deg, var(--bg) 0%, var(--bg-soft) 100%);--gradient-login:radial-gradient(circle at 50% 0%, #22c55e14, transparent 50%);--gradient-client:linear-gradient(180deg, var(--bg) 0%, var(--bg-soft) 100%);--gradient-history:radial-gradient(ellipse at 80% 0%, #22c55e0a, transparent 40%), linear-gradient(180deg, var(--bg) 0%, var(--bg-soft) 100%);--shadow-card:0 24px 60px #02061773;--shadow-panel:0 8px 40px #00000073;--shadow-float:0 12px 48px #0006;--shadow-glow-primary:0 0 18px #22c55e33;--shadow-inset:inset 0 1px 0 #f8fafc0a;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1);--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:16px;--radius-3xl:18px;--page-max-width:1200px;--page-max-width-wide:1320px;--page-padding-x:24px;--page-padding-y:32px;--page-padding-bottom:60px;--topbar-height:58px;--topbar-padding-x:24px;--topbar-padding-y:12px;--card-padding:24px;--card-padding-sm:16px;--card-radius:var(--radius-lg);--card-radius-lg:var(--radius-xl);--control-height:34px;--control-radius:var(--radius-md)}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}input[type=checkbox]:checked,input[type=radio]:checked{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f8fafc;--bg-soft:#f1f5f9;--bg-accent:#e2e8f0;--bg-deep:#fff;--panel:#ffffffeb;--panel-solid:#fff;--panel-soft:#0f172a0a;--panel-hover:#f1f5f9f2;--line:#0f172a1f;--line-strong:#0f172a3d;--text:#334155;--text-strong:#0f172a;--muted:#64748b;--primary:#16a34a;--primary-strong:#15803d;--primary-dark:#166534;--primary-darker:#14532d;--primary-glow:#16a34a1f;--primary-border:#16a34a59;--primary-focus:#16a34a80;--secondary:#2563eb;--secondary-strong:#1d4ed8;--secondary-dark:#1e40af;--secondary-glow:#2563eb1a;--danger:#dc2626;--danger-light:#ef4444;--danger-text:#b91c1c;--danger-text-soft:#991b1b;--danger-text-softer:#7f1d1d;--danger-bg:#fee2e2cc;--danger-bg-strong:#fecacae6;--danger-border:#f8717166;--danger-border-strong:#ef444480;--primary-fg:#fff;--warning:#d97706;--warning-text:#92400e;--warning-bg:#f59e0b1f;--warning-border:#d9770659;--warning-btn-text:#92400e;--warning-btn-bg:#f59e0b24;--warning-btn-border:#d9770666;--warning-btn-hover-bg:#d97706;--warning-btn-hover-text:#fff;--node-mikrotik:#eab308;--node-sectorial:#059669;--node-m5:#2563eb;--node-offline:#94a3b8;--gradient-main:radial-gradient(circle at 16% 10%, #16a34a14, transparent 36%), radial-gradient(circle at 86% 8%, #2563eb0f, transparent 30%), linear-gradient(140deg, #f8fafc 0%, #f1f5f9 55%, #f8fafc 100%);--gradient-login:radial-gradient(circle at 20% 16%, #16a34a14, transparent 34%), radial-gradient(circle at 80% 0%, #2563eb0f, transparent 28%);--gradient-client:radial-gradient(circle at 20% 20%, #e0f2fe 0, #f8fafc 38%, #fff 100%);--gradient-history:radial-gradient(circle at 84% 6%, #2563eb0d, transparent 28%), linear-gradient(160deg, #f8fafc 0%, #f1f5f9 65%, #f8fafc 100%);--shadow-card:0 24px 60px #0f172a14;--shadow-panel:0 8px 40px #0f172a0f;--shadow-float:0 12px 48px #0f172a1a;--shadow-glow-primary:0 0 18px #16a34a26;--shadow-inset:inset 0 1px 0 #fffc}[data-theme=midnight]{--bg:#0a0a0f;--bg-soft:#12121a;--primary:#8b5cf6;--primary-strong:#7c3aed;--primary-glow:#8b5cf629;--node-mikrotik:#fbbf24;--node-sectorial:#34d399;--node-m5:#60a5fa}.wisp-page-shell{background:var(--gradient-main);min-height:100dvh;color:var(--text);font-family:var(--font-sans);box-sizing:border-box;flex-direction:column;display:flex;overflow-x:hidden}.wisp-page-main{width:100%;max-width:var(--page-max-width);padding:var(--page-padding-y) var(--page-padding-x) var(--page-padding-bottom);box-sizing:border-box;flex-direction:column;flex:1;gap:24px;margin:0 auto;display:flex}.wisp-page-main.wide{max-width:var(--page-max-width-wide)}.wisp-topbar{padding:var(--topbar-padding-y) var(--topbar-padding-x);background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30;box-sizing:border-box;min-height:var(--topbar-height);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.wisp-topbar-spacer{width:var(--control-height);height:var(--control-height);flex-shrink:0}.wisp-back-btn{height:var(--control-height);background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--control-radius);color:var(--text);font-size:13px;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);box-sizing:border-box;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;text-decoration:none;display:inline-flex}.wisp-back-btn:hover{background:var(--panel-hover);border-color:var(--line-strong);color:var(--text-strong)}.wisp-back-icon{font-size:14px;line-height:1}.wisp-back-text{font-size:13px;font-weight:500}.wisp-topbar-title{text-align:center;flex-direction:column;gap:2px;min-width:0;display:flex}.wisp-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);white-space:nowrap;font-size:10.5px}.wisp-topbar-title h1{font-family:var(--font-mono);color:var(--text-strong);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:18px;font-weight:600;overflow:hidden}.wisp-topbar-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.wisp-topbar-actions .theme-toggle{width:var(--control-height);height:var(--control-height);border-radius:var(--control-radius);background:var(--panel-soft);border:1px solid var(--line);color:var(--text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.wisp-topbar-actions .theme-toggle:hover{background:var(--panel-hover);border-color:var(--line-strong);color:var(--text-strong)}.wisp-topbar-actions .theme-toggle svg{width:16px;height:16px}.wisp-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--shadow-panel);box-sizing:border-box}@media (width<=768px){.wisp-topbar{gap:10px;padding:10px 16px}.wisp-topbar-title h1{font-size:16px}.wisp-page-main{gap:16px;padding:16px 14px 40px}}@media (width<=580px){.wisp-topbar{gap:8px;padding:8px 12px}.wisp-topbar-title h1{font-size:14.5px}.wisp-eyebrow{letter-spacing:.08em;font-size:9px}.wisp-back-btn{height:32px;padding:6px 10px;font-size:12px}.wisp-topbar-actions .theme-toggle{width:32px;height:32px}}@media (width<=380px){.wisp-back-text{display:none}.wisp-back-btn{justify-content:center;width:32px;height:32px;padding:0}}[data-theme=light] .wisp-topbar{background:#fffffff0;border-color:#e2e8f0}[data-theme=light] .wisp-back-btn{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .wisp-back-btn:hover{background:#e2e8f0}[data-theme=light] .wisp-topbar-actions .theme-toggle{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .wisp-topbar-actions .theme-toggle:hover{background:#e2e8f0}[data-theme=light] .wisp-card{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 4px #0f172a0f}:root{color:var(--text);background:var(--bg);font:16px/1.5 var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--gradient-main);min-width:320px;margin:0}#root{min-height:100vh}::selection{background:var(--primary-glow);color:var(--text-strong)}:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-page{background:var(--gradient-login);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);border-radius:var(--radius-3xl);background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(100%,380px);box-shadow:var(--shadow-card);flex-direction:column;gap:17px;padding:30px 24px;display:flex}.login-brand h1{font-family:var(--font-mono);letter-spacing:.02em;margin:4px 0 0;font-size:27px;line-height:1.1}.login-eyebrow{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.login-error{color:var(--warning-text);margin:0;font-size:13px}.google-button{place-items:center;min-height:44px;display:grid}.auth-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}@media (prefers-reduced-motion:reduce){.google-button{transition:none}}[data-theme=light] .login-card{background:#fff;border-color:#e2e8f0;box-shadow:0 20px 40px #0f172a14}[data-theme=light] .login-brand h1{color:#0f172a}[data-theme=light] .login-eyebrow{color:var(--primary)}.shell{position:fixed;inset:0;overflow:hidden}.topbar{z-index:20;pointer-events:none;grid-template-columns:auto minmax(300px,300px) 1fr;align-items:stretch;gap:8px;display:grid;position:absolute;top:16px;left:16px;right:16px}.topbar>*{pointer-events:auto;align-items:center;min-height:44px;display:flex}.topbar-measure{z-index:-1;visibility:hidden;pointer-events:none;contain:layout style;grid-template-columns:auto 180px auto auto;align-items:stretch;gap:8px;width:max-content;display:grid;position:fixed;top:-10000px;left:0}.topbar-measure>*{align-items:center;min-height:44px;display:flex}.topbar-box{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;box-shadow:inset 0 1px #f8fafc0a}.brand{padding:0 14px}.brand img{width:auto;height:30px}[data-theme=light] .brand img,[data-theme=light] .sidepanel-logo{filter:brightness(0)saturate()}[data-theme=dark] .brand img,[data-theme=dark] .sidepanel-logo{filter:brightness(0)saturate()invert()}.search{min-width:120px;position:relative}.searchInput{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;height:100%;color:var(--text);font:inherit;border-radius:12px;outline:none;padding:0 14px;font-size:13px;transition:border-color .2s}.searchInput:focus{border-color:var(--line-strong)}.stats{align-items:stretch;gap:6px;display:flex}.viewSwitch{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;display:flex;overflow:hidden}.viewBtn{color:var(--muted);background:0 0;border:0;border-radius:0;align-items:center;height:100%;padding:0 14px;font-size:12px;font-weight:700;transition:background .15s,color .15s;display:flex}.viewBtn+.viewBtn{border-left:1px solid var(--line)}.viewBtn:hover{background:#ffffff08}.viewBtn.active{color:var(--text-strong);background:#22c55e24}.stats>span{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--text);white-space:nowrap;border-radius:12px;align-items:center;gap:4px;padding:0 14px;font-size:12px;display:flex}.stats b{color:var(--text-strong);font-weight:700}.stat-err{border-color:var(--danger-border-strong)!important}.stat-err b{color:var(--danger-text)}.stat-time{color:var(--muted)!important;border-style:dashed!important;font-size:11px!important}.stat-group{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);height:100%;color:var(--text);align-items:center;gap:10px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.stat-sep{background:var(--line);flex-shrink:0;width:1px;height:14px;display:block}.actions{align-items:stretch;gap:6px;display:flex}.actions button{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--text);white-space:nowrap;cursor:pointer;transition:border-color var(--transition-normal), background var(--transition-normal);align-items:center;padding:0 14px;font-size:12px;font-weight:700;display:flex}.actions button:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel-hover)}.topbar-toggle{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--text);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:border-color var(--transition-normal), background var(--transition-normal);align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.topbar-toggle:hover{border-color:var(--line-strong);background:var(--panel-hover)}.topbar-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent,#22c55e);cursor:pointer;flex-shrink:0}.theme-toggle{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:44px;height:44px;color:var(--text);cursor:pointer;transition:border-color var(--transition-normal), background var(--transition-normal), color var(--transition-normal);justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{border-color:var(--line-strong);background:var(--panel-hover);color:var(--text-strong)}.theme-toggle svg{width:18px;height:18px}.whatsapp-toggle-btn{border:1px solid var(--line);border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.whatsapp-toggle-btn:hover{color:#25d366;background:#25d3661a;border-color:#25d366}.whatsapp-toggle-btn svg{width:18px;height:18px}.sidepanel-btn.whatsapp{color:#fff;background:linear-gradient(135deg,#25d366 0%,#128c7e 100%);border:none;justify-content:center;align-items:center;display:flex}.sidepanel-btn.whatsapp:hover{background:linear-gradient(135deg,#20bd5a 0%,#0f7a6d 100%)}.sidepanel-theme-row{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);background:#ffffff05;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 14px;font-size:13px;display:flex}.sidepanel-toggle-row{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.sidepanel-toggle-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent,#22c55e);cursor:pointer;flex-shrink:0}.sidepanel-theme-row .theme-toggle{width:36px;height:36px}.sidepanel-theme-row .theme-toggle svg{width:16px;height:16px}.hamburger{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;padding:0;display:flex}.hamburger span{background:var(--text);border-radius:2px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block}.hamburger:hover span{background:var(--text-strong)}.sidepanel-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;background:#0009;transition:opacity .25s,visibility .25s;position:fixed;inset:0}.sidepanel-overlay.open{opacity:1;visibility:visible}.sidepanel{z-index:100;background:var(--panel);border-right:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;width:280px;max-width:85vw;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidepanel.open{transform:translate(0)}.sidepanel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.sidepanel-logo{width:auto;height:22px}.sidepanel-user{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffff08;align-items:center;gap:10px;min-width:0;margin:14px 16px 4px;padding:10px;display:flex}.sidepanel-user-avatar{object-fit:cover;border:1px solid var(--line-strong,var(--line));border-radius:50%;flex:0 0 36px;width:36px;height:36px}.sidepanel-user-avatar--fallback{background:var(--primary,#22c55e);color:#08100d;place-items:center;font-size:14px;font-weight:700;display:grid}.sidepanel-user-copy{flex-direction:column;min-width:0;line-height:1.25;display:flex}.sidepanel-user-copy strong,.sidepanel-user-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidepanel-user-copy strong{color:var(--text-strong);font-size:13px}.sidepanel-user-copy span{color:var(--muted);margin-top:3px;font-size:11px}.sidepanel-close{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;font-size:16px;transition:color .15s,border-color .15s;display:flex}.sidepanel-close:hover{color:var(--text-strong);border-color:var(--line-strong)}.sidepanel-modules-nav{padding:12px 16px 0}.sidepanel-hub-btn{border:1px solid var(--primary-border);border-radius:var(--radius-md);width:100%;color:var(--primary);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;transition:all var(--transition-fast);background:#22c55e1a;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:12.5px;font-weight:600;display:flex}.sidepanel-hub-btn:hover{background:var(--primary);color:#0a0a0a;border-color:var(--primary-strong);box-shadow:0 4px 16px var(--primary-glow)}.sidepanel-hub-btn svg{flex-shrink:0}.topbar-modules-btn{border:1px solid var(--primary-border)!important;color:var(--primary)!important;background:#22c55e14!important;align-items:center!important;gap:6px!important;display:inline-flex!important}.topbar-modules-btn:hover{background:var(--primary)!important;color:#0a0a0a!important}.sidepanel-nav{flex-direction:column;gap:20px;padding:16px;display:flex}.sidepanel-section{flex-direction:column;gap:10px;display:flex}.sidepanel-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.sidepanel-group{gap:8px;display:flex}.sidepanel-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:12px 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s}.sidepanel-btn:hover{border-color:var(--line-strong);background:#ffffff0a}.sidepanel-btn.active{background:var(--primary-glow);color:var(--text-strong);border-color:#22c55e66}.sidepanel-btn.primary{color:var(--primary);background:#22c55e1f;border-color:#22c55e4d}.sidepanel-btn.primary:hover:not(:disabled){background:#22c55e33}.sidepanel-btn.danger{color:var(--danger-light);background:#ef44441a;border-color:#ef44444d}.sidepanel-btn.danger:hover{background:#ef44442e}.sidepanel-stats{flex-direction:column;gap:8px;display:flex}.sidepanel-stats span{border:1px solid var(--line);color:var(--text);background:#ffffff05;border-radius:10px;padding:10px 14px;font-size:13px}.sidepanel-stats b{color:var(--text-strong);font-weight:700}.sidepanel-stats .stat-err{border-color:#ee6c4d66}.sidepanel-stats .stat-time{color:var(--muted);border-style:dashed;font-size:12px}.topbar--compact{align-items:center;gap:8px;flex-flow:row!important;display:flex!important}.topbar--compact .brand,.topbar--compact .desktop-only{display:none!important}.topbar--compact .hamburger{flex-direction:column;flex:none;display:flex!important}.topbar .desktop-only{display:none!important}.topbar .hamburger{flex:none;display:flex!important}.topbar--compact .search{flex:1;min-width:0;width:auto!important}.topbar--compact .mobile-view-toggle{display:flex}@media (width<=700px){.topbar{grid-template-columns:auto minmax(0,1fr);gap:6px}.topbar .brand{display:none}.topbar .search{min-width:0}}button{cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}button:focus-visible{outline-offset:2px;outline:2px solid #22c55ea3}button:disabled{cursor:wait;opacity:.55}.overlay-state{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-strong);pointer-events:none;background:#0f172aeb;border-radius:12px;padding:14px 18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay-state.error{color:var(--danger-text);border-color:#ee6c4d80}.detailPanel{z-index:20;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:thin;scrollbar-color:var(--line) transparent;border-radius:14px;width:300px;padding:12px;transition:box-shadow .25s;position:absolute;top:66px;bottom:16px;right:16px;overflow-y:auto;box-shadow:0 8px 40px #00000073}.detailPanel.open{box-shadow:0 8px 40px #00000073}.detailHeader{align-items:center;gap:9px;margin-bottom:10px;display:flex}.detailTitle{flex:1;min-width:0}.panelToggle{cursor:pointer;flex-shrink:0;display:none;border:1px solid var(--line)!important;background:var(--panel-soft)!important;color:var(--muted)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:8px!important;padding:4px 9px!important;font-size:12px!important}.dot{border-radius:999px;flex-shrink:0;width:12px;height:12px;box-shadow:0 0 20px}.dot.mikrotik{background:var(--node-mikrotik);color:var(--node-mikrotik)}.dot.sectorial{background:var(--node-sectorial);color:var(--node-sectorial)}.dot.m5{background:var(--node-m5);color:var(--node-m5)}.detailHeader p{color:var(--muted);text-transform:uppercase;margin:0 0 2px;font-size:10px;font-weight:800}.detailHeader h2{color:var(--text);font-family:var(--font-mono);word-break:break-word;margin:0;font-size:16px;line-height:1.15}.fields{gap:4px;display:grid}.field{border:1px solid var(--line);background:var(--panel-soft);border-radius:10px;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:6px;padding:6px 8px;display:grid}.field span{color:var(--muted);font-size:11px}.field strong{color:var(--text-strong);overflow-wrap:anywhere;font-size:12px}.errors{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.errors h3{color:var(--danger-text);margin:0 0 6px;font-size:13px}.errors p{color:var(--muted);margin:0 0 6px;font-size:12px}.history-btn{background:linear-gradient(135deg, var(--primary), var(--primary-strong));color:#fff;border:1px solid var(--primary-border);border-radius:var(--radius-md);cursor:pointer;width:100%;transition:background-color var(--transition-normal), box-shadow var(--transition-normal);box-shadow:var(--shadow-glow-primary);margin-top:12px;padding:9px 12px;font-size:13px;font-weight:700}.history-btn-label{align-items:center;gap:8px;display:inline-flex}.history-btn-icon{flex-shrink:0;width:14px;height:14px}.history-btn:hover{background:linear-gradient(135deg, var(--primary-strong), var(--primary-dark));box-shadow:0 0 22px #22c55e4d}.history-btn:active{background:linear-gradient(135deg, var(--primary-dark), var(--primary-darker))}.client-data-btn{background:linear-gradient(135deg, var(--secondary), var(--secondary-strong));color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:background-color var(--transition-normal), box-shadow var(--transition-normal);border:1px solid #3b82f673;margin-top:10px;padding:9px 12px;font-size:13px;font-weight:700;box-shadow:0 0 18px #3b82f62e}.client-data-btn-label{align-items:center;gap:8px;display:inline-flex}.client-data-btn-icon{flex-shrink:0;width:14px;height:14px}.client-data-btn:hover{background:linear-gradient(135deg, var(--secondary-strong), var(--secondary-dark));box-shadow:0 0 22px #3b82f64d}.client-data-btn:active{background:linear-gradient(135deg, var(--secondary-dark), #1e40af)}.cred-section{margin-top:12px}.cred-toggle-btn{width:100%;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);background:#94a3b814;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.cred-toggle-btn:hover{color:var(--text);background:#94a3b826}.cred-toggle-btn.has-custom{color:var(--warning);background:#fbbe3b1f;border-color:#fbbe3b59}.cred-toggle-btn.has-custom:hover{background:#fbbe3b33}.cred-icon{flex-shrink:0;width:14px;height:14px}.cred-form{border:1px solid var(--line);border-radius:var(--radius-md);background:#00000040;margin-top:10px;padding:12px}.cred-hint{color:var(--muted);margin:0 0 10px;font-size:11px;line-height:1.4}.cred-input{background:var(--panel-solid);border:1px solid var(--line);width:100%;color:var(--text);box-sizing:border-box;border-radius:6px;outline:none;margin-bottom:8px;padding:8px 10px;font-size:12px}.cred-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #25c2a026}.cred-input::placeholder{color:var(--muted)}.cred-error{color:var(--danger);background:#dc262626;border-radius:4px;margin:0 0 8px;padding:6px 8px;font-size:11px}.cred-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.cred-btn{cursor:pointer;min-width:70px;transition:all var(--transition-fast);border:none;border-radius:6px;flex:1;padding:7px 10px;font-size:11px;font-weight:600}.cred-btn:disabled{opacity:.5;cursor:not-allowed}.cred-btn.save{background:var(--primary);color:#0f1f1a}.cred-btn.save:hover:not(:disabled){background:var(--primary-strong)}.cred-btn.reset{color:var(--warning);background:#fbbe3b26}.cred-btn.reset:hover:not(:disabled){background:#fbbe3b40}.cred-btn.cancel{color:var(--muted);background:#94a3b81f}.cred-btn.cancel:hover:not(:disabled){color:var(--text);background:#94a3b833}.table-action-btn{color:#60a5fa;cursor:pointer;white-space:nowrap;background:#3b82f626;border:1px solid #3b82f659;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:700;transition:background-color .15s,border-color .15s}.table-action-btn:hover{background:#3b82f640;border-color:#3b82f680}.table-action-btn:active{background:#3b82f659}.table-action-btn.history{color:var(--primary);background:#25c2a026;border-color:#25c2a059}.table-action-btn.history:hover{background:#25c2a040;border-color:#25c2a080}.actions-cell{white-space:nowrap;flex-wrap:nowrap;gap:4px;min-width:160px;display:flex}.topologyTable tbody tr.rowError{background:#dc262614}.topologyTable tbody tr.rowError:hover{background:#dc26261f}.status-indicator-cell{text-align:center;width:32px;padding:0 8px!important}.status-dot{border-radius:50%;width:10px;height:10px;display:inline-block;position:relative}.status-dot.online{background:#22c55e;animation:2s infinite pulse-online;box-shadow:0 0 #22c55eb3}.status-dot.offline{background:#94a3b8}[data-theme=dark] .status-dot.offline{background:#475569}@keyframes pulse-online{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.topologyTable tbody tr.rowDisconnected td{color:var(--muted);opacity:.7}.topologyTable tbody tr.rowDisconnected .status-dot{opacity:1}.topologyTable tbody tr.rowDisconnected:hover td{opacity:.8}.td-error{color:var(--danger);font-weight:600}.td-offline{color:var(--muted)}.searchInput{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;color:var(--text);font:inherit;box-sizing:border-box;border-radius:12px;outline:none;padding:9px 12px;font-size:13px}.searchInput:focus{border-color:#22c55e9e;box-shadow:0 0 0 2px #22c55e29}.searchInput::placeholder{color:var(--muted)}.searchResults{z-index:50;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;max-height:320px;margin:6px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 30px #00000073}.searchResults li{cursor:pointer;border-radius:9px;align-items:center;gap:8px;padding:8px 9px;transition:background-color .2s;display:flex}.searchResults li:hover{background:var(--panel-soft)}.searchDot{border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 6px}.searchName{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.searchSub{color:var(--muted);flex-shrink:0;font-size:11px}.tableView{z-index:5;position:absolute;inset:72px 16px 16px}.tableView.withPanel{right:328px}.tableCard{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;flex-direction:column;height:100%;padding-bottom:71px;display:flex;overflow:hidden;box-shadow:0 8px 40px #0006}.tableWrapper{flex:1;min-height:0;overflow:auto}.topologyTable{border-collapse:collapse;width:100%;min-width:760px}.topologyTable thead th{z-index:1;background:var(--panel-solid);color:var(--text-strong);letter-spacing:.04em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--line);padding:10px 12px;font-size:11px;position:sticky;top:0}.topologyTable thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s,color .15s}.topologyTable thead th.sortable:hover{background:var(--panel-hover);color:var(--primary)}.topologyTable thead th.sortable.sorted-asc,.topologyTable thead th.sortable.sorted-desc{color:var(--primary);background:#22c55e14}.topologyTable thead th .sortIcon{opacity:.8;margin-left:4px;font-size:9px}.topologyTable tbody td{color:var(--text);white-space:nowrap;border-bottom:1px solid #94a3b826;padding:9px 12px;font-size:12px}.topologyTable tbody tr{cursor:pointer;transition:background-color .15s}.topologyTable tbody tr:hover{background:#25c2a014}.topologyTable tbody tr.isSelected{background:#22c55e26}.tablePagination{border-top:1px solid var(--line);background:var(--panel-solid);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.paginationInfo{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.rowsSelect{background:var(--panel-solid);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:5px 8px;font-size:11px}.rowsSelect:focus{border-color:var(--primary);outline:none}.rowsSummary{color:var(--muted);border:1px solid var(--line);background:#94a3b814;border-radius:6px;padding:4px 8px;font-size:11px}.paginationControls{align-items:center;gap:4px;display:flex}.paginationControls button{border:1px solid var(--line);color:var(--text);cursor:pointer;transition:all var(--transition-fast);background:#94a3b814;border-radius:6px;padding:6px 10px;font-size:11px}.paginationControls button:hover:not(:disabled){border-color:var(--line-strong);background:#94a3b826}.paginationControls button:disabled{opacity:.4;cursor:not-allowed}.pageIndicator{color:var(--text);padding:0 12px;font-size:12px;font-weight:500}@media (width<=820px){.tableView{bottom:8px;left:8px;right:8px}.tableView.withPanel{right:8px}.detailPanel{border-right:none;border-radius:14px 0 0 14px;width:min(360px,92vw);max-height:none;padding-top:16px;transition:transform .25s,box-shadow .25s;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%);box-shadow:-12px 0 40px #00000073}.detailPanel.open{max-height:none;transform:translate(0)}.panelToggle{display:inline-flex}}@media (width<=480px){.topbar{top:8px;left:8px;right:8px}.topbar h1{font-size:18px}.detailPanel{border-radius:0;width:100vw}.stats span,button,.viewBtn{font-size:11px}.tablePagination{flex-direction:column;gap:10px;padding:10px}.paginationInfo{justify-content:space-between;width:100%}.paginationControls{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.detailPanel,.history-btn,.searchResults li,button{transition:none!important}}.server-down-alert{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ef4444f2,#b91c1cf2);border:2px solid #ff646480;border-radius:16px;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:16px 24px;animation:2s ease-in-out infinite alertPulse;display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #ef444466,0 0 60px #ef444433,inset 0 1px #ffffff1a}@keyframes alertPulse{0%,to{box-shadow:0 8px 32px #ef444466,0 0 60px #ef444433}50%{box-shadow:0 8px 40px #ef444499,0 0 80px #ef444459}}.server-down-icon{font-size:32px;line-height:1;animation:.5s ease-in-out infinite iconShake}@keyframes iconShake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.server-down-text{color:#fff;flex-direction:column;gap:4px;display:flex}.server-down-text strong{letter-spacing:-.02em;font-size:16px;font-weight:700}.server-down-text span{opacity:.9;font-size:13px}.server-down-retry{color:#fff;cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #ffffff4d;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s}.server-down-retry:hover{background:#ffffff4d;border-color:#ffffff80}.server-down-retry:active{transform:scale(.95)}@media (width<=600px){.server-down-alert{text-align:center;flex-direction:column;gap:12px;padding:14px 18px;top:70px}.server-down-text strong{font-size:14px}.server-down-text span{font-size:12px}}.mikrotik-error-alert{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fb923cf2,#ea580cf2);border:2px solid #ffb46480;border-radius:14px;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:14px 20px;animation:2s ease-in-out infinite alertPulseOrange;display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #fb923c59,0 0 40px #fb923c26,inset 0 1px #ffffff1a}@keyframes alertPulseOrange{0%,to{box-shadow:0 6px 24px #fb923c59,0 0 40px #fb923c26}50%{box-shadow:0 6px 32px #fb923c80,0 0 60px #fb923c40}}.mikrotik-error-icon{font-size:28px;line-height:1}.mikrotik-error-text{color:#fff;flex-direction:column;gap:2px;display:flex}.mikrotik-error-text strong{font-size:15px;font-weight:700}.mikrotik-error-text span{opacity:.9;font-size:12px}.mikrotik-error-retry{color:#fff;cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .2s}.mikrotik-error-retry:hover:not(:disabled){background:#ffffff4d}.mikrotik-error-retry:disabled{opacity:.6;cursor:not-allowed}@media (width<=600px){.mikrotik-error-alert{text-align:center;flex-direction:column;gap:10px;padding:12px 16px;top:70px}}.device-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.action-btn{cursor:pointer;border:1px solid;border-radius:10px;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.action-btn:disabled{opacity:.6;cursor:not-allowed}.action-icon{width:16px;height:16px}.reboot-btn{color:#60a5fa;background:#3b82f61f;border-color:#3b82f64d}.reboot-btn:hover:not(:disabled){background:#3b82f633;border-color:#3b82f680}.delete-btn{color:#f87171;background:#ef44441a;border-color:#ef44444d}.delete-btn:hover:not(:disabled){background:#ef44442e;border-color:#ef444480}.admin-ap-btn{color:#fbbe3b;background:#fbbe3b1f;border-color:#fbbe3b59}.admin-ap-btn:hover:not(:disabled){background:#fbbe3b38;border-color:#fbbe3b8c}.delete-confirm{background:#ef444414;border:1px solid #ef444440;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.delete-confirm-text{color:#f87171;font-size:12px;font-weight:600}.delete-confirm-btn{color:#fff!important;background:#ef4444e6!important;border-color:#ef4444e6!important}.delete-confirm-btn:hover:not(:disabled){background:#ef4444!important}.delete-cancel-btn{color:var(--muted)!important;background:#94a3b81f!important;border-color:#94a3b840!important}.delete-cancel-btn:hover:not(:disabled){color:var(--text)!important;background:#94a3b833!important}.table-action-btn.reboot{color:#60a5fa;background:#3b82f626;border-color:#3b82f659;padding:4px 6px;font-size:14px}.table-action-btn.reboot:hover:not(:disabled){background:#3b82f640;border-color:#3b82f680}.table-action-btn.delete{color:#f87171;background:#ef44441a;border-color:#ef44444d;padding:4px 6px;font-size:12px}.table-action-btn.delete:hover:not(:disabled){background:#ef44442e;border-color:#ef444480}.table-action-btn.admin-ap{color:#fbbe3b;background:#fbbe3b26;border-color:#fbbe3b66}.table-action-btn.admin-ap:hover:not(:disabled){background:#fbbe3b40;border-color:#fbbe3b99}.table-action-btn:disabled{opacity:.5;cursor:not-allowed}.scan-progress-floating{z-index:200;pointer-events:none;width:min(400px,100vw - 48px);animation:.2s fadeIn;position:fixed;bottom:24px;right:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scan-progress{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:14px;flex-direction:column;gap:10px;padding:18px 20px;display:flex;box-shadow:0 20px 60px #00000059}.scan-progress--overlay{width:min(420px,100%)}.scan-progress--banner{background:var(--panel-soft);width:100%;box-shadow:none;margin-bottom:12px;padding:12px 16px}.scan-progress__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.scan-progress__phase{flex-direction:column;gap:2px;min-width:0;display:flex}.scan-progress__origin{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.scan-progress__phase-name{color:var(--text-strong);font-size:15px;font-weight:600}.scan-progress__counter{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.scan-progress__percent{color:var(--primary);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.scan-progress__count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.scan-progress__bar{background:#94a3b82e;border-radius:999px;height:8px;position:relative;overflow:hidden}.scan-progress__bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--primary-strong,var(--primary)));width:0;height:100%;transition:width .4s;display:block}.scan-progress__bar.is-indeterminate .scan-progress__bar-fill{width:40%;animation:1.2s ease-in-out infinite scan-progress-indet}@keyframes scan-progress-indet{0%{transform:translate(-100%)}50%{transform:translate(60%)}to{transform:translate(180%)}}.scan-progress__message{color:var(--text);word-break:break-word;min-height:1.35em;margin:0;font-size:13px;line-height:1.35}.scan-progress__meta{color:var(--muted);gap:14px;margin:0;font-size:12px;display:flex}.scan-progress__failed{color:var(--danger);font-weight:600}@media (width<=768px){.scan-progress--overlay{width:min(360px,100%);padding:14px 16px}}@media (prefers-reduced-motion:reduce){.scan-progress__bar-fill{transition:none}.scan-progress__bar.is-indeterminate .scan-progress__bar-fill{opacity:.6;width:100%;animation:none}.scan-progress-floating{animation:none}}.shell{background-image:radial-gradient(circle, var(--dot-color,#94a3b826) 1px, transparent 1px);background-position:50%;background-size:30px 30px}[data-theme=light] .shell{--dot-color:#64748b33}[data-theme=dark] .shell{--dot-color:#94a3b81f}.mobile-view-toggle{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-shrink:0;gap:2px;margin-left:8px;padding:2px;display:none}.mobile-view-toggle button{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.mobile-view-toggle button:hover{background:var(--hover)}.mobile-view-toggle button.active{background:var(--primary);color:#fff}.mobile-view-toggle button svg{width:18px;height:18px}@media (width<=1100px){.mobile-view-toggle{display:flex}}.topologyTable .numero-cliente{color:var(--primary);font-size:13px;font-weight:600}.topologyTable .mac-cell{letter-spacing:.02em;color:var(--muted);text-transform:uppercase;font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,monospace;font-size:11px}@media (width<=1100px){.topologyTable th:nth-child(6),.topologyTable td:nth-child(6){display:none}}.btn-notif{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:6px 10px;transition:background .15s,border-color .15s;display:flex;position:relative}.btn-notif:hover{background:var(--panel-hover)}.btn-notif.has-pending{color:#f59e0b;border-color:#f59e0b}.btn-notif.has-pending svg{stroke:#f59e0b}.notif-badge{color:#000;background:#f59e0b;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.sidepanel-badge{margin-left:auto}.notif-overlay{z-index:89;position:fixed;inset:0}.notif-panel{background:var(--panel);border:1px solid var(--line);z-index:90;border-radius:12px;flex-direction:column;width:min(380px,100vw - 32px);max-height:70vh;display:flex;position:fixed;top:70px;right:16px;overflow:hidden;box-shadow:0 8px 32px #00000047}.notif-header{border-bottom:1px solid var(--line);color:var(--text-strong);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px 10px;font-size:13px;font-weight:600;display:flex}.notif-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:14px}.notif-close:hover{background:var(--panel-hover)}.notif-empty{text-align:center;color:var(--text-muted);margin:0;padding:24px 16px;font-size:13px}.notif-list{margin:0;padding:0;list-style:none;overflow-y:auto}.notif-item{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.notif-item:last-child{border-bottom:none}.notif-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.notif-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.notif-days{color:#f59e0b;font-size:11px;font-weight:600}.notif-days.critical{color:var(--danger)}.notif-goto{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;padding:5px 12px;font-size:12px;transition:background .15s,border-color .15s}.notif-goto:hover{background:var(--primary);border-color:var(--primary);color:#fff}.traffic-modal-overlay,.traffic-ranking-overlay{z-index:900;background:#050505e0;animation:.3s cubic-bezier(.32,.72,0,1) both traf-fade;position:fixed;inset:0}@keyframes traf-fade{0%{opacity:0}to{opacity:1}}@keyframes traf-modal-enter{0%{opacity:0;transform:translate(-50%,-46%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes traf-panel-enter{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}.traffic-modal{background:var(--panel-solid);border:1px solid var(--line);z-index:910;width:min(540px,92vw);max-height:82vh;box-shadow:0 0 0 1px var(--line), 0 32px 100px -12px #000000b3, 0 12px 36px -8px #0006, inset 0 1px 0 #ffffff0d;border-radius:1.5rem;padding:32px 28px;animation:.4s cubic-bezier(.32,.72,0,1) both traf-modal-enter;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.traffic-modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:18px;display:flex}.traffic-modal-header h3{font-family:var(--font-sans);color:var(--text-strong);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:700}.traffic-modal-ip{font-family:var(--font-mono);color:var(--muted);margin-top:4px;font-size:11px;display:block}.traffic-modal-close{border:1px solid var(--line);background:var(--panel-soft);cursor:pointer;width:34px;height:34px;color:var(--muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:all .25s cubic-bezier(.32,.72,0,1);display:flex}.traffic-modal-close:hover{background:var(--panel-hover);color:var(--text-strong);transform:scale(1.05)}.traffic-modal-close:active{transform:scale(.95)}.traffic-modal-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.traffic-detail-link{border:1px solid var(--primary-border);background:var(--primary-glow);color:var(--primary);cursor:pointer;white-space:nowrap;border-radius:9px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .25s cubic-bezier(.32,.72,0,1)}.traffic-detail-link:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.traffic-period-tabs{background:var(--bg-deep);border:1px solid var(--line);border-radius:14px;gap:3px;margin-bottom:24px;padding:4px;display:flex}.traffic-period-tabs button{color:var(--muted);font-family:var(--font-sans);letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:11px;flex:1;padding:9px 14px;font-size:12px;font-weight:600;transition:all .3s cubic-bezier(.32,.72,0,1)}.traffic-period-tabs button.active{background:var(--primary);color:#fff;box-shadow:0 2px 12px #22c55e59,inset 0 1px #ffffff2e}.traffic-summary-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.traffic-card{background:var(--bg-deep);border:1px solid var(--line);text-align:center;border-radius:16px;padding:20px 14px 18px;transition:border-color .3s cubic-bezier(.32,.72,0,1);position:relative;overflow:hidden}.traffic-card:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff0a}.traffic-card-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-bottom:10px;font-size:9px;font-weight:700;display:block}.traffic-card-value{font-family:var(--font-mono);color:var(--text-strong);letter-spacing:-.03em;font-size:22px;font-weight:700;display:block}.traffic-card.download{border-color:#22c55e33}.traffic-card.upload{border-color:#fbbf2433}.traffic-chart{border-top:1px solid var(--line);margin-top:12px;padding:20px 0 0}.traffic-loading,.traffic-empty{text-align:center;color:var(--muted);font-family:var(--font-sans);letter-spacing:.01em;padding:56px 24px;font-size:13px;font-weight:500}.traffic-ranking-panel{background:var(--panel-solid);border-left:1px solid var(--line);z-index:910;width:min(540px,100vw);box-shadow:-1px 0 0 var(--line), -32px 0 100px -12px #0009, -12px 0 36px -8px #00000059;flex-direction:column;animation:.4s cubic-bezier(.32,.72,0,1) both traf-panel-enter;display:flex;position:fixed;top:0;bottom:0;right:0}.traffic-ranking-header{border-bottom:1px solid var(--line);font-family:var(--font-sans);color:var(--text-strong);letter-spacing:-.02em;justify-content:space-between;align-items:center;padding:22px 24px;font-size:16px;font-weight:700;display:flex}.traffic-ranking-close{border:1px solid var(--line);background:var(--panel-soft);cursor:pointer;width:34px;height:34px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;font-size:14px;transition:all .25s cubic-bezier(.32,.72,0,1);display:flex}.traffic-ranking-close:hover{background:var(--panel-hover);color:var(--text-strong);transform:scale(1.05)}.traffic-ranking-close:active{transform:scale(.95)}.traffic-ranking-panel .traffic-period-tabs{margin:18px 24px}.traffic-ranking-panel .traffic-network-summary{margin:0 24px 24px}.traffic-ranking-list{flex:1;padding:0 16px 16px;overflow:auto}.traffic-ranking-row{font-family:var(--font-sans);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:34px minmax(170px,1fr) 78px 78px 92px;align-items:center;width:100%;padding:12px 10px;font-size:12px;transition:all .25s cubic-bezier(.32,.72,0,1);display:grid}.traffic-ranking-row:hover:not(.header){background:var(--bg-deep);border-color:var(--line);box-shadow:inset 0 1px #ffffff08}.traffic-ranking-row:active:not(.header){transform:scale(.99)}.traffic-ranking-row.header{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);cursor:default;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:6px;padding-bottom:10px;font-size:9px;font-weight:700}.traffic-ranking-row .rank{font-family:var(--font-mono);color:var(--muted);font-size:11px;font-weight:700}.traffic-ranking-row .name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-strong);padding-right:10px;font-weight:500;overflow:hidden}.traffic-ranking-row .bytes{font-family:var(--font-mono);text-align:right;color:var(--text);font-size:11px}.traffic-ranking-row .bytes.total{color:var(--primary);font-weight:700}.traffic-ranking-row:nth-child(2) .rank{color:#fbbf24}.traffic-ranking-row:nth-child(3) .rank{color:#94a3b8}.traffic-ranking-row:nth-child(4) .rank{color:#cd7f32}@media (width<=600px){.traffic-modal{border-radius:0;width:100vw;min-height:100dvh;max-height:100dvh;padding:24px 16px;animation:.25s cubic-bezier(.32,.72,0,1) both traf-fade;top:0;left:0;transform:none}.traffic-ranking-panel{width:100vw}.traffic-ranking-row{grid-template-columns:30px 190px 78px 78px 92px;width:500px;min-width:500px;padding:10px 8px;font-size:11px}.traffic-summary-cards{grid-template-columns:1fr;gap:8px}.traffic-card{padding:16px 14px}.traffic-card-value{font-size:20px}}[data-theme=light] .btn-notif.has-pending{color:#b45309;border-color:#d97706}[data-theme=light] .btn-notif.has-pending svg{stroke:#b45309}[data-theme=light] .notif-badge{color:#fff;background:#d97706}[data-theme=light] .notif-days,[data-theme=light] .traffic-card.upload .traffic-card-value,[data-theme=light] .traffic-ranking-row:nth-child(2) .rank{color:#b45309}.history-page{background:var(--gradient-main);color:var(--text);font-family:var(--font-sans);flex-direction:column;display:flex}.history-ip-badge{font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--panel-soft);border:1px solid var(--line);color:var(--text-strong);padding:4px 10px;font-size:12px;font-weight:600}.history-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:0;padding:0;display:grid}.stat-card{background:var(--panel);border-radius:var(--card-radius);border:1px solid var(--line);box-shadow:var(--shadow-panel);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px}.stat-value{font-family:var(--font-mono);color:var(--text-strong);font-size:22px;font-weight:700}.stat-value.green{color:var(--primary)}.stat-value.red{color:var(--danger)}.history-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text-soft);border-radius:.8rem;justify-content:space-between;align-items:center;margin:1rem;padding:2rem;display:flex}.history-error p{margin:0}.history-error button{background:var(--danger-bg-strong);color:var(--danger-text-softer);border:1px solid var(--danger-border);cursor:pointer;transition:background-color var(--transition-normal);border-radius:.5rem;padding:.5rem 1rem;font-weight:500}.history-error button:hover{background:var(--danger-bg)}.history-loading,.history-empty{text-align:center;color:var(--muted);padding:3rem 2rem;font-size:1rem}.history-charts{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px;padding:0;display:grid}.chart-container{background:var(--panel);border:1px solid var(--line);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--shadow-panel);box-sizing:border-box;min-width:0}.chart-connectivity{grid-column:span 2}.chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.chart-container h3{font-family:var(--font-mono);color:var(--text-strong);margin:0;font-size:14.5px;font-weight:600}.chart-time-selector{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);gap:3px;padding:3px;display:flex}.chart-time-selector button{color:var(--muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:11.5px;font-weight:500;transition:all .15s}.chart-time-selector button:hover{color:var(--text-strong);background:var(--panel-hover)}.chart-time-selector button.active{background:var(--panel-hover);color:var(--primary);font-weight:600}.recharts-surface{filter:brightness(.95)}.recharts-cartesian-axis-tick text{fill:var(--muted);font-size:12px}.recharts-tooltip-wrapper{outline:none}.recharts-default-tooltip{border-radius:.375rem;background:var(--panel-solid)!important;border:1px solid var(--line-strong)!important;color:var(--text)!important}.recharts-tooltip-label{color:var(--text)!important}.recharts-tooltip-item{color:var(--muted)!important}@media (width<=768px){.history-header{flex-direction:column;align-items:flex-start;gap:1rem;margin:.8rem .8rem 0;padding:1rem}.history-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.8rem;display:grid}.stat-card{text-align:center;padding:.6rem}.stat-label{font-size:.6rem}.stat-value{font-size:1.1rem}.history-charts{flex-direction:column;flex:none;gap:.8rem;padding:0 .8rem 1.5rem;display:flex}.chart-connectivity{grid-column:auto}.chart-container{flex-shrink:0;min-height:300px;padding:.8rem}.chart-header{flex-direction:row;align-items:center;gap:.4rem}.chart-container h3{font-size:.85rem}.chart-time-selector button{padding:3px 6px;font-size:.65rem}.chart-container.chart-connectivity{min-height:300px}.chart-container h3{margin-bottom:.4rem;font-size:.85rem}.history-brand h1{font-size:1.3rem}.history-controls select{padding:.4rem .8rem;font-size:.8rem}}@media (width<=400px){.history-header{margin:.5rem;padding:.8rem}.back-btn{padding:.5rem .6rem;font-size:1rem}.history-brand h1{font-size:1.1rem}.ip-label{font-size:.75rem}.history-stats{grid-template-columns:repeat(3,1fr);gap:.4rem;padding:.5rem}.stat-card{padding:.5rem .3rem}.stat-label{font-size:.55rem}.stat-value{font-size:.95rem}.history-charts{gap:.6rem;padding:0 .5rem 1rem}.chart-container{min-height:280px;padding:.6rem}.chart-container.chart-connectivity{min-height:300px}.chart-container h3{font-size:.75rem}.chart-time-selector{padding:1px}.chart-time-selector button{padding:2px 5px;font-size:.6rem}}@media (prefers-reduced-motion:reduce){.back-btn,.history-controls select,.history-error button{transition:none}}[data-theme=light] .stat-card,[data-theme=light] .chart-container{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 4px #0f172a0f}[data-theme=light] .chart-container h3{color:#0f172a}[data-theme=light] .history-ip-badge{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .chart-time-selector{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .chart-time-selector button{color:#64748b}[data-theme=light] .chart-time-selector button:hover{color:#0f172a;background:#fff9}[data-theme=light] .chart-time-selector button.active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a1a}.client-page{background:var(--bg);min-height:100vh}.client-loading,.client-error{min-height:100vh;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:16px;display:flex}.client-error button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 20px}.client-topbar{border-bottom:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10;align-items:center;gap:16px;padding:16px;display:flex;position:sticky;top:0}.client-title{color:var(--text-strong);margin:0;font-size:18px;font-weight:600}.back-btn{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:border-color .2s,background-color .2s;display:flex}.back-btn svg{width:16px;height:16px}.back-btn:hover{border-color:var(--line-strong);background:#1e293be0}.client-actions button{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px;transition:all .2s}.client-actions button:hover{border-color:var(--danger-border);color:var(--danger-light)}.client-content{max-width:1000px;margin:0 auto;padding:20px}.client-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=900px){.client-grid{grid-template-columns:1fr}}.client-card{border:1px solid var(--line);border-radius:var(--card-radius);background:var(--panel);padding:var(--card-padding);box-shadow:var(--shadow-panel);box-sizing:border-box;overflow:hidden}.client-card h2{font-family:var(--font-mono);color:var(--text-strong);border-bottom:1px solid var(--line);margin:0 0 16px;padding-bottom:12px;font-size:16px;font-weight:600}.invoices-card{grid-column:1/-1}.info-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.info-row{flex-direction:column;gap:4px;display:flex}.info-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.info-value{color:var(--text);font-size:14px;font-weight:500}.info-value.estado-activo{color:var(--primary)}.info-value.estado-desconectado{color:var(--danger-light)}.info-value.numero-cliente{color:var(--primary);font-size:16px;font-weight:700}.info-value.mac-address{letter-spacing:.02em;color:var(--muted);text-transform:uppercase;font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,monospace;font-size:12px}.client-form{flex-direction:column;gap:14px;display:flex}.form-row-group{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=600px){.form-row-group{grid-template-columns:1fr}}.form-row{flex-direction:column;gap:6px;display:flex}.form-row.full{grid-column:1/-1}.form-row label{color:var(--muted);font-size:12px;font-weight:500}.form-row input,.form-row textarea{border:1px solid var(--line);background:var(--panel-soft);width:100%;color:var(--text);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-row input:focus,.form-row textarea:focus{border-color:var(--primary)}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--muted);opacity:.6}.form-row textarea{resize:vertical;min-height:80px}.form-actions{flex-wrap:wrap;align-items:center;gap:12px;padding-top:8px;display:flex}.save-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.save-btn:hover:not(:disabled){background:#16a34a}.save-btn:disabled{opacity:.6;cursor:not-allowed}.save-success{color:var(--primary);font-size:13px}.save-error{color:var(--danger-light);font-size:13px}.invoice-create{background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;display:flex}.invoice-create-row{align-items:center;gap:10px;display:flex}.invoice-create-row select,.invoice-create-row input{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 12px;font-size:14px}.invoice-create-row select{flex:1;min-width:0}.invoice-create-row>input[type=number]{flex:0 0 90px;width:90px}.invoice-create-row>input[type=text]{flex:1;min-width:0}.invoice-create-row.discount-row>input[type=number]{flex:0 0 140px;width:140px}.invoice-create-row.discount-row>input[type=text],.invoice-create-row.period-row>input[type=date]{flex:1;min-width:0}.create-invoice-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px 18px;font-size:14px;font-weight:600;transition:all .2s}.create-invoice-btn:hover:not(:disabled){background:#16a34a}.create-invoice-btn:disabled{opacity:.5;cursor:not-allowed}.invoice-warning{color:var(--warning);margin:0;font-size:12px}.invoice-error{color:var(--danger-light);margin:0;font-size:13px}.invoices-list{overflow-x:auto}.no-invoices{color:var(--muted);text-align:center;padding:24px;font-size:14px}.invoices-table{border-collapse:collapse;width:100%;min-width:600px}.invoices-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 12px;font-size:11px}.invoices-table td{color:var(--text);border-bottom:1px solid #94a3b81a;padding:12px;font-size:14px}.invoices-table tr:hover{background:#ffffff05}.estado-badge{text-transform:capitalize;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.estado-badge.pendiente{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text)}.estado-badge.pagada{border:1px solid var(--primary-border);color:var(--primary);background:#22c55e26}.estado-badge.vencida{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-light)}[data-theme=light] .estado-badge.pendiente{color:#92400e;background:#f59e0b24;border-color:#d9770659}[data-theme=light] .estado-badge.pagada{color:#15803d;background:#16a34a1f;border-color:#16a34a4d}[data-theme=light] .estado-badge.vencida{color:#b91c1c;background:#ef44441f;border-color:#ef44444d}[data-theme=light] .invoice-actions button.action-unpay{border-color:#d97706}[data-theme=light] .invoice-actions button.action-unpay svg{stroke:#d97706}.invoice-actions{gap:6px;display:flex}.invoice-actions button{border:1px solid var(--line);background:var(--panel-soft);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s;display:flex}.invoice-actions button svg{width:16px;height:16px;stroke:var(--text)}.invoice-actions button:hover{border-color:var(--line-strong);background:var(--panel-hover)}.invoice-actions button.action-pdf:hover{border-color:var(--primary);background:#22c55e1a}.invoice-actions button.action-pdf:hover svg{stroke:var(--primary)}.invoice-actions button.action-pay:hover{border-color:var(--primary);background:#22c55e1a}.invoice-actions button.action-pay:hover svg{stroke:var(--primary)}.invoice-actions button.action-unpay:hover{background:#f59e0b1a;border-color:#f59e0b}.invoice-actions button.action-unpay:hover svg{stroke:#f59e0b}.invoice-actions button.action-delete:hover{border-color:var(--danger);background:#ef44441a}.invoice-actions button.action-delete:hover svg{stroke:var(--danger)}.invoice-actions button.action-verify:hover{background:#6366f11a;border-color:#6366f1}.invoice-actions button.action-verify:hover svg{stroke:#6366f1}.invoice-actions button.action-verify.valid{border-color:var(--primary)}.invoice-actions button.action-verify.valid svg{stroke:var(--primary)}.invoice-actions button.action-verify.invalid{border-color:var(--danger)}.invoice-actions button.action-verify.invalid svg{stroke:var(--danger)}.invoice-actions button.action-verify.checking{opacity:.5;cursor:default}.discount-cell{color:var(--danger-light);font-size:11px}.discount-cell span{cursor:help}.total-cell{color:var(--text-strong);font-weight:600}.invoice-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.invoice-modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;width:min(420px,90vw);padding:28px 28px 24px;display:flex}.invoice-modal h3{color:var(--text-strong);margin:0;font-size:17px;font-weight:600}.invoice-modal-subtitle{color:var(--text-muted);margin:0;font-size:12px}.invoice-modal-label{color:var(--text);margin-top:6px;font-size:12px;font-weight:600}.invoice-modal-input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text-strong);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.invoice-modal-input:focus{border-color:var(--primary)}.invoice-modal-hint{color:var(--text-muted);margin:0;font-size:11px}.invoice-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.invoice-modal-cancel{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:9px 18px;font-size:14px;transition:background .15s}.invoice-modal-cancel:hover{background:var(--panel-hover)}.invoice-modal-confirm{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 20px;font-size:14px;font-weight:600;transition:opacity .15s}.invoice-modal-confirm:hover{opacity:.88}.invoice-modal-confirm:disabled{opacity:.5;cursor:default}.lookup-modal{width:min(520px,94vw)}.lookup-result{border:1px solid var(--line);background:var(--bg);border-radius:10px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.lookup-result.valid{border-color:var(--primary)}.lookup-result.invalid{border-color:var(--danger)}.lookup-integrity{font-size:13px;font-weight:600}.lookup-result.valid .lookup-integrity{color:var(--primary)}.lookup-result.invalid .lookup-integrity{color:var(--danger)}.lookup-grid{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 14px;font-size:13px;display:grid}.lookup-grid span{color:var(--text-muted);white-space:nowrap}.lookup-grid strong{color:var(--text-strong)}@media (width<=768px){.client-grid,.client-form{grid-template-columns:1fr}}@media (width<=480px){.invoices-list{-webkit-overflow-scrolling:touch}.invoice-modal{width:min(380px,94vw);padding:20px 16px}.invoice-modal-actions{flex-direction:column-reverse}.invoice-modal-actions button{text-align:center;justify-content:center;width:100%;height:40px}.client-topbar{gap:10px;padding:10px 14px}.client-title{font-size:17px}.invoice-create-row{flex-direction:column;align-items:stretch}.invoice-create-row select,.invoice-create-row>input[type=number],.invoice-create-row>input[type=text],.invoice-create-row.discount-row>input[type=number],.invoice-create-row.discount-row>input[type=text]{flex:none!important;width:100%!important}}[data-theme=light] .client-card{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 4px #0f172a0f}[data-theme=light] .client-card h2{color:#0f172a;border-bottom-color:#e2e8f0}[data-theme=light] .form-row input,[data-theme=light] .form-row textarea,[data-theme=light] .invoice-create-row input,[data-theme=light] .invoice-create-row select{color:#0f172a;background:#fff;border-color:#cbd5e1}[data-theme=light] .form-row input:focus,[data-theme=light] .form-row textarea:focus,[data-theme=light] .invoice-create-row input:focus,[data-theme=light] .invoice-create-row select:focus{border-color:#16a34a;box-shadow:0 0 0 2px #16a34a33}[data-theme=light] .info-label,[data-theme=light] .form-row label{color:#64748b}[data-theme=light] .info-value{color:#0f172a}[data-theme=light] .invoices-table th{color:#64748b;border-bottom-color:#e2e8f0}[data-theme=light] .invoices-table td{color:#334155;border-bottom-color:#f1f5f9}[data-theme=light] .invoices-table tr:hover td{background:#f8fafc}[data-theme=light] .invoice-modal{background:#fff;border-color:#e2e8f0;box-shadow:0 20px 40px #0f172a1f}[data-theme=light] .invoice-modal-header h3{color:#0f172a}[data-theme=light] .invoice-modal-subtitle{color:#64748b}.maplibregl-map{-webkit-tap-highlight-color:#0000;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;overflow:hidden}.maplibregl-canvas{position:absolute;top:0;left:0}.maplibregl-map:fullscreen{width:100%;height:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;z-index:2;position:absolute}.maplibregl-ctrl-top-left{top:0;left:0}.maplibregl-ctrl-top-right{top:0;right:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px buttontext}}.maplibregl-ctrl-group button{box-sizing:border-box;cursor:pointer;background-color:#0000;border:0;outline:none;width:29px;height:29px;padding:0;display:block}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;width:100%;height:100%;display:block}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:#0000}.maplibregl-ctrl-group button+button{border-top:1px solid buttontext}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:2s linear infinite maplibregl-spin}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;width:88px;height:23px;margin:0 0 -4px -4px;display:block;overflow:hidden}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:#0000;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{box-sizing:content-box;color:#000;background-color:#fff;border-radius:12px;min-height:20px;margin:10px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{visibility:visible;padding:2px 28px 2px 8px}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{box-sizing:border-box;cursor:pointer;background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;outline:none;width:24px;height:24px;display:none;position:absolute;top:0;right:0}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;right:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;left:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{box-sizing:border-box;color:#333;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.maplibregl-popup{pointer-events:none;will-change:transform;display:flex;position:absolute;top:0;left:0}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{z-index:1;border:10px solid #0000;width:0;height:0}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;align-self:center}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;align-self:center}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self:flex-start}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self:flex-end}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-left:none;border-right-color:#fff;align-self:center}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#fff;border-right:none;align-self:center}.maplibregl-popup-close-button{cursor:pointer;background-color:#0000;border:0;border-radius:0 3px 0 0;position:absolute;top:0;right:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{pointer-events:auto;background:#fff;border-radius:3px;padding:15px 10px;position:relative;box-shadow:0 1px 2px #0000001a}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{will-change:transform;transition:opacity .2s;position:absolute;top:0;left:0}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.maplibregl-user-location-dot:before{content:"";animation:2s infinite maplibregl-user-location-dot-pulse;position:absolute}.maplibregl-user-location-dot:after{box-sizing:border-box;content:"";border:2px solid #fff;border-radius:50%;width:19px;height:19px;position:absolute;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;width:1px;height:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{opacity:.5;background:#fff;border:2px dotted #202020;width:0;height:0;position:absolute;top:0;left:0}.maplibregl-cooperative-gesture-screen{color:#fff;opacity:0;pointer-events:none;z-index:99999;background:#0006;justify-content:center;align-items:center;padding:1rem;font-size:1.4em;line-height:1.2;transition:opacity 1s 1s;display:flex;position:absolute;inset:0}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity 50ms}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width<=480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{z-index:99999;width:100%!important;height:100%!important;position:fixed!important;top:0!important;left:0!important}.rf-shell{--rf-good:#0072b2;--rf-good-soft:#0072b229;--rf-good-border:#0072b299;--rf-warn:#e69f00;--rf-bad:#cc79a7;--rf-neutral:#94a3b8;background:var(--gradient-main);color:var(--text);font-family:var(--font-sans);flex-direction:column;display:flex;position:fixed;inset:0}.rf-topbar{background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:16px;padding:14px 20px;display:flex}.rf-topbar-title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rf-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-size:10.5px}.rf-topbar-title h1{font-family:var(--font-mono);color:var(--text-strong);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.rf-back{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:inline-flex}.rf-back:hover{background:var(--panel-hover);border-color:var(--line-strong)}.rf-back svg{width:16px;height:16px}.rf-back:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}.rf-topbar-actions{align-items:center;gap:8px;display:flex}.rf-topbar-actions .theme-toggle{width:var(--control-height);height:var(--control-height);border-radius:var(--control-radius);background:var(--panel-soft);border:1px solid var(--line);color:var(--text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.rf-topbar-actions .theme-toggle:hover{background:var(--panel-hover);border-color:var(--line-strong);color:var(--text-strong)}.rf-topbar-actions .theme-toggle svg{width:16px;height:16px}.rf-dem-status{border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--line);color:var(--warning-text);font-family:var(--font-mono);letter-spacing:.03em;padding:6px 10px;font-size:11.5px}.rf-main{flex:1;grid-template-columns:minmax(0,1fr) minmax(360px,420px);min-width:0;min-height:0;display:grid}.rf-map-column{border-right:1px solid var(--line);min-height:0;position:relative}.rf-map{position:absolute;inset:0}.rf-map-wrap{height:100%;position:relative}.rf-basemap-switch{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;gap:2px;padding:3px;display:inline-flex;position:absolute;top:12px;left:12px}.rf-basemap-btn{border-radius:var(--radius-sm);color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:6px 10px;font-size:11px}.rf-basemap-btn:hover{color:var(--text-strong);background:var(--panel-soft)}.rf-basemap-btn.active{color:var(--primary);background:var(--panel-soft)}.rf-basemap-btn:focus-visible{outline:2px solid var(--primary-focus);outline-offset:1px}.rf-tower-marker{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;width:28px;height:28px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);z-index:10;background:#f2c744;border:3px solid #111827;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 4px 16px #00000080,0 0 14px #f2c74499}.rf-tower-marker:before{content:"";pointer-events:auto;cursor:grab;border-radius:50%;position:absolute;inset:-12px}.rf-tower-marker:hover{transform:scale(1.15);box-shadow:0 6px 20px #0009,0 0 18px #f2c744b3}.rf-tower-marker.is-dragging,.rf-tower-marker:active{transform:scale(1.25);box-shadow:0 8px 28px #000000bf,0 0 24px #f2c744e6;cursor:grabbing!important}.rf-tower-marker.is-dragging:before{cursor:grabbing!important}.rf-tower-marker svg{pointer-events:none;flex-shrink:0}.rf-bg-tower-marker{background:#56b4e9;border:2px solid #111827;border-radius:50%;width:14px;height:14px;box-shadow:0 4px 12px #0006}.rf-layer-toggles{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:10px;padding:10px 0;display:flex}.rf-slider-row{grid-template-columns:1fr 56px;align-items:center;gap:8px;display:grid}.rf-slider-row input[type=range]{width:100%;height:26px;accent-color:var(--rf-good);cursor:pointer;background:0 0;border:none;padding:0}.rf-slider-row input[type=range]:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px;border-radius:4px}.rf-slider-value{text-align:center;width:100%}.rf-map-empty{text-align:center;height:100%;color:var(--muted);justify-content:center;align-items:center;padding:24px;font-size:14px;display:flex}.rf-side-column{background:var(--bg-soft);min-width:0;padding:20px;overflow:hidden auto}.rf-state{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.rf-state-error{color:var(--danger-text)}.rf-btn{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text-strong);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:500;display:inline-flex}.rf-btn:hover:not(:disabled){background:var(--panel-hover);border-color:var(--line-strong)}.rf-btn:active:not(:disabled){transform:translateY(1px)}.rf-btn:disabled{opacity:.5;cursor:not-allowed}.rf-btn:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}.rf-btn-primary{background:var(--primary);color:#0a0a0a;border-color:var(--primary-strong)}.rf-btn-primary:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-dark)}.rf-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);padding:18px}.rf-panel .rf-panel{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.rf-point-header{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.rf-point-coords{font-family:var(--font-mono);color:var(--text-strong);font-size:12px}.rf-btn-clear{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--danger-text,#ef4444);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;padding:4px 8px;font-size:11.5px}.rf-btn-clear:hover{background:#ef44441a;border-color:#ef444466}.rf-target-selector{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;margin-bottom:12px;padding-bottom:10px;display:flex}.rf-target-label{color:var(--muted);font-size:11.5px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.rf-target-pills{flex-wrap:wrap;gap:6px;display:flex}.rf-target-pill{border-radius:var(--radius-sm);background:var(--panel-soft);border:1px solid var(--line);color:var(--text);font-size:12px;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);padding:5px 10px}.rf-target-pill:hover{background:var(--panel-hover);border-color:var(--line-strong)}.rf-target-pill.active{background:var(--primary);color:#0a0a0a;border-color:var(--primary-strong);font-weight:600}.rf-panel-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin:0 0 12px;font-size:12px}.rf-defs{gap:8px;margin:0;display:grid}.rf-defs>div{justify-content:space-between;gap:12px;font-size:13px;display:flex}.rf-defs dt{color:var(--muted)}.rf-defs dd{color:var(--text-strong);font-variant-numeric:tabular-nums;margin:0}.rf-hint{border-top:1px dashed var(--line);color:var(--muted);margin:14px 0 0;padding-top:12px;font-size:12px}.rf-config-form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);flex-direction:column;gap:18px;min-width:0;padding:20px;display:flex}.rf-config-header{flex-direction:column;gap:4px;display:flex}.rf-config-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--primary);margin:0;font-size:12px}.rf-config-subtitle{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.rf-config-subtitle b{color:var(--text-strong);font-weight:500}.rf-config-section{border-top:1px solid var(--line);flex-direction:column;gap:10px;min-width:0;padding-top:12px;display:flex}.rf-config-section:first-of-type{border-top:none;padding-top:0}.rf-section-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;font-size:10.5px}.rf-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;min-width:0;display:grid}.rf-field{flex-direction:column;gap:4px;min-width:0;display:flex}.rf-field-label{font-family:var(--font-mono);letter-spacing:.03em;color:var(--muted);align-items:baseline;gap:4px;font-size:11px;display:flex}.rf-field-label em{color:var(--danger);font-size:12px;font-style:normal;line-height:1}.rf-info{color:var(--muted);cursor:help;transition:color var(--transition-fast);justify-content:center;align-items:center;margin-left:2px;display:inline-flex}.rf-info:hover,.rf-info:focus-visible{color:var(--primary)}.rf-info:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px;border-radius:50%}.rf-field-hint{font-family:var(--font-mono);color:var(--muted);opacity:.75;font-size:10.5px}.rf-field input{box-sizing:border-box;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text-strong);font-family:var(--font-mono);font-variant-numeric:tabular-nums;appearance:textfield;padding:8px 10px;font-size:13px}.rf-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rf-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rf-field input:focus{outline:2px solid var(--primary-focus);outline-offset:0;border-color:var(--primary)}.rf-form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.rf-alert{border-radius:var(--radius-md);border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text-softer);margin:0;padding:10px 12px;font-size:12.5px}.action-btn.scope-btn{color:var(--primary)}.action-btn.scope-btn:hover:not(:disabled){border-color:var(--primary-border)}@media (width<=1024px){.rf-main{grid-template-rows:45vh 1fr;grid-template-columns:1fr}.rf-map-column{border-right:none;border-bottom:1px solid var(--line)}.rf-side-column{padding:16px}}@media (width<=600px){.rf-topbar{flex-wrap:wrap;gap:6px;padding:10px 12px}.rf-topbar-title{order:-1;width:100%}.rf-topbar-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.rf-topbar-actions{flex-wrap:wrap;gap:4px}.rf-topbar-actions .rf-btn{padding:6px 10px;font-size:11px}.rf-back{padding:6px 8px;font-size:12px}.rf-back span{display:none}.rf-main{grid-template-rows:40vh 1fr;grid-template-columns:1fr}.rf-side-column{padding:10px 8px}.rf-form-grid{grid-template-columns:1fr}.rf-panel{padding:12px}.rf-dem-status{padding:4px 8px;font-size:10px}}@media (prefers-reduced-motion:reduce){.rf-btn,.rf-back{transition:none}}.rf-block{justify-content:center;width:100%}.rf-inline-field{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.rf-inline-field label{color:var(--muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.04em}.rf-inline-field input{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-sm);width:100px;color:var(--text-strong);font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding:6px 8px;font-size:13px}.rf-inline-field input:focus{outline:2px solid var(--primary-focus);outline-offset:0;border-color:var(--primary)}.rf-toggles{flex-wrap:wrap;gap:12px;margin:14px 0 10px;display:flex}.rf-toggle{color:var(--text);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.rf-toggle input{accent-color:var(--primary)}.rf-legend{border-collapse:collapse;width:100%;margin-top:4px;font-size:12px}.rf-legend td{color:var(--text);padding:4px 6px}.rf-legend td:first-child{width:22px}.rf-swatch{border:1px solid var(--line);border-radius:3px;width:14px;height:14px;display:inline-block}.rf-tabs{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);gap:4px;margin-bottom:14px;padding:4px;display:flex}.rf-tab{border-radius:var(--radius-sm);color:var(--muted);font-size:12.5px;font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex:1;padding:7px 10px}.rf-tab:hover{color:var(--text-strong)}.rf-tab.active{background:var(--panel);color:var(--primary)}.rf-tab:focus-visible{outline:2px solid var(--primary-focus);outline-offset:1px}.rf-defs dd.good{color:var(--rf-good)}.rf-defs dd.warn{color:var(--rf-warn)}.rf-defs dd.bad{color:var(--rf-bad)}.rf-defs dd.muted{color:var(--muted)}.rf-profile{margin-top:14px}.rf-profile-legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:4px;font-size:11px;display:flex}.rf-profile-legend i{vertical-align:middle;border-radius:2px;width:10px;height:3px;margin-right:4px;display:inline-block}.rf-candidates-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.rf-candidate{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);grid-template-columns:32px 1fr 44px;align-items:center;gap:10px;padding:8px 10px;display:grid}.rf-candidate:hover{background:var(--panel-hover);border-color:var(--primary-border)}.rf-candidate:focus-visible{outline:2px solid var(--primary-focus);outline-offset:1px}.rf-candidate-rank{font-family:var(--font-mono);color:var(--primary);font-size:12px}.rf-candidate-body{color:var(--text-strong);flex-direction:column;gap:2px;font-size:12.5px;display:flex}.rf-candidate-body em{color:var(--muted);font-size:11px;font-style:normal;font-family:var(--font-mono)}.rf-candidate-score{font-family:var(--font-mono);color:var(--primary);text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.rf-links-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.rf-links-list li{align-items:stretch;gap:6px;display:flex}.rf-link-item{text-align:left;background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-strong);cursor:pointer;transition:background var(--transition-fast);flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex}.rf-link-item:hover{background:var(--panel-hover)}.rf-link-name{font-size:13px}.rf-link-metrics{font-family:var(--font-mono);color:var(--muted);font-size:11.5px}.rf-link-date{color:var(--muted);font-size:11px;font-family:var(--font-mono)}.rf-icon-btn{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--danger-text);cursor:pointer;background:0 0;padding:6px 8px}.rf-icon-btn:hover{border-color:var(--danger-border-strong);background:var(--danger-bg)}[data-theme=light] .rf-topbar{background:#fffffff0;border-color:#e2e8f0}[data-theme=light] .rf-back{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .rf-back:hover{background:#e2e8f0}[data-theme=light] .rf-topbar-actions .theme-toggle{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .rf-topbar-actions .theme-toggle:hover{background:#e2e8f0}[data-theme=light] .rf-dem-status{color:#b45309;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .rf-tabs{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .rf-tab{color:#64748b}[data-theme=light] .rf-tab.active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a1a}.traffic-detail-page{background:var(--bg);min-height:100dvh;color:var(--text);padding:0}.traffic-detail-topbar{border-bottom:1px solid var(--line);background:var(--panel-solid);z-index:100;align-items:center;gap:16px;padding:18px 24px;display:flex;position:sticky;top:0}.traffic-detail-topbar h1{font-family:var(--font-sans);color:var(--text-strong);letter-spacing:-.02em;margin:0;font-size:16px;font-weight:700}.traffic-back-btn{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .25s cubic-bezier(.32,.72,0,1)}.traffic-back-btn:hover{background:var(--panel-hover);color:var(--text-strong)}.throttle-toggle-btn{border:1px solid var(--line);background:var(--panel-soft);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;margin-left:auto;padding:8px 16px;font-size:12px;font-weight:600;transition:all .25s cubic-bezier(.32,.72,0,1)}.throttle-toggle-btn:hover{color:#ef4444;background:#ef44441f;border-color:#ef444466}.throttle-toggle-btn.active{color:var(--primary);background:#22c55e1f;border-color:#22c55e66}.throttle-toggle-btn.active:hover{color:#ef4444;background:#ef44441f;border-color:#ef444466}.throttle-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.traffic-detail-controls{justify-content:flex-start;align-items:center;margin-bottom:8px;padding:0;display:flex}.traffic-period-tabs{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);box-sizing:border-box;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:4px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.traffic-period-tabs::-webkit-scrollbar{display:none}.traffic-period-tabs button{border-radius:var(--radius-sm);color:var(--muted);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:1px solid #0000;padding:6px 14px;font-size:13px;font-weight:500}.traffic-period-tabs button:hover:not(.active){color:var(--text-strong);background:var(--panel-hover)}.traffic-period-tabs button.active{background:var(--panel);border-color:var(--line);color:var(--text-strong);box-shadow:0 1px 3px #0000001f}.traffic-detail-content{width:100%;padding:0}.traffic-summary-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;width:100%;margin-bottom:24px;display:grid}.traffic-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow-panel);box-sizing:border-box;transition:border-color var(--transition-fast);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.traffic-card:hover{border-color:var(--line-strong)}.traffic-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-weight:600}.traffic-card-value{font-family:var(--font-mono);color:var(--text-strong);letter-spacing:-.02em;font-size:24px;font-weight:700}.traffic-card.download .traffic-card-value{color:var(--primary)}.traffic-card.upload .traffic-card-value{color:#3b82f6}.traffic-card.total .traffic-card-value{color:var(--text-strong)}.traffic-loading,.traffic-empty{text-align:center;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--card-radius);margin-top:12px;padding:48px 24px;font-size:14px}.traffic-detail-chart{padding:var(--card-padding);background:var(--panel);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow-panel);box-sizing:border-box;margin-top:24px}.traffic-ranking-table{background:var(--panel);border:1px solid var(--line);border-radius:var(--card-radius);width:100%;padding:var(--card-padding);box-shadow:var(--shadow-panel);box-sizing:border-box}.traffic-table-header,.traffic-table-row{text-align:left;grid-template-columns:40px 1fr 90px 90px 100px;align-items:center;width:100%;padding:12px;display:grid}.traffic-table-header{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:14px;font-size:9px;font-weight:700}.traffic-table-row{font-family:var(--font-sans);color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;font-size:13px;transition:all .25s cubic-bezier(.32,.72,0,1)}.traffic-table-row:hover{background:var(--bg-deep);border-color:var(--line)}.traffic-table-row:active{transform:scale(.995)}.traffic-table-row .col-rank{font-family:var(--font-mono);color:var(--muted);font-size:12px;font-weight:700}.traffic-table-row:nth-child(2) .col-rank{color:#fbbf24}.traffic-table-row:nth-child(3) .col-rank{color:#94a3b8}.traffic-table-row:nth-child(4) .col-rank{color:#cd7f32}.traffic-table-row .col-name{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;padding-right:12px;font-weight:500;overflow:hidden}.col-bytes{font-family:var(--font-mono);text-align:right;font-size:12px}.col-bytes.col-total{color:var(--primary);font-weight:700}.col-bytes.sortable{cursor:pointer;color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;text-align:right;background:0 0;border:none;padding:0;font-size:9px;font-weight:700;transition:color .2s}.col-bytes.sortable:hover{color:var(--text-strong)}.traffic-destinations-section{border-top:1px solid var(--line);margin-top:40px;padding-top:32px}.traffic-section-title{font-family:var(--font-sans);color:var(--text-strong);letter-spacing:-.01em;margin:0 0 20px;font-size:14px;font-weight:700}.traffic-destinations-table{width:100%}.traffic-dest-header,.traffic-dest-row{grid-template-columns:36px 1fr 100px 60px 56px;align-items:center;padding:10px 12px;display:grid}.traffic-dest-header{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px;padding-bottom:12px;font-size:9px;font-weight:700}.traffic-dest-row{border:1px solid #0000;border-radius:10px;transition:all .2s cubic-bezier(.32,.72,0,1)}.traffic-dest-row:hover{background:var(--bg-deep);border-color:var(--line)}.traffic-dest-row .dest-rank{font-family:var(--font-mono);color:var(--muted);font-size:11px;font-weight:700}.traffic-dest-row .dest-service{flex-direction:column;gap:2px;display:flex;overflow:hidden}.dest-hostname{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.dest-ip{font-family:var(--font-mono);color:var(--muted);font-size:10px}.traffic-dest-row .dest-bytes{font-family:var(--font-mono);text-align:right;color:var(--primary);font-size:12px;font-weight:600}.traffic-dest-row .dest-pct{font-family:var(--font-mono);text-align:right;color:var(--muted);font-size:11px}.traffic-dest-row .dest-action{text-align:center}.dest-block-btn{border:1px solid var(--line);background:var(--panel-soft);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;transition:all .25s cubic-bezier(.32,.72,0,1);display:inline-flex}.dest-block-btn:hover,.dest-block-btn.is-blocked{background:#ef444426;border-color:#ef444466}.dest-block-btn.is-blocked:hover{background:#22c55e26;border-color:#22c55e66}.traffic-dest-row.blocked{background:#ef44440f;border-color:#ef444433}.traffic-dest-row.blocked .dest-hostname{opacity:.7;text-decoration:line-through}.dest-icon{margin-right:6px;font-size:14px}@media (width<=600px){.traffic-detail-topbar{padding:14px 16px}.traffic-detail-topbar h1{font-size:14px}.traffic-detail-controls{padding:16px}.traffic-detail-content{padding:0 16px 32px}.traffic-table-header,.traffic-table-row{grid-template-columns:30px 1fr 62px 62px 72px;padding:10px 8px;font-size:11px}.traffic-detail-chart{padding:16px 8px}.traffic-dest-header,.traffic-dest-row{grid-template-columns:28px 1fr 64px 44px 40px;padding:8px}.dest-hostname{font-size:11px}}[data-theme=light] .traffic-table-row:nth-child(2) .col-rank{color:#b45309}[data-theme=light] .traffic-ranking-table,[data-theme=light] .traffic-detail-chart{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 4px #0f172a0f}[data-theme=light] .traffic-table-header{color:#64748b;border-bottom-color:#e2e8f0}[data-theme=light] .traffic-table-row:hover{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .traffic-dest-card{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 4px #0f172a0f}[data-theme=light] .traffic-dest-header{color:#64748b;border-bottom-color:#e2e8f0}[data-theme=light] .traffic-dest-row:hover{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .traffic-period-tabs{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .traffic-period-tabs button{color:#64748b}[data-theme=light] .traffic-period-tabs button:hover:not(.active){color:#0f172a;background:#e2e8f0}[data-theme=light] .traffic-period-tabs button.active{color:#0f172a;background:#fff;border-color:#cbd5e1;box-shadow:0 1px 3px #0f172a14}[data-theme=light] .traffic-card{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 4px #0f172a0f}[data-theme=light] .traffic-card.upload .traffic-card-value{color:#2563eb}[data-theme=light] .traffic-loading,[data-theme=light] .traffic-empty{color:#64748b;background:#fff;border-color:#e2e8f0}.hub-shell{background:var(--gradient-main);min-height:100vh;color:var(--text);font-family:var(--font-sans);flex-direction:column;display:flex;overflow-x:hidden}.hub-topbar{padding:var(--topbar-padding-y) var(--topbar-padding-x);min-height:var(--topbar-height);background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.hub-brand{flex-shrink:1;align-items:center;gap:12px;min-width:0;display:flex}.hub-brand-logo{border-radius:var(--radius-sm);border:1px solid var(--primary-border);width:32px;height:32px;color:var(--primary);background:#22c55e26;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hub-brand-logo svg{width:18px;height:18px}.hub-brand-title{font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.hub-topbar-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.hub-user-badge{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-full,9999px);align-items:center;gap:8px;max-width:180px;padding:3px 10px 3px 4px;display:flex}.hub-user-avatar{object-fit:cover;border:1px solid var(--primary-border);border-radius:50%;flex-shrink:0;width:26px;height:26px}.hub-user-avatar-fallback{background:var(--panel-hover);width:26px;height:26px;color:var(--primary);font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.hub-user-name{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:12.5px;font-weight:500;overflow:hidden}.hub-topbar-actions .theme-toggle{border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--line);width:34px;height:34px;color:var(--text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.hub-topbar-actions .theme-toggle:hover{background:var(--panel-hover);border-color:var(--line-strong);color:var(--text-strong)}.hub-topbar-actions .theme-toggle svg{width:16px;height:16px}.hub-logout-btn{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md);height:34px;color:var(--danger-text);font-size:12.5px;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.hub-logout-btn:hover{background:var(--danger-bg-strong);border-color:var(--danger-border-strong);color:var(--text-strong)}.hub-logout-btn svg{flex-shrink:0}.hub-main{max-width:var(--page-max-width);width:100%;padding:var(--page-padding-y) var(--page-padding-x) var(--page-padding-bottom);box-sizing:border-box;flex-direction:column;flex:1;gap:32px;margin:0 auto;display:flex}.hub-header{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.hub-eyebrow{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--primary);font-size:11px;font-weight:600}.hub-header h1{font-family:var(--font-mono);color:var(--text-strong);letter-spacing:-.02em;margin:0;font-size:28px;font-weight:700}.hub-subtitle{color:var(--muted);max-width:560px;margin:0;font-size:14.5px;line-height:1.5}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.hub-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);color:inherit;box-shadow:var(--shadow-panel);transition:transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);cursor:pointer;box-sizing:border-box;flex-direction:column;padding:24px;text-decoration:none;display:flex;position:relative;overflow:hidden}.hub-card:hover{border-color:var(--primary-border);box-shadow:0 16px 36px #00000080, 0 0 24px var(--primary-glow);transform:translateY(-4px)}.hub-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.hub-card-icon{border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--line);width:46px;height:46px;color:var(--primary);transition:border-color var(--transition-fast), background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:flex}.hub-card:hover .hub-card-icon{background:var(--primary-glow);border-color:var(--primary-border)}.hub-card-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.hub-badge{border-radius:var(--radius-sm);font-family:var(--font-mono);letter-spacing:.04em;background:var(--panel-soft);border:1px solid var(--line);color:var(--muted);white-space:nowrap;padding:4px 8px;font-size:11px}.hub-badge.active{border-color:var(--primary-border);color:var(--primary);background:#22c55e1f}.hub-badge.warn{color:var(--warning-text);background:#f59e0b26;border-color:#f59e0b66;font-weight:600}.hub-badge.dev{color:#94a3b8;background:#94a3b81f;border-color:#94a3b84d}.hub-card-body{flex-direction:column;flex:1;gap:8px;display:flex}.hub-card-title{font-family:var(--font-mono);color:var(--text-strong);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:600}.hub-card-desc{color:var(--muted);flex:1;margin:0;font-size:13.5px;line-height:1.55}.hub-card-footer{border-top:1px solid var(--line);color:var(--primary);justify-content:space-between;align-items:center;margin-top:20px;padding-top:14px;font-size:13px;font-weight:500;display:flex}.hub-card-footer svg{width:16px;height:16px;transition:transform var(--transition-fast)}.hub-card:hover .hub-card-footer svg{transform:translate(4px)}@media (width<=900px){.hub-topbar{padding:12px 20px}.hub-user-badge{max-width:150px}.hub-user-name{max-width:90px}}@media (width<=768px){.hub-topbar{gap:10px;padding:10px 16px}.hub-brand{gap:8px}.hub-brand-title{letter-spacing:.08em;font-size:13.5px}.hub-topbar-actions{gap:8px}.hub-user-name{display:none}.hub-user-badge{background:0 0;border:none;max-width:none;padding:0}.hub-user-avatar,.hub-user-avatar-fallback{border:1.5px solid var(--primary-border);width:32px;height:32px}.hub-main{gap:24px;padding:24px 16px 40px}.hub-header h1{font-size:22px}.hub-subtitle{font-size:13.5px}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.hub-card{padding:20px 18px}}@media (width<=520px){.hub-topbar{gap:8px;padding:8px 12px}.hub-brand-logo{width:28px;height:28px}.hub-brand-logo svg{width:16px;height:16px}.hub-brand-title{letter-spacing:.04em;font-size:12.5px}.hub-topbar-actions{gap:6px}.hub-topbar-actions .theme-toggle{width:32px;height:32px}.hub-logout-btn{height:32px;padding:5px 8px;font-size:12px}.hub-main{gap:18px;padding:18px 12px 32px}.hub-grid{grid-template-columns:1fr;gap:14px}.hub-card{padding:16px 14px}.hub-card-title{font-size:16.5px}.hub-card-desc{font-size:13px}.hub-header h1{font-size:20px}}@media (width<=380px){.hub-logout-text{display:none}.hub-logout-btn{justify-content:center;width:32px;height:32px;padding:0}.hub-brand-title{letter-spacing:.02em;font-size:11.5px}}[data-theme=light] .hub-topbar{background:#fffffff0;border-bottom-color:#e2e8f0}[data-theme=light] .hub-card{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 12px #0f172a0d}[data-theme=light] .hub-card:hover{border-color:#16a34a;box-shadow:0 16px 32px #0f172a1a,0 0 20px #22c55e1f}[data-theme=light] .hub-card-icon{color:#16a34a;background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .hub-card-title{color:#0f172a}[data-theme=light] .hub-card-desc{color:#475569}[data-theme=light] .hub-badge{color:#475569;background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .hub-user-badge{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .hub-user-name{color:#0f172a}[data-theme=light] .hub-topbar-actions .theme-toggle{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .hub-topbar-actions .theme-toggle:hover{background:#e2e8f0}[data-theme=light] .hub-card-footer{color:#16a34a;border-top-color:#f1f5f9}.billing-shell{background:var(--gradient-main);min-height:100vh;color:var(--text);font-family:var(--font-sans);flex-direction:column;display:flex;overflow-x:hidden}.billing-topbar{background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}.billing-back-btn{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);height:34px;color:var(--text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-size:13px;display:inline-flex}.billing-back-btn:hover{background:var(--panel-hover);border-color:var(--line-strong);color:var(--text-strong)}.billing-topbar-title{text-align:center;flex-direction:column;gap:2px;min-width:0;display:flex}.billing-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);white-space:nowrap;font-size:10.5px}.billing-topbar-title h1{font-family:var(--font-mono);color:var(--text-strong);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:18px;font-weight:600;overflow:hidden}.billing-topbar .theme-toggle{border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--line);width:34px;height:34px;color:var(--text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.billing-topbar .theme-toggle:hover{background:var(--panel-hover);border-color:var(--line-strong);color:var(--text-strong)}.billing-topbar .theme-toggle svg{width:16px;height:16px}.billing-main{max-width:var(--page-max-width);width:100%;padding:var(--page-padding-y) var(--page-padding-x) var(--page-padding-bottom);box-sizing:border-box;flex-direction:column;flex:1;gap:24px;margin:0 auto;display:flex}.billing-tabs{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);box-sizing:border-box;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:4px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.billing-tabs::-webkit-scrollbar{display:none}.billing-tab{border-radius:var(--radius-sm);color:var(--muted);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:500;display:inline-flex}.billing-tab:hover:not(.active){color:var(--text-strong);background:var(--panel-hover)}.billing-tab.active{background:var(--panel);border-color:var(--line-strong);color:var(--text-strong);font-weight:600;box-shadow:0 1px 3px #0000001a}.billing-tab-label-short{display:none}.billing-tab-label-full{display:inline}.billing-tab-badge{border-radius:var(--radius-sm);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;line-height:1.2;display:inline-flex}.billing-section{flex-direction:column;gap:16px;display:flex}.billing-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);box-sizing:border-box;padding:24px}.billing-card-header{margin-bottom:18px}.billing-card-title{font-family:var(--font-mono);color:var(--text-strong);margin:0 0 6px;font-size:16px}.billing-card-subtitle{color:var(--muted);margin:0;font-size:13.5px}.billing-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.billing-table{border-collapse:collapse;text-align:left;width:100%;min-width:600px;font-size:13px}.billing-table th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 14px;font-size:11.5px}.billing-table td{color:var(--text);vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:12px 14px}.billing-table tr:hover td{background:var(--panel-soft)}.billing-client-row-link{text-align:left;cursor:pointer;color:inherit;transition:opacity var(--transition-fast);background:0 0;border:none;padding:0;display:block}.billing-client-row-link:hover strong{color:var(--primary);text-decoration:underline}.billing-search-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex}.billing-search-box{flex:1;align-items:center;min-width:260px;max-width:440px;display:flex;position:relative}.billing-search-box svg{color:var(--muted);pointer-events:none;position:absolute;left:12px}.billing-search-input{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--text-strong);font-family:var(--font-sans);transition:border-color var(--transition-fast);padding:9px 36px;font-size:13px}.billing-search-input:focus{outline:2px solid var(--primary-focus);border-color:var(--primary)}.billing-search-clear{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:12px;position:absolute;right:10px}.billing-search-clear:hover{color:var(--text-strong)}.billing-search-count{font-family:var(--font-mono);color:var(--muted);font-size:12px}.billing-filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.billing-filter-chip{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-fast);border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;display:inline-flex}.billing-filter-chip:hover{background:var(--panel-hover);color:var(--text-strong);border-color:var(--line-strong)}.billing-filter-chip.active{background:var(--panel-hover);color:var(--primary);border-color:var(--primary);font-weight:600}.billing-filter-chip.warning{color:var(--warning-text)}.billing-filter-chip.warning.active{background:var(--warning-bg);border-color:var(--warning);color:var(--warning-text);font-weight:600}.billing-filter-chip .chip-count{background:var(--bg-soft);color:var(--text);border-radius:9999px;justify-content:center;align-items:center;padding:1px 7px;font-size:11px;display:inline-flex}.billing-filter-chip.warning .chip-count{background:var(--warning-bg);color:var(--warning-text);font-weight:600}.billing-pill-pending{border-radius:var(--radius-sm);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);white-space:nowrap;align-items:center;gap:4px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.billing-btn-pending{font-weight:600;background:var(--warning-btn-bg)!important;color:var(--warning-btn-text)!important;border:1px solid var(--warning-btn-border)!important}.billing-btn-pending:hover{background:var(--warning-btn-hover-bg)!important;border-color:var(--warning)!important;color:var(--warning-btn-hover-text)!important}.billing-tab-badge.clients-badge{border:1px solid var(--primary-border);color:var(--primary);background:#22c55e26}.billing-client-info{flex-direction:column;gap:2px;display:flex}.billing-client-info strong{color:var(--text-strong)}.billing-client-info span{font-family:var(--font-mono);color:var(--muted);font-size:12px}.billing-amount{font-family:var(--font-mono);color:var(--warning-text);font-size:14px;font-weight:600}.billing-actions-cell{align-items:center;gap:8px;display:flex}.billing-btn-sm{border-radius:var(--radius-sm);background:var(--panel-soft);border:1px solid var(--line);color:var(--text-strong);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:5px 10px;font-size:12px;text-decoration:none;display:inline-flex}.billing-btn-sm:hover:not(:disabled){background:var(--panel-hover);border-color:var(--line-strong)}.billing-btn-pay{background:var(--primary);color:var(--primary-fg,#0a0a0a);border-color:var(--primary-strong);font-weight:600}.billing-btn-pay:hover:not(:disabled){background:var(--primary-strong)}.billing-empty-state{text-align:center;color:var(--muted);padding:40px 20px;font-size:14px}.billing-verify-form{gap:12px;max-width:600px;margin-top:14px;display:flex}.billing-verify-input{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text-strong);font-family:var(--font-mono);flex:1;padding:10px 14px;font-size:13.5px}.billing-verify-input:focus{outline:2px solid var(--primary-focus);border-color:var(--primary)}.billing-result-box{border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--line);flex-direction:column;gap:12px;margin-top:20px;padding:18px;display:flex}.billing-result-box.valid{border-color:var(--primary-border);background:#22c55e0f}.billing-result-box.invalid{border-color:var(--danger-border);background:#ef44440f}.billing-result-title{color:var(--text-strong);align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}@media (width<=768px){.billing-topbar{gap:10px;padding:10px 16px}.billing-topbar-title h1{font-size:16px}.billing-main{gap:16px;padding:16px 14px 40px}.billing-card{padding:18px 16px}}@media (width<=680px){.billing-table-wrap{overflow-x:visible}.billing-table{border:none;width:100%;min-width:0;display:block}.billing-table thead{display:none}.billing-table tbody{flex-direction:column;gap:12px;width:100%;display:flex}.billing-client-row{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);box-sizing:border-box;width:100%;transition:all var(--transition-fast);flex-direction:column;gap:10px;padding:14px;display:flex}.billing-client-row:hover{border-color:var(--line-strong);background:var(--panel-hover)}.billing-cell-client,.billing-cell-network,.billing-cell-contact,.billing-cell-action{border:none;padding:0;display:block}.billing-cell-client strong{font-size:15px}.billing-cell-action{margin-top:4px}.billing-cell-action button{border-radius:var(--radius-md);justify-content:center;width:100%;height:38px;font-size:13px;font-weight:600}.billing-search-row{width:100%;margin-top:10px}.billing-search-box{width:100%;min-width:0;max-width:100%}.billing-search-count{text-align:left;width:100%;margin-top:2px}.billing-verify-details{grid-template-columns:1fr!important}.billing-verify-result button{justify-content:center;width:100%}}@media (width<=580px){.billing-topbar{gap:8px;padding:8px 12px}.billing-back-btn{height:32px;padding:6px 10px;font-size:12px}.billing-topbar-title h1{font-size:14.5px}.billing-eyebrow{letter-spacing:.08em;font-size:9px}.billing-topbar .theme-toggle{width:32px;height:32px}.billing-tabs{width:100%;display:flex}.billing-tab{text-align:center;flex:1;justify-content:center;gap:6px;padding:8px 6px;font-size:12.5px}.billing-tab-label-full{display:none}.billing-tab-label-short{display:inline}.billing-badge-desc{display:none}.billing-filter-group{flex-wrap:wrap;gap:6px;width:100%;display:flex}.billing-filter-chip{flex:auto;justify-content:center;padding:6px 10px;font-size:11.5px}.billing-verify-form{flex-direction:column;width:100%}}@media (width<=420px){.billing-main{gap:12px;padding:12px 8px 30px}.billing-card{padding:14px 10px}.billing-back-text{display:none}.billing-back-btn{justify-content:center;width:32px;height:32px;padding:0}.billing-topbar-title h1{font-size:13.5px}.billing-filter-group{flex-direction:column;gap:6px;width:100%;display:flex}.billing-filter-chip{justify-content:space-between;width:100%;padding:8px 12px;font-size:12.5px}}[data-theme=light] .billing-btn-pay{color:#fff!important}[data-theme=light] .billing-filter-chip.warning{color:#92400e;border-color:#d9770659}[data-theme=light] .billing-filter-chip.warning.active{color:#92400e;background:#f59e0b24;border-color:#d97706}[data-theme=light] .billing-filter-chip.warning .chip-count{color:#92400e;background:#f59e0b33}[data-theme=light] .billing-pill-pending{color:#92400e;background:#f59e0b24;border-color:#d9770666}[data-theme=light] .billing-btn-pending{color:#92400e!important;background:#f59e0b24!important;border-color:#d9770673!important}[data-theme=light] .billing-btn-pending:hover{color:#fff!important;background:#d97706!important;border-color:#b45309!important}[data-theme=light] .billing-tab-badge{color:#92400e;background:#f59e0b24;border-color:#d9770659}[data-theme=light] .billing-amount{color:#b45309}[data-theme=light] .billing-tabs{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .billing-tab{color:#64748b}[data-theme=light] .billing-tab:hover:not(.active){color:#0f172a;background:#fff9}[data-theme=light] .billing-tab.active{color:#0f172a;background:#fff;border-color:#cbd5e1;box-shadow:0 1px 3px #0f172a1a}[data-theme=dark] .billing-tabs{border-color:var(--line);background:#0f172a99}[data-theme=dark] .billing-tab.active{background:var(--panel);border-color:var(--line-strong);color:#fff;box-shadow:0 2px 6px #0000004d}.tasks-shell{background:var(--gradient-main);min-height:100vh;color:var(--text);font-family:var(--font-sans);flex-direction:column;display:flex;overflow-x:hidden}.tasks-topbar{background:var(--panel);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}.tasks-back-btn{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);height:34px;color:var(--text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-size:13px;display:inline-flex}.tasks-back-btn:hover{background:var(--panel-hover);border-color:var(--line-strong);color:var(--text-strong)}.tasks-topbar-title{text-align:center;flex-direction:column;gap:2px;min-width:0;display:flex}.tasks-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);white-space:nowrap;font-size:10.5px}.tasks-topbar-title h1{font-family:var(--font-mono);color:var(--text-strong);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:18px;font-weight:600;overflow:hidden}.tasks-topbar .theme-toggle{border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--line);width:34px;height:34px;color:var(--text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tasks-topbar .theme-toggle:hover{background:var(--panel-hover);border-color:var(--line-strong);color:var(--text-strong)}.tasks-topbar .theme-toggle svg{width:16px;height:16px}.tasks-main{max-width:var(--page-max-width);width:100%;padding:var(--page-padding-y) var(--page-padding-x) var(--page-padding-bottom);box-sizing:border-box;flex-direction:column;flex:1;gap:24px;margin:0 auto;display:flex}.tasks-subtabs{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);box-sizing:border-box;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:4px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.tasks-subtabs::-webkit-scrollbar{display:none}.tasks-subtab{border-radius:var(--radius-sm);color:var(--muted);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;font-size:13.5px;font-weight:500;display:inline-flex}.tasks-subtab:hover:not(.active){color:var(--text-strong);background:var(--panel-hover)}.tasks-subtab.active{background:var(--panel);border-color:var(--line-strong);color:var(--text-strong);font-weight:600;box-shadow:0 1px 3px #0000001a}.tasks-subtab-label-short{display:none}.tasks-subtab-label-full{display:inline}.tasks-subtab-badge{border-radius:var(--radius-sm);color:#94a3b8;background:#94a3b826;border:1px solid #94a3b84d;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;line-height:1.2;display:inline-flex}.tasks-subtab-badge.active{border-color:var(--primary-border);color:var(--primary);background:#22c55e26}.tasks-section{flex-direction:column;gap:20px;display:flex}.tasks-wan-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.tasks-wan-title-box h2{font-family:var(--font-mono);color:var(--text-strong);margin:0 0 4px;font-size:18px}.tasks-wan-title-box p{color:var(--muted);margin:0;font-size:13.5px}.tasks-btn-refresh{border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--line);color:var(--text-strong);font-size:12.5px;font-family:var(--font-mono);cursor:pointer;transition:all var(--transition-fast);padding:7px 14px}.tasks-btn-refresh:hover:not(:disabled){background:var(--panel-hover);border-color:var(--line-strong)}.tasks-wans-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.tasks-wan-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);transition:border-color var(--transition-fast);flex-direction:column;gap:14px;padding:20px;display:flex}.tasks-wan-card.is-default{background:linear-gradient(180deg, #22c55e0a 0%, var(--panel) 100%);border-color:#22c55e59}.tasks-wan-card-top{flex-direction:column;gap:4px;display:flex}.tasks-wan-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tasks-wan-name{font-family:var(--font-mono);color:var(--text-strong);font-size:16px;font-weight:700}.tasks-badge-default{border-radius:var(--radius-sm);border:1px solid var(--primary-border);color:var(--primary);font-family:var(--font-mono);background:#22c55e26;padding:2px 7px;font-size:11px;font-weight:600}.tasks-wan-status{font-family:var(--font-mono);align-items:center;gap:4px;margin-left:auto;font-size:11.5px;display:inline-flex}.tasks-wan-status.online{color:var(--primary)}.tasks-wan-status.offline{color:var(--muted)}.tasks-wan-table-tag{color:var(--muted);font-size:11.5px}.tasks-wan-table-tag code{color:var(--text-strong);background:var(--bg-soft);border-radius:4px;padding:1px 4px}.tasks-wan-details{background:var(--panel-soft);border-radius:var(--radius-md);border:1px solid #ffffff0d;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;display:grid}.tasks-wan-detail-item{flex-direction:column;gap:2px;display:flex}.tasks-wan-detail-item span{color:var(--muted);font-size:11px}.tasks-wan-detail-item strong{font-family:var(--font-mono);color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.tasks-wan-load{flex-direction:column;gap:6px;display:flex}.tasks-wan-load-labels{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.tasks-wan-load-labels strong{color:var(--text-strong);font-family:var(--font-mono)}.tasks-wan-progress-bg{background:var(--panel-hover);border-radius:3px;width:100%;height:6px;overflow:hidden}.tasks-wan-progress-bar{border-radius:3px;height:100%;transition:width .4s}.tasks-wan-progress-bar.bar-default{background:var(--primary)}.tasks-wan-progress-bar.bar-wan2{background:#38bdf8}.tasks-card-container{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);flex-direction:column;gap:18px;padding:24px;display:flex}.tasks-card-container-header{flex-direction:column;gap:14px;display:flex}.tasks-panel-title{font-family:var(--font-mono);color:var(--text-strong);margin:0 0 4px;font-size:16px}.tasks-panel-desc{color:var(--muted);margin:0;font-size:13.5px}.tasks-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.tasks-search-box{flex:1;align-items:center;min-width:260px;max-width:440px;display:flex;position:relative}.tasks-search-box svg{color:var(--muted);pointer-events:none;position:absolute;left:12px}.tasks-search-input{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--text-strong);font-family:var(--font-sans);padding:8px 34px;font-size:13px}.tasks-search-input:focus{outline:2px solid var(--primary-focus);border-color:var(--primary)}.tasks-search-clear{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:12px;position:absolute;right:10px}.tasks-pills{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-md);gap:4px;padding:3px;display:inline-flex}.tasks-pill{color:var(--muted);font-family:var(--font-mono);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:5px 12px;font-size:12px}.tasks-pill:hover{color:var(--text-strong)}.tasks-pill.active{background:var(--panel-hover);color:var(--primary);font-weight:600}.tasks-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.tasks-table{border-collapse:collapse;text-align:left;width:100%;min-width:700px;font-size:13px}.tasks-table th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 14px;font-size:11.5px}.tasks-table td{color:var(--text);vertical-align:middle;border-bottom:1px solid #ffffff0d;padding:12px 14px}.tasks-table tr:hover td{background:var(--panel-soft)}.tasks-cell-meta-label{display:none}.tasks-cell-content{display:block}.tasks-network-data,.tasks-client-info{flex-direction:column;gap:2px;display:flex}.tasks-client-link{text-align:left;cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex}.tasks-client-link:hover strong{color:var(--primary);text-decoration:underline}.tasks-client-link-icon{color:var(--primary);opacity:.8;font-size:11px}.tasks-ip-code{font-family:var(--font-mono);color:var(--text-strong);font-size:12.5px;font-weight:600}.tasks-subtext{color:var(--muted);font-size:11.5px}.tasks-wan-tag{border-radius:var(--radius-sm);font-family:var(--font-mono);align-items:center;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.tasks-wan-tag.wan1{border:1px solid var(--primary-border);color:var(--primary);background:#22c55e1f}.tasks-wan-tag.wan2{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf859}.tasks-rule-info{font-family:var(--font-mono);font-size:12px}.tasks-rule-info code{color:var(--text-strong)}.tasks-rule-implicit{color:var(--muted);font-size:11.5px}.tasks-rule-id{color:var(--muted);font-size:11px}.tasks-action-cell{align-items:center;display:flex}.tasks-switch-btn{border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;padding:6px 12px;font-weight:500}.tasks-switch-btn.to-wan2{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf866}.tasks-switch-btn.to-wan2:hover:not(:disabled){color:#0a0a0a;background:#38bdf8}.tasks-switch-btn.to-wan1{border:1px solid var(--primary-border);color:var(--primary);background:#22c55e26}.tasks-switch-btn.to-wan1:hover:not(:disabled){background:var(--primary);color:#0a0a0a}.tasks-switch-btn:disabled{opacity:.5;cursor:not-allowed}.tasks-empty{text-align:center;color:var(--muted);padding:36px 20px;font-size:13.5px}.tasks-banner{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);box-sizing:border-box;align-items:center;gap:20px;padding:28px;display:flex}.tasks-banner-icon{border-radius:var(--radius-md);border:1px solid var(--primary-border);width:52px;height:52px;color:var(--primary);background:#22c55e1f;flex-shrink:0;justify-content:center;align-items:center;font-size:26px;display:flex}.tasks-banner-content h2{font-family:var(--font-mono);color:var(--text-strong);margin:0 0 6px;font-size:18px}.tasks-banner-content p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.tasks-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.tasks-card{background:var(--panel);border:1px dashed var(--line);border-radius:var(--radius-lg);transition:all var(--transition-fast);box-sizing:border-box;flex-direction:column;gap:12px;padding:22px;display:flex}.tasks-card:hover{border-color:var(--line-strong);background:var(--panel-hover)}.tasks-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.tasks-card-title{font-family:var(--font-mono);color:var(--text-strong);margin:0;font-size:15px}.tasks-card-badge{border-radius:var(--radius-sm);color:#94a3b8;font-size:11px;font-family:var(--font-mono);white-space:nowrap;background:#94a3b81f;border:1px solid #94a3b84d;padding:3px 8px}.tasks-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (width<=768px){.tasks-topbar{gap:10px;padding:10px 16px}.tasks-topbar-title h1{font-size:16px}.tasks-main{gap:16px;padding:16px 14px 40px}.tasks-card-container{padding:18px 16px}.tasks-table-wrap{overflow-x:visible}.tasks-table{border:none;width:100%;min-width:0;display:block}.tasks-table thead{display:none}.tasks-table tbody{flex-direction:column;gap:14px;width:100%;display:flex}.tasks-row{background:var(--panel-soft);border:1px solid var(--line);border-radius:var(--radius-lg);box-sizing:border-box;width:100%;transition:all var(--transition-fast);flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:0 2px 8px #0000001f}.tasks-row:hover{border-color:var(--line-strong);background:var(--panel-hover)}.tasks-cell-client,.tasks-cell-network,.tasks-cell-wan,.tasks-cell-rule,.tasks-cell-action{width:100%;display:block;border:none!important;padding:0!important}.tasks-cell-client{border-bottom:1px solid var(--line)!important;padding-bottom:10px!important}.tasks-cell-client .tasks-client-link{font-size:14.5px}.tasks-cell-meta-label{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex-shrink:0;min-width:110px;display:inline-block}.tasks-cell-content{align-items:center;gap:8px;width:100%;display:flex}.tasks-network-data{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tasks-cell-action{margin-top:4px;border-top:1px solid var(--line)!important;padding-top:10px!important}.tasks-switch-btn{border-radius:var(--radius-md);justify-content:center;align-items:center;width:100%;height:40px;font-size:13px;font-weight:600;display:inline-flex}}@media (width<=580px){.tasks-topbar{gap:8px;padding:8px 12px}.tasks-back-btn{height:32px;padding:6px 10px;font-size:12px}.tasks-topbar-title h1{font-size:14.5px}.tasks-eyebrow{letter-spacing:.08em;font-size:9px}.tasks-topbar .theme-toggle{width:32px;height:32px}.tasks-subtabs{width:100%;display:flex}.tasks-subtab{text-align:center;flex:1;justify-content:center;gap:6px;padding:8px 6px;font-size:12.5px}.tasks-subtab-label-full{display:none}.tasks-subtab-label-short{display:inline}.tasks-banner{flex-direction:column;align-items:flex-start;gap:14px;padding:18px 16px}.tasks-wans-grid{grid-template-columns:1fr}.tasks-grid{grid-template-columns:1fr;gap:14px}.tasks-filter-bar{flex-direction:column;align-items:stretch}.tasks-search-box{max-width:100%}.tasks-pills{scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;display:flex;overflow-x:auto}.tasks-pill{text-align:center;white-space:nowrap;flex:1 0 auto;padding:6px 10px;font-size:11.5px}}@media (width<=380px){.tasks-back-text{display:none}.tasks-back-btn{justify-content:center;width:32px;height:32px;padding:0}}[data-theme=light] .tasks-wan-card{background:#fff;border-color:#e2e8f0}[data-theme=light] .tasks-wan-card.is-default{background:linear-gradient(#16a34a0f 0%,#fff 100%);border-color:#16a34a66}[data-theme=light] .tasks-wan-details{background:#f8fafc;border:1px solid #e2e8f0}[data-theme=light] .tasks-card-container{background:#fff;border-color:#e2e8f0}[data-theme=light] .tasks-search-input{color:#0f172a;background:#fff;border-color:#cbd5e1}[data-theme=light] .tasks-pills{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .tasks-pill{color:#64748b}[data-theme=light] .tasks-pill.active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a1a}[data-theme=light] .tasks-wan-tag.wan1{color:#15803d;background:#16a34a1a;border-color:#16a34a59}[data-theme=light] .tasks-wan-tag.wan2,[data-theme=light] .tasks-switch-btn.to-wan2{color:#0369a1;background:#0284c71a;border-color:#0284c759}[data-theme=light] .tasks-switch-btn.to-wan2:hover:not(:disabled){color:#fff;background:#0284c7}[data-theme=light] .tasks-switch-btn.to-wan1{color:#15803d;background:#16a34a1a;border-color:#16a34a59}[data-theme=light] .tasks-switch-btn.to-wan1:hover:not(:disabled){color:#fff;background:#16a34a}[data-theme=light] .tasks-subtab-badge,[data-theme=light] .tasks-card-badge{color:#475569;background:#0f172a0f}[data-theme=light] .tasks-subtabs{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .tasks-subtab{color:#64748b}[data-theme=light] .tasks-subtab:hover:not(.active){color:#0f172a;background:#fff9}[data-theme=light] .tasks-subtab.active{color:#0f172a;background:#fff;border-color:#cbd5e1;box-shadow:0 1px 3px #0f172a1a}[data-theme=light] .tasks-table th{color:#64748b;border-bottom-color:#e2e8f0}[data-theme=light] .tasks-table td{border-bottom-color:#f1f5f9}[data-theme=light] .tasks-table tr:hover td{background:#f8fafc}[data-theme=light] .tasks-row{background:#fff;border-color:#e2e8f0;box-shadow:0 1px 4px #0f172a0f}[data-theme=light] .tasks-banner{background:#fff;border-color:#e2e8f0}[data-theme=light] .tasks-card{background:#fff;border-color:#cbd5e1}[data-theme=light] .tasks-card:hover{background:#f8fafc;border-color:#94a3b8}[data-theme=dark] .tasks-subtabs{border-color:var(--line);background:#0f172a99}[data-theme=dark] .tasks-subtab.active{background:var(--panel);border-color:var(--line-strong);color:#fff;box-shadow:0 2px 6px #0000004d}
