@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root{
  --tinta:#15242B; --tinta2:#3B525B; --musgo:#69777C;
  --papel:#ECEEE9; --carta:#FCFCFA; --carta2:#F3F5F0;
  --linha:#D5DBD3; --linha2:#C3CBC3;
  --petroleo:#1C4A52; --petroleo-fundo:#DCE7E4;
  --ouro:#BE9A2E; --ouro-forte:#8C6E15;
  --verde:#2C6349; --carmim:#8E1F2D; --ambar:#8A6110;
  --escuro:#14232A; --escuro2:#1E323A; --linha-escura:#2C4149;
  --claro:#E7ECE7; --musgo-escuro:#8CA1A4; --ouro-escuro:#D6B551;
  --sombra:0 1px 2px rgba(21,36,43,.05), 0 10px 26px -18px rgba(21,36,43,.28);
  --sombra-forte:0 2px 4px rgba(21,36,43,.06), 0 18px 40px -22px rgba(21,36,43,.45);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
  background:var(--papel); color:var(--tinta);
  font-family:'IBM Plex Sans',system-ui,sans-serif; font-size:15px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:'Archivo',sans-serif;margin:0;letter-spacing:-.018em}
.mono{font-family:'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums}
button{font-family:inherit;cursor:pointer}
a{color:var(--petroleo)}
.oculto{display:none !important}
::selection{background:var(--petroleo-fundo)}

/* ================= login ================= */
.tela-login{min-height:100vh;display:grid;place-items:center;
  background:radial-gradient(120% 100% at 50% -10%, #1D3A42 0%, var(--escuro) 60%);padding:20px}
.caixa-login{background:var(--carta);padding:38px 34px;width:100%;max-width:390px;
  border-top:4px solid var(--ouro);box-shadow:var(--sombra-forte)}
.caixa-login .olho{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--musgo);
  font-family:'Archivo',sans-serif;font-weight:700}
.caixa-login h1{font-size:21px;margin:8px 0 24px;font-weight:700;line-height:1.2}
.caixa-login label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;
  font-family:'Archivo',sans-serif;font-weight:600;color:var(--musgo);margin-bottom:16px}
.caixa-login input{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--linha2);
  background:#fff;font-family:inherit;font-size:15px;color:var(--tinta)}
.caixa-login input:focus{outline:2px solid var(--petroleo);outline-offset:-1px;border-color:var(--petroleo)}
.caixa-login button{width:100%;margin-top:10px;padding:12px;background:var(--petroleo);color:#fff;
  border:0;font-family:'Archivo',sans-serif;font-weight:600;font-size:14px;letter-spacing:.01em}
.caixa-login button:hover{background:#18424a}

/* ================= estrutura / topo ================= */
.topo{background:var(--escuro);color:var(--claro);padding:0 30px;
  border-top:3px solid var(--ouro);position:sticky;top:0;z-index:20}
.topo-linha{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:16px 0 14px}
.topo .olho{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--musgo-escuro);
  font-family:'Archivo',sans-serif;font-weight:700;margin-bottom:5px}
.topo h1{font-size:19px;font-weight:700;color:#F4F6F1;letter-spacing:-.02em}
.usuario{font-size:12px;color:var(--musgo-escuro);text-align:right}
.usuario b{color:#F4F6F1;font-weight:600;display:block;font-size:13px}
.usuario button{background:none;border:0;color:var(--musgo-escuro);font-size:11.5px;padding:0;text-decoration:underline}
.usuario button:hover{color:#F4F6F1}
.abas{display:flex;gap:4px;flex-wrap:wrap}
.abas button{background:none;border:0;padding:11px 16px;color:var(--musgo-escuro);font-size:13px;
  font-family:'Archivo',sans-serif;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}
.abas button:hover{color:#DCE6E2}
.abas button.on{color:#FBFCF8;border-bottom-color:var(--ouro)}

.corpo{display:grid;grid-template-columns:minmax(0,1fr) 328px;align-items:start;
  min-height:calc(100vh - 106px)}
@media(max-width:980px){.corpo{grid-template-columns:1fr}}
.centro{padding:26px 30px 60px;min-width:0}
#msg:not(:empty){margin-bottom:14px}

/* ================= consultar: busca + temas ================= */
.busca-linha{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.busca-grande{flex:1;min-width:240px;padding:15px 18px;border:1.5px solid var(--linha2);background:#fff;
  font-family:inherit;font-size:16px;color:var(--tinta);box-shadow:var(--sombra)}
.busca-grande::placeholder{color:#9AA6A2}
.busca-grande:focus{outline:2px solid var(--petroleo);outline-offset:-1px;border-color:var(--petroleo)}
.barra-lista{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.barra-botoes{display:flex;gap:8px;flex-wrap:wrap}
.btn-novo{background:var(--petroleo);border:0;color:#fff;padding:10px 16px;font-size:13px;
  font-family:'Archivo',sans-serif;font-weight:600;white-space:nowrap;box-shadow:var(--sombra)}
.btn-novo:hover{background:#18424a}
.btn-novo.pequeno{padding:7px 13px;font-size:12px;box-shadow:none}
.btn-leve{background:var(--carta);border:1px solid var(--linha2);color:var(--tinta2);padding:10px 14px;font-size:12.5px;
  font-family:'Archivo',sans-serif;font-weight:600}
.btn-leve:hover{border-color:var(--musgo);background:#fff}
.btn-leve.perigo{color:var(--carmim);border-color:#DEC6C9}
.btn-leve.perigo:hover{background:#F7ECEE;border-color:var(--carmim)}
.area-form{margin-bottom:18px}

.temas{display:flex;flex-wrap:wrap;gap:6px}
.tema-chip{background:var(--carta);border:1px solid var(--linha);padding:6px 13px;font-size:12px;
  color:var(--tinta2);font-family:'Archivo',sans-serif;font-weight:600;transition:.12s}
.tema-chip:hover{border-color:var(--musgo)}
.tema-chip.on{background:var(--petroleo);border-color:var(--petroleo);color:#fff}
.tema-chip b{font-weight:700;opacity:.55;margin-left:6px;font-family:'IBM Plex Mono',monospace;font-size:11px}
.tema-chip.on b{opacity:.85}

/* ================= cartões da lista ================= */
.cartoes{display:flex;flex-direction:column;gap:9px}
.cartao{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;text-align:left;
  background:var(--carta);border:1px solid var(--linha);border-left:3px solid transparent;
  padding:17px 20px;cursor:pointer;transition:.13s;box-shadow:var(--sombra)}
.cartao:hover{border-color:var(--linha2);border-left-color:var(--ouro);transform:translateY(-1px);
  box-shadow:var(--sombra-forte)}
.cartao-esq{min-width:0;flex:1}
.cartao-tema{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--petroleo);
  font-family:'Archivo',sans-serif;font-weight:700;margin-bottom:5px}
.cartao-nome{display:block;font-size:16.5px;font-weight:600;color:var(--tinta);line-height:1.3;font-family:'Archivo',sans-serif}
.cartao-evol{display:inline-flex;align-items:baseline;gap:6px;font-size:12px;color:var(--musgo);margin-top:7px;
  font-family:'IBM Plex Mono',monospace}
.cartao-evol span{color:var(--verde);font-weight:600}
.cartao-evol em{font-style:normal;color:#A4ADA7}
.cartao-dir{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end}
.cartao-num{font-family:'IBM Plex Mono',monospace;font-size:24px;font-weight:600;color:var(--tinta);line-height:1;
  letter-spacing:-.01em}
.cartao-num-sub{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--musgo);
  font-family:'Archivo',sans-serif;font-weight:600;margin-top:6px}
.cartao-sem{font-size:12px;color:var(--ambar);font-family:'Archivo',sans-serif;font-weight:600}
.cartao-ver{font-size:11px;color:var(--petroleo);font-family:'Archivo',sans-serif;font-weight:700;margin-top:9px;
  letter-spacing:.02em}

/* ================= página do assunto (dossiê) ================= */
.voltar{background:none;border:0;color:var(--petroleo);font-family:'Archivo',sans-serif;font-weight:600;
  font-size:13px;padding:6px 0;margin-bottom:16px;cursor:pointer}
.voltar:hover{text-decoration:underline}

.det-cab{background:var(--carta);border:1px solid var(--linha);border-top:3px solid var(--petroleo);
  padding:26px 28px;margin-bottom:24px;box-shadow:var(--sombra)}
.det-tema{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--petroleo);
  font-family:'Archivo',sans-serif;font-weight:700}
.det-nome{font-size:28px;font-weight:800;margin:8px 0 18px;line-height:1.12;max-width:24ch;text-wrap:balance}
.det-big{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  border-left:3px solid var(--ouro);padding-left:16px}
.det-big .mono{font-family:'IBM Plex Mono',monospace;font-size:44px;font-weight:600;color:var(--petroleo);
  line-height:1;letter-spacing:-.02em}
.det-big-sub{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--musgo);
  font-family:'Archivo',sans-serif;font-weight:600}
.det-big.vazio{font-size:15px;color:var(--ambar);border-left-color:var(--ambar)}
.det-desc{margin:18px 0 0;font-size:14.5px;color:var(--tinta2);line-height:1.6;max-width:70ch}
.det-acoes-ind{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}

.det-secao{margin:0 0 30px}
.secao-tit{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--musgo);
  font-family:'Archivo',sans-serif;font-weight:700;margin:0}
.det-secao>.secao-tit{border-bottom:2px solid var(--tinta);padding-bottom:9px;margin-bottom:15px}
.secao-vazia{font-size:13px;color:var(--musgo);background:var(--carta2);border:1px dashed var(--linha2);
  padding:14px 16px}
.serie-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;
  border-bottom:2px solid var(--tinta);padding-bottom:9px;margin-bottom:15px;flex-wrap:wrap}

/* contexto — tratamento editorial (serifada, para leitura) */
.contexto{background:var(--carta);border:1px solid var(--linha);padding:22px 26px;box-shadow:var(--sombra)}
.contexto p{margin:0 0 14px;font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  font-size:17px;line-height:1.7;color:#2A3D44}
.contexto p:last-child{margin-bottom:0}

/* série histórica — blocos por ano */
.ano-bloco{background:var(--carta);border:1px solid var(--linha);padding:16px 20px;margin-bottom:9px;
  box-shadow:var(--sombra)}
.ano-topo{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.ano-id{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}
.ano-num{font-family:'IBM Plex Mono',monospace;font-size:19px;font-weight:600;color:var(--tinta)}
.ano-gestao{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--musgo);
  font-family:'Archivo',sans-serif;font-weight:600;background:var(--carta2);padding:3px 8px}
.ano-valor{font-family:'IBM Plex Mono',monospace;font-size:26px;font-weight:600;color:var(--petroleo);
  letter-spacing:-.01em}
.ano-fonte,.ano-obs{font-size:13px;color:var(--tinta2);margin-top:11px;line-height:1.55}
.ano-fonte a{word-break:break-word}
.rot{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--musgo);
  font-family:'Archivo',sans-serif;font-weight:700;margin-right:6px}
.ano-rodape{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  margin-top:13px;padding-top:12px;border-top:1px solid var(--linha)}
.ano-verif{font-size:11px;color:var(--musgo)}
.ano-acoes{display:flex;gap:6px;flex-wrap:wrap}
.ano-acoes button,.marco-acoes button,.frase-rel .acoes button{background:#fff;border:1px solid var(--linha2);
  padding:6px 12px;font-size:12px;color:var(--tinta2);font-family:inherit}
.ano-acoes button:hover,.marco-acoes button:hover{border-color:var(--tinta2)}
.ano-acoes .primario,.frase-rel .acoes .primario{background:var(--petroleo);border-color:var(--petroleo);color:#fff;font-weight:600}
.ano-acoes .primario:hover,.frase-rel .acoes .primario:hover{background:#18424a}
.ano-acoes .perigo,.marco-acoes .perigo{color:var(--carmim);border-color:#DEC6C9}

/* marcos — linha do tempo */
.marco{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr);gap:16px;
  background:var(--carta);border:1px solid var(--linha);padding:16px 20px 16px 18px;margin-bottom:0;
  border-left:2px solid var(--ouro)}
.marco+.marco{border-top:0}
.marco-ano{font-family:'IBM Plex Mono',monospace;font-size:19px;font-weight:600;color:var(--ouro-forte);
  padding-top:1px}
.marco-ano-vazio{color:#B9C0BA}
.marco-tit{font-size:15.5px;font-weight:700;color:var(--tinta);margin-bottom:4px;font-family:'Archivo',sans-serif}
.marco-texto{font-size:14px;color:var(--tinta2);line-height:1.58}
.marco-fonte{font-size:12px;color:var(--musgo);margin-top:10px}
.marco-fonte a{word-break:break-word}
.marco-acoes{display:flex;gap:6px;margin-top:11px}
.marco-acoes button{padding:4px 10px;font-size:11px}
@media(max-width:520px){.marco{grid-template-columns:1fr}}

/* frases relacionadas */
.frase-rel{background:var(--carta);border:1px solid var(--linha);border-left:3px solid var(--ouro);
  padding:15px 18px;margin-bottom:9px;box-shadow:var(--sombra)}
.frase-rel p{margin:0 0 10px;font-size:16px;line-height:1.5;color:var(--tinta);
  font-family:"Iowan Old Style",Palatino,Georgia,serif}
.frase-rel .rodape{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.frase-rel .fonte{font-size:11px;color:var(--musgo)}
.frase-rel .fonte b{color:var(--tinta2)}
.frase-rel .acoes{display:flex;gap:6px}
.frase-rel .acoes button{padding:5px 11px;font-size:11.5px}

/* ================= formulários ================= */
.form{background:#fff;border:1px solid var(--tinta2);padding:18px 20px;margin-bottom:14px;box-shadow:var(--sombra)}
.form-rot{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--musgo);
  font-family:'Archivo',sans-serif;font-weight:700;margin-bottom:13px}
.form-ano{border-color:var(--petroleo);border-left-width:3px}
.form label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;
  font-family:'Archivo',sans-serif;font-weight:600;color:var(--musgo);margin-bottom:13px}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:5px;padding:9px 11px;
  border:1px solid var(--linha2);background:#FCFDFB;font-family:'IBM Plex Sans',sans-serif;
  font-size:14px;color:var(--tinta);text-transform:none;letter-spacing:0}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--petroleo);outline-offset:-1px;border-color:var(--petroleo)}
.form textarea{resize:vertical;line-height:1.5}
.form-linha{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-linha.tres{grid-template-columns:90px 1fr 1fr}
@media(max-width:600px){.form-linha,.form-linha.tres{grid-template-columns:1fr}}
.dica{display:block;margin-top:5px;font-size:11px;text-transform:none;letter-spacing:0;
  color:var(--musgo);font-family:'IBM Plex Sans',sans-serif;font-weight:400}
.obrig{color:var(--carmim)}
.form-fonte{border-left:3px solid var(--ouro);padding:2px 0 2px 14px;background:linear-gradient(90deg,#FCFAF1,transparent 60%)}
.acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.acoes button{background:#fff;border:1px solid var(--linha2);padding:9px 15px;font-size:13px;color:var(--tinta2);
  font-family:'Archivo',sans-serif;font-weight:600}
.acoes button:hover{border-color:var(--tinta2)}
.acoes .primario{background:var(--petroleo);border-color:var(--petroleo);color:#fff}
.acoes .primario:hover{background:#18424a}

/* ================= frases (aba) ================= */
.frase{background:var(--carta);border:1px solid var(--linha);border-left:3px solid var(--ouro);
  padding:15px 18px;margin-bottom:9px;box-shadow:var(--sombra)}
.frase p{margin:0 0 10px;font-size:16px;line-height:1.5;color:var(--tinta);
  font-family:"Iowan Old Style",Palatino,Georgia,serif}
.frase .rodape{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.frase .fonte{font-size:11.5px;color:var(--musgo)}
.frase .fonte b{color:var(--tinta2);font-weight:600}
.frase .acoes{margin-top:0}
.frase .acoes button{padding:5px 11px;font-size:11.5px}
.frase .acoes .primario{background:var(--petroleo);border-color:var(--petroleo);color:#fff}

/* ================= admin ================= */
.barra-acao{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0 12px;flex-wrap:wrap}
.barra-acao h3{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--musgo);
  font-family:'Archivo',sans-serif;font-weight:700}
.tabela{width:100%;border-collapse:collapse;font-size:13px;background:var(--carta);box-shadow:var(--sombra)}
.tabela th{text-align:left;font-family:'Archivo',sans-serif;font-size:10px;text-transform:uppercase;
  letter-spacing:.09em;color:var(--musgo);border-bottom:1px solid var(--linha2);padding:9px 11px;font-weight:700}
.tabela td{border-bottom:1px solid var(--linha);padding:9px 11px;vertical-align:top}
.tabela td button{background:#fff;border:1px solid var(--linha2);padding:5px 10px;font-size:11.5px;
  color:var(--tinta2);margin-left:4px}

/* ================= avisos ================= */
.aviso{background:#F7ECEE;border-left:3px solid var(--carmim);padding:11px 14px;font-size:13px;
  color:var(--carmim);box-shadow:var(--sombra)}
.ok{background:var(--petroleo-fundo);border-left:3px solid var(--petroleo);padding:11px 14px;
  font-size:13px;color:var(--petroleo);box-shadow:var(--sombra)}
.vazio{font-size:13px;color:var(--musgo);padding:16px 0}

/* ================= painel lateral ================= */
.painel{background:var(--escuro);color:#D6DDD9;padding:22px 20px 40px;align-self:stretch;min-height:100%}
.painel-cab{border-bottom:1px solid var(--linha-escura);padding-bottom:12px;margin-bottom:16px}
.painel .olho{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro-escuro);
  font-family:'Archivo',sans-serif;font-weight:700}
.painel-cab p{margin:5px 0 0;font-size:11.5px;color:var(--musgo-escuro);line-height:1.4}
.numeros{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px}
.numeros div{background:var(--escuro2);padding:11px 13px;border:1px solid var(--linha-escura)}
.numeros b{display:block;font-family:'IBM Plex Mono',monospace;font-size:23px;color:#F4F6F1;font-weight:600;line-height:1}
.numeros span{font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--musgo-escuro);
  font-family:'Archivo',sans-serif;font-weight:600;margin-top:5px;display:block}
.pain-bloco{margin-bottom:20px}
.pain-bloco h4{font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:#9FB2B4;
  display:flex;justify-content:space-between;align-items:baseline;
  border-bottom:1px solid var(--linha-escura);padding-bottom:6px;margin-bottom:10px;font-family:'Archivo',sans-serif;font-weight:700}
.pain-bloco h4 span{color:var(--ouro-escuro);font-size:13px;font-family:'IBM Plex Mono',monospace}
.pain-vazio{font-size:11px;color:#61787D;margin:0;line-height:1.5}

.apoio-item{font-size:11.5px;line-height:1.45;color:#DDE3DF;background:var(--escuro2);
  border:1px solid var(--linha-escura);padding:9px 26px 9px 11px;margin-bottom:7px;position:relative}
.apoio-item .val{font-family:'IBM Plex Mono',monospace;color:#F4F6F1;font-weight:500}
.apoio-item .src{display:block;font-size:9.5px;color:var(--musgo-escuro);margin-top:3px}
.apoio-item .x{position:absolute;top:7px;right:8px;background:none;border:0;color:var(--musgo-escuro);
  font-size:15px;line-height:1;padding:0}
.apoio-item .x:hover{color:#fff}
.apoio-acoes{display:flex;gap:7px;margin-top:11px}
.apoio-acoes button{flex:1;padding:9px;font-size:11.5px;font-family:'Archivo',sans-serif;font-weight:600;border:0}
.apoio-acoes .gerar{background:var(--ouro);color:#2A2205}
.apoio-acoes .gerar:hover{background:#CBA733}
.apoio-acoes .limpar{background:rgba(255,255,255,.06);color:#B9C4C0}
.apoio-acoes .limpar:hover{background:rgba(255,255,255,.11)}
.recente{font-size:11.5px;margin-bottom:9px;line-height:1.45;color:#CDD6D1}
.recente .val{font-family:'IBM Plex Mono',monospace;color:#F4F6F1}
