:root{--navy:#123047;--blue:#3a82ab;--sky:#9cc9df;--gold:#f0c375;--ink:#16354c;--muted:#607789;--line:#e1ebef;--pale:#f4f8fa}
body{font-family:'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--navy);font-size:14px}h1,h2,h3,h4,h5,h6{font-family:inherit}button,a,input,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.gray-bg,#page-wrapper{background:var(--pale)}
.navbar-default,.nav-header,.nav>li.active,.mini-navbar .nav-second-level{background:var(--navy)}.nav-header{padding:32px 24px;background-image:none}.profile-element .font-bold{color:white;font-size:23px;letter-spacing:.02em}.profile-element .text-muted{color:var(--sky)!important}.navbar-default .nav>li>a{color:#c5d9e6;padding:17px 22px;font-weight:500}.navbar-default .nav>li>a:hover,.navbar-default .nav>li>a:focus{background:#193c57;color:#fff}.nav>li.active{border-left:3px solid var(--gold)}.nav-second-level li a{padding-left:45px!important}.navbar-static-top{background:white;border:0}.welcome-message{color:var(--muted)!important;font-size:12px}.btn-primary{background:var(--navy);border-color:var(--navy)}.btn-primary:hover{background:var(--blue);border-color:var(--blue)}
.page-heading{padding:30px 32px 24px;background:linear-gradient(110deg,#123047,#193c57);color:white;border:0!important}.page-heading h2{font-size:30px;letter-spacing:-.035em;margin-top:0}.page-heading h2:before{content:'OBSERVATORIO PREVISIONAL';display:block;font-size:10px;letter-spacing:.2em;color:var(--gold);margin-bottom:13px;font-weight:600}.page-heading hr{border-color:#ffffff20;margin:16px 0}.page-heading .text-navy{color:#c6dfed!important;font-size:14px!important}.page-heading .logo-izq{max-width:110px;background:#fff;padding:12px;border-radius:14px}.page-heading .breadcrumb{background:transparent;display:flex;flex-wrap:wrap;gap:7px;margin:0}.breadcrumb li a{display:inline-block;padding:7px 11px;border-radius:7px;color:#e2eff6;background:#ffffff0c;border:1px solid #ffffff22}.breadcrumb li.active a,.breadcrumb li a:hover{color:var(--navy);background:var(--sky);border-color:var(--sky)}.breadcrumb>li+li:before{content:none}.wrapper-content{padding:28px 28px 60px}
.ibox{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 5px 24px #173a5006;margin-bottom:24px}.ibox-title{border:0;border-bottom:1px solid var(--line);padding:18px 22px;min-height:58px;background:#fff}.ibox-title h5{float:none;font-size:12px;letter-spacing:.035em;line-height:1.6;font-weight:650;margin:0;padding-right:22px}.ibox-content{border:0;padding:24px 22px;color:var(--ink)}.ibox-content h1{font-size:38px;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.ibox-tools{position:absolute;right:16px;top:18px}.list-group-item{border-color:var(--line);font-size:13px}.ibox-title[class*="Bg"]{background:#eaf4f9!important;color:var(--navy);border-top:3px solid var(--blue)}.ibox-title.jubilacionesBg,.ibox-title.pensionesBg,.ibox-title.otrosBeneficiosBg{background:#fff8ea!important;border-top-color:var(--gold)}.table{font-size:12px}.table thead th{background:#edf5f9;color:var(--navy);border-bottom:2px solid var(--sky);padding:13px 10px}.table td{padding:11px 10px!important}.table-striped tbody tr:nth-of-type(odd){background:#f6f9fb}.footer{border-color:var(--line);color:var(--muted);font-size:12px}
.chart-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:16px}.portal-button{border:1px solid #d4e3eb;border-radius:8px;background:#f4f8fa;color:var(--navy);padding:7px 12px;font:600 12px 'Segoe UI',sans-serif;cursor:pointer}.portal-button:hover,.portal-button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.ibox:fullscreen{overflow:auto;border-radius:0;padding:24px;background:white}.ibox:fullscreen canvas{max-height:75vh}.portal-caption{font-size:12px;color:var(--muted);line-height:1.7}.portal-analysis{background:linear-gradient(120deg,#fff,#edf5f9)}.portal-analysis .ibox-title{background:transparent}.portal-analysis h3{margin:0;font-size:20px;letter-spacing:-.025em}.portal-analysis .ibox-content{background:transparent}.portal-compare{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:end;max-width:650px;margin:24px auto 32px;padding:0 30px}.portal-column{text-align:center;min-width:0}.portal-column strong{display:block;font-size:22px;margin-bottom:12px;font-variant-numeric:tabular-nums}.portal-track{height:160px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #a7c1d2}.portal-bar{width:65%;height:0;background:var(--blue);position:relative;transition:height .5s}.portal-column:nth-child(2) .portal-bar{background:var(--gold)}.portal-column span{display:block;font-size:12px;margin-top:16px}.portal-compare.is-3d .portal-bar{transform:skewY(-7deg);box-shadow:12px 8px 0 #16354c25}.portal-compare.is-3d .portal-bar:before{content:'';position:absolute;left:0;right:0;top:-10px;height:10px;background:#ffffff60;transform:skewX(-45deg);transform-origin:bottom}.portal-ratio{padding:16px 20px;border:1px solid var(--line);border-radius:10px;color:var(--navy);background:#fff;margin-bottom:12px}.portal-period{color:var(--muted);font-size:12px;margin:8px 0}.portal-empty{color:var(--muted)}
@media(max-width:767px){.page-heading{padding:24px 16px}.page-heading h2{font-size:24px}.page-heading .logo-izq{display:none}.wrapper-content{padding:18px 12px 50px}.ibox-content{padding:18px 14px}.portal-compare{gap:24px;padding:0 10px}.portal-column strong{font-size:20px}.dataTables_wrapper{overflow-x:auto}.ibox-title h5{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.chart-actions,.portal-button{display:none}.page-heading{background:#fff;color:var(--navy)}.ibox{break-inside:avoid;box-shadow:none}.wrapper-content{padding:0}}
.period-panel{flex:0 0 100%;display:flex;align-items:center;gap:18px;padding:18px 20px;margin-top:25px;background:#ffffff0c;border:1px solid #ffffff22;border-radius:14px;min-width:0}.period-intro{display:flex;align-items:center;gap:12px;margin-right:auto}.period-intro strong{display:block;font-size:13px;font-weight:600}.period-intro small{display:block;font-size:11px;color:#abc8d9;margin-top:4px}.period-dot{width:9px;height:9px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px #f0c37514}.period-field{display:flex;align-items:center;gap:12px;margin:0;font-size:11px;color:#b9d3e2;text-transform:uppercase;letter-spacing:.08em}.period-field select{min-width:115px;background:#fff;color:var(--navy);border:0;border-radius:9px;padding:10px 30px 10px 13px;font:600 14px 'Segoe UI',Arial,sans-serif;letter-spacing:0;text-transform:none}.period-field select:disabled{opacity:.6}.period-summary{border-left:1px solid #ffffff25;padding-left:18px;color:var(--gold);font-size:12px;min-width:130px}.portal-chart{width:100%;height:350px;min-width:0}.portal-chart canvas{max-width:none!important}.chart-engine-label{margin-right:auto;align-self:center;color:#7890a0;font-size:9px;letter-spacing:.13em;font-weight:700}.chart-help{margin:10px 0 0;font-size:11px}.chart-data{margin-top:14px;max-height:360px;overflow:auto}.chart-data[hidden]{display:none}.chart-data caption{caption-side:top;font-size:12px}.ibox:fullscreen .portal-chart{height:75vh}.portal-analysis .portal-chart{height:320px}
h1,h2,h3,h4,h5,h6{font-family:'Segoe UI',Arial,sans-serif}
.portal-load-error{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#fff4df;color:#684b18;border:1px solid #efd6a9;border-radius:10px;padding:16px 20px;margin-bottom:22px;font-size:13px}
.portal-pie-summary{height:220px}.portal-pie-summary+.chart-help{font-size:10px;text-align:center}.portal-pie-summary~.list-group{margin-top:15px}.portal-pie-summary~.list-group .list-group-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.portal-pie-summary~.list-group .float-right{margin-left:auto;order:2;font-weight:600}.portal-pie-summary~.list-group .label{background:#3a82ab}.portal-pie-summary~.list-group .label-2{background:#e6b65e;color:#123047}.portal-pie-summary~.list-group .label-3{background:#70afbf;color:#123047}
@media(max-width:900px){.period-panel{flex-wrap:wrap;gap:14px}.period-intro{width:100%}.period-summary{margin-left:auto}.chart-actions{gap:5px}.chart-engine-label{width:100%;margin-bottom:5px}.portal-chart{height:320px}}
@media(max-width:480px){.period-panel{padding:16px 12px}.period-field{flex:1;display:grid;gap:7px}.period-field select{width:100%;min-width:0}.period-summary{border:0;padding:0;width:100%}}

/* Compact home: contextual indicators, reporting coverage and paired histories. */
.portal-relation{display:grid;grid-template-columns:1.15fr .8fr 1.35fr;gap:24px;align-items:center;padding:20px 24px;margin:0 0 24px;background:#eaf3f8;border:1px solid #d7e6ef;border-radius:13px}
.relation-context{display:flex;gap:14px;align-items:center}.relation-symbol{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:#fff;color:#3a82ab;font-size:23px}.relation-context h3{font-size:15px;font-weight:650;margin:0 0 5px}.relation-context .portal-period{margin:0;font-size:11px;line-height:1.5}.relation-metric{padding-left:22px;border-left:1px solid #cddfe9}.relation-metric strong{display:block;font-size:34px;line-height:1.2;letter-spacing:-.04em;color:#123047;font-variant-numeric:tabular-nums}.relation-metric span{font-size:11px;color:#536f82}.relation-formula{font-size:12px;color:#405e72;margin:0 0 6px;line-height:1.5}.relation-detail details{font-size:11px;color:#607789}.relation-detail summary{cursor:pointer;width:fit-content;color:#28698f}.relation-detail details p{margin:9px 0 0;line-height:1.65}
.portal-pending .ibox-title{padding:15px 20px;min-height:0}.portal-pending .ibox-title h5{font-size:13px;letter-spacing:0;text-transform:none;padding-right:45px}.pending-count{display:inline-flex;align-items:center;justify-content:center;background:#fff2d9;color:#795821;min-width:24px;height:22px;border-radius:6px;margin-left:8px;font-size:11px}.portal-pending .ibox-content{padding:14px 20px 18px}#organismosSinInformar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;margin:0;padding:0;list-style:none}#organismosSinInformar li{padding:9px 12px;background:#f7f9fb;border-radius:7px;border-left:2px solid #e4bc77;font-size:12px;line-height:1.5;color:#526b7e}.portal-pending .ibox-tools{top:15px}
.portal-section-title{background:transparent;border:0;padding:10px 0 18px;min-height:0;text-align:left}.portal-section-title h3{font-size:17px;font-weight:650;margin:0;letter-spacing:-.02em}.portal-history-pair>[class*="col-"]{display:flex;min-width:0}.portal-history-pair .ibox{width:100%}.portal-history-pair .portal-chart{height:270px}.portal-history-pair .ibox-content{padding:16px 16px 14px}.portal-history-pair .ibox-title{padding:15px 16px;min-height:0}.portal-history-pair .ibox-title h5{font-size:11px;letter-spacing:.02em}.portal-history-pair .chart-actions{margin-bottom:8px}.portal-history-pair .chart-engine-label{display:none}.portal-history-pair .chart-help{font-size:10px;line-height:1.6;min-height:32px}.portal-single-series .ibox-title h5:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:9px;background:var(--chart-accent,#3a82ab)}
.portal-home .ibox-title.inicioTotalAportantesBg{background:#fff8eb!important;border-top-color:#bd8936}.portal-home .ibox-title.inicioTotalPrestacionesBg{border-top-color:#3a82ab}
.portal-benefit-card{--benefit-accent:#23877e}.portal-benefit-card.benefit-pensiones{--benefit-accent:#7d6ca7}.portal-benefit-card.benefit-otras{--benefit-accent:#708ba2}.portal-benefit-card .ibox-title[class*="Bg"]{background:#fff!important;border-top:2px solid var(--benefit-accent);padding:13px 16px;min-height:0;text-align:left!important}.portal-benefit-card .ibox-title h5{font-size:11px;letter-spacing:.02em}.portal-benefit-card .ibox-content{display:grid;grid-template-columns:minmax(105px,.9fr) minmax(0,1.1fr);gap:0 12px;padding:15px 16px 18px}.portal-benefit-card .benefit-total{grid-column:1/-1;text-align:left!important}.portal-benefit-card .benefit-total h1{font-size:30px;line-height:1.2;margin:0 0 10px;font-weight:650!important}.portal-benefit-card .chart-actions{grid-column:1/-1;margin:0 0 6px;gap:6px}.portal-benefit-card .chart-actions .portal-button{padding:5px 9px;font-size:10px}.portal-benefit-card .portal-pie-summary{grid-column:1;grid-row:3;height:145px;align-self:center}.portal-benefit-card .chart-help{display:none}.portal-benefit-card .chart-data{grid-column:1/-1;grid-row:4}.portal-benefit-card .list-group{grid-column:2;grid-row:3;margin:0!important;align-self:center}.portal-benefit-card .list-group .list-group-item{font-size:10px;gap:6px;padding:9px 0;flex-wrap:nowrap}.portal-benefit-card .list-group .label{flex:none;width:7px;height:7px;padding:0;font-size:0;line-height:0;border-radius:50%}.portal-benefit-card .benefit-group-name{flex:1;min-width:0}.portal-benefit-card .list-group .float-right{flex:none;font-size:11px;font-variant-numeric:tabular-nums}.portal-benefits-grid .portal-chart:not(.portal-pie-summary){height:300px}
@media(min-width:992px) and (max-width:1250px){.portal-benefit-card .ibox-content{grid-template-columns:1fr}.portal-benefit-card .portal-pie-summary{grid-column:1;height:125px}.portal-benefit-card .list-group{grid-column:1;grid-row:4}.portal-benefit-card .chart-data{grid-row:5}}
@media(max-width:991px){.portal-relation{grid-template-columns:1fr 1fr;gap:16px}.relation-detail{grid-column:1/-1}#organismosSinInformar{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-history-pair .portal-chart{height:285px}.portal-benefit-card .ibox-content{grid-template-columns:145px minmax(0,1fr)}}
@media(max-width:575px){.portal-relation{padding:16px;grid-template-columns:1fr}.relation-metric{border-left:0;border-top:1px solid #cddfe9;padding:12px 0 0}.relation-metric strong{display:inline;font-size:30px;margin-right:10px}.relation-detail{grid-column:1}.relation-formula{font-size:11px}#organismosSinInformar{grid-template-columns:1fr}.portal-pending .ibox-content{padding:12px 14px}.portal-benefit-card .ibox-content{grid-template-columns:minmax(100px,.9fr) minmax(0,1.1fr)}.portal-section-title h3{font-size:15px;line-height:1.5}.portal-history-pair .portal-chart{height:275px}}
.portal-composition-row .portal-chart{height:300px}
.portal-composition-row>[class*="col-"]{display:flex;min-width:0}.portal-composition-row .ibox{width:100%}.portal-composition-row .chart-engine-label{display:none}.portal-composition-row .chart-help{min-height:32px}

/* Institutional blue palette and a stronger, local system-font hierarchy. */
.dataset-export{padding:20px;margin-bottom:22px;background:#f0f6fa;border:1px solid #d8e6ef;border-radius:12px}.dataset-export-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dataset-export-heading h3{font-family:'Bahnschrift','Segoe UI',Arial,sans-serif;font-size:19px;line-height:1.3;margin:0 0 6px;color:#16354c}.dataset-export-heading h3 i{margin-right:8px;color:#3a7598}.dataset-export p{font-size:12px;color:#607789;line-height:1.6;margin:6px 0 12px}.dataset-export-heading label{display:grid;gap:6px;flex:none;font-size:11px;color:#526e81;margin:0}.dataset-export select{font-family:inherit;border:1px solid #d2e1eb;border-radius:8px;background:#fff;color:#16354c;font-size:12px;padding:9px 12px;max-width:100%}.dataset-export .dataset-export-context{font-size:11px;margin-top:8px}.dataset-export-actions{display:flex;gap:9px;flex-wrap:wrap}.dataset-export-actions a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;text-decoration:none;font-size:12px;background:#fff}.dataset-export-actions .dataset-package{background:#183f5c;color:#fff;border-color:#183f5c}.dataset-export a[aria-disabled=true]{opacity:.5;cursor:default;pointer-events:none}.dataset-export-docs{margin-top:16px;font-size:12px}.dataset-export-docs summary{cursor:pointer;color:#2c678a;width:fit-content;font-weight:600}.dataset-document-links{display:flex;flex-wrap:wrap;gap:9px 18px;margin:12px 0}.dataset-document-links a{color:#28678f;text-decoration:underline;font-size:12px}
@media(max-width:767px){.dataset-export{padding:16px}.dataset-export-heading{flex-direction:column;gap:10px}.dataset-export-heading label{width:100%}.dataset-export select{width:100%}.dataset-export-actions a{flex:1 1 120px;justify-content:center}}
.portal-metrics-row .metric-main{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:22px 18px}.portal-metrics-row .metric-icon{width:44px;height:44px;border-radius:12px}.portal-metrics-row .metric-icon svg{width:29px;height:29px}.portal-metrics-row .metric-main h3{font-size:19px}.portal-metrics-row .metric-value{font-size:clamp(30px,3.1vw,43px)}.portal-metrics-row .metric-breakdown{padding:13px 14px 16px}.portal-metrics-row .metric-breakdown dl{gap:7px}.portal-metrics-row .metric-breakdown dl>div{border:0;border-radius:7px;padding:9px 8px;border-top:2px solid #81a8bf;background:#eaf2f8}.portal-metrics-row .metric-breakdown dl>div:nth-child(2){background:#edf6f8;border-top-color:#a1c4d3}.portal-metrics-row .metric-breakdown dl>div:nth-child(3){background:#f7f2e8;border-top-color:#cbb58c}.portal-metrics-row .metric-breakdown dt{font-size:10px;min-height:28px}.portal-metrics-row .metric-breakdown dd{font-size:clamp(13px,1.5vw,17px)}
.metric-compare{width:100%;border-top:3px solid #c2ad83;background:#f8fbfd}.metric-compare-heading{padding:16px 18px 8px}.metric-compare-heading h5{font-family:var(--portal-display,'Segoe UI',Arial,sans-serif);font-size:18px;font-weight:650;margin:0;color:#16354c;line-height:1.3}.home-current-period{color:#607789;font-size:11px;margin:5px 0 0}.metric-compare .ibox-content{padding:0 12px 12px;background:transparent}.metric-compare .portal-chart{height:185px}.metric-compare .chart-actions{margin:0 0 3px;gap:6px}.metric-compare .portal-button{font-size:10px;padding:5px 8px}.metric-compare .chart-help{display:none}
.portal-benefit-card .benefit-amount{order:2;flex:none;margin-left:auto;text-align:right}.portal-benefit-card .benefit-amount .float-right{float:none!important;display:block;margin:0;order:initial;line-height:1.25}.benefit-share{display:block;font-size:10px;line-height:1.3;font-weight:400;color:#607789;margin-top:2px}.portal-benefit-card .list-group .list-group-item{padding:7px 6px;margin:3px 0;border:0;border-radius:6px;background:#eaf2f8}.portal-benefit-card .list-group .list-group-item:nth-child(2){background:#edf6f8}.portal-benefit-card .list-group .list-group-item:nth-child(3){background:#f7f2e8}
.institution-identity{display:flex;gap:14px;align-items:center;justify-content:flex-end}.institution-identity .logo-izq{position:static;transform:none;display:block;width:90px;max-width:90px;height:auto;padding:9px}.province-emblem{display:flex;align-items:center;flex-direction:column;justify-content:center;margin:0;padding:6px 8px;min-width:94px;border-radius:12px;background:#ffffff09;border:1px solid #ffffff1c}.province-emblem img{display:block;width:78px;height:78px;object-fit:contain}.province-emblem figcaption{font-size:10px;line-height:1.3;text-align:center;color:#c5deeb;max-width:100px;margin-top:3px}
@media(min-width:992px) and (max-width:1199px){.institution-identity{gap:8px}.institution-identity .logo-izq{width:64px;max-width:64px}.province-emblem{min-width:74px;padding:5px}.province-emblem img{width:60px;height:60px}}
@media(max-width:991px){.institution-identity{justify-content:center;margin-top:16px}.province-emblem img{width:66px;height:66px}.institution-identity .logo-izq{display:block;width:76px;max-width:76px}.province-emblem{min-width:86px}}
@media(max-width:575px){.portal-metrics-row .metric-value{font-size:34px}.portal-metrics-row .metric-main h3{font-size:18px}.metric-compare .portal-chart{height:210px}}
.portal-comparison-triplet>[class*="col-"]{display:flex;min-width:0}.portal-comparison-triplet .ibox{width:100%}.portal-comparison-triplet .portal-chart{height:290px}.portal-comparison-triplet .ibox-title{min-height:82px;padding:15px 16px}.portal-comparison-triplet .ibox-title h5{font-family:'Bahnschrift','Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.4;font-weight:650;letter-spacing:-.015em}.portal-comparison-triplet .ibox-content{padding:16px}.portal-comparison-triplet .chart-engine-label{display:none}.portal-comparison-triplet .chart-actions{margin-bottom:10px}.portal-comparison-triplet .chart-help{font-size:10px;line-height:1.6}.portal-latest-card{background:#f8fbfd}.portal-latest-card .ibox-title{background:#f0f6fa}.portal-latest-card .ibox-content{background:transparent}.latest-period{font-size:11px;color:#607789;margin:6px 0 0;line-height:1.5}.latest-caption{font-size:11px;color:#607789;line-height:1.6;margin:8px 0 0}.portal-comparison-triplet .chart-help{min-height:32px}
:root{--portal-display:'Bahnschrift','Segoe UI',Arial,sans-serif;--series-prestaciones:#234e70;--series-beneficiarios:var(--series-prestaciones);--series-aportantes:#247f88;--series-jubilaciones:#4568b0;--series-pensiones:#7a94ae;--series-otras:#ac8549;--group-provinciales:#527895;--group-municipales:#99bccb;--group-otros:#c9b58d}
.portal-home .ibox .ibox-title h5{font-family:var(--portal-display);font-size:15px;font-weight:650;line-height:1.4;letter-spacing:-.015em;text-transform:none}.portal-home .portal-section-title h3{font-family:var(--portal-display);font-size:21px;font-weight:650;letter-spacing:-.025em}.portal-home .relation-context h3{font-family:var(--portal-display);font-size:17px}.portal-home .portal-history-pair .ibox-title h5{font-size:15px}.portal-home .portal-benefit-card .ibox-title h5{font-size:14px}.portal-home .portal-pending .ibox-title h5{font-size:15px}.portal-home .portal-benefit-card{--benefit-accent:var(--series-jubilaciones)}.portal-home .portal-benefit-card.benefit-pensiones{--benefit-accent:var(--series-pensiones)}.portal-home .portal-benefit-card.benefit-otras{--benefit-accent:var(--series-otras)}.portal-pie-summary~.list-group .label{background:#285875}.portal-pie-summary~.list-group .label-2{background:#83afc4;color:#123047}.portal-pie-summary~.list-group .label-3{background:#b7a27b;color:#123047}
.portal-metrics-row>[class*="col-"]{display:flex;min-width:0}.portal-metric-card{width:100%;border:1px solid #d7e5ed;box-shadow:0 8px 28px #12304709}.metric-main{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:20px;align-items:center;padding:25px 26px 23px;background:linear-gradient(115deg,#123047,#245572);color:#fff;border-top:3px solid #c2ad83}.metric-aportantes .metric-main{background:linear-gradient(115deg,#28516c,#407f9c);border-top-color:#d5c5a4}.metric-icon{display:grid;place-items:center;width:58px;height:58px;background:#ffffff0d;border:1px solid #ffffff30;border-radius:15px;color:#dcc99f}.metric-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.metric-overline{display:block;color:#c2d7e3;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}.metric-main h3{font-family:var(--portal-display);font-size:21px;font-weight:600;letter-spacing:-.025em;color:#fff;margin:0;line-height:1.25}.metric-value{display:block;font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(32px,3.5vw,48px);line-height:1.1;font-weight:650;letter-spacing:-.045em;font-variant-numeric:tabular-nums;margin-top:10px;color:#fff}.metric-breakdown{padding:15px 22px 18px;background:#fff}.metric-breakdown-title{display:block;color:#6c8292;font-size:10px;font-weight:600;letter-spacing:.025em;margin-bottom:12px}.metric-breakdown dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}.metric-breakdown dl>div{min-width:0;border-right:1px solid #e4edf2;padding-right:10px}.metric-breakdown dl>div:last-child{border:0;padding-right:0}.metric-breakdown dt{color:#61788a;font-size:11px;line-height:1.4;font-weight:400;margin:0 0 4px;min-height:16px}.metric-breakdown dd{color:#163c56;font-size:19px;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums;margin:0}
.portal-home .ibox .portal-chart-heading{display:flex;align-items:center;gap:14px;padding:20px 22px;min-height:90px;background:linear-gradient(110deg,#fff,#f7fafc)}.chart-title-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;border:1px solid #e2eaf0;background:#edf4f8;color:#285875;font-size:19px}.portal-home .ibox .portal-chart-heading h5{font-family:var(--portal-display);font-size:21px;line-height:1.25;font-weight:650;letter-spacing:-.025em;padding:0;margin:0;color:#16354c}.portal-chart-heading p{font-size:12px;line-height:1.5;color:#6c8191;margin:5px 0 0}.portal-home .portal-composition-row .portal-chart-heading{align-items:flex-start}.portal-home .portal-composition-row .portal-chart-heading h5{font-size:20px}
@media(max-width:1199px){.metric-main{padding:22px;gap:16px}.metric-main h3{font-size:19px}.metric-breakdown dd{font-size:18px}.portal-home .ibox .portal-chart-heading h5{font-size:19px}.portal-home .portal-composition-row .portal-chart-heading{gap:10px;padding:18px 16px}.portal-home .portal-composition-row .portal-chart-heading h5{font-size:18px}.chart-title-icon{width:38px;height:38px;font-size:17px}}
@media(max-width:575px){.metric-main{grid-template-columns:46px minmax(0,1fr);padding:20px 18px;gap:14px}.metric-icon{width:46px;height:46px;border-radius:12px}.metric-icon svg{width:29px;height:29px}.metric-main h3{font-size:19px}.metric-overline{font-size:9px;letter-spacing:.09em}.metric-breakdown{padding:14px 16px 16px}.metric-breakdown dl{gap:9px}.metric-breakdown dl>div{padding-right:6px}.metric-breakdown dt{font-size:10px;min-height:28px}.metric-breakdown dd{font-size:17px}.portal-home .ibox .portal-chart-heading{padding:16px;min-height:0;gap:11px}.portal-home .ibox .portal-chart-heading h5{font-size:19px}.portal-home .portal-section-title h3{font-size:19px}.portal-home .portal-history-pair .ibox-title h5{font-size:14px}}

/* One category identity across totals, histories, comparisons and tables.
   Institution-type breakdowns retain their own, independent three-color key. */
[data-category="beneficiarios"] {
    --category-accent:var(--series-beneficiarios); --category-soft:#edf3f8; --category-ink:#234e70;
}
[data-category="aportantes"] {
    --category-accent:var(--series-aportantes); --category-soft:#eaf5f5; --category-ink:#20636b;
}
[data-category="jubilaciones"] {
    --category-accent:var(--series-jubilaciones); --category-soft:#eef2fa; --category-ink:#3c5c9a;
}
[data-category="pensiones"] {
    --category-accent:var(--series-pensiones); --category-soft:#eff3f7; --category-ink:#4f6b85;
}
[data-category="otras"] {
    --category-accent:var(--series-otras); --category-soft:#faf4e9; --category-ink:#795d2f;
}
.portal-category-key {display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;margin:0 0 22px;padding:13px 17px;background:#fff;border:1px solid var(--line);border-radius:11px}
.category-key-title {font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#607789}
.portal-category-key ul {display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.portal-category-key li {display:inline-flex;align-items:center;gap:7px;color:var(--category-ink);font-size:12px;font-weight:600;line-height:1.5}
.portal-category-key li>span {width:9px;height:9px;border-radius:3px;background:var(--category-accent);flex:none}
.ibox[data-category] {border-top:3px solid var(--category-accent)}
.ibox[data-category]>.ibox-title {background:var(--category-soft)!important;border-top:0!important}
.ibox[data-category]>.ibox-title h5 {color:var(--category-ink)}
.ibox[data-category]>.ibox-title h5:before {content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:var(--category-accent);vertical-align:1px}
.ibox[data-category] .benefit-total h1,.ibox[data-category]>.ibox-content>h1 {color:var(--category-ink)}
.portal-benefit-card[data-category] {--benefit-accent:var(--category-accent)}
.portal-metric-card[data-category] {border-top:0}
.metric-prestaciones .metric-main {background:linear-gradient(115deg,#123047,var(--series-beneficiarios));border-top-color:var(--series-beneficiarios)}
.metric-aportantes .metric-main {background:linear-gradient(115deg,#1c535d,var(--series-aportantes));border-top-color:var(--series-aportantes)}
.metric-aportantes .metric-overline {color:#d3ecee}
.metric-aportantes .metric-icon {color:#e3d3ae}
.portal-metric-card .metric-main:after {content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--category-accent)}
.table thead th[data-category] {background:var(--category-soft);color:var(--category-ink);border-bottom:3px solid var(--category-accent)}
.portal-pie-summary~.list-group .label {background:var(--group-provinciales)}
.portal-pie-summary~.list-group .label-2 {background:var(--group-municipales)}
.portal-pie-summary~.list-group .label-3 {background:var(--group-otros)}
.portal-metrics-row .metric-breakdown dl>div {border-top-color:var(--group-provinciales)}
.portal-metrics-row .metric-breakdown dl>div:nth-child(2) {border-top-color:var(--group-municipales)}
.portal-metrics-row .metric-breakdown dl>div:nth-child(3) {border-top-color:var(--group-otros)}
@media(max-width:575px) {
    .portal-category-key {padding:12px 13px;gap:8px;margin-bottom:18px}
    .category-key-title {flex-basis:100%;font-size:9px}
    .portal-category-key ul {gap:7px 14px}
    .portal-category-key li {font-size:11px}
}

/* Numeric indicators: explicit heavy weights override the template's thin h1.
   Container units keep currency amounts intact in narrower cards. */
.ibox.portal-number-card>.ibox-title h5,
.portal-home .ibox.portal-benefit-card>.ibox-title h5 {
    font-family:'Segoe UI',Arial,sans-serif;
    font-weight:800;
    font-size:15px;
    line-height:1.4;
    letter-spacing:-.015em;
}
.portal-number-card>.ibox-title {display:flex;align-items:center;justify-content:center;min-height:67px;padding:16px 14px}
.portal-number-card>.ibox-title h5 {padding-right:0}
.portal-number-card>.ibox-content {container-type:inline-size;padding:24px 18px 28px;min-width:0}
.ibox.portal-number-card>.ibox-content>h1 {
    font-family:'Segoe UI',Arial,sans-serif;
    font-size:46px;
    font-size:clamp(36px,18cqi,54px);
    font-weight:800;
    line-height:1.15;
    letter-spacing:-.045em;
    font-variant-numeric:lining-nums tabular-nums;
    white-space:nowrap;
    margin:0;
    min-height:62px;
    display:flex;align-items:center;justify-content:center;
}
.portal-number-card>.ibox-content>h1 strong {font-weight:inherit}
.ibox.portal-money-card>.ibox-content>h1 {
    font-size:30px;
    font-size:clamp(22px,12.5cqi,38px);
    letter-spacing:-.035em;
}
.portal-metrics-row .metric-main h3 {font-family:'Segoe UI',Arial,sans-serif;font-weight:750;letter-spacing:-.025em}
.metric-main-copy {min-width:0;container-type:inline-size}
.portal-metrics-row .metric-value {
    font-weight:800;
    font-size:46px;
    font-size:clamp(30px,22cqi,52px);
    letter-spacing:-.045em;
    font-variant-numeric:lining-nums tabular-nums;
    white-space:nowrap;
}
.portal-benefit-card .benefit-total {container-type:inline-size;min-width:0}
.portal-benefit-card .benefit-total h1 {
    font-family:'Segoe UI',Arial,sans-serif;
    font-weight:800!important;
    font-size:36px;
    font-size:clamp(30px,16cqi,40px);
    letter-spacing:-.04em;
    font-variant-numeric:lining-nums tabular-nums;
}
.metric-breakdown dd,.portal-benefit-card .benefit-amount .float-right {font-weight:750}
.relation-metric strong {font-weight:800}
@media(max-width:575px) {
    .ibox.portal-number-card>.ibox-title h5 {font-size:14px}
    .portal-number-card>.ibox-title {min-height:59px}
}

/* Complementary historical views, sharing the same source and date window. */
.portal-prestations {margin-bottom:24px}
.prestations-section-heading {display:flex;align-items:center;justify-content:space-between;gap:14px 22px;flex-wrap:wrap;margin:8px 0 18px}
.prestations-section-heading h3 {font-family:var(--portal-display);font-size:22px;font-weight:700;letter-spacing:-.025em;margin:0 0 6px;color:var(--ink)}
.growth-range-caption {font-size:12px;line-height:1.5;color:var(--muted);margin:0}
.growth-range-controls {display:flex;gap:5px;padding:4px;background:#e9f0f5;border:1px solid #dce7ee;border-radius:11px;flex-wrap:wrap}
.growth-range-controls .portal-button {background:transparent;border-color:transparent}
.growth-range-controls .portal-button[aria-pressed=true] {background:var(--navy);border-color:var(--navy);color:#fff}
.portal-growth-row>[class*="col-"] {display:flex;min-width:0}
.portal-growth-row .ibox {width:100%;margin-bottom:10px}
.portal-growth-row .ibox-title {min-height:90px;padding:17px 20px}
.portal-growth-row .ibox-title h5 {font-family:var(--portal-display);font-size:16px;font-weight:700;letter-spacing:-.02em;line-height:1.4;padding:0}
.portal-growth-row .ibox-title p {font-size:12px;color:var(--muted);line-height:1.5;margin:5px 0 0}
.portal-growth-row .ibox-content {padding:20px 18px 16px}
.growth-stat {min-height:110px;margin:0 4px 10px}
.growth-stat strong {font-family:'Segoe UI',Arial,sans-serif;font-weight:800;font-size:38px;line-height:1.15;letter-spacing:-.04em;color:var(--series-beneficiarios);font-variant-numeric:tabular-nums}
.growth-stat>span {display:block;font-size:11px;color:var(--muted);margin-top:5px}
.growth-stat>p {font-size:12px;line-height:1.5;margin:8px 0 0;color:#3f647c}
.portal-growth-row .portal-chart {height:285px}
.portal-growth-row .chart-engine-label {display:none}
.portal-growth-row .chart-actions {gap:6px;margin-bottom:8px}
.portal-growth-row .chart-help {font-size:10px;line-height:1.6;margin-top:6px}
.growth-method {font-size:11px;line-height:1.65;color:var(--muted);margin:12px 0 0}
.growth-sign {display:inline-flex;align-items:center;gap:5px;margin-right:9px;color:#40576a}
.growth-sign:before {content:'';width:8px;height:8px;border-radius:2px;background:var(--series-beneficiarios)}
.growth-negative:before {background:var(--series-otras)}
.growth-methodology {font-size:11px;color:var(--muted);line-height:1.7;padding:0 3px}
.growth-methodology summary {color:#2c678a;cursor:pointer;width:fit-content}
.growth-methodology p {max-width:1000px;margin:9px 0 0}
.growth-quality {font-size:12px;line-height:1.6;padding:12px 16px;margin:4px 0 12px;background:#faf4e9;border:1px solid #e9dbc2;border-radius:8px;color:#795d2f}
.growth-quality[hidden] {display:none}
@media(max-width:1199px) {.portal-growth-row .ibox {margin-bottom:18px}}
@media(max-width:575px) {
    .prestations-section-heading h3 {font-size:20px}
    .growth-range-controls {width:100%}
    .growth-range-controls .portal-button {flex:1;padding:9px 6px;font-size:11px}
    .portal-growth-row .ibox-title {padding:16px;min-height:0}
    .portal-growth-row .ibox-title h5 {font-size:15px}
    .portal-growth-row .ibox-content {padding:16px 12px}
    .growth-stat strong {font-size:34px}
    .growth-stat {min-height:100px}
}
