:root {
  --roxo: #602C96; --roxo-esc: #4A1F78; --roxo-claro: #F1EAF8;
  --laranja: #F78E1F; --laranja-txt: #A65A00; --laranja-esc: #7A4200; --laranja-claro: #FEF0E0; --laranja-tinta: #2A1600;
  --rosa: #D81F76; --rosa-txt: #B0145F; --rosa-esc: #8A0F4B; --rosa-claro: #FCE3EF;
  --navy: #0F2547; --tinta: #1B1530; --suave: #5E5873; --borda: #E6E1EE; --linha: #F0ECF5; --fundo: #F7F5FA; --branco: #FFFFFF;
  --verde: #1D5B33; --verde-claro: #E3F4E8; --vermelho: #8C1D1D; --vermelho-claro: #FDE2E2; --cinza: #3D4660; --cinza-claro: #EEF0F4;
  --display: Montserrat, system-ui, sans-serif; --texto: 'Nunito Sans', system-ui, sans-serif;
  --raio: 20px;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--fundo); color: var(--tinta); font-family: var(--texto); font-size: 15px; }
a { color: var(--roxo); text-decoration: none; }
a:hover { color: var(--roxo-esc); }
h1, h2, h3 { font-family: var(--display); margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--laranja); outline-offset: 2px; }

.faixa { height: 6px; background: linear-gradient(90deg, var(--roxo) 0%, #F13B8E 55%, var(--laranja) 100%); }
.topo { background: var(--branco); border-bottom: 1px solid var(--borda); position: sticky; top: 0; z-index: 20; }
.topo-in { max-width: 1320px; margin: 0 auto; padding: 12px 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.marca { display: flex; align-items: center; gap: 14px; color: var(--tinta); }
.marca img { height: 40px; }
.marca b { font-family: var(--display); font-size: 15px; display: block; }
.marca small { color: var(--suave); font-size: 12px; }
.nav { display: flex; flex-wrap: wrap; gap: 4px; flex: 1 1 380px; }
.nav a { padding: 10px 16px; border-radius: 999px; font-weight: 700; font-size: 14px; color: var(--suave); }
.nav a.ativo.adm { background: var(--roxo); color: #fff; }
.nav a.ativo.leg { background: var(--laranja); color: var(--laranja-tinta); }
.nav a.ativo.ent { background: var(--rosa); color: #fff; }
.nav a.ativo.ini { background: var(--tinta); color: #fff; }
.topo-dir { display: flex; align-items: center; gap: 14px; }
.topo-dir .alepe { height: 38px; }
.avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--rosa-claro); color: #9C1458; font-family: var(--display); font-weight: 800; display: grid; place-items: center; border: 0; }
.busca { display: flex; align-items: center; gap: 8px; background: var(--fundo); border: 1px solid var(--borda); border-radius: 999px; padding: 0 14px; height: 42px; min-width: 240px; }
.busca input { border: 0; background: transparent; outline: none; width: 100%; font-size: 14px; }

.pagina { max-width: 1320px; margin: 0 auto; padding: 32px 28px 64px; }
.capa { color: #fff; }
.capa .in { max-width: 1320px; margin: 0 auto; padding: 32px 28px 52px; display: flex; flex-direction: column; gap: 6px; }
.capa h1 { font-size: 36px; font-weight: 800; }
.capa.adm { background: var(--roxo); } .capa.leg { background: var(--laranja); color: var(--laranja-tinta); } .capa.ent { background: var(--rosa); }
.capa a { color: inherit; font-weight: 700; font-size: 14px; opacity: .85; }
.sobe { margin-top: -32px; }
.olho { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--roxo); }

.grade { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(var(--min, 300px), 1fr)); }
.cartao { background: var(--branco); border: 1px solid var(--borda); border-radius: var(--raio); padding: 24px; }
.cartao h2 { font-size: 20px; font-weight: 800; }
.cartao h3 { font-size: 15px; font-weight: 700; }
.pilha { display: flex; flex-direction: column; gap: var(--gap, 16px); }
.linha { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap, 10px); }
.entre { justify-content: space-between; }
.mt { margin-top: 24px; }

.bloco { display: flex; flex-direction: column; border-radius: 24px; overflow: hidden; background: var(--branco); border: 1px solid var(--borda); color: var(--tinta); transition: transform .12s, box-shadow .12s; }
.bloco:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(27, 21, 48, .08); color: var(--tinta); }
.bloco .cab { padding: 26px; display: flex; flex-direction: column; gap: 14px; }
.bloco .cab .ico { width: 50px; height: 50px; border-radius: 14px; display: grid; place-items: center; background: rgba(255,255,255,.18); }
.bloco .cab b { font-family: var(--display); font-size: 26px; font-weight: 800; }
.bloco .corpo { padding: 22px 26px 26px; display: flex; flex-direction: column; gap: 18px; flex: 1; }
.bloco.adm .cab { background: var(--roxo); color: #fff; } .bloco.leg .cab { background: var(--laranja); color: var(--laranja-tinta); } .bloco.ent .cab { background: var(--rosa); color: #fff; }

.kpis { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.kpi { background: var(--fundo); border-radius: 16px; padding: 16px 18px; display: flex; flex-direction: column; gap: 2px; }
.kpi span { font-size: 13px; color: var(--suave); font-weight: 600; }
.kpi b { font-family: var(--display); font-size: 26px; font-weight: 800; }
.kpi.adm { background: var(--roxo-claro); } .kpi.adm b { color: var(--roxo-esc); }
.kpi.leg { background: var(--laranja-claro); } .kpi.leg b { color: var(--laranja-tinta); }
.kpi.ent { background: var(--rosa-claro); } .kpi.ent b { color: var(--rosa-esc); }
.num { font-family: var(--display); font-weight: 800; }

.chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-weight: 700; font-size: 12.5px; background: var(--cinza-claro); color: var(--cinza); white-space: nowrap; }
.chip.adm { background: var(--roxo-claro); color: var(--roxo-esc); } .chip.leg { background: var(--laranja-claro); color: var(--laranja-esc); }
.chip.ent { background: var(--rosa-claro); color: var(--rosa-esc); } .chip.ok { background: var(--verde-claro); color: var(--verde); }
.chip.mal { background: var(--vermelho-claro); color: var(--vermelho); }
.chip button { border: 0; background: none; padding: 0; font-weight: 800; color: inherit; }

.btn { height: 42px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--borda); background: var(--branco); font-family: var(--display); font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; color: var(--tinta); }
.btn:hover { border-color: var(--suave); }
.btn.pri { border: 0; background: var(--roxo); color: #fff; } .btn.pri.leg { background: var(--laranja); color: var(--laranja-tinta); } .btn.pri.ent { background: var(--rosa); }
.btn.escuro { border: 0; background: var(--navy); color: #fff; }
.btn.perigo { color: var(--vermelho); border-color: var(--vermelho-claro); }
.btn.peq { height: 34px; padding: 0 12px; font-size: 13px; }

.filtros { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.filtros select, .filtros input { height: 40px; border-radius: 999px; border: 1px solid var(--borda); background: var(--branco); padding: 0 14px; font-size: 14px; font-weight: 600; max-width: 220px; }
.tabela-caixa { overflow-x: auto; }
table.tab { width: 100%; border-collapse: collapse; font-size: 14px; }
table.tab th { text-align: left; color: var(--suave); font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; padding: 10px 12px; border-bottom: 1px solid var(--borda); white-space: nowrap; cursor: pointer; user-select: none; }
table.tab td { padding: 12px; border-bottom: 1px solid var(--linha); vertical-align: top; }
table.tab tr.clic:hover td { background: #FBFAFD; cursor: pointer; }
td.dir, th.dir { text-align: right; }
.trunc { max-width: 420px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.vazio { border: 2px dashed var(--borda); border-radius: 14px; padding: 22px; text-align: center; color: var(--suave); }
.suave { color: var(--suave); } .peq { font-size: 13px; }

.barra { display: grid; grid-template-columns: minmax(120px, 190px) 1fr minmax(110px, auto); gap: 12px; align-items: center; font-size: 14px; }
.barra .trilho { height: 13px; background: var(--fundo); border-radius: 999px; overflow: hidden; }
.barra .trilho i { display: block; height: 100%; border-radius: 999px; }

.quadro { display: grid; grid-template-columns: repeat(6, minmax(220px, 1fr)); gap: 14px; overflow-x: auto; }
.coluna { background: var(--fundo); border-radius: 16px; padding: 14px; display: flex; flex-direction: column; gap: 10px; min-height: 260px; }
.card-dem { background: var(--branco); border: 1px solid var(--borda); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; text-align: left; }

.modal-fundo { position: fixed; inset: 0; background: rgba(27, 21, 48, .45); z-index: 50; display: flex; justify-content: flex-end; }
.modal { width: min(760px, 100%); height: 100%; background: var(--branco); overflow-y: auto; padding: 28px; display: flex; flex-direction: column; gap: 18px; }
.campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
.campo { display: flex; flex-direction: column; gap: 6px; }
.campo.largo { grid-column: 1 / -1; }
.campo label { font-size: 12.5px; font-weight: 700; color: var(--suave); }
.campo input, .campo select, .campo textarea { border: 1px solid var(--borda); border-radius: 12px; padding: 10px 12px; font-size: 14px; background: var(--branco); }
.campo textarea { min-height: 90px; resize: vertical; }
.abas { display: flex; gap: 6px; border-bottom: 1px solid var(--borda); }
.abas button { border: 0; background: none; padding: 10px 14px; font-weight: 700; color: var(--suave); border-bottom: 3px solid transparent; }
.abas button.on { color: var(--tinta); border-color: var(--roxo); }
.aviso { background: var(--laranja-claro); color: var(--laranja-esc); border-radius: 12px; padding: 12px 14px; font-size: 14px; }
.toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background: var(--tinta); color: #fff; padding: 12px 20px; border-radius: 999px; z-index: 60; font-weight: 700; }
.marcador { font-size: 11px; font-weight: 800; padding: 4px 9px; border-radius: 999px; letter-spacing: .04em; }
.m-nosso { background: var(--laranja); color: var(--laranja-tinta); } .m-rel { background: var(--roxo); color: #fff; }
.m-exec { background: var(--rosa-txt); color: #fff; } .m-tema { background: var(--cinza-claro); color: var(--cinza); }
.item-pauta { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--linha); }
.rodape { border-top: 1px solid var(--borda); background: var(--branco); }
.rodape .in { max-width: 1320px; margin: 0 auto; padding: 16px 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.rodape img { height: 32px; }

@media (max-width: 720px) {
  .campos { grid-template-columns: 1fr; }
  .pagina { padding: 20px 16px 48px; }
  .topo-in { padding: 10px 16px; }
  .busca { min-width: 0; flex: 1; }
}

/* Relatório para impressão (PDF) */
.relatorio { background: #fff; }
@media print {
  @page { size: A4; margin: 14mm 12mm; }
  body { background: #fff; }
  .topo, .rodape, .nao-imprimir, .faixa { display: none !important; }
  .pagina { padding: 0; max-width: none; }
  .cartao { break-inside: avoid; border-color: #ddd; }
  .so-imprimir { display: flex !important; }
}
.so-imprimir { display: none; }
table.tab td.dir, table.tab td:first-child { white-space: nowrap; }
.logo-capa { height: 68px; background: #fff; padding: 8px 14px; border-radius: 16px; border: 1px solid var(--borda); }
.barra.curta { grid-template-columns: 140px 1fr 64px; }
.avisos { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--linha); padding-top: 14px; }
.aviso-item { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: #8C1D1D; }
.aviso-item b { font-family: var(--display); }
.aviso-item .ponto { width: 8px; height: 8px; border-radius: 50%; background: #D93025; flex: none; }
.aviso-item.ok { color: var(--verde); } .aviso-item.ok .ponto { background: #2E9B57; }
a.aviso-item:hover { text-decoration: underline; color: #8C1D1D; }
.falta { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; background: #FDE2E2; color: #B3261E; font-weight: 800; font-size: 12px; white-space: nowrap; }
.seletor { position: relative; }
.seletor-campo { width: 100%; min-height: 44px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; text-align: left; border: 1px solid var(--borda); border-radius: 12px; padding: 7px 34px 7px 10px; background: #fff; position: relative; }
.seletor-campo .seta { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--suave); }
.seletor-campo .chip span { cursor: pointer; font-weight: 800; margin-left: 2px; }
.seletor-painel { position: absolute; z-index: 70; left: 0; right: 0; top: calc(100% + 4px); background: #fff; border: 1px solid var(--borda); border-radius: 14px; box-shadow: 0 14px 40px rgba(27,21,48,.16); padding: 8px; display: flex; flex-direction: column; gap: 4px; }
.seletor-painel input { border: 1px solid var(--borda); border-radius: 10px; padding: 9px 12px; }
.seletor-ops { max-height: 240px; overflow-y: auto; display: flex; flex-direction: column; }
.seletor-op { border: 0; background: none; text-align: left; padding: 9px 10px; border-radius: 8px; display: flex; gap: 8px; align-items: center; font-size: 14px; }
.seletor-op:hover { background: var(--fundo); }
.seletor-op.on { background: var(--roxo-claro); color: var(--roxo-esc); font-weight: 700; }
.seletor-op .caixa { width: 18px; height: 18px; border: 1.5px solid var(--borda); border-radius: 5px; display: grid; place-items: center; font-size: 12px; flex: none; }
.seletor-op.nsa { color: var(--suave); font-style: italic; border-bottom: 1px solid var(--linha); border-radius: 0; }
.seletor-op.add { color: var(--roxo); font-weight: 800; border-top: 1px solid var(--linha); border-radius: 0; }
.triagem { background: #FFFBF5; border: 1px solid #F6DDBE; border-radius: 18px; padding: 18px 20px; }
.triagem select, .triagem input { border: 1px solid var(--borda); border-radius: 10px; padding: 7px 9px; font-size: 13.5px; background: #fff; }
.resultado { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--linha); }
.resultado-titulo { font-size: 14px; color: var(--tinta); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.resultado-titulo:hover { color: var(--roxo); text-decoration: underline; }

/* ---------- Relatório do município em PDF (A4 paisagem, 1123 × 793 px por folha) */
.rel-tela { background: #E9E6EF; min-height: 100vh; padding: 0 16px 40px; display: flex; flex-direction: column; align-items: center; gap: 24px; overflow-x: auto; }
.rel-barra { position: sticky; top: 0; z-index: 5; width: 100%; max-width: 1123px; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; background: #E9E6EF; font-weight: 700; color: #3D4759; }
.rel-folha { flex: none; width: 1123px; height: 793px; position: relative; overflow: hidden; box-sizing: border-box; padding: 40px 45px 0; background: #fff; color: #1B2333;
  font-family: 'Noto Sans', 'DejaVu Sans', sans-serif; box-shadow: 0 6px 24px rgba(15, 37, 71, .16); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.rel-folha * { box-sizing: border-box; }
.rel-cab { display: grid; grid-template-columns: 180px 1fr 180px; align-items: center; padding-bottom: 12px; border-bottom: 3px solid #0F2547; }
.rel-cab-meio { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.rel-cab-meio span { font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: #5A6478; }
.rel-cab-meio h1 { margin: 0; font-size: 27px; font-weight: 800; color: #0F2547; font-family: inherit; }
.rel-pilulas { display: flex; flex-wrap: wrap; gap: 14px; margin: 12px 0 10px; }
.rel-pilulas span { padding: 7px 18px; border: 1px solid #D5DCE6; background: #F3F6FA; border-radius: 6px; font-size: 14px; color: #3D4759; }
.rel-pilulas b { color: #0F2547; }
.rel-tab { display: flex; flex-direction: column; min-width: 0; align-self: start; }
.rel-lin { display: grid; border-bottom: 1px solid #E3E7EE; background: #fff; }
.rel-lin.par { background: #F5F7FB; }
.rel-lin > div { display: flex; align-items: center; min-width: 0; }
.rel-lin .dir { justify-content: flex-end; white-space: nowrap; }
.rel-lin .cen { justify-content: center; }
.rel-lin .val { font-weight: 700; color: #0F2547; }
.rel-lin.cab, .rel-lin.tot { background: #0F2547; color: #fff; font-weight: 700; border: 0; }
.rel-tab.em .rel-lin { grid-template-columns: 62px 238px 1fr 168px 150px; min-height: 34px; font-size: 15px; }
.rel-tab.em .rel-lin > div { padding: 4px 12px; line-height: 1.25; }
.rel-tab.em .rel-lin.cab { height: 38px; font-size: 14px; }
.rel-tab.em .rel-lin.tot { height: 40px; font-size: 16px; font-weight: 800; }
.rel-tab.em .id { font-size: 13px; color: #4A5568; white-space: nowrap; }
.rel-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
.rel-tab.en .rel-lin { grid-template-columns: 26px 1fr 122px 108px; min-height: 25px; font-size: 12px; }
.rel-tab.en .rel-lin > div { padding: 3px 6px; line-height: 1.22; }
.rel-tab.en .rel-lin.cab { height: 26px; font-size: 12.5px; }
.rel-tab.en .num { color: #6B7485; }
.rel-selo { display: inline-block; white-space: nowrap; padding: 3px 11px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.rel-selo.peq { padding: 2px 8px; font-size: 11px; }
.rel-total { margin-top: 8px; background: #0F2547; color: #fff; height: 38px; padding: 0 16px; display: flex; justify-content: space-between; align-items: center; font-size: 17px; font-weight: 800; text-transform: uppercase; }
.rel-total span:last-child { text-transform: none; }
.rel-rodape { position: absolute; left: 45px; right: 45px; bottom: 22px; padding-top: 9px; border-top: 1px solid #E2E6EC; display: flex; justify-content: space-between; font-size: 12px; color: #5F6878; }
.rel-capa { padding: 0; }
.rel-faixa { position: absolute; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #F78E1F 0%, #E8336F 50%, #6E2C92 100%); }
.rel-capa-logos { position: absolute; left: 76px; right: 76px; top: 66px; display: flex; justify-content: space-between; align-items: center; }
.rel-capa-titulo { position: absolute; left: 76px; right: 76px; top: 200px; display: flex; flex-direction: column; gap: 14px; }
.rel-olho { font-size: 16px; letter-spacing: .32em; text-transform: uppercase; color: #6E2C92; }
.rel-capa-titulo h1 { margin: 0; font-size: 70px; line-height: 1.1; font-weight: 800; color: #0F2547; font-family: inherit; }
.rel-capa-titulo p { margin: 0; font-size: 19px; color: #4A5568; }
.rel-capa-titulo p b { color: #0F2547; }
.rel-capa-base { position: absolute; left: 0; right: 0; top: 694px; height: 93px; background: linear-gradient(90deg, #F1F2F5 0%, #EFEAF3 100%); }
.rel-capa-caixas { position: absolute; left: 76px; right: 76px; top: 552px; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.rel-caixa { border-radius: 8px; padding: 26px 32px; display: flex; flex-direction: column; gap: 8px; }
.rel-caixa span { font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: #4A5568; }
.rel-caixa b { font-size: 38px; font-weight: 800; }
.rel-caixa small { font-size: 13px; color: #5A6478; }
.rel-caixa.em { background: #F3F6FB; border: 1px solid #DCE3EE; border-left: 5px solid #0F2547; }
.rel-caixa.em b { color: #0F2547; }
.rel-caixa.en { background: #FDF2F6; border: 1px solid #F3D3E0; border-left: 5px solid #D81F76; }
.rel-caixa.en b { color: #8E1B46; }
.rel-capa .rel-rodape { left: 76px; right: 76px; bottom: auto; top: 748px; border-top: 0; padding-top: 0; }
@media print {
  .rel-tela { background: #fff; padding: 0; gap: 0; display: block; overflow: visible; }
  .rel-folha { box-shadow: none; break-after: page; page-break-after: always; }
  .rel-folha:last-child { break-after: auto; page-break-after: auto; }
}

/* ---------- Boletim semanal (usa as folhas do relatório) */
.bol-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.rel-pilulas + .bol-duas { grid-template-columns: 430px 1fr; }
.bol-h2 { margin: 0 0 8px; font-size: 16px; font-weight: 800; color: #0F2547; text-transform: uppercase; letter-spacing: .04em; font-family: inherit; }
.bol-agenda { display: flex; flex-direction: column; border-top: 2px solid #0F2547; }
.bol-dia { display: grid; grid-template-columns: 74px 1fr; align-items: center; min-height: 56px; border-bottom: 1px solid #E3E7EE; }
.bol-dia.tem { background: #FDF2F6; }
.bol-data { display: flex; flex-direction: column; align-items: center; }
.bol-data span { font-size: 12px; text-transform: uppercase; color: #5A6478; font-weight: 700; }
.bol-data b { font-size: 17px; font-weight: 800; color: #0F2547; }
.bol-evs { padding: 7px 12px; display: flex; flex-direction: column; gap: 5px; }
.bol-evs > div { display: flex; flex-direction: column; gap: 1px; }
.bol-evs b { font-size: 13.5px; color: #0F2547; }
.bol-evs span { font-size: 12px; color: #4A5568; }
.bol-vazio { font-size: 13px; color: #6B7485; }
.bol-mais { display: block; margin-top: 6px; font-size: 12px; color: #5A6478; }
.bol-avisos { display: flex; flex-direction: column; gap: 10px; }
.bol-aviso { display: grid; grid-template-columns: 6px 1fr; gap: 14px; background: #F7F8FB; border-radius: 8px; padding: 11px 16px 11px 0; overflow: hidden; }
.bol-aviso.rosa { background: #FDF2F6; margin-top: 12px; }
.bol-aviso > i { display: block; }
.bol-aviso > div { display: flex; flex-direction: column; gap: 3px; }
.bol-aviso b { font-size: 14px; color: #0F2547; }
.bol-aviso.rosa b { color: #8E1B46; }
.bol-aviso span { font-size: 13px; line-height: 1.4; color: #3D4759; }
.bol-reuniao { margin-top: 12px; }
.bol-reuniao-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 8px; }
.bol-reuniao-cab b { font-size: 17px; font-weight: 800; color: #0F2547; white-space: nowrap; }
.bol-reuniao-cab span { font-size: 13px; color: #4A5568; text-align: right; }
.rel-tab.bol-com .rel-lin { grid-template-columns: 128px 128px 156px 1fr 150px; min-height: 40px; font-size: 12.5px; }
.rel-tab.bol-com .rel-lin > div { padding: 4px 8px; line-height: 1.3; }
.rel-tab.bol-com .rel-lin.cab { min-height: 30px; }
.bol-com .suave { color: #4A5568; }
.bol-selos { flex-wrap: wrap; gap: 4px; }
.rel-tab.bol-dem .rel-lin { grid-template-columns: 1fr 110px 124px; min-height: 32px; font-size: 12.5px; }
.rel-tab.bol-nov .rel-lin { grid-template-columns: 1fr 110px 110px 90px; min-height: 32px; font-size: 12.5px; }
.rel-tab.bol-of .rel-lin { grid-template-columns: 82px 1fr 118px; min-height: 36px; font-size: 12.5px; }
.rel-tab.bol-dem .rel-lin > div, .rel-tab.bol-nov .rel-lin > div, .rel-tab.bol-of .rel-lin > div { padding: 3px 8px; line-height: 1.25; }
.rel-tab.bol-dem .rel-lin.cab, .rel-tab.bol-nov .rel-lin.cab, .rel-tab.bol-of .rel-lin.cab { min-height: 26px; font-size: 12px; }
.rel-tab.bol-nov .rel-lin.tot { min-height: 32px; font-size: 13px; text-transform: uppercase; }
.bol-of-txt { flex-direction: column; align-items: flex-start !important; justify-content: center; }
.bol-of-txt small { font-size: 11px; color: #5A6478; }
.bol-of-duas { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
.rel-folha .pilha { display: flex; flex-direction: column; gap: var(--gap, 12px); }

/* ---------- Território (mapa) */
.ter-abas { display: flex; flex-wrap: wrap; gap: 6px; background: #F4F1F8; padding: 4px; border-radius: 999px; }
.ter-abas button { border: 0; padding: 10px 16px; border-radius: 999px; font: inherit; font-weight: 700; font-size: 14px; background: transparent; color: #4A4360; cursor: pointer; min-height: 40px; }
.ter-abas button.ativa { background: #602C96; color: #fff; }
.ter-campo { display: flex; align-items: center; gap: 8px; border: 1px solid #DCD5E6; border-radius: 12px; padding: 0 12px; height: 44px; background: #fff; }
.ter-campo span { font-size: 13px; color: #5E5873; }
.ter-campo select, .ter-campo input { border: 0; outline: none; font: inherit; font-size: 14px; background: transparent; }
.ter-campo select { font-weight: 700; }
.ter-campo input { width: 220px; }
.ter-achados { position: absolute; top: 48px; left: 0; right: 0; z-index: 5; background: #fff; border: 1px solid #DCD5E6; border-radius: 12px; box-shadow: 0 8px 24px rgba(27,21,48,.12); display: flex; flex-direction: column; padding: 4px; }
.ter-achados button { border: 0; background: none; text-align: left; padding: 10px 12px; border-radius: 8px; font: inherit; cursor: pointer; }
.ter-achados button:hover { background: #F4F1F8; }
.ter-mapa { position: relative; border-radius: 14px; background: #FBFAFD; padding: 8px; }
.ter-mapa svg { width: 100%; height: auto; display: block; }
.ter-mun { cursor: pointer; outline: none; }
.ter-mun:hover, .ter-mun:focus { stroke: #1B1530; stroke-width: 1.4; }
.ter-rotulo { font-size: 11.5px; font-weight: 700; fill: #1B1530; stroke: #fff; stroke-width: 3; paint-order: stroke; }
.ter-dica { position: absolute; pointer-events: none; background: #1B1530; color: #fff; border-radius: 10px; padding: 8px 12px; display: flex; flex-direction: column; gap: 2px; font-size: 13px; white-space: nowrap; z-index: 4; }
.ter-dica b { font-size: 14px; }
.ter-legenda { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.ter-legenda span { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #3D3650; }
.ter-legenda i { width: 14px; height: 14px; border-radius: 3px; border: 1px solid #D9D3E3; display: inline-block; }
.ter-duas { display: grid; grid-template-columns: minmax(280px, 400px) 1fr; gap: 24px; }
@media (max-width: 860px) { .ter-duas { grid-template-columns: 1fr; } .ter-campo input { width: 160px; } }
.ter-numeros { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ter-numeros > div { background: #F7F5FA; border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.ter-numeros span { font-size: 12.5px; color: #5E5873; }
.ter-numeros b { font-family: var(--display); font-size: 19px; }
.ter-numeros small { font-size: 12px; color: #6B6580; }
.ter-barra { display: grid; grid-template-columns: 24px minmax(110px, 170px) 1fr 80px; align-items: center; gap: 10px; font: inherit; font-size: 14px; border: 0; background: none; padding: 4px 0; text-align: left; cursor: pointer; color: inherit; }
.ter-barra .trilho { height: 12px; border-radius: 6px; background: #F1EAF8; overflow: hidden; }
.ter-barra .trilho i { display: block; height: 12px; border-radius: 6px; }
.ter-barra .num { text-align: right; }
.ter-nomes { display: flex; flex-wrap: wrap; gap: 6px; }
.ter-nomes button { border: 1px solid #E6E1EE; background: #fff; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 13px; cursor: pointer; }
.ter-mini { all: unset; cursor: pointer; display: flex; flex-direction: column; gap: 8px; border: 1px solid #EEE9F4; border-radius: 14px; padding: 14px; }
.ter-mini:hover, .ter-mini:focus-visible { border-color: #B08AD8; }
.ter-mini svg { width: 100%; height: auto; display: block; }
