/* Por si el proyecto no tiene Tailwind. */
.hidden
{
    display: none !important;
}

/* P1..P6: mismo tamaño y misma fila en escritorio. */
.periodos-grid,
.energia-grid
{
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.periodo-block,
.energia-block
{
    min-width: 0;
}

@media (max-width: 768px)
{
    .periodos-grid,
    .energia-grid
    {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Tabs: panes ocultos salvo activo. */
[data-tab-pane]
{
    display: none;
}

[data-tab-pane].is-active
{
    display: block;
}

/* Clases extraídas de estilos inline para separar HTML/PHP y CSS. */

.u-formulario-001
{
    display:flex;
    justify-content:center;
}

.u-formulario-002
{
    width:100%;
    max-width:750px;
}

.u-formulario-003
{
    padding:8px 12px;
    background:#f9fafb;
    border:1px dashed #d1d5db;
    border-radius:8px;
}

.u-formulario-004
{
    display:none;
    flex-wrap:wrap;
    gap:12px;
}

.u-formulario-005
{
    flex:1 1 60%;
    min-width:260px;
}

.u-formulario-006
{
    display:flex;
    align-items:center;
    gap:8px;
}

.u-formulario-007
{
    flex:1 1 auto;
}

.u-formulario-008
{
    padding:2px 8px;
    font-size:12px;
    margin-top:6px;
}

.u-formulario-009
{
    display:block;
}

.u-formulario-010
{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:12px;
}

.u-formulario-011
{
    flex:1 1 30%;
    min-width:200px;
}

.u-formulario-012
{
    flex:1 1 15%;
    min-width:140px;
}

.u-formulario-013
{
    flex:1 1 20%;
    min-width:160px;
}

.u-formulario-014
{
    margin-top:16px;
}

.u-formulario-015
{
    display:flex;
    align-items:center;
    gap:.5rem;
}

.u-formulario-016
{
    flex:1 1 18%;
    min-width:140px;
}

.u-formulario-017
{
    flex:0 0 80px;
    min-width:80px;
}

.u-formulario-018
{
    flex:1 1 18%;
    min-width:160px;
}

.u-formulario-019
{
    flex:1 1 14%;
    min-width:120px;
}

.u-formulario-020
{
    flex:0 0 90px;
    min-width:90px;
}

.u-formulario-021
{
    margin-top:16px;
    border-top:1px solid #eee;
    padding-top:12px;
}

.u-formulario-022
{
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:#111827;
}

.u-formulario-023
{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.u-formulario-024
{
    flex:1 1 30%;
    min-width:160px;
}

.u-formulario-025
{
    flex:1 1 65%;
    min-width:220px;
}

.u-formulario-026
{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:8px;
}

.u-formulario-027
{
    flex:0 0 120px;
    min-width:120px;
}

.u-formulario-028
{
    flex:1 1 50%;
    min-width:220px;
}

.u-formulario-029
{
    flex:0 0 100px;
    min-width:80px;
}

.u-formulario-030
{
    flex:1 1 40%;
    min-width:180px;
}

.u-formulario-031
{
    flex:1 1 30%;
    min-width:180px;
}

.u-formulario-032
{
    flex:1 1 25%;
    min-width:180px;
}

.u-formulario-033
{
    flex:1 1 25%;
    min-width:180px;
    display:none;
}

.u-formulario-034
{
    display:none;
}

.u-formulario-035
{
    display:flex;
    align-items:center;
    gap:.5rem;
    margin-bottom:10px;
}

.u-formulario-036
{
    margin:0;
}

.u-formulario-037
{
    flex:1 1 calc(25% - 12px);
    min-width:180px;
}

.u-formulario-038
{
    flex:1 1 calc(25% - 12px);
    min-width:200px;
}

.u-formulario-039
{
    flex:1 1 calc(25% - 12px);
    min-width:220px;
    display:flex;
    align-items:end;
}

.u-formulario-040
{
    display:flex;
    align-items:center;
    gap:.5rem;
    margin:0;
}

.u-formulario-041
{
    padding:12px 14px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#f9fafb;
}

.u-formulario-042
{
    color:#374151;
}

.u-formulario-043
{
    color:#dc2626;
    margin-top:8px;
}

.u-formulario-044
{
    display:none;
    position:fixed;
    inset:0;
    z-index:999999;
    background:rgba(0,0,0,.45);
    align-items:center;
    justify-content:center;
    pointer-events:all;
}

.u-formulario-045
{
    background:#fff;
    border-radius:14px;
    width:min(420px, 92vw);
    padding:18px 18px;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
    text-align:center;
}

.u-formulario-046
{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}

.u-formulario-047
{
    font-weight:700;
    font-size:16px;
    color:#111827;
}

.u-formulario-048
{
    font-size:13px;
    color:#6B7280;
    margin-top:2px;
}
