@import"https://fonts.googleapis.com/css2?family=Syne:wght@800&family=Manrope:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";.page-fade-enter{opacity:0}.page-fade-enter-active{opacity:1;transition:opacity .2s ease}.page-fade-exit{opacity:1}.page-fade-exit-active{opacity:0;transition:opacity .2s ease}.app-content>div{animation:fadeIn .2s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:focus-visible{outline:2px solid #05C690;outline-offset:2px}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-100px;left:16px;z-index:999;padding:8px 16px;background:var(--accent-blue);color:#fff;font-size:13px;font-weight:600;border-radius:var(--radius-sm);text-decoration:none;transition:top .15s ease}.skip-link:focus{top:16px}:root{--bg-primary: #050508;--bg-secondary: #0A0B10;--bg-tertiary: #12141A;--bg-card: rgba(8, 10, 14, .65);--bg-card-solid: #080910;--bg-hover: rgba(5, 198, 144, .08);--bg-active: rgba(5, 198, 144, .12);--text-primary: #F0F4F8;--text-secondary: #B0BEC5;--text-muted: #6B7785;--accent-blue: #05C690;--accent-purple: #005971;--accent-teal: #14B8A6;--accent-cyan: #06B6D4;--accent-blue-hover: #00A87A;--accent-purple-hover: #00495E;--gradient-header: linear-gradient(135deg, #053328 0%, #00634F 50%, #005971 100%);--gradient-accent: linear-gradient(135deg, var(--accent-blue), var(--accent-purple));--gradient-teal: linear-gradient(135deg, #0D9488, #14B8A6);--gradient-surface: linear-gradient(180deg, rgba(18, 20, 26, .5) 0%, rgba(10, 11, 16, .3) 100%);--health-excellent: #10B981;--health-good: #00ADBB;--health-moderate: #F59E0B;--health-poor: #EF4444;--health-critical: #FCA5A5;--border-color: rgba(180, 195, 210, .1);--border-color-hover: rgba(180, 195, 210, .25);--border-color-strong: rgba(180, 195, 210, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-health: 14px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-glow-blue: 0 0 20px rgba(5, 198, 144, .15);--shadow-glow-purple: 0 0 20px rgba(139, 92, 246, .15);--shadow-card-hover: 0 0 25px rgba(5, 198, 144, .12);--sidebar-width: 280px;--sidebar-collapsed-width: 64px;--topbar-height: 56px;--font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Syne", sans-serif;--font-display-bebas: "Bebas Neue", Impact, sans-serif;--font-data-mono: "JetBrains Mono", ui-monospace, monospace;--teal: #2DD4BF;--gold: #D4A24A;--coral: #F07167;--green: #4ADE80}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:800;color:var(--text-primary);letter-spacing:-.02em}html,body{height:100%;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-layout{display:flex;height:100vh;overflow:hidden}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;margin-left:var(--sidebar-width);transition:margin-left .2s ease}.app-main.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.app-content{flex:1;overflow-y:auto;padding:24px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100;transition:width .2s ease;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-logo{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--gradient-header);border-bottom:1px solid var(--border-color);min-height:var(--topbar-height)}.sidebar-logo h1{font-size:16px;font-weight:800;font-family:var(--font-display);background:linear-gradient(135deg,#e2e8f0,#b0bec5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 8px}.sidebar-section{margin-bottom:12px}.sidebar-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:12px 16px 6px;white-space:nowrap}.sidebar-link{display:flex;align-items:center;gap:12px;padding:9px 16px;border-radius:var(--radius-sm);color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:500;transition:all .15s ease;white-space:nowrap;border-left:3px solid transparent;margin-bottom:2px}.sidebar-link:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-link.active{background:#05c6900d;color:#05c690;border-left:2px solid #05C690;font-weight:600}.sidebar-link svg{width:18px;height:18px;flex-shrink:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:var(--topbar-height);background:var(--gradient-header);border-bottom:1px solid var(--border-color);flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-title{font-size:16px;font-weight:800;font-family:var(--font-display);color:var(--text-primary)}.topbar-right{display:flex;align-items:center;gap:12px}@media(max-width:760px){.sidebar{width:var(--sidebar-collapsed-width)!important}.app-main,.app-main.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.app-content{padding:16px}.sidebar-logo{justify-content:center!important;padding:12px 8px!important}.sidebar-logo img{width:28px!important}.sidebar-context-panel,.sidebar-section-label{display:none!important}.sidebar-nav{padding:8px}.sidebar-section{margin-bottom:6px}.sidebar-link{justify-content:center;gap:0;padding:9px 8px}.sidebar-link span{display:none!important}.sidebar-link svg{margin:0}.topbar{padding:0 12px}.topbar-left{gap:8px;min-width:0}.topbar-title{font-size:13px;overflow:hidden;text-overflow:ellipsis}}.card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;transition:all .2s ease;overflow:hidden;word-break:break-word}.card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--border-color-hover)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;overflow:hidden}.card-title{font-size:15px;font-weight:800;font-family:var(--font-display);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-accent-green{border-left:3px solid #10B981}.card-accent-red{border-left:3px solid #EF4444}.card-accent-amber{border-left:3px solid #F59E0B}.card-accent-blue{border-left:3px solid #05C690}.card-accent-purple{border-left:3px solid #00ADBB}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all .15s ease;border:1px solid transparent}.btn-primary{background:var(--accent-blue);color:#fff;box-shadow:0 2px 6px #05c69040}.btn-primary:hover{background:var(--accent-blue-hover);box-shadow:0 4px 12px #05c69059;transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-blue)}.btn-ghost{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff}.btn-ghost:hover{background:#ffffff26}[data-theme=light] .btn-ghost{background:#0000000d;border:1px solid rgba(0,0,0,.1);color:#0f172a}[data-theme=light] .btn-ghost:hover{background:#0000001a}.btn-icon{width:36px;height:36px;padding:0;justify-content:center}.health-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-health);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:14px 16px;font-size:11px;font-weight:700;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;color:#e2e8f0b3;background:var(--gradient-header);border-bottom:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none}.data-table td{padding:14px 16px;font-size:13px;color:var(--text-primary);border-bottom:1px solid var(--border-color);transition:background-color .1s ease}.data-table tr:hover td{background:#05c6900a}.placeholder-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:16px}.placeholder-page svg{width:48px;height:48px;color:var(--text-muted)}.placeholder-page h2{font-size:20px;font-weight:800;color:var(--text-primary)}.placeholder-page p{font-size:14px;color:var(--text-secondary);max-width:400px;text-align:center}.stat-card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px 24px;transition:all .2s ease;position:relative;overflow:hidden;word-break:break-word}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover);border-color:var(--border-color-hover)}.stat-card-label{font-size:12px;color:var(--text-muted);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-card-value{font-size:28px;font-weight:800;color:var(--text-primary);font-family:var(--font-data-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input{width:100%;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:var(--font-family);transition:border-color .15s ease}.input:focus{border-color:var(--accent-blue)}.input::placeholder{color:var(--text-muted)}.select{padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:var(--font-family);cursor:pointer}.select:focus{border-color:var(--accent-blue)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.kpi-card{padding:20px;border-radius:var(--radius-lg);position:relative;overflow:hidden;transition:all .2s ease;word-break:break-word;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.kpi-card-value{font-size:32px;font-weight:800;line-height:1;font-family:var(--font-data-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-card-label{font-size:12px;opacity:.85;margin-top:6px;font-weight:600;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--gradient-header);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:1px solid var(--border-color)}.section-header-title{font-size:15px;font-weight:800;font-family:var(--font-display);color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em}@keyframes oc-skeleton-pulse{0%{opacity:.4}50%{opacity:.9}to{opacity:.4}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes oc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes oc-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes oc-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes oc-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes oc-glow{0%,to{box-shadow:0 0 5px #00e5c333}50%{box-shadow:0 0 20px #00e5c366}}@keyframes oc-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes oc-border-glow{0%,to{border-color:#00e5c333}50%{border-color:#00e5c399}}.oc-fade-in{animation:oc-fade-in .2s ease-out forwards}.oc-slide-up{animation:oc-slide-up .4s ease-out forwards}.oc-scale-in{animation:oc-scale-in .25s cubic-bezier(.16,1,.3,1) forwards}.oc-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);background-size:200% 100%;animation:oc-shimmer 1.5s infinite linear}.oc-glow{animation:oc-glow 3s infinite ease-in-out}.oc-pulse{animation:oc-pulse 2s infinite ease-in-out}.oc-hero-border-glow{animation:oc-border-glow 3s infinite ease-in-out}.oc-scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.oc-scroll-reveal.visible{opacity:1;transform:translateY(0)}.oc-delay-1{animation-delay:50ms}.oc-delay-2{animation-delay:.1s}.oc-delay-3{animation-delay:.15s}.oc-delay-4{animation-delay:.2s}.oc-delay-5{animation-delay:.25s}.oc-delay-6{animation-delay:.3s}
