body.analysis-page { background:#061410; color:var(--text); }
.analysis-shell { min-height:100vh; background:radial-gradient(circle at 85% 0%,rgba(45,127,91,.14),transparent 28%),linear-gradient(180deg,#061410 0%,#071a14 100%); }
.analysis-header { width:min(1360px,calc(100% - 72px)); min-height:82px; margin:auto; display:flex; align-items:center; gap:34px; border-bottom:1px solid var(--line); }.analysis-header .brand { font-size:16px; }.analysis-breadcrumb { display:flex; align-items:center; gap:9px; margin-left:42px; color:#658c78; font-family:var(--mono); font-size:9px; }.analysis-breadcrumb b { color:#35624c; }.analysis-breadcrumb strong { color:#b1d2bc; font-weight:500; }.back-link { margin-left:auto; color:var(--mint); font-size:11px; font-weight:700; }
.analysis-main { width:min(1360px,calc(100% - 72px)); margin:auto; padding:58px 0 70px; }.analysis-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; }.analysis-intro h1 { max-width:720px; font-size:clamp(45px,5.1vw,72px); margin:20px 0 16px; }.analysis-intro h1 em { color:var(--mint); font-style:normal; }.analysis-intro p { max-width:560px; color:var(--muted); font-size:15px; line-height:1.65; margin:0; }.intro-meta { display:flex; align-items:center; gap:10px; padding-bottom:8px; }.intro-meta strong,.intro-meta small { display:block; }.intro-meta strong { font-size:11px; }.intro-meta small { margin-top:4px; color:#729683; font-family:var(--mono); font-size:8px; }.live-dot { width:8px; height:8px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 5px rgba(109,230,168,.1),0 0 14px var(--mint); }
.filter-panel { margin-top:55px; padding:19px 21px 16px; border:1px solid var(--line-strong); border-radius:15px; background:rgba(14,43,33,.72); box-shadow:0 20px 60px rgba(0,0,0,.12); }.filter-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }.filter-heading strong { display:block; margin-top:5px; font-size:14px; }.clear-filters { border:0; background:none; color:#75a68b; cursor:pointer; font-family:var(--mono); font-size:8px; text-transform:uppercase; letter-spacing:.05em; }.clear-filters:hover { color:var(--mint); }.filter-grid { display:grid; grid-template-columns:1fr 1fr 1.55fr 1fr; gap:10px; }.filter-field { display:block; }.filter-field > span { display:block; color:#80a591; font-family:var(--mono); font-size:8px; text-transform:uppercase; letter-spacing:.07em; margin:0 0 7px 2px; }.filter-field select { width:100%; appearance:none; color:#d6ebdc; border:1px solid rgba(171,238,201,.18); background:#0a251c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='m2 3 3 3 3-3' fill='none' stroke='%236de6a8' stroke-width='1'/%3E%3C/svg%3E") no-repeat right 12px center; border-radius:7px; padding:11px 30px 11px 11px; font-size:11px; outline:none; cursor:pointer; }.filter-field select:focus { border-color:var(--mint); box-shadow:0 0 0 3px rgba(109,230,168,.08); }.filter-foot { display:flex; justify-content:space-between; align-items:center; margin-top:13px; }.filter-context { color:#739986; font-size:9px; }.source-badge { color:var(--mint); font-family:var(--mono); font-size:8px; text-transform:uppercase; }.source-badge i { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--mint); margin-right:5px; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; margin-top:12px; }.metric-card { min-height:147px; position:relative; overflow:hidden; padding:18px; border:1px solid var(--line); border-radius:13px; background:linear-gradient(145deg,rgba(16,49,37,.82),rgba(8,28,21,.78)); }.metric-card strong { display:block; font-size:32px; letter-spacing:-.08em; margin:16px 0 7px; }.metric-card small { color:#759b84; font-size:9px; }.metric-primary { border-color:rgba(109,230,168,.34); background:linear-gradient(145deg,rgba(24,74,55,.82),rgba(8,28,21,.82)); }.metric-warning { background:linear-gradient(145deg,rgba(67,54,28,.33),rgba(8,28,21,.78)); }.metric-spark { position:absolute; right:15px; bottom:20px; width:78px; height:25px; opacity:.7; }.spark-green { background:linear-gradient(135deg,transparent 12%,var(--mint) 13% 15%,transparent 16% 29%,var(--mint) 30% 32%,transparent 33% 44%,var(--mint) 45% 47%,transparent 48% 60%,var(--mint) 61% 63%,transparent 64%); }.spark-line { background:linear-gradient(165deg,transparent 20%,#76a58a 21% 23%,transparent 24% 37%,#76a58a 38% 40%,transparent 41% 53%,#76a58a 54% 56%,transparent 57% 74%,#76a58a 75% 77%,transparent 78%); }.spark-amber { background:linear-gradient(165deg,transparent 18%,var(--amber) 19% 22%,transparent 23% 42%,var(--amber) 43% 46%,transparent 47% 61%,var(--amber) 62% 65%,transparent 66% 76%,var(--amber) 77% 80%,transparent 81%); }.metric-ring { position:absolute; width:42px; height:42px; right:18px; bottom:14px; border:3px solid rgba(109,230,168,.2); border-top-color:var(--mint); border-right-color:var(--mint); border-radius:50%; transform:rotate(-30deg); }
.analysis-grid { display:grid; grid-template-columns:1.38fr .82fr; gap:12px; margin-top:12px; }.panel { border:1px solid var(--line); border-radius:14px; background:rgba(10,34,26,.78); }.trend-panel,.ranking-panel,.insight-panel,.breakdown-panel { padding:21px; }.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }.panel-heading h2 { font-size:16px; letter-spacing:-.04em; margin:6px 0 0; }.period-switch { display:flex; border:1px solid var(--line); border-radius:6px; padding:2px; }.period-switch button { border:0; background:transparent; color:#6e9880; border-radius:4px; padding:5px 8px; font-family:var(--mono); font-size:8px; cursor:pointer; }.period-switch button.active,.period-switch button:hover { color:#072116; background:var(--mint); }.trend-wrap { display:flex; gap:10px; margin-top:28px; }.y-axis { display:flex; flex-direction:column; justify-content:space-between; height:226px; color:#608671; font-family:var(--mono); font-size:8px; padding:0 0 21px; }.trend-chart { position:relative; flex:1; height:250px; min-width:0; }.chart-grid { position:absolute; inset:0 0 23px; display:flex; flex-direction:column; justify-content:space-between; }.chart-grid i { display:block; border-top:1px dashed rgba(171,238,201,.12); }.trend-chart svg { width:100%; height:226px; overflow:visible; }.trend-chart svg path { transition:d .55s ease; }.trend-point { fill:var(--mint); stroke:#092319; stroke-width:2; }.x-axis { display:flex; justify-content:space-between; color:#648b76; font-family:var(--mono); font-size:8px; margin-top:-2px; }.chart-caption,.panel-footer { display:flex; justify-content:space-between; align-items:center; color:#6e957f; font-family:var(--mono); font-size:8px; border-top:1px solid var(--line); padding-top:14px; margin-top:5px; }.legend-dot { display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:5px; }.legend-dot.green { background:var(--mint); }.caption-note { color:#5c816d; }.icon-button { width:28px; height:28px; border:1px solid var(--line); border-radius:7px; color:var(--mint); background:transparent; cursor:pointer; font-size:15px; }.ranking-table { margin-top:18px; }.rank-row { display:grid; grid-template-columns:27px 1fr 46px; gap:9px; align-items:center; padding:13px 0; border-top:1px solid rgba(171,238,201,.1); }.rank-row:first-child { border-top:0; }.rank-number { color:#5e8c72; font-family:var(--mono); font-size:9px; }.rank-name strong,.rank-name small { display:block; }.rank-name strong { font-size:10px; }.rank-name small { color:#69917a; font-size:8px; margin-top:3px; }.rank-value { text-align:right; color:var(--mint); font-family:var(--mono); font-size:12px; }.rank-meter { height:3px; margin-top:6px; background:rgba(171,238,201,.1); border-radius:5px; overflow:hidden; }.rank-meter i { display:block; height:100%; background:var(--mint); border-radius:5px; }.panel-footer { margin-top:8px; }.arrow-link { color:var(--mint); font-size:15px; }
.lower-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:12px; margin-top:12px; }.insight-spark { display:grid; place-items:center; width:28px; height:28px; background:rgba(109,230,168,.12); border-radius:8px; color:var(--mint); }.insight-copy { margin-top:25px; padding-left:16px; border-left:2px solid var(--mint); }.insight-copy p { color:#c0d9c8; font-size:15px; line-height:1.65; margin:0; }.insight-copy strong { color:var(--mint); }.insight-tags { display:flex; flex-wrap:wrap; gap:7px; margin:22px 0 0 16px; }.insight-tag { color:#9bc5aa; border:1px solid rgba(109,230,168,.23); border-radius:100px; padding:7px 10px; font-family:var(--mono); font-size:8px; }.driver-list { margin-top:24px; }.driver-row { display:grid; grid-template-columns:145px 1fr 32px; align-items:center; gap:12px; margin-top:19px; }.driver-row:first-child { margin-top:0; }.driver-row span,.driver-row small { display:block; }.driver-row span { font-size:10px; }.driver-row small { color:#6f967d; font-size:8px; margin-top:3px; }.driver-track { height:8px; border-radius:8px; background:rgba(171,238,201,.1); overflow:hidden; }.driver-track i { display:block; height:100%; border-radius:8px; background:var(--mint); transition:width .45s ease; }.driver-row:nth-child(2) .driver-track i { background:#7fc995; }.driver-row:nth-child(3) .driver-track i { background:var(--amber); }.driver-row b { color:var(--mint); font-family:var(--mono); font-size:10px; text-align:right; }
.sources-panel { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; margin-top:12px; padding:27px 22px; border:1px solid rgba(109,230,168,.23); border-radius:14px; background:linear-gradient(135deg,rgba(24,73,54,.5),rgba(8,27,21,.72)); }.sources-panel h2 { font-size:20px; margin:8px 0 10px; }.sources-panel p { max-width:720px; color:#94b4a2; font-size:11px; line-height:1.7; margin:0; }.source-links { display:flex; flex-direction:column; gap:8px; justify-content:center; }.source-links a { display:grid; grid-template-columns:34px 1fr 20px; align-items:center; gap:10px; padding:9px; border:1px solid var(--line); border-radius:8px; background:rgba(5,20,15,.32); }.source-links a:hover { border-color:var(--mint); }.source-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:7px; background:#5eaa7b; color:#072116; font-weight:800; }.source-susep { background:var(--amber); }.source-links strong,.source-links small { display:block; }.source-links strong { font-size:10px; }.source-links small { color:#719582; font-family:var(--mono); font-size:7px; margin-top:3px; }.source-links b { color:var(--mint); text-align:right; }.analysis-footer { width:min(1360px,calc(100% - 72px)); margin:auto; padding:24px 0 30px; display:flex; justify-content:space-between; color:#5e846f; font-family:var(--mono); font-size:8px; text-transform:uppercase; letter-spacing:.06em; border-top:1px solid var(--line); }.analysis-toast { position:fixed; left:50%; bottom:24px; z-index:10; transform:translate(-50%,20px); opacity:0; pointer-events:none; color:#072218; background:var(--mint); padding:12px 17px; border-radius:100px; font-size:11px; font-weight:800; transition:opacity .3s ease,transform .3s ease; }.analysis-toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width:900px) { .analysis-header,.analysis-main,.analysis-footer { width:min(100% - 38px,680px); }.analysis-breadcrumb { margin-left:auto; }.back-link { display:none; }.analysis-intro { display:block; }.intro-meta { margin-top:28px; }.filter-grid { grid-template-columns:1fr 1fr; }.metric-grid { grid-template-columns:1fr 1fr; }.analysis-grid,.lower-grid,.sources-panel { grid-template-columns:1fr; }.sources-panel { gap:28px; }.analysis-footer { gap:16px; flex-direction:column; } }
@media (max-width:560px) { .analysis-header { min-height:70px; }.analysis-header .brand { font-size:14px; }.analysis-breadcrumb { display:none; }.analysis-main { padding-top:38px; }.analysis-intro h1 { font-size:46px; }.filter-grid { grid-template-columns:1fr; }.filter-foot { gap:8px; align-items:flex-start; flex-direction:column; }.metric-card { min-height:130px; padding:14px; }.metric-card strong { font-size:27px; }.trend-panel,.ranking-panel,.insight-panel,.breakdown-panel { padding:16px; }.trend-panel { overflow:hidden; }.trend-wrap { margin-left:-3px; }.trend-chart { min-width:490px; }.trend-panel { overflow-x:auto; }.chart-caption { min-width:490px; }.driver-row { grid-template-columns:118px 1fr 28px; gap:8px; }.sources-panel { padding:20px 16px; }.analysis-footer { font-size:7px; } }

.period-switch button:disabled { color:#456b57; cursor:not-allowed; opacity:.52; }
.period-switch button:disabled:hover { color:#456b57; background:transparent; }

.susep-panel { margin-top:16px; }
.susep-period { text-align:right; display:flex; flex-direction:column; gap:3px; }
.susep-period strong { color:var(--mint); font-size:18px; }
.susep-period small { color:var(--muted); font-size:10px; }
.susep-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.susep-card { padding:16px; border:1px solid rgba(109,230,168,.12); background:rgba(3,19,14,.42); border-radius:12px; transition:.2s ease; }
.susep-card.is-selected { border-color:rgba(109,230,168,.55); background:rgba(109,230,168,.08); }
.susep-card-top,.susep-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.susep-card-top strong { font-size:20px; color:#ecfff3; }
.uf-badge { display:inline-grid; place-items:center; min-width:30px; height:22px; border-radius:5px; background:rgba(109,230,168,.14); color:var(--mint); font:700 10px/1 var(--mono); letter-spacing:.08em; }
.susep-meter { height:5px; margin:15px 0 11px; overflow:hidden; background:rgba(141,182,157,.12); border-radius:99px; }
.susep-meter i { display:block; height:100%; background:linear-gradient(90deg,var(--mint),var(--lime)); border-radius:inherit; }
.susep-card-bottom { color:var(--muted); font-size:11px; }
.susep-card-bottom small { color:#718f7c; }
.susep-foot { display:flex; justify-content:space-between; gap:14px; margin-top:14px; color:var(--muted); font-size:11px; }
.susep-foot .legend-dot { margin-right:7px; }
@media (max-width:720px) { .susep-grid { grid-template-columns:1fr; } .susep-foot { flex-direction:column; } }

/* Revisão metodológica: massa de renda e dados observados. */
.financial-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.financial-metrics .metric-card strong { letter-spacing:-.045em; font-size:clamp(24px,2.6vw,34px); }
.financial-metrics small { display:block; line-height:1.55; }
.coverage-notice { margin-top:12px; padding:15px 18px; border:1px solid rgba(223,183,103,.35); border-radius:10px; color:#dbc490; background:rgba(124,91,30,.1); font-size:12px; line-height:1.65; }
.susep-panel { padding:22px; }
.susep-grid { margin-top:20px; }
.data-note { color:#90b59f; font-size:11px; line-height:1.7; margin:15px 0 0; }
.method-details { margin-top:16px; border-top:1px solid var(--line); padding-top:13px; color:#90b59f; font-size:11px; line-height:1.7; }
.method-details summary { cursor:pointer; color:var(--mint); }
.method-details p { margin:12px 0 0; }
.official-trend { margin-top:12px; }
.official-trend .y-axis { min-width:76px; }
.official-trend .chart-caption { flex-wrap:wrap; gap:8px; }
.municipalities-panel { margin-top:12px; padding:22px; }
.table-tools { margin:22px 0 15px; display:flex; align-items:flex-end; gap:16px; }
.table-tools label:first-child { flex:1; }
.table-tools label:last-child { min-width:205px; }
.filter-field input { width:100%; background:#0a251c; border:1px solid var(--line); color:var(--text); border-radius:7px; padding:11px; font-size:12px; }
.filter-field input:focus { outline:2px solid var(--mint); outline-offset:2px; }
.table-scroll { overflow-x:auto; }
.municipal-table { border-collapse:collapse; width:100%; min-width:1140px; font-size:11px; }
.municipal-table thead th { color:#84ae95; font-weight:600; text-align:left; padding:12px 10px; border-bottom:1px solid var(--line-strong); vertical-align:bottom; }
.municipal-table tbody th,.municipal-table tbody td { text-align:left; padding:14px 10px; border-bottom:1px solid var(--line); white-space:nowrap; color:#ccdfd2; font-weight:400; }
.municipal-table tbody tr:hover { background:rgba(109,230,168,.04); }
.municipal-table small { display:block; font-size:9px; margin-top:5px; color:#7e9b89; }
.city-link { border:0; padding:0; background:none; color:var(--mint); font-size:11px; cursor:pointer; text-align:left; }
.city-link:hover { text-decoration:underline; }
.city-link:focus-visible { outline:2px solid var(--mint); outline-offset:4px; }
.table-pagination { margin-top:17px; display:flex; gap:12px; justify-content:space-between; align-items:center; font-size:11px; color:#8fae9b; }
.table-pagination > div { display:flex; gap:8px; }
.table-pagination button { border:1px solid var(--line); padding:9px 12px; border-radius:7px; background:#0a251c; color:var(--mint); cursor:pointer; font-size:11px; }
.table-pagination button:disabled { opacity:.35; cursor:default; }
.formula-list { margin-top:23px; }
.formula-list p { margin:14px 0; padding-bottom:13px; border-bottom:1px solid var(--line); }
.formula-list strong { display:block; font-size:12px; color:var(--mint); }
.formula-list span { display:block; margin-top:6px; font-size:12px; color:#94b4a2; line-height:1.7; }
@media (min-width:1100px) { .filter-grid { grid-template-columns:.9fr .65fr 1.4fr 1.25fr .8fr; } }
@media (max-width:900px) { .financial-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .financial-metrics { grid-template-columns:1fr; } .table-tools { flex-direction:column; align-items:stretch; } .table-pagination { align-items:flex-start; flex-direction:column; } .susep-panel,.municipalities-panel { padding:16px; } .official-trend .panel-heading { flex-direction:column; } }
