.relatorio-recorte { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 16px; border: 1px solid #cfdeef; border-radius: 12px; background: #f4f8fe; }
.relatorio-recorte legend { padding: 0 8px; font-size: .8rem; font-weight: 750; color: #184d8d; }
.relatorio-recorte-grid { display: grid; grid-template-columns: minmax(0,1.5fr) repeat(2,minmax(0,1fr)); gap: 12px; }
.relatorio-recorte label, .relatorio-lista-controles label { display: grid; gap: 7px; min-width: 0; }
.relatorio-recorte select { width: 100%; min-width: 0; }
.relatorio-analise { margin: 24px 0; min-width: 0; }
.relatorio-analise h3 { margin: 0 0 8px; color: #184d8d; }
.relatorio-analise h4 { font-size: 1rem; margin: 20px 0 12px; }
.relatorio-contexto { margin: 0 0 16px; color: #49627e; font-size: .84rem; }
.relatorio-metricas { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.relatorio-metricas-principais { grid-template-columns: repeat(4,minmax(0,1fr)); padding: 16px; border: 1px solid #c9def3; border-radius: 14px; background: #edf5ff; }
.relatorio-metrica { display: flex; flex-direction: column; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.relatorio-metrica span { font-size: .72rem; color: #3e5978; }
.relatorio-metrica strong { font-size: 1.1rem; color: #123f77; font-variant-numeric: tabular-nums; }
.relatorio-metrica small { font-size: .68rem; color: #49627e; line-height: 1.5; }
.relatorio-detalhes { margin-top: 14px; padding: 14px; border: 1px solid #d8e4f0; border-radius: 12px; background: #f8fbff; min-width: 0; }
.relatorio-detalhes summary { cursor: pointer; color: #184d8d; font-size: .83rem; font-weight: 750; }
.relatorio-detalhes[open] > summary { margin-bottom: 16px; }
.relatorio-cobertura { color: #4d6079; font-size: .77rem; line-height: 1.6; }
.relatorio-territorios-head { display: flex; gap: 12px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-top: 16px; }
.relatorio-lista-controles { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.6fr); gap: 12px; margin-top: 16px; font-size: .8rem; }
.relatorio-territorios { display: grid; gap: 8px; margin: 12px 0; }
.relatorio-territorio { border: 1px solid #d6e3f1; border-radius: 12px; background: #fff; padding: 14px; min-width: 0; }
.relatorio-territorio > summary { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); align-items: center; gap: 16px; cursor: pointer; }
.relatorio-territorio-nome { display: grid; gap: 6px; font-size: .84rem; overflow-wrap: anywhere; }
.relatorio-territorio-nome small { color: #536a85; font-size: .7rem; }
.relatorio-territorio-nome::after { content: 'Ver apuração ▾'; color: #225c9e; font-size: .69rem; font-weight: 600; }
.relatorio-territorio[open] .relatorio-territorio-nome::after { content: 'Recolher apuração ▴'; }
.relatorio-territorio-apuracao { margin-top: 16px; border-top: 1px solid #d6e3f1; padding-top: 16px; }
.relatorio-territorio .relatorio-metrica strong { font-size: .94rem; }
.relatorio-perfis { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: start; }
.relatorio-perfil-linha { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 7px; margin-top: 14px; font-size: .74rem; }
.relatorio-perfil-linha strong { font-variant-numeric: tabular-nums; }
.relatorio-perfil-barra { width: 100%; height: 5px; background: #dce8f7; border-radius: 4px; overflow: hidden; }
.relatorio-perfil-barra i { display: block; height: 100%; background: #246ac0; }
.relatorio-detalhes summary:focus-visible, .relatorio-territorio summary:focus-visible { outline: 3px solid #3184d6; outline-offset: 5px; border-radius: 3px; }
@media (max-width: 740px) {
  .relatorio-recorte-grid, .relatorio-lista-controles, .relatorio-perfis { grid-template-columns: minmax(0,1fr); }
  .relatorio-metricas-principais { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .relatorio-territorio > summary { grid-template-columns: minmax(0,1fr); }
  .relatorio-territorio .relatorio-metricas { gap: 8px; }
  .relatorio-territorio-apuracao, .relatorio-detalhes > .relatorio-metricas { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .relatorio-metrica strong { font-size: 1rem; }
  .relatorio-analise .report-download { white-space: normal; text-align: left; max-width: 100%; }
  .relatorio-recorte { padding: 12px; }
}
