:root{--ink: #14161a;--paper: #f8f7f4;--accent: #0e7c5b;--accent-soft: rgba(14, 124, 91, .1);--accent-text: #0b6a4e;--bg: var(--paper);--card: #ffffff;--fg: var(--ink);--muted: #5f6570;--faint: #9aa0a8;--border: #e3e1dc;--border-strong: #cfcbc3;--hover: #f1efea;--warn: #9a6700;--warn-bg: #fff4d6;--danger: #b42318;--danger-bg: #fde8e6;--ok: var(--accent);--ok-bg: var(--accent-soft);--shadow: 0 1px 2px rgba(20, 22, 26, .06), 0 8px 24px -16px rgba(20, 22, 26, .25);--serif: "IBM Plex Serif", Georgia, serif;--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius: 10px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #131417;--card: #1b1d21;--fg: #ececea;--muted: #a3a8b0;--faint: #6b7079;--border: #2a2d33;--border-strong: #3a3e46;--hover: #22252b;--accent-soft: rgba(52, 190, 145, .14);--accent-text: #4fcf9f;--ok: #4fcf9f;--warn: #e6b04a;--warn-bg: rgba(230, 176, 74, .14);--danger: #f28b82;--danger-bg: rgba(242, 139, 130, .14);--shadow: none}}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--fg);font:14.5px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.01em}h1{font-family:var(--serif);font-size:28px;line-height:1.2}h2{font-family:var(--serif);font-size:20px}h3{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}p{margin:0}code,.mono{font-family:var(--mono);font-size:.92em}button{font:inherit}.page{display:flex;flex-direction:column;gap:22px;padding:28px clamp(20px,4vw,44px) 60px;max-width:1240px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head .lead{color:var(--muted);margin-top:6px;max-width:70ch}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:14px}.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.card>h3{margin-bottom:12px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.stat .n{font-family:var(--serif);font-size:30px;line-height:1.1}.stat .n small{font-family:var(--sans);font-size:13px;color:var(--muted);margin-left:6px}.stat .l{font-size:12.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat .d{font-size:12.5px;color:var(--muted)}.stat.attention{border-color:var(--warn)}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap}tr:last-child td{border-bottom:0}tbody tr.link{cursor:pointer}tbody tr.link:hover{background:var(--hover)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td .sub{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}td.actions{white-space:nowrap;text-align:right}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--hover);color:var(--muted);white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--accent-text)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.count{background:var(--ink);color:var(--paper);padding:0 7px;font-size:11px}.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--card);color:var(--fg);font-size:13.5px;font-weight:600;cursor:pointer;line-height:1.2;text-decoration:none}.btn:hover{border-color:var(--fg);text-decoration:none}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);border-color:transparent;color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.quiet{border-color:transparent;background:transparent;color:var(--muted)}.btn.quiet:hover{background:var(--hover);color:var(--fg)}.btn.small{padding:5px 10px;font-size:12.5px}.field{display:flex;flex-direction:column;gap:5px}.field>span{font-size:12.5px;font-weight:600}.field>span em{font-style:normal;font-weight:400;color:var(--muted)}input,textarea,select{width:100%;padding:9px 11px;border:1px solid var(--border-strong);border-radius:8px;background:var(--card);color:var(--fg);font:inherit;font-size:14px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}textarea{resize:vertical;min-height:84px}label.check{display:flex;align-items:center;gap:8px;font-size:13.5px}label.check input{width:auto}.form{display:flex;flex-direction:column;gap:12px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.error{color:var(--danger);font-size:13px}.notice{padding:12px 14px;border-radius:8px;background:var(--accent-soft);color:var(--fg);font-size:13.5px;line-height:1.5}.notice.warn{background:var(--warn-bg)}.notice.danger{background:var(--danger-bg)}.notice code{word-break:break-all}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12.5px}.empty{padding:32px 20px;text-align:center;color:var(--muted)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;font-size:13.5px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.list li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.list li:last-child{border-bottom:0}.list .sub{display:block}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tab{padding:8px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-weight:600;font-size:13.5px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}.tab:hover{color:var(--fg)}.tab.on{color:var(--fg);border-bottom-color:var(--accent)}.overlay{position:fixed;inset:0;background:#14161a73;display:grid;place-items:center;padding:20px;z-index:20}.dialog{width:100%;max-width:520px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:22px 24px;box-shadow:0 30px 80px -30px #00000080;display:flex;flex-direction:column;gap:14px}.dialog h2{font-size:20px}.dialog .lead{color:var(--muted);font-size:13.5px}.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
