/* TrackSmart — brand theme taken from the logo/icon: deep navy, electric blue to cyan, signal green.
   Night (dark) is the default; Day is [data-theme=light]. The toggle in the top bar saves the choice per browser.
   Every colour in this file comes from the variables below, so a palette change happens in this block only.
   Money/counts use tabular numerals. Legacy aliases (--fb/--electric/--orange) keep older rules working. */
:root {
  color-scheme:dark;
  --bg:#060d1f; --surface:#0d1a33; --surface2:#132544; --line:#223a66;
  --fg:#e9f1ff; --muted:#93a8cc;
  --accent:#1673e6; --accent2:#4cc9ff; --accent-soft:rgba(76,201,255,.14); --accent-line:rgba(76,201,255,.5);
  --good:#2ee59d; --bad:#ff7088; --warn:#f5c451;
  --good-solid:#0e8a55; --bad-solid:#d1304a;               /* solid button/badge fills that carry white text */
  --brand-grad:linear-gradient(90deg,#1673e6,#22d3ee 55%,#2ee59d);
  --glow:rgba(34,150,255,.20); --logo-plate:transparent; --shadow:rgba(0,0,0,.5);
  --navy:var(--bg); --fb:var(--accent); --electric:var(--accent2); --orange:var(--accent);
}
:root[data-theme="light"] {
  color-scheme:light;
  --bg:#f1f6fc; --surface:#ffffff; --surface2:#e9f0fa; --line:#d3deee;
  --fg:#0a1530; --muted:#52627f;
  --accent:#0f62d0; --accent2:#0a64b0; --accent-soft:rgba(15,98,208,.10); --accent-line:rgba(15,98,208,.45);
  --good:#0c7f4d; --bad:#c42a45; --warn:#8a5d00;
  --good-solid:#0c7f4d; --bad-solid:#c42a45;
  --brand-grad:linear-gradient(90deg,#0f62d0,#0891b2 55%,#0c7f4d);
  --glow:rgba(15,98,208,.12); --logo-plate:#0a1530; --shadow:rgba(10,21,48,.14);
}
* { box-sizing:border-box; }
/* The hidden attribute must always win: rules like `.form label { display:flex }` otherwise override the
   browser default and "hidden" fields stay on screen (Affiliate link form, catalog add-slot row, toasts). */
[hidden] { display:none !important; }
html, body { overflow-x:hidden; }
body { margin:0; background:var(--navy); color:var(--fg);
  font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a { color:var(--electric); text-decoration:none; } a:hover { text-decoration:underline; }
h2 { font-size:.95rem; font-weight:600; margin:0; letter-spacing:.02em; }
code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.85em; background:var(--surface2); padding:.05rem .35rem; border-radius:5px; }
.muted { color:var(--muted); font-weight:400; } .small { font-size:.8rem; } .bad { color:var(--bad); }
.inline { display:inline; }

.btn { cursor:pointer; border:0; border-radius:8px; padding:.45rem .8rem; font-weight:600; background:var(--fb); color:#fff; font-size:.85rem; display:inline-block; }
.btn.ghost { background:transparent; border:1px solid var(--line); color:var(--muted); }
.btn.ghost.danger { border-color:rgba(240,97,109,.5); color:var(--bad); }
.btn:hover { filter:brightness(1.08); text-decoration:none; }
.mini-btn { padding:.25rem .55rem; font-size:.72rem; }

/* ---- Login ---- */
.login-body { display:grid; place-items:center; min-height:100vh;
  background:radial-gradient(1200px 600px at 50% -10%, var(--glow), transparent 60%), var(--navy); }
.login-card { background:var(--surface); padding:2rem 2.25rem; border:1px solid var(--line); border-radius:16px;
  width:min(94vw,440px); box-shadow:0 20px 60px var(--shadow); text-align:center; position:relative; overflow:hidden; }
.login-card::before { content:""; position:absolute; inset:0 0 auto 0; height:3px; background:var(--brand-grad); }
.login-logo { display:block; margin:0 auto 1rem; background:var(--logo-plate); border-radius:14px; padding:.5rem .8rem; width:min(100%,340px); }
.login-logo img { display:block; width:100%; height:auto; }
.mark { color:var(--accent); font-size:.8em; }
.brand-tile { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; vertical-align:middle; margin-right:.5rem; }
.brand-tile img { width:34px; height:34px; object-fit:contain; filter:drop-shadow(0 0 6px var(--glow)); }
.wordmark { font-weight:800; letter-spacing:-.01em; font-size:1.1rem; } .wordmark b { background:var(--brand-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; font-weight:800; }
.login-card label { display:block; margin-bottom:.85rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); text-align:left; }
.login-card input { width:100%; margin-top:.3rem; padding:.62rem .7rem; background:var(--navy); border:1px solid var(--line); border-radius:9px; color:var(--fg); font-size:1rem; }
.login-card input:focus { outline:none; border-color:var(--electric); box-shadow:0 0 0 3px var(--accent-soft); }
.login-card button { width:100%; margin-top:.5rem; padding:.7rem; background:var(--fb); color:#fff; border:0; border-radius:9px; font-weight:600; font-size:.95rem; cursor:pointer; }
.error { color:var(--bad); font-size:.85rem; margin:0 0 1rem; text-align:center; }
.enrol { text-align:center; margin-bottom:1rem; }
.enrol .qr { display:block; margin:.5rem auto; background:#fff; border-radius:10px; padding:6px; }
.enrol details { margin-top:.4rem; color:var(--muted); } .enrol summary { cursor:pointer; }
.secret { display:inline-block; margin-top:.4rem; letter-spacing:.1em; user-select:all; }

/* ---- Top bar / nav ---- */
.topbar { display:flex; align-items:center; gap:1rem; padding:.55rem 1.25rem; background:var(--surface); border-bottom:1px solid var(--line); flex-wrap:wrap; }
.topbar .brand { font-weight:800; font-size:1.05rem; color:var(--fg); letter-spacing:.02em; }
.topbar .brand:hover { text-decoration:none; }
.nav { display:flex; gap:.2rem; }
.nav a, .nav .nav-soon { padding:.3rem .7rem; border-radius:8px; color:var(--muted); font-weight:600; font-size:.85rem; }
.nav a.active { background:var(--surface2); color:var(--fg); box-shadow:inset 0 -2px 0 var(--accent2); }
.nav a:hover { color:var(--fg); text-decoration:none; }
.nav .nav-soon { opacity:.45; cursor:default; }
.topbar .spacer { flex:1; }
.topbar .whoami { color:var(--muted); font-size:.8rem; }

/* ---- Layout ---- */
.wrap { padding:1.1rem 1.25rem; max-width:1440px; margin:0 auto; display:flex; flex-direction:column; gap:1.1rem; }
.panel { background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:1rem 1.1rem; min-width:0; }
.panel.narrow { max-width:520px; }
.panel-head { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.6rem; flex-wrap:wrap; }
.cols { display:grid; grid-template-columns:1.6fr 1fr; gap:1.1rem; min-width:0; }
@media (max-width:960px){ .cols { grid-template-columns:1fr; } }
.foot { text-align:center; padding:1rem; font-size:.75rem; }

/* ---- Tabs ---- */
.tabs { display:flex; gap:.25rem; border-bottom:1px solid var(--line); padding:0 .25rem; }
.tabs a { padding:.55rem .9rem; color:var(--muted); font-weight:600; font-size:.85rem; border-bottom:2px solid transparent; margin-bottom:-1px; }
.tabs a.active { color:var(--fg); border-bottom-color:var(--orange); }
.tabs a:hover { color:var(--fg); text-decoration:none; }

/* ---- KPIs ---- */
.kpis { display:grid; grid-template-columns:repeat(5,1fr); gap:.7rem; }
@media (max-width:1100px){ .kpis { grid-template-columns:repeat(3,1fr); } }
@media (max-width:620px){ .kpis { grid-template-columns:repeat(2,1fr); } }
.kpi { background:var(--surface2); border:1px solid var(--line); border-radius:12px; padding:.7rem .85rem; color:var(--fg); }
.kpi:hover { border-color:var(--electric); text-decoration:none; }
.kpi-label { font-size:.66rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.kpi-today { font-size:1.3rem; font-weight:700; margin:.1rem 0; font-variant-numeric:tabular-nums; }
.kpi-sub { margin-top:.3rem; font-size:.68rem; color:var(--muted); }

/* ---- Tables ---- */
.tablewrap { overflow-x:auto; }
table.grid { width:100%; border-collapse:collapse; font-size:.82rem; }
.grid th, .grid td { padding:.45rem .55rem; text-align:left; vertical-align:middle; }
.grid thead th { color:var(--muted); font-weight:600; font-size:.66rem; text-transform:uppercase; border-bottom:1px solid var(--line); white-space:nowrap; }
.grid td.num, .grid th.num { text-align:right; font-variant-numeric:tabular-nums; }
.grid tbody tr:nth-child(odd) { background:var(--surface2); }
.grid tr.archived td { opacity:.55; }
.actions-cell { white-space:nowrap; text-align:right; }
.actions-cell form { display:inline; }
.actions-cell .btn { margin-left:.25rem; }
.ua { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.swatch { display:inline-block; width:14px; height:14px; border-radius:4px; border:1px solid var(--line); vertical-align:middle; }
.logo-sm { height:18px; width:18px; object-fit:contain; border-radius:4px; background:#fff; margin-right:.35rem; vertical-align:middle; }

/* ---- Badges ---- */
.badge { display:inline-block; font-size:.62rem; text-transform:uppercase; letter-spacing:.05em; font-weight:700; padding:.12rem .45rem; border-radius:6px; background:var(--surface2); border:1px solid var(--line); color:var(--muted); vertical-align:middle; }
.badge.good { color:var(--good); border-color:rgba(49,196,141,.5); }
.badge.warn { color:var(--warn); border-color:rgba(255,207,92,.45); }
.badge.bad { color:var(--bad); border-color:rgba(240,97,109,.5); }

/* ---- Forms ---- */
.form label { display:flex; flex-direction:column; gap:.25rem; margin-bottom:.75rem; font-size:.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.form label .muted { text-transform:none; letter-spacing:0; }
.form input, .form select { padding:.5rem .6rem; background:var(--navy); color:var(--fg); border:1px solid var(--line); border-radius:8px; font-size:.9rem; text-transform:none; letter-spacing:0; }
.form input:focus, .form select:focus { outline:none; border-color:var(--electric); box-shadow:0 0 0 3px var(--accent-soft); }
.form .actions { display:flex; gap:.5rem; margin-top:.25rem; }
.hint { margin-top:.9rem; padding:.6rem .75rem; border-left:3px solid var(--orange); background:var(--surface2); border-radius:0 8px 8px 0; color:var(--muted); }

/* ---- Flash ---- */
.flashes { display:flex; flex-direction:column; gap:.5rem; }
.flash { padding:.55rem .8rem; border-radius:9px; border:1px solid var(--line); background:var(--surface); font-size:.85rem; }
.flash.ok { border-color:rgba(49,196,141,.5); }
.flash.bad { border-color:rgba(240,97,109,.6); color:var(--bad); }
.flash.warn { border-color:rgba(255,207,92,.5); }
.flash.secret { border-color:var(--orange); background:var(--surface2); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; user-select:all; }

/* ---- Links (Phase 2) ---- */
.filters-inline { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.7rem; }
.mini { padding:.45rem .6rem; background:var(--navy); color:var(--fg); border:1px solid var(--line); border-radius:8px; font-size:.85rem; }
.mini.wide { min-width:280px; flex:1; }
.copyable { cursor:copy; }
.copyable:hover { border:1px solid var(--electric); }
.row-actions { display:flex; gap:.35rem; align-items:center; flex-wrap:wrap; }
.meta-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.4rem .9rem; }
@media (max-width:900px){ .meta-grid { grid-template-columns:repeat(2,1fr); } }
.meta-grid .k, .url-block .k { display:block; font-size:.64rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.meta-grid .span2, .form .span2 { grid-column:span 2; }
.url-block { margin-bottom:.8rem; }
.url-row { display:flex; gap:.5rem; align-items:center; margin-top:.3rem; }
.url-row code { flex:1; padding:.45rem .6rem; overflow-x:auto; white-space:nowrap; font-size:.8rem; background:var(--navy); border:1px solid var(--line); border-radius:8px; }
.form.two-col { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }
@media (max-width:760px){ .form.two-col { grid-template-columns:1fr; } .form .span2 { grid-column:auto; } }
.form label.check { flex-direction:row; align-items:center; gap:.5rem; text-transform:none; letter-spacing:0; font-size:.85rem; color:var(--fg); }
.form label.check input { width:auto; }
.panel.narrow-wide { max-width:980px; }
.copied { background:var(--good) !important; }

/* ---- Snippets (Phase 3) ---- */
pre.snippet { background:var(--navy); border:1px solid var(--line); border-radius:10px; padding:.8rem 1rem; overflow:auto; font-size:.78rem; line-height:1.45; max-height:420px; }
pre.snippet code { background:transparent; padding:0; }

/* ---- Dashboard (Phase 4) ---- */
.filters { display:flex; flex-wrap:wrap; gap:.7rem; align-items:end; padding:.8rem 1rem; background:var(--surface2); border:1px solid var(--line); border-radius:14px; }
.filters label { display:flex; flex-direction:column; gap:.25rem; font-size:.66rem; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
.filters select, .filters input { padding:.45rem .6rem; background:var(--surface); color:var(--fg); border:1px solid var(--line); border-radius:8px; font-size:.85rem; min-width:120px; }
.filters .period { align-self:center; margin-left:auto; }
.hidden { display:none !important; }
.kpis.kpis-8 { grid-template-columns:repeat(8,1fr); }
@media (max-width:1300px){ .kpis.kpis-8 { grid-template-columns:repeat(4,1fr); } }
@media (max-width:620px){ .kpis.kpis-8 { grid-template-columns:repeat(2,1fr); } }
.charts { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
@media (max-width:1100px){ .charts { grid-template-columns:1fr; } }
.chart { position:relative; height:190px; }
.cols.equal { grid-template-columns:repeat(3,1fr); }
@media (max-width:1100px){ .cols.equal { grid-template-columns:1fr; } }
table.grid.compact { font-size:.78rem; }
.grid td.good { color:var(--good); } .grid td.bad { color:var(--bad); }
th.sorted { color:var(--fg) !important; }

/* ---- Phase 7: saved views, chips ---- */
.saved-views { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.chip { display:inline-flex; align-items:center; gap:.2rem; background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:.15rem .3rem .15rem .7rem; }
.chip a { color:var(--fg); } .chip .x { background:transparent; border:0; color:var(--muted); cursor:pointer; font-size:1rem; line-height:1; padding:0 .3rem; }
.chip .x:hover { color:var(--bad); }
.save-view { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
h2 .inline select { margin-left:.4rem; padding:.2rem .4rem; font-size:.75rem; }

/* ---- Integrations ---- */
.recipes { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:1rem; }
.recipe { background:var(--surface2); border:1px solid var(--line); border-radius:12px; padding:.8rem 1rem; }
.recipe ol { margin:.4rem 0 0 1.1rem; padding:0; } .recipe li { margin-bottom:.3rem; }
.panel-head .tabs { border:0; padding:0; }

/* ---- Danger zone ---- */
.danger-zone summary { cursor:pointer; }
.reset-form { display:flex; flex-wrap:wrap; gap:.7rem; align-items:center; margin-top:.6rem; padding:.7rem .9rem; border:1px dashed rgba(255,107,129,.5); border-radius:10px; }
.reset-form p { margin:0; flex:1 1 100%; color:var(--muted); }
.reset-form label { display:flex; align-items:center; gap:.4rem; }

/* ---- Overflow safety (long URLs) + saved-row highlight ---- */
.panel, .cols > *, .form.two-col > *, .url-block, .hint { min-width:0; }
.hint, .hint code, .meta-grid div, .small.muted { overflow-wrap:anywhere; }
.form.two-col { width:100%; }
.form input, .form select { width:100%; max-width:100%; }
.grid tr.highlight td { background:rgba(47,191,113,.14) !important; animation:fadeRow 4s ease-out forwards; }
@keyframes fadeRow { from { background:rgba(47,191,113,.28); } to { background:rgba(47,191,113,.10); } }

/* ---- Inline delete (Links list) ---- */
.inline-delete { display:inline-block; vertical-align:middle; }
.inline-delete summary { list-style:none; display:inline-block; cursor:pointer; }
.inline-delete summary::-webkit-details-marker { display:none; }
.inline-delete[open] .delete-form { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; margin-top:.4rem; padding:.45rem .6rem; background:var(--surface2); border:1px dashed rgba(255,107,129,.6); border-radius:8px; white-space:normal; text-align:left; }
.btn.danger-solid { background:var(--bad-solid); color:#fff; }
.actions-cell details { text-align:right; }

/* ---- Inline reset (green) ---- */
.btn.ghost.good { border-color:rgba(47,191,113,.55); color:var(--good); }
.btn.good-solid { background:var(--good-solid); color:#fff; }
.inline-reset[open] .delete-form { border-color:rgba(47,191,113,.6); }

/* ---- Media (Amendment 6) ---- */
.nav-badge { display:inline-block; min-width:1.1rem; padding:0 .35rem; border-radius:999px; background:var(--bad-solid); color:#fff; font-size:.66rem; line-height:1.2rem; text-align:center; vertical-align:middle; }
.banner { padding:.55rem .9rem; border-radius:10px; border:1px solid var(--line); background:var(--surface); font-size:.85rem; margin-bottom:.6rem; }
.banner.down { border-color:rgba(255,107,129,.6); background:rgba(255,107,129,.10); }
.media-tabs { margin-bottom:.8rem; }
.media-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:.9rem; }
.mcard { background:var(--surface2); border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; min-width:0; position:relative; }
.mcard.down { background:rgba(255,107,129,.12); border-color:rgba(255,107,129,.55); }
.mcard.paused { opacity:.6; }
.mcard.highlight { animation:fadeCard 4s ease-out forwards; }
@keyframes fadeCard { from { box-shadow:0 0 0 3px rgba(47,191,113,.7); } to { box-shadow:0 0 0 0 rgba(47,191,113,0); } }
.mcard .thumb { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; background:var(--navy); }
.mcard .thumb.empty { display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:.8rem; }
.mcard .body { padding:.7rem .85rem .8rem; display:flex; flex-direction:column; gap:.4rem; min-width:0; }
.mcard .title { display:flex; justify-content:space-between; gap:.5rem; align-items:flex-start; }
.mcard .title strong { font-size:.95rem; line-height:1.3; overflow-wrap:anywhere; }
.mcard .desc { color:var(--muted); font-size:.8rem; max-height:3.9em; overflow:hidden; overflow-wrap:anywhere; }
.mcard .stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.3rem; font-variant-numeric:tabular-nums; }
.mcard .stats div { background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:.3rem .4rem; text-align:center; min-width:0; }
.mcard .stats .k { display:block; font-size:.6rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.mcard .stats .v { display:block; font-size:.9rem; font-weight:600; }
.mcard .row-actions { margin-top:.2rem; }
.mcard .net { font-size:.75rem; color:var(--muted); overflow-wrap:anywhere; }
.badge.muted-tone { color:var(--muted); }
.thumb-sm { width:56px; height:36px; object-fit:cover; border-radius:6px; background:var(--navy); border:1px solid var(--line); vertical-align:middle; }
.page-card { margin-bottom:1rem; }
.page-card.down { border-color:rgba(255,107,129,.6); background:rgba(255,107,129,.07); }
.page-card.highlight { animation:fadeCard 4s ease-out forwards; }
.grid tr.down td { background:rgba(255,107,129,.14) !important; }
.slot-form { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; }
.slot-form select, .slot-form input { padding:.35rem .5rem; background:var(--navy); color:var(--fg); border:1px solid var(--line); border-radius:8px; font-size:.85rem; }
.slot-form input[type=number] { width:4.5rem; }
.form textarea { padding:.5rem .6rem; background:var(--navy); color:var(--fg); border:1px solid var(--line); border-radius:8px; font-size:.9rem; text-transform:none; letter-spacing:0; width:100%; max-width:100%; min-height:4.5rem; font-family:inherit; resize:vertical; }
.form textarea:focus { outline:none; border-color:var(--electric); box-shadow:0 0 0 3px var(--accent-soft); }
.form input[type=file] { padding:.35rem; }
.preview-img { max-width:100%; max-height:160px; border-radius:8px; border:1px solid var(--line); background:var(--navy); display:block; }
.fetch-row { display:flex; gap:.4rem; align-items:end; }
.fetch-row label { flex:1; }
.fetch-row .btn { margin-bottom:.75rem; white-space:nowrap; }
.fetch-msg { font-size:.8rem; color:var(--muted); min-height:1.2em; }
.embed-help code { overflow-wrap:anywhere; white-space:pre-wrap; }

/* ---- Pages & slots: fit on one screen ---- */
.tablewrap.slots { overflow-x:visible; }
table.grid.slots { table-layout:auto; width:100%; }
table.grid.slots td, table.grid.slots th { white-space:normal; padding:.4rem .45rem; }
table.grid.slots td.num, table.grid.slots th.num { white-space:nowrap; }
.offer-cell { display:flex; gap:.5rem; align-items:center; min-width:0; }
.offer-cell .thumb-sm { flex:0 0 56px; display:inline-block; }
.offer-meta { min-width:0; overflow-wrap:anywhere; line-height:1.3; }
.offer-meta .badge { vertical-align:baseline; }
code.slug { overflow-wrap:anywhere; white-space:normal; font-size:.75rem; }
.slot-manage summary { white-space:nowrap; }
.slot-manage[open] .manage-form { display:flex; flex-direction:column; align-items:stretch; gap:.4rem; border-color:var(--line); position:absolute; right:0; z-index:5; background:var(--surface); min-width:280px; box-shadow:0 8px 24px rgba(0,0,0,.35); }
.slot-manage[open] .manage-form .slot-form { display:flex; }
.slot-manage[open] .manage-form select { flex:1; min-width:0; max-width:220px; }
.actions-cell { position:relative; }
@media (max-width:1100px){ .tablewrap.slots { overflow-x:auto; } }

/* ---- Media: collapsible offer rows + page cards ---- */
.orow-head, .orow > summary { display:grid; grid-template-columns:86px minmax(180px,2fr) minmax(150px,1.3fr) repeat(8, minmax(58px,.6fr)) 28px; gap:.5rem; align-items:center; }
.orow-head { padding:.35rem .6rem; color:var(--muted); font-size:.66rem; text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--line); }
.orow-head .num, .orow > summary .num { text-align:right; font-variant-numeric:tabular-nums; }
.orow { border-bottom:1px solid var(--line); }
.orow > summary { list-style:none; cursor:pointer; padding:.45rem .6rem; }
.orow > summary::-webkit-details-marker { display:none; }
.orow:nth-child(odd) > summary { background:var(--surface2); }
.orow > summary:hover { background:var(--accent-soft); }
.orow.down > summary { background:rgba(255,107,129,.12); }
.orow.paused > summary { opacity:.6; }
.orow.highlight > summary { animation:fadeRow 4s ease-out forwards; }
.orow .oname, .orow .onet { min-width:0; overflow-wrap:anywhere; line-height:1.3; }
.orow .chev { color:var(--muted); transition:transform .15s; display:inline-block; text-align:center; }
.orow[open] .chev, .page-card[open] .chev { transform:rotate(90deg); }
.obody { padding:.6rem .8rem .8rem 4.6rem; display:flex; flex-direction:column; gap:.5rem; background:var(--surface); }
.ocols { display:grid; grid-template-columns:1.4fr 1fr; gap:1rem; min-width:0; }
.ocols > * { min-width:0; overflow-wrap:anywhere; }
@media (max-width:1100px){ .ocols { grid-template-columns:1fr; } .orow-head { display:none; } .orow > summary { grid-template-columns:86px 1fr 1fr 28px; } .orow > summary .num { display:none; } }
details.page-card > summary { list-style:none; cursor:pointer; margin:0; }
details.page-card > summary::-webkit-details-marker { display:none; }
details.page-card > summary h2 { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
details.page-card > summary .chev { color:var(--muted); display:inline-block; transition:transform .15s; }
details.page-card[open] > summary { margin-bottom:.6rem; }
.page-body .panel-head { margin-bottom:.4rem; }

/* ---- Catalog (Amendment 7) ---- */
.badge.pending { color:var(--warn); border-color:rgba(255,207,92,.45); }
.badge.enabled { color:var(--good); border-color:rgba(49,196,141,.5); }
.badge.disabled { color:var(--muted); }
.orow.pending > summary { box-shadow: inset 3px 0 0 var(--warn); }
.orow .sel { width:auto; margin:0; }
.bulk-bar { display:flex; gap:.4rem; align-items:center; flex-wrap:wrap; padding:.4rem .6rem; background:var(--surface2); border:1px solid var(--line); border-radius:10px; margin-bottom:.5rem; }
.import-grid td.small { overflow-wrap:anywhere; }

/* ---- Edit queue ---- */
.badge.approved { color:var(--accent2); border-color:var(--accent-line); }
.nav-badge.warn-badge { background:var(--warn); color:#111; }
.qrow { display:grid; grid-template-columns:150px 1fr 120px; gap:1rem; padding:.8rem .6rem; border-bottom:1px solid var(--line); align-items:start; }
.qrow.down { background:rgba(255,107,129,.08); }
.qrow:nth-child(odd) { background:var(--surface2); }
.qthumb img { width:150px; max-height:90px; object-fit:cover; border-radius:8px; border:1px solid var(--line); background:var(--navy); display:block; margin-bottom:.3rem; }
.qfields label { margin-bottom:.4rem; }
.qfields textarea { min-height:3rem; }
.qenable { padding-top:1.2rem; display:flex; flex-direction:column; gap:.4rem; }
.qenable .check { font-size:.95rem; }
@media (max-width:900px){ .qrow { grid-template-columns:1fr; } .qthumb img { width:100%; max-height:160px; } .qenable { padding-top:0; } }
.orow .payout { white-space:nowrap; font-weight:600; }

/* ---- Not resonating (Settings → Alerts) ---- */
.orow.underperf > summary { background:rgba(255,207,92,.16); }
.orow.underperf > summary:hover { background:rgba(255,207,92,.26); }
:root[data-theme="light"] .orow.underperf > summary { background:rgba(255,214,0,.22); }
.replace-form { display:inline-flex; gap:.3rem; margin-right:.3rem; }
.replace-form select { max-width:220px; }
.grid tr.prev-version td { opacity:.55; background:transparent !important; border-top:0; padding-top:.15rem; font-size:.78rem; }
.grid tr.prev-version .thumb-sm { width:40px; height:26px; }
.q-toast { position:fixed; left:50%; bottom:1.2rem; transform:translateX(-50%); background:var(--surface2); border:1px solid var(--line); border-radius:10px; padding:.55rem .9rem; font-size:.85rem; box-shadow:0 8px 24px rgba(0,0,0,.4); z-index:20; }

/* ---- Offer report ---- */
table.report-grid th a { color:inherit; }
table.report-grid td, table.report-grid th { white-space:nowrap; }
table.report-grid td:nth-child(2) { white-space:normal; min-width:220px; }
.kpi .small.muted { margin-top:.15rem; }

/* ---- Copy kit ---- */
.kit-h { font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin:.2rem 0 .5rem; font-weight:600; }
.kit-cols > div { min-width:0; }
.url-row code.wrap { white-space:pre-line; overflow-wrap:anywhere; }
.kit-pre { white-space:pre-line; padding:.5rem .6rem; background:var(--navy); border:1px solid var(--line); border-radius:8px; margin-top:.3rem; max-height:260px; overflow:auto; }
.url-block { margin-bottom:.6rem; }


/* ---- Day / Night toggle (icon + the mode it switches TO) ---- */
#theme-toggle { display:inline-flex; align-items:center; gap:.35rem; }
#theme-toggle svg { width:15px; height:15px; flex:none; }
#theme-toggle .to-night, #theme-toggle .ic-moon { display:none; }
:root[data-theme="light"] #theme-toggle .to-day, :root[data-theme="light"] #theme-toggle .ic-sun { display:none; }
:root[data-theme="light"] #theme-toggle .to-night { display:inline; }
:root[data-theme="light"] #theme-toggle .ic-moon { display:inline; }
.login-theme { position:fixed; top:.9rem; right:.9rem; }
:focus-visible { outline:2px solid var(--accent2); outline-offset:2px; }
