:root{--bg: #f5f7fa;--panel: #ffffff;--text: #18212f;--muted: #667388;--line: #e4e9f0;--hover: #f0f4fa;--accent: #2563eb;--accent-text: #ffffff;--side: #111a2b;--side-text: #aab6c8;--side-active: #ffffff;--on: #16a34a;--off: #94a0b3;--bad: #dc2626;--warn: #d97706;--b-new: #2563eb;--b-open: #7c3aed;--b-pending: #d97706;--b-resolved: #16a34a;--b-closed: #667388;--b-low: #667388;--b-normal: #2563eb;--b-high: #d97706;--b-urgent: #dc2626;--b-in_use: #16a34a;--b-stock: #2563eb;--b-repair: #d97706;--b-retired: #667388;--b-active: #16a34a;--b-expiring: #d97706;--b-expired: #dc2626;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #0d121b;--panel: #151c28;--text: #e6ebf2;--muted: #8a96a8;--line: #232d3c;--hover: #1b2433;--accent: #4c8dff;--accent-text: #08111f;--side: #0a0f17}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);cursor:pointer;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0}h2{font-size:20px;font-weight:650}h3{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}h3.section{margin:26px 0 10px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{background:var(--side);color:var(--side-text);display:flex;flex-direction:column;padding:14px 10px;position:sticky;top:0;height:100vh}.brand{color:#fff;font-weight:700;font-size:17px;padding:6px 12px 16px;letter-spacing:.01em}.brand span{color:var(--accent)}.sidebar a{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;color:var(--side-text)}.sidebar a:hover{background:#ffffff0f;text-decoration:none;color:#fff}.sidebar a.active{background:#4c8dff2e;color:var(--side-active)}.sidebar i{font-style:normal;width:18px;text-align:center;opacity:.85}.sp{flex:1}main{padding:24px 32px 48px;max-width:1280px;width:100%}.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 16px}.bar h2{display:flex;align-items:center;gap:8px}.back{display:inline-block;margin-bottom:4px;color:var(--muted)}.muted{color:var(--muted)}.num{color:var(--muted);font-variant-numeric:tabular-nums}.mono{font-family:ui-monospace,monospace;font-size:12px}.err{color:var(--bad)}.note{padding:9px 14px;border-left:3px solid var(--accent);background:var(--panel);border-radius:0 6px 6px 0;margin:0 0 14px}.late-text{color:var(--bad);font-weight:600}.warn-text{color:var(--warn);font-weight:600}.empty{text-align:center;color:var(--muted);padding:28px!important}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}table{border-collapse:collapse;width:100%}table.card{padding:0;overflow:hidden}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}th{color:var(--muted);font-weight:500;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;background:color-mix(in srgb,var(--line) 35%,transparent)}table.clickable tbody tr{cursor:pointer}table.clickable tbody tr:hover{background:var(--hover)}tr.late td:first-child{box-shadow:inset 3px 0 var(--bad)}tr.sel{background:var(--hover)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--off)}.dot.on{background:var(--on)}.dot.none{background:transparent;border:1.5px solid var(--off)}.badge{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:550;text-transform:capitalize;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.b-new{--c: var(--b-new)}.b-open{--c: var(--b-open)}.b-pending{--c: var(--b-pending)}.b-resolved{--c: var(--b-resolved)}.b-closed{--c: var(--b-closed)}.b-low{--c: var(--b-low)}.b-normal{--c: var(--b-normal)}.b-high{--c: var(--b-high)}.b-urgent{--c: var(--b-urgent)}.b-breach{--c: var(--bad)}.b-in_use{--c: var(--b-in_use)}.b-stock{--c: var(--b-stock)}.b-repair{--c: var(--b-repair)}.b-retired{--c: var(--b-retired)}.b-active{--c: var(--b-active)}.b-expiring{--c: var(--b-expiring)}.b-expired{--c: var(--b-expired)}button{font:inherit;padding:6px 14px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}button:hover:not(:disabled){background:var(--hover)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:550}button.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}input,select,textarea{font:inherit;width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}textarea{font-family:inherit;resize:vertical}.inline{display:flex;gap:8px;align-items:center}.inline input{width:220px}.filters{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}.filters input{max-width:340px}.filters select{width:auto;min-width:150px}.check{display:flex;align-items:center;gap:6px;color:var(--muted)}.check input{width:auto}.field{display:grid;gap:4px;margin-bottom:12px}.field>span,.lbl{color:var(--muted);font-size:12px}.form .cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0 16px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.preview{min-height:300px;margin:4px 0 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.wide{grid-column:1 / -1}.detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.side dl,dl{display:grid;grid-template-columns:104px 1fr;gap:6px 12px;margin:0}dt{color:var(--muted)}dd{margin:0;word-break:break-word}ul.plain{list-style:none;padding:0;margin:0;display:grid;gap:8px}.pre{white-space:pre-wrap;margin:0}.timeline{display:grid;gap:10px;margin:0 0 16px}.msg{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 16px}.msg p{margin:6px 0 0;white-space:pre-wrap}.msg.note{background:color-mix(in srgb,var(--warn) 9%,var(--panel));border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.who{display:flex;gap:10px;align-items:center}.tag{font-size:11px;padding:0 7px;border-radius:4px;background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn)}.sys{color:var(--muted);font-size:13px;padding-left:6px;border-left:2px solid var(--line)}.reply textarea{margin:8px 0}.tabs{display:flex;gap:4px}.tabs button{border:0;background:none;color:var(--muted);border-bottom:2px solid transparent;border-radius:0;padding:4px 10px}.tabs button.on{color:var(--text);border-color:var(--accent)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:2px}.tile.link{cursor:pointer}.tile.link:hover{border-color:var(--accent)}.tile-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.tile-value{font-size:30px;font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums}.tile-sub{color:var(--muted);font-size:12px}.tile.bad .tile-value{color:var(--bad)}.tile.warn .tile-value{color:var(--warn)}.kb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.kb-card{cursor:pointer;margin:0}.kb-card:hover{border-color:var(--accent)}.kb-card p{margin:6px 0 0}.md h3,.md h4,.md h5{text-transform:none;letter-spacing:0;color:var(--text);font-size:16px;margin:14px 0 6px}.md p{margin:8px 0}.md code{background:var(--hover);padding:1px 5px;border-radius:4px}.md pre{background:var(--hover);padding:10px 12px;border-radius:8px;overflow:auto}.login{max-width:360px;margin:12vh auto;display:grid;gap:12px}.login label{display:grid;gap:4px;color:var(--muted)}@media (max-width: 900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap}.detail,.grid,.split{grid-template-columns:1fr}main{padding:16px}}label.button{font:inherit;padding:6px 14px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}label.button:hover{background:var(--hover)}.plugin{margin-bottom:14px}.plugin h3{margin:0}.plugin .settings{display:grid;gap:10px;max-width:520px;margin-top:8px}.plugin a{color:var(--accent);cursor:pointer}.b-warning{--c: var(--b-high)}.b-critical{--c: var(--b-urgent)}.sidebar .count{margin-left:auto;background:var(--bad);color:#fff;border-radius:999px;font-size:11px;padding:0 7px;line-height:17px}.link{color:var(--accent);cursor:pointer}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.chart-head{display:flex;justify-content:space-between;align-items:baseline}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-width:1}.rule-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;align-items:end}.rule-form label{display:grid;gap:4px;font-size:13px;color:var(--muted)}.rule-form label.check{display:flex;gap:8px;align-items:center}pre.log{margin:0;max-height:240px;overflow:auto;font-size:12px;white-space:pre-wrap;background:var(--hover);padding:8px;border-radius:6px}.scroll{max-height:320px;overflow:auto}code{font-size:12px;background:var(--hover);padding:1px 6px;border-radius:4px;margin-right:6px}
