:root{--bg:#0b0d1a;--bg-grad-a:#1b1650;--bg-grad-b:#2a0f3d;--surface:rgba(255,255,255,0.035);--surface-2:rgba(255,255,255,0.06);--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.14);--text:#eceefe;--text-2:#a9adcf;--text-3:#6f7399;--accent:#8b7cff;--ok:#3ddc97;--warn:#f5b84b;--bad:#ff5d73;--unknown:#6f7399;--line-a:#6aa8ff;--line-b:#ff8a5c;--line-c:#3ddc97;--radius:14px;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0}body{font:14px/1.45 var(--font);color:var(--text);background:radial-gradient(1200px 700px at 15% -10%,var(--bg-grad-a),transparent 60%),radial-gradient(900px 600px at 100% 110%,var(--bg-grad-b),transparent 60%),var(--bg);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:600}.muted{color:var(--text-3)}.small{font-size:12px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:20px 12px;border-right:1px solid var(--border);background:rgba(8,9,22,.45)}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:700}.brand-name{font-weight:600}.brand-sub{color:var(--text-3);font-size:12px}.nav{display:flex;flex-direction:column;gap:2px;flex:1 1}.nav-group{margin:16px 8px 4px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.nav-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:8px;color:var(--text-2)}.nav-link.active,.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{box-shadow:inset 2px 0 0 var(--accent)}.btn:focus-visible,.nav-link:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot{padding:0 8px}.clock{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.main{padding:24px 28px 48px;display:flex;flex-direction:column;gap:24px;min-width:0}.status-strip{display:flex;flex-wrap:wrap;gap:8px}.strip-item{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:13px}.strip-item:hover{border-color:var(--border-strong);background:var(--surface-2)}.strip-bad{color:var(--bad);border-color:rgba(255,93,115,.35)}.strip-warn{color:var(--warn);border-color:rgba(245,184,75,.35)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{font-size:24px}.page-sub{color:var(--text-2);margin-top:4px}.section-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:-12px}.grid-auto{grid-gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid-2,.grid-auto{display:grid;gap:16px}.grid-2{grid-gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:14px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.card-title{font-size:16px;margin-top:2px}.badge{font-size:12px;color:var(--text-2);padding:3px 10px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.big{font-size:30px;font-weight:600;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.kpi-label{font-size:12px;color:var(--text-3)}.kpi-value{white-space:nowrap;font-size:20px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px}.tile{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);transition:border-color .15s,background .15s}.tile:hover{border-color:var(--border-strong);background:var(--surface-2)}.tile-body{flex:1 1;min-width:0}.tile-name{font-weight:600}.tile-name,.tile-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-meta,.tile-sub{font-size:12px;color:var(--text-3)}.tile-meta{text-align:right;white-space:nowrap}.tile-meta b{display:block;color:var(--text);font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot-ok{background:var(--ok);box-shadow:0 0 0 3px rgba(61,220,151,.15)}.dot-warn{background:var(--warn);box-shadow:0 0 0 3px rgba(245,184,75,.15)}.dot-bad{background:var(--bad);box-shadow:0 0 0 3px rgba(255,93,115,.18)}.dot-unknown{background:var(--unknown)}.pill,.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2)}.pill{padding:4px 10px;border-radius:999px;border:1px solid var(--border)}.pill-ok{color:var(--ok)}.pill-warn{color:var(--warn);border-color:rgba(245,184,75,.35)}.pill-bad{color:var(--bad);border-color:rgba(255,93,115,.35)}.dom-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:8px;gap:8px}.dom-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.dom-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issues{display:flex;flex-direction:column;gap:6px}.issue{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.issue-bad{border-color:rgba(255,93,115,.3)}.issue-warn{border-color:rgba(245,184,75,.25)}.issue a{color:var(--text-2);margin-left:auto;font-size:12px;white-space:nowrap}.issue a:hover{color:var(--text)}.rings{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.ring{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:10px;background:var(--surface);border:1px solid var(--border)}.ring-track{stroke:rgba(255,255,255,.08)}.ring-bar,.ring-track{fill:none;stroke-width:5}.ring-bar{stroke-linecap:round;transition:stroke-dasharray .4s}.ring-ok{stroke:var(--accent)}.ring-warn{stroke:var(--warn)}.ring-bad{stroke:var(--bad)}.ring-muted{stroke:transparent}.ring-text{fill:var(--text);font-size:13px;font-weight:600}.ring-label{font-size:12px;font-weight:600}.ring-sub{font-size:11px;color:var(--text-3);text-align:center}.chart{display:flex;flex-direction:column;gap:6px}.chart .grid{stroke:rgba(255,255,255,.06)}.chart .axis{fill:var(--text-3);font-size:10px}.line{fill:none;stroke-width:2;stroke-linejoin:round}.line-a{stroke:var(--line-a);background:var(--line-a)}.line-b{stroke:var(--line-b);background:var(--line-b)}.line-c{stroke:var(--line-c);background:var(--line-c)}.x-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-3);padding-left:36px}.legend{display:flex;gap:14px;font-size:12px;color:var(--text-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:10px;height:3px;border-radius:2px;display:inline-block}.bar{height:6px;background:rgba(255,255,255,.08);overflow:hidden}.bar,.bar-fill{border-radius:3px}.bar-fill{height:100%}.bar-ok{background:var(--accent)}.bar-warn{background:var(--warn)}.bar-bad{background:var(--bad)}.ribbon{display:flex;gap:2px}.rb{flex:1 1;height:14px;border-radius:3px;min-width:2px}.rb-ok{background:var(--ok)}.rb-warn{background:var(--warn)}.rb-bad{background:var(--bad)}.rb-none{background:rgba(255,255,255,.07)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.seg-item{padding:7px 12px;font-size:12px;color:var(--text-2)}.seg-item:hover,.seg-on{background:var(--surface-2)}.seg-on{color:var(--text);box-shadow:inset 0 0 0 1px var(--accent)}.table-wrap{overflow-x:auto;margin:0 -4px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-weight:500;color:var(--text-3);font-size:12px;padding:6px 8px;white-space:nowrap}td,th{border-bottom:1px solid var(--border)}td{padding:8px;vertical-align:middle}tr:last-child td{border-bottom:0}td.r,th.r{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell-main{display:flex;align-items:center;gap:8px}.btn{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);padding:8px 14px;border-radius:10px;cursor:pointer}.btn:hover{background:rgba(255,255,255,.1)}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--accent);border-color:transparent;color:#fff}.btn-primary:hover{background:#7a6af5}.btn-sm{padding:4px 10px;font-size:12px;border-radius:8px}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-3)}.actions{white-space:nowrap}.form-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.form-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2)}.form-row input,.form-row select{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:8px;padding:8px 10px;min-width:0}.form-row input:focus-visible,.form-row select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.form-error{grid-column:1/-1;color:var(--bad);font-size:13px}.login{min-height:100vh;display:grid;place-items:center;padding:16px;width:100%}.login .card{width:min(360px,100%)}.login .form-row{grid-template-columns:1fr}.push{margin-left:auto;flex:none}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filters input,.filters select{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:8px;padding:7px 10px;min-width:0}.filters input{flex:1 1 180px}.filters input:focus-visible,.filters select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chk{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--text-2);white-space:nowrap}.inc-list{gap:8px}.inc,.inc-list{display:flex;flex-direction:column}.inc{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;gap:6px}.inc-bad{border-color:rgba(255,93,115,.3)}.inc-warn{border-color:rgba(245,184,75,.25)}.inc-closed{opacity:.75}.inc-head{display:flex;align-items:baseline;gap:10px}.inc-text{flex:1 1;min-width:0}.inc-meta{gap:12px}.inc-actions,.inc-meta{display:flex;flex-wrap:wrap;align-items:center}.inc-actions{gap:8px}.inc-note-row{display:flex;gap:8px;flex:1 1 100%}.inc-note-row input{flex:1 1;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:8px;padding:6px 10px;min-width:0}.log{max-height:320px;overflow:auto;font:12px/1.4 ui-monospace,Menlo,monospace;background:rgba(0,0,0,.3);padding:10px;border-radius:8px;white-space:pre-wrap;word-break:break-all}.empty{color:var(--text-3);padding:12px;border:1px dashed var(--border);text-align:center}.empty,.note{border-radius:10px}.note{padding:12px 14px;background:rgba(245,184,75,.08);border:1px solid rgba(245,184,75,.25);color:var(--text-2)}@media (max-width:1100px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{min-width:0;position:static;height:auto;border-right:0;border-bottom:1px solid var(--border);padding:12px 16px}.nav{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:4px}.nav-group,.sidebar-foot{display:none}.nav-link{white-space:nowrap}.main{padding:16px}.grid-2,.grid-3{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}