/* Gestão de Contratos — identidade institucional: azul + filete dourado. */
:root{
  --bg:#EEF2F7; --surface:#FFFFFF; --surface-2:#F5F7FB; --ink:#13233A; --muted:#58697F; --line:#D8E0EA;
  --brand:#0E2F57; --brand-2:#174D8C; --brand-soft:#E6EEF8; --brand-ink:#FFFFFF; --gold:#E2B007;
  --btn-bg:#174D8C; --btn-fg:#FFFFFF; --shadow:0 1px 2px rgba(14,47,87,.06),0 6px 18px rgba(14,47,87,.07);
  --ok:#1F6B45; --ok-bg:#DDEFE4; --at:#8A5A00; --at-bg:#F5EBD3; --lar:#B4560B; --lar-bg:#FBE6D4;
  --danger:#A32A2A; --danger-bg:#F8E5E5; --neu:#58697F; --neu-bg:#E9EDF2; --ia:#5B3E9A; --ia-bg:#ECE6F7; --focus:#2B6CB0;
  --font:'Public Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-head:'Source Serif 4',Georgia,'Times New Roman',serif;
  --mono:'IBM Plex Mono',ui-monospace,Consolas,Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0B1320; --surface:#111C2B; --surface-2:#162334; --ink:#E4EBF4; --muted:#93A3B8; --line:#25354A;
  --brand:#0A2240; --brand-2:#86B6EC; --brand-soft:#17304F; --brand-ink:#EAF1FA; --gold:#E9C33A;
  --btn-bg:#86B6EC; --btn-fg:#0B1320; --shadow:none;
  --ok:#6FCB98; --ok-bg:#143727; --at:#E0B25A; --at-bg:#3A2D10; --lar:#F0A066; --lar-bg:#3D2412;
  --danger:#F08A8A; --danger-bg:#3C1A1A; --neu:#93A3B8; --neu-bg:#1C2A3C; --ia:#B79DE0; --ia-bg:#2B2140; --focus:#86B6EC; color-scheme:dark}}

*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p{margin:0}
a{color:var(--brand-2)}
/* links soltos no texto e nas tabelas: sem sublinhado (volta ao passar o mouse) */
.principal a:not([class]){text-decoration:none;font-weight:600}
.principal a:not([class]):hover{text-decoration:underline}
/* botão "Voltar" no alto das fichas (opção B) */
.voltar{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px 0 8px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;
  background:var(--surface);color:var(--muted);font-size:13.5px;font-weight:600;text-decoration:none}
.voltar:hover{color:var(--brand-2);border-color:var(--brand-2);background:var(--brand-soft)}
.voltar svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.wrap{width:100%;max-width:1400px;margin:0 auto;padding-left:20px;padding-right:20px}
.muted{color:var(--muted)}
.app{min-height:100vh;display:flex}
.conteudo{flex:1;min-width:0;display:flex;flex-direction:column}
.principal{flex:1;padding-top:26px;padding-bottom:30px;outline:none}
.rodape{font-size:12.5px;padding-top:10px;padding-bottom:22px}
.carregando{color:var(--muted);padding:40px 0}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* menu lateral (opção A): faixa azul institucional na vertical, filete dourado à direita */
.lateral{flex:0 0 252px;position:sticky;top:0;height:100vh;overflow-y:auto;box-sizing:border-box;background:var(--brand);color:var(--brand-ink);
  border-right:4px solid var(--gold);display:flex;flex-direction:column;gap:2px;padding:18px 12px}
.marca{display:flex;align-items:center;gap:10px;padding:4px 10px 14px}
.marca svg{flex:none}
.marca .m1{fill:#FFFFFF;opacity:.95}.marca .m2{fill:var(--brand)}.marca .m3{fill:var(--gold)}.marca .m4{fill:none;stroke:var(--brand);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.orgao{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#93A9C4;line-height:1.3}
.nome-app{font-family:var(--font-head);font-weight:600;font-size:17px;line-height:1.15;color:#fff;white-space:nowrap}
.lateral a{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border-radius:8px;color:#D6E2F0;text-decoration:none;font-size:14.5px;font-weight:600}
.lateral a svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lateral a:hover{background:rgba(255,255,255,.08);color:#fff}
.lateral a[aria-current="page"]{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 3px 0 0 var(--gold)}
.lateral a.importar{justify-content:center;gap:8px;min-height:44px;margin:2px 2px 6px;background:var(--gold);color:#13233A;font-weight:700}
.lateral a.importar:hover{filter:brightness(1.06);background:var(--gold);color:#13233A}
.lateral a.importar[aria-current="page"]{box-shadow:inset 0 0 0 2px #fff}
.lateral .grupo{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#93A9C4;font-weight:700;padding:16px 12px 6px}
.lateral .nota{margin-left:auto;font-size:11px;font-weight:600;color:#93A9C4}
.lateral .contador{margin-left:auto}
.usuario{margin-top:auto;border-top:1px solid rgba(255,255,255,.15);padding:14px 8px 2px;display:flex;align-items:center;gap:10px}
.avatar{width:36px;height:36px;border-radius:50%;background:#174D8C;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}
.u-nome{color:#fff;font-weight:600;font-size:13.5px;line-height:1.3}
.u-acoes{font-size:12.5px;color:#B9CBE0}
.contador{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--gold);color:#13233A;font-size:12px;font-weight:700;text-align:center;line-height:20px}
.lk{background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:2px;opacity:.85}
.lk:hover{opacity:1}
.principal .lk{color:var(--brand-2)}
.login-marca{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.login-marca .m1{fill:var(--brand)}.login-marca .m2{fill:#fff}.login-marca .m3{fill:var(--gold)}.login-marca .m4{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round}
/* tela estreita: o menu vira uma faixa no alto, com os itens lado a lado */
@media (max-width:900px){
  .app{flex-direction:column}
  .lateral{position:static;height:auto;flex:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px;padding:10px 12px;border-right:0;border-bottom:4px solid var(--gold)}
  .lateral .marca{width:100%;padding:2px 4px 6px}
  .lateral .grupo{display:none}
  .lateral a{min-height:44px;font-size:14px}
  .lateral a.importar{margin:0}
  .usuario{margin-top:0;border-top:0;width:100%;padding:6px 4px 0}
}

/* botões e formulários */
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:7px 14px;cursor:pointer;font-weight:600;font-size:14px;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn:hover{border-color:var(--brand-2)}
.btn.pri{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
.btn.pri:hover{filter:brightness(1.08)}
.btn.perigo{color:var(--danger);border-color:var(--danger-bg)}
.btn.perigo:hover{border-color:var(--danger)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.peq{padding:4px 10px;font-size:13px}
.acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
label.campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.campo > span.rot{font-size:13px;font-weight:600}
.campo > span.rot .req{color:var(--danger)}
input[type=text],input[type=password],input[type=date],input[type=search],input[type=number],select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:7px 10px;width:100%;min-width:0}
textarea{min-height:68px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--focus);outline-offset:0;border-color:transparent}
.campo.falta input,.campo.falta select,.campo.falta textarea{border-color:var(--danger)}
.dica{font-size:12.5px;color:var(--muted)}
.erro{color:var(--danger);font-size:14px;font-weight:600}
.grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.grade .inteiro{grid-column:1/-1}
.grade.tres{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:700px){.grade.tres{grid-template-columns:minmax(0,1fr)}}
.entrega-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:14px;border-radius:8px;background:var(--cb);border-left:5px solid var(--c);color:var(--text,inherit)}
.recebimentos{border-top:1px solid var(--line);padding:14px 16px 16px}
.rec-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.rec-cab h3{margin:0;font-size:15px}
.rec-cab .acoes{display:flex;gap:8px;flex-wrap:wrap}
.recebimentos .barra{margin-top:0}
.rec-lista{margin-top:10px}
.hist.rec-lista li{grid-template-columns:100px minmax(0,1fr) auto;align-items:start;padding-left:0;padding-right:0}
.rec-lista .sub{display:block;font-size:12.5px;color:var(--muted)}
.rec-itens{display:grid;gap:8px;max-height:46vh;overflow:auto}
.rec-item{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:8px}
.rec-item > span{flex:1;min-width:0;font-size:13.5px}
.rec-item input{width:110px;text-align:right;flex:0 0 auto}
.termo-form{display:grid;gap:12px;padding:16px 18px}
.termo-form .grade{gap:12px}
.termo-form .grade .campo{min-width:0}
.faixa-reiniciar{margin:14px 20px 0;padding:10px 14px;border-radius:8px;background:var(--at-bg);color:var(--ink);border-left:5px solid var(--at);font-size:14px}
.campo-imgs{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.campo-imgs > .btn{align-self:flex-start}
.tm-imgs{display:grid;gap:8px}
.tm-img{display:flex;gap:10px;align-items:flex-start;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}
.tm-img img{width:84px;height:64px;object-fit:cover;border-radius:4px;flex:none;background:#fff}
.tm-img-campos{flex:1;min-width:0;display:grid;gap:6px}
.tm-img-acoes{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.tm-img-acoes select{flex:1 1 130px;width:auto;min-width:0}
.hist-ver{padding:8px 16px 12px;margin:0;border-top:1px solid var(--line)}
.tab td.desc{min-width:220px}
@media (min-width:901px) and (max-width:1280px){.lateral{flex-basis:236px}.lateral .marca{padding-left:4px;padding-right:0;gap:8px}.lateral .nome-app{font-size:14px;white-space:nowrap}.lateral .orgao{font-size:9.5px}}
.termo-grade{display:grid;grid-template-columns:minmax(340px,440px) minmax(0,1fr);gap:18px;align-items:start}
.termo-grade textarea{font-size:14px;line-height:1.45}
/* prévia do termo: fica visível enquanto se rola o formulário e tem rolagem própria (vertical) para ver a folha inteira */
.termo-visor{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#C9D2DE;border-radius:10px;padding:14px;position:sticky;top:12px;max-height:calc(100vh - 24px)}
.termo-visor iframe{display:block;width:794px;height:1123px;border:0;background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.25)}
@media (max-width:1100px){.termo-grade{grid-template-columns:1fr}.termo-visor{position:static;max-height:none}}
.teste-lista{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}
.teste-lista li{padding-left:24px;position:relative}
.teste-lista li::before{position:absolute;left:0;font-weight:700}
.teste-lista li.ok::before{content:"✓";color:var(--ok)}
.teste-lista li.av::before{content:"!";color:var(--at)}
.teste-lista li.ruim::before{content:"✗";color:var(--danger)}
.entrega-status .chip{background:transparent;padding-left:0;font-size:13.5px}

/* cartões */
.cartao{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}
.cartao > .cab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line)}
.cartao > .cab h2,.cartao > .cab h3{font-size:16px;font-weight:700}
.cartao > .corpo{padding:16px}
.titulo-pg{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.titulo-pg h2{font-family:var(--font-head);font-size:26px;font-weight:600;line-height:1.15}
.titulo-pg p{color:var(--muted);font-size:14px;margin-top:3px}
.titulo-pg h2 .chip{font-family:var(--font);font-size:13px;vertical-align:middle;margin-left:6px}
.pilha{display:flex;flex-direction:column;gap:18px}

/* painel */
.indicadores{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ind{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;text-align:left;cursor:pointer;border-top:4px solid var(--c,var(--line))}
.ind:hover{border-color:var(--c,var(--brand-2))}
.ind[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--c,var(--brand-2))}
.ind .n{font-size:28px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--c2,var(--ink))}
.ind .r{font-size:13px;color:var(--muted);margin-top:2px}
.ind.dinheiro .n{font-size:20px;padding-top:6px}
.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex:1}
.filtros input[type=search]{max-width:360px;flex:1 1 220px}
.filtros select{width:auto}
table.tab{width:100%;border-collapse:collapse;font-size:14px}
.tab th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tab td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tab tr:last-child td{border-bottom:0}
.tab tbody tr.clic{cursor:pointer}
.tab tbody tr.clic:hover{background:var(--surface-2)}
.tab .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tab .nw{white-space:nowrap}
.tab .obj{max-width:420px}
.tab .sub{display:block;font-size:12.5px;color:var(--muted)}
.rolagem{overflow-x:auto}
.vazio{padding:28px 16px;text-align:center;color:var(--muted)}
.mono{font-family:var(--mono);font-size:13px}

/* situação */
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px;font-size:12.5px;font-weight:700;white-space:nowrap;background:var(--cb,var(--neu-bg));color:var(--cf,var(--neu))}
.chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.s-ok{--cb:var(--ok-bg);--cf:var(--ok);--c:var(--ok)}
.s-120{--cb:var(--at-bg);--cf:var(--at);--c:var(--at)}
.s-60{--cb:var(--lar-bg);--cf:var(--lar);--c:var(--lar)}
.s-30,.s-venc{--cb:var(--danger-bg);--cf:var(--danger);--c:var(--danger)}
.s-neu{--cb:var(--neu-bg);--cf:var(--neu);--c:var(--neu)}
.s-todos{--c:var(--brand-2)}
.ind.s-venc .n,.ind.s-30 .n{color:var(--danger)}
.ind.zero .n{color:var(--muted)!important}
.ind.zero{border-top-color:var(--line)}

/* alertas do painel */
.alertas{display:flex;flex-direction:column}
.alerta{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.alerta:last-child{border-bottom:0}
.alerta:hover{background:var(--surface-2)}
.alerta .t{font-weight:600}
.alerta .d{font-size:13px;color:var(--muted)}

/* importação */
.soltar{border:2px dashed var(--line);border-radius:10px;padding:40px 20px;text-align:center;background:var(--surface);cursor:pointer;display:block}
.soltar:hover,.soltar.sobre{border-color:var(--brand-2);background:var(--brand-soft)}
.soltar strong{display:block;font-size:17px;margin-bottom:4px}
.soltar input{position:absolute;width:1px;height:1px;opacity:0}
.opcao-ia{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);margin-top:14px}
.opcao-ia input{margin-top:4px}
.progresso{display:flex;flex-direction:column;gap:8px;padding:30px 16px;align-items:center;text-align:center}
.giro{width:30px;height:30px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand-2);animation:gira 1s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.giro{animation-duration:3s}}

.revisao{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;align-items:start}
.visor{position:sticky;top:12px;height:calc(100vh - 40px);min-height:520px;display:flex;flex-direction:column}
.visor iframe{flex:1;width:100%;border:0;border-radius:0 0 8px 8px;background:#525659}
.visor .cab{padding:9px 14px}
.visor .cab .nome{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.faixa-info{border-radius:8px;padding:11px 14px;font-size:14px;border:1px solid var(--line);background:var(--surface-2)}
.faixa-info.ia{background:var(--ia-bg);border-color:transparent}
.faixa-info.regras{background:var(--brand-soft);border-color:transparent}
.faixa-info.atencao{background:var(--at-bg);border-color:transparent;color:var(--ink)}
.faixa-info.ruim{background:var(--danger-bg);border-color:transparent}
.faixa-info ul{margin:6px 0 0;padding-left:18px}
.origem{font-size:12.5px;color:var(--muted);display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
.origem .selo{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:0 6px;background:var(--neu-bg);color:var(--neu)}
.origem .selo.ia{background:var(--ia-bg);color:var(--ia)}
.origem .selo.regras{background:var(--brand-soft);color:var(--brand-2)}
.origem .selo.calculado{background:var(--at-bg);color:var(--at)}
.origem .selo.pncp{background:var(--ok-bg);color:var(--ok)}
.faixa-info.pncp{background:var(--ok-bg);border-color:transparent}
.abas{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 12px}
.abas button{border:0;background:none;padding:10px 12px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px}
.abas button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--brand-2)}
.abas button .contador{background:var(--neu-bg);color:var(--neu)}
.estado-busca{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ranking{list-style:none;margin:0;padding:0;font-size:14px}
.ranking li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 16px;border-bottom:1px solid var(--line)}
.ranking li:last-child{border-bottom:0}
.ranking .barra{grid-column:1/-1;margin-top:0;height:5px}
.duas{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:18px;align-items:start}
.estado-busca.quatro{grid-template-columns:repeat(4,minmax(0,1fr))}
.it-linha{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}
.it-linha:nth-child(even){background:var(--surface-2)}
.it-nums{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end}
.it-cx{display:flex;flex-direction:column;gap:3px;min-width:0}
.it-cx > span{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.it-cx textarea{min-height:46px}
.it-total{display:block;padding:7px 0;font-variant-numeric:tabular-nums;white-space:nowrap}
.it-rem{align-self:flex-end;margin-bottom:2px}
.aviso-doc{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap}
@media (max-width:1100px){.duas,.estado-busca,.estado-busca.quatro{grid-template-columns:1fr}}
.origem .selo.nao{background:var(--danger-bg);color:var(--danger)}
.origem button.trecho{all:unset;cursor:pointer;color:var(--brand-2);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;overflow-wrap:anywhere}
.origem .aviso{color:var(--at);font-weight:600}
.confere{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);font-weight:600}
.confere input{margin-top:4px}

/* detalhe do contrato */
.det-topo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bloco-num{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.bloco-num .r{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.bloco-num .v{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}
.bloco-num .s{font-size:13px;color:var(--muted)}
.barra{height:8px;border-radius:4px;background:var(--neu-bg);margin-top:10px;overflow:hidden}
.barra > i{display:block;height:100%;background:var(--c,var(--brand-2));border-radius:4px}
dl.dados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px;margin:0}
dl.dados > div{min-width:0}
dl.dados dt{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700}
dl.dados dd{margin:2px 0 0;overflow-wrap:anywhere;white-space:pre-line}
dl.dados .inteiro{grid-column:1/-1}
.hist{list-style:none;margin:0;padding:0;font-size:13.5px}
.hist li{padding:8px 16px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px}
.hist li:last-child{border-bottom:0}
.hist .q{color:var(--muted);font-variant-numeric:tabular-nums}

/* diálogo e avisos */
.dlg{border:1px solid var(--line);border-radius:10px;padding:0;width:min(520px,calc(100vw - 32px));background:var(--surface);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.dlg::backdrop{background:rgba(10,20,35,.45)}
.dlg form{padding:20px;display:flex;flex-direction:column;gap:14px}
.dlg h2{font-size:18px}
.dlg-acoes{display:flex;justify-content:flex-end;gap:8px}
.aviso-flutuante{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:8px;font-weight:600;font-size:14px;box-shadow:var(--shadow);z-index:20;max-width:calc(100vw - 32px)}
.aviso-flutuante.ruim{background:var(--danger);color:#fff}

/* login */
.login{max-width:400px;margin:40px auto}
.login form{display:flex;flex-direction:column;gap:14px}

@media (max-width:1100px){
  .indicadores{grid-template-columns:repeat(3,minmax(0,1fr))}
  .revisao{grid-template-columns:1fr}
  .visor{position:static;height:70vh}
}
@media (max-width:700px){
  .grade,dl.dados,.det-topo{grid-template-columns:1fr}
  .indicadores{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hist li,.hist.rec-lista li{grid-template-columns:1fr}
  .tab .obj{max-width:none}
}
@media print{
  .lateral,.acoes,.filtros,.rodape{display:none!important}
  body{background:#fff}
  .cartao{box-shadow:none}
}
