@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Montserrat:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&family=Roboto:wght@300;400;500;700&display=swap";:root{--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-glass:#ffffffd9;--bg-glass-hover:#fffffff2;--border-subtle:#0000000f;--border-default:#00000014;--border-hover:#00000024;--accent-primary:#2563eb;--accent-primary-hover:#1d4ed8;--accent-primary-glow:#2563eb40;--accent-primary-dim:#2563eb1a;--accent-success:#16a34a;--accent-success-hover:#15803d;--accent-success-dim:#16a34a1a;--accent-warning:#d97706;--accent-warning-hover:#b45309;--accent-warning-dim:#d977061a;--accent-danger:#dc2626;--accent-danger-hover:#b91c1c;--accent-danger-dim:#dc26261a;--glass-bg:var(--bg-glass);--glass-border:var(--border-default);--bg-input:var(--bg-tertiary);--bg-table:var(--bg-secondary);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-dim:#cbd5e1;--sidebar-width:260px;--sidebar-collapsed:64px;--stats-bar-height:48px;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--sidebar-bg:var(--bg-secondary);--sidebar-text:var(--text-secondary);--sidebar-text-muted:var(--text-muted);--sidebar-border:var(--border-subtle);--sidebar-hover-bg:#0000000a;--sidebar-active-bg:#2563eb14;--sidebar-backdrop-filter:blur(16px);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a;--bg-media:#0b0f1a;--bg-map-placeholder:#e2e8f0}:root.light-mode,html.light-mode{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-glass:#ffffffd9;--bg-glass-hover:#fffffff2;--border-subtle:#0000000f;--border-default:#00000014;--border-hover:#00000024;--accent-success:#16a34a;--accent-success-dim:#16a34a1a;--accent-warning:#d97706;--accent-warning-dim:#d977061a;--accent-danger:#dc2626;--accent-danger-dim:#dc26261a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-dim:#cbd5e1;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #00000014, 0 8px 10px -6px #0000000a}:root.dark-mode,html.dark-mode{--bg-primary:#141418;--bg-secondary:#1a1a20;--bg-tertiary:#24242e;--bg-glass:#1a1a20d9;--bg-glass-hover:#24242ef2;--border-subtle:#ffffff0d;--border-default:#ffffff14;--border-hover:#ffffff26;--accent-primary:#2563eb;--accent-primary-hover:#1d4ed8;--accent-primary-glow:#2563eb40;--accent-success:#10b981;--accent-success-dim:#10b98126;--accent-warning:#f59e0b;--accent-warning-dim:#f59e0b26;--accent-danger:#ef4444;--accent-danger-dim:#ef444426;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--text-dim:#4b5563;--bg-media:#0b0f1a;--bg-map-placeholder:#1c1f2a;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #0009, 0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #000000b3, 0 8px 10px -6px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;font-family:var(--font-family)!important}button,input,select,textarea,optgroup{font-family:var(--font-family,inherit)}.nav-item:hover{background:var(--sidebar-hover-bg)!important}.nav-item.active{background:var(--sidebar-active-bg)!important;color:var(--accent-primary)!important}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar ::-webkit-scrollbar{display:none}.glass-panel-hover:hover{background:var(--bg-glass-hover);border-color:var(--border-hover);box-shadow:var(--shadow-md)}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--accent-primary-glow)}50%{box-shadow:0 0 0 8px #0000}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.3s ease-out fade-in}.animate-slide-in{animation:.3s ease-out slide-in-right}.animate-spin{animation:.8s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary) 25%, #00000008 50%, var(--bg-tertiary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.online{background:var(--accent-success);box-shadow:0 0 6px var(--accent-success);animation:2s infinite pulse-glow}.status-dot.offline{background:var(--text-dim)}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background .18s,border-color .18s,color .18s,box-shadow .18s,transform 50ms;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{box-shadow:0 0 0 3px var(--accent-primary-glow);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 1px 3px #2563eb4d}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover);box-shadow:0 4px 12px #2563eb4d}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-glass-hover);border-color:var(--border-hover)}.btn-ghost{color:var(--text-secondary);border-color:var(--border-default);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover)}.btn-danger{background:var(--accent-danger);color:#fff;box-shadow:0 1px 3px #dc26264d}.btn-danger:hover:not(:disabled){background:var(--accent-danger-hover);box-shadow:0 4px 12px #dc26264d}.btn-success{background:var(--accent-success);color:#fff;box-shadow:0 1px 3px #16a34a4d}.btn-success:hover:not(:disabled){background:var(--accent-success-hover);box-shadow:0 4px 12px #16a34a4d}.btn-warning{background:var(--accent-warning);color:#fff;box-shadow:0 1px 3px #d977064d}.btn-warning:hover:not(:disabled){background:var(--accent-warning-hover);box-shadow:0 4px 12px #d977064d}.btn-overlay{color:#cbd5e1;background:#0009;border-color:#0000}.btn-overlay:hover:not(:disabled){color:#fff;background:#000c}.btn-sm{gap:.375rem;padding:.375rem .625rem;font-size:.75rem}.btn-lg{gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem}.btn-icon,.btn.btn-icon{gap:0;padding:.5rem}.btn-icon.btn-sm{padding:.375rem}.btn-icon.btn-lg{padding:.625rem}.btn-block{width:100%}.segmented{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;gap:.125rem;padding:.1875rem;display:inline-flex}.segmented-item{color:var(--text-secondary);border-radius:calc(var(--radius-md) - .1875rem);cursor:pointer;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:.375rem;padding:.375rem .75rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:background .18s,color .18s;display:inline-flex}.segmented-item:hover:not(:disabled){color:var(--text-primary)}.segmented-item.active{background:var(--bg-secondary);color:var(--accent-primary);box-shadow:var(--shadow-sm)}.segmented-item:disabled{opacity:.5;cursor:not-allowed}.input-dark{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;transition:all .2s}.input-dark::placeholder{color:var(--text-muted)}.input-dark:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);background:var(--bg-secondary)}select.input-dark{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.vehicle-card{border-radius:var(--radius-lg);cursor:pointer;border:1px solid #0000;padding:.75rem;transition:all .2s}.vehicle-card:hover{background:var(--bg-tertiary);border-color:var(--border-subtle)}.vehicle-card.active{background:#3b82f60f;border-color:#3b82f640}.gm-style .gm-style-iw-c{background:var(--bg-secondary)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important;max-width:320px!important;padding:0!important}.gm-style .gm-style-iw-d{overflow:hidden!important}.gm-style .gm-style-iw-tc:after{background:var(--bg-secondary)!important}.gm-style .gm-ui-hover-effect{top:4px!important;right:4px!important}.gm-style .gm-ui-hover-effect>span{background-color:var(--text-secondary)!important}.cluster-marker{color:#fff;text-shadow:0 1px 3px #0000004d;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;transition:transform .2s;display:flex}.cluster-marker:hover{transform:scale(1.1)}.cluster-marker.small{background:radial-gradient(circle,#3b82f6e6 0%,#3b82f666 70%);width:40px;height:40px;box-shadow:0 2px 8px #3b82f659}.cluster-marker.medium{background:radial-gradient(circle,#3b82f6eb 0%,#3b82f666 70%);width:50px;height:50px;box-shadow:0 2px 10px #3b82f666}.cluster-marker.large{background:radial-gradient(circle,#3b82f6f2 0%,#3b82f673 70%);width:60px;height:60px;box-shadow:0 3px 12px #3b82f673}*{scrollbar-width:thin;scrollbar-color:#64748b4d transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#64748b4d;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#64748b8c}::-webkit-scrollbar-corner{background:0 0}.dark-mode ::-webkit-scrollbar-thumb{background:#94a3b859}.dark-mode ::-webkit-scrollbar-thumb:hover{background:#94a3b899}html.compact-mode{--stats-bar-height:40px;--sidebar-width:230px;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;font-size:13.5px}html.compact-mode table td,html.compact-mode table th{padding-top:6px!important;padding-bottom:6px!important}html.compact-mode .glass-panel{padding:1rem!important}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.admin-subnav-item{color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:.4375rem;padding:.4375rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.admin-subnav-item:hover{color:var(--text-primary);background:var(--bg-glass-hover)}.admin-subnav-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.admin-subnav-item.active{color:var(--accent-primary);background:var(--accent-primary-dim);border-color:var(--accent-primary)}.metric-row-interactive{transition:background .15s,border-color .15s}.metric-row-interactive:hover{background:var(--bg-glass-hover)!important;border-color:var(--border-default)!important}.metric-row-interactive:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
