.datajuv-topo {
    background: #101d2e;
    border-bottom: 1px solid #263c51;
    color: #f1f5f9;
}
.datajuv-topo-conteudo {
    box-sizing: border-box;
    width: min(1400px, 100%);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.datajuv-marca { display: block; width: 100%; }
.datajuv-marca img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 1; }
.datajuv-navegacao {
    min-width: 0;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 40px;
    background: linear-gradient(110deg, #101d2e, #162b3c);
}
a.datajuv-logo { flex: 0 0 auto; color: #f8fafc; text-decoration: none; }
.datajuv-logo-nome {
    display: flex;
    align-items: baseline;
    font-family: 'Segoe UI', Arial, sans-serif;
    font-size: 34px;
    font-weight: 900;
    letter-spacing: -1.5px;
    line-height: 1;
}
.datajuv-logo-nome > span:first-child { color: #5eead4; }
.datajuv-logo-ponto { width: 7px; height: 7px; margin-left: 5px; border-radius: 50%; background: #fb923c; }
.datajuv-logo-assinatura { display: block; margin-top: 6px; color: #b7c9d8; font-size: 11px; line-height: 1.5; letter-spacing: .2px; }
.datajuv-menu, .datajuv-recortes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.datajuv-menu a {
    box-sizing: border-box;
    display: inline-block;
    padding: 12px 16px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #dce7f0;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    transition: background-color .15s, color .15s, border-color .15s;
}
.datajuv-menu a[aria-current="page"] { background: #203e4c; border-color: #39666a; color: #91f5df; }
.datajuv-menu a:hover { background: #263f52; border-color: #3f5c70; color: #fff; }
.datajuv-recortes a {
    box-sizing: border-box;
    display: inline-block;
    padding: 10px 14px;
    border: 1px solid #cbd8e1;
    border-radius: 8px;
    color: #18394d;
    background: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}
.datajuv-recortes a[aria-current="page"] {
    background: #0f766e;
    border-color: #0f766e;
    color: #fff;
}
.datajuv-recortes a:hover { background: #edf6f5; color: #134e4a; border-color: #0f766e; }
.datajuv-topo a:focus-visible, .datajuv-recortes a:focus-visible, .datajuv-municipio:focus-visible {
    outline: 3px solid #fb923c;
    outline-offset: 3px;
}
.datajuv-recortes { margin: 18px 0; }
.datajuv-recortes > span { font-size: 14px; font-weight: 600; margin-right: 4px; }
a.datajuv-municipio { color: #0f645d; text-decoration: underline; text-underline-offset: 3px; }
a.datajuv-municipio:hover { color: #123b52; }
@media (max-width: 900px) {
    .datajuv-navegacao { flex-wrap: wrap; gap: 18px; }
}
@media (max-width: 640px) {
    .datajuv-navegacao { padding: 18px 15px; flex-direction: column; align-items: stretch; }
    .datajuv-menu { align-items: stretch; }
    .datajuv-menu a { width: 100%; }
    .datajuv-recortes > span { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .datajuv-menu a { transition: none; }
}
.datajuv-menu { flex: 1; }
.datajuv-temas { position: relative; }
.datajuv-temas summary { cursor: pointer; padding: 12px 16px; border-radius: 8px; font: 600 14px/1.4 'Segoe UI',Arial,sans-serif; list-style: none; }
.datajuv-temas summary::-webkit-details-marker { display: none; }
.datajuv-temas[open] summary,.datajuv-temas summary:hover { background: #263f52; }
.datajuv-submenu { position: absolute; z-index: 1200; top: calc(100% + 8px); right: 0; min-width: 240px; padding: 8px; background: #13283b; border: 1px solid #3a5267; border-radius: 12px; box-shadow: 0 14px 30px #08152345; }
.datajuv-submenu a { display: block; }
.datajuv-temas summary:focus-visible { outline: 3px solid #fb923c; outline-offset: 2px; }
.datajuv-painel { margin: 0; background: #f3f6f9; color: #183047; font: 16px/1.6 'Segoe UI',Arial,sans-serif; }
.datajuv-painel * { box-sizing: border-box; }
.tema-conteudo { max-width: 1400px; margin: auto; padding: 40px 24px 64px; }
.tema-sobretitulo { color: #0f766e; font-size: 12px; font-weight: 800; letter-spacing: 2px; margin: 0; }
.tema-conteudo h1 { font-size: clamp(28px,4vw,42px); line-height: 1.2; margin: 12px 0; letter-spacing: -1px; }
.tema-conteudo h2 { font-size: 21px; line-height: 1.4; margin-top: 0; }
.tema-intro { max-width: 850px; color: #526779; margin-bottom: 28px; }
.tema-card { background: white; border: 1px solid #dbe3eb; border-radius: 16px; padding: 24px; margin: 20px 0; box-shadow: 0 3px 12px #132b4004; min-width: 0; }
.tema-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); gap: 18px; }
.tema-grid .tema-card { margin: 0; }
.tema-numero { display: block; font-size: 34px; line-height: 1.2; font-weight: 800; color: #0f766e; margin: 14px 0 8px; }
.tema-card small,.tema-nota { color: #546a7c; font-size: 13px; }
.tema-filtros { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; }
.tema-filtros label { display: flex; flex-direction: column; font-size: 13px; font-weight: 600; gap: 6px; }
.datajuv-painel select,.datajuv-painel button { font: inherit; padding: 10px 12px; border: 1px solid #b9cbd8; border-radius: 8px; max-width: 100%; background: white; color: #183047; }
.datajuv-painel button,.tema-exportar { background: #0f766e; color: white; border-color: #0f766e; cursor: pointer; text-decoration: none; border-radius: 8px; padding: 10px 16px; }
.tema-tabela { overflow: auto; max-height: 620px; }
.tema-tabela table { border-collapse: collapse; width: 100%; font-size: 14px; font-variant-numeric: tabular-nums; }
.tema-tabela th,.tema-tabela td { padding: 12px 14px; text-align: right; border-bottom: 1px solid #e2e9ef; white-space: nowrap; }
.tema-tabela th:first-child,.tema-tabela td:first-child { text-align: left; }
.tema-tabela th { background: #edf4f7; position: sticky; top: 0; z-index: 1; }
.tema-tabela tbody tr:hover { background: #f1faf8; }
.tema-alerta { border-left: 4px solid #e7a341; background: #fff8e9; padding: 16px 20px; border-radius: 6px; margin: 20px 0; }
.tema-barra { display: grid; grid-template-columns: minmax(180px,2fr) 3fr 70px; gap: 16px; align-items: center; margin: 16px 0; font-size: 14px; }
.tema-trilho { background: #edf2f6; border-radius: 6px; height: 14px; overflow: hidden; }
.tema-trilho span { background: #15998b; display: block; height: 100%; border-radius: 6px; }
.tema-grafico { width: 100%; height: auto; display: block; max-height: 300px; }
.tema-mapa { height: 480px; border: 1px solid #dbe3eb; border-radius: 12px; }
.leaflet-interactive:focus:not(:focus-visible) { outline: none; }
.tema-mapa-legenda { display:flex; flex-wrap:wrap; gap:16px; font-size:13px; margin-top:14px; }
.tema-mapa-legenda i { display:inline-block; width:14px; height:14px; margin-right:5px; vertical-align:middle; }
.tema-fontes { padding-top: 24px; margin-top: 24px; border-top: 1px solid #dbe3eb; font-size: 13px; }
.tema-fontes a,.tema-conteudo a:not(.tema-exportar) { color: #0d6b65; }
@media(max-width:640px) {
    .datajuv-temas { width: 100%; }
    .datajuv-submenu { position: static; margin-top: 8px; }
    .tema-conteudo { padding: 28px 15px 48px; }
    .tema-card { padding: 18px; }
    .tema-filtros label { width: 100%; }
    .tema-barra { grid-template-columns: 1fr 65px; gap: 8px; }
    .tema-barra > :first-child { grid-column: 1/-1; }
    .tema-mapa { height: 360px; }
}
