@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg-base:#0a0e1a;--bg-surface:#0f1520;--bg-elevated:#161e2e;--bg-hover:#1c2538;--bg-active:#1e2d4a;--border:#1e2d4a;--border-light:#253452;--text-primary:#fff;--text-secondary:#b0bdd4;--text-muted:#5a6a85;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-dim:#3b82f626;--green:#22c55e;--green-dim:#22c55e26;--yellow:#f59e0b;--yellow-dim:#f59e0b26;--red:#ef4444;--red-dim:#ef444426;--font:"DM Sans", sans-serif;--mono:"DM Mono", monospace;--radius:8px;--radius-lg:12px;--shadow:0 1px 3px #0000004d;--popup-bg:#0a0f1af2}[data-theme=light]{--bg-base:#f1f5f9;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#f1f5f9;--bg-active:#e2e8f0;--border:#e2e8f0;--border-light:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent:#3b82f6;--accent-hover:#2563eb;--accent-dim:#3b82f61a;--green:#16a34a;--green-dim:#16a34a1a;--yellow:#d97706;--yellow-dim:#d977061a;--red:#dc2626;--red-dim:#dc26261a;--shadow:0 1px 3px #00000014;--popup-bg:#fffffff7}[data-theme=dark-pro]{--bg-base:#0a0a0f;--bg-surface:#13131c;--bg-elevated:#1b1b26;--bg-hover:#23232f;--bg-active:#2b2b3a;--border:#2a2a38;--border-light:#34344a;--text-primary:#f5f5fa;--text-secondary:#b8b8c8;--text-muted:#6f6f82;--accent:#7c6cff;--accent-hover:#a855f7;--accent-dim:#7c6cff29;--green:#34d399;--green-dim:#34d39926;--yellow:#fbbf24;--yellow-dim:#fbbf2426;--red:#fb7185;--red-dim:#fb718526;--radius:12px;--radius-lg:16px;--shadow:0 10px 28px #00000073;--popup-bg:#0a0a0ff2}[data-theme=bold]{--bg-base:#eef1fb;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#eef2ff;--bg-active:#e0e7ff;--border:#e4e8f5;--border-light:#d6ddf2;--text-primary:#14153a;--text-secondary:#545784;--text-muted:#9aa0c4;--accent:#4f46e5;--accent-hover:#7c3aed;--accent-dim:#4f46e51f;--green:#10b981;--green-dim:#10b9811f;--yellow:#f59e0b;--yellow-dim:#f59e0b1f;--red:#ef4444;--red-dim:#ef44441f;--radius:14px;--radius-lg:18px;--shadow:0 12px 30px #4f46e51f;--popup-bg:#fffffff7}[data-theme=compact]{--bg-base:#eef0f3;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#f1f3f6;--bg-active:#e2e6ec;--border:#dde1e7;--border-light:#ccd2da;--text-primary:#1a2027;--text-secondary:#4a5563;--text-muted:#8a93a0;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-dim:#2563eb1a;--green:#059669;--green-dim:#0596691a;--yellow:#d97706;--yellow-dim:#d977061a;--red:#dc2626;--red-dim:#dc26261a;--radius:6px;--radius-lg:8px;--shadow:0 1px 2px #0000000d;--popup-bg:#fffffff7}[data-theme=emerald]{--bg-base:#0a1410;--bg-surface:#0e1a15;--bg-elevated:#14251e;--bg-hover:#1a3128;--bg-active:#20402f;--border:#1e3a2e;--border-light:#2b5040;--text-primary:#f0fdf8;--text-secondary:#a7c5b8;--text-muted:#5f7d70;--accent:#10b981;--accent-hover:#34d399;--accent-dim:#10b98129;--green:#22c55e;--green-dim:#22c55e26;--yellow:#fbbf24;--yellow-dim:#fbbf2426;--red:#f87171;--red-dim:#f8717126;--radius:10px;--radius-lg:14px;--shadow:0 8px 24px #0006;--popup-bg:#0a1410f2}[data-theme=sunset]{--bg-base:#17120f;--bg-surface:#1e1712;--bg-elevated:#2a1f18;--bg-hover:#35271d;--bg-active:#43301f;--border:#3a2a20;--border-light:#4d3828;--text-primary:#fdf6f0;--text-secondary:#d3bba8;--text-muted:#8a7060;--accent:#f97316;--accent-hover:#fb923c;--accent-dim:#f9731629;--green:#34d399;--green-dim:#34d39926;--yellow:#fbbf24;--yellow-dim:#fbbf2426;--red:#f87171;--red-dim:#f8717126;--radius:12px;--radius-lg:16px;--shadow:0 10px 26px #00000073;--popup-bg:#17120ff2}[data-theme=rose]{--bg-base:#14090e;--bg-surface:#1c0f15;--bg-elevated:#27151d;--bg-hover:#331a25;--bg-active:#41202f;--border:#3a1f2a;--border-light:#4d2938;--text-primary:#fdf0f6;--text-secondary:#d3a8bd;--text-muted:#8a6070;--accent:#f43f5e;--accent-hover:#fb7185;--accent-dim:#f43f5e29;--green:#34d399;--green-dim:#34d39926;--yellow:#fbbf24;--yellow-dim:#fbbf2426;--red:#fb7185;--red-dim:#fb718526;--radius:12px;--radius-lg:16px;--shadow:0 10px 26px #00000073;--popup-bg:#14090ef2}[data-theme=slate]{--bg-base:#eef1f4;--bg-surface:#fff;--bg-elevated:#fff;--bg-hover:#eef1f4;--bg-active:#e2e6ea;--border:#e2e6ea;--border-light:#cfd6dd;--text-primary:#1e252e;--text-secondary:#55606b;--text-muted:#8b96a2;--accent:#475569;--accent-hover:#334155;--accent-dim:#4755691f;--green:#16a34a;--green-dim:#16a34a1a;--yellow:#d97706;--yellow-dim:#d977061a;--red:#dc2626;--red-dim:#dc26261a;--radius:8px;--radius-lg:12px;--shadow:0 1px 3px #1e293b14;--popup-bg:#fffffff7}[data-theme=sepia]{--bg-base:#f5f1e8;--bg-surface:#fffdf7;--bg-elevated:#fffdf7;--bg-hover:#f0ebdf;--bg-active:#e7e0d0;--border:#e7e0d0;--border-light:#d8cfba;--text-primary:#3a3226;--text-secondary:#6b6151;--text-muted:#9c9079;--accent:#a16207;--accent-hover:#b45309;--accent-dim:#a162071f;--green:#4d7c0f;--green-dim:#4d7c0f1a;--yellow:#b45309;--yellow-dim:#b453091a;--red:#b91c1c;--red-dim:#b91c1c1a;--radius:10px;--radius-lg:14px;--shadow:0 1px 3px #78643c1a;--popup-bg:#fffdf7f7}[data-theme=black]{--bg-base:#000;--bg-surface:#0a0a0b;--bg-elevated:#101012;--bg-hover:#17171a;--bg-active:#1f1f24;--border:#1d1d21;--border-light:#2b2b31;--text-primary:#f4f4f6;--text-secondary:#a6a6ae;--text-muted:#63636c;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-dim:#3b82f62e;--green:#22c55e;--green-dim:#22c55e29;--yellow:#fbbf24;--yellow-dim:#fbbf2429;--red:#f87171;--red-dim:#f8717129;--radius:10px;--radius-lg:14px;--shadow:0 8px 24px #0009;--popup-bg:#000000f2}html[data-theme=bold] .statcard{box-shadow:0 10px 22px -10px var(--card-color);background:var(--card-color)!important;background:linear-gradient(140deg, var(--card-color), color-mix(in srgb, var(--card-color) 55%, #0b0b2e))!important;border-color:#0000!important}html[data-theme=bold] .statcard div{color:#fff!important}html[data-layout=focus] .app-content{width:100%;max-width:1080px;margin:0 auto}html[data-layout=rtl] .app-body{flex-direction:row-reverse}html[data-layout=rtl] .app-sidebar,html[data-layout=rtl] .app-submenu{border-right:none;border-left:1px solid var(--border)}html[data-layout=hero] .dash-header{background:linear-gradient(120deg, var(--accent), var(--accent-hover));border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow);margin:-20px -24px 18px;padding:22px 24px}html[data-layout=hero] .dash-header h1,html[data-layout=hero] .dash-header p,html[data-layout=hero] .dash-header [style*="var(--mono)"]{color:#fff!important}html[data-layout=tabbed] .dash-status{display:none}html[data-layout=cockpit] .dash-home{flex-direction:column;display:flex}html[data-layout=cockpit] .dash-header{order:-3}html[data-layout=cockpit] .dash-status{order:-2}html[data-layout=cockpit] .dash-map{order:-1;margin-top:0!important}html[data-layout=bento] .dash-home>div[style*=grid]{gap:14px!important}html[data-layout=bento] .dash-home [style*="var(--radius-lg)"]{border-radius:20px!important}html,body{background:var(--bg-base);height:100%;color:var(--text-primary);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:14px;transition:background .2s,color .2s}input,select,button,textarea{font-family:var(--font);color:var(--text-primary)}input::placeholder{color:var(--text-muted)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}select option{background:var(--bg-elevated);color:var(--text-primary)}[data-theme=light] select option{color:#0f172a;background:#fff}[data-theme=light] ::-webkit-scrollbar-thumb{background:#cbd5e1}[data-theme=light] .leaflet-popup-content-wrapper,[data-theme=light] .leaflet-popup-tip{background:#fff!important;box-shadow:0 2px 8px #00000026!important}.vehicle-name-label{color:#fff!important;font-size:11px!important;font-weight:600!important;font-family:var(--font)!important;white-space:nowrap!important;background:#0f172ad9!important;border:none!important;border-radius:4px!important;padding:2px 6px!important;box-shadow:0 1px 4px #0000004d!important}.vehicle-name-label:before{border-top-color:#0f172ad9!important}.vehicle-tooltip{color:#fff!important;font-size:12px!important;font-family:var(--font)!important;background:#0f172aeb!important;border:none!important;border-radius:6px!important;padding:6px 10px!important;box-shadow:0 2px 8px #0000004d!important}.vehicle-tooltip:before{border-top-color:#0f172aeb!important}@keyframes idlePulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:0;transform:scale(1.4)}}.idle-stop-marker{background:0 0!important;border:none!important}button:disabled{opacity:.45;filter:grayscale();cursor:not-allowed!important}@font-face{font-family:Amiri;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/Amiri-400i.woff2)format("woff2")}@font-face{font-family:Amiri;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Amiri-400.woff2)format("woff2")}@font-face{font-family:Amiri;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Amiri-700.woff2)format("woff2")}@font-face{font-family:Cairo;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Cairo-400.woff2)format("woff2")}@font-face{font-family:Cairo;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Cairo-600.woff2)format("woff2")}@font-face{font-family:Cairo;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Cairo-700.woff2)format("woff2")}@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Cinzel-400.woff2)format("woff2")}@font-face{font-family:Cinzel;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Cinzel-700.woff2)format("woff2")}@font-face{font-family:DejaVu Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/DejaVuSans-400.woff2)format("woff2")}@font-face{font-family:DejaVu Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/DejaVuSans-700.woff2)format("woff2")}@font-face{font-family:DejaVu Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/DejaVuSerif-400.woff2)format("woff2")}@font-face{font-family:DejaVu Serif;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/DejaVuSerif-700.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/EBGaramond-400i.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/EBGaramond-400.woff2)format("woff2")}@font-face{font-family:EB Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/EBGaramond-600.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/Inter-300.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-400.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter-600.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Inter-700.woff2)format("woff2")}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/LibreBaskerville-400i.woff2)format("woff2")}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/LibreBaskerville-400.woff2)format("woff2")}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/LibreBaskerville-700.woff2)format("woff2")}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/NotoNaskhArabic-400.woff2)format("woff2")}@font-face{font-family:Noto Naskh Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/NotoNaskhArabic-700.woff2)format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/OpenSans-400.woff2)format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/OpenSans-600.woff2)format("woff2")}@font-face{font-family:Open Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/OpenSans-700.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/PlayfairDisplay-400i.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/PlayfairDisplay-400.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/PlayfairDisplay-700i.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/PlayfairDisplay-700.woff2)format("woff2")}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/RobotoMono-400.woff2)format("woff2")}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/RobotoMono-700.woff2)format("woff2")}.fz-icon-btn:hover:not(:disabled){background:color-mix(in srgb, currentColor 14%, transparent)!important;border-color:currentColor!important}.fz-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out, opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out, -o-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}
.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{text-align:center;border-radius:15px;width:30px;height:30px;margin-top:5px;margin-left:5px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}
