:root{--bg: #f4f6f9;--panel: #ffffff;--text: #18212f;--muted: #5d6b80;--line: #e2e7ee;--hover: #eff3f9;--accent: #2563eb;--accent-text: #ffffff;--accent-soft: rgba(37, 99, 235, .12);--side: #111a2b;--side-text: #aab6c8;--side-active: #ffffff;--side-hover: rgba(255, 255, 255, .07);--side-line: rgba(255, 255, 255, .08);--on: #15803d;--off: #8b97aa;--bad: #c81e1e;--warn: #b45309;--b-new: #2563eb;--b-open: #7c3aed;--b-pending: #b45309;--b-resolved: #15803d;--b-closed: #5d6b80;--b-low: #5d6b80;--b-normal: #2563eb;--b-high: #b45309;--b-urgent: #c81e1e;--b-in_use: #15803d;--b-stock: #2563eb;--b-repair: #b45309;--b-retired: #5d6b80;--b-active: #15803d;--b-expiring: #b45309;--b-expired: #c81e1e;--radius: 10px;--radius-sm: 6px;--shadow: 0 1px 2px rgba(16, 24, 40, .05);--shadow-lg: 0 16px 48px rgba(16, 24, 40, .25);--dim: rgba(8, 12, 20, .6);color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0d121b;--panel: #151c28;--text: #e6ebf2;--muted: #98a4b6;--line: #273243;--hover: #1c2534;--accent: #4c8dff;--accent-text: #08111f;--accent-soft: rgba(76, 141, 255, .18);--side: #0a0f17;--side-text: #aab6c8;--side-hover: rgba(255, 255, 255, .07);--side-line: rgba(255, 255, 255, .08);--on: #4ade80;--off: #7b879a;--bad: #f87171;--warn: #fbbf24;--b-new: #4c8dff;--b-open: #a78bfa;--b-pending: #fbbf24;--b-resolved: #4ade80;--b-closed: #98a4b6;--b-low: #98a4b6;--b-normal: #4c8dff;--b-high: #fbbf24;--b-urgent: #f87171;--b-in_use: #4ade80;--b-stock: #4c8dff;--b-repair: #fbbf24;--b-retired: #98a4b6;--b-active: #4ade80;--b-expiring: #fbbf24;--b-expired: #f87171;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--dim: rgba(0, 0, 0, .7);color-scheme:dark}}:root[data-theme=dark]{--bg: #0d121b;--panel: #151c28;--text: #e6ebf2;--muted: #98a4b6;--line: #273243;--hover: #1c2534;--accent: #4c8dff;--accent-text: #08111f;--accent-soft: rgba(76, 141, 255, .18);--side: #0a0f17;--side-text: #aab6c8;--side-hover: rgba(255, 255, 255, .07);--side-line: rgba(255, 255, 255, .08);--on: #4ade80;--off: #7b879a;--bad: #f87171;--warn: #fbbf24;--b-new: #4c8dff;--b-open: #a78bfa;--b-pending: #fbbf24;--b-resolved: #4ade80;--b-closed: #98a4b6;--b-low: #98a4b6;--b-normal: #4c8dff;--b-high: #fbbf24;--b-urgent: #f87171;--b-in_use: #4ade80;--b-stock: #4c8dff;--b-repair: #fbbf24;--b-retired: #98a4b6;--b-active: #4ade80;--b-expiring: #fbbf24;--b-expired: #f87171;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--dim: rgba(0, 0, 0, .7);color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}tr:focus-visible{outline-offset:-2px}.sidebar a:focus-visible{outline-color:#fff;outline-offset:-2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}body{overflow-x:clip}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);cursor:pointer;text-decoration:none;border-radius:3px}a:hover{text-decoration:underline}h1,h2,h3{margin:0}h1{font-size:22px;font-weight:700}h2{font-size:20px;font-weight:650;letter-spacing:-.01em}h3{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}h3.section{margin:28px 0 10px}img{max-width:100%}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--side);color:var(--side-text);display:flex;flex-direction:column;gap:2px;padding:12px 10px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:thin}.brand{color:#fff;font-weight:700;font-size:17px;padding:8px 12px 14px;margin-bottom:8px;letter-spacing:.01em;border-bottom:1px solid var(--side-line);overflow-wrap:anywhere}.brand span{color:var(--accent)}.sidebar a{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:var(--radius-sm);color:var(--side-text);min-height:36px;min-width:0;line-height:1.3;overflow-wrap:anywhere;position:relative;transition:background .12s,color .12s}.sidebar a:hover{background:var(--side-hover);text-decoration:none;color:#fff}.sidebar a.active{background:var(--accent-soft);color:var(--side-active);font-weight:550}.sidebar a.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--accent)}.sidebar i{font-style:normal;width:20px;flex:none;text-align:center;font-size:15px;line-height:1;opacity:.8}.sidebar a.active i{opacity:1}.sp{flex:1;min-height:16px}.sidebar a[data-tour="/account"]{margin-top:8px;border-top:1px solid var(--side-line);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding-top:12px;min-width:0}.sidebar a[data-tour="/account"]{overflow:hidden}.sidebar a[data-tour="/account"]:before{top:12px}.avatar{height:20px;width:20px;flex:none;object-fit:cover;border-radius:50%;vertical-align:-5px;margin-right:8px;background:var(--panel)}.sidebar .avatar{margin-right:0}main{padding:24px 32px 48px;max-width:1280px;width:100%;min-width:0}.bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:4px 0 18px}.bar h2{display:flex;align-items:center;gap:8px}.bar h2+.muted{margin-right:auto}.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);margin:0 0 12px}.note{padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel);border-radius:var(--radius-sm);margin:0 0 14px;box-shadow:var(--shadow)}.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:var(--radius);padding:16px;margin-bottom:16px;box-shadow:var(--shadow);min-width:0}.card>h3:first-child{margin-bottom:12px}table{border-collapse:separate;border-spacing:0;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:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;background:color-mix(in srgb,var(--line) 35%,transparent);white-space:nowrap}td.num,th.num{text-align:right}table.clickable tbody tr{cursor:pointer;transition:background .12s}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);vertical-align:1px}.dot.on{background:var(--on)}.dot.none{background:transparent;border:1.5px solid var(--off)}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:550;line-height:1.5;text-transform:capitalize;white-space:nowrap;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}.badge a{color:inherit;font-weight:700;padding:0 2px}.badge a:hover{text-decoration:none;opacity:.7}.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,label.button,.button-like{font:inherit;font-size:13.5px;line-height:1.4;padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;box-shadow:var(--shadow);transition:background .12s,border-color .12s,color .12s}button:hover:not(:disabled),label.button:hover,.button-like:hover{background:var(--hover);border-color:color-mix(in srgb,var(--muted) 40%,var(--line))}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}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);border-color:var(--accent)}button.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}button.danger:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 10%,var(--panel));border-color:var(--bad)}input,select,textarea{font:inherit;width:100%;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:color-mix(in srgb,var(--muted) 40%,var(--line))}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:0;padding:0;margin:0;accent-color:var(--accent)}input[type=color]{width:44px;padding:2px;cursor:pointer}textarea{font-family:inherit;resize:vertical;min-height:80px}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline input{width:220px;max-width:100%}.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);cursor:pointer}.check input{width:auto}.field{display:grid;gap:4px;margin-bottom:12px}.field>span,.lbl{color:var(--muted);font-size:12px;font-weight:500}.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;overflow-wrap:anywhere}.timeline{display:grid;gap:10px;margin:0 0 16px}.msg{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow)}.msg p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.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;flex-wrap:wrap}.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;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:14px}.tabs button{border:0;background:none;box-shadow:none;color:var(--muted);border-bottom:2px solid transparent;border-radius:0;padding:6px 10px;margin-bottom:-1px;min-height:0}.tabs button:hover:not(:disabled){background:none;color:var(--text)}.tabs button.on{color:var(--text);border-color:var(--accent);font-weight:550}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:8px}.tile{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 14px 18px;display:grid;gap:4px;box-shadow:var(--shadow);overflow:hidden;transition:border-color .12s,transform .12s}.tile.link{cursor:pointer}.tile.link:hover{border-color:var(--accent);transform:translateY(-1px)}.tile:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent}.tile.bad:before{background:var(--bad)}.tile.warn:before{background:var(--warn)}.tile-label{color:var(--muted);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.tile-value{font-size:30px;font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.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;transition:border-color .12s}.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;padding:24px}.login label{display:grid;gap:4px;color:var(--muted);font-size:13px}.login h1{margin-bottom:4px}.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;font-weight:600;padding:0 7px;line-height:18px;min-width:18px;text-align:center}.link{color:var(--accent);cursor:pointer}.chart svg text.axis{font-size:9px;fill:var(--muted)}.chart-time{font-size:.8em}.chart-zoom{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.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 16px;align-items:end}.rule-form label{display:grid;gap:4px;font-size:12px;font-weight:500;color:var(--muted);min-width:0}.rule-form label>input,.rule-form label>select,.rule-form label>textarea{font-size:14px;font-weight:400}.rule-form label.check{display:flex;gap:8px;align-items:center;min-height:32px;font-size:13px}.rule-form .inline{flex-wrap:nowrap}.rule-form .inline input{width:auto;flex:1}pre.log{margin:0;max-height:240px;overflow:auto;font-size:12px;white-space:pre-wrap;background:var(--hover);padding:8px;border-radius:var(--radius-sm)}.scroll{max-height:320px;overflow:auto}code{font-size:12px;background:var(--hover);padding:1px 6px;border-radius:4px;margin-right:6px}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.tour.dim{background:var(--dim)}.tour-spot{position:fixed;border-radius:8px;box-shadow:0 0 0 2px var(--accent),0 0 0 9999px var(--dim);pointer-events:none;transition:top .2s,left .2s,width .2s,height .2s}.tour-box{position:fixed;width:340px;max-width:calc(100vw - 24px);background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-lg)}.tour-box h3{margin:2px 0 8px;font-size:16px;font-weight:650;color:var(--text);text-transform:none;letter-spacing:-.01em}.tour-box p{margin:0 0 10px}.tour-box .muted{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:0}.tour-box .inline{margin-top:14px}.tour-skip{margin-left:auto;border-color:transparent;box-shadow:none;color:var(--muted)}.b-ok{--c: var(--b-resolved)}.b-bad{--c: var(--bad)}.logo-sm{height:20px;max-width:60px;object-fit:contain;vertical-align:middle;margin-right:8px;border-radius:3px}.logo-md{height:36px;max-width:120px;object-fit:contain;margin-right:12px;border-radius:4px}.button-like{font-size:13px}@media (max-width: 900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:sticky;top:0;height:auto;max-height:none;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;padding:8px 10px;overflow-x:auto;overflow-y:hidden;z-index:10;-webkit-overflow-scrolling:touch}.brand{padding:4px 10px;margin:0 6px 0 0;border-bottom:0;border-right:1px solid var(--side-line);font-size:15px;white-space:nowrap}.brand img{display:inline-block!important;margin:0 8px 0 0!important;vertical-align:middle;max-height:22px!important}.sidebar a{flex:none;padding:6px 10px;min-height:32px}.sidebar a.active:before{display:none}.sp{display:none}.sidebar a[data-tour="/account"]{margin-top:0;padding-top:6px;border-top:0;border-left:1px solid var(--side-line);border-radius:var(--radius-sm);max-width:220px;overflow:hidden;text-overflow:ellipsis}main{padding:16px}.detail,.grid,.split{grid-template-columns:1fr}table.card,.card>table{display:block;overflow-x:auto;width:100%;max-width:100%}.scroll{overflow:auto}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.tile-value{font-size:26px}}@media (max-width: 480px){main{padding:12px}.card{padding:12px}th,td{padding:8px 10px}.inline input,.filters input{width:100%;max-width:100%}.filters select{width:100%}.detail{grid-template-columns:1fr}.tour-box{left:12px!important;right:12px;width:auto;transform:none!important}}
