:root{color-scheme:light;--cenit-deep:#0c5a47;--cenit-ink:#03201a;--cenit-night:#0b0f0d;--cenit-teal:#00ae90;--cenit-teal-soft:#5eead4;--chrome-text:#fafafa;--chrome-muted:#9dafaa;--chrome-line:rgba(255,255,255,0.24);--env-active-fg:#1f2727;--bg:#ffffff;--surface-muted:#f3f7f6;--border:#e0ebe8;--fg:#0a0a0a;--muted:#6d7876;--accent:#0c5a47;--focus:#0c5a47;--destructive:#ef4444;--up:#0c5a47;--degraded:#8a5a00;--down:#b42318;--unknown:#6d7876;--inactive:#6d7876;--down-on-dark:#ff8a80;--logo-pulse:#ffffff;--logo-head:#ffffff;--font-sans:Inter,"Helvetica Neue",Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0f1714;--surface-muted:#17211e;--border:#26332e;--fg:#e6efec;--muted:#9dafaa;--accent:#5eead4;--focus:#5eead4;--up:#5eead4;--degraded:#f2b84b;--down:#ff8a80;--unknown:#9dafaa;--inactive:#9dafaa}}:root[data-theme=dark]{color-scheme:dark;--bg:#0f1714;--surface-muted:#17211e;--border:#26332e;--fg:#e6efec;--muted:#9dafaa;--accent:#5eead4;--focus:#5eead4;--up:#5eead4;--degraded:#f2b84b;--down:#ff8a80;--unknown:#9dafaa;--inactive:#9dafaa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:13px;line-height:1.4}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-shell{display:grid;grid-template-columns:52px 232px minmax(0,1fr);grid-template-rows:40px minmax(0,1fr);grid-template-areas:"top top top" "rail side main";min-height:100vh}.app-top{grid-area:top;gap:12px;height:40px;padding:0 12px;background:var(--cenit-deep);color:var(--chrome-text)}.app-top,.app-top-end{display:flex;align-items:center}.app-top-end{gap:4px;margin-left:auto}.app-brand{display:flex;align-items:center;gap:8px;color:var(--chrome-text);text-decoration:none;font-weight:700}.top-sep{color:var(--chrome-line);font-size:16px;font-weight:300;line-height:1}.app-logo{width:22px;height:22px;flex:none}.logo-pulse{stroke:var(--logo-pulse)}.logo-head{fill:var(--logo-head)}.app-range{color:var(--chrome-muted);font-size:12px}.popover{position:relative}.popover-trigger{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border:0;border-radius:6px;background:transparent;color:var(--chrome-text);font:inherit;font-size:13px;font-weight:600}.popover-trigger:hover,.popover-trigger[aria-expanded=true]{background:rgba(255,255,255,.1)}.popover-panel{position:absolute;top:calc(100% + 6px);z-index:20;min-width:200px;padding:4px;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.popover-start{left:0}.popover-end{right:0}.popover-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--fg);font:inherit;font-size:13px;font-weight:500;text-align:left;text-decoration:none;cursor:pointer}.popover-item:hover{background:var(--surface-muted)}.popover-head{display:flex;flex-direction:column;padding:8px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--border)}.popover-name{font-weight:600}.popover-sub{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.popover form{margin:0}.icon-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--chrome-text);cursor:pointer}.icon-button:hover{background:rgba(255,255,255,.1)}.avatar{display:grid;place-items:center;width:28px;height:28px;overflow:hidden;border-radius:50%;background:var(--cenit-teal);color:var(--env-active-fg);font-size:11px;font-weight:700}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.app-rail{grid-area:rail;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0;background:var(--cenit-ink)}.rail-link{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--chrome-muted);text-decoration:none}.rail-link:hover{color:var(--chrome-text);background:rgba(255,255,255,.08)}.rail-link[aria-current=page]{color:var(--chrome-text);background:var(--cenit-deep)}.rail-spacer{flex:1 1}.app-side{grid-area:side;display:flex;flex-direction:column;gap:4px;padding:12px 8px;background:var(--cenit-night);color:var(--chrome-muted);overflow-y:auto}.side-filter input{width:100%;padding:6px 8px;font:inherit;font-size:13px;color:var(--chrome-text);background:var(--cenit-ink);border:1px solid var(--chrome-line);border-radius:6px}.side-filter input::placeholder{color:var(--chrome-muted)}.side-group{margin:12px 4px 4px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--chrome-muted)}.side-list{list-style:none;margin:0;padding:0}.side-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;color:var(--chrome-text);text-decoration:none}.side-list a:hover{background:rgba(255,255,255,.06)}.side-list a[aria-current=page]{color:var(--cenit-teal-soft);background:var(--cenit-ink);font-weight:600}.side-badge{font-size:11px;font-weight:600;color:var(--down-on-dark);white-space:nowrap}.side-empty{margin:8px 4px;color:var(--chrome-muted);font-size:12px}.app-main{grid-area:main;min-width:0;padding:20px 24px;background:var(--bg);color:var(--fg)}@media (max-width:959px){.app-shell{grid-template-columns:52px minmax(0,1fr);grid-template-areas:"top top" "rail main"}.app-side{display:none}}@media (max-width:639px){.app-main{padding:16px}.app-org,.app-range{display:none}}.auth-main{max-width:1100px;margin:0 auto;padding:16px}h1{font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0 0 16px;line-height:1.2}h2{font-size:14px;font-weight:600;margin:20px 0 8px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{text-align:left;padding:0 10px;height:40px;border-bottom:1px solid var(--border);vertical-align:middle}th{height:32px;color:var(--muted);font-size:12px;font-weight:600}tbody tr:hover td{background:var(--surface-muted)}.state{font-weight:600;white-space:nowrap}.state-up{color:var(--up)}.state-degraded{color:var(--degraded)}.state-down{color:var(--down)}.state-inactive,.state-unknown{color:var(--unknown)}.empty,.muted{color:var(--muted)}.empty{padding:24px 0}button{padding:8px 12px;font:inherit;font-size:13px;font-weight:600;border-radius:6px;border:1px solid var(--cenit-deep);background:var(--cenit-deep);color:#ffffff;cursor:pointer}button:disabled{opacity:.6;cursor:wait}button.secondary{background:transparent;color:var(--fg);border-color:var(--border)}.spinner{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.login{max-width:360px;margin:48px auto}.login form{display:flex;flex-direction:column;gap:12px}.login label{font-weight:600;font-size:.9rem}.login input{padding:10px;font-size:1rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg)}.login .error{color:var(--down)}.admin-subnav{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:13px}.admin-subnav a{color:var(--accent)}.admin-card{border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px}.admin-card h2{font-size:1.1rem;margin:0 0 4px}.admin-form{display:grid;grid-gap:10px;gap:10px;max-width:520px;margin-top:12px}.admin-form label{display:grid;grid-gap:4px;gap:4px;font-size:.9rem;font-weight:600}.admin-form label.checkbox{display:flex;align-items:center;gap:8px;font-weight:400}.admin-form input,.admin-form select,.admin-form textarea{padding:8px;font-size:.95rem;font-family:inherit;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg)}.key-once{margin-top:8px;padding:10px;border:1px dashed var(--border);border-radius:6px}.key-once code{word-break:break-all}.readonly-details{display:grid;grid-template-columns:max-content 1fr;grid-gap:4px 16px;gap:4px 16px;margin:8px 0 0}.readonly-details dt{color:var(--muted)}.readonly-details dd{margin:0}