:root{--color-neon-blue: #0055ff;--color-leaf: #00dd66;--color-azur: #00aaff;--color-grape: #9933ff;--color-nocturno: #002233;--color-steel: #667a85;--color-tomato: #ff6655;--color-honey: #ffcc33;--gradient-primary: linear-gradient(135deg, #0055ff 0%, #00aaff 30%, #00dd66 65%, #9933ff 100%);--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-2: #f4f7fa;--color-border: #dbe2e7;--color-border-strong: #b6c1c8;--color-text: #002233;--color-text-muted: #4f6069;--color-accent: #0055ff;--color-accent-hover: #0044cc;--color-accent-contrast: #ffffff;--color-neon: #0055ff;--color-danger-text: #b5281c;--color-danger-bg: #fdecea;--color-warn-text: #7a4e00;--color-warn-bg: #fff3d4;--color-ok-text: #0a6e30;--color-ok-bg: #e4f7ec;--color-info-text: #1f5fa8;--color-info-bg: #e6f2ff;--focus-ring: 0 0 0 3px rgba(0, 85, 255, .4);--radius: 8px;--radius-sm: 6px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--shadow-1: 0 1px 2px rgba(0, 34, 51, .06), 0 1px 3px rgba(0, 34, 51, .08);--font: Arial, "Helvetica Neue", Helvetica, sans-serif;--maxw: 1440px}[data-theme=dark]{--color-bg: #002233;--color-surface: #04303f;--color-surface-2: #0a3b4f;--color-border: #143b4d;--color-border-strong: #2a5468;--color-text: #f4f8fa;--color-text-muted: #9fb4bf;--color-accent: #00aaff;--color-accent-hover: #33bbff;--color-accent-contrast: #002233;--color-neon: #00aaff;--color-danger-text: #ff8a7d;--color-danger-bg: #3a1d1a;--color-warn-text: #ffd166;--color-warn-bg: #3a2f12;--color-ok-text: #57e389;--color-ok-bg: #0d3320;--color-info-text: #8fc8ff;--color-info-bg: #08304a;--focus-ring: 0 0 0 3px rgba(0, 170, 255, .55)}@media (prefers-color-scheme: dark){[data-theme=auto]{--color-bg: #002233;--color-surface: #04303f;--color-surface-2: #0a3b4f;--color-border: #143b4d;--color-border-strong: #2a5468;--color-text: #f4f8fa;--color-text-muted: #9fb4bf;--color-accent: #00aaff;--color-accent-hover: #33bbff;--color-accent-contrast: #002233;--color-neon: #00aaff;--color-danger-text: #ff8a7d;--color-danger-bg: #3a1d1a;--color-warn-text: #ffd166;--color-warn-bg: #3a2f12;--color-ok-text: #57e389;--color-ok-bg: #0d3320;--color-info-text: #8fc8ff;--color-info-bg: #08304a;--focus-ring: 0 0 0 3px rgba(0, 170, 255, .55)}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);line-height:1.5;font-size:15px}h1,h2,h3{line-height:1.2;font-weight:700}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1.02rem}a{color:var(--color-accent)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-accent);color:var(--color-accent-contrast);padding:var(--space-2) var(--space-4);z-index:100}.skip-link:focus{left:var(--space-3);top:var(--space-3)}.btn{font:inherit;font-weight:600;min-block-size:40px;min-inline-size:64px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn--primary{background:var(--color-accent);color:var(--color-accent-contrast)}.btn--primary:hover{background:var(--color-accent-hover)}.btn--ghost{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.btn--ghost:hover{background:var(--color-surface-2)}.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.icon-btn{min-block-size:32px;min-inline-size:32px;padding:var(--space-1)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:700}.badge--critical,.badge--high{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge--medium{background:var(--color-warn-bg);color:var(--color-warn-text)}.badge--low,.badge--info,.badge--unknown{background:var(--color-info-bg);color:var(--color-info-text)}.badge--ok{background:var(--color-ok-bg);color:var(--color-ok-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-1)}.muted{color:var(--color-text-muted)}.stack>*+*{margin-block-start:var(--space-4)}.table{inline-size:100%;border-collapse:collapse}.table th,.table td{text-align:start;padding:var(--space-3);border-block-end:1px solid var(--color-border);font-size:.92rem}.table th{color:var(--color-text-muted);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.table tbody tr:hover{background:var(--color-surface-2)}.shell{min-block-size:100dvh;display:grid;grid-template-rows:auto 1fr}.topbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-block-end:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:10}.brand{font-weight:700;display:flex;align-items:center;gap:var(--space-2)}.brand .dot{inline-size:12px;block-size:12px;border-radius:3px;background:var(--gradient-primary)}.wordmark{color:var(--color-accent);font-weight:700}.nav{display:flex;gap:var(--space-1);margin-inline-start:var(--space-4);flex-wrap:wrap}.nav a{color:var(--color-text-muted);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-weight:600}.nav a[aria-current=page]{color:var(--color-text);background:var(--color-surface-2)}.content{padding:var(--space-5);max-inline-size:var(--maxw);margin-inline:auto;inline-size:100%}.spacer{flex:1}.skeleton{background:var(--color-surface-2);border-radius:var(--radius-sm);block-size:1rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.empty{text-align:center;padding:var(--space-8);color:var(--color-text-muted);border-block-start:3px solid transparent;border-image:var(--gradient-primary) 1}.login-wrap{min-block-size:100dvh;display:grid;place-items:center;padding:var(--space-4);background:var(--gradient-primary)}.login-card{inline-size:min(400px,100%);padding:var(--space-6)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-weight:600;font-size:.9rem}.field input{font:inherit;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.error-text{color:var(--color-danger-text);font-size:.9rem}
