:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e5e7eb;--text: #111827;--muted: #6b7280;--accent: #2563eb;--ok: #16a34a;--warn: #d97706;--bad: #dc2626;--info: #2563eb;--radius: 8px;--sidebar: 220px}@media(prefers-color-scheme:dark){:root{--bg: #0f1115;--surface: #161920;--border: #262a33;--text: #e5e7eb;--muted: #9aa3b2;--accent: #60a5fa;--ok: #4ade80;--warn: #fbbf24;--bad: #f87171;--info: #60a5fa}}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}h1{font-size:20px;font-weight:600;margin:0}a{color:inherit;text-decoration:none}code{font:12.5px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}time{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.bad{color:var(--bad)}.small{font-size:12.5px}button{font:inherit;color:#fff;background:var(--accent);border:0;border-radius:6px;padding:6px 12px;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--muted);padding:4px 8px}button.ghost:hover:not(:disabled){color:var(--text);background:var(--border)}button.ghost.danger:hover:not(:disabled){color:var(--bad)}input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px}input:focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);border-color:var(--accent)}.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100%}aside{display:flex;flex-direction:column;padding:20px 14px;border-right:1px solid var(--border);background:var(--surface);position:sticky;top:0;height:100vh}.brand{font-weight:600;padding:0 10px 18px}nav{display:flex;flex-direction:column;gap:2px}nav a{padding:7px 10px;border-radius:6px;color:var(--muted)}nav a:hover{color:var(--text);background:var(--bg)}nav a.on{color:var(--text);background:var(--bg);font-weight:500}.who{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;color:var(--muted);font-size:12.5px}.who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}main{padding:28px 32px;min-width:0}.page{max-width:1400px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12.5px}.counts{display:flex;gap:12px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.seg button{background:transparent;color:var(--muted);border-radius:0;padding:3px 9px;font-size:12px}.seg button.on{background:var(--border);color:var(--text)}.bar{height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:200% 100%;animation:slide 1s linear infinite;margin-bottom:12px;border-radius:1px}@keyframes slide{0%{background-position:200% 0}to{background-position:-200% 0}}.banner{padding:10px 12px;border:1px solid var(--bad);border-radius:var(--radius);color:var(--bad);margin-bottom:12px}.filter{width:320px;max-width:100%;margin-bottom:12px}.empty{color:var(--muted);padding:24px 0}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{position:sticky;top:0;background:var(--surface);font-weight:500;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb,var(--accent) 5%,transparent)}.num{text-align:right;font-variant-numeric:tabular-nums}.status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status i{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.status.ok{color:var(--ok)}.status.warn{color:var(--warn)}.status.bad{color:var(--bad)}.status.info{color:var(--info)}.status.muted{color:var(--muted)}td .status,th .status{color:var(--text)}td .status i{color:inherit}td .status.ok i{background:var(--ok)}td .status.warn i{background:var(--warn)}td .status.bad i{background:var(--bad)}td .status.info i{background:var(--info)}td .status.muted i{background:var(--muted)}.list{list-style:none;margin:0 0 16px;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:0}.list li button{margin-left:auto}.row{display:flex;gap:8px}.row input{width:320px;max-width:100%}.center{min-height:100%;display:grid;place-items:center;padding:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px;width:380px;max-width:100%;display:flex;flex-direction:column;gap:12px}.card .bar{margin:0}@media(max-width:720px){.shell{grid-template-columns:1fr}aside{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;border-right:0;border-bottom:1px solid var(--border)}nav{flex-direction:row}.who{margin-top:0;margin-left:auto}main{padding:16px}}
