:root{--background:#020617;--foreground:#f8fafc;--card:#0f172a;--card-foreground:#f8fafc;--popover:#0f172a;--popover-foreground:#f8fafc;--primary:#3b82f6;--primary-foreground:#fff;--secondary:#1e293b;--secondary-foreground:#f8fafc;--muted:#1e293b;--muted-foreground:#94a3b8;--accent:#3b82f6;--accent-foreground:#fff;--destructive:#ef4444;--destructive-foreground:#f8fafc;--border:#1e293b;--input:#1e293b;--ring:#3b82f6;--radius:1rem;--status-good:#10b981;--status-attention:#f59e0b;--status-problem:#ef4444;--glass-bg:#0f172a99;--glass-border:#ffffff14;--glass-shadow:0 12px 40px -8px #00000080;--grad-primary:linear-gradient(135deg, #3b82f6 0%, #2dd4bf 100%);--grad-surface:linear-gradient(180deg, #ffffff08 0%, #fff0 100%)}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius);position:relative;overflow:hidden}.glass:before{content:"";background:var(--grad-surface);pointer-events:none;position:absolute;inset:0}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{border-color:#fff3;transform:translateY(-4px);box-shadow:0 20px 40px -12px #0009}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}h1,h2,h3,h4{letter-spacing:-.04em;margin-bottom:1rem;font-weight:800;line-height:1.1}.gradient-text{background:var(--grad-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.status-dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.status-good{background-color:var(--status-good);box-shadow:0 0 12px var(--status-good)}.status-attention{background-color:var(--status-attention);box-shadow:0 0 12px var(--status-attention)}.status-problem{background-color:var(--status-problem);box-shadow:0 0 12px var(--status-problem)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s ease-out forwards fadeIn}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}
