/* Provincial statistics. Independent stylesheet so a returning browser loads the new dashboard. */
.infrastructure-platform #estadisticas { padding-block:38px 52px; max-width:1440px; }
.statistics-heading { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-bottom:30px; }
.statistics-heading .eyebrow { font-size:10px; color:#ab243b; letter-spacing:.15em; margin:0 0 13px; }
.statistics-heading h1 { font-size:clamp(34px,3.8vw,54px); letter-spacing:-.055em; line-height:1.04; margin:0 0 14px; color:#223f37; }
.statistics-heading h1 em { color:#b5253f; font-style:normal; }
.statistics-heading p:not(.eyebrow) { max-width:620px; margin:0; color:#62746a; font-size:14px; line-height:1.7; }
.statistics-heading>.button { flex:none; min-height:44px; }
.infrastructure-statistics { color:#243e34; font-size:14px; line-height:1.6; }
.infra-stats-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.infrastructure-statistics :is(button,select,a,summary):focus-visible,.statistics-citizen-details>summary:focus-visible { outline:3px solid #a9223e; outline-offset:3px; }
.infrastructure-statistics :is(h2,h3,p) { overflow-wrap:anywhere; }
.infrastructure-statistics h2 { font-size:25px; line-height:1.2; letter-spacing:-.035em; margin:0 0 10px; }
.infrastructure-statistics h3 { font-size:19px; line-height:1.3; letter-spacing:-.025em; margin:0 0 10px; }
.infrastructure-statistics button { font:inherit; cursor:pointer; }
.infrastructure-statistics a { color:#a5243c; text-underline-offset:3px; }
.infra-stats-toolbar { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 16px; padding:18px; margin-bottom:18px; background:#f1f5ee; border:1px solid #dbe4d7; border-radius:12px; }
.infra-stats-toolbar label { display:flex; flex-direction:column; flex:1 1 150px; gap:6px; font-size:11px; font-weight:650; color:#526b5c; min-width:0; }
.infra-stats-toolbar label:has(select[id="infraStatsSource"]) { flex:2 1 260px; }
.infra-stats-toolbar select { width:100%; min-width:0; min-height:44px; padding:10px 28px 10px 12px; border:1px solid #c9d5c5; background:#fff; border-radius:7px; color:#2c4838; font:inherit; font-size:13px; font-weight:500; }
.infra-stats-toolbar button { min-height:44px; padding:9px 14px; border:1px solid #c9d5c5; background:#fff; color:#375342; border-radius:7px; font-size:12px; }
.infra-stats-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0; }
.infra-stats-kpi { min-width:0; display:flex; flex-direction:column; justify-content:center; padding:21px; border:1px solid #dce4d7; border-radius:12px; background:#f8faf5; }
.infra-stats-kpi:first-child { background:#223f37; color:white; border-color:#223f37; }
.infra-stats-kpi dd { order:-1; display:block; font-size:38px; font-weight:750; line-height:1.1; letter-spacing:-.04em; font-variant-numeric:tabular-nums; margin:0 0 8px; }
.infra-stats-kpi dt { font-size:12px; line-height:1.5; font-weight:650; }
.infra-stats-kpi p { opacity:.75; padding-top:5px; }
.infra-stats-kpi :is(span,small,p) { font-size:12px; line-height:1.5; margin:0; color:inherit; }
.infra-stats-stage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0 12px; }
.infra-stats-stage-card { display:flex; flex-direction:column; align-items:flex-start; text-align:left; min-width:0; min-height:130px; padding:18px; border:1px solid #dfe4dd; border-top:3px solid var(--stage-color,#64748b); border-radius:10px; background:#fff; color:#2e4439; }
.infra-stats-stage-card strong { font-size:30px; font-variant-numeric:tabular-nums; line-height:1.1; letter-spacing:-.04em; margin:10px 0 5px; }
.infra-stats-stage-card :is(span,small) { font-size:12px; }
.infra-stats-stage-card .work-stalled-icon { display:inline-block; width:18px; height:18px; vertical-align:middle; margin-right:5px; color:var(--stage-color,#b91c1c); }
.infra-stats-stage-card:hover { background:#f7f9f4; }
.infra-stats-stage-card[aria-pressed=true] { outline:2px solid var(--stage-color,#64748b); outline-offset:2px; }
.infra-stats-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:18px; align-items:start; margin:25px 0; }
.infra-stats-panel { min-width:0; padding:23px; border:1px solid #dfe5d9; border-radius:13px; background:#fff; }
.infra-stats-panel>p { font-size:12px; color:#647669; margin:0 0 15px; }
.infra-stats-bars { display:grid; gap:5px; }
.infra-stats-bar { display:block; width:100%; padding:10px 0; border:0; border-radius:5px; background:none; color:#344c3e; text-align:left; font-size:13px; }
button.infra-stats-bar:hover { background:#f3f6ef; }
.infra-stats-bar>span:first-child,.infra-stats-bar>div:first-child { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.infra-stats-bar strong { font-variant-numeric:tabular-nums; white-space:nowrap; font-size:13px; }
.infra-stats-bar small { color:#66776a; font-size:11px; }
.infra-stats-bar-track { display:block; height:7px; width:100%; margin-top:7px; background:#edf1e7; border-radius:4px; overflow:hidden; }
.infra-stats-bar-fill { display:block; height:100%; border-radius:4px; background:#b72943; }
.infra-stats-table-wrap { overflow-x:auto; margin-top:16px; scrollbar-width:thin; }
.infra-stats-table { border-collapse:collapse; width:100%; min-width:570px; font-size:12px; line-height:1.55; }
.infra-stats-table caption { text-align:left; color:#607164; margin-bottom:10px; }
.infra-stats-table thead th { font-size:10px; text-transform:uppercase; letter-spacing:.05em; color:#647564; background:#f4f7f0; text-align:left; }
.infra-stats-table tbody th { text-align:left; font-weight:550; max-width:320px; }
.infra-stats-table :is(td,th) { padding:12px; border-bottom:1px solid #e2e8dd; vertical-align:top; }
.infra-stats-table td:first-child { max-width:290px; }
.infra-stats-table td small { display:block; margin-top:5px; color:#6e7b6f; }
.infra-stats-table :is(td,th):last-child { font-variant-numeric:tabular-nums; }
.infra-stats-note { font-size:12px; line-height:1.7; color:#68786a; margin:12px 0; }
.infra-stats-feedback { padding:16px; color:#496353; background:#f5f7f1; border:1px solid #dce3d5; border-radius:9px; font-size:13px; line-height:1.6; }
.infra-stats-feedback:empty { display:none; }
.infrastructure-statistics [id$="Retry"] { min-height:44px; padding:10px 17px; margin:6px 0 18px; border:1px solid #c8d4c1; border-radius:7px; color:#315341; background:#fff; }
.infrastructure-statistics [hidden] { display:none!important; }
.infra-stats-summary { padding:27px; margin:28px 0; background:#fcf5f3; border:1px solid #ead1d0; border-radius:13px; }
.infra-stats-summary h2 { color:#9f2438; }
.infra-stats-summary .infra-stats-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:900px; }
.infra-stats-summary .infra-stats-kpi { background:#fff; color:#912d3c; border-color:#ecd4d1; }
.infra-stats-ranking { margin:20px 0 0; padding:0; list-style:none; }
.infra-stats-ranking li { padding:9px 0; border-bottom:1px solid #eaded7; display:flex; align-items:baseline; gap:14px; justify-content:space-between; font-size:13px; }
.infra-stats-ranking li strong { font-variant-numeric:tabular-nums; }
.infra-stats-ranking li small { font-weight:400; color:#846a6d; }
.infra-stats-bar[aria-pressed=true] { background:#f3e8e9; box-shadow:0 0 0 5px #f3e8e9; }
.infra-stats-section-heading { margin-bottom:22px; }
.infra-stats-section-heading>.eyebrow { font-size:10px; letter-spacing:.12em; }
.infra-stats-summary details { margin-top:17px; }
.infrastructure-statistics details>summary { cursor:pointer; padding:12px 0; font-size:12px; font-weight:650; }
.statistics-citizen-details { margin-top:30px; border-top:1px solid #d3dfd4; border-bottom:1px solid #d3dfd4; }
.statistics-citizen-details>summary { display:flex; justify-content:space-between; align-items:center; gap:18px; list-style:none; padding:24px 0; cursor:pointer; color:#29483c; }
.statistics-citizen-details>summary::-webkit-details-marker { display:none; }
.statistics-citizen-details>summary small { display:block; font-size:9px; letter-spacing:.11em; color:#7a897d; margin-bottom:7px; }
.statistics-citizen-details>summary strong { font-size:22px; letter-spacing:-.025em; line-height:1.3; }
.statistics-disclosure-icon { display:grid; place-items:center; flex:none; width:34px; height:34px; border:1px solid #d4dfcf; border-radius:50%; font-size:23px; transition:transform .2s; }
.statistics-citizen-details[open] .statistics-disclosure-icon { transform:rotate(45deg); }
.statistics-citizen-content { padding-bottom:24px; }
.statistics-citizen-intro { font-size:14px; line-height:1.7; color:#66776c; margin:0 0 20px; }
@media(max-width:900px) {
  .infra-stats-grid { grid-template-columns:minmax(0,1fr); }
  .infra-stats-kpi { padding:17px; }
  .infra-stats-kpi dd { font-size:31px; }
  .infra-stats-toolbar label { flex-basis:calc(50% - 16px); }
}
@media(max-width:600px) {
  .infrastructure-platform #estadisticas { padding-block:26px 35px; }
  .statistics-heading { display:block; margin-bottom:23px; }
  .statistics-heading p:not(.eyebrow) { font-size:13px; }
  .statistics-heading>.button { margin-top:16px; }
  .infra-stats-toolbar { padding:14px; gap:12px; }
  .infra-stats-toolbar label,.infra-stats-toolbar label:has(select[id="infraStatsSource"]) { flex:1 1 100%; }
  .infra-stats-toolbar select { font-size:16px; }
  .infra-stats-kpis,.infra-stats-stage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .infra-stats-kpi { padding:16px 13px; }
  .infra-stats-kpi dd { font-size:32px; }
  .infra-stats-stage-card { padding:15px 12px; min-height:128px; }
  .infra-stats-panel,.infra-stats-summary { padding:18px; }
  .infra-stats-summary h2 { font-size:23px; }
  .infra-stats-summary .infra-stats-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .statistics-citizen-details>summary strong { font-size:19px; }
  .infra-stats-table { min-width:510px; }
}
@media(prefers-reduced-motion:reduce) { .statistics-disclosure-icon { transition:none; } }
