:root{--bg: #f4f5f7;--surface: #ffffff;--surface-muted: #eef0f2;--surface-strong: #e2e4e7;--border: #e6e8eb;--border-strong: #dee2e6;--text: #111111;--text-2: #495057;--muted: #656d75;--primary: #000000;--on-primary: #ffffff;--danger: #ba1a1a;--danger-surface: #ffdad6;--on-danger-surface: #93000a;--ok: #1b6b3a;--ok-surface: #d9f2e1;--shadow: 0 1px 2px rgba(11, 13, 16, .04), 0 4px 16px rgba(11, 13, 16, .06);--r-sm: 10px;--r-md: 12px;--r-card: 16px;--head: "Hanken Grotesk", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}:root[data-theme=dark]{--bg: #121212;--surface: #1c1c1c;--surface-muted: #252525;--surface-strong: #2f2f2f;--border: #2a2a2a;--border-strong: #353534;--text: #e5e2e1;--text-2: #c4c7c7;--muted: #8e9192;--primary: #e5e2e1;--on-primary: #131313;--danger: #ffb4ab;--danger-surface: #93000a;--on-danger-surface: #ffdad6;--ok: #7fd6a0;--ok-surface: #1d3a29;--shadow: none}@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg: #121212;--surface: #1c1c1c;--surface-muted: #252525;--surface-strong: #2f2f2f;--border: #2a2a2a;--border-strong: #353534;--text: #e5e2e1;--text-2: #c4c7c7;--muted: #8e9192;--primary: #e5e2e1;--on-primary: #131313;--danger: #ffb4ab;--danger-surface: #93000a;--on-danger-surface: #ffdad6;--ok: #7fd6a0;--ok-surface: #1d3a29;--shadow: none}}*{box-sizing:border-box}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}@media(prefers-color-scheme:dark){html[data-theme=system]{color-scheme:dark}}body{margin:0;font:14px/1.5 var(--body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--head);font-weight:600;letter-spacing:-.02em}h1{font-size:26px;line-height:1.2;margin:0 0 6px;letter-spacing:-.03em}h2{font-size:17px;margin:28px 0 10px}code{font-family:var(--mono);font-size:12px;background:var(--surface-muted);padding:2px 6px;border-radius:6px;word-break:break-all}p{margin:8px 0}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;padding:20px 14px;background:var(--surface);border-right:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px;font-family:var(--head);font-weight:700;font-size:17px;letter-spacing:-.02em}.brand-mark{width:30px;height:30px;border-radius:10px;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;flex:none}.brand small{display:block;font-family:var(--body);font-weight:500;font-size:11px;color:var(--muted);letter-spacing:0}.nav-label{padding:12px 12px 6px;font-size:10.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:999px;background:none;color:var(--text-2);border:0;font-weight:500;text-align:left;cursor:pointer;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface-muted);color:var(--text);opacity:1}.nav-item.active{background:var(--primary);color:var(--on-primary)}.nav-item svg,.brand-mark svg,.icon-btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px;border-radius:var(--r-md);background:var(--surface-muted)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:600;font-size:13px;flex:none}.sidebar-foot .who{flex:1;min-width:0;line-height:1.25}.sidebar-foot .who b{display:block;font-size:13px;text-transform:capitalize}.sidebar-foot .who span{font-size:11px;color:var(--muted)}.icon-btn{background:none;border:0;color:var(--muted);padding:6px;border-radius:8px;cursor:pointer;display:grid;place-items:center}.icon-btn:hover{background:var(--surface-strong);color:var(--text);opacity:1}main{padding:32px 36px 56px;max-width:1180px;width:100%;margin:0 auto}button,input,select,textarea{font:inherit;color:inherit}button{background:var(--primary);color:var(--on-primary);border:0;border-radius:999px;padding:9px 18px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .05s}button:hover{opacity:.88}button:active{transform:scale(.98)}button.link{background:none;color:var(--text);padding:6px 10px;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border-strong)}button.danger{background:var(--danger);color:var(--surface)}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:10px 14px;min-height:44px}input::placeholder,textarea::placeholder{color:#adb5bd}textarea{width:100%;min-height:96px;resize:vertical}label{display:block;margin:14px 0 6px;font-size:12px;font-weight:500;color:var(--text-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:16px}.grid .card{margin:0}.grid .card .muted{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat{font-family:var(--head);font-size:34px;font-weight:600;letter-spacing:-.04em;line-height:1.1;margin-top:10px}.muted{color:var(--muted);font-size:13px}.error{color:var(--on-danger-surface);background:var(--danger-surface);padding:10px 14px;border-radius:var(--r-sm)}.ok{color:var(--ok);background:var(--ok-surface);padding:10px 14px;border-radius:var(--r-sm)}.badge{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--surface-muted);border:1px solid var(--border);font-size:11.5px;font-weight:600;text-transform:capitalize}.msg{padding:12px 14px;border-radius:var(--r-md);margin:10px 0;background:var(--surface-muted);white-space:pre-wrap;max-width:85%}.msg.admin{background:var(--primary);color:var(--on-primary);margin-left:auto}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow)}th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:0}th{font-size:10.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);background:var(--surface-muted)}tr.click{cursor:pointer}tr.click:hover td{background:var(--surface-muted)}.bar{background:var(--primary);height:10px;border-radius:999px;min-width:4px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,var(--surface-strong),transparent 45%),var(--bg)}.login{width:100%;max-width:400px;padding:32px;margin:0;border-radius:24px}.login .brand{padding:0 0 20px}.login h1{font-size:24px}.login input{width:100%}.login button[type=submit]{width:100%;padding:12px;margin-top:8px}@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px;gap:6px}.brand{padding:0 8px 0 4px}.nav-label,.sidebar-foot .who{display:none}.nav-item{width:auto;padding:8px 14px}.sidebar-foot{margin:0 0 0 auto;padding:4px;background:none}main{padding:20px 16px 40px}table{display:block;overflow-x:auto}}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}.page-head p{margin:0}.stat-card .stat-hint{margin-top:6px;font-size:12px;font-weight:400;text-transform:none;letter-spacing:0}.stat-card.tone-bad .stat{color:var(--danger)}.stat-card.tone-warn{border-color:var(--border-strong);background:var(--surface-muted)}.bars{display:grid;gap:8px}.bar-row{display:grid;grid-template-columns:96px 1fr 70px;align-items:center;gap:12px}.bar-row .bar{height:10px}.bar-row>span:last-child{text-align:right;font-family:var(--mono);font-size:12px}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;align-items:start}.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.inline-form>div{flex:1;min-width:140px}.inline-form label{margin-top:0}.inline-form input,.inline-form select{width:100%}td input[type=number]{width:110px;min-height:36px;padding:6px 10px}td input[type=text]{min-height:36px;padding:6px 10px}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;margin:0;font-size:14px;color:var(--text)}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:24px;min-height:0;padding:0;border-radius:999px;background:var(--surface-strong);border:0;position:relative;cursor:pointer;transition:background .15s}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #0000004d;transition:transform .15s}.switch input:checked{background:var(--primary)}.switch input:checked:after{transform:translate(16px);background:var(--on-primary)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--ok);margin-right:8px}.dot.off{background:var(--danger)}.badge.bad{background:var(--danger-surface);color:var(--on-danger-surface);border-color:transparent}.badge.good{background:var(--ok-surface);color:var(--ok);border-color:transparent}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:500}.tabs{display:flex;gap:6px;margin-bottom:18px}.tab{background:var(--surface-muted);color:var(--text-2)}.tab.active{background:var(--primary);color:var(--on-primary)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.chip{background:var(--surface-muted);color:var(--text-2);border:1px solid var(--border);font-weight:500;padding:5px 12px;font-size:12.5px}.nav-group{display:contents}.sidebar{overflow-y:auto}.seg{display:inline-flex;background:var(--surface-muted);border-radius:999px;padding:3px;gap:2px}.seg button{background:none;color:var(--text-2);padding:6px 14px;font-size:12.5px}.seg button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.sidebar .seg{width:100%;margin-top:auto}.sidebar .seg button{flex:1;padding:6px 4px}.sidebar .seg+.sidebar-foot{margin-top:8px}
