@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Ubuntu-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Ubuntu-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Ubuntu-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Ubuntu-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Ubuntu-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Ubuntu-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UbuntuMono-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/UbuntuMono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Ubuntu Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/UbuntuMono-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Ubuntu Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/UbuntuMono-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #ffffff;--bg-2: #f4f6fa;--bg-3: #e9edf3;--border: #d5dbe5;--text: #16181d;--text-muted: #5b6472;--accent: #2b6fd6;--accent-text: #ffffff;--ok: #1f9d55;--warn: #d28a08;--err: #d33f3f;--violet: #7a4fd6;--grey: #8a93a1;--on-ok: #0e1320;--on-err: #ffffff;--on-violet: #ffffff;--on-grey: #0e1320;--on-warn: #1a1a1a;--ok-text: #0f6b39;--warn-text: #7a5100;--err-text: #b3261e;--violet-text: #5b35b0;--grey-text: #4d5563;--accent-fg: #1b53a8;--focus: #1b53a8;--brand-canary: #C2580D;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius: 10px;--shadow: 0 6px 24px rgba(0, 0, 0, .12);--gradient-accent: linear-gradient(90deg, var(--accent) 0%, #7dd3fc 100%);--glow: radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 38%);--font: Ubuntu, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "Ubuntu Mono", ui-monospace, Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px}:root[data-theme=dark]{--bg: #0b1220;--bg-2: #121a2c;--bg-3: #1b2740;--border: #273552;--text: #e7eaf3;--text-muted: #9aa3b8;--accent: #61a5fa;--accent-text: #0e1320;--ok: #3ccb7f;--warn: #f2b13d;--err: #ff6b6b;--violet: #a78bfa;--grey: #7f8798;--on-ok: #0e1320;--on-err: #0e1320;--on-violet: #0e1320;--on-grey: #0e1320;--on-warn: #1a1a1a;--ok-text: #5fe0a0;--warn-text: #f5c05e;--err-text: #ff8f8f;--violet-text: #c0aaff;--grey-text: #a6adbd;--accent-fg: #8ec2ff;--focus: #8ec2ff;--brand-canary: #F08A3C;--shadow: 0 8px 28px rgba(0, 0, 0, .45);--glow: radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--accent) 16%, transparent) 0%, transparent 40%)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font)}a{color:var(--accent);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{color-scheme:light}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);max-width:100%}select:not([multiple]){padding-right:28px}option{background:var(--bg);color:var(--text)}select[multiple] option{padding:4px 8px}::placeholder{color:var(--text-muted);opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:15px;height:15px;margin:0 6px 0 0;vertical-align:-2px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100%;background:var(--glow),var(--bg);background-attachment:fixed}.sidebar{background:color-mix(in srgb,var(--bg-2) 85%,transparent);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidebar .brand{font-weight:700;margin:4px 8px 16px}.sidebar a{display:block;padding:8px 10px;border-radius:var(--radius);color:var(--text)}.sidebar a.active,.sidebar a:hover{background:var(--bg-3)}.sidebar .spacer{flex:1}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--border);background:var(--bg-2)}.topbar h1{font-size:var(--text-xl);margin:0;flex:1;position:relative;padding-bottom:6px}.topbar h1:after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;border-radius:2px;background:var(--gradient-accent)}.topbar-user{display:inline-flex;align-items:center;gap:6px}.tenant-switch{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm)}.tenant-switch select{padding:4px 8px}.tenant-switch-away select{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}.btn-icon{padding-inline:7px}.btn>.icon{vertical-align:-3px;margin-right:6px}.btn-icon>.icon{margin-right:0}.icon{flex-shrink:0;pointer-events:none}.content{padding:var(--space-5)}.pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:var(--bg-3);font-size:var(--text-xs)}.pill:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grey)}.pill-connected:before{background:var(--ok)}.pill-reconnecting:before{background:var(--warn)}.pill-disconnected:before{background:var(--err)}.btn{border:1px solid var(--border);background:var(--bg-3);border-radius:var(--radius);padding:7px 12px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:hover:not(:disabled){border-color:var(--text-muted)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:transparent}.btn-danger{background:var(--err);color:var(--on-err);border-color:transparent}.btn-danger-quiet{background:transparent;color:var(--err-text);border-color:transparent}.btn-danger-quiet:hover:not(:disabled),.btn-danger-quiet:focus-visible{background:var(--err);color:var(--on-err);border-color:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled),.btn-ghost:focus-visible{background:var(--bg-3);border-color:var(--border);color:var(--text)}.btn-sm{padding:3px 8px;font-size:var(--text-xs)}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--text-xs);font-weight:600;text-transform:none}.badge-online{background:var(--ok);color:var(--on-ok)}.badge-degraded{background:var(--warn);color:var(--on-warn)}.badge-offline{background:var(--err);color:var(--on-err)}.badge-not-accessible{background:var(--violet);color:var(--on-violet)}.badge-unknown,.badge-queued,.badge-waiting-device{background:var(--grey);color:var(--on-grey)}.badge-waiting-window{background:var(--warn);color:var(--on-warn)}.badge-running{background:var(--accent);color:var(--accent-text)}.badge-done{background:var(--ok);color:var(--on-ok)}.badge-failed{background:var(--err);color:var(--on-err)}.badge-cancelled{background:var(--grey);color:var(--on-grey)}.badge-guarded{background:var(--warn);color:var(--on-warn)}.guard-banner{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3);border-left:3px solid var(--warn);border-radius:6px;background:var(--bg-3);color:var(--text)}.guard-banner>:first-child{flex:1}.card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.search{position:relative;display:inline-flex;align-items:center;flex:0 1 320px;min-width:160px}.search>.icon{position:absolute;left:10px;color:var(--text-muted)}.search>input{width:100%;text-indent:24px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.site-title{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-size:var(--text-sm)}.kv dt{color:var(--text-muted)}.kv dd{margin:0}.muted{color:var(--text-muted)}.mono{font-family:var(--mono)}.hint{color:var(--text-muted);font-size:var(--text-xs);margin:4px 0 0;line-height:1.4}.field+.hint{margin-top:-8px;margin-bottom:12px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}.table th{color:var(--text-muted);font-weight:600;font-size:var(--text-xs)}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field label{font-size:var(--text-xs);color:var(--text-muted)}.field input,.field select,.field textarea{padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.field .error{color:var(--err-text);font-size:var(--text-xs)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.dialog{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;box-shadow:var(--shadow)}.dialog header{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.dialog header h2{margin:0;font-size:var(--text-lg);flex:1}.dialog .body{padding:18px}.dialog footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--border)}.toasts{position:fixed;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast{padding:10px 14px;border-radius:var(--radius);background:var(--bg-3);border-left:4px solid var(--grey);box-shadow:var(--shadow);min-width:240px}.toast-success{border-left-color:var(--ok)}.toast-error{border-left-color:var(--err)}.toast-info{border-left-color:var(--accent)}.tray{position:fixed;right:12px;bottom:12px;width:320px;z-index:40}.progress{height:6px;background:var(--bg-3);border-radius:3px;overflow:hidden}.progress>div{height:100%;background:var(--accent)}.log{font-family:var(--mono);font-size:var(--text-xs);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px;max-height:400px;overflow:auto;white-space:pre-wrap}.log .error{color:var(--err-text)}.empty{padding:40px;text-align:center;color:var(--text-muted)}.actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.actions>input[type=text],.actions>input:not([type]){flex:0 1 320px;min-width:160px}.actions>.field{flex:1 1 180px;margin-bottom:0}.actions:has(>.field){align-items:flex-start;margin-bottom:var(--space-3)}.actions:has(>.field)>.btn{margin-top:22px}.actions>.field>.muted{font-size:var(--text-xs)}.actions-row{flex-wrap:nowrap;justify-content:flex-end;gap:var(--space-1)}.table-dense td.col-actions,.table-dense thead th.col-actions{width:1px;white-space:nowrap}.login{min-height:100%;display:grid;place-items:center}.login .card{width:min(380px,calc(100vw - 32px))}@media(max-width:720px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--border)}.sidebar .brand{width:100%;margin-bottom:6px}.sidebar .spacer{display:none}.form-row{grid-template-columns:1fr}.tray{width:calc(100vw - 24px)}}.badge-ok{background:var(--ok);color:var(--on-ok)}.badge-never{background:var(--grey);color:var(--on-grey)}.badge-overdue{background:var(--warn);color:var(--on-warn)}.badge-unscheduled{background:var(--bg-3);color:var(--text-muted)}.diff{font-family:var(--mono);font-size:var(--text-xs);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px;max-height:60vh;overflow:auto;white-space:pre}.diff-add{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok-text);display:block}.diff-del{background:color-mix(in srgb,var(--err) 14%,transparent);color:var(--err-text);display:block}.diff-hunk{color:var(--text-muted);display:block}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}@media(pointer:coarse){.btn-sm{min-height:44px;padding-inline:12px}.sidebar a{min-height:44px;display:flex;align-items:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.stat-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:2px;text-align:left}.stat-card-button{cursor:pointer;font:inherit;transition:border-color .15s ease,background-color .15s ease,transform .15s ease,box-shadow .15s ease}.stat-card-button:hover{border-color:var(--text-muted);transform:translateY(-1px);box-shadow:var(--shadow)}.stat-card{position:relative;padding-top:var(--space-3)}.stat-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;margin-bottom:6px;background:color-mix(in srgb,var(--text-muted) 14%,transparent);color:var(--text-muted)}.stat-icon-ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok-text)}.stat-icon-warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn-text)}.stat-icon-err{background:color-mix(in srgb,var(--err) 16%,transparent);color:var(--err-text)}.stat-icon-violet{background:color-mix(in srgb,var(--violet) 16%,transparent);color:var(--violet-text)}.stat-icon-muted{background:color-mix(in srgb,var(--grey) 16%,transparent);color:var(--grey-text)}.stat-card-total .stat-icon{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-fg)}.stat-card-zero .stat-icon{opacity:.6}.stat-card-button{border-top-width:3px}.stat-tone-ok{border-top-color:var(--ok)}.stat-tone-warn{border-top-color:var(--warn)}.stat-tone-err{border-top-color:var(--err)}.stat-tone-violet{border-top-color:var(--violet)}.stat-tone-muted{border-top-color:var(--grey)}.stat-card-zero .stat-value{color:var(--text-muted);font-weight:600}.stat-card-zero{border-top-color:var(--border)}.stat-card-button.active{border-color:var(--accent);background:var(--bg-3)}.stat-value{font-size:26px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat-ok{color:var(--ok-text)}.stat-warn{color:var(--warn-text)}.stat-err{color:var(--err-text)}.stat-violet{color:var(--violet-text)}.stat-muted{color:var(--text-muted)}.stat-label{font-size:var(--text-xs);color:var(--text-muted)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.seg-btn{border:0;background:var(--bg-2);color:var(--text-muted);padding:5px 12px;cursor:pointer;transition:background-color .15s ease,color .15s ease;display:inline-flex;align-items:center;gap:6px}.seg-btn.active{background:var(--bg-3);color:var(--text);font-weight:600}.table-dense th,.table-dense td{padding:6px 10px}.table-dense .mono,.table-dense .num{white-space:nowrap}.table-dense .num{text-align:right;font-variant-numeric:tabular-nums}.table-dense thead th{text-transform:uppercase;letter-spacing:.04em;font-size:11px}.table-dense thead th{position:sticky;top:0;z-index:2;background:var(--bg)}.table-dense .group-row th{background:var(--bg-3);color:var(--text);font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:6px 10px}.table-dense tbody tr:hover td{background:var(--bg-2)}.table-dense tr.stale td{opacity:.55}.table-dense .error-row td{background:var(--bg-2);white-space:normal}.row-error{color:var(--err-text);font-size:var(--text-xs);padding:2px 0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;background:var(--bg-3);color:var(--text);border:1px solid transparent}.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.badge-online,.badge-done,.badge-ok{color:var(--ok-text);background:color-mix(in srgb,var(--ok) 15%,transparent);border-color:color-mix(in srgb,var(--ok) 35%,transparent)}.badge-offline,.badge-failed{color:var(--err-text);background:color-mix(in srgb,var(--err) 15%,transparent);border-color:color-mix(in srgb,var(--err) 35%,transparent)}.badge-degraded,.badge-overdue,.badge-waiting-window,.badge-guarded{color:var(--warn-text);background:color-mix(in srgb,var(--warn) 15%,transparent);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.badge-not-accessible{color:var(--violet-text);background:color-mix(in srgb,var(--violet) 15%,transparent);border-color:color-mix(in srgb,var(--violet) 35%,transparent)}.badge-unknown,.badge-queued,.badge-waiting-device,.badge-cancelled,.badge-never{color:var(--grey-text);background:color-mix(in srgb,var(--grey) 15%,transparent);border-color:color-mix(in srgb,var(--grey) 35%,transparent)}.badge-running{color:var(--accent-fg);background:color-mix(in srgb,var(--accent) 15%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.badge-unscheduled{color:var(--text-muted);background:var(--bg-3);border-color:var(--border)}.badge.status{padding:0;background:none;border:0;border-radius:0;gap:8px;font-size:var(--text-sm);font-weight:500;color:var(--text);white-space:nowrap}.badge.status:before{width:8px;height:8px;background:var(--dot, var(--grey));box-shadow:0 0 0 3px color-mix(in srgb,var(--dot, var(--grey)) 22%,transparent)}.status.badge-online,.status.badge-done,.status.badge-ok{--dot: var(--ok)}.status.badge-offline,.status.badge-failed{--dot: var(--err);color:var(--err-text);font-weight:600}.status.badge-degraded,.status.badge-overdue,.status.badge-waiting-window{--dot: var(--warn)}.status.badge-not-accessible{--dot: var(--violet)}.status.badge-unknown,.status.badge-queued,.status.badge-waiting-device,.status.badge-cancelled,.status.badge-never{--dot: var(--grey);color:var(--text-muted)}.status.badge-unscheduled{--dot: transparent;color:var(--text-muted)}.status.badge-unscheduled:before{box-shadow:inset 0 0 0 1.5px var(--grey)}.status.badge-running{--dot: var(--accent)}.status.badge-running:before{animation:status-pulse 1.6s ease-in-out infinite}@keyframes status-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 8%,transparent)}}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-section+.nav-section{margin-top:var(--space-4)}.nav-section-title{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);padding:0 10px;margin-bottom:var(--space-1)}.sidebar a{display:flex;align-items:center;gap:10px;transition:background-color .15s ease,color .15s ease}.sidebar a.active{background:var(--bg-3);color:var(--accent-fg);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}.nav-icon{flex:none;opacity:.8}.sidebar a.active .nav-icon{opacity:1}.sidebar a{padding:8px 10px}@media(max-width:720px){.table-wrap>.table-dense tr:not(.error-row)>td{white-space:nowrap}.nav-section-title{display:none}.nav-section{flex-direction:row;flex-wrap:wrap;gap:4px}.nav-section+.nav-section{margin-top:0}}.health{display:grid;grid-template-columns:minmax(200px,auto) 1fr auto;gap:var(--space-5);align-items:center;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.health-verdict{display:flex;align-items:center;gap:var(--space-3)}.health-glyph{width:40px;height:40px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center}.health-glyph-ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok-text)}.health-glyph-warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn-text)}.health-glyph-err{background:color-mix(in srgb,var(--err) 16%,transparent);color:var(--err-text)}.health-glyph-muted{background:color-mix(in srgb,var(--grey) 16%,transparent);color:var(--grey-text)}.health-title{font-weight:600}.health-sub,.health-bar-label,.health-fact-label{font-size:var(--text-xs)}.health-bar-label{display:flex;justify-content:space-between;margin-bottom:4px}.health-bar{height:6px;background:var(--bg-3);border-radius:3px;overflow:hidden;display:flex}.health-seg{height:100%;transition:width .3s ease}.health-seg-ok{background:var(--ok)}.health-seg-warn{background:var(--warn)}.health-facts{display:flex;gap:var(--space-5)}.health-fact-value{font-weight:600}@media(max-width:720px){.health{grid-template-columns:1fr;gap:var(--space-3)}}.brand{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.brand-mark{grid-row:1 / span 2;color:var(--text)}.wordmark{font-weight:700;font-size:19px;letter-spacing:-.02em;line-height:1;color:var(--text)}.wordmark em{font-style:normal;font-weight:600;color:var(--accent);background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-sub{display:flex;gap:8px;align-items:baseline;margin-top:3px}.brand-by{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.brand-version{font-size:11px;font-weight:400;color:var(--text-muted);font-variant-numeric:tabular-nums}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-4)}.login-brand .brand-mark{color:var(--text)}.login-brand h1{margin:0;font-size:26px;line-height:1}.login-brand .wordmark{font-size:26px}.login-brand .brand-by{display:block;margin-top:5px}.login-lede{color:var(--text-muted);margin:0 0 var(--space-4);font-size:var(--text-sm)}.nav-footer{display:flex;flex-direction:column;gap:4px;padding:0 2px}.nav-footer-note{font-size:11px}@media(max-width:720px){.nav-footer-note{display:none}}.picker{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);max-height:264px;overflow-y:auto;margin:4px 0 0}.picker-row{display:flex;align-items:center;gap:var(--space-3);padding:7px 10px;border-bottom:1px solid var(--border);cursor:pointer;transition:background-color .12s ease}.picker-row:last-child{border-bottom:0}.picker-row:hover{background:var(--bg-2)}.picker-row.selected{background:color-mix(in srgb,var(--accent) 12%,transparent)}.picker-row input{flex:none}.picker-name{font-weight:600}.picker-identity{color:var(--text-muted)}.picker-meta{margin-left:auto;display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;justify-content:flex-end}.picker-empty{padding:14px;color:var(--text-muted)}.picker-bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:4px}.picker-bar>label{display:inline-flex;align-items:center;gap:6px}.picker-bar .spacer{flex:1}.picker-count{color:var(--text-muted);font-size:var(--text-xs)}.chart{margin:0 0 var(--space-3)}.chart svg{width:100%;height:auto;display:block;touch-action:pan-y}.chart-title{font-size:var(--text-sm);font-weight:600;display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.chart-key{font-weight:400;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}.chart-key i{width:10px;height:3px;border-radius:2px;display:inline-block}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{fill:var(--text-muted);font-size:11px}.chart-cursor{stroke:var(--text-muted);stroke-dasharray:3 3}.chart-readout{font-size:var(--text-xs);color:var(--text-muted);min-height:1.4em}.chart-picker{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.chart-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm);padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--bg);cursor:pointer}.usage-charts{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}@media(max-width:900px){.usage-charts{grid-template-columns:minmax(0,1fr)}}.pie-body{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.chart .pie-svg{width:168px;height:168px;flex:none}.pie-total{fill:var(--text);font-size:13px;font-weight:600}.pie-legend{list-style:none;margin:0;padding:0;flex:1;min-width:180px;font-size:var(--text-sm)}.pie-legend li{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:2px 4px;border-radius:6px}.pie-legend li.active{background:var(--bg-3)}.pie-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}.pie-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.topbar-user{color:var(--text-muted);text-decoration:none;border-radius:var(--radius);padding:2px 4px}a.topbar-user:hover,a.topbar-user:focus-visible{color:var(--text);background:var(--bg-3)}.totp-qr{display:block;margin:8px 0;padding:8px;background:#fff;border-radius:var(--radius)}.totp-secret{display:block;margin:4px 0 12px;padding:6px 8px;background:var(--bg-3);border-radius:var(--radius);word-break:break-all;-webkit-user-select:all;user-select:all;letter-spacing:.05em}.recovery-codes-list{display:grid;grid-template-columns:repeat(2,max-content);gap:4px 24px;margin:12px 0;padding:10px 14px 10px 34px;background:var(--bg-3);border-radius:var(--radius)}.recovery-codes .actions{margin-bottom:12px}.recovery-codes-done{width:100%}.login-step-links{display:flex;justify-content:space-between;gap:8px;margin-top:12px}.twofa-section+.twofa-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}
