:root { --bg:#0f1216; --card:#171b21; --line:#262c36; --tx:#e8ecf1; --mut:#8a94a3; --acc:#4f8cff; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.5 system-ui,Segoe UI,Roboto,sans-serif; background:var(--bg); color:var(--tx); }
.top { display:flex; align-items:center; gap:14px; padding:12px 20px; border-bottom:1px solid var(--line); }
.brand { font-weight:700; letter-spacing:1px; color:var(--tx); text-decoration:none; }
.top .who { color:var(--mut); margin-left:auto; }
.wrap { max-width:960px; margin:24px auto; padding:0 20px; }
h1 { font-size:22px; } h3 { margin-bottom:8px; }
.muted { color:var(--mut); } .err { color:#ff6b6b; }
a { color:var(--acc); }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px; margin:14px 0; }
.card.narrow { max-width:360px; margin:48px auto; }
label { display:block; margin:10px 0; }
input, select, textarea { width:100%; padding:9px; margin-top:4px;
  background:#0d1014; border:1px solid var(--line); border-radius:7px; color:var(--tx); font:inherit; }
textarea { resize:vertical; }
.chk, .chk input { width:auto; display:inline; }
.nav { display:flex; gap:14px; margin-left:8px; }
.nav a { color:var(--mut); text-decoration:none; } .nav a:hover { color:var(--tx); }
.inline-form input { width:auto; display:inline; margin-right:8px; }
button { padding:8px 14px; border:1px solid var(--line); border-radius:7px; background:#222834;
  color:var(--tx); cursor:pointer; } button.primary { background:var(--acc); border-color:var(--acc); color:#fff; }
button.link { background:none; border:none; color:var(--mut); padding:0; }
.inline { display:inline; }
table.grid { width:100%; border-collapse:collapse; } .grid th,.grid td { text-align:left;
  padding:9px 10px; border-bottom:1px solid var(--line); } .grid th { color:var(--mut); font-weight:600; }
.badge { font-size:12px; padding:2px 8px; border-radius:20px; border:1px solid var(--line); }
.s-draft{color:#9aa4b2} .s-ai_reviewed{color:#c9a227} .s-pending_approval{color:#e0972a}
.s-approved{color:#39b54a} .s-scheduled{color:#3a9} .s-published{color:#4f8cff}
.s-rejected{color:#ff6b6b} .s-failed{color:#ff6b6b}
pre.body { white-space:pre-wrap; font:inherit; margin:0; }
.actions, .staff { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:10px; }
.staff { border-top:1px solid var(--line); padding-top:12px; margin-top:18px; }
