:root { color-scheme: dark;
  --bg:#070b18; --panel:rgba(15,23,48,.86); --panel-solid:#0f1730; --panel-hover:rgba(20,31,63,.96);
  --border:rgba(139,118,255,.23); --border-hover:rgba(80,221,255,.72); --line:rgba(139,118,255,.16);
  --text:#f4f7ff; --muted:#9ca9c4; --violet:#9174ff; --cyan:#4de0ff; --green:#64e7b5; --amber:#ffc46b; --red:#ff8087;
  --cell:#0b1226; --cell-line:rgba(139,118,255,.22); }
* { box-sizing:border-box; }
html, body { margin:0; background:var(--bg); color:var(--text); min-height:100%; }
body { font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; position:relative; }
body:before { content:""; position:fixed; inset:0; background:radial-gradient(900px 500px at 12% -10%, rgba(145,116,255,.22), transparent 60%), radial-gradient(700px 400px at 95% 0%, rgba(77,224,255,.14), transparent 60%); pointer-events:none; }
.wrap { position:relative; max-width:1440px; margin:0 auto; padding:28px 24px 64px; display:grid; gap:20px; }
.topbar { position:sticky; top:0; z-index:50; display:flex; justify-content:space-between; align-items:center; gap:16px; margin:-28px -24px 0; padding:10px 24px; background:rgba(9,14,30,.82); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.topbar-link { color:var(--cyan); text-decoration:none; font-weight:600; font-size:13px; }
.topbar-link:hover { text-decoration:underline; }
.demo-switch { display:inline-flex; align-items:center; gap:9px; cursor:pointer; user-select:none; font-size:13px; color:var(--muted); }
.demo-switch input { position:absolute; opacity:0; width:0; height:0; }
.demo-switch .track { width:38px; height:22px; border-radius:999px; background:rgba(156,169,196,.25); border:1px solid var(--line); position:relative; transition:background .16s; }
.demo-switch .thumb { position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:#dfe6ff; transition:transform .16s; }
.demo-switch input:checked + .track { background:var(--violet); }
.demo-switch input:checked + .track .thumb { transform:translateX(16px); }
.demo-switch input:focus-visible + .track { outline:2px solid var(--cyan); outline-offset:2px; }
body.demo-on .demo-switch .lbl { color:var(--violet); font-weight:600; }
.top { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; }
.eyebrow { color:var(--violet); font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; }
h1 { margin:6px 0 6px; font-size:30px; font-weight:700; letter-spacing:-.01em; }
.sub { margin:0; color:var(--muted); max-width:70ch; }
.who { color:var(--muted); font-size:13px; text-align:right; }
.mono { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-variant-numeric:tabular-nums; }

.panel { background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:16px 18px; display:grid; gap:14px; }
.panel h2 { margin:0; font-size:15px; font-weight:600; letter-spacing:.01em; display:flex; align-items:center; gap:9px; }
.panel h2 .hint { font-weight:400; color:var(--muted); font-size:12px; }

/* run bar */
.runbar { display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; }
.runbar .left { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.btn { font:inherit; font-size:14px; font-weight:600; color:#0a0f1f; background:linear-gradient(120deg,var(--violet),var(--cyan)); border:0; border-radius:12px; padding:12px 22px; cursor:pointer; transition:filter .15s, transform .05s; box-shadow:0 6px 22px rgba(93,120,255,.28); }
.btn:hover { filter:brightness(1.08); } .btn:active { transform:translateY(1px); }
.btn[disabled] { opacity:.5; cursor:not-allowed; filter:grayscale(.3); box-shadow:none; }
.btn.stop { background:none; color:var(--amber); border:1px solid var(--amber); box-shadow:none; font-weight:500; padding:10px 16px; }
.ghost { font:inherit; font-size:13px; color:var(--muted); background:transparent; border:1px solid var(--border); border-radius:10px; padding:9px 14px; cursor:pointer; transition:border-color .15s,color .15s; }
.ghost:hover { border-color:var(--border-hover); color:var(--text); }
.runstate { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--muted); }
.dot { width:9px; height:9px; border-radius:50%; background:var(--muted); flex:none; }
.dot.idle { background:#59617a; } .dot.done { background:var(--green); }
.dot.injecting { background:var(--amber); animation:pulse 1.1s infinite; }
.dot.live { background:var(--cyan); animation:pulse 1.1s infinite; box-shadow:0 0 0 0 rgba(77,224,255,.5); }
.dot.error { background:var(--red); }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(77,224,255,.45);} 70%{box-shadow:0 0 0 8px rgba(77,224,255,0);} 100%{box-shadow:0 0 0 0 rgba(77,224,255,0);} }
.runstate b { color:var(--text); font-weight:600; }
.runstate .sep { opacity:.4; }

/* summary tiles */
.summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; }
.stat { background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:13px 16px; }
.stat b { display:block; font-size:26px; font-weight:700; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.stat.primary b { color:var(--green); } .stat.promotions b { color:var(--cyan); } .stat.spam b { color:var(--amber); } .stat.missing b { color:var(--muted); } .stat.flagged b { color:var(--red); }
.stat span { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }

/* controls */
.controls { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.controls input[type=search], .map-bar input[type=search] { font:inherit; font-size:13px; color:var(--text); background:#0d1428; border:1px solid var(--border); border-radius:10px; padding:9px 12px; min-width:230px; }
.chips { display:flex; flex-wrap:wrap; gap:6px; }
.chip { border:1px solid var(--border); background:#0d1428; color:var(--muted); border-radius:999px; padding:6px 13px; font:inherit; font-size:13px; cursor:pointer; transition:border-color .15s,color .15s,background .15s; }
.chip:hover { border-color:var(--border-hover); color:var(--text); }
.chip.on { background:rgba(145,116,255,.18); border-color:var(--violet); color:var(--text); }
.chip .n { color:var(--muted); font-size:11px; margin-left:6px; font-variant-numeric:tabular-nums; }
.chip.on .n { color:var(--cyan); }
:focus-visible { outline:2px solid var(--cyan); outline-offset:2px; }

/* results table */
.scroll { overflow-x:auto; background:var(--panel); border:1px solid var(--border); border-radius:16px; }
table { border-collapse:separate; border-spacing:0; min-width:100%; width:100%; }
th, td { border-bottom:1px solid var(--line); padding:11px 14px; text-align:left; vertical-align:top; }
thead th { position:sticky; top:0; z-index:2; background:var(--panel-solid); font-weight:600; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; white-space:nowrap; }
tbody tr:hover td { background:rgba(20,31,63,.5); }
td.plat { font-weight:600; }
td.acct .name { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; }
td.acct .list { display:block; color:var(--muted); font-size:11px; margin-top:2px; }
td.creative .cname { color:var(--cyan); font-weight:600; }
td.creative .none { color:var(--muted); font-style:italic; }
td.subj { max-width:420px; }
td.subj .s { display:block; color:var(--text); }
td.subj .snip { display:block; color:var(--muted); font-size:12px; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:420px; }

/* placement badge */
.badge { display:inline-flex; align-items:center; gap:6px; border-radius:999px; padding:4px 11px; font-size:12px; font-weight:600; white-space:nowrap; border:1px solid transparent; }
.badge:before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; }
.badge.primary { color:var(--green); background:rgba(100,231,181,.12); border-color:rgba(100,231,181,.35); }
.badge.promotions { color:var(--cyan); background:rgba(77,224,255,.12); border-color:rgba(77,224,255,.32); }
.badge.updates, .badge.social, .badge.forums { color:var(--violet); background:rgba(145,116,255,.14); border-color:rgba(145,116,255,.32); }
.badge.spam { color:var(--amber); background:rgba(255,196,107,.12); border-color:rgba(255,196,107,.34); }
.badge.missing { color:var(--muted); background:rgba(156,169,196,.1); border-color:rgba(156,169,196,.22); }

/* flag pills */
.flags { display:flex; flex-wrap:wrap; gap:5px; }
.flag { font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 8px; border-radius:6px; border:1px solid transparent; }
.flag.merge { color:var(--amber); background:rgba(255,196,107,.1); border-color:rgba(255,196,107,.3); }
.flag.sample { color:var(--red); background:rgba(255,128,135,.1); border-color:rgba(255,128,135,.34); }
.flag.unrecognized { color:var(--violet); background:rgba(145,116,255,.12); border-color:rgba(145,116,255,.32); }

/* creatives */
.creatives-list { display:grid; gap:8px; }
.creative { display:flex; align-items:center; gap:12px; background:#0c1326; border:1px solid var(--line); border-radius:12px; padding:10px 14px; }
.creative .cn { font-weight:600; color:var(--text); }
.creative .meta { color:var(--muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.creative .count { color:var(--cyan); font-size:12px; font-variant-numeric:tabular-nums; }
.creative .x { margin-left:auto; }
.iconbtn { background:transparent; border:1px solid var(--border); color:var(--muted); border-radius:8px; padding:5px 10px; font:inherit; font-size:12px; cursor:pointer; }
.iconbtn:hover { border-color:var(--border-hover); color:var(--text); }
.creative-form { display:grid; gap:10px; grid-template-columns:1fr 1fr; }
.creative-form .full { grid-column:1 / -1; }
.creative-form input, .creative-form textarea { font:inherit; font-size:13px; color:var(--text); background:#0d1428; border:1px solid var(--border); border-radius:10px; padding:10px 12px; width:100%; resize:vertical; }
.creative-form textarea { min-height:78px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.creative-form label { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; display:block; margin-bottom:5px; }

.note { color:var(--muted); font-size:12px; margin:0; }
.empty { padding:34px; text-align:center; color:var(--muted); }
.signin { background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:34px; text-align:center; }
.signin a { color:var(--cyan); font-weight:600; }
.toast { position:fixed; right:20px; bottom:calc(var(--ml-corner, 0px) + 20px); z-index:2147483001; background:#131b33; border:1px solid var(--border); border-radius:12px; padding:11px 15px; font-size:13px; opacity:0; transform:translateY(6px); transition:opacity .2s, transform .2s; pointer-events:none; max-width:340px; }
.toast.show { opacity:1; transform:none; }
.toast.err { border-color:var(--red); }
[hidden] { display:none !important; }
@media (prefers-reduced-motion:reduce) { .dot, .chip, .toast { animation:none !important; transition:none; } }
@media (max-width:820px) { .wrap { padding:20px 16px 48px; } .topbar { margin:-20px -16px 0; padding:10px 16px; } h1 { font-size:24px; } .creative-form { grid-template-columns:1fr; } td.subj .snip { max-width:200px; } }

/* Creatives button pill + modal */
.pill { display:inline-block; min-width:18px; padding:1px 6px; margin-left:5px; border-radius:999px; background:rgba(145,116,255,.28); color:var(--text); font-size:11px; font-weight:700; font-variant-numeric:tabular-nums; }
.modal-overlay { position:fixed; inset:0; background:rgba(4,7,16,.72); backdrop-filter:blur(3px); display:grid; place-items:center; z-index:100; padding:20px; }
.modal { width:min(680px,100%); max-height:88vh; overflow:auto; background:var(--panel-solid); border:1px solid var(--border); border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.55); }
.modal-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:20px 22px 12px; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--panel-solid); z-index:1; }
.modal-head h2 { margin:0 0 4px; font-size:18px; font-weight:700; }
.modal-x { background:transparent; border:0; color:var(--muted); font-size:26px; line-height:1; cursor:pointer; padding:0 8px; border-radius:8px; }
.modal-x:hover { color:var(--text); background:rgba(139,118,255,.12); }
.modal-body { padding:16px 22px 22px; display:grid; gap:14px; }

/* Saved-creatives: recent-3 toggle */
.creatives-count-line { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; padding:2px 2px 4px; }
.linkbtn { background:transparent; border:0; color:var(--cyan); font:inherit; font-size:12px; font-weight:600; cursor:pointer; padding:4px 6px; border-radius:6px; }
.linkbtn:hover { text-decoration:underline; }

.rematch-btn { color:var(--cyan); border-color:rgba(77,224,255,.4); }
.rematch-btn:hover { border-color:var(--cyan); }

/* per-row received timestamp under the placement badge */
.rcv { display:block; color:var(--muted); font-size:11px; margin-top:4px; font-variant-numeric:tabular-nums; }
.rcv .lat { color:var(--cyan); }

/* full-email modal */
.email-body { white-space:pre-wrap; overflow-wrap:anywhere; background:#0c1326; border:1px solid var(--line); border-radius:12px; padding:14px 16px; max-height:52vh; overflow:auto; font-size:13px; line-height:1.55; color:var(--text); }
.subj.clickable { cursor:pointer; }
.subj.clickable:hover .s { color:var(--cyan); text-decoration:underline; }
#emailSaveCreative { justify-self:start; }

/* per-agent placement breakdown */
.placement-rows { display:grid; gap:8px; }
.prow { display:grid; grid-template-columns:96px 140px 1fr; align-items:center; gap:12px; background:#0c1326; border:1px solid var(--line); border-radius:10px; padding:10px 14px; }
.prow .pagent { font-weight:600; }
.prow .ptime { color:var(--muted); font-size:12px; font-variant-numeric:tabular-nums; }
.prow .ptime .lat { color:var(--cyan); }
.place-cell.clickable { cursor:pointer; }
.place-cell.clickable:hover .badge { filter:brightness(1.18); }

/* per-row re-inject button */
.reinject-btn { display:inline-block; margin-top:5px; background:transparent; border:1px solid var(--border); color:var(--muted); border-radius:8px; padding:3px 9px; font:inherit; font-size:11px; cursor:pointer; transition:border-color .15s,color .15s; }
.reinject-btn:hover { border-color:var(--cyan); color:var(--cyan); }
.reinject-btn[disabled] { opacity:.5; cursor:default; }

/* creative competition */
.modal-wide { width:min(1000px,100%); }
.verdict { border-radius:12px; padding:12px 15px; margin-bottom:10px; border:1px solid var(--line); background:#0c1326; }
.verdict > b { display:block; margin-bottom:6px; }
.verdict ul { margin:0; padding-left:20px; display:grid; gap:3px; }
.verdict.loser { border-color:rgba(255,128,135,.4); background:rgba(255,128,135,.07); }
.verdict.platform { border-color:rgba(255,196,107,.4); background:rgba(255,196,107,.07); }
.verdict.winner { border-color:rgba(100,231,181,.4); background:rgba(100,231,181,.07); }
.comp-head { display:flex; flex-wrap:wrap; gap:10px 18px; margin-bottom:14px; }
.comp-head .hl { font-size:14px; }
.comp-head .hl.bad b { color:var(--amber); }
.comp-head .hl.good b { color:var(--green); }
.action-table { width:100%; border-collapse:collapse; }
.action-table td { padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:middle; }
.action-table tr:last-child td { border-bottom:none; }
.action-table td.cn { color:var(--cyan); font-weight:600; white-space:nowrap; }
.action-table td.whr { color:var(--text); }
.act { display:inline-block; min-width:68px; text-align:center; border-radius:6px; padding:3px 9px; font-size:11px; font-weight:700; letter-spacing:.05em; }
.act.scale { color:var(--green); background:rgba(100,231,181,.15); }
.act.promising { color:var(--cyan); background:rgba(77,224,255,.15); }
.act.data { color:var(--muted); background:rgba(156,169,196,.13); }
.act.replace { color:#ff8087; background:rgba(255,128,135,.15); }
.action-foot { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.langtag { display:inline-block; font-size:9px; font-weight:700; letter-spacing:.05em; padding:1px 5px; border-radius:4px; vertical-align:middle; background:rgba(156,169,196,.16); color:var(--muted); }
.langtag.en { color:#7fd4ff; background:rgba(77,224,255,.14); }
.langtag.fr { color:#b7a2ff; background:rgba(145,116,255,.16); }
.langtag.ar { color:#7ce0b5; background:rgba(100,231,181,.14); }
.comp-lang { margin-bottom:12px; }
.comp-head .scope { color:var(--muted); font-weight:500; }
.creative-form select { width:100%; padding:8px 10px; border-radius:8px; border:1px solid var(--line); background:#0c1326; color:var(--text); font:inherit; }
.platforms-list { display:grid; gap:8px; }
.plat-row { display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#0c1326; }
.plat-row .pn { font-weight:600; flex:1; }
.plat-row .pstate { font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--green); }
.plat-row.retired { opacity:.72; }
.plat-row.retired .pn { text-decoration:line-through; color:var(--muted); }
.plat-row.retired .pstate { color:var(--muted); }
.comp-matrix-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:12px; margin:6px 0; }
.comp-table { border-collapse:separate; border-spacing:0; width:100%; }
.comp-table th, .comp-table td { padding:8px 10px; border-bottom:1px solid var(--line); text-align:center; white-space:nowrap; }
.comp-table thead th { position:sticky; top:0; background:var(--panel-solid); font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.comp-table td.cn, .comp-table th:first-child { text-align:left; position:sticky; left:0; background:var(--panel-solid); font-weight:600; color:var(--cyan); }
.cmini { display:inline-block; border-radius:6px; padding:2px 7px; font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; }
.cmini.inbox { color:var(--green); background:rgba(100,231,181,.14); }
.cmini.promo { color:var(--cyan); background:rgba(77,224,255,.14); }
.cmini.spam { color:var(--amber); background:rgba(255,196,107,.14); }
.cmini.none { color:var(--muted); }
.cmini .acc { display:block; font-size:9px; font-weight:500; opacity:.7; letter-spacing:.02em; }
.cs { margin:0 0 14px; border:1px solid var(--line); border-radius:12px; padding:10px 12px; background:#0c1326; }
.cs-h { font-weight:650; margin-bottom:6px; }
.cs-h .n { color:var(--muted); font-weight:500; font-size:12px; margin-left:4px; }
.cs.launch { border-color:rgba(100,231,181,.35); } .cs.scale { border-color:rgba(100,231,181,.25); }
.cs.drop { border-color:rgba(255,128,135,.35); } .cs.change, .cs.fresh { border-color:rgba(255,196,107,.3); }
.cs.fix { border-color:rgba(156,169,196,.3); }
.cs .action-table td { padding:6px 8px; }
.cmini.mixed { color:#ffd98a; background:rgba(255,196,107,.10); border:1px dashed rgba(255,196,107,.45); }
.badge.mixed { color:#ffd98a; background:rgba(255,196,107,.12); border-color:rgba(255,196,107,.4); }

/* creative map */
.map-bar { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.map-bar input { flex:1 1 220px; max-width:320px; }
.map-group { border:1px solid var(--line); border-radius:12px; margin-bottom:10px; overflow:hidden; }
.map-group h3 { margin:0; padding:10px 14px; font-size:14px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:rgba(145,116,255,.07); }
.map-group h3 .sub { color:var(--muted); font-weight:500; font-size:12.5px; }
.map-group .lang { font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--cyan); border:1px solid rgba(77,224,255,.3); border-radius:6px; padding:1px 6px; }
.map-scroll { overflow-x:auto; }
.map-table { width:100%; border-collapse:collapse; font-size:13px; }
.map-table td, .map-table th { padding:8px 14px; text-align:left; white-space:nowrap; border-top:1px solid rgba(139,118,255,.08); }
.map-table th { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; }
.map-table .muted { color:var(--muted); }
.map-empty { color:var(--muted); padding:10px 0; }

/* continue lists */
.cont-btn { border-color:rgba(100,231,181,.45); color:var(--green); }
.cont-sec { border:1px solid var(--line); border-radius:12px; margin-bottom:14px; overflow:hidden; }
.cont-sec > h3 { margin:0; padding:12px 14px; font-size:15px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; background:rgba(145,116,255,.07); }
.cont-sec h3 .sub { color:var(--muted); font-size:12.5px; font-weight:500; }
.cont-geo { font-size:11px; font-weight:700; letter-spacing:.08em; color:var(--cyan); border:1px solid rgba(77,224,255,.3); border-radius:6px; padding:1px 7px; }
.cont-table { width:100%; border-collapse:collapse; font-size:13px; }
.cont-table td, .cont-table th { padding:8px 14px; text-align:left; white-space:nowrap; border-top:1px solid rgba(139,118,255,.08); }
.cont-table th { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:600; }
.cont-table tr.off td { color:var(--muted); }
.cont-table .why { color:var(--amber); font-size:12px; white-space:normal; }
.cont-table select, .cont-controls input, .cont-controls select { font:inherit; font-size:13px; color:var(--text); background:#0d1428; border:1px solid var(--border); border-radius:8px; padding:5px 8px; }
.cont-controls { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; padding:12px 14px; border-top:1px solid var(--line); }
.cont-controls label { display:grid; gap:5px; font-size:12px; color:var(--muted); }
.cont-controls .row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; color:var(--text); font-size:13px; }
.cont-controls input[type=number] { width:90px; }
.cont-sum { padding:10px 14px; border-top:1px solid var(--line); font-size:13px; color:var(--text); background:rgba(100,231,181,.05); }
.cont-actions { display:flex; gap:10px; justify-content:flex-end; align-items:center; flex-wrap:wrap; margin-top:6px; }
.cont-confirm { border:1px solid rgba(100,231,181,.4); border-radius:12px; padding:14px; background:rgba(100,231,181,.06); margin-bottom:14px; }
.cont-confirm h3 { margin:0 0 8px; font-size:15px; }
.cont-confirm ul { margin:0 0 10px; padding-left:18px; display:grid; gap:4px; font-size:13px; }
.cont-sched { border:1px solid rgba(77,224,255,.3); border-radius:12px; padding:10px 14px; margin-bottom:14px; font-size:13px; display:grid; gap:6px; }
.cont-sched .it { display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; }
.cont-excl summary { cursor:pointer; padding:8px 14px; color:var(--muted); font-size:12.5px; border-top:1px solid var(--line); }
.cont-controls .row.sug { font-size:12.5px; color:var(--muted); } .cont-controls .row.sug b { color:var(--text); }
.cont-table input.num { width:72px; }
.cont-table td, .cont-table th { padding:8px 9px; }
.cont-table input.num { width:62px; padding:4px 6px; }
.cont-sub { padding:9px 14px 6px; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#c8d3ef; border-top:1px solid var(--line); }
.cont-table tr.off td.why { max-width:330px; }
body.demo-on #who, body.demo-on .who { visibility:hidden; }

.creative[data-id] { cursor:pointer; }
.creative[data-id]:hover { border-color:var(--cyan); }

/* graded placement (2026-09-27): greens without spam, yellow -> red as spam grows */
.badge.grade.g1 { color:#3fd97f; background:rgba(63,217,127,.13); border-color:rgba(63,217,127,.42); }
.badge.grade.g2 { color:#7eeaa9; background:rgba(126,234,169,.14); border-color:rgba(126,234,169,.45); }
.badge.grade.g3 { color:#aef6cc; background:rgba(174,246,204,.16); border-color:rgba(174,246,204,.55); box-shadow:0 0 8px rgba(140,240,185,.45); }
.badge.grade.g4 { color:#e2ffee; background:rgba(214,255,232,.18); border-color:rgba(214,255,232,.7); box-shadow:0 0 14px rgba(170,255,210,.75); }
.badge.grade.r1 { color:#ffd84d; background:rgba(255,216,77,.13); border-color:rgba(255,216,77,.45); }
.badge.grade.r2 { color:#ffa042; background:rgba(255,160,66,.14); border-color:rgba(255,160,66,.45); }
.badge.grade.r3 { color:#ff6a4d; background:rgba(255,106,77,.14); border-color:rgba(255,106,77,.48); }
.badge.grade.r4 { color:#ff3b3b; background:rgba(255,59,59,.15); border-color:rgba(255,59,59,.55); }

/* badges bold (2026-09-27): all result badges bold; Spam is red, also in the per-inbox popup */
.badge { font-weight:700; letter-spacing:.01em; }
.badge.spam { color:#ff3b3b; background:rgba(255,59,59,.15); border-color:rgba(255,59,59,.55); }

/* Resume sending — per-account decision surface (2026-09-27) */
.rs-filter { display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:flex-end; margin-bottom:12px; }
.rs-filter .chip { font-size:12px; padding:5px 11px; }
.rs-list { border:1px solid var(--line); border-radius:12px; margin-bottom:14px; overflow:hidden; }
.rs-list-head { display:flex; justify-content:space-between; align-items:center; gap:10px 14px; flex-wrap:wrap; padding:12px 14px; background:rgba(145,116,255,.07); }
.rs-list-head b { font-size:15px; }
.rs-start { display:flex; align-items:center; gap:9px; flex-wrap:wrap; padding:10px 14px; border-top:1px solid var(--line); font-size:13px; color:var(--text); }
.rs-start .lbl { color:var(--muted); }
.rs-start .rs-sug { margin-left:2px; } .rs-start .rs-sug b { color:var(--text); }
.rs-start select, .rs-start input, .rs-det-grid input, .rs-ex select { font:inherit; font-size:13px; color:var(--text); background:#0d1428; border:1px solid var(--border); border-radius:8px; padding:6px 9px; }
.rs-accts { padding:6px 14px 10px; }
.rs-none { padding:10px 2px; }
.rs-acct { border:1px solid var(--line); border-radius:10px; margin:8px 0; background:#0c1326; overflow:hidden; transition:opacity .15s, border-color .15s; }
.rs-acct.held { opacity:.55; }
.rs-main { display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap; padding:11px 14px; }
.rs-who { flex:1 1 190px; min-width:0; }
.rs-who .rs-plat { font-weight:700; }
.rs-who .rs-dom { color:var(--muted); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12.5px; overflow-wrap:anywhere; }
.rs-vb { flex:none; display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.rs-cr { flex:1 1 150px; min-width:0; color:var(--cyan); font-size:12.5px; font-weight:600; overflow-wrap:anywhere; }
.rs-got { color:var(--muted); font-weight:500; font-size:11px; }
.rs-seg { flex:none; display:inline-flex; margin-left:auto; border:1px solid var(--border); border-radius:9px; overflow:hidden; }
.rs-seg button { background:transparent; color:var(--muted); border:0; padding:7px 15px; font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; transition:background .12s, color .12s; }
.rs-seg button + button { border-left:1px solid var(--border); }
.rs-seg .rs-yes.active { background:rgba(100,231,181,.16); color:var(--green); }
.rs-seg .rs-no.active { background:rgba(255,196,107,.15); color:var(--amber); }
.rs-seg button:not(.active):hover { color:var(--text); }
.rs-details { border-top:1px solid var(--line); }
.rs-details > summary { list-style:none; cursor:pointer; padding:7px 14px; font-size:12px; color:var(--muted); user-select:none; }
.rs-details > summary::-webkit-details-marker { display:none; }
.rs-details > summary:before { content:"\25B8  "; color:var(--violet); }
.rs-details[open] > summary:before { content:"\25BE  "; }
.rs-details > summary:hover { color:var(--text); }
.rs-det-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px 14px; padding:2px 14px 12px; }
.rs-det-grid label { display:grid; gap:4px; font-size:10.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.rs-det-grid input { width:100%; }
.rs-fact { display:grid; gap:2px; font-size:10.5px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; align-content:start; }
.rs-fact b { color:var(--text); font-size:13px; font-weight:600; text-transform:none; letter-spacing:0; }
.rs-fact.rs-wide { grid-column:1 / -1; }
.rs-excl { border-top:1px solid var(--line); }
.rs-excl > summary { list-style:none; cursor:pointer; padding:9px 14px; color:var(--muted); font-size:12.5px; user-select:none; }
.rs-excl > summary::-webkit-details-marker { display:none; }
.rs-excl > summary:before { content:"\25B8  "; color:var(--violet); }
.rs-excl[open] > summary:before { content:"\25BE  "; }
.rs-excl > summary:hover { color:var(--text); }
.rs-ex-list { padding:0 0 6px; }
.rs-ex { display:flex; justify-content:space-between; align-items:center; gap:10px 14px; flex-wrap:wrap; padding:7px 14px; border-top:1px solid rgba(139,118,255,.08); font-size:12.5px; }
.rs-ex-who { color:var(--muted); overflow-wrap:anywhere; }
.rs-ex .why { color:var(--amber); text-align:right; white-space:normal; margin-left:auto; }
@media (max-width:560px) { .rs-seg { margin-left:0; } .rs-ex .why { text-align:left; margin-left:0; } }

/* Per-account play/pause in the placement results table (owner 2026-09-27) */
td.acct-actions{white-space:nowrap;text-align:center}
.pp-btn{font:600 14px/1 Inter,system-ui,sans-serif;min-width:58px;height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);cursor:pointer;color:#c8d3ef;padding:0 8px}
.pp-btn:disabled{opacity:.5;cursor:default}
.pp-tag.pp-held{color:#ffb3b3;border-color:rgba(255,107,107,.55);background:rgba(255,107,107,.08)}
/* Actions column: state tag stacked above the button so the column stays narrow (owner 2026-09-27). */
.pp-tag,.pp-idle{display:block;width:max-content;margin:0 auto 4px;font:700 10px/1 Inter,system-ui,sans-serif;letter-spacing:.06em;border-radius:6px;padding:3px 6px}
.pp-tag{color:#ffd79a;border:1px solid rgba(255,196,107,.55);background:rgba(255,196,107,.08)}
.pp-idle{color:#8d99b8;font-weight:500;letter-spacing:.02em;padding:0 0 1px}
.pp-btn.pp-quiet{opacity:.8}

/* click feedback on the Pause / Resume button (owner 2026-09-27) */
.pp-btn.pp-busy{opacity:.75;cursor:progress}
.pp-btn.pp-ok{border-color:#39d98a;color:#7ef0b6;background:rgba(57,217,138,.12);opacity:1}
.pp-btn.pp-wait{border-color:#ffc46b;color:#ffd79a;background:rgba(255,196,107,.1);opacity:1}
.pp-btn.pp-bad{border-color:#ff6b6b;color:#ffb3b3;opacity:1}

/* Resume sending: strategy choice (warmup window / Smart Sending+) with a 24-bar curve preview (owner 2026-09-27) */
.rs-strat .chips{gap:6px}
.rs-smart{flex:1 1 100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.rs-curve{flex:0 0 auto}.rs-curve rect{fill:var(--violet)}.rs-curve rect.rest{fill:rgba(154,166,194,.25)}
.rs-smart .note{min-width:0;overflow-wrap:anywhere}
.rs-smart label input{font:inherit;font-size:13px;color:var(--text);background:#0d1428;border:1px solid var(--border);border-radius:8px;padding:4px 8px}

/* PL_PILLFIX_V1: missing inboxes — grey when final, soft cyan while still being read */
.badge.grade.m0 { color:var(--muted); background:rgba(156,169,196,.1); border-color:rgba(156,169,196,.3); }
.badge.grade.m1 { color:#8fe3ff; background:rgba(77,224,255,.08); border-color:rgba(77,224,255,.3); }

/* PL_PICKER_V1 */
.modal.pick { display:flex; flex-direction:column; overflow:hidden; }
.pick-body { overflow-y:auto; overflow-x:hidden; min-height:0; }
.pick-lbl { font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.pick-plats { display:flex; flex-wrap:wrap; gap:8px; }
.pick-chip { display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; border:1px solid var(--border); background:rgba(255,255,255,.03); color:var(--text); font:600 13px/1.2 inherit; cursor:pointer; }
.pick-chip .n { color:var(--muted); font-weight:500; }
.pick-chip[aria-pressed="true"] { border-color:rgba(77,224,255,.7); background:rgba(77,224,255,.12); color:#e8fbff; }
.pick-chip:focus-visible, .pick-row input:focus-visible { outline:3px solid #ffb703; outline-offset:2px; }
.pick-accs { display:grid; gap:12px; }
.pick-empty { color:var(--muted); font-size:13px; margin:0; }
.pick-grp { border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.pick-gh { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px; background:rgba(255,255,255,.03); font-weight:700; }
.pick-gh label { display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:13px; color:var(--muted); cursor:pointer; }
.pick-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:9px 14px; border-top:1px solid var(--line); cursor:pointer; }
.pick-row .nm { min-width:0; overflow-wrap:anywhere; }
.pick-row .nm b { font-weight:700; }
.pick-row .tags { display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.pick-err { margin:0; color:#ff8a7a; font-size:13px; }
.pick-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:14px 22px; border-top:1px solid var(--line); background:var(--panel-solid); }
.pick-tray { display:inline-flex; gap:8px; }

/* MULTICREATIVE_V1: multi-creative rows expand into one sub-row per creative */
tr.mc-row { cursor:pointer; }
tr.mc-row:hover td { background:rgba(145,116,255,.05); }
.mc-toggle { font:inherit; font-size:11px; line-height:1; width:22px; height:22px; margin-right:7px; vertical-align:middle; color:var(--cyan); background:transparent; border:1px solid var(--border); border-radius:6px; cursor:pointer; }
.mc-toggle:hover { border-color:var(--border-hover); }
.mc-sum { color:var(--text); font-weight:600; font-size:12.5px; }
tr.mc-sub td { background:rgba(12,19,38,.72); padding-top:8px; padding-bottom:8px; }
tr.mc-sub td.creative { padding-left:22px; overflow-wrap:anywhere; }
.mc-branch { color:var(--muted); margin-right:6px; }
.mc-unrec { color:var(--muted); font-style:italic; overflow-wrap:anywhere; }
.mc-hint { display:block; color:var(--amber); font-size:12px; font-weight:600; margin-bottom:3px; }
.mc-mhead { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:12px; font-weight:600; color:var(--muted); margin:6px 0 2px; }
.mc-mhead .mc-hint { display:inline; margin:0; }
.mc-mblock { display:grid; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
/* MULTICREATIVE_V1: the subject snippet shrinks with the viewport so the grid never scrolls sideways (was 1186px at 1100) */
td.subj .snip { max-width:clamp(160px, calc(100vw - 920px), 420px); }

/* SCALE5_V1: Excellent = light green glowing · Good = green · OK = yellow · Bad = red · Worst = dark red */
.badge.grade.lv-excellent { color:#e2ffee; background:rgba(125,255,178,.2); border-color:rgba(125,255,178,.75); box-shadow:0 0 12px rgba(125,255,178,.75); animation:lvGlow 2.4s ease-in-out infinite; }
.badge.grade.lv-good { color:#3fd97f; background:rgba(63,217,127,.13); border-color:rgba(63,217,127,.42); }
.badge.grade.lv-ok { color:#ffd84d; background:rgba(255,216,77,.13); border-color:rgba(255,216,77,.45); }
.badge.grade.lv-bad { color:#ff6a6a; background:rgba(255,80,80,.15); border-color:rgba(255,80,80,.5); }
.badge.grade.lv-worst { color:#ffb3b3; background:rgba(140,20,32,.55); border-color:#8c1420; }
@keyframes lvGlow { 50% { box-shadow:0 0 18px rgba(125,255,178,1); } }
@media (prefers-reduced-motion: reduce) { .badge.grade.lv-excellent { animation:none; } }
