:root{--bg: #ffffff;--panel: #ffffff;--text: #0a0a0a;--muted: #737373;--line: #e5e5e5;--hover: #f5f5f5;--accent: #2563eb;--accent-text: #ffffff;--accent-soft: color-mix(in srgb, var(--accent) 14%, transparent);--side: #fafafa;--side-text: #525252;--side-active: #0a0a0a;--side-hover: #f0f0f0;--side-line: #e5e5e5;--side-icon: #a3a3a3;--side-icon-active: #2563eb;--on: #22c55e;--off: #a3a3a3;--bad: #ef4444;--warn: #f97316;--yellow: #ca8a04;--b-new: var(--accent);--b-open: var(--text);--b-pending: var(--yellow);--b-resolved: var(--on);--b-closed: var(--muted);--b-low: var(--muted);--b-normal: var(--accent);--b-high: var(--warn);--b-urgent: var(--bad);--b-in_use: var(--on);--b-stock: var(--accent);--b-repair: var(--yellow);--b-retired: var(--muted);--b-active: var(--on);--b-expiring: var(--yellow);--b-expired: var(--bad);--radius: 10px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(0, 0, 0, .05);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .18);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .08);--dim: rgba(0, 0, 0, .5);color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #000000;--panel: #111111;--text: #fafafa;--muted: #a1a1a1;--line: #262626;--hover: #171717;--side: #080808;--side-text: #a3a3a3;--side-active: #fafafa;--side-hover: #171717;--side-line: #1a1a1a;--side-icon: #8f8f8f;--side-icon-active: #60a5fa;--on: #4ade80;--off: #737373;--bad: #ff3b3b;--warn: #fb923c;--yellow: #facc15;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--shadow-hover: 0 0 0 1px color-mix(in srgb, var(--text) 12%, transparent);--dim: rgba(0, 0, 0, .7);color-scheme:dark}}:root[data-theme=dark]{--bg: #000000;--panel: #111111;--text: #fafafa;--muted: #a1a1a1;--line: #262626;--hover: #171717;--side: #080808;--side-text: #a3a3a3;--side-active: #fafafa;--side-hover: #171717;--side-line: #1a1a1a;--side-icon: #8f8f8f;--side-icon-active: #60a5fa;--on: #4ade80;--off: #737373;--bad: #ff3b3b;--warn: #fb923c;--yellow: #facc15;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--shadow-hover: 0 0 0 1px color-mix(in srgb, var(--text) 12%, transparent);--dim: rgba(0, 0, 0, .7);color-scheme:dark}:root[data-theme=light]{color-scheme:light}@font-face{font-family:Nav Icons;src:url(/assets/nav-icons-B0iSPrpZ.woff2) format("woff2");font-display:block}*{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-offset:-2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}body{overflow-x:clip}:root{--titlebar: 0px}:root.desktop{--titlebar: 32px}:root.desktop body{padding-top:var(--titlebar)}.titlebar{position:fixed;top:0;left:0;right:0;z-index:2000;height:var(--titlebar);display:flex;align-items:center;background:var(--side);color:var(--side-text);-webkit-user-select:none;user-select:none}.titlebar-name{flex:1;padding-left:12px;font-size:12.5px;font-weight:600;pointer-events:none}.titlebar button{width:46px;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none}.titlebar button:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.titlebar button.titlebar-close:hover{background:#c42b1c;color:#fff}.titlebar svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1}.titlebar-name span{color:var(--accent)}.titlebar .theme-toggle svg{width:13px;height:13px;stroke-width:1.8}:root.desktop .sidebar .brand{display:none}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:600;letter-spacing:-.02em}h2{font-size:20px;font-weight:600;letter-spacing:-.02em}h3{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em;margin-bottom:10px}h3.section{margin:28px 0 10px}img{max-width:100%}.sidebar{border-right:1px solid var(--side-line)}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:calc(100vh - var(--titlebar))}.sidebar{background:var(--side);color:var(--side-text);display:flex;flex-direction:column;gap:2px;padding:12px 10px 14px;position:sticky;top:var(--titlebar);height:calc(100vh - var(--titlebar));overflow-y:auto;scrollbar-width:thin}.brand{color:var(--side-active);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:var(--side-active)}.sidebar a.active{background:var(--side-hover);color:var(--side-active);font-weight:550}.sidebar i{color:var(--side-icon)}.sidebar a.active i{color:var(--side-icon-active)}.sidebar i{font-family:Nav Icons;font-style:normal;width:20px;flex:none;text-align:center;font-size:18px;line-height:1}.sp{flex:1;min-height:16px}.nav-group{padding:14px 12px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.menu-toggle{display:none;font-size:18px;min-width:40px;border:0;background:none;box-shadow:none;color:var(--side-active)}.sidebar .theme-toggle{justify-content:flex-start;gap:12px;padding:8px 12px;min-height:36px;border:0;background:none;box-shadow:none;color:var(--side-text);font-weight:400;font-size:14px}.sidebar .theme-toggle:hover:not(:disabled){background:var(--side-hover);color:var(--side-active)}.sidebar .theme-toggle svg{width:20px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;opacity:.8}.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}.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;width:100%;min-width:0}.md,.field,.msg p,.kb-card p{max-width:80ch}.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)}.note.bad{border-left-color:var(--bad)}.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:20px;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:500;font-size:13px;white-space:nowrap}td.num,th.num{text-align:right}table.dense th,table.dense td{padding:6px 10px}.th-sort{padding:0;min-height:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit;font-weight:inherit;gap:0}.th-sort:hover:not(:disabled){background:none;color:var(--text)}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:6px;font-size:12px;font-weight:500;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;font-weight:500;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:active:not(:disabled),label.button:active,.button-like:active{transform:translateY(1px) scale(.98)}button,label.button,.button-like{transition:background .12s,border-color .12s,color .12s,transform .06s,box-shadow .12s}select,input[type=checkbox],input[type=radio],input[type=color],label.check,[tabindex="0"]:not(input,textarea){cursor:pointer}a,.link{text-underline-offset:3px;text-decoration-thickness:1px}table.clickable tbody tr:active,tr[tabindex="0"]:active{background:color-mix(in srgb,var(--text) 8%,transparent)}tr[tabindex="0"]:hover{background:var(--hover)}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:none;opacity:.9;background:var(--accent);border-color:var(--accent)}button.destructive{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:550}button.destructive:hover:not(:disabled){background:var(--bad);border-color:var(--bad);opacity:.9}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(--panel);color:var(--text);box-shadow:var(--shadow);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}.mt{margin-top:12px}.mt-lg{margin-top:16px}.mb{margin-bottom:12px}.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:inline-flex;gap:2px;flex-wrap:wrap;padding:3px;background:var(--hover);border-radius:var(--radius-sm);margin-bottom:14px}.tabs button{border:1px solid transparent;background:none;box-shadow:none;color:var(--muted);border-radius:6px;padding:4px 12px;min-height:28px}.tabs button:hover:not(:disabled){background:none;border-color:transparent;color:var(--text)}.tabs button.on,.tabs button.on:hover:not(:disabled){color:var(--text);background:var(--panel);border-color:var(--line);box-shadow:var(--shadow)}.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);box-shadow:var(--shadow-hover)}.tile.link:active{transform:none;box-shadow:var(--shadow)}.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:13px;font-weight:500}.tile-value{font-size:30px;font-weight:600;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);box-shadow:var(--shadow-hover)}.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}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spinner{display:inline-flex;vertical-align:middle;color:var(--muted)}.spinner svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;justify-content:center;padding:32px 0;margin:0}.dialog{width:min(460px,calc(100vw - 32px));padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg);animation:dialog-in .14s ease-out}.dialog::backdrop{background:#00000080;animation:fade-in .14s ease-out}.dialog form{display:grid;gap:16px;padding:24px}.dialog p{margin:0;line-height:1.55}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}@keyframes dialog-in{0%{opacity:0;transform:scale(.96)}}@keyframes fade-in{0%{opacity:0}}@media (max-width: 900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--side-line);height:auto;max-height:calc(100vh - var(--titlebar));padding:8px 10px;z-index:10}.sidebar:not(.open)>:not(.side-head){display:none}.side-head{display:flex;align-items:center;gap:8px}.brand{flex:1;padding:4px 10px;margin:0;border-bottom:0;font-size:15px}.brand img{display:inline-block!important;margin:0 8px 0 0!important;vertical-align:middle;max-height:22px!important}.menu-toggle{display:inline-flex;margin-left:auto}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}}
