/* ============================================================
   CUENTA / AUTH PRO
   Login, Registro, Recuperar, Reset, Cambio obligatorio
   Archivo: wwwroot/css/cuenta-auth.css
   Depende de:
   - portal-ti-base.css
   - portal-ti-components.css
   ============================================================ */

/* ============================================================
   PAGE BASE
   ============================================================ */

.ti-auth-page {
    min-height: 100vh;
    margin: 0;
    color: #0f172a;
    overflow-x: hidden;
    background: radial-gradient(circle at 12% 16%, rgba(37, 99, 235, .22), transparent 30%), radial-gradient(circle at 82% 84%, rgba(14, 165, 233, .16), transparent 30%), linear-gradient(135deg, #f8fafc 0%, #eef4ff 46%, #eaf1ff 100%);
}

    .ti-auth-page::before {
        content: "";
        position: fixed;
        inset: 0;
        pointer-events: none;
        z-index: 0;
        background-image: linear-gradient(rgba(15, 23, 42, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(15, 23, 42, .035) 1px, transparent 1px);
        background-size: 42px 42px;
        mask-image: linear-gradient(to bottom, rgba(0,0,0,.65), transparent 82%);
    }

    .ti-auth-page::after {
        content: "";
        position: fixed;
        inset: auto -120px -180px auto;
        width: 420px;
        height: 420px;
        border-radius: 999px;
        pointer-events: none;
        background: rgba(37, 99, 235, .10);
        filter: blur(10px);
        z-index: 0;
    }

.ti-auth-shell {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    width: min(1180px, calc(100% - 44px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(430px, .95fr) minmax(390px, .75fr);
    gap: 30px;
    align-items: center;
    padding: 36px 0;
}

.ti-auth-shell-wide {
    width: min(1280px, calc(100% - 44px));
    grid-template-columns: minmax(430px, .9fr) minmax(540px, 1fr);
}

/* ============================================================
   BRAND PANEL
   ============================================================ */

.ti-auth-brand-panel {
    position: relative;
    overflow: hidden;
    min-height: 660px;
    border-radius: 36px;
    padding: 44px;
    color: #ffffff;
    background: radial-gradient(circle at 86% 12%, rgba(96, 165, 250, .42), transparent 27%), radial-gradient(circle at 14% 92%, rgba(14, 165, 233, .26), transparent 28%), linear-gradient(135deg, #08111f 0%, #172554 44%, #1d4ed8 100%);
    box-shadow: 0 30px 80px rgba(15, 23, 42, .28), inset 0 1px 0 rgba(255, 255, 255, .12);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

    .ti-auth-brand-panel::before {
        content: "";
        position: absolute;
        right: -88px;
        top: -88px;
        width: 260px;
        height: 260px;
        border-radius: 999px;
        background: rgba(255, 255, 255, .13);
    }

    .ti-auth-brand-panel::after {
        content: "";
        position: absolute;
        left: -118px;
        bottom: -118px;
        width: 285px;
        height: 285px;
        border-radius: 999px;
        background: rgba(255, 255, 255, .075);
    }

.ti-auth-brand-content,
.ti-auth-brand-footer {
    position: relative;
    z-index: 1;
}

.ti-auth-logo {
    width: 60px;
    height: 60px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.04)), linear-gradient(135deg, #38bdf8, #2563eb);
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 950;
    letter-spacing: .04em;
    box-shadow: 0 18px 36px rgba(37, 99, 235, .35), inset 0 1px 0 rgba(255,255,255,.22);
    margin-bottom: 34px;
}

.ti-auth-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    border-radius: 999px;
    padding: 0 14px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .14);
    color: #dbeafe;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
    margin-bottom: 22px;
    backdrop-filter: blur(10px);
}

    .ti-auth-eyebrow i {
        color: #93c5fd;
    }

.ti-auth-brand-title {
    margin: 0;
    max-width: 620px;
    color: #ffffff;
    font-size: clamp(38px, 4.25vw, 60px);
    line-height: .96;
    font-weight: 950;
    letter-spacing: -.065em;
}

.ti-auth-brand-subtitle {
    margin: 22px 0 0;
    max-width: 620px;
    color: #dbeafe;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.65;
}

.ti-auth-security-list {
    display: grid;
    gap: 12px;
    margin-top: 34px;
    max-width: 620px;
}

.ti-auth-security-item {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 11px 12px;
    border-radius: 16px;
    color: #eff6ff;
    font-size: 13.5px;
    font-weight: 750;
    line-height: 1.45;
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .10);
    backdrop-filter: blur(10px);
}

    .ti-auth-security-item i {
        color: #86efac;
        font-size: 18px;
        line-height: 1.1;
        margin-top: 1px;
    }

.ti-auth-brand-footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #bfdbfe;
    font-size: 12px;
    font-weight: 850;
}

/* ============================================================
   AUTH CARD
   ============================================================ */

.ti-auth-card {
    position: relative;
    overflow: hidden;
    border-radius: 34px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(226, 232, 240, .88);
    box-shadow: 0 30px 80px rgba(15, 23, 42, .16), inset 0 1px 0 rgba(255, 255, 255, .70);
    backdrop-filter: blur(18px);
}

    .ti-auth-card::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(255,255,255,.64), transparent 34%), radial-gradient(circle at 100% 0%, rgba(37, 99, 235, .09), transparent 30%);
        pointer-events: none;
        z-index: 0;
    }

    .ti-auth-card::after {
        content: "";
        position: absolute;
        right: -64px;
        top: -74px;
        width: 182px;
        height: 182px;
        border-radius: 999px;
        background: #eef4ff;
        z-index: 0;
    }

.ti-auth-card-header,
.ti-auth-card-body {
    position: relative;
    z-index: 1;
}

.ti-auth-card-header {
    padding: 36px 36px 22px;
    text-align: center;
}

.ti-auth-card-icon {
    width: 64px;
    height: 64px;
    border-radius: 23px;
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 29px;
    margin-bottom: 17px;
    box-shadow: 0 16px 32px rgba(37, 99, 235, .14), inset 0 1px 0 rgba(255,255,255,.80);
}

.ti-auth-card-title {
    margin: 0;
    color: #0f172a;
    font-size: 26px;
    line-height: 1.12;
    font-weight: 950;
    letter-spacing: -.04em;
}

.ti-auth-card-subtitle {
    margin: 10px auto 0;
    max-width: 540px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.55;
}

.ti-auth-card-body {
    padding: 0 36px 36px;
}

/* ============================================================
   FORM
   ============================================================ */

.ti-auth-form-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
}

.ti-auth-col-12 {
    grid-column: span 12;
}

.ti-auth-col-6 {
    grid-column: span 6;
}

.ti-auth-col-4 {
    grid-column: span 4;
}

.ti-auth-form-group {
    margin-bottom: 16px;
}

.ti-auth-form-grid .ti-auth-form-group {
    margin-bottom: 0;
}

.ti-auth-form-group .form-label {
    color: #334155;
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 7px;
}

.ti-required::after {
    content: " *";
    color: #dc2626;
}

.ti-auth-input-wrap {
    position: relative;
}

    .ti-auth-input-wrap > i {
        position: absolute;
        left: 15px;
        top: 50%;
        transform: translateY(-50%);
        color: #64748b;
        font-size: 15px;
        z-index: 2;
        pointer-events: none;
        transition: color .16s ease;
    }

    .ti-auth-input-wrap:focus-within > i {
        color: #2563eb;
    }

    .ti-auth-input-wrap .form-control {
        padding-left: 44px !important;
    }

    .ti-auth-form-group .form-control,
    .ti-auth-form-group .form-select,
    .ti-auth-input-wrap .form-control {
        min-height: 49px !important;
        border-radius: 16px !important;
        border: 1px solid #dbe4f0 !important;
        background-color: #ffffff !important;
        color: #0f172a !important;
        font-size: 14px !important;
        font-weight: 750;
        box-shadow: 0 4px 12px rgba(15, 23, 42, .025) !important;
        transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    }

        .ti-auth-form-group .form-control:hover,
        .ti-auth-form-group .form-select:hover,
        .ti-auth-input-wrap .form-control:hover {
            border-color: #bfdbfe !important;
        }

        .ti-auth-form-group .form-control:focus,
        .ti-auth-form-group .form-select:focus,
        .ti-auth-input-wrap .form-control:focus {
            border-color: #60a5fa !important;
            box-shadow: 0 0 0 4px rgba(37, 99, 235, .12), 0 8px 20px rgba(15, 23, 42, .05) !important;
        }

.ti-auth-password-rules {
    margin-top: 7px;
    color: #64748b;
    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.45;
}

/* ============================================================
   ALERT / ACTIONS / LINKS
   ============================================================ */

.ti-auth-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 18px 0;
    padding: 13px 14px;
    border-radius: 17px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e3a8a;
    font-size: 12.5px;
    font-weight: 750;
    line-height: 1.45;
}

    .ti-auth-alert i {
        color: #2563eb;
        font-size: 16px;
        line-height: 1.2;
        margin-top: 1px;
    }

.ti-reset-page .ti-auth-alert,
.ti-force-password-page .ti-auth-alert {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #92400e;
}

    .ti-reset-page .ti-auth-alert i,
    .ti-force-password-page .ti-auth-alert i {
        color: #f97316;
    }

.ti-auth-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
}

.ti-auth-note {
    color: #64748b;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.4;
}

.ti-auth-submit {
    min-height: 49px;
    border-radius: 17px !important;
    padding-left: 23px !important;
    padding-right: 23px !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    white-space: nowrap;
    border: 0 !important;
    background: linear-gradient(135deg, #2563eb, #1d4ed8) !important;
    box-shadow: 0 16px 30px rgba(37, 99, 235, .26), inset 0 1px 0 rgba(255,255,255,.20) !important;
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

    .ti-auth-submit:hover {
        transform: translateY(-1px);
        filter: brightness(1.02);
        box-shadow: 0 20px 36px rgba(37, 99, 235, .32), inset 0 1px 0 rgba(255,255,255,.24) !important;
    }

    .ti-auth-submit:active {
        transform: translateY(0);
    }

.ti-auth-links {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

.ti-auth-secondary-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 37px;
    padding: 0 11px;
    border-radius: 13px;
    color: #2563eb;
    font-size: 12.5px;
    font-weight: 950;
    text-decoration: none;
    transition: all .16s ease;
}

    .ti-auth-secondary-link:hover {
        background: #eff6ff;
        color: #1d4ed8;
        text-decoration: none;
    }

/* ============================================================
   PAGE-SPECIFIC
   ============================================================ */

.ti-login-page .ti-auth-card {
    max-width: 490px;
    justify-self: center;
}

.ti-recover-page .ti-auth-card,
.ti-reset-page .ti-auth-card,
.ti-force-password-page .ti-auth-card {
    max-width: 550px;
    justify-self: center;
}

.ti-register-page .ti-auth-card {
    width: 100%;
}

.ti-register-page .ti-auth-card-header {
    padding-bottom: 18px;
}

.ti-register-page .ti-auth-card-body {
    padding-bottom: 34px;
}

.ti-register-page .ti-auth-form-grid {
    gap: 15px;
}

/* ============================================================
   SWEETALERT / TOAST COMPAT
   ============================================================ */

.ti-auth-page .swal2-popup {
    border-radius: 24px !important;
}

.ti-auth-page .ti-toast-container {
    z-index: 3000;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1180px) {
    .ti-auth-shell,
    .ti-auth-shell-wide {
        grid-template-columns: 1fr;
        width: min(760px, calc(100% - 34px));
        gap: 22px;
        padding: 24px 0;
    }

    .ti-auth-brand-panel {
        min-height: auto;
        padding: 34px;
    }

    .ti-auth-brand-title {
        font-size: clamp(32px, 6vw, 48px);
    }

    .ti-auth-brand-subtitle {
        font-size: 15px;
    }

    .ti-auth-security-list {
        margin-top: 24px;
    }

    .ti-login-page .ti-auth-card,
    .ti-recover-page .ti-auth-card,
    .ti-reset-page .ti-auth-card,
    .ti-force-password-page .ti-auth-card {
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .ti-auth-shell,
    .ti-auth-shell-wide {
        width: min(100% - 24px, 640px);
        padding: 14px 0;
        gap: 14px;
    }

    .ti-auth-brand-panel {
        border-radius: 26px;
        padding: 26px;
    }

    .ti-auth-logo {
        width: 50px;
        height: 50px;
        border-radius: 16px;
        margin-bottom: 22px;
    }

    .ti-auth-eyebrow {
        min-height: 32px;
        font-size: 10.5px;
        margin-bottom: 18px;
    }

    .ti-auth-brand-title {
        font-size: 32px;
        line-height: 1.04;
    }

    .ti-auth-brand-subtitle {
        font-size: 14px;
        line-height: 1.55;
        margin-top: 16px;
    }

    .ti-auth-security-list {
        gap: 10px;
        margin-top: 20px;
    }

    .ti-auth-security-item {
        font-size: 13px;
    }

    .ti-auth-brand-footer {
        margin-top: 28px;
        flex-direction: column;
        gap: 5px;
    }

    .ti-auth-card {
        border-radius: 26px;
    }

    .ti-auth-card-header {
        padding: 26px 22px 18px;
    }

    .ti-auth-card-body {
        padding: 0 22px 26px;
    }

    .ti-auth-card-icon {
        width: 56px;
        height: 56px;
        border-radius: 19px;
        font-size: 25px;
    }

    .ti-auth-card-title {
        font-size: 22px;
    }

    .ti-auth-card-subtitle {
        font-size: 12.5px;
    }

    .ti-auth-form-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .ti-auth-col-12,
    .ti-auth-col-6,
    .ti-auth-col-4 {
        grid-column: 1 / -1;
    }

    .ti-auth-form-group {
        margin-bottom: 15px;
    }

    .ti-auth-form-grid .ti-auth-form-group {
        margin-bottom: 0;
    }

    .ti-auth-form-group .form-control,
    .ti-auth-form-group .form-select,
    .ti-auth-input-wrap .form-control {
        min-height: 47px !important;
    }

    .ti-auth-actions {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .ti-auth-submit {
        width: 100%;
    }

    .ti-auth-note {
        text-align: center;
    }

    .ti-auth-links {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .ti-auth-secondary-link {
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 520px) {
    .ti-auth-shell,
    .ti-auth-shell-wide {
        width: 100%;
        min-height: 100vh;
        padding: 0;
    }

    .ti-auth-brand-panel {
        border-radius: 0 0 28px 28px;
        padding: 24px 22px;
        box-shadow: 0 16px 40px rgba(15, 23, 42, .14);
    }

    .ti-auth-card {
        border-radius: 28px 28px 0 0;
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
        box-shadow: 0 -16px 42px rgba(15, 23, 42, .11);
    }

    .ti-auth-brand-title {
        font-size: 29px;
    }

    .ti-auth-brand-subtitle {
        font-size: 13.5px;
    }

    .ti-auth-security-list {
        display: none;
    }

    .ti-auth-card-header {
        padding: 24px 20px 16px;
    }

    .ti-auth-card-body {
        padding: 0 20px 24px;
    }

    .ti-auth-alert {
        font-size: 12px;
    }
}

/* ============================================================
   CUENTA / AUTH - MOBILE UX REFINADO
   Mejora Login, Registro, Recuperar, Reset y Cambio Obligatorio
   ============================================================ */

@media (max-width: 768px) {
    .ti-auth-page {
        background: linear-gradient(180deg, #eef4ff 0%, #f8fafc 42%, #ffffff 100%) !important;
    }

        .ti-auth-page::before {
            background-size: 34px 34px !important;
            opacity: .55 !important;
        }

        .ti-auth-page::after {
            display: none !important;
        }

    .ti-auth-shell,
    .ti-auth-shell-wide {
        width: 100% !important;
        min-height: 100vh !important;
        padding: 0 !important;
        gap: 0 !important;
        display: block !important;
    }

    /* Panel azul más compacto */
    .ti-auth-brand-panel {
        min-height: auto !important;
        border-radius: 0 0 24px 24px !important;
        padding: 22px 22px 24px !important;
        box-shadow: 0 14px 34px rgba(15, 23, 42, .16) !important;
    }

        .ti-auth-brand-panel::before {
            width: 190px !important;
            height: 190px !important;
            right: -72px !important;
            top: -62px !important;
            opacity: .9 !important;
        }

        .ti-auth-brand-panel::after {
            width: 170px !important;
            height: 170px !important;
            left: -76px !important;
            bottom: -84px !important;
            opacity: .75 !important;
        }

    .ti-auth-logo {
        width: 50px !important;
        height: 50px !important;
        border-radius: 16px !important;
        margin-bottom: 14px !important;
    }

    .ti-auth-eyebrow {
        min-height: 30px !important;
        padding: 0 12px !important;
        margin-bottom: 16px !important;
        font-size: 10px !important;
        letter-spacing: .055em !important;
    }

    .ti-auth-brand-title {
        font-size: 26px !important;
        line-height: 1.08 !important;
        letter-spacing: -.045em !important;
        max-width: 100% !important;
    }

    .ti-auth-brand-subtitle {
        margin-top: 12px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
        max-width: 100% !important;
    }

    .ti-auth-security-list {
        display: none !important;
    }

    .ti-auth-brand-footer {
        margin-top: 20px !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        font-size: 11px !important;
        opacity: .9 !important;
    }

    /* Card blanca más integrada y menos pesada */
    .ti-auth-card {
        width: calc(100% - 24px) !important;
        margin: 14px auto 18px !important;
        border-radius: 24px !important;
        box-shadow: 0 16px 42px rgba(15, 23, 42, .10) !important;
        border: 1px solid #e5eaf2 !important;
    }

        .ti-auth-card::after {
            width: 130px !important;
            height: 130px !important;
            right: -52px !important;
            top: -54px !important;
            opacity: .85 !important;
        }

    .ti-auth-card-header {
        padding: 24px 20px 14px !important;
    }

    .ti-auth-card-icon {
        width: 52px !important;
        height: 52px !important;
        border-radius: 18px !important;
        font-size: 23px !important;
        margin-bottom: 14px !important;
    }

    .ti-auth-card-title {
        font-size: 21px !important;
        line-height: 1.15 !important;
        letter-spacing: -.025em !important;
    }

    .ti-auth-card-subtitle {
        margin-top: 8px !important;
        font-size: 12.5px !important;
        line-height: 1.45 !important;
    }

    .ti-auth-card-body {
        padding: 0 20px 22px !important;
    }

    /* Formularios más cómodos en móvil */
    .ti-auth-form-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }

    .ti-auth-col-12,
    .ti-auth-col-6,
    .ti-auth-col-4 {
        grid-column: 1 / -1 !important;
    }

    .ti-auth-form-group {
        margin-bottom: 14px !important;
    }

    .ti-auth-form-grid .ti-auth-form-group {
        margin-bottom: 0 !important;
    }

    .ti-auth-form-group .form-label {
        font-size: 12px !important;
        margin-bottom: 6px !important;
    }

    .ti-auth-form-group .form-control,
    .ti-auth-form-group .form-select,
    .ti-auth-input-wrap .form-control {
        min-height: 46px !important;
        border-radius: 14px !important;
        font-size: 13.5px !important;
    }

    .ti-auth-input-wrap > i {
        left: 14px !important;
        font-size: 14px !important;
    }

    .ti-auth-input-wrap .form-control {
        padding-left: 42px !important;
    }

    .ti-auth-alert {
        margin: 15px 0 !important;
        padding: 12px 13px !important;
        border-radius: 14px !important;
        font-size: 12px !important;
    }

    .ti-auth-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-top: 14px !important;
    }

    .ti-auth-note {
        text-align: center !important;
        font-size: 11.5px !important;
    }

    .ti-auth-submit {
        width: 100% !important;
        min-height: 47px !important;
        border-radius: 15px !important;
    }

    .ti-auth-links {
        margin-top: 18px !important;
        padding-top: 17px !important;
        gap: 7px !important;
    }

    .ti-auth-secondary-link {
        width: 100% !important;
        justify-content: center !important;
        min-height: 36px !important;
        font-size: 12px !important;
    }
}

/* ============================================================
   AUTH - MOBILE EXTRA COMPACTO
   ============================================================ */

@media (max-width: 520px) {
    .ti-auth-brand-panel {
        padding: 20px 22px 22px !important;
    }

    .ti-auth-logo {
        width: 48px !important;
        height: 48px !important;
        margin-bottom: 13px !important;
    }

    .ti-auth-eyebrow {
        margin-bottom: 14px !important;
    }

    .ti-auth-brand-title {
        font-size: 24px !important;
    }

    .ti-auth-brand-subtitle {
        font-size: 12.8px !important;
    }

    .ti-auth-brand-footer {
        margin-top: 16px !important;
    }

    .ti-auth-card {
        width: calc(100% - 20px) !important;
        margin-top: 12px !important;
        margin-bottom: 16px !important;
        border-radius: 22px !important;
    }

    .ti-auth-card-header {
        padding: 22px 18px 13px !important;
    }

    .ti-auth-card-body {
        padding: 0 18px 20px !important;
    }

    .ti-auth-card-icon {
        width: 50px !important;
        height: 50px !important;
        font-size: 22px !important;
    }

    .ti-auth-card-title {
        font-size: 20px !important;
    }

    .ti-auth-card-subtitle {
        font-size: 12.2px !important;
    }

    .ti-auth-form-group .form-control,
    .ti-auth-form-group .form-select,
    .ti-auth-input-wrap .form-control {
        min-height: 45px !important;
    }
}

/* ============================================================
   REGISTRO - MÓVIL: FORMULARIO MÁS LARGO, MENOS HERO
   ============================================================ */

@media (max-width: 768px) {
    .ti-register-page .ti-auth-brand-panel {
        padding-bottom: 20px !important;
    }

    .ti-register-page .ti-auth-brand-title {
        font-size: 24px !important;
    }

    .ti-register-page .ti-auth-brand-subtitle {
        font-size: 12.5px !important;
        line-height: 1.45 !important;
    }

    .ti-register-page .ti-auth-card {
        margin-top: 12px !important;
    }

    .ti-register-page .ti-auth-card-header {
        padding-bottom: 12px !important;
    }

    .ti-register-page .ti-auth-form-grid {
        gap: 12px !important;
    }
}