.brand-lockup{display:flex;align-items:center;gap:.65rem}.brand-lockup img{display:block;width:2.75rem;height:2.75rem;object-fit:contain}.brand-wordmark{display:block;width:min(15rem,100%);height:auto;margin-bottom:1.25rem}.brand-lockup strong{margin-right:.1rem}@media(max-width:40rem){.brand-lockup .badge{display:none}}:root{color-scheme:light;--navy-50: #eff4f8;--navy-100: #dce6ee;--navy-200: #b7ccdc;--navy-300: #8caec6;--navy-400: #5d87a3;--navy-500: #3c6683;--navy-600: #294d66;--navy-700: #1b384d;--navy-800: #10283a;--navy-900: #081b28;--green-50: #f0f6ea;--green-100: #dcebcb;--green-300: #93be6c;--green-500: #55882f;--green-700: #305019;--gray-50: #f7f9fa;--gray-100: #eef2f4;--gray-200: #dee5e9;--gray-300: #c3ced4;--gray-400: #98a7af;--gray-500: #71828c;--gray-600: #54636c;--gray-700: #3e4a52;--gray-800: #29323a;--gray-900: #171e24;--status-good: #0ca30c;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #d03b3b;--color-bg: var(--gray-50);--color-surface: #ffffff;--color-surface-sunken: var(--gray-100);--color-border: var(--gray-200);--color-text-primary: var(--navy-900);--color-text-secondary: var(--gray-600);--color-text-muted: var(--gray-500);--color-primary: var(--navy-700);--color-primary-hover: var(--navy-800);--color-primary-contrast: #ffffff;--color-accent: var(--green-500);--color-header-bg: var(--navy-900);--color-header-text: #ffffff;--radius: .65rem;--radius-sm: .4rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--color-text-primary);background:var(--color-bg)}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--color-bg: #0b1116;--color-surface: #131b22;--color-surface-sunken: #182029;--color-border: rgba(255, 255, 255, .1);--color-text-primary: #ffffff;--color-text-secondary: var(--gray-300);--color-text-muted: var(--gray-400);--color-primary: var(--navy-400);--color-primary-hover: var(--navy-300);--color-primary-contrast: var(--navy-900);--color-accent: var(--green-300);--color-header-bg: #050a0f;--color-header-text: #ffffff}}:root[data-theme=dark]{color-scheme:dark;--color-bg: #0b1116;--color-surface: #131b22;--color-surface-sunken: #182029;--color-border: rgba(255, 255, 255, .1);--color-text-primary: #ffffff;--color-text-secondary: var(--gray-300);--color-text-muted: var(--gray-400);--color-primary: var(--navy-400);--color-primary-hover: var(--navy-300);--color-primary-contrast: var(--navy-900);--color-accent: var(--green-300);--color-header-bg: #050a0f;--color-header-text: #ffffff}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button-link{cursor:pointer;border:0;border-radius:var(--radius-sm);padding:.65rem .9rem;background:var(--color-primary);color:var(--color-primary-contrast);text-decoration:none;font-weight:600;transition:background-color .15s ease}button:not(:disabled):hover,.button-link:hover{background:var(--color-primary-hover)}button:disabled{cursor:not-allowed;opacity:.55}.button-danger{background:var(--status-critical)}.button-danger:not(:disabled):hover{background:#b32f2f}.item-actions{display:flex;gap:.5rem;margin-top:.6rem}.alert-banner{background:color-mix(in srgb,var(--status-critical) 12%,var(--color-surface));color:var(--status-critical);border:1px solid color-mix(in srgb,var(--status-critical) 35%,transparent);border-radius:var(--radius);padding:.9rem 1rem;margin-bottom:1.5rem}.alert-banner strong{color:var(--color-text-primary)}.alert-banner ul{margin:.4rem 0 0;padding-left:1.1rem}.shell{min-height:100vh;display:grid;grid-template:auto 1fr / 15rem minmax(0,1fr)}header{grid-column:1 / -1;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1.5rem;background:var(--color-header-bg);color:var(--color-header-text)}header strong{font-size:1.25rem;margin-right:.75rem}.header-actions{display:flex;align-items:center;gap:.7rem}.header-actions select{background:#ffffff14;color:var(--color-header-text);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);padding:.45rem .6rem}.header-actions select:disabled{opacity:.6}.badge,.notice{display:inline-block;background:color-mix(in srgb,var(--status-warning) 22%,var(--color-surface));color:#6b4a06;padding:.3rem .55rem;border-radius:var(--radius-sm)}.connection{text-transform:capitalize;font-size:.85rem}.connection.connected{color:#8fe8ac}.connection.recovering,.connection.connecting{color:#ffd76e}.connection.disconnected{color:#ff9c9c}aside{padding:1rem;background:var(--color-surface-sunken);border-right:1px solid var(--color-border)}nav{display:grid;gap:.35rem}nav a{color:var(--color-text-primary);padding:.65rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:500}nav a.active,nav a:focus-visible{background:var(--color-surface);outline:2px solid var(--color-primary)}main{padding:clamp(1rem,4vw,3rem);overflow:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-heading h1{margin:0 0 .5rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem}.metric,.panel,.list>article,.list>button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:1rem}.metric span,.list span{display:block;color:var(--color-text-secondary);font-size:.85rem}.metric strong{display:block;margin-top:.35rem;font-size:1.35rem}.telemetry{margin-bottom:1.5rem}.two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;margin-top:1.5rem}.panel h2{margin-top:0}.empty{color:var(--color-text-secondary)}.list{display:grid;gap:.8rem}.list>button{color:inherit;text-align:left}.list>button.selected{outline:3px solid var(--color-primary)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:var(--color-surface)}th,td{padding:.8rem;border-bottom:1px solid var(--color-border);text-align:left}.history{height:12rem;display:flex;gap:.2rem;align-items:flex-end;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.history span{flex:1;min-width:.2rem;background:var(--color-primary);border-radius:.2rem .2rem 0 0}.form{display:grid;gap:1rem;max-width:35rem}.form label{display:grid;gap:.35rem}.form input,.form select{border:1px solid var(--gray-300);border-radius:var(--radius-sm);padding:.6rem;background:var(--color-surface);color:var(--color-text-primary)}.form input:focus-visible,.form select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.form .checkbox{grid-template-columns:auto 1fr;align-items:start}.login{max-width:38rem;margin:12vh auto;padding:2rem;background:#fff;color:var(--navy-900);border:1px solid var(--gray-200);border-radius:.75rem}.login button{background:var(--navy-700);color:#fff}.login button:hover{background:var(--navy-800)}.home{min-height:100vh;background:var(--color-header-bg);color:var(--color-header-text);display:flex;flex-direction:column}.home-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem clamp(1.5rem,5vw,4rem)}.home-hero{flex:1;display:flex;align-items:center;padding:2rem clamp(1.5rem,5vw,4rem) 4rem}.home-hero-inner{max-width:42rem}.home-hero h1{font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.1;margin:0 0 1rem}.home-hero p{font-size:1.15rem;color:var(--gray-200);max-width:34rem;margin:0 0 2rem}.home-header button,.home-hero button{background:var(--green-300);color:var(--navy-900)}.home-header button:hover,.home-hero button:hover{background:#a8cf82}.home-features{background:var(--color-bg);color:var(--color-text-primary);padding:3rem clamp(1.5rem,5vw,4rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem}.home-features article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem}.home-features h2{margin:0 0 .5rem;font-size:1.1rem;color:var(--color-primary)}.home-features p{margin:0;color:var(--color-text-secondary)}@media(max-width:760px){.shell{grid-template:auto auto 1fr / 1fr}header{grid-column:1;align-items:flex-start;flex-direction:column}aside{overflow-x:auto}nav{display:flex}nav a{white-space:nowrap}.page-heading{flex-direction:column}}
