:root{--bg:#0f1115;--bg-elevated:#161a21;--bg-input:#1c2129;--border:#262c36;--border-strong:#333b48;--text:#e6e9ef;--text-dim:#98a1b0;--text-faint:#6b7484;--accent:#4f8cff;--accent-dim:#2c4f8f;--ok:#35c07a;--warn:#e8a33d;--danger:#e5534b;--radius:8px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit}.shell{grid-template-columns:210px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);flex-direction:column;gap:4px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar__brand{color:var(--text);letter-spacing:.02em;padding:6px 10px 14px;font-size:15px;font-weight:700}.sidebar__brand span{color:var(--accent)}.nav-link{color:var(--text-dim);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13.5px;text-decoration:none;display:flex}.nav-link:hover{color:var(--text);background:#ffffff0a;text-decoration:none}.nav-link--active{background:var(--accent-dim);color:#fff}.nav-count{background:var(--danger);color:#fff;border-radius:10px;padding:0 6px;font-size:11px;font-weight:700;line-height:17px}.sidebar__footer{border-top:1px solid var(--border);color:var(--text-faint);margin-top:auto;padding-top:12px;font-size:12.5px}.content{max-width:1400px;padding:24px 28px 64px}.page-title{margin:0 0 4px;font-size:20px;font-weight:650}.page-subtitle{color:var(--text-dim);margin:0 0 20px;font-size:13px}.btn{background:var(--bg-input);color:var(--text);border:1px solid var(--border-strong);border-radius:6px;padding:7px 12px;font-size:13px}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--ok{border-color:var(--ok);color:var(--ok);background:0 0}.btn--danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn--ghost{border-color:var(--border);color:var(--text-dim);background:0 0}.btn--sm{padding:4px 9px;font-size:12px}.field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.field label{color:var(--text-dim);font-size:12.5px}.input{background:var(--bg-input);border:1px solid var(--border-strong);color:var(--text);border-radius:6px;width:100%;padding:8px 10px;font-size:13.5px}.input:focus{border-color:var(--accent);outline:none}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .input{max-width:320px}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:11.5px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 10px}.table tbody tr:hover{background:#ffffff06}.table--numbers td.num,.table--numbers th.num{text-align:right;font-variant-numeric:tabular-nums}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-title{color:var(--text-dim);margin:0 0 10px;font-size:13px;font-weight:600}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat__label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px}.stat__value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:24px;font-weight:650}.stat__hint{color:var(--text-dim);margin-top:2px;font-size:12px}.badge{white-space:nowrap;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-block}.badge--pending{color:var(--warn);background:#e8a33d29}.badge--published{color:var(--ok);background:#35c07a24}.badge--hidden,.badge--rejected{color:var(--danger);background:#e5534b29}.badge--muted{color:var(--text-dim);background:#ffffff12}.badge--s0{background:var(--danger);color:#fff}.badge--s1{color:var(--danger);background:#e5534b2e}.badge--s2{color:var(--warn);background:#e8a33d2e}.badge--s3,.badge--s4{color:var(--text-dim);background:#ffffff12}.mono{font-family:var(--mono);font-size:12px}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.excerpt{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:320px;padding:10px 12px;font-size:13px;overflow:auto}.scores{flex-wrap:wrap;gap:6px;display:flex}.score-pill{background:var(--bg-input);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:5px;padding:2px 7px;font-size:11.5px}.empty{color:var(--text-faint);text-align:center;padding:28px 4px;font-size:13px}.error-box{color:#ffb3ad;background:#e5534b1a;border:1px solid #e5534b66;border-radius:6px;margin-bottom:14px;padding:10px 12px;font-size:13px}.center-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;width:100%;max-width:360px;padding:24px}.auth-card h1{margin:0 0 6px;font-size:17px}.auth-card p{color:var(--text-dim);margin:0 0 18px;font-size:13px}.denied{text-align:center;max-width:420px}.denied h1{color:var(--danger)}.loading{color:var(--text-faint);text-align:center;padding:40px}.num{text-align:right;font-variant-numeric:tabular-nums}.row--overdue td{background:#e5534b0f}.row--muted td{opacity:.5}.excerpt--sm{max-height:90px;padding:6px 8px;font-size:12.5px}.modal-backdrop{z-index:50;background:#0009;place-items:center;padding:24px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:10px;width:100%;max-width:560px;max-height:90vh;padding:20px;overflow:auto}.modal h2{margin:0 0 12px;font-size:15px}
