/* Tokens do tema. O claro vive em :root; o escuro e aplicado em dois lugares:
   pela preferencia do sistema (a menos que o usuario tenha escolhido claro) e
   pela escolha explicita em data-theme="dark". */
:root{
  --ground:#F6F7F9; --panel:#FFFFFF; --line:#DDE1E7; --line-soft:#E9ECF0;
  --ink:#1B2028; --ink-2:#5A6472; --ink-3:#8A94A2;
  --brand:#1E3A5F; --stamp:#B04A2F;
  --chip:#EEF1F5; --hi:#FBF1EC;
  --ok:#3F6B4A; --ok-bg:#E8F0EA; --off:#8A94A2; --off-bg:#EEF1F5; --unk:#8A6D2F; --unk-bg:#F7F0DF;
  --shadow:0 1px 2px rgba(27,32,40,.05), 0 4px 14px rgba(27,32,40,.05);
  --sidebar:#1E3A5F; --sidebar-ink:#C7D3E0; --sidebar-muted:#8FB2DA; --sidebar-active:#E08055;
  color-scheme:light;
}

@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
  --ground:#13161B; --panel:#1A1E25; --line:#2C323B; --line-soft:#232830;
  --ink:#E6E9ED; --ink-2:#A2ABB7; --ink-3:#6F7986;
  --brand:#8FB2DA; --stamp:#E08055;
  --chip:#232931; --hi:#2A211D;
  --ok:#7FB08C; --ok-bg:#1E2A22; --off:#6F7986; --off-bg:#22272E; --unk:#C9A857; --unk-bg:#2A2519;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.25);
  --sidebar:#0F1A29; --sidebar-ink:#A9B8C9; --sidebar-muted:#6F8CB0; --sidebar-active:#E08055;
  color-scheme:dark;
  }
}

:root[data-theme="dark"]{
  --ground:#13161B; --panel:#1A1E25; --line:#2C323B; --line-soft:#232830;
  --ink:#E6E9ED; --ink-2:#A2ABB7; --ink-3:#6F7986;
  --brand:#8FB2DA; --stamp:#E08055;
  --chip:#232931; --hi:#2A211D;
  --ok:#7FB08C; --ok-bg:#1E2A22; --off:#6F7986; --off-bg:#22272E; --unk:#C9A857; --unk-bg:#2A2519;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.25);
  --sidebar:#0F1A29; --sidebar-ink:#A9B8C9; --sidebar-muted:#6F8CB0; --sidebar-active:#E08055;
  color-scheme:dark;
}

*{box-sizing:border-box}
body{margin:0; background:var(--ground); color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; font-size:15px; line-height:1.5}
.wrap{max-width:1180px; margin:0 auto; padding:32px 24px 80px}
header{border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:24px}
.eyebrow{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); margin:0 0 10px; font-weight:600}
h1{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif; font-size:clamp(26px,3.4vw,36px);
  line-height:1.15; margin:0 0 8px; font-weight:600; letter-spacing:-.01em}
.sub{color:var(--ink-2); margin:0; max-width:70ch}
.sub code, .sub b, footer code{background:var(--chip); padding:1px 5px; border-radius:3px; font-size:13px}
.stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:1px;
  background:var(--line-soft); border:1px solid var(--line-soft); border-radius:8px; overflow:hidden; margin:22px 0 0}
.stat{background:var(--panel); padding:14px 16px}
.stat .n{font-size:26px; font-weight:650; font-variant-numeric:tabular-nums; letter-spacing:-.02em; color:var(--brand)}
.stat .l{font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:var(--ink-3); font-weight:600; margin-top:2px}
.controls{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:26px 0 14px}
input[type=search]{flex:1 1 260px; min-width:0; padding:9px 12px; border:1px solid var(--line);
  border-radius:7px; background:var(--panel); color:var(--ink); font-size:14px; font-family:inherit}
select{padding:9px 10px; border:1px solid var(--line); border-radius:7px; background:var(--panel);
  color:var(--ink); font:inherit; font-size:13.5px; font-weight:600; cursor:pointer}
input:focus-visible, select:focus-visible, .chip:focus-visible, .row:focus-visible{outline:2px solid var(--brand); outline-offset:2px}
.chips{display:flex; flex-wrap:wrap; gap:6px}
.chip{border:1px solid var(--line); background:var(--panel); color:var(--ink-2); padding:6px 11px;
  border-radius:999px; font-size:12.5px; font-weight:600; cursor:pointer; font-family:inherit; font-variant-numeric:tabular-nums}
.chip:hover{border-color:var(--ink-3)}
.chip[aria-pressed="true"]{background:var(--brand); border-color:var(--brand); color:var(--panel)}
.chip .c{opacity:.65; margin-left:4px; font-weight:500}
.count{font-size:12.5px; color:var(--ink-3); margin:0 0 10px; font-variant-numeric:tabular-nums}
.list{display:flex; flex-direction:column; gap:1px; background:var(--line-soft);
  border:1px solid var(--line-soft); border-radius:8px; overflow:hidden; box-shadow:var(--shadow)}
.row{background:var(--panel); border:0; width:100%; text-align:left; font:inherit; color:inherit; cursor:pointer; padding:0; display:block}
.row:hover, .row[aria-expanded="true"]{background:var(--chip)}
.rowtop{display:grid; grid-template-columns:76px 92px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 16px}
.trib{font-size:10.5px; font-weight:700; letter-spacing:.05em; color:var(--brand); border:1px solid var(--line);
  border-radius:4px; padding:3px 0; text-align:center; background:var(--chip)}
.pill{font-size:10.5px; font-weight:700; letter-spacing:.04em; text-align:center; padding:3px 0; border-radius:4px; text-transform:uppercase}
.pill.active{color:var(--ok); background:var(--ok-bg)}
.pill.closed{color:var(--off); background:var(--off-bg)}
.pill.unknown{color:var(--unk); background:var(--unk-bg)}
.pnum{display:block; font-variant-numeric:tabular-nums; font-size:14px; font-weight:600; letter-spacing:-.01em}
.pclasse, .ppartes{display:block; font-size:12.5px; color:var(--ink-2); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.ppartes .v{color:var(--ink-3); margin:0 5px; font-weight:600}
.ppartes .mais{color:var(--ink-3)}
mark{background:var(--hi); color:var(--stamp); font-weight:700; border-radius:2px; padding:0 1px}
.meta{text-align:right; white-space:nowrap; display:flex; flex-direction:column; align-items:flex-end; gap:2px}
.prazo{font-size:11px; font-weight:700; padding:2px 7px; border-radius:4px; white-space:nowrap; font-variant-numeric:tabular-nums; background:var(--hi); color:var(--stamp)}
.prazo.venc{background:var(--off-bg); color:var(--off)}
.prazo.ok{background:var(--ok-bg); color:var(--ok)}
.prazo.unknown{background:var(--unk-bg); color:var(--unk)}
.prazo.sobre{background:var(--chip); color:var(--ink-3); font-weight:600}
.dt{font-size:13px; font-variant-numeric:tabular-nums; color:var(--ink-2); font-weight:600}
.dt.recent{color:var(--stamp)}
.ncom{font-size:11px; color:var(--ink-3); font-variant-numeric:tabular-nums}
.detail{display:none; padding:14px 16px 18px 182px; background:var(--panel)}
.row[aria-expanded="true"] + .detail{display:block}
.row[aria-expanded="true"] .rowtop{border-bottom:1px dashed var(--line)}
.lbl{font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-3); font-weight:700; margin:0 0 5px}
.mov{font-size:12.5px; color:var(--ink-2); margin:0 0 12px}
.mov b{color:var(--ink)}
.mov.motivo{background:var(--unk-bg); color:var(--unk); border-left:2px solid var(--unk); padding:8px 10px; border-radius:0 5px 5px 0; line-height:1.5}
.partes{display:flex; flex-wrap:wrap; gap:5px; margin:0 0 14px}
.parte{font-size:12px; background:var(--chip); border:1px solid var(--line); border-radius:4px; padding:3px 8px; color:var(--ink-2)}
.parte b{color:var(--ink); font-weight:600}
.polo{font-size:9.5px; font-weight:700; letter-spacing:.06em; margin-right:5px; color:var(--ink-3)}
.tl{list-style:none; margin:6px 0 0; padding:0 0 0 14px; border-left:1px solid var(--line);
  display:flex; flex-direction:column; gap:9px; max-height:340px; overflow-y:auto}
.tl li{position:relative; display:grid; grid-template-columns:78px minmax(0,1fr); gap:10px; font-size:12.5px}
.tl li::before{content:""; position:absolute; left:-18px; top:6px; width:7px; height:7px; border-radius:50%; background:var(--line); border:1px solid var(--panel)}
.tl li.publicacao::before{background:var(--stamp)}
.tl li.movimento::before{background:var(--brand)}
.tl .d{color:var(--ink-3); font-variant-numeric:tabular-nums; white-space:nowrap}
.tl .t{color:var(--ink); font-weight:600}
.tl li.movimento .t{color:var(--ink-2); font-weight:500}
.tl .x{color:var(--ink-2); font-weight:400; display:block; margin-top:2px; line-height:1.45}
.empty{background:var(--panel); padding:36px; text-align:center; color:var(--ink-3)}
footer{margin-top:30px; padding-top:18px; border-top:1px solid var(--line); font-size:12.5px; color:var(--ink-3); line-height:1.6}
footer b{color:var(--ink-2); font-weight:600}
@media (max-width:640px){
  .rowtop{grid-template-columns:64px 86px minmax(0,1fr); gap:8px}
  .meta{grid-column:1/-1; text-align:left}
  .detail{padding-left:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important; animation:none!important}}
