/* NEXA.IDEB.BRASIL.P1.2.4.3.29.1 — UX Premium da Central Nacional de Municípios */
:root{
  --mun-bg:#07172b;
  --mun-bg-2:#0c2240;
  --mun-bg-3:#132c52;
  --mun-panel:#102746;
  --mun-panel-2:#162f55;
  --mun-line:rgba(183,203,231,.16);
  --mun-line-2:rgba(183,203,231,.26);
  --mun-text:#f7f9ff;
  --mun-muted:#aab8cc;
  --mun-soft:#d6e4ff;
  --mun-cyan:#8edcff;
  --mun-blue:#8fb2ff;
  --mun-violet:#c4a4ff;
  --mun-positive:#77e2b4;
  --mun-negative:#ff9b9b;
  --mun-attention:#ffd48c;
  --mun-shadow:0 28px 80px rgba(0,0,0,.22);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.nexa-ideb{margin:0;background:var(--mun-bg);color:var(--mun-text)}
body.nexa-ideb a{color:inherit}

.municipios-central-page{
  min-height:100vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 12%,rgba(107,89,214,.22),transparent 28rem),
    radial-gradient(circle at 10% 28%,rgba(38,145,220,.14),transparent 26rem),
    linear-gradient(180deg,#091a31 0%,#061425 58%,#07172b 100%);
}

.municipios-shell{
  width:min(1560px,calc(100% - 64px));
  margin:0 auto;
}

.municipios-kicker{
  display:inline-block;
  color:#88a2c6;
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.19em;
  text-transform:uppercase;
}

.municipios-hero{
  position:relative;
  border-bottom:1px solid var(--mun-line);
  padding:82px 0 78px;
}
.municipios-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(139,201,255,.42),transparent);
}
.municipios-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);
  gap:72px;
  align-items:center;
}
.municipios-hero__copy h1{
  margin:18px 0 24px;
  max-width:990px;
  font-size:clamp(3.5rem,6.1vw,6.9rem);
  line-height:.95;
  letter-spacing:-.07em;
  font-weight:850;
}
.municipios-hero__copy h1 span{
  background:linear-gradient(90deg,#ffffff 0%,#9fe0ff 44%,#c4b0ff 92%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.municipios-hero__copy>p{
  max-width:900px;
  margin:0;
  color:#b7c6da;
  font-size:1.15rem;
  line-height:1.75;
}
.municipios-hero__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:32px;
}
.municipios-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:15px;
  border:1px solid transparent;
  font-weight:800;
  font-size:.95rem;
  text-decoration:none;
  cursor:pointer;
  transition:.18s ease;
}
.municipios-btn--primary{
  background:#fff;
  color:#07172b!important;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
.municipios-btn--primary:hover{transform:translateY(-2px)}
.municipios-btn--ghost{
  color:#eef5ff;
  background:rgba(255,255,255,.055);
  border-color:var(--mun-line-2);
}
.municipios-btn--ghost:hover{background:rgba(255,255,255,.09)}
.municipios-hero__trust{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
  margin-top:30px;
  color:#8fa3bf;
  font-size:.78rem;
}
.municipios-hero__trust span{display:flex;align-items:center;gap:8px}
.municipios-hero__trust i{
  width:7px;height:7px;border-radius:50%;
  background:linear-gradient(135deg,var(--mun-cyan),var(--mun-violet));
  box-shadow:0 0 16px rgba(142,220,255,.65);
}

.municipios-hero__panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(191,210,239,.21);
  border-radius:30px;
  background:
    linear-gradient(155deg,rgba(255,255,255,.11),rgba(255,255,255,.035)),
    rgba(20,42,76,.74);
  backdrop-filter:blur(20px);
  box-shadow:var(--mun-shadow);
}
.municipios-hero__panel::before{
  content:"";
  position:absolute;
  width:220px;height:220px;border-radius:50%;
  right:-80px;top:-90px;
  background:radial-gradient(circle,rgba(153,134,255,.28),transparent 68%);
}
.municipios-hero__panel-top{
  padding:34px 34px 30px;
  border-bottom:1px solid var(--mun-line);
}
.municipios-hero__panel-top>span{
  display:block;color:#93a7c3;font-size:.72rem;font-weight:850;letter-spacing:.16em
}
.municipios-hero__panel-top>strong{
  display:block;margin:8px 0 3px;font-size:4rem;letter-spacing:-.06em
}
.municipios-hero__panel-top>small{color:#a8b6ca}
.municipios-hero__panel-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.municipios-hero__panel-grid>div{
  padding:24px 30px;
  border-right:1px solid var(--mun-line);
  border-bottom:1px solid var(--mun-line);
}
.municipios-hero__panel-grid>div:nth-child(2n){border-right:0}
.municipios-hero__panel-grid>div:nth-last-child(-n+2){border-bottom:0}
.municipios-hero__panel-grid span{display:block;color:#91a4bf;font-size:.74rem}
.municipios-hero__panel-grid strong{display:block;margin-top:6px;font-size:1.65rem}

.municipios-overview{padding:68px 0 52px}
.municipios-overview__header{
  display:grid;
  grid-template-columns:1fr minmax(380px,.65fr);
  gap:50px;
  align-items:end;
  margin-bottom:28px;
}
.municipios-overview__header h2,
.municipios-explorer__intro h2,
.municipios-method h2{
  margin:8px 0 0;
  font-size:clamp(2rem,3vw,3.2rem);
  letter-spacing:-.045em;
}
.municipios-overview__header p,
.municipios-explorer__intro p,
.municipios-method p{
  margin:0;
  color:#9fb0c8;
  line-height:1.7;
}
.municipios-overview__cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.municipios-stat{
  position:relative;
  overflow:hidden;
  min-height:170px;
  padding:26px 28px;
  border:1px solid var(--mun-line);
  border-radius:24px;
  background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
}
.municipios-stat--accent{
  background:
    radial-gradient(circle at 100% 0,rgba(135,205,255,.17),transparent 55%),
    linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.035));
}
.municipios-stat span,
.municipios-stat small{display:block;color:#8ea3c0}
.municipios-stat span{font-size:.82rem}
.municipios-stat strong{display:block;margin:15px 0 5px;font-size:2.65rem;letter-spacing:-.055em}
.municipios-stat small{font-size:.76rem}

.municipios-explorer{padding:26px 0 80px}
.municipios-explorer__intro{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:22px;
}
.municipios-explorer__intro p{margin-top:10px}
.municipios-link-button{
  border:0;
  background:transparent;
  color:#9eb2ce;
  padding:8px 0;
  font-weight:750;
  cursor:pointer;
}
.municipios-link-button:hover{color:#fff}

.municipios-filter-card{
  border:1px solid var(--mun-line);
  border-radius:28px;
  background:
    radial-gradient(circle at 0 0,rgba(93,163,229,.11),transparent 24rem),
    rgba(9,31,57,.84);
  box-shadow:0 20px 55px rgba(0,0,0,.14);
  overflow:hidden;
}
.municipios-filter-card__primary{
  display:grid;
  grid-template-columns:minmax(340px,2fr) repeat(5,minmax(135px,.72fr));
  gap:14px;
  padding:24px;
}
.municipios-field{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.municipios-field>span{
  color:#8197b5;
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.municipios-field input,
.municipios-field select{
  width:100%;
  height:51px;
  border:1px solid rgba(177,200,232,.16);
  border-radius:14px;
  outline:none;
  background:#081c34;
  color:#f7f9ff;
  padding:0 14px;
  font:inherit;
  font-size:.92rem;
  transition:.16s ease;
}
.municipios-field input::placeholder{color:#617898}
.municipios-field input:focus,
.municipios-field select:focus{
  border-color:rgba(142,220,255,.56);
  box-shadow:0 0 0 4px rgba(80,163,232,.09);
}
.municipios-field select{
  appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,#8ea4c2 50%),
    linear-gradient(135deg,#8ea4c2 50%,transparent 50%);
  background-position:
    calc(100% - 19px) 22px,
    calc(100% - 14px) 22px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  padding-right:34px;
}
.municipios-searchbox{position:relative}
.municipios-searchbox svg{
  position:absolute;
  left:16px;top:50%;
  transform:translateY(-50%);
  width:19px;height:19px;
  fill:none;stroke:#6f87a7;stroke-width:1.9;stroke-linecap:round
}
.municipios-searchbox input{padding-left:47px;font-size:1rem}

.municipios-filter-card__advanced{
  border-top:1px solid var(--mun-line);
  padding:24px;
  background:rgba(255,255,255,.025);
}
.municipios-advanced-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}
.municipios-advanced-head strong{display:block;margin-top:5px}
.municipios-advanced-head button{
  border:1px solid var(--mun-line);
  background:transparent;
  color:#9fb1ca;
  border-radius:10px;
  padding:8px 12px;
  cursor:pointer;
}
.municipios-filter-card__advanced-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.municipios-field--order{grid-column:span 2}

.municipios-results-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:28px 2px 15px;
}
.municipios-results-head__count{
  display:flex;
  align-items:baseline;
  gap:9px;
}
.municipios-results-head__count>span{
  color:#8296b2;
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.13em;
}
.municipios-results-head__count strong{
  font-size:2rem;
  letter-spacing:-.04em;
}
.municipios-results-head__count small{color:#8498b5}
.municipios-results-head__context{
  display:flex;
  align-items:center;
  gap:12px;
}
.municipios-results-head__context span{
  padding:8px 11px;
  border:1px solid var(--mun-line);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#a6b7ce;
  font-size:.76rem;
}
.municipios-results-head__context button{
  display:none;
  border:0;
  background:transparent;
  color:#9fd9ff;
  font-weight:750;
  cursor:pointer;
}

.municipios-lista{
  display:grid;
  gap:12px;
}
.municipio-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(260px,1.05fr) minmax(410px,1.25fr) minmax(190px,.65fr) 38px;
  gap:24px;
  align-items:center;
  min-height:126px;
  padding:20px 24px;
  border:1px solid var(--mun-line);
  border-radius:22px;
  text-decoration:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  transition:.18s ease;
}
.municipio-card::after{
  content:"→";
  grid-column:4;
  grid-row:1;
  align-self:center;
  justify-self:end;
  color:#728aaa;
  font-size:1.3rem;
}
.municipio-card:hover{
  transform:translateY(-2px);
  border-color:rgba(151,210,255,.34);
  background:
    radial-gradient(circle at 20% 0,rgba(97,181,244,.09),transparent 35%),
    linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}
.municipio-card__id{
  grid-column:1;
  grid-row:1;
}
.municipio-card__id>span{
  display:block;
  margin-bottom:6px;
  color:#80a4d0;
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.municipio-card__id h3{
  margin:0 0 5px;
  color:#fff;
  font-size:1.2rem;
  letter-spacing:-.02em;
}
.municipio-card__id small{color:#7188a7;font-size:.75rem}
.municipio-card__metrics{
  grid-column:2;
  grid-row:1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.municipio-card__metrics>div{
  min-width:0;
  padding:11px 13px;
  border:1px solid rgba(179,202,233,.10);
  border-radius:14px;
  background:rgba(3,18,35,.34);
}
.municipio-card__metrics span{
  display:block;
  color:#748aa9;
  font-size:.63rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.municipio-card__metrics strong{
  display:block;
  margin-top:4px;
  color:#f8fbff;
  font-size:1.05rem;
}
.municipio-card__rank{
  grid-column:3;
  grid-row:1;
  text-align:right;
}
.municipio-card__rank span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#c4d3e7;
  font-size:.65rem;
  font-weight:850;
  letter-spacing:.04em;
}
.municipio-card__rank span[data-movimento="POSITIVO"]{color:var(--mun-positive);background:rgba(62,201,141,.08)}
.municipio-card__rank span[data-movimento="NEGATIVO"]{color:var(--mun-negative);background:rgba(255,116,116,.08)}
.municipio-card__rank span[data-movimento="SEM_IDEB"]{color:var(--mun-attention);background:rgba(255,192,96,.08)}
.municipio-card__rank small{
  display:block;
  margin-top:7px;
  color:#7489a7;
  font-size:.72rem;
}

.municipios-loading,
.municipios-empty{
  min-height:160px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border:1px dashed var(--mun-line-2);
  border-radius:22px;
  color:#8fa3bf;
}
.municipios-loading__dot{
  width:9px;height:9px;border-radius:50%;
  background:var(--mun-cyan);
  box-shadow:0 0 18px rgba(142,220,255,.75);
  animation:munPulse 1s infinite alternate;
}
@keyframes munPulse{to{opacity:.3;transform:scale(.7)}}

.municipios-pagination{
  display:flex;
  justify-content:center;
  gap:7px;
  padding:26px 0 0;
}
.municipios-pagination button{
  min-width:38px;height:38px;
  border:1px solid var(--mun-line);
  border-radius:11px;
  background:rgba(255,255,255,.035);
  color:#aebed2;
  cursor:pointer;
}
.municipios-pagination button:hover{border-color:var(--mun-line-2);color:#fff}
.municipios-pagination button.active{
  background:#fff;
  color:#07172b;
  border-color:#fff;
  font-weight:850;
}
.municipios-pagination button:disabled{opacity:.32;cursor:default}

.municipios-method{
  padding:74px 0 90px;
  border-top:1px solid var(--mun-line);
  background:linear-gradient(180deg,rgba(255,255,255,.015),transparent);
}
.municipios-method__grid{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:76px;
}
.municipios-method__items{
  display:grid;
  gap:12px;
}
.municipios-method__items article{
  display:grid;
  grid-template-columns:50px 1fr;
  gap:15px;
  padding:20px 0;
  border-bottom:1px solid var(--mun-line);
}
.municipios-method__items article>span{
  color:#607b9e;
  font-weight:850;
  letter-spacing:.08em;
}
.municipios-method__items strong{display:block;margin-bottom:5px}
.municipios-method__items p{font-size:.9rem}

@media(max-width:1180px){
  .municipios-shell{width:min(100% - 40px,1560px)}
  .municipios-hero__grid{grid-template-columns:1fr;gap:40px}
  .municipios-hero__panel{max-width:760px}
  .municipios-filter-card__primary{grid-template-columns:2fr 1fr 1fr}
  .municipios-filter-card__primary .municipios-field:nth-child(4),
  .municipios-filter-card__primary .municipios-field:nth-child(5){grid-column:span 1}
  .municipios-overview__cards{grid-template-columns:repeat(2,1fr)}
  .municipio-card{grid-template-columns:1fr 1.2fr .8fr 30px}
}
@media(max-width:860px){
  .municipios-shell{width:min(100% - 28px,1560px)}
  .municipios-hero{padding:58px 0}
  .municipios-hero__copy h1{font-size:clamp(3rem,12vw,5.3rem)}
  .municipios-overview__header,
  .municipios-method__grid{grid-template-columns:1fr;gap:24px}
  .municipios-overview__header p{max-width:720px}
  .municipios-filter-card__primary,
  .municipios-filter-card__advanced-grid{grid-template-columns:1fr 1fr}
  .municipios-field--search,
  .municipios-field--order{grid-column:1/-1}
  .municipio-card{
    grid-template-columns:1fr 38px;
    gap:16px;
  }
  .municipio-card__id{grid-column:1;grid-row:1}
  .municipio-card__metrics{grid-column:1;grid-row:2}
  .municipio-card__rank{grid-column:1;grid-row:3;text-align:left}
  .municipio-card::after{grid-column:2;grid-row:1/4}
}
@media(max-width:600px){
  .municipios-shell{width:min(100% - 20px,1560px)}
  .municipios-hero__copy h1{font-size:3.15rem}
  .municipios-hero__copy>p{font-size:1rem}
  .municipios-hero__actions{display:grid}
  .municipios-overview__cards{grid-template-columns:1fr}
  .municipios-filter-card__primary,
  .municipios-filter-card__advanced-grid{grid-template-columns:1fr}
  .municipios-filter-card__primary,
  .municipios-filter-card__advanced{padding:17px}
  .municipios-explorer__intro{display:block}
  .municipios-link-button{margin-top:12px}
  .municipios-results-head{display:block}
  .municipios-results-head__context{margin-top:10px;justify-content:space-between}
  .municipios-results-head__context button{display:inline}
  .municipio-card{padding:18px}
  .municipio-card__metrics{grid-template-columns:repeat(2,1fr)}
  .municipios-hero__panel-grid>div{padding:20px}
}
\n\n/* P1.2.4.3.29.2 — Ranking Nacional das Capitais */\n.capital-ranking{margin:20px 0;padding:26px;border:1px solid rgba(142,220,255,.22);border-radius:24px;background:radial-gradient(circle at 90% 0,rgba(190,159,255,.14),transparent 36%),linear-gradient(145deg,rgba(118,193,255,.09),rgba(255,255,255,.03))}.capital-ranking__eyebrow{color:#9dcaf0;font-size:.72rem;font-weight:850;letter-spacing:.14em}.capital-ranking__grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:12px;margin-top:17px}.capital-ranking__position,.capital-ranking__metric{padding:17px;border:1px solid rgba(183,203,231,.13);border-radius:16px;background:rgba(3,18,35,.28)}.capital-ranking__position span,.capital-ranking__metric span,.capital-ranking__neighbors span{display:block;color:#7f97b8;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.capital-ranking__position strong{display:block;margin-top:5px;font-size:2.1rem}.capital-ranking__metric strong{display:block;margin-top:7px;font-size:1.35rem}.capital-ranking__position small,.capital-ranking__neighbors small{color:#8298b5}.capital-ranking__neighbors{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.capital-ranking__neighbors>div{padding:15px 17px;border-top:1px solid rgba(183,203,231,.12)}.capital-ranking__neighbors strong{display:block;margin-top:5px}.capital-ranking__criteria{margin:12px 0 0;color:#7189a9;font-size:.76rem}@media(max-width:800px){.capital-ranking__grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.capital-ranking__grid,.capital-ranking__neighbors{grid-template-columns:1fr}}\n