/* Painel DAG — folha de estilo única.
   Paleta em tokens no :root; o bloco escuro só redefine tokens. */

:root{
  color-scheme: light dark;
  --bg:#F4F4F1; --surface:#FCFCFA; --surface-2:#EFEFEB;
  --ink:#1E1D1A; --ink-2:#63625C; --ink-3:#94938B;
  --rule:#DEDDD6; --rule-2:#CBCAC1;
  --accent:#1F5B70; --accent-soft:#E2EDF1;
  --crit:#9E3B2B; --crit-soft:#F3E3DF;
  --warn:#8E6A1E; --warn-soft:#F4EDDC;
  --ok:#3F6B4F; --ok-soft:#E3EDE5;
  --sans:"IBM Plex Sans",-apple-system,"Segoe UI",sans-serif;
  --serif:"Newsreader",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#161817; --surface:#1E211F; --surface-2:#252825;
    --ink:#EAEAE4; --ink-2:#9B9B93; --ink-3:#6E6E67;
    --rule:#2E322F; --rule-2:#3D423E;
    --accent:#6FB6CC; --accent-soft:#1B2E35;
    --crit:#E08A76; --crit-soft:#33211D;
    --warn:#D8B35C; --warn-soft:#2F2819;
    --ok:#7FB08F; --ok-soft:#1D2A21;
  }
}
:root[data-theme="dark"]{
  --bg:#161817; --surface:#1E211F; --surface-2:#252825;
  --ink:#EAEAE4; --ink-2:#9B9B93; --ink-3:#6E6E67;
  --rule:#2E322F; --rule-2:#3D423E;
  --accent:#6FB6CC; --accent-soft:#1B2E35;
  --crit:#E08A76; --crit-soft:#33211D;
  --warn:#D8B35C; --warn-soft:#2F2819;
  --ok:#7FB08F; --ok-soft:#1D2A21;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--bg);color:var(--ink-2);font-family:var(--sans);
 font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1040px;margin:0 auto;
 padding-block:calc(28px + env(safe-area-inset-top,0px)) calc(64px + env(safe-area-inset-bottom,0px));
 padding-left:20px;padding-right:20px;}
h1,h2,h3{color:var(--ink);margin:0;text-wrap:balance;}
a{color:inherit;}
[hidden]{display:none!important;}

.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;
 color:var(--ink-3);font-weight:600;margin:0 0 10px;}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(25px,4.2vw,38px);
 line-height:1.16;letter-spacing:-.01em;max-width:22ch;}
.sub{margin:10px 0 0;font-size:15px;max-width:62ch;}

.statusbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;
 margin-top:18px;font-size:12px;color:var(--ink-3);}
.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block;flex:none;}
.dot.stale{background:var(--warn);} .dot.off{background:var(--rule-2);}
.dot.erro{background:var(--crit);}
.btn{font:inherit;font-size:12px;border:1px solid var(--rule-2);background:var(--surface);
 border-radius:5px;padding:4px 10px;cursor:pointer;color:var(--ink-2);}
.btn:hover{border-color:var(--ink-3);}
.btn[aria-busy="true"]{opacity:.55;cursor:progress;}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

section{margin-top:42px;}
.shead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
 flex-wrap:wrap;border-bottom:1px solid var(--rule);padding-bottom:9px;margin-bottom:18px;}
h2{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;}
.shead .note{font-size:12px;color:var(--ink-3);}

.daygrid{display:grid;grid-template-columns:1.55fr 1fr;gap:18px;align-items:start;}
.panel{background:var(--surface);border:1px solid var(--rule);border-radius:7px;padding:18px;}
.rail{position:relative;height:74px;margin:6px 0 4px;}
.rail .track{position:absolute;left:0;right:0;top:34px;height:1px;background:var(--rule-2);}
.rail .hour{position:absolute;top:40px;font-size:10px;color:var(--ink-3);
 transform:translateX(-50%);font-family:var(--mono);}
.rail .tick{position:absolute;top:30px;width:1px;height:5px;background:var(--rule-2);}
.rail .ev{position:absolute;top:14px;height:16px;border-radius:3px;
 background:var(--accent);min-width:5px;}
.rail .ev.soft{background:var(--rule-2);}
.rail .ev .lbl{position:absolute;bottom:20px;left:0;white-space:nowrap;
 font-size:11px;color:var(--ink);font-weight:600;}
.rail .now{position:absolute;top:8px;height:30px;width:1.5px;background:var(--crit);}
.evlist{list-style:none;margin:14px 0 0;padding:0;}
.evlist li{display:flex;gap:12px;padding:7px 0;border-top:1px solid var(--rule);font-size:13.5px;}
.evlist li:first-child{border-top:none;}
.evlist .tm{font-family:var(--mono);font-size:12px;color:var(--ink-3);
 min-width:82px;flex:none;font-variant-numeric:tabular-nums;}
.evlist .nm{color:var(--ink);min-width:0;}
.empty{font-size:13px;color:var(--ink-3);margin:8px 0 0;}
.mini{font-size:12.5px;margin:0 0 10px;color:var(--ink-2);}
.bring{list-style:none;margin:0;padding:0;}
.bring li{padding:8px 0;border-top:1px solid var(--rule);font-size:13px;}
.bring li:first-child{border-top:none;}
.bring a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--rule-2);}
.bring a:hover{border-bottom-color:var(--ink);}
.bring .why{display:block;color:var(--ink-3);font-size:12px;margin-top:1px;}

.pipe{display:grid;gap:8px;}
.pipe .row{display:grid;grid-template-columns:minmax(0,1fr) 46px 96px;gap:12px;
 align-items:center;padding:7px 0;border-top:1px solid var(--rule);}
.pipe .row:first-child{border-top:none;}
.pipe .row.total{border-top:1px solid var(--rule-2);margin-top:4px;}
.pipe .row.total .nm,.pipe .row.total .vl{color:var(--ink);font-weight:600;}
.pipe .nm{font-size:13px;color:var(--ink);min-width:0;}
.pipe .bar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin-top:5px;}
.pipe .bar i{display:block;height:100%;background:var(--accent);border-radius:3px;}
.pipe .ct{font-family:var(--mono);font-size:13px;color:var(--ink);text-align:right;
 font-variant-numeric:tabular-nums;}
.pipe .vl{font-family:var(--mono);font-size:12px;color:var(--ink-3);text-align:right;
 font-variant-numeric:tabular-nums;}

.cards{display:grid;gap:10px;}
.card{display:grid;grid-template-columns:3px 1fr;background:var(--surface);
 border:1px solid var(--rule);border-radius:7px;overflow:hidden;}
.card .stripe{background:var(--rule-2);}
.card.crit .stripe{background:var(--crit);}
.card.warn .stripe{background:var(--warn);}
.card .body{padding:13px 16px;}
.card h3{font-size:14.5px;font-weight:600;line-height:1.35;}
.card h3 a{text-decoration:none;border-bottom:1px solid var(--rule-2);}
.card h3 a:hover{border-bottom-color:var(--ink);}
.card p{margin:4px 0 0;font-size:13px;}
.card .facts{margin-top:7px;display:flex;flex-wrap:wrap;gap:6px;}

.tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:4px;
 background:var(--surface-2);color:var(--ink-2);border:1px solid var(--rule);font-weight:500;}
.tag.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}
.tag.crit{background:var(--crit-soft);color:var(--crit);border-color:transparent;}
.tag.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent;}
.tag.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent;}
.tag.acc{background:var(--accent-soft);color:var(--accent);border-color:transparent;}

.controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center;}
.controls input,.controls select{font-family:var(--sans);font-size:13px;padding:6px 9px;
 border:1px solid var(--rule-2);border-radius:5px;background:var(--surface);color:var(--ink);}
.controls input{flex:1 1 200px;min-width:0;}
.controls .count{font-size:12px;color:var(--ink-3);margin-left:auto;
 font-family:var(--mono);font-variant-numeric:tabular-nums;}

.phase-h{display:flex;align-items:baseline;gap:9px;margin:22px 0 7px;}
.phase-h:first-of-type{margin-top:0;}
.phase-h .t{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;
 font-weight:700;color:var(--ink);}
.phase-h .c{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);}
.phase-h .l{flex:1;height:1px;background:var(--rule);}

.proc{list-style:none;margin:0;padding:0;}
.proc li{display:grid;grid-template-columns:30px 1fr auto;gap:12px;padding:9px 0;
 border-top:1px solid var(--rule);align-items:start;}
.proc li:first-child{border-top:none;}
.proc .num{font-family:var(--mono);font-size:12px;color:var(--ink-3);padding-top:2px;
 font-variant-numeric:tabular-nums;}
.proc .main{min-width:0;}
.proc .t{display:block;font-size:14px;font-weight:600;color:var(--ink);
 line-height:1.35;text-decoration:none;}
.proc .t:hover{text-decoration:underline;text-underline-offset:2px;}
.proc .meta{margin:3px 0 0;font-size:12.5px;color:var(--ink-2);}
.proc .meta b{font-family:var(--mono);font-weight:500;color:var(--ink);
 font-variant-numeric:tabular-nums;}
.proc .side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:1px;}

.tema-h{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;
 color:var(--ink);margin:22px 0 8px;}
.tema-h:first-child{margin-top:0;}
.news{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.news li{padding:0;}
.news h3{font-size:14px;font-weight:600;line-height:1.35;}
.news h3 a{text-decoration:none;border-bottom:1px solid var(--rule-2);}
.news h3 a:hover{border-bottom-color:var(--ink);}
.news p{margin:3px 0 0;font-size:12.5px;}
.news .src{font-size:11.5px;color:var(--ink-3);margin-top:3px;}

.banner{border:1px solid var(--rule-2);background:var(--surface);border-radius:6px;
 padding:11px 14px;font-size:12.5px;margin-bottom:14px;color:var(--ink-2);}
.banner b{color:var(--ink);font-weight:600;}
.banner.warn{background:var(--warn-soft);border-color:transparent;color:var(--ink);}
.banner.crit{background:var(--crit-soft);border-color:transparent;color:var(--ink);}

.foot{margin-top:40px;padding-top:14px;border-top:1px solid var(--rule);
 font-size:11.5px;color:var(--ink-3);}

@media (max-width:820px){ .daygrid{grid-template-columns:1fr;} }
@media (max-width:520px){
  .wrap{padding-left:16px;padding-right:16px;}
  .pipe .row{grid-template-columns:minmax(0,1fr) 38px 80px;gap:8px;}
  .proc li{grid-template-columns:24px 1fr;gap:9px;}
  .proc .side{grid-column:2;flex-direction:row;align-items:center;
   justify-content:flex-start;flex-wrap:wrap;}
  .rail .ev .lbl{display:none;}
  .controls .count{margin-left:0;width:100%;}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
