/* ========================= */
/* Dashboard */
/* ========================= */

.dashboard-premium-hero {
    padding-top: 70px;
}

.dashboard-premium-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 72px;
    align-items: center;
}

.dashboard-premium-grid h1 {
    font-size: clamp(2.5rem, 4.5vw, 4rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    margin: 0;
    max-width: 900px;
}

.dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 34px;
    max-width: 900px;
}

.dashboard-metrics div,
.dashboard-plan-panel,
.dashboard-module-card,
.dashboard-account-band {
    border: 1px solid var(--border);
    background: var(--card);
    box-shadow: var(--shadow);
}

.dashboard-metrics div {
    background: rgba(255, 255, 255, 0.07);
    border-radius: var(--radius-lg);
    padding: 20px;
    box-shadow: none;
}

.dashboard-metrics strong {
    display: block;
    font-size: 1.25rem;
    letter-spacing: -0.015em;
    margin-bottom: 8px;
}

.dashboard-metrics span {
    color: var(--muted-dark);
    font-size: 0.9rem;
    line-height: 1.5;
}

.dashboard-plan-panel {
    background:
        var(--card);
    border-radius: var(--radius-lg);
    padding: 34px;
}

.dashboard-plan-panel h2 {
    font-size: 2.6rem;
    line-height: 1.1;
    letter-spacing: -0.025em;
    margin: 10px 0 18px;
}

.dashboard-price {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    margin-bottom: 18px;
}

.dashboard-price strong {
    font-size: 3.4rem;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.dashboard-price span {
    color: var(--muted-dark);
    font-weight: 800;
    margin-bottom: 5px;
}

.dashboard-plan-status {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.dashboard-plan-panel p {
    color: var(--muted);
    line-height: 1.7;
    margin: 0 0 22px;
}

.dashboard-panel-button {
    width: 100%;
}

.dashboard-section {
    padding-top: 48px;
}

.dashboard-modules-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.dashboard-module-card {
    border-radius: var(--radius-lg);
    padding: 30px;
    display: flex;
    flex-direction: column;
}

.dashboard-module-card.module-unlocked {
    border-color: rgba(75, 159, 225, 0.44);
    background:
        var(--card);
}

.dashboard-module-top {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 24px;
}

.dashboard-module-card h3 {
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: -0.025em;
    margin: 0 0 14px;
}

.dashboard-module-card p {
    color: var(--muted);
    line-height: 1.7;
    margin: 0 0 22px;
}

.dashboard-module-card .program-list {
    flex: 1;
}

.dashboard-progress-layout {
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
    gap: 32px;
    align-items: start;
}

.dashboard-progress-layout h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    margin: 0 0 18px;
}

.dashboard-progress-layout p {
    color: var(--muted);
    line-height: 1.7;
}

.dashboard-stats-grid,
.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.stat-card {
    border-radius: var(--radius-lg);
    padding: 24px;
}

.stat-card span,
.stat-label {
    display: block;
    color: var(--muted-dark);
    font-size: 0.9rem;
    margin-bottom: 14px;
}

.stat-card strong,
.stat-value {
    display: block;
    font-size: 2.6rem;
    letter-spacing: -0.025em;
    margin-bottom: 12px;
}

.stat-value-small {
    font-size: 1.2rem;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin-bottom: 0;
}

.stat-card p {
    color: var(--muted-dark);
    line-height: 1.6;
    margin: 0;
}

.dashboard-account-band {
    background:
        var(--card);
    border-radius: var(--radius-lg);
    padding: 38px;
    display: grid;
    grid-template-columns: 1.2fr auto;
    gap: 24px;
    align-items: center;
}

.dashboard-account-band h2 {
    font-size: clamp(2rem, 3.5vw, 3rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
    margin: 0 0 14px;
}

.dashboard-account-band p {
    color: var(--muted);
    line-height: 1.7;
    margin: 0;
    max-width: 760px;
}

.dashboard-account-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}


/* Test gratis de inglés dentro de la tarjeta del módulo */
.dashboard-english-trial {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.dashboard-english-trial label {
    color: var(--muted);
    font-size: 0.9rem;
}

.dashboard-english-trial select {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--card);
    color: inherit;
    font-size: 1rem;
}

.dashboard-english-trial .card-button {
    flex: 1;
    margin-top: 0;
    cursor: pointer;
}
