:root {
  --fg:#0b0b0b; --muted:#52514e; --line:#e1e4e8; --accent:#0b5fff; --bg:#fafbfc; --surface:#fcfcfb;
  --series-1:#2a78d6; --series-2:#eb6834; --series-3:#1baf7a; --series-4:#eda100;
  --grid:#e6e5e0; --dur:#d3d2cb; --speech:#52514e; --ink:#52514e;
}
@media (prefers-color-scheme: dark) {
  :root {
    --fg:#ffffff; --muted:#c3c2b7; --line:#3a3a37; --accent:#6c9cff; --bg:#121211; --surface:#1a1a19;
    --series-1:#3987e5; --series-2:#d95926; --series-3:#199e70; --series-4:#c98500;
    --grid:#2e2e2b; --dur:#3f3f3b; --speech:#c3c2b7; --ink:#c3c2b7;
  }
}
* { box-sizing: border-box; }
body { margin:0; font:15px/1.45 system-ui, sans-serif; color:var(--fg); background:var(--bg); }
header { display:flex; gap:24px; align-items:center; padding:10px 24px; background:var(--surface); border-bottom:1px solid var(--line); }
header nav { flex:1; display:flex; gap:16px; }
header a { color:var(--muted); text-decoration:none; padding:4px 0; }
header a.on { color:var(--fg); border-bottom:2px solid var(--accent); }
main { padding:24px; max-width:1680px; margin:0 auto; }
h1 { font-size:22px; margin:0 0 16px; } h2 { font-size:17px; margin:32px 0 8px; }
table { width:100%; border-collapse:collapse; background:var(--surface); border:1px solid var(--line); }
th, td { text-align:left; padding:6px 10px; border-bottom:1px solid var(--line); }
th { font-size:12px; text-transform:uppercase; color:var(--muted); }
td.num { text-align:right; font-variant-numeric:tabular-nums; }
.muted { color:var(--muted); } .err { color:#b31d28; } .warn { background:var(--surface)8c5; padding:8px 12px; border:1px solid #e3d04f; }
.filters a { margin-right:12px; color:var(--muted); text-decoration:none; } .filters a.on { color:var(--fg); font-weight:600; }
.st { padding:1px 8px; border-radius:10px; background:#eee; font-size:12px; }
.st.aplicado { background:#dcffe4; } .st.falhou { background:#ffdce0; } .st.rejeitado { background:#ffe8cc; } .st.entregue { background:#dbedff; }
.card { background:var(--surface); border:1px solid var(--line); padding:24px; } .narrow { max-width:340px; margin:80px auto; }
label { display:block; margin:12px 0; } input { display:block; width:100%; padding:7px 9px; border:1px solid var(--line); border-radius:4px; }
button { padding:7px 14px; border:0; border-radius:4px; background:var(--accent); color:#fff; cursor:pointer; }
button.link { background:none; color:var(--muted); }

a { color:var(--accent); }
.subnav { margin:-8px 0 16px; color:var(--muted); } .subnav .on { color:var(--fg); font-weight:600; }
.tiles { display:flex; flex-wrap:wrap; gap:12px; margin:0 0 8px; }
.tile { background:var(--surface); border:1px solid var(--line); padding:10px 14px; min-width:150px; }
.tile-v { font-size:24px; font-weight:600; font-variant-numeric:tabular-nums; }
.tile-l { color:var(--muted); font-size:13px; } .tile-h { color:var(--muted); font-size:11px; }
.legend { display:flex; flex-wrap:wrap; gap:14px; list-style:none; padding:0; margin:4px 0 8px; font-size:13px; color:var(--muted); }
.legend li { display:flex; align-items:center; gap:6px; }
.sw { display:inline-block; width:12px; height:12px; }
.sw-talk { background:var(--series-1); } .sw-short { background:var(--series-2); }
.sw-broll { background:var(--series-3); } .sw-discard { background:var(--series-4); }
.sw-dur { background:var(--dur); } .sw-speech { background:var(--speech); }
.chart { max-width:100%; height:auto; display:block; background:var(--surface); border:1px solid var(--line); }
.chart .lbl { fill:var(--muted); font-size:11px; font-family:system-ui, sans-serif; }
.chart .grid { stroke:var(--grid); stroke-width:1; }
.chart .dur { fill:var(--dur); } .chart .speech { fill:var(--speech); }
.c-talk { fill:var(--series-1); } .c-short { fill:var(--series-2); }
.c-broll { fill:var(--series-3); } .c-discard { fill:var(--series-4); } .c-ink { fill:var(--ink); }
.chart .mark { fill-opacity:.85; }
details { margin:6px 0 0; } summary { cursor:pointer; color:var(--muted); }
.narrowtable { max-width:560px; }
.triage-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:16px; align-items:start; }
.player { position:sticky; top:8px; background:var(--surface); border:1px solid var(--line); padding:12px; }
.player video { width:100%; background:#000; }
.ptitle { margin:0 0 8px; font-size:14px; word-break:break-all; }
.facts { display:grid; grid-template-columns:auto 1fr; gap:2px 10px; font-size:13px; }
.facts dt { color:var(--muted); } .facts dd { margin:0; }
.filterbar { display:flex; flex-wrap:wrap; gap:14px; align-items:end; margin:0 0 10px; }
.filterbar label { margin:0; font-size:12px; color:var(--muted); } .filterbar select { display:block; padding:5px; background:var(--surface); color:var(--fg); border:1px solid var(--line); }
.filterbar label.check { display:flex; gap:6px; align-items:center; } .filterbar label.check input { width:auto; display:inline; }
.batch { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 8px; }
button.alt { background:var(--muted); } button.danger { background:#b31d28; }
.triage { font-size:13px; } .triage th a { color:inherit; text-decoration:none; }
.triage td.actions { white-space:nowrap; } .triage td.actions button { padding:2px 6px; font-size:12px; }
.triage td.reasons { max-width:240px; font-size:12px; color:var(--muted); }
.triage tr.cur { outline:2px solid var(--accent); outline-offset:-2px; }
.chip { padding:1px 8px; border-radius:10px; font-size:12px; color:var(--fg); border:1px solid var(--line); border-left-width:6px; }
.chip-talk { border-left-color:var(--series-1); } .chip-short { border-left-color:var(--series-2); }
.chip-broll { border-left-color:var(--series-3); } .chip-discard { border-left-color:var(--series-4); }
.flash { background:color-mix(in srgb, var(--series-3) 20%, var(--surface)); padding:8px 12px; border:1px solid var(--series-3); }
.hint { font-size:12px; }
@media (max-width: 1100px) { .triage-layout { grid-template-columns:1fr; } .player { position:static; } }
