:root { --bg:#0f172a; --card:#1e293b; --line:#334155; --fg:#e2e8f0; --muted:#94a3b8; --acc:#f97316; --ok:#22c55e; --warn:#facc15; --bad:#ef4444; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color:#93c5fd; text-decoration:none; } a:hover { text-decoration:underline; }
main { max-width: 960px; margin: 0 auto; padding: 16px; }
.top { display:flex; align-items:center; justify-content:space-between; padding:10px 16px; border-bottom:1px solid var(--line); background:#0b1220; }
.brand { font-weight:700; color:var(--fg); font-size:17px; }
.top nav { display:flex; gap:14px; align-items:center; }
.top nav a.on { color:var(--acc); }
.inline { display:inline; }
button.link { background:none; border:0; color:#93c5fd; cursor:pointer; font:inherit; padding:0; }
button.link.danger { color:var(--bad); }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; margin:12px 0; }
.narrow { max-width:420px; margin:60px auto; }
h1 { font-size:22px; margin:0 0 12px; } h2 { font-size:17px; margin:0 0 10px; }
label { display:block; margin:8px 0; color:var(--muted); font-size:13px; }
label.row { display:flex; align-items:center; gap:8px; }
input, select, textarea { width:100%; margin-top:4px; padding:8px 10px; border-radius:8px; border:1px solid var(--line); background:#0b1220; color:var(--fg); font:inherit; }
input[type=checkbox] { width:auto; margin:0; }
textarea { resize:vertical; }
button, .btn { display:inline-block; padding:7px 12px; border-radius:8px; border:1px solid var(--line); background:#0b1220; color:var(--fg); cursor:pointer; font:inherit; }
button.primary { background:var(--acc); border-color:var(--acc); color:#111; font-weight:600; }
button.danger { border-color:var(--bad); color:var(--bad); }
.muted { color:var(--muted); } .small { font-size:12px; } .err { color:var(--bad); }
.stats { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:8px 0; }
.chip { padding:4px 10px; border-radius:999px; border:1px solid var(--line); color:var(--muted); }
.chip.on { border-color:var(--acc); color:var(--fg); }
.filters { display:flex; gap:12px; align-items:end; flex-wrap:wrap; margin:8px 0 16px; }
.filters label { margin:0; } .filters input, .filters select { width:auto; min-width:90px; }
.item header { display:flex; gap:12px; align-items:flex-start; }
.item header > div { flex:1; min-width:0; }
.item .title { color:var(--fg); font-weight:600; font-size:16px; display:block; }
.meta { color:var(--muted); font-size:13px; margin-top:2px; }
.tag { border:1px solid var(--line); border-radius:6px; padding:0 6px; font-size:12px; }
.warn { color:var(--warn); font-size:12px; margin-left:6px; }
.score { flex:0 0 40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:18px; background:#334155; }
.score.s9, .score.s10 { background:var(--ok); color:#052e16; }
.score.s7, .score.s8 { background:#84cc16; color:#1a2e05; }
.score.s5, .score.s6 { background:var(--warn); color:#422006; }
.reason { color:var(--muted); font-style:italic; margin:8px 0 4px; }
pre.body { white-space:pre-wrap; background:#0b1220; padding:10px; border-radius:8px; font:13px/1.45 inherit; max-height:320px; overflow:auto; }
details summary { cursor:pointer; color:var(--muted); font-size:13px; }
.draftform textarea { margin-top:8px; }
.actions { display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.table { width:100%; border-collapse:collapse; margin:8px 0 16px; }
.table th, .table td { text-align:left; padding:8px 6px; border-bottom:1px solid var(--line); vertical-align:top; }
.table tr.off { opacity:.45; }
.rowactions { display:flex; gap:8px; align-items:center; white-space:nowrap; }
.rowactions form { display:inline; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
.grid button { grid-column: 1 / -1; justify-self:start; }
ul.plain { list-style:none; padding:0; }
@media (max-width:640px) { .grid { grid-template-columns:1fr; } .item header { flex-wrap:wrap; } .top nav { gap:10px; font-size:14px; } }
