/* Visual alignment with Informe Jurídico and Instancias Nacionales. */
body::before{content:'';position:fixed;inset:0 0 auto;height:4px;z-index:100;background:linear-gradient(90deg,#f6ce16 0 50%,#1764b0 50% 75%,#ce2738 75%)}
.app{display:block;min-width:0}
.rail{position:fixed;inset:4px auto 0 0;width:232px;height:calc(100vh - 4px);padding:22px 12px 18px;background:linear-gradient(180deg,#0b2747,#12365f);overflow-y:auto;z-index:30;scrollbar-width:thin;color:#fff}
.brand{margin:0 3px 18px;padding:10px 5px 16px;border-bottom:2px solid #f5c518}
.brand .logo{width:100%;padding:0;background:none;border-radius:0}
.brand .logo img{width:100%;height:auto;filter:drop-shadow(0 5px 9px #0010233d)}
.brand-caption{display:block;margin-top:11px;color:#dce9f6;text-align:center;font-size:9px;letter-spacing:.1em;font-weight:700}
.nav{padding:8px 0;gap:6px;flex:none}
.nav button{min-height:51px;padding:12px 11px;gap:10px;border:1px solid transparent;font-size:11px;border-radius:9px;color:#e1ebf6;line-height:1.5}
.nav button svg{display:none}
.nav-number{font-size:9px;color:#99b9da;font-variant-numeric:tabular-nums}
.nav-arrow{margin-left:auto;font-size:19px;color:#91b4d9}
.nav button.active{border-color:#ffffff20;background:#ffffff14;color:white;box-shadow:inset 3px 0 #f5c518}
.nav button.active .nav-number,.nav button.active .nav-arrow{color:#f5c518}
.rail .foot{margin-top:auto;padding:25px 13px 0;border:0;opacity:1;color:#a2bad3;font-size:9px;line-height:1.7}
.rail-motto{font-size:10px;margin-bottom:18px;color:#c3d6e9;line-height:1.8}
.main{margin-left:232px;padding:24px 28px;min-width:0;outline:none}
.topbar{margin:0 0 20px;display:block}
.urban-hero{position:relative;isolation:isolate;overflow:hidden;padding:24px 34px 21px;border-radius:18px;color:white;background:radial-gradient(circle at 84% 28%,#f5c51866 0 3px,transparent 4px),radial-gradient(circle at 77% 68%,#ffffff30 0 4px,transparent 5px),linear-gradient(120deg,#0b2949 0%,#143f6e 55%,#1764b0 100%);box-shadow:0 12px 28px #14325417}
.urban-hero::before{content:'';position:absolute;z-index:-1;right:-110px;top:-180px;width:410px;height:410px;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 45px #ffffff05,0 0 0 90px #ffffff04,0 0 0 135px #ffffff03;pointer-events:none}
.urban-hero::after{content:'';position:absolute;inset:0 0 0 55%;z-index:-1;opacity:.11;background-image:linear-gradient(#ffffff1c 1px,transparent 1px),linear-gradient(90deg,#ffffff1c 1px,transparent 1px);background-size:40px 40px;pointer-events:none}
.hero-kicker{font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#f5c518}
.urban-hero h1{max-width:1000px;font-size:clamp(25px,2.3vw,34px);font-weight:800;line-height:1.16;letter-spacing:-.035em;margin:8px 0 10px;color:white;outline:none}
.urban-hero p{font-size:12px;line-height:1.65;color:#e0edfa;max-width:900px}
.hero-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:13px;color:#d7e7f7;font-size:9px;font-weight:600}
.hero-meta>span:not(:last-child){padding:4px 9px;background:#ffffff12;border:1px solid #ffffff30;border-radius:20px}
.hero-meta>span:last-child{margin-left:auto;letter-spacing:.1em}
.view{padding:0 0 12px;min-width:0}
.urban-layout .view>.sechead{display:none}
.kpis{padding:0;margin-bottom:18px;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))}
.kpi{border:1px solid var(--line);border-bottom:3px solid #1764b0;min-width:0;padding:15px 13px;gap:9px;box-shadow:0 4px 18px #14325412}
.kpi b{font-size:18px}.kpi small{font-size:10px}.kpi .ic{width:30px;height:30px}.kpi .per{font-size:9px}
.panel,.card,.ocard,.tcard{border:1px solid var(--line);box-shadow:0 4px 18px #14325412;border-radius:15px;min-width:0}
.home{grid-template-columns:185px minmax(260px,1fr) minmax(340px,1.1fr);gap:14px}
.clist button{font-size:11px}.citylist h3{font-size:12px}
.citycard{min-width:0}.mapwrap{min-width:0}
.cmp-table{overflow-x:auto;max-width:100%}
.cmp-row{min-width:750px}
.src{max-width:none}
.src .grid2{align-items:start}
.urban-mobile,.urban-close,.urban-backdrop{display:none}
.urban-skip{position:fixed;left:250px;top:-80px;z-index:110;background:#f5c518;color:#0b2747;padding:10px 16px;border-radius:7px}
.urban-skip:focus{top:10px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d8ab0c;outline-offset:3px}
@media(min-width:1181px) and (max-width:1300px){.home{grid-template-columns:165px minmax(230px,1fr) minmax(295px,1fr)}.main{padding:24px 22px}.kpi{display:block}.kpi .ic{margin-bottom:8px}}
@media(min-width:851px) and (max-width:1180px){.main{padding:22px}.home{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.citylist{display:none}.mobile-pick{display:block}.citycard{position:static;max-height:none}.legend{position:static;margin-top:10px}.legend small{max-width:none}}
@media(max-width:850px){
  .urban-mobile{display:flex;position:sticky;top:4px;z-index:20;justify-content:space-between;align-items:center;gap:10px;background:#0b2747;color:white;padding:12px 16px;font-size:12px;font-weight:600}
  .urban-toggle{background:#ffffff12;color:white;border:1px solid #ffffff35;border-radius:7px;padding:7px 10px;font-size:11px}
  .rail{display:none;inset:4px auto 0 0;position:fixed;width:min(290px,85vw);height:calc(100dvh - 4px);padding:18px 12px;align-items:stretch;flex-direction:column;z-index:50;box-shadow:10px 0 40px #061f3f50}
  .urban-menu-open .rail{display:flex}
  .urban-menu-open{overflow:hidden}
  .brand{padding:10px 5px 16px;flex-shrink:0}.brand .logo{width:100%}
  .nav{flex-direction:column;overflow:visible;gap:6px;padding:8px 0;flex:none}
  .nav button{width:100%;white-space:normal;padding:12px 11px;font-size:11px}
  .rail .foot{display:block}
  .urban-close{display:block;color:#fff;border:1px solid #ffffff30;border-radius:7px;padding:7px 12px;font-size:11px;align-self:flex-end}
  .urban-menu-open .urban-backdrop{display:block;position:fixed;inset:4px 0 0;background:#071c37a6;z-index:40}
  .main{margin-left:0;padding:16px}
  .urban-hero{padding:22px;border-radius:15px}.urban-hero h1{font-size:27px}.urban-hero p{font-size:11px}.hero-kicker{font-size:8px}
  .kpis{padding:0;grid-template-columns:repeat(2,minmax(0,1fr))}.view{padding:0}
  .home{grid-template-columns:minmax(0,1fr)}
  .mapwrap{max-width:540px;width:100%;margin:auto}.citycard{position:static;max-height:none}
  .legend{position:static;margin-top:10px}.legend small{max-width:none}
  .cmp-row{grid-template-columns:130px repeat(3,minmax(0,1fr))}
  .urban-skip{left:12px}
}
@media(max-width:420px){.urban-hero h1{font-size:25px}.hero-meta{font-size:8px}.kpi{display:block}.kpi .ic{margin-bottom:8px}}

body{font-family:'Poppins','Segoe UI',sans-serif;background:#f1f5fa}button,input,select{font-family:inherit}
.rail{display:flex;flex-direction:column}.rail .brand{flex:none}.urban-brand{display:block}.urban-brand img{width:100%;height:auto}.brand .name,.brand .sub,.brand .eyebrow{display:none}.rail .brand-caption{color:#dce9f6}.rail .foot{margin-top:auto}
.main{display:block}.content{padding:0;max-width:none}.topbar{position:relative;top:auto;display:block;background:none;padding:0;margin:0 0 18px;z-index:auto}.topbar>h1{display:none}.city-pick{justify-content:flex-end;flex-wrap:wrap;margin:14px 0 0}.city-pick label{color:#607083}.city-pick select{min-width:0;max-width:100%;border:1px solid #dbe3ec;font-size:12px;padding:8px 12px}
.urban-hero p{margin:0}.urban-hero .hero-meta{margin-top:13px}.urban-hero h1{display:block;color:white}.urban-layout .page-head{display:none}
.nav .item{margin-bottom:6px}.nav .item.active::before{display:none}.nav .item.active button{background:#ffffff14;border-color:#ffffff20;color:white;box-shadow:inset 3px 0 #f5c518}.nav .item.active .nav-number,.nav .item.active .nav-arrow{color:#f5c518}
.nav button{font-family:inherit}.nav button svg{display:none}.nav{flex:none}.rail .foot a{display:block;color:#f5c518;margin-top:15px;text-decoration:none}
.grid,.two,.card,.oppcard,.headline,.kpis{min-width:0}.grid>*,.two>*{min-width:0}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.selchips select{max-width:100%;min-width:0}.headline{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.oppcard{border-radius:15px}.hl .n{font-size:30px}.view table{min-width:700px}.view>div:has(>table){max-width:100%}.view .card:has(table){min-width:0}.mapwrap svg{max-width:100%;height:auto}.card h3{flex-wrap:wrap}.foot-note{line-height:1.7}
@media(max-width:1180px){.urban-layout .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.two{grid-template-columns:minmax(0,1fr)}.headline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.urban-layout .grid{grid-template-columns:minmax(0,1fr)!important}.rail .brand{display:block}.rail .foot{display:block}.nav{width:100%;flex:none}.nav button{font-size:11px}.topbar{padding:0;margin-bottom:16px}.urban-mobile{font-family:inherit}.urban-hero h1{font-size:26px}.urban-hero p{font-size:11px}.urban-hero{padding:22px}.city-pick{justify-content:flex-start}.city-pick select{flex:1}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.headline{gap:10px}.hl{padding:14px}.hl .l{font-size:11px}}
@media(max-width:850px){.rail{display:none}.urban-menu-open .rail{display:flex}}
