/* =========================================================
   ARCHIVO HISTÓRICO · CLIMATOLOGÍA
   Hoja aislada del resto de páginas de observación.
========================================================= */

.ah-page { color:#405a69; }
.ah-page .contenedor { overflow:hidden; }

.ah-cabecera {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    align-items:end;
    padding:6px 0 22px;
    border-bottom:1px solid #e1ebf0;
}
.ah-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 7px;
    color:#6b8290;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ah-eyebrow::before {
    content:"";
    width:18px;
    height:3px;
    border-radius:4px;
    background:#6ba4d0;
}
.ah-cabecera h1 {
    margin:0;
    color:#274456;
    font-size:clamp(30px,3.2vw,44px);
    line-height:1.05;
    letter-spacing:-.028em;
}
.ah-lead {
    max-width:900px;
    margin:11px 0 0;
    color:#657b88;
    font-size:15px;
    line-height:1.58;
}
.ah-serie-chip {
    min-width:190px;
    padding:12px 15px;
    border:1px solid #d8e7ee;
    border-radius:12px;
    background:#f7fbfd;
    text-align:right;
}
.ah-serie-chip strong,.ah-serie-chip span{display:block}
.ah-serie-chip strong{color:#36566a;font-size:14px}
.ah-serie-chip span{margin-top:4px;color:#78909d;font-size:12px}

/* Consulta */
.ah-consulta {
    margin:24px 0 25px;
    padding:18px;
    border:1px solid #dce8ee;
    border-radius:14px;
    background:linear-gradient(180deg,#fff 0%,#fbfdfe 100%);
    box-shadow:0 4px 14px rgba(48,80,101,.045);
}
.ah-consulta-cabecera {
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    margin-bottom:15px;
}
.ah-consulta h2 { margin:0;color:#2e4d60;font-size:18px;letter-spacing:-.01em }
.ah-consulta-cabecera p { margin:4px 0 0;color:#83949f;font-size:12px }
.ah-consulta-acciones{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:0 0 auto}
.ah-modo { display:flex;flex-wrap:wrap;gap:6px }
.ah-modo a,.ah-modo button,.ah-atajos button,.ah-grafico-tabs button {
    border:1px solid #d6e3ea;
    border-radius:999px;
    background:#fff;
    color:#5b7584;
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
    transition:.16s ease;
}
.ah-modo a,.ah-modo button { display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:32px;padding:6px 13px;text-decoration:none }
.ah-modo a:hover,.ah-modo button:hover,.ah-atajos button:hover,.ah-grafico-tabs button:hover { border-color:#8db7d2;color:#315e79 }
.ah-modo button.activo,.ah-grafico-tabs button.activo { border-color:#6ba4d0;background:#6ba4d0;color:#fff }
.ah-restablecer-consulta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:29px;
    padding:5px 10px;
    border:1px solid #d9e3e8;
    border-radius:8px;
    background:#f8fafb;
    color:#6f818b;
    font:inherit;
    font-size:10.5px;
    font-weight:700;
    cursor:pointer;
    transition:.16s ease;
}
.ah-restablecer-consulta:hover{border-color:#aebfc8;background:#fff;color:#486474}
.ah-restablecer-consulta svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.ah-formulario {
    display:flex;
    align-items:end;
    flex-wrap:wrap;
    gap:10px;
}
.ah-campos-intervalo { display:flex;align-items:end;gap:10px }
.ah-campo { min-width:160px }
.ah-campo-fecha-hora{min-width:252px}
.ah-fecha-hora{display:grid;grid-template-columns:minmax(150px,1fr) 82px;gap:6px;align-items:center}
.ah-fecha-hora select{width:82px;min-width:82px;padding-left:9px;padding-right:24px;font-variant-numeric:tabular-nums}
.ah-campo label {
    display:block;
    margin:0 0 5px;
    color:#718591;
    font-size:11px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.ah-campo input,.ah-campo select {
    width:100%;
    min-height:38px;
    box-sizing:border-box;
    padding:7px 10px;
    border:1px solid #cedee7;
    border-radius:9px;
    outline:none;
    background:#fff;
    color:#365364;
    font:inherit;
    font-size:13px;
}
.ah-campo input:focus,.ah-campo select:focus { border-color:#76a9c8;box-shadow:0 0 0 3px rgba(107,164,208,.12) }
.ah-atajos { display:flex;flex-wrap:wrap;gap:5px;margin-left:5px }
.ah-atajos button { min-height:32px;padding:6px 11px;font-size:11px }
.ah-consultar {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:39px;
    padding:8px 17px;
    border:0;
    border-radius:9px;
    background:#315f7a;
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 2px 6px rgba(49,95,122,.16);
}
.ah-consultar:hover{background:#274f67}
.ah-consultar:disabled{background:#a8b8c1;cursor:not-allowed;box-shadow:none;opacity:.72}
.ah-consultar:disabled:hover{background:#a8b8c1}
.ah-consultar svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.ah-form-ayuda { margin:11px 0 0;color:#8b9aa3;font-size:11px;line-height:1.5 }
.ah-form-ayuda strong{color:#607b8b;font-weight:700}


/* Consulta · accesos recientes, periodos y selección personalizada */
.ah-consulta-grupos{display:grid;gap:0}
.ah-consulta-grupo{padding:16px 0;border-top:1px solid #e5edf1}
.ah-consulta-grupo:first-child{padding-top:2px;border-top:0}
.ah-consulta-grupo:last-child{padding-bottom:1px}
.ah-grupo-cabecera{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.ah-grupo-cabecera h3{margin:0;color:#35566a;font-size:14px;line-height:1.25}
.ah-grupo-cabecera p{margin:3px 0 0;color:#8999a2;font-size:10.5px;line-height:1.45}
.ah-preset-botones{display:flex;flex-wrap:wrap;gap:6px}
.ah-preset-botones button,
.ah-ancla-botones button{
    min-height:31px;
    padding:6px 11px;
    border:1px solid #d6e3ea;
    border-radius:999px;
    background:#fff;
    color:#5b7584;
    font:inherit;
    font-size:10.5px;
    font-weight:700;
    cursor:pointer;
    transition:.16s ease;
}
.ah-preset-botones button:hover,
.ah-ancla-botones button:hover{border-color:#8db7d2;color:#315e79;background:#f8fbfd}
.ah-preset-botones button.activo,
.ah-ancla-botones button.activo{border-color:#6ba4d0;background:#6ba4d0;color:#fff}
.ah-grupo-recientes .ah-preset-botones button{background:#f8fbfd}
.ah-grupo-recientes .ah-preset-botones button:hover{background:#eef6fa}
.ah-periodo-config{
    display:flex;
    align-items:end;
    flex-wrap:wrap;
    gap:10px 12px;
    margin-top:12px;
    padding:12px;
    border:1px solid #dce8ee;
    border-radius:11px;
    background:#f9fbfc;
}
.ah-periodo-config[hidden]{display:none!important}
.ah-periodo-ancla{display:grid;gap:5px;align-self:end}
.ah-periodo-ancla>span,
.ah-periodo-calculado>span{color:#718591;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ah-ancla-botones{display:flex;gap:4px}
.ah-ancla-botones button{min-height:37px;padding:7px 11px;border-radius:8px;font-size:10px}
.ah-periodo-fecha{min-width:252px}
.ah-periodo-calculado{
    min-width:210px;
    min-height:38px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:2px;
    padding:6px 10px;
    box-sizing:border-box;
    border:1px solid #d9e5eb;
    border-radius:9px;
    background:#fff;
}
.ah-periodo-calculado strong{color:#365364;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.ah-periodo-calculado.ah-invalido strong{color:#a35b5b}
.ah-consultar-periodo{min-width:156px}
.ah-formulario-personalizado{margin-top:1px}
.ah-grupo-personalizado .ah-form-ayuda{margin-top:9px}

/* Estado */
.ah-estado {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:64px;
    margin:20px 0;
    padding:16px;
    border:1px solid #dce8ee;
    border-radius:12px;
    background:#f9fcfd;
    color:#667f8e;
    font-size:13px;
}
.ah-estado[hidden]{display:none}
.ah-spinner{width:17px;height:17px;border:2px solid #d7e5ec;border-top-color:#6ba4d0;border-radius:50%;animation:ah-spin .75s linear infinite}
@keyframes ah-spin{to{transform:rotate(360deg)}}
.ah-estado.ah-error{border-color:#ecd1d1;background:#fff9f9;color:#9d5050}
.ah-estado.ah-error .ah-spinner{display:none}

.ah-periodo-cabecera {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin:2px 0 16px;
}
.ah-periodo-kicker{margin:0 0 4px;color:#81949e;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.ah-periodo-cabecera h2{margin:0;color:#29495b;font-size:23px;letter-spacing:-.018em}
.ah-periodo-meta{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.ah-periodo-meta span{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid #dbe7ed;border-radius:999px;background:#f8fbfc;color:#728793;font-size:10px;font-weight:700}

/* KPIs */
.ah-kpis { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:20px }
.ah-kpi {
    position:relative;
    min-width:0;
    padding:15px 14px 13px;
    border:1px solid #dce8ee;
    border-radius:12px;
    background:linear-gradient(180deg,#fff,#fbfdfe);
    overflow:hidden;
}
.ah-kpi::before{content:"";position:absolute;left:14px;right:14px;top:0;height:3px;border-radius:0 0 4px 4px;background:#91b6cd}
.ah-kpi.temperatura::before{background:#d9815f}.ah-kpi.maxima::before{background:#d85f5f}.ah-kpi.minima::before{background:#639bd0}.ah-kpi.lluvia::before{background:#4e9ed1}.ah-kpi.viento::before{background:#68a68e}.ah-kpi.presion::before{background:#7c8f9b}
.ah-kpi>span{display:block;color:#718794;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ah-kpi strong{display:block;margin-top:7px;color:#29485b;font-size:clamp(21px,2vw,29px);line-height:1;font-weight:700;letter-spacing:-.025em;white-space:nowrap}
.ah-kpi small{display:block;min-height:27px;margin-top:7px;color:#8b9aa3;font-size:10px;line-height:1.35}
.ah-kpi strong em{margin-left:3px;color:#6f8490;font-size:.48em;font-style:normal;letter-spacing:0}
.ah-kpi.maxima strong{color:#be4d4d}.ah-kpi.minima strong{color:#4b82b3}.ah-kpi.lluvia strong{color:#397fae}.ah-kpi.viento strong{color:#bd5050}

/* Narrativa */
.ah-narrativa {
    margin:0 0 26px;
    padding:16px 18px 17px;
    border:1px solid #dce8ee;
    border-left:4px solid #7aabc9;
    border-radius:11px;
    background:#f8fbfd;
}
.ah-narrativa-cabecera{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ah-narrativa-cabecera svg{width:18px;height:18px;fill:none;stroke:#658fa8;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.ah-narrativa h2{margin:0;color:#35566a;font-size:14px}
.ah-narrativa p{margin:0;color:#526b79;font-size:13px;line-height:1.67;text-align:justify}
.ah-narrativa strong{color:#35566a}

.ah-seccion-titulo { display:flex;justify-content:space-between;align-items:end;gap:16px;margin:28px 0 11px }
.ah-seccion-titulo h2{margin:0;color:#2d4c5f;font-size:20px;letter-spacing:-.015em}
.ah-seccion-titulo p{margin:4px 0 0;color:#8496a0;font-size:12px}

/* Resumen estadístico tabulado */
.ah-tablas-estadisticas{display:grid;gap:13px}
.ah-tablas-doble{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}

.ah-bloque-tabla{
    min-width:0;
    border:1px solid #dce8ee;
    border-radius:13px;
    background:#fff;
    overflow:hidden;
}
.ah-bloque-tabla>header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:12px 14px 10px;
    border-top:3px solid #8fb5cc;
    border-bottom:1px solid #e6eef2;
    background:#f9fbfc;
}
.ah-bloque-tabla.temperatura>header{border-top-color:#d85f5f}
.ah-bloque-tabla.sensacion>header{border-top-color:#c28568}
.ah-bloque-tabla.lluvia>header{border-top-color:#4e9ed1}
.ah-bloque-tabla.viento>header{border-top-color:#a83263}
.ah-bloque-tabla.atmosfera>header{border-top-color:#738d9d}
.ah-bloque-tabla.solar>header{border-top-color:#e0b039}

.ah-bloque-tabla h3{margin:0;color:#35566a;font-size:14px;line-height:1.25}
.ah-bloque-tabla header p{margin:3px 0 0;color:#8b9ba4;font-size:10px;line-height:1.35}
.ah-bloque-tabla header>span{
    flex:0 0 auto;
    margin-top:1px;
    color:#9aa8b0;
    font-size:9px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.055em;
    text-align:right;
}
.ah-tabla-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ah-bloque-tabla table{width:100%;border-collapse:collapse;table-layout:fixed}
.ah-bloque-tabla th,.ah-bloque-tabla td{
    padding:8px 11px;
    border-bottom:1px solid #edf2f5;
    vertical-align:middle;
    font-size:10.5px;
    line-height:1.35;
}
.ah-bloque-tabla tbody tr:last-child th,
.ah-bloque-tabla tbody tr:last-child td{border-bottom:0}
.ah-bloque-tabla thead th{
    background:#fcfdfe;
    color:#81929c;
    font-size:8.8px;
    font-weight:700;
    letter-spacing:.045em;
    text-transform:uppercase;
    text-align:right;
    white-space:nowrap;
}
.ah-bloque-tabla thead th:first-child{text-align:left}
.ah-bloque-tabla tbody th{
    color:#607784;
    font-weight:600;
    text-align:left;
}
.ah-bloque-tabla tbody td{
    color:#294554;
    font-weight:700;
    text-align:right;
}
.ah-bloque-tabla tbody tr:nth-child(even):not(.ah-fila-grupo){background:#fcfdfe}
.ah-bloque-tabla .ah-fecha,
.ah-bloque-tabla .ah-referencia{
    color:#8b9ba4;
    font-size:9.4px;
    font-weight:500;
}
.ah-matriz{min-width:760px}
.ah-matriz th:first-child{width:22%}
.ah-matriz th:nth-child(2){width:12%}
.ah-matriz th:nth-child(3){width:12%}
.ah-matriz th:nth-child(4){width:21%}
.ah-matriz th:nth-child(5){width:12%}
.ah-matriz th:nth-child(6){width:21%}

.ah-listado{min-width:500px}
.ah-listado th:first-child{width:45%}
.ah-listado th:nth-child(2){width:22%}
.ah-listado th:nth-child(3){width:33%}
.ah-listado thead th:nth-child(2),
.ah-listado thead th:nth-child(3){text-align:right}
.ah-fila-grupo th{
    padding-top:10px!important;
    padding-bottom:6px!important;
    background:#f5f9fb;
    color:#617c8b!important;
    font-size:8.8px!important;
    font-weight:700!important;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.ah-valor-max{color:#bd5050!important}
.ah-valor-min{color:#4b80ad!important}
.ah-valor-lluvia{color:#397fae!important}
.ah-no-dato{color:#a3afb5!important;font-weight:500!important}


/* Indicadores del periodo */
.ah-indicadores{margin-top:2px}
.ah-indicadores-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.ah-indicador-card{min-width:0;border:1px solid #dce8ee;border-radius:12px;background:#fff;overflow:hidden}
.ah-indicador-card header{padding:10px 12px 9px;border-top:3px solid #8fb5cc;border-bottom:1px solid #e8eff3;background:#f9fbfc}
.ah-indicador-card.temperatura header{border-top-color:#d85f5f}
.ah-indicador-card.lluvia header{border-top-color:#4e9ed1}
.ah-indicador-card.viento header{border-top-color:#a83263}
.ah-indicador-card h3{margin:0;color:#35566a;font-size:13px}
.ah-indicador-card header span{display:block;margin-top:2px;color:#91a0a8;font-size:9px}
.ah-indicador-fila{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:baseline;padding:7px 11px;border-bottom:1px solid #edf2f5}
.ah-indicador-fila:last-child{border-bottom:0}
.ah-indicador-fila>span{color:#687f8c;font-size:10px;line-height:1.35}
.ah-indicador-fila strong{color:#294554;font-size:10.5px;text-align:right;white-space:nowrap}
.ah-indicador-fila small{grid-column:1/-1;margin-top:-1px;color:#98a5ac;font-size:8.6px;line-height:1.3}

/* Detalle diario */
.ah-detalle-diario{margin-top:30px}
.ah-detalle-diario-cabecera{align-items:center}
.ah-exportar{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:5px 10px;border:1px solid #d4e1e8;border-radius:8px;background:#fff;color:#5c7583;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.ah-exportar:hover{border-color:#8db7d2;color:#315e79}
.ah-exportar svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ah-exportar[hidden]{display:none!important}
.ah-detalle-diario>.ah-tabla-scroll{border:1px solid #dce8ee;border-radius:12px;background:#fff}
.ah-tabla-diaria{width:100%;min-width:980px;border-collapse:collapse;table-layout:auto}
.ah-tabla-diaria th,.ah-tabla-diaria td{padding:8px 10px;border-bottom:1px solid #edf2f5;font-size:9.8px;line-height:1.3;white-space:nowrap;text-align:right}
.ah-tabla-diaria thead th{background:#f9fbfc;color:#81929c;font-size:8.6px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ah-tabla-diaria thead th:first-child,.ah-tabla-diaria tbody th{text-align:left}
.ah-tabla-diaria tbody th{color:#5e7683;font-weight:600}
.ah-tabla-diaria tbody td{color:#2c4858;font-weight:600}
.ah-tabla-diaria tbody tr:nth-child(even){background:#fcfdfe}
.ah-tabla-diaria tbody tr:last-child th,.ah-tabla-diaria tbody tr:last-child td{border-bottom:0}
.ah-provisional{display:inline-block;margin-left:5px;padding:2px 5px;border-radius:999px;background:#fff4cf;color:#957421;font-size:7.8px;font-weight:700;text-transform:uppercase;vertical-align:1px}
.ah-detalle-aviso{margin:0;padding:13px 15px;border:1px solid #dfe8ed;border-radius:11px;background:#fafcfd;color:#7d909b;font-size:10.5px;line-height:1.5}
.ah-detalle-aviso[hidden]{display:none!important}

/* Gráficos */
.ah-graficos{margin-top:30px}
.ah-graficos-cabecera{align-items:flex-end}
.ah-grafico-tabs{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
.ah-grafico-tabs button{min-height:30px;padding:5px 10px;font-size:10px}
.ah-grafico-card{position:relative;border:1px solid #dce8ee;border-radius:13px;background:#fff;overflow:hidden}
.ah-grafico-info{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding:11px 15px 9px;border-bottom:1px solid #e8eff3;background:#f9fbfc}
.ah-grafico-info strong{color:#35566a;font-size:13px}.ah-grafico-info span{color:#8b9ba4;font-size:10px;text-align:right}
.ah-grafico-lienzo{height:390px;padding:5px 7px 0}
.ah-grafico-sin-datos{display:flex;align-items:center;justify-content:center;height:330px;color:#899aa4;font-size:12px}
.ah-grafico-sin-datos[hidden]{display:none}
.ah-grafico-card .apexcharts-tooltip{border:1px solid #dce7ec!important;box-shadow:0 5px 18px rgba(44,68,84,.12)!important}
.ah-grafico-card .apexcharts-tooltip-title{background:#f5f8fa!important;border-bottom:1px solid #e6edf1!important;color:#456173!important;font-size:11px!important}
.ah-grafico-card .apexcharts-xaxis-label,.ah-grafico-card .apexcharts-yaxis-label{fill:#718894!important}

.ah-nota-datos{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin:22px 0 6px;padding:13px 15px;border:1px solid #e1e9ed;border-radius:11px;background:#fafcfd;color:#70838e}
.ah-nota-datos svg{width:18px;height:18px;margin-top:1px;fill:none;stroke:#7f9aaa;stroke-width:1.6;stroke-linecap:round}
.ah-nota-datos p{margin:0;font-size:10.5px;line-height:1.58;text-align:justify}.ah-nota-datos strong{color:#526e7d}

@media (max-width:1100px){
    .ah-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
    .ah-tablas-doble{grid-template-columns:1fr}
    .ah-indicadores-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:760px){
    .ah-cabecera{grid-template-columns:1fr;gap:14px;padding-bottom:17px}
    .ah-cabecera h1{font-size:29px}.ah-lead{font-size:13px;line-height:1.5}
    .ah-serie-chip{min-width:0;width:max-content;max-width:100%;text-align:left;padding:9px 11px}.ah-serie-chip strong{font-size:12px}.ah-serie-chip span{font-size:10px}
    .ah-consulta{margin:17px 0 19px;padding:13px;border-radius:12px}
    .ah-consulta-cabecera{display:block;margin-bottom:12px}.ah-consulta-cabecera p{font-size:10.5px}.ah-consulta-acciones{align-items:flex-start;gap:7px;margin-top:10px}.ah-modo{margin-top:0}.ah-modo a,.ah-modo button{min-height:30px;padding:5px 10px;font-size:10px}.ah-restablecer-consulta{min-height:28px;padding:5px 9px;font-size:9.5px}
    .ah-formulario{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ah-campos-intervalo{display:contents}.ah-campo{min-width:0}.ah-campo input,.ah-campo select{min-height:37px;font-size:12px}.ah-campo label{font-size:9px}
    .ah-campo-dia,.ah-campo-mes,.ah-campo-anio{grid-column:1/-1}
    .ah-atajos{grid-column:1/-1;margin:1px 0 0}.ah-atajos button{padding:5px 9px;font-size:9px;min-height:28px}
    .ah-consultar{grid-column:1/-1;width:100%;min-height:38px;font-size:12px}.ah-form-ayuda{font-size:9.5px}
    .ah-periodo-cabecera{display:block}.ah-periodo-cabecera h2{font-size:19px}.ah-periodo-meta{justify-content:flex-start;margin-top:9px}
    .ah-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ah-kpi{padding:13px 11px 11px}.ah-kpi strong{font-size:22px}.ah-kpi small{font-size:9px;min-height:23px}.ah-kpi>span{font-size:9px}
    .ah-narrativa{padding:13px 14px;margin-bottom:22px}.ah-narrativa h2{font-size:13px}.ah-narrativa p{font-size:11.5px;line-height:1.58;text-align:left}
    .ah-seccion-titulo{margin:23px 0 10px}.ah-seccion-titulo h2{font-size:17px}.ah-seccion-titulo p{font-size:10.5px}
    .ah-tablas-estadisticas{gap:10px}.ah-tablas-doble{grid-template-columns:1fr;gap:10px}
    .ah-bloque-tabla>header{padding:10px 12px 9px}.ah-bloque-tabla h3{font-size:12.5px}.ah-bloque-tabla header p{font-size:9px}.ah-bloque-tabla header>span{font-size:8px}
    .ah-bloque-tabla th,.ah-bloque-tabla td{padding:7px 9px;font-size:10px}.ah-bloque-tabla .ah-fecha,.ah-bloque-tabla .ah-referencia{font-size:9px}
    .ah-matriz{min-width:700px}.ah-listado{min-width:470px}
    .ah-indicadores-grid{grid-template-columns:1fr 1fr;gap:8px}.ah-indicador-card h3{font-size:12px}.ah-indicador-fila{padding:6px 9px}.ah-indicador-fila>span,.ah-indicador-fila strong{font-size:9.5px}
    .ah-detalle-diario-cabecera{display:flex}.ah-tabla-diaria th,.ah-tabla-diaria td{font-size:9px;padding:7px 8px}.ah-detalle-aviso{font-size:9.5px}
    .ah-graficos-cabecera{display:block}.ah-grafico-tabs{justify-content:flex-start;margin-top:10px}.ah-grafico-tabs button{font-size:9px;padding:5px 8px}
    .ah-grafico-info{display:block;padding:9px 11px}.ah-grafico-info span{display:block;margin-top:3px;text-align:left;font-size:9px}.ah-grafico-lienzo{height:320px;padding:2px 0 0}
    .ah-nota-datos{padding:11px 12px}.ah-nota-datos p{font-size:9.5px;text-align:left}
}

@media (max-width:430px){
    .ah-kpis{grid-template-columns:1fr 1fr}
    .ah-formulario{grid-template-columns:1fr}.ah-campos-intervalo{display:block;grid-column:1/-1}.ah-campos-intervalo .ah-campo+.ah-campo{margin-top:8px}
    .ah-atajos,.ah-consultar{grid-column:1}
    .ah-indicadores-grid{grid-template-columns:1fr}
    .ah-detalle-diario-cabecera{display:block}.ah-exportar{margin-top:9px}
}

.ah-campos-intervalo[hidden],
.ah-campo[hidden] { display:none !important; }
.ah-consultar[hidden] { display:none !important; }

/* =========================================================
   ARCHIVO HISTÓRICO V5 · GRÁFICO COMBINADO Y RESOLUCIÓN ADAPTATIVA
========================================================= */
.ah-grafico-resolucion{
    flex:0 0 auto;
    padding:6px 9px;
    border:1px solid #d4e1e7;
    border-radius:8px;
    background:#f7fafb;
    color:#6c818d;
    font-size:10px;
    font-weight:700;
    white-space:nowrap;
}

.ah-combinado-selector{
    display:flex;
    align-items:stretch;
    gap:12px;
    margin-bottom:9px;
    padding:9px 10px;
    border:1px solid #dce7ec;
    border-radius:11px;
    background:#fbfcfd;
}
.ah-variable-grupos{
    flex:1 1 auto;
    min-width:0;
    display:grid;
    gap:5px;
}
.ah-variable-grupo{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:8px;
    align-items:center;
}
.ah-variable-tipo{
    color:#748a96;
    font-size:9.5px;
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.ah-variable-botones{
    display:flex;
    flex-wrap:wrap;
    gap:4px;
}
.ah-variable-botones button,
.ah-combinado-acciones button{
    min-height:27px;
    padding:4px 8px;
    border:1px solid #d1dee5;
    border-radius:7px;
    background:#fff;
    color:#587180;
    font:inherit;
    font-size:9.8px;
    font-weight:650;
    line-height:1.15;
    cursor:pointer;
    transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease;
}
.ah-variable-botones button:hover,
.ah-combinado-acciones button:hover{
    border-color:#a8c1cf;
    color:#345b72;
    background:#f4f8fa;
}
.ah-variable-botones button.activo{
    border-color:#6fa6ca;
    background:#eaf4fa;
    color:#2f6483;
    box-shadow:inset 0 0 0 1px rgba(111,166,202,.08);
}
.ah-variable-botones button.sin-datos,
.ah-variable-botones button:disabled{
    opacity:.35;
    cursor:not-allowed;
    background:#f7f9fa;
    color:#8d9aa1;
}
.ah-combinado-acciones{
    flex:0 0 154px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:7px;
    padding-left:12px;
    border-left:1px solid #e1e9ed;
}
.ah-combinado-acciones .ah-accion-grafico{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    min-height:32px;
    padding:6px 10px;
    white-space:nowrap;
    font-size:10px;
    font-weight:750;
    box-shadow:0 1px 3px rgba(40,76,96,.05);
}
.ah-combinado-acciones .ah-accion-grafico svg{
    width:14px;
    height:14px;
    flex:0 0 14px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.ah-combinado-acciones .ah-accion-restablecer{
    border-color:#bfd1dc;
    background:#f5f9fb;
    color:#42677b;
}
.ah-combinado-acciones .ah-accion-restablecer:hover{
    border-color:#91b0c1;
    background:#edf5f8;
    color:#2e5a72;
}
.ah-combinado-acciones .ah-accion-borrar{
    border-color:#e4cccc;
    background:#fff8f8;
    color:#985858;
}
.ah-combinado-acciones .ah-accion-borrar:hover{
    border-color:#d6aaaa;
    background:#fff1f1;
    color:#814343;
}
.ah-grafico-combinado-card{
    overflow:hidden;
}
.ah-grafico-combinado{
    height:440px;
    min-height:440px;
}
.ah-grafico-combinado-card .apexcharts-legend{
    padding-left:8px!important;
    padding-right:8px!important;
}

@media (max-width:900px){
    .ah-combinado-selector{display:block}
    .ah-combinado-acciones{
        flex:0 0 auto;
        flex-direction:row;
        justify-content:flex-end;
        margin-top:8px;
        padding:8px 0 0;
        border-left:0;
        border-top:1px solid #e1e9ed;
    }
    .ah-grafico-combinado{height:390px;min-height:390px}
}

@media (max-width:620px){
    .ah-graficos-cabecera .ah-grafico-resolucion{display:inline-block;margin-top:8px}
    .ah-combinado-selector{padding:8px}
    .ah-variable-grupo{
        grid-template-columns:1fr;
        gap:3px;
        padding-bottom:5px;
        border-bottom:1px solid #edf2f4;
    }
    .ah-variable-grupo:last-child{border-bottom:0;padding-bottom:0}
    .ah-variable-tipo{font-size:9px}
    .ah-variable-botones{gap:3px}
    .ah-variable-botones button{font-size:9px;padding:4px 7px}
    .ah-combinado-acciones{gap:6px}
    .ah-combinado-acciones .ah-accion-grafico{flex:1 1 0;justify-content:center;font-size:9.3px;padding:5px 7px}
    .ah-grafico-combinado{height:345px;min-height:345px}
}

/* =========================================================
   ARCHIVO HISTÓRICO V6 · LEGIBILIDAD DE TABLAS
   Alineado con el lenguaje visual de Resumen diario/mensual/anual.
========================================================= */

/* Tarjetas estadísticas: misma presencia que las tablas de los resúmenes */
.ah-bloque-tabla{
    border-color:#dce6ec;
    border-radius:11px;
    box-shadow:0 3px 10px rgba(32,75,105,.05);
}
.ah-bloque-tabla>header{
    padding:11px 13px;
    border-bottom-color:#e5edf2;
}
.ah-bloque-tabla.temperatura>header{background:#fff9f9}
.ah-bloque-tabla.sensacion>header{background:#fffaf7}
.ah-bloque-tabla.lluvia>header{background:#f8fbfe}
.ah-bloque-tabla.viento>header{background:#fff9fb}
.ah-bloque-tabla.atmosfera>header{background:#fafcfd}
.ah-bloque-tabla.solar>header{background:#fffdf7}

.ah-bloque-tabla h3{
    color:#263f4e;
    font-size:15px;
    font-weight:700;
}
.ah-bloque-tabla header p{
    margin-top:4px;
    font-size:11px;
    line-height:1.4;
}
.ah-bloque-tabla header>span{
    font-size:10px;
}

/* Cuerpo: tamaños equivalentes a las tablas principales de los resúmenes */
.ah-bloque-tabla th,
.ah-bloque-tabla td{
    padding:10px 12px;
    font-size:13px;
    line-height:1.38;
}
.ah-bloque-tabla thead th{
    padding-top:9px;
    padding-bottom:9px;
    color:#6a808d;
    font-size:10.5px;
    letter-spacing:.025em;
}
.ah-bloque-tabla tbody th{
    color:#4f6572;
    font-weight:600;
}
.ah-bloque-tabla tbody td{
    color:#203e52;
    font-weight:700;
}
.ah-bloque-tabla .ah-fecha,
.ah-bloque-tabla .ah-referencia{
    color:#81939d;
    font-size:10.8px;
    font-weight:500;
}
.ah-fila-grupo th{
    padding-top:10px!important;
    padding-bottom:8px!important;
    font-size:10px!important;
}

/* Las tablas de dos/tres columnas admiten todavía algo más de aire */
.ah-listado th,
.ah-listado td{
    padding-top:10px;
    padding-bottom:10px;
}

/* Indicadores del periodo: son datos tabulados y deben leerse al mismo nivel */
.ah-indicador-card{
    border-radius:11px;
    box-shadow:0 3px 10px rgba(32,75,105,.04);
}
.ah-indicador-card h3{
    font-size:14px;
}
.ah-indicador-card header span{
    font-size:10px;
}
.ah-indicador-fila{
    padding-top:8px;
    padding-bottom:8px;
}
.ah-indicador-fila>span{
    font-size:12px;
    line-height:1.4;
}
.ah-indicador-fila strong{
    font-size:12.5px;
}
.ah-indicador-fila small{
    font-size:10px;
}

/* Detalle diario: más compacto que las matrices, pero ya no diminuto */
.ah-detalle-diario>.ah-tabla-scroll{
    border-color:#dce6ec;
    border-radius:11px;
    box-shadow:0 3px 10px rgba(32,75,105,.04);
}
.ah-tabla-diaria th,
.ah-tabla-diaria td{
    padding:9px 11px;
    font-size:11.5px;
    line-height:1.35;
}
.ah-tabla-diaria thead th{
    color:#6a808d;
    font-size:10px;
    letter-spacing:.025em;
}
.ah-tabla-diaria tbody th{
    color:#4f6572;
    font-weight:600;
}
.ah-tabla-diaria tbody td{
    color:#203e52;
    font-weight:600;
}
.ah-provisional{
    font-size:8.5px;
}

/* Tablet / móvil: mantener legibilidad y recurrir al scroll horizontal,
   en lugar de encoger el texto hasta hacerlo incómodo. */
@media (max-width:760px){
    .ah-bloque-tabla>header{padding:10px 12px}
    .ah-bloque-tabla h3{font-size:14px}
    .ah-bloque-tabla header p{font-size:10.5px}
    .ah-bloque-tabla header>span{font-size:9.5px}
    .ah-bloque-tabla th,
    .ah-bloque-tabla td{padding:9px 10px;font-size:12px}
    .ah-bloque-tabla thead th{font-size:10px}
    .ah-bloque-tabla .ah-fecha,
    .ah-bloque-tabla .ah-referencia{font-size:10px}
    .ah-fila-grupo th{font-size:9.5px!important}

    .ah-indicador-card h3{font-size:13px}
    .ah-indicador-fila>span{font-size:11px}
    .ah-indicador-fila strong{font-size:11.5px}
    .ah-indicador-fila small{font-size:9.5px}

    .ah-tabla-diaria th,
    .ah-tabla-diaria td{padding:8px 9px;font-size:11px}
    .ah-tabla-diaria thead th{font-size:9.5px}
}

/* =========================================================
   ARCHIVO HISTÓRICO V7 · SOMBREADO DE ENCABEZADOS
   Misma familia cromática usada en los resúmenes ETS.
   ========================================================= */

/* Cabeceras principales de las tablas estadísticas */
.ah-bloque-tabla>header{
    box-shadow:inset 0 -1px 0 rgba(73,101,118,.10);
}
.ah-bloque-tabla.temperatura>header{
    background:linear-gradient(180deg,#f4dada 0%,#fbeaea 100%);
    border-top-color:#c94343;
}
.ah-bloque-tabla.sensacion>header{
    background:linear-gradient(180deg,#f4dada 0%,#fbeaea 100%);
    border-top-color:#c94343;
}
.ah-bloque-tabla.lluvia>header{
    background:linear-gradient(180deg,#dbeaf6 0%,#edf5fb 100%);
    border-top-color:#4f9fd2;
}
.ah-bloque-tabla.viento>header{
    background:linear-gradient(180deg,#efd2da 0%,#f8e5ea 100%);
    border-top-color:#a83263;
}
.ah-bloque-tabla.atmosfera>header{
    background:linear-gradient(180deg,#e3e8ec 0%,#f0f3f5 100%);
    border-top-color:#718794;
}
.ah-bloque-tabla.solar>header{
    background:linear-gradient(180deg,#f8e9bf 0%,#fff5da 100%);
    border-top-color:#d7a22a;
}

/* Un toque del mismo color en la fila de títulos de columna, sin cargarla. */
.ah-bloque-tabla.temperatura thead th{background:#fdf3f3}
.ah-bloque-tabla.sensacion thead th{background:#fdf3f3}
.ah-bloque-tabla.lluvia thead th{background:#f2f8fc}
.ah-bloque-tabla.viento thead th{background:#fff0f6}
.ah-bloque-tabla.atmosfera thead th{background:#f3f6f8}
.ah-bloque-tabla.solar thead th{background:#fffaf0}

/* Indicadores del periodo: misma codificación cromática. */
.ah-indicador-card header{
    box-shadow:inset 0 -1px 0 rgba(73,101,118,.10);
}
.ah-indicador-card.temperatura header{
    background:linear-gradient(180deg,#f4dada 0%,#fbeaea 100%);
    border-top-color:#c94343;
}
.ah-indicador-card.lluvia header{
    background:linear-gradient(180deg,#dbeaf6 0%,#edf5fb 100%);
    border-top-color:#4f9fd2;
}
.ah-indicador-card.viento header{
    background:linear-gradient(180deg,#efd2da 0%,#f8e5ea 100%);
    border-top-color:#a83263;
}

/* Detalle diario: cabecera neutra como las tablas comparativas de los resúmenes. */
.ah-tabla-diaria thead th{
    background:linear-gradient(180deg,#e9eef1 0%,#f2f5f7 100%);
    border-bottom:1px solid #d9e3e8;
    color:#5e7481;
}

/* Los subtítulos internos de grupos ganan un poco de presencia sin competir
   con la cabecera principal. */
.ah-fila-grupo th{
    background:#edf3f6 !important;
    color:#566f7e !important;
}

/* El catálogo del gráfico cambia según la escala temporal de la consulta. */
.ah-variable-botones button[hidden],
.ah-variable-grupo[hidden]{display:none!important}

/* =========================================================
   ARCHIVO HISTÓRICO · FILAS DE DATOS EN BLANCO
   Solo las cabeceras conservan el sombreado cromático.
   ========================================================= */

/* Tablas estadísticas: todas las filas de datos, blancas. */
.ah-bloque-tabla tbody tr:not(.ah-fila-grupo),
.ah-bloque-tabla tbody tr:not(.ah-fila-grupo) > th,
.ah-bloque-tabla tbody tr:not(.ah-fila-grupo) > td{
    background:#fff !important;
}

/* Detalle diario: sin zebra striping ni fondos alternos. */
.ah-tabla-diaria tbody tr,
.ah-tabla-diaria tbody th,
.ah-tabla-diaria tbody td{
    background:#fff !important;
}

/* =========================================================
   ARCHIVO HISTÓRICO · GRÁFICO COMBINADO · GEOMETRÍA CONSOLIDADA
   Una única definición para interacción, tooltip, escalas y rejilla.
========================================================= */

/* La rueda desplaza la página hasta que el usuario hace clic en el gráfico.
   No se muestra ningún mensaje de ayuda sobre el lienzo. */
.ah-grafico-combinado{
    position:relative;
    outline:none;
}
.ah-grafico-combinado.ah-grafico-activo{
    box-shadow:inset 0 0 0 2px rgba(35,105,160,.18);
}
.ah-grafico-combinado[data-interaccion]::before,
.ah-grafico-combinado.ah-grafico-activo::before,
.ah-grafico-ayuda{
    display:none!important;
    content:none!important;
}

/* Tooltip compacto. */
.ah-grafico-combinado-card .apexcharts-tooltip{
    min-width:0!important;
    max-width:245px!important;
    font-size:9px!important;
    line-height:1.15!important;
}
.ah-grafico-combinado-card .apexcharts-tooltip-title{
    margin-bottom:0!important;
    padding:4px 7px!important;
    font-size:9.5px!important;
    line-height:1.2!important;
}
.ah-grafico-combinado-card .apexcharts-tooltip-series-group{
    min-height:0!important;
    padding:2px 7px!important;
}
.ah-grafico-combinado-card .apexcharts-tooltip-marker{
    width:6px!important;
    height:6px!important;
    margin-right:5px!important;
}
.ah-grafico-combinado-card .apexcharts-tooltip-text,
.ah-grafico-combinado-card .apexcharts-tooltip-text-y-label,
.ah-grafico-combinado-card .apexcharts-tooltip-text-y-value{
    font-size:9px!important;
    line-height:1.15!important;
}

/* Marco general: 10 px respecto al enmarcado exterior. */
.ah-grafico-combinado-card{
    overflow:hidden;
}
.ah-grafico-stage{
    --ah-axis-top:82px;
    --ah-axis-bottom:54px;
    display:grid;
    grid-template-columns:max-content minmax(0,1fr) max-content;
    grid-template-areas:"left chart right";
    align-items:stretch;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    padding:0 10px;
    column-gap:0;
}

/* Los ejes internos de Apex son flotantes y no reservan anchura. Por eso el
   área de dibujo puede comenzar exactamente junto a la escala más próxima. */
.ah-grafico-stage > .ah-grafico-combinado{
    grid-area:chart;
    min-width:0;
    width:100%;
    height:468px;
    min-height:468px;
    margin:0!important;
    z-index:1;
}

.ah-escalas-izq{
    grid-area:left;
    justify-content:flex-end;
    z-index:3;
}
.ah-escalas-der{
    grid-area:right;
    justify-content:flex-start;
    z-index:3;
}
.ah-escalas-lateral{
    display:flex;
    align-items:stretch;
    gap:10px;
    box-sizing:border-box;
    padding-top:var(--ah-axis-top);
    padding-bottom:var(--ah-axis-bottom);
    color:#607581;
    background:#fff;
    user-select:none;
    pointer-events:none;
}

/* Cada escala se compone sin anchos mínimos artificiales:
   izquierda: título · 8 px · cifras · eje · gráfico
   derecha:   gráfico · eje · cifras · 8 px · título */
.ah-escala-externa{
    display:grid;
    align-items:stretch;
    box-sizing:border-box;
    width:max-content!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    color:#607581!important;
    column-gap:8px;
}
.ah-escalas-izq .ah-escala-externa{
    grid-template-columns:max-content max-content;
}
.ah-escalas-der .ah-escala-externa{
    grid-template-columns:max-content max-content;
}
.ah-escalas-der .ah-escala-titulo{grid-column:2}
.ah-escalas-der .ah-escala-marcas{grid-column:1;grid-row:1}

.ah-escala-titulo{
    width:10px;
    min-width:10px;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    margin:0!important;
    padding:0!important;
    color:#506773!important;
    font-size:8.5px;
    line-height:1;
    font-weight:700;
    letter-spacing:.04px;
    white-space:nowrap;
}

.ah-escala-marcas{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    box-sizing:border-box;
    width:max-content!important;
    min-width:0!important;
    margin:0!important;
    color:#607581!important;
    font-size:8.5px;
    line-height:1;
    font-variant-numeric:tabular-nums;
}
.ah-escalas-izq .ah-escala-marcas{
    align-items:flex-end;
    padding:0 4px 0 0;
    border-right:1px solid #c8d5dc;
}
.ah-escalas-der .ah-escala-marcas{
    align-items:flex-start;
    padding:0 0 0 4px;
    border-left:1px solid #c8d5dc;
}
.ah-escala-marcas span{
    position:relative;
    display:block;
    width:max-content;
    min-width:0;
    box-sizing:border-box;
    white-space:nowrap;
}
.ah-escalas-izq .ah-escala-marcas span{text-align:right}
.ah-escalas-der .ah-escala-marcas span{text-align:left}
.ah-escalas-izq .ah-escala-marcas span::after,
.ah-escalas-der .ah-escala-marcas span::before{
    content:"";
    position:absolute;
    top:50%;
    width:3px;
    border-top:1px solid #c8d5dc;
    transform:translateY(-50%);
}
.ah-escalas-izq .ah-escala-marcas span::after{right:-4px}
.ah-escalas-der .ah-escala-marcas span::before{left:-4px}

.ah-grafico-combinado-card .apexcharts-canvas,
.ah-grafico-combinado-card .apexcharts-svg{
    margin:0!important;
}

/* Rejilla horizontal y vertical, neutra y siempre por detrás. */
.ah-grafico-combinado-card .apexcharts-grid line,
.ah-grafico-combinado-card .apexcharts-grid-borders line{
    stroke:#c9d7de!important;
    stroke-opacity:.95!important;
}
.ah-grafico-combinado-card .apexcharts-grid{pointer-events:none}

/* Eje temporal inferior con espacio suficiente y sin recortes. */
.ah-grafico-combinado-card .apexcharts-xaxis-label{
    fill:#657d8a!important;
    font-size:10px!important;
}
.ah-grafico-combinado-card .apexcharts-xaxis-texts-g{
    transform:translateY(2px);
}
.ah-grafico-combinado-card .apexcharts-xaxis-texts-g text{
    dominant-baseline:auto;
}

@media (max-width:900px){
    .ah-grafico-stage > .ah-grafico-combinado{
        height:420px;
        min-height:420px;
    }
    .ah-escala-titulo,.ah-escala-marcas{font-size:8px}
    .ah-escala-marcas{min-width:25px}
}
@media (max-width:760px){
    .ah-grafico-combinado-card{overflow-x:auto}
    .ah-grafico-stage{min-width:860px;padding:0 10px}
}


/* Ajuste fino: extremos temporales visibles y escalas agrupadas sin apelotonar. */
.ah-grafico-combinado-card .apexcharts-xaxis-texts-g,
.ah-grafico-combinado-card .apexcharts-xaxis{
    overflow:visible!important;
}
.ah-grafico-combinado-card .apexcharts-xaxis-label{
    white-space:nowrap!important;
}

/* Extremos temporales garantizados y separación final entre escalas. */
.ah-grafico-stage > .ah-grafico-combinado{position:relative;overflow:visible!important}
.ah-grafico-combinado-card .apexcharts-canvas,
.ah-grafico-combinado-card .apexcharts-svg{overflow:visible!important}
.ah-x-extremo{
    position:absolute;
    z-index:8;
    color:#657d8a;
    font-size:10px;
    line-height:1;
    white-space:nowrap;
    pointer-events:none;
}
.ah-x-extremo-inicio{text-align:left}
.ah-x-extremo-fin{text-align:right}


/* =========================================================
   ARCHIVO HISTÓRICO · AJUSTE ESTABLE DE EJES (06/10/2026)
   Volvemos al sistema de escalas externas que quedó aprobado y eliminamos
   cualquier dependencia del número de ejes nativos de ApexCharts.
========================================================= */
.ah-grafico-combinado-card{overflow:hidden!important}
.ah-grafico-stage{
    --ah-axis-top:82px;
    --ah-axis-height:330px;
    display:grid!important;
    grid-template-columns:max-content minmax(0,1fr) max-content!important;
    grid-template-areas:"left chart right"!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:0 15px!important;
    column-gap:0!important;
}
.ah-grafico-stage>.ah-grafico-combinado{
    grid-area:chart!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    height:468px!important;
    min-height:468px!important;
    margin:0!important;
    overflow:visible!important;
}
.ah-escalas-lateral{
    display:flex!important;
    align-items:flex-start!important;
    gap:14px!important;
    padding:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    background:#fff!important;
    color:#607581!important;
    user-select:none!important;
    pointer-events:none!important;
}
.ah-escalas-izq{grid-area:left!important;justify-content:flex-end!important}
.ah-escalas-der{grid-area:right!important;justify-content:flex-start!important}
.ah-escala-externa{
    display:grid!important;
    width:max-content!important;
    min-width:0!important;
    height:var(--ah-axis-height)!important;
    margin:var(--ah-axis-top) 0 0 0!important;
    padding:0!important;
    box-sizing:border-box!important;
    column-gap:8px!important;
    align-items:stretch!important;
}
.ah-escalas-izq .ah-escala-externa,
.ah-escalas-der .ah-escala-externa{grid-template-columns:max-content max-content!important}
.ah-escalas-der .ah-escala-titulo{grid-column:2!important}
.ah-escalas-der .ah-escala-marcas{grid-column:1!important;grid-row:1!important}
.ah-escala-titulo{
    width:10px!important;
    min-width:10px!important;
    writing-mode:vertical-rl!important;
    transform:rotate(180deg)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    color:#506773!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:700!important;
    white-space:nowrap!important;
}
.ah-escala-marcas{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    width:max-content!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    color:#607581!important;
    font-size:9px!important;
    line-height:1!important;
    font-variant-numeric:tabular-nums!important;
}
.ah-escalas-izq .ah-escala-marcas{
    align-items:flex-end!important;
    padding:0 4px 0 0!important;
    border-right:1px solid #c8d5dc!important;
}
.ah-escalas-der .ah-escala-marcas{
    align-items:flex-start!important;
    padding:0 0 0 4px!important;
    border-left:1px solid #c8d5dc!important;
}
.ah-escala-marcas span{position:relative!important;display:block!important;width:max-content!important;white-space:nowrap!important}
.ah-escalas-izq .ah-escala-marcas span{text-align:right!important}
.ah-escalas-der .ah-escala-marcas span{text-align:left!important}
.ah-escalas-izq .ah-escala-marcas span::after,
.ah-escalas-der .ah-escala-marcas span::before{
    content:""!important;position:absolute!important;top:50%!important;width:3px!important;
    border-top:1px solid #c8d5dc!important;transform:translateY(-50%)!important;
}
.ah-escalas-izq .ah-escala-marcas span::after{right:-4px!important}
.ah-escalas-der .ah-escala-marcas span::before{left:-4px!important}

/* Los ejes de Apex se usan solo para calcular las escalas de cada serie. */
.ah-grafico-combinado-card .apexcharts-yaxis,
.ah-grafico-combinado-card .apexcharts-yaxis-texts-g,
.ah-grafico-combinado-card .apexcharts-yaxis-title{pointer-events:none!important}

/* Leyenda alineada a la izquierda sin offsets negativos ni recortes. */
.ah-grafico-combinado-card .apexcharts-legend{
    justify-content:flex-start!important;
    left:0!important;
    right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:visible!important;
}
.ah-grafico-combinado-card .apexcharts-legend-series:first-child{margin-left:0!important}

/* Rejilla siempre visible y detrás de las series. */
.ah-grafico-combinado-card .apexcharts-grid line,
.ah-grafico-combinado-card .apexcharts-grid-borders line{
    stroke:#c9d7de!important;
    stroke-opacity:.95!important;
}
.ah-grafico-combinado-card .apexcharts-grid{pointer-events:none!important}

/* Eje temporal: extremos propios y etiquetas interiores de Apex. */
.ah-grafico-combinado-card .apexcharts-xaxis-texts-g,
.ah-grafico-combinado-card .apexcharts-xaxis{overflow:visible!important}
.ah-grafico-combinado-card .apexcharts-xaxis-label{
    fill:#657d8a!important;font-size:10px!important;white-space:nowrap!important
}
.ah-x-extremo{
    position:absolute!important;z-index:8!important;color:#657d8a!important;
    font-size:10px!important;line-height:1!important;white-space:nowrap!important;
    overflow:visible!important;pointer-events:none!important
}

@media(max-width:900px){
    .ah-grafico-stage>.ah-grafico-combinado{height:420px!important;min-height:420px!important}
    .ah-escala-titulo{font-size:9.2px!important}
    .ah-escala-marcas{font-size:8.5px!important}
}
@media(max-width:760px){
    .ah-grafico-combinado-card{overflow-x:auto!important}
    .ah-grafico-stage{min-width:860px!important;padding:0 15px!important}
}


/* =========================================================
   AJUSTE FINO 07/10/2026 · escalas y eje temporal
   - marcas laterales ancladas exactamente al grid real
   - todas las fechas en una única línea base, con extremos visibles
========================================================= */
.ah-escala-marcas{
    display:block!important;
    position:relative!important;
    height:100%!important;
    overflow:visible!important;
}
.ah-escala-marcas span{
    position:absolute!important;
    transform:translateY(-50%)!important;
    line-height:1!important;
    margin:0!important;
    padding:0!important;
}
.ah-escalas-izq .ah-escala-marcas span{right:4px!important}
.ah-escalas-der .ah-escala-marcas span{left:4px!important}

/* Las etiquetas automáticas quedan ocultas: todas las fechas las dibuja
   la misma capa HTML para compartir exactamente la misma línea base. */
.ah-grafico-combinado-card .apexcharts-xaxis-label{
    visibility:hidden!important;
}
.ah-x-etiqueta-custom{
    position:absolute!important;
    z-index:8!important;
    color:#657d8a!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
    pointer-events:none!important;
    margin:0!important;
    padding:0!important;
}

/* =========================================================
   AJUSTE 07/10/2026 · separación exacta título/escala
   Cada título queda a 8 px de su propia escala numérica.
========================================================= */
.ah-escala-externa{
    column-gap:0!important;
}
.ah-escalas-izq .ah-escala-titulo{
    margin:0 8px 0 0!important;
}
.ah-escalas-der .ah-escala-titulo{
    margin:0 0 0 8px!important;
}

/* =========================================================
   CORRECCIÓN 07/10/2026 · separación REAL +8 px título/escala
   El ajuste anterior era equivalente al gap existente y no movía nada.
   Conservamos los 8 px internos y añadimos 8 px reales al título.
========================================================= */
.ah-escala-externa{
    column-gap:8px!important;
}
.ah-escalas-izq .ah-escala-titulo{
    margin:0 8px 0 0!important;
}
.ah-escalas-der .ah-escala-titulo{
    margin:0 0 0 8px!important;
}

/* =========================================================
   AJUSTE 07/10/2026 · separación ENTRE escalas contiguas
   Lo solicitado es separar el título de un eje de la escala
   contigua (p. ej. TEMPERATURA respecto a HUMEDAD), no alejar
   el título de sus propios valores.
========================================================= */
.ah-escalas-lateral{
    gap:22px!important; /* 14 px anteriores + 8 px reales entre bloques */
}
.ah-escala-externa{
    column-gap:8px!important; /* título ↔ valores de SU propia escala */
}
.ah-escalas-izq .ah-escala-titulo,
.ah-escalas-der .ah-escala-titulo{
    margin:0!important;
}

/* =========================================================
   CORRECCIÓN 07/10/2026 · +8 px AL LADO CONTRARIO DEL TÍTULO
   Izquierda: espacio exterior antes del título.
   Derecha: espacio exterior después del título.
   Se restaura el gap general entre bloques a 14 px.
========================================================= */
.ah-escalas-lateral{
    gap:14px!important;
}
.ah-escala-externa{
    column-gap:8px!important;
}
.ah-escalas-izq .ah-escala-titulo{
    margin:0 0 0 8px!important;
}
.ah-escalas-der .ah-escala-titulo{
    margin:0 8px 0 0!important;
}

/* =========================================================
   CORRECCIÓN 07/10/2026 · evitar solape título / escalas
   Las marcas son absolutas y no aportan ancho intrínseco.
   Reservamos un ancho real por familia y normalizamos espacios.
========================================================= */
.ah-escalas-lateral{
    gap:14px!important;
}
.ah-escala-externa{
    column-gap:8px!important;
}
.ah-escalas-izq .ah-escala-titulo,
.ah-escalas-der .ah-escala-titulo{
    margin:0!important;
}

/* La columna numérica debe tener ancho propio: los <span> son absolutos. */
.ah-escala-marcas{
    width:30px!important;
    min-width:30px!important;
    overflow:visible!important;
}
.ah-escala-temp .ah-escala-marcas{width:28px!important;min-width:28px!important}
.ah-escala-hum .ah-escala-marcas{width:30px!important;min-width:30px!important}
.ah-escala-press .ah-escala-marcas{width:40px!important;min-width:40px!important}
.ah-escala-wind .ah-escala-marcas{width:28px!important;min-width:28px!important}
.ah-escala-rain .ah-escala-marcas{width:28px!important;min-width:28px!important}
.ah-escala-rainrate .ah-escala-marcas{width:28px!important;min-width:28px!important}
.ah-escala-dir .ah-escala-marcas{width:18px!important;min-width:18px!important}
.ah-escala-solar .ah-escala-marcas{width:32px!important;min-width:32px!important}
.ah-escala-sun .ah-escala-marcas{width:28px!important;min-width:28px!important}

/* Las cifras quedan pegadas a su eje, nunca debajo del título. */
.ah-escalas-izq .ah-escala-marcas span{
    right:4px!important;
    max-width:calc(100% - 4px)!important;
}
.ah-escalas-der .ah-escala-marcas span{
    left:4px!important;
    max-width:calc(100% - 4px)!important;
}

/* =========================================================
   AJUSTE 07/10/2026 · acercar título a su escala sin alterar
   el ancho reservado de las cifras ni la geometría del eje.
========================================================= */
.ah-escalas-izq .ah-escala-titulo{
    position:relative!important;
    left:10px!important;
}
.ah-escalas-der .ah-escala-titulo{
    position:relative!important;
    right:10px!important;
}

/* =========================================================
   CORRECCIÓN 07/10/2026 · ocultación definitiva de ejes Y internos Apex
   Las escalas visibles del Archivo histórico son las externas.
   Eliminamos del render visual cualquier texto/grupo Y generado por Apex.
========================================================= */
#ahGrafico .apexcharts-yaxis,
#ahGrafico .apexcharts-yaxis-texts-g,
#ahGrafico .apexcharts-yaxis-label,
#ahGrafico .apexcharts-yaxis-title,
#ahGrafico .apexcharts-yaxis text,
#ahGrafico g[class*="apexcharts-yaxis"] text{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}

/* Archivo histórico · selector horario */
@media (max-width:720px){
  .ah-campo-fecha-hora{min-width:0}
  .ah-fecha-hora{grid-template-columns:minmax(0,1fr) 78px;gap:5px}
  .ah-fecha-hora select{width:78px;min-width:78px;padding-left:7px;padding-right:20px}
}
@media (max-width:480px){
  .ah-fecha-hora{grid-template-columns:minmax(0,1fr) 76px}
  .ah-fecha-hora select{width:76px;min-width:76px}
}


/* Responsive de los selectores del archivo */
@media (max-width:760px){
    .ah-grupo-cabecera{display:block;margin-bottom:8px}
    .ah-grupo-cabecera h3{font-size:12.5px}
    .ah-grupo-cabecera p{font-size:9.5px}
    .ah-consulta-grupo{padding:13px 0}
    .ah-preset-botones{gap:5px}
    .ah-preset-botones button{min-height:29px;padding:5px 9px;font-size:9.5px}
    .ah-periodo-config{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px}
    .ah-periodo-ancla,.ah-periodo-fecha,.ah-periodo-calculado{min-width:0}
    .ah-periodo-ancla{grid-column:1/-1}
    .ah-ancla-botones{width:max-content;max-width:100%}
    .ah-periodo-fecha{grid-column:1/-1}
    .ah-periodo-calculado{min-width:0}
    .ah-consultar-periodo{width:100%;min-width:0}
}
@media (max-width:430px){
    .ah-periodo-config{grid-template-columns:1fr}
    .ah-periodo-ancla,.ah-periodo-fecha,.ah-periodo-calculado,.ah-consultar-periodo{grid-column:1}
    .ah-periodo-calculado{min-height:42px}
}

/* Datos recientes: el estado activo debe prevalecer sobre el fondo propio del grupo. */
.ah-grupo-recientes .ah-preset-botones button.activo,
.ah-grupo-recientes .ah-preset-botones button.activo:hover,
.ah-grupo-recientes .ah-preset-botones button.activo:focus-visible{
    border-color:#6ba4d0;
    background:#6ba4d0;
    color:#fff;
}

/* =========================================================
   ARCHIVO HISTÓRICO · MATRICES TERMOMÉTRICAS EN DOS COLUMNAS
   Temperatura/humedad a la izquierda e índices térmicos a la derecha.
   ========================================================= */
.ah-tablas-termicas{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
}
.ah-tablas-termicas .ah-matriz-compacta{
    min-width:0;
    width:100%;
    table-layout:fixed;
}
.ah-tablas-termicas .ah-matriz-compacta th:first-child{width:24%}
.ah-tablas-termicas .ah-matriz-compacta th:nth-child(2){width:14%}
.ah-tablas-termicas .ah-matriz-compacta th:nth-child(3),
.ah-tablas-termicas .ah-matriz-compacta th:nth-child(4){width:31%}

.ah-tablas-termicas .ah-matriz-compacta thead th:nth-child(2){text-align:right}
.ah-tablas-termicas .ah-matriz-compacta thead th:nth-child(3),
.ah-tablas-termicas .ah-matriz-compacta thead th:nth-child(4){text-align:left}
.ah-tablas-termicas .ah-matriz-compacta tbody td:nth-child(2){text-align:right}
.ah-tablas-termicas .ah-matriz-compacta tbody td:nth-child(3),
.ah-tablas-termicas .ah-matriz-compacta tbody td:nth-child(4){text-align:left}

/* Un poco más de aire entre MEDIA y VALOR MÁXIMO. */
.ah-tablas-termicas .ah-matriz-compacta thead th:nth-child(3),
.ah-tablas-termicas .ah-matriz-compacta tbody td:nth-child(3){
    padding-left:26px;
}

.ah-extremo-valor{
    display:inline-block;
    width:50px;
    margin-right:2px;
    white-space:nowrap;
    font-weight:700;
    font-variant-numeric:tabular-nums;
}
.ah-extremo-cuando{
    display:inline-block;
    color:#718692;
    font-size:11px;
    font-weight:500;
    line-height:1.35;
    white-space:nowrap;
    font-variant-numeric:tabular-nums;
}
.ah-matriz-compacta .ah-valor-max .ah-extremo-cuando,
.ah-matriz-compacta .ah-valor-min .ah-extremo-cuando{color:#718692}

@media (max-width:900px){
    .ah-tablas-termicas{grid-template-columns:1fr}
    .ah-tablas-termicas .ah-matriz-compacta{min-width:620px}
}

/* El estado de resolución se informa en el periodo consultado; no se duplica como pseudo-botón en el gráfico. */
.ah-graficos-cabecera .ah-grafico-resolucion{display:none!important}
