:root{
  --bg:#0f1117; --panel:#171a21; --panel2:#1e222b; --line:#2a2f3a;
  --text:#e6e9ef; --muted:#8b93a3; --accent:#e94560; --accent2:#3aa0ff;
  --green:#1e8449; --greenbg:#173d2a; --amber:#b7791f; --amberbg:#3a2f14;
  --red:#c0392b; --redbg:#3a1a17; --blue:#1f6feb;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:14px}
a{color:inherit;text-decoration:none}

.topbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand{font-weight:700;font-size:16px;letter-spacing:.3px}
.sectionswitch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sectionswitch .lbl{color:var(--muted);font-size:12px;margin-right:2px}
.chip{padding:5px 12px;border:1px solid var(--line);border-radius:999px;
  font-size:13px;background:var(--panel2);color:var(--muted);transition:.15s}
.chip:hover{border-color:var(--accent2);color:var(--text)}
.chip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.chip.paused{opacity:.6}
.chip.addbtn{border-style:dashed;color:var(--accent2)}
.topnav{margin-left:auto;display:flex;gap:16px}
.topnav a{color:var(--muted);font-size:13px;padding:5px 4px;border-bottom:2px solid transparent}
.topnav a:hover{color:var(--text);border-color:var(--accent2)}

.messages{padding:10px 20px 0}
.msg{padding:9px 14px;border-radius:8px;margin-bottom:8px;font-size:13px}
.msg.success{background:var(--greenbg);color:#7ee2a8;border:1px solid #1f6b43}
.msg.error{background:var(--redbg);color:#f1a49b;border:1px solid #7a2b22}

.content{padding:22px 20px 60px;max-width:1200px;margin:0 auto}
.pagehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.pagehead h1{font-size:20px;margin:0;font-weight:650}
.muted{color:var(--muted);font-weight:400}
.sub{font-size:15px;margin:26px 0 12px;color:var(--text)}

.grid{width:100%;border-collapse:collapse;background:var(--panel);
  border:1px solid var(--line);border-radius:10px;overflow:hidden}
.grid th{ text-align:left;padding:11px 14px;font-size:12px;color:var(--muted);
  background:var(--panel2);border-bottom:1px solid var(--line);font-weight:600}
.grid th.c,.grid td.c{text-align:center}
.grid td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.grid tbody tr:last-child td{border-bottom:none}
.rowlink{cursor:pointer;transition:.12s}
.rowlink:hover{background:var(--panel2)}
.headline{font-weight:600;max-width:360px}
.issues{color:var(--muted);font-size:12px;max-width:280px}
.urlcell{color:var(--muted);font-size:12px;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}
.pill.neutral{background:var(--panel2);color:var(--muted);border:1px solid var(--line)}
.pill.danger{background:var(--redbg);color:#f1a49b;border:1px solid #7a2b22}
.v-pass{background:var(--greenbg);color:#7ee2a8}
.v-review{background:var(--amberbg);color:#e8c07d}
.v-fail{background:var(--redbg);color:#f1a49b}
.v-none{background:var(--panel2);color:var(--muted)}
.s-approved,.s-published,.s-scheduled{background:var(--greenbg);color:#7ee2a8}
.s-rejected,.s-failed-check{background:var(--redbg);color:#f1a49b}
.s-legal-review{background:#3a1420;color:#f0a0b8}
.s-needs-review{background:var(--amberbg);color:#e8c07d}
.s-drafted{background:#33300f;color:#e6d072}
.s-new{background:#12314d;color:#8fc4f0}

.empty{padding:40px;text-align:center;color:var(--muted);
  background:var(--panel);border:1px dashed var(--line);border-radius:10px}

.btn{display:inline-block;padding:8px 16px;border-radius:8px;border:1px solid var(--line);
  background:var(--panel2);color:var(--text);font-size:13px;cursor:pointer;transition:.15s}
.btn:hover{border-color:var(--accent2)}
.btn.ghost{background:transparent}
.btn.approve{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
.btn.reject{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}
.btn.save{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}

.back{color:var(--muted);font-size:13px;display:inline-block;margin-bottom:14px}
.back:hover{color:var(--text)}

.article-head .pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.issues-box{background:var(--amberbg);border:1px solid #6b5119;border-radius:10px;padding:14px 16px;margin-bottom:20px}
.issues-title{font-weight:700;color:#e8c07d;font-size:13px;margin-bottom:6px}
.issues-body{color:#e8c07d;font-size:13px;line-height:1.5}

.two-col{display:grid;grid-template-columns:1fr 300px;gap:22px;align-items:start}
.editable-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:18px 0 6px}
.rendered{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.body-render{line-height:1.65}
.body-render h2{font-size:17px;margin:16px 0 8px}
.body-render p{margin:0 0 12px}
.muted-block{color:var(--muted)}

.side-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:14px}
.side-title{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:10px}
.side-label{font-size:11px;color:var(--muted);margin-top:8px}
.side-val{font-size:13px;line-height:1.45;word-break:break-word}
.side-val.small{font-size:12px;color:var(--muted)}
.side-link{display:inline-block;margin-top:10px;color:var(--accent2);font-size:12px}

.action-bar{margin:24px 0 8px}
.action-bar form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sched{display:flex;gap:8px;align-items:center;margin-left:auto}
.sched input{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:7px 10px}

.edit-block{margin-top:20px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px 16px}
.edit-block summary{cursor:pointer;padding:12px 0;color:var(--muted);font-size:13px}
.edit-form{display:flex;flex-direction:column;gap:8px;padding-bottom:16px}
.edit-form label{font-size:12px;color:var(--muted);margin-top:6px}
.edit-form input,.edit-form textarea{background:var(--panel2);border:1px solid var(--line);
  color:var(--text);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13px;width:100%}
.edit-form textarea{font-family:ui-monospace,Menlo,monospace;line-height:1.5}

.op-cards{display:flex;gap:16px;flex-wrap:wrap}
.op-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;min-width:280px}
.op-title{font-weight:650;margin-bottom:12px}
.kv{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.kv span{color:var(--muted)}
.hint{color:var(--muted);font-size:12px;margin-top:12px;line-height:1.5}

.sector-form{display:flex;flex-direction:column;gap:6px;max-width:520px;
  background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px}
.sector-form label{font-size:13px;font-weight:600;margin-top:10px}
.sector-form input{background:var(--panel2);border:1px solid var(--line);color:var(--text);
  border-radius:8px;padding:10px 12px;font-size:14px}
.sector-form .btn{margin-top:16px;align-self:flex-start}
.req{color:var(--accent)}.opt{color:var(--muted);font-weight:400}

.foot{position:fixed;bottom:0;left:0;right:0;display:flex;gap:12px;align-items:center;
  padding:8px 20px;background:var(--panel);border-top:1px solid var(--line);
  font-size:12px;color:var(--muted)}
.foot .refresh{margin-left:auto;color:var(--accent2)}

@media(max-width:820px){.two-col{grid-template-columns:1fr}}
