:root{--sidebar-width: 240px;--sidebar-collapsed: 60px;--topbar-height: 56px;--width-content: 1200px;--width-content-wide: 1400px;--width-content-fluid: 100%;--container-max: 1600px;--clr-bg: #f4f4f5;--clr-bg-subtle: #e4e4e7;--clr-surface: #ffffff;--clr-fg: #18181b;--clr-fg-muted: #71717a;--clr-sidebar-bg: #0a0a0a;--clr-sidebar-fg: #a1a1aa;--clr-sidebar-fg-active: #ffffff;--clr-sidebar-accent: #f97316;--clr-topbar-bg: #ffffff;--clr-topbar-border: #e4e4e7;--clr-border: #e4e4e7;--clr-border-subtle: #f4f4f5;--clr-primary: #6366f1;--clr-primary-hover: #4f46e5;--clr-accent-hover: hsl(25, 95%, 30%);--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--status-ok: #22c55e;--status-ok-bg: #dcfce7;--status-warn: #eab308;--status-warn-bg: #fef9c3;--status-alarm: #ef4444;--status-alarm-bg: #fee2e2;--status-critical: #ff2020;--status-offline: #52525b;--status-offline-bg: #f4f4f5;--status-unknown: #a1a1aa;--sev-critical: #ff2020;--sev-high: #f97316;--sev-medium: #eab308;--sev-low: #3b82f6;--sev-info: #a1a1aa;--tag-value: #18181b;--tag-unit: #64748b;--tag-label: #94a3b8;--ease-layout: .22s cubic-bezier(.4, 0, .2, 1);--z-topbar: 50;--z-sidebar: 100;--z-modal: 300}.dark{--clr-bg: #09090b;--clr-bg-subtle: #1c1c1e;--clr-surface: #18181b;--clr-fg: #fafafa;--clr-fg-muted: #a1a1aa;--clr-sidebar-bg: #09090b;--clr-sidebar-fg: #71717a;--clr-sidebar-fg-active: #f4f4f5;--clr-topbar-bg: #18181b;--clr-topbar-border: #27272a;--clr-border: #27272a;--clr-border-subtle: #1c1c1e;--clr-primary: #818cf8;--clr-primary-hover: #6366f1;--tag-value: #f1f5f9;--tag-unit: #64748b;--tag-label: #71717a;--status-ok-bg: #052e16;--status-warn-bg: #422006;--status-alarm-bg: #450a0a;--status-offline-bg: #18181b}*,*:before,*:after{box-sizing:border-box}html,body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;tab-size:4;scroll-behavior:smooth}body{min-height:100dvh;background:var(--clr-bg);color:var(--clr-fg);font-family:DM Sans,ui-sans-serif,system-ui,sans-serif;font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:var(--fw-semibold);color:var(--clr-fg)}ul,ol{margin:0;padding-left:1.25em}nav ul,nav ol{list-style:none;padding:0}a{color:inherit;text-decoration:none}img,picture,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}img,video{height:auto}button,input,select,textarea,optgroup{font:inherit;color:inherit;letter-spacing:inherit}textarea{resize:vertical}button{background:none;border:0;padding:0;cursor:pointer}button:disabled{cursor:not-allowed}table{border-collapse:collapse;border-spacing:0}hr{border:0;border-top:1px solid var(--clr-border);margin:var(--space-4) 0}::selection{background:color-mix(in srgb,var(--clr-sidebar-accent) 30%,transparent);color:var(--clr-fg)}:focus{outline:none}:focus-visible{outline:2px solid var(--clr-sidebar-accent);outline-offset:2px;border-radius:var(--radius-sm)}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page-title{margin:0 0 var(--space-8) 0;font-size:22px;font-weight:700;letter-spacing:-.4px;color:var(--clr-fg)}.section-title{margin:0 0 var(--space-4) 0;font-size:16px;font-weight:700;letter-spacing:-.2px;color:var(--clr-fg)}.section-subtle{font-size:var(--fs-xs);color:var(--clr-fg-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-medium)}.card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);color:var(--clr-fg)}.card-tight{padding:var(--space-4)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6)}.empty-state{padding:var(--space-8);text-align:center;color:var(--clr-fg-muted);background:var(--clr-surface);border:1px dashed var(--clr-border);border-radius:var(--radius-md)}.alert{padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--fs-sm);border:1px solid transparent}.alert-error{color:var(--status-alarm);background:var(--status-alarm-bg);border-color:var(--status-alarm)}.alert-success{color:var(--status-ok);background:var(--status-ok-bg);border-color:var(--status-ok)}.alert-warn{color:var(--status-warn);background:var(--status-warn-bg);border-color:var(--status-warn)}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;margin-bottom:var(--space-2);color:var(--clr-fg);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.form-input,.form-select,.form-textarea{width:100%;padding:0 var(--space-3);height:38px;background:var(--clr-bg-subtle);border:1px solid var(--clr-border);border-radius:var(--radius-sm);color:var(--clr-fg);font-size:var(--fs-base);font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.form-textarea{height:auto;min-height:96px;padding:var(--space-2) var(--space-3);line-height:1.5}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--clr-sidebar-accent);box-shadow:0 0 0 1px var(--clr-sidebar-accent);background:var(--clr-surface)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);height:36px;border-radius:var(--radius-sm);font-size:13px;font-weight:var(--fw-semibold);font-family:inherit;cursor:pointer;border:1px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-fg);transition:background .15s,border-color .15s,color .15s;white-space:nowrap;text-decoration:none}.btn:hover:not(:disabled){background:var(--clr-bg);border-color:var(--clr-fg-muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--clr-primary);border-color:var(--clr-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--clr-primary-hover);border-color:var(--clr-primary-hover);color:#fff}.btn-ghost{background:transparent;border-color:var(--clr-border);color:var(--clr-fg)}.btn-ghost:hover:not(:disabled){background:var(--clr-bg-subtle)}.btn-danger{background:var(--status-alarm);border-color:var(--status-alarm);color:#fff}.btn-danger:hover:not(:disabled){background:#c2251c;border-color:#c2251c;color:#fff}.btn-sm{height:30px;padding:0 var(--space-3);font-size:12px}.btn-xs{height:26px;padding:0 var(--space-2);font-size:11px}.btn-block{width:100%;height:38px}.btn-icon{width:30px;padding:0;font-size:16px}.badge{display:inline-block;padding:2px var(--space-2);border-radius:999px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);border:1px solid transparent;white-space:nowrap}.badge-ok{background:var(--status-ok-bg);color:var(--status-ok);border-color:var(--status-ok)}.badge-warn{background:var(--status-warn-bg);color:var(--status-warn);border-color:var(--status-warn)}.badge-alarm{background:var(--status-alarm-bg);color:var(--status-alarm);border-color:var(--status-alarm)}.badge-offline{background:var(--status-offline-bg);color:var(--status-offline);border-color:var(--clr-border)}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--clr-border);font-size:var(--fs-sm);color:var(--clr-fg)}.data-table th{background:var(--clr-bg-subtle);color:var(--clr-fg-muted);font-weight:var(--fw-semibold);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.data-table tbody tr:hover{background:var(--clr-bg-subtle)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.stat-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.stat-value{font-size:28px;font-weight:700;letter-spacing:-.6px;line-height:1;color:var(--clr-fg)}.stat-label{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--clr-fg-muted)}.info-grid{display:grid;gap:var(--space-4)}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-weight:var(--fw-medium);color:var(--clr-fg-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.cluster-between{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}.action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.action-tile{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);text-align:center;text-decoration:none;color:var(--clr-fg);font-size:var(--fs-sm);font-weight:var(--fw-semibold);transition:background .15s,border-color .15s,transform .15s}.action-tile:hover{background:var(--clr-bg-subtle);border-color:var(--clr-sidebar-accent);transform:translateY(-1px)}
