main { padding-block: 1.5rem 3rem; }
.controles { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem 2rem; padding: 1rem 1.25rem; margin-bottom: 1.5rem; }
.campo-etiquetado { display: grid; gap: .25rem; }
.campo-etiquetado .campo { min-width: 15rem; font-size: 1.0625rem; text-transform: none; letter-spacing: 0; }
.anio { display: flex; align-items: center; gap: .5rem; font-family: var(--mono); font-size: 1.125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.controles #csv { margin-left: auto; }

.proximo { margin-bottom: 1.5rem; min-height: 8rem; }
.proximo-caja { display: grid; background: var(--papel); border: 2px solid var(--tinta); }
@media (min-width: 52rem) { .proximo-caja { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
.proximo-cuerpo { padding: 1.25rem 1.5rem; }
.proximo-marcas { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.proximo-titular { display: flex; gap: 1.25rem; align-items: center; }
.proximo-dia { margin: 0; font-family: "Bricolage Grotesque", system-ui, sans-serif; font-size: clamp(4rem, 12vw, 7rem); font-weight: 800; line-height: .85; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.proximo-fecha { margin: 0 0 .25rem; font-family: var(--mono); font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; color: var(--cobalto); }
.proximo-nombre { margin: 0; font-size: clamp(1.5rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.proximo-cuenta { padding: 1.25rem 1.5rem; background: #eef2ef; border-top: 1px solid var(--linea); text-align: center; align-content: center; }
@media (min-width: 52rem) { .proximo-cuenta { border-top: 0; border-left: 1px solid var(--linea); } }
.proximo-cuenta .etiqueta { margin: 0; }
.proximo-numero { margin: .25rem 0 0; font-family: "Bricolage Grotesque", system-ui, sans-serif; font-size: 4rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.proximo-faltan { margin: .25rem 0 0; font-weight: 600; }

.resumen { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); margin-bottom: 2rem; }
.tarjeta { padding: 1rem 1.25rem; background: var(--papel); border: 1px solid var(--linea); }
.tarjeta p { margin: 0; }
.tarjeta-grande { margin-top: .25rem !important; font-family: "Bricolage Grotesque", system-ui, sans-serif; font-size: 1.5rem; font-weight: 700; letter-spacing: -.01em; }
.tarjeta-pie { margin-top: .25rem !important; color: var(--tinta-suave); font-size: .9375rem; }

.cronograma { margin: 0 0 1rem; font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -.02em; }
.lista-meses { border: 1px solid var(--linea); background: var(--papel); }
.mes-titulo { display: flex; justify-content: space-between; align-items: baseline; padding: .625rem 1.25rem; background: #eef2ef; border-top: 1px solid var(--linea); font-size: 1.125rem; text-transform: capitalize; }
.mes:first-child .mes-titulo { border-top: 0; }
.mes-titulo .etiqueta { text-transform: none; letter-spacing: .04em; }
.feriados { list-style: none; margin: 0; padding: 0; }
.feriado { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: .75rem 1.25rem; border-left: 4px solid var(--cobalto); border-top: 1px solid var(--linea); }
.feriado:first-child { border-top: 0; }
.feriado.largo { border-left-color: var(--oro); }
.feriado-ficha { display: grid; justify-items: center; padding: .375rem .25rem; background: var(--hoja); border: 1px solid var(--linea); }
.feriado.largo .feriado-ficha { background: var(--oro-suave); border-color: var(--oro); }
.feriado-dia { font-family: "Bricolage Grotesque", system-ui, sans-serif; font-size: 1.5rem; font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.feriado-semana { font-family: var(--mono); font-size: .625rem; letter-spacing: .05em; text-transform: uppercase; color: var(--tinta-suave); }
.feriado-cuerpo { display: flex; flex-wrap: wrap; align-items: baseline; gap: .125rem .75rem; }
.feriado-nombre { font-family: "Bricolage Grotesque", system-ui, sans-serif; font-size: 1.1875rem; font-weight: 600; }
.feriado-dia-largo { color: var(--tinta-suave); font-size: .9375rem; text-transform: capitalize; }
.feriado-estado { font-family: var(--mono); font-size: .8125rem; color: var(--cobalto); text-align: right; }
.feriado.pasado { opacity: .6; }
.feriado.pasado .feriado-estado { color: var(--tinta-suave); }
@media (max-width: 36rem) { .feriado { grid-template-columns: 4rem minmax(0, 1fr); } .feriado-estado { grid-column: 2; text-align: left; } }

.esq-proximo { height: 8rem; }
.esq-mes { height: 10rem; margin: 1rem; }
