@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--mono-0: #ffffff;--mono-50: #fafafa;--mono-100: #f5f5f5;--mono-200: #e5e5e5;--mono-300: #d4d4d4;--mono-400: #a3a3a3;--mono-500: #737373;--mono-600: #525252;--mono-700: #404040;--mono-800: #262626;--mono-900: #171717;--mono-950: #0a0a0a;--accent-primary: #2563eb;--accent-success: #16a34a;--accent-warning: #ea580c;--accent-error: #dc2626;--accent-info: #0891b2;--color-blue-500: #3b82f6;--color-blue-600: #2563eb;--color-blue-700: #1d4ed8;--color-emerald-500: #10b981;--color-emerald-600: #059669;--color-amber-500: #f59e0b;--color-amber-600: #d97706;--color-red-500: #ef4444;--color-purple-500: #8b5cf6;--color-violet-500: #667eea;--color-violet-600: #764ba2;--color-blue-bg: rgba(59, 130, 246, .12);--color-blue-border: rgba(59, 130, 246, .3);--color-emerald-bg: rgba(16, 185, 129, .12);--color-emerald-border: rgba(16, 185, 129, .3);--color-amber-bg: rgba(245, 158, 11, .12);--color-amber-border: rgba(245, 158, 11, .3);--color-purple-bg: rgba(139, 92, 246, .12);--color-purple-border: rgba(139, 92, 246, .3);--color-violet-bg: rgba(102, 126, 234, .12);--color-violet-border: rgba(102, 126, 234, .3);--gradient-ai: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-ai-hover: linear-gradient(135deg, #5a6fd6 0%, #6a4190 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-blue: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--gradient-amber: linear-gradient(90deg, #f59e0b 0%, #d97706 100%);--status-active: #16a34a;--status-maintenance: #ea580c;--status-offline: #dc2626;--status-info: #6b7280;--status-active-bg: rgba(22, 163, 74, .12);--status-active-bg-subtle: rgba(22, 163, 74, .06);--status-active-border: rgba(22, 163, 74, .3);--status-active-shadow: rgba(22, 163, 74, .2);--status-warning-bg: rgba(234, 136, 8, .12);--status-warning-bg-subtle: rgba(234, 136, 8, .06);--status-warning-border: rgba(234, 136, 8, .3);--status-warning-shadow: rgba(234, 136, 8, .2);--status-error-bg: rgba(220, 38, 38, .12);--status-error-bg-subtle: rgba(220, 38, 38, .06);--status-error-border: rgba(220, 38, 38, .3);--status-error-shadow: rgba(220, 38, 38, .2);--status-info-bg: rgba(107, 114, 128, .12);--status-info-bg-subtle: rgba(107, 114, 128, .06);--status-info-border: rgba(107, 114, 128, .3);--status-info-shadow: rgba(107, 114, 128, .2);--surface-base: #ffffff;--surface-elevated: #fafafa;--surface-overlay: rgba(255, 255, 255, .95);--surface-border: #a3a3a3;--surface-hover: rgba(0, 0, 0, .04);--surface-subtle: rgba(0, 0, 0, .03);--dark-surface-base: #0a0a0a;--dark-surface-elevated: #171717;--dark-surface-overlay: rgba(10, 10, 10, .95);--dark-surface-border: #262626;--dark-surface-hover: rgba(255, 255, 255, .06);--dark-surface-subtle: rgba(255, 255, 255, .05);--hero-card-bg: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);--hero-card-text: #ffffff;--hero-card-text-muted: rgba(255, 255, 255, .85);--hero-card-chip-bg: rgba(255, 255, 255, .15);--hero-card-chip-border: rgba(255, 255, 255, .2);--hero-card-button-bg: #ffffff;--hero-card-button-text: #1e293b;--hero-card-button-hover: #f1f5f9;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--transition-instant: 75ms;--transition-fast: .15s;--transition-base: .25s;--transition-slow: .35s;--transition-slower: .5s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-base: var(--dark-surface-base);--surface-elevated: var(--dark-surface-elevated);--surface-overlay: var(--dark-surface-overlay);--surface-border: var(--dark-surface-border);--surface-hover: var(--dark-surface-hover);--surface-subtle: var(--dark-surface-subtle);--mono-950: #fafafa;--mono-900: #f5f5f5;--mono-800: #e5e5e5;--mono-700: #d4d4d4;--mono-600: #c0c4cc;--mono-500: #a8adb8;--mono-400: #8b95a5;--mono-300: #4b5563;--mono-200: #374151;--mono-100: #1f2937;--mono-50: #111827;--status-active-bg: rgba(22, 163, 74, .18);--status-active-bg-subtle: rgba(22, 163, 74, .1);--status-active-border: rgba(22, 163, 74, .45);--status-active-shadow: rgba(22, 163, 74, .3);--status-warning-bg: rgba(234, 136, 8, .18);--status-warning-bg-subtle: rgba(234, 136, 8, .1);--status-warning-border: rgba(234, 136, 8, .45);--status-warning-shadow: rgba(234, 136, 8, .3);--status-error-bg: rgba(220, 38, 38, .18);--status-error-bg-subtle: rgba(220, 38, 38, .1);--status-error-border: rgba(220, 38, 38, .45);--status-error-shadow: rgba(220, 38, 38, .3);--status-info-bg: rgba(107, 114, 128, .18);--status-info-bg-subtle: rgba(107, 114, 128, .1);--status-info-border: rgba(107, 114, 128, .45);--status-info-shadow: rgba(107, 114, 128, .3);--color-blue-bg: rgba(59, 130, 246, .18);--color-blue-border: rgba(59, 130, 246, .45);--color-emerald-bg: rgba(16, 185, 129, .18);--color-emerald-border: rgba(16, 185, 129, .45);--color-amber-bg: rgba(245, 158, 11, .18);--color-amber-border: rgba(245, 158, 11, .45);--color-purple-bg: rgba(139, 92, 246, .18);--color-purple-border: rgba(139, 92, 246, .45);--color-violet-bg: rgba(102, 126, 234, .18);--color-violet-border: rgba(102, 126, 234, .45)}:root:not([data-theme=light]) body{color:var(--mono-950);background:var(--dark-surface-base)}:root:not([data-theme=light]) h1,:root:not([data-theme=light]) h2,:root:not([data-theme=light]) h3,:root:not([data-theme=light]) h4,:root:not([data-theme=light]) h5,:root:not([data-theme=light]) h6{color:var(--mono-950)}:root:not([data-theme=light]) .MuiInputLabel-root,:root:not([data-theme=light]) .MuiFormLabel-root{color:var(--mono-600)}:root:not([data-theme=light]) .MuiInputBase-input,:root:not([data-theme=light]) .MuiSelect-select{color:var(--mono-950)}:root:not([data-theme=light]) .MuiInputBase-input::placeholder{color:var(--mono-400);opacity:1}:root:not([data-theme=light]) .MuiOutlinedInput-notchedOutline{border-color:var(--dark-surface-border)}:root:not([data-theme=light]) .MuiPaper-root{background-color:var(--dark-surface-elevated);color:var(--mono-950)}:root:not([data-theme=light]) .MuiTableCell-head{color:var(--mono-600);border-color:var(--dark-surface-border)}:root:not([data-theme=light]) .MuiTableCell-body{color:var(--mono-800);border-color:var(--dark-surface-border)}:root:not([data-theme=light]) .MuiDivider-root{border-color:var(--dark-surface-border)}:root:not([data-theme=light]) .MuiTab-root{color:var(--mono-500)}:root:not([data-theme=light]) .MuiTab-root.Mui-selected{color:var(--mono-950)}:root:not([data-theme=light]) .MuiIconButton-root{color:var(--mono-600)}:root:not([data-theme=light]) .MuiChip-label{color:var(--mono-800)}:root:not([data-theme=light]) .MuiSkeleton-root{background-color:var(--dark-surface-hover)}}:root[data-theme=dark]{--surface-base: var(--dark-surface-base);--surface-elevated: var(--dark-surface-elevated);--surface-overlay: var(--dark-surface-overlay);--surface-border: var(--dark-surface-border);--surface-hover: var(--dark-surface-hover);--surface-subtle: var(--dark-surface-subtle);--mono-950: #fafafa;--mono-900: #f5f5f5;--mono-800: #e5e5e5;--mono-700: #d4d4d4;--mono-600: #b8b8b8;--mono-500: #9ca3af;--mono-400: #6b7280;--mono-300: #4b5563;--mono-200: #374151;--mono-100: #1f2937;--mono-50: #111827;--status-active-bg: rgba(22, 163, 74, .18);--status-active-bg-subtle: rgba(22, 163, 74, .1);--status-active-border: rgba(22, 163, 74, .45);--status-active-shadow: rgba(22, 163, 74, .3);--status-warning-bg: rgba(234, 136, 8, .18);--status-warning-bg-subtle: rgba(234, 136, 8, .1);--status-warning-border: rgba(234, 136, 8, .45);--status-warning-shadow: rgba(234, 136, 8, .3);--status-error-bg: rgba(220, 38, 38, .18);--status-error-bg-subtle: rgba(220, 38, 38, .1);--status-error-border: rgba(220, 38, 38, .45);--status-error-shadow: rgba(220, 38, 38, .3);--status-info-bg: rgba(107, 114, 128, .18);--status-info-bg-subtle: rgba(107, 114, 128, .1);--status-info-border: rgba(107, 114, 128, .45);--status-info-shadow: rgba(107, 114, 128, .3)}:root[data-theme=dark] body{color:var(--mono-950);background:var(--dark-surface-base)}:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=dark] h4,:root[data-theme=dark] h5,:root[data-theme=dark] h6{color:var(--mono-950)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scrollbar-gutter:stable}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.6;color:var(--mono-950);background:var(--surface-base);font-feature-settings:"cv02","cv03","cv04","cv11","ss01","ss02";letter-spacing:-.011em}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;letter-spacing:-.025em;color:var(--mono-950)}h1{font-size:2.25rem;font-weight:700}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}code,pre,.mono{font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-feature-settings:"liga" 0,"calt" 0;font-size:.875em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--mono-300);border-radius:4px;transition:background var(--transition-fast) var(--ease-out)}::-webkit-scrollbar-thumb:hover{background:var(--mono-400)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-glow{0%,to{box-shadow:0 6px 24px var(--status-error-shadow)}50%{box-shadow:0 6px 36px var(--status-error-shadow)}}@keyframes shimmer{0%{background-position:-100% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes draw{to{stroke-dashoffset:0}}.animate-fade-in{animation:fadeIn var(--transition-base) var(--ease-out)}.animate-slide-up{animation:slideUp var(--transition-slow) var(--ease-out)}.animate-slide-down{animation:slideDown var(--transition-slow) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--transition-base) var(--ease-out)}.delay-75{animation-delay:75ms}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-500{animation-delay:.5s}.card{background:var(--surface-base);border:1px solid var(--surface-border);border-radius:12px;transition:all var(--transition-base) var(--ease-out);position:relative}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,transparent,var(--mono-200),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--transition-base) var(--ease-out);pointer-events:none}.card:hover:before{opacity:1}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--mono-300)}.metric-card{padding:24px;display:flex;flex-direction:column;gap:12px;background:var(--surface-base);border:1px solid var(--surface-border);border-radius:12px;transition:all var(--transition-base) var(--ease-out);position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-slow) var(--ease-out)}.metric-card:hover:after{transform:scaleX(1)}.status-dot{width:6px;height:6px;border-radius:50%;position:relative;display:inline-block}.status-dot:after{content:"";position:absolute;inset:-2px;border-radius:50%;background:inherit;opacity:.2;animation:pulse 2s ease-in-out infinite}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:500;letter-spacing:.01em;background:var(--surface-subtle);color:var(--mono-800);border:1px solid var(--mono-400);transition:all var(--transition-fast) var(--ease-out)}.badge:hover{background:var(--surface-hover);border-color:var(--mono-500)}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.data-table th{text-align:left;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mono-500);padding:12px 16px;border-bottom:1px solid var(--surface-border)}.data-table td{padding:12px 16px;border-bottom:1px solid var(--surface-border);transition:background var(--transition-fast) var(--ease-out)}.data-table tr:hover td{background:var(--surface-hover)}.data-table tr:last-child td{border-bottom:none}.divider{height:1px;background:var(--surface-border);margin:24px 0}::selection{background:var(--accent-primary);color:#fff}*:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast) var(--ease-out)}a:hover{color:var(--accent-info)}.skeleton{background:linear-gradient(90deg,var(--mono-100) 0%,var(--mono-200) 50%,var(--mono-100) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px}.leaflet-container{border-radius:12px;border:1px solid var(--surface-border);overflow:hidden}.glass{background:var(--surface-overlay);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%)}.data-grid{display:grid;gap:1px;background:var(--surface-border);border-radius:12px;overflow:hidden}.data-grid>*{background:var(--surface-base);padding:16px}.tooltip{position:absolute;background:var(--mono-900);color:#fff;padding:6px 12px;border-radius:6px;font-size:.75rem;font-weight:500;white-space:nowrap;pointer-events:none;z-index:1000;opacity:0;transform:translateY(4px);transition:all var(--transition-fast) var(--ease-out)}.tooltip.show{opacity:1;transform:translateY(0)}.progress{height:2px;background:var(--mono-200);border-radius:1px;overflow:hidden;position:relative}.progress-bar{height:100%;background:currentColor;border-radius:inherit;transition:width var(--transition-slow) var(--ease-out)}.metric-value{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.02em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media print{.no-print{display:none!important}}.card,.metric-card,.data-table,.data-grid{contain:layout style}.content-auto{content-visibility:auto;contain-intrinsic-size:auto 200px}.will-animate{will-change:transform,opacity}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden}.animate-transform{transition:transform var(--transition-base) var(--ease-out)}.isolate{isolation:isolate}.optimize-legibility{text-rendering:optimizeLegibility}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
