/**
 * Estilos de login auth (legacy vs seguro).
 * Colores alineados a tokens theme-ng (assets/theme/theme-ng.css).
 * @since 2026-08-26
 * @spec 009-secure-auth-user
 */

.rsh-auth-legacy-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
}

.rsh-auth-legacy-header__icon {
    width: 36px;
    height: 36px;
    object-fit: contain;
    flex-shrink: 0;
}

.rsh-auth-legacy-header__title {
    margin: 0;
    color: #5a6268;
    letter-spacing: 0.02em;
}

/* Fondo del header alineado al plate gris del icono legacy */
.login-box .card-header.rsh-auth-legacy-card-header {
    background: rgba(0, 0, 0, .03);
    border-bottom: 1px solid rgba(52, 58, 64, 0.12);
}

.rsh-auth-secure {
    /* Tokens theme-ng */
    --rsh-primary: #e85d52;
    --rsh-primary-hover: #d6453a;
    --rsh-coral: #ff7f50;
    --rsh-primary-light: rgba(232, 93, 82, 0.12);
    --rsh-text: #2d3436;
    --rsh-text-muted: #636e72;
    --rsh-input-border: #dee2e6;
    --rsh-radius: 8px;
    --rsh-shadow: 0 2px 12px rgba(52, 58, 64, 0.08), 0 1px 4px rgba(52, 58, 64, 0.04);
}

.rsh-auth-secure .login-box {
    width: 380px;
    max-width: 94vw;
}

.rsh-auth-secure__card {
    border: 0;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(52, 58, 64, 0.14);
}

/* Gradiente theme-ng (mismo criterio que .rsh-page-header) */
.rsh-auth-secure__accent {
    height: 5px;
    background: linear-gradient(135deg, var(--rsh-primary) 0%, var(--rsh-coral) 100%);
}

.rsh-auth-secure__body {
    padding: 1.75rem 1.6rem 1.5rem;
}

.rsh-auth-secure__brand {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: start;
    gap: 0.75rem;
    text-align: left;
    margin-bottom: 1.25rem;
}

.rsh-auth-secure__icon {
    width: 58px; /* 72 * 0.8 */
    height: 58px;
    object-fit: contain;
    margin-bottom: 0;
    flex-shrink: 0;
    filter: drop-shadow(0 6px 12px rgba(232, 93, 82, 0.22));
}

.rsh-auth-secure__title {
    margin: 0;
    color: var(--rsh-text);
    font-size: 1rem; /* 1.45 * 0.8 */
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.rsh-auth-secure__brand-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.rsh-auth-secure__greeting {
    margin: 0.15rem 0 0;
    color: var(--rsh-text-muted);
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
}

.rsh-auth-secure .form-control {
    border-width: 2px;
    border-color: var(--rsh-input-border);
    min-height: 44px;
    font-weight: 500;
}

.rsh-auth-secure .form-control:focus {
    border-color: var(--rsh-primary);
    box-shadow: 0 0 0 0.15rem var(--rsh-primary-light);
}

.rsh-auth-secure .input-group-text {
    border-width: 2px;
    border-color: var(--rsh-input-border);
    background: #f8f9fa;
    color: var(--rsh-text-muted);
}

.rsh-auth-secure__btn {
    margin-top: 0.35rem;
    min-height: 46px;
    border-radius: 10px;
    font-size: 1rem;
    font-weight: 700;
}

.rsh-auth-secure__footer {
    margin-top: 1.15rem;
    text-align: center;
}

.rsh-auth-secure__footer a {
    color: var(--rsh-text-muted);
    font-weight: 600;
}

.rsh-auth-secure__footer a:hover {
    color: var(--rsh-primary);
    text-decoration: underline;
}

.rsh-auth-secure .form-group label {
    color: var(--rsh-text);
    font-size: 0.86rem;
    font-weight: 700;
}

/* Password toggle + checklist (Mi cuenta / migracion) */
.rsh-password-field {
    position: relative;
}

.rsh-password-field .form-control {
    padding-right: 2.75rem;
}

.rsh-password-toggle {
    position: absolute;
    top: 50%;
    right: 0.45rem;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: var(--rsh-text-muted, #636e72);
    width: 2rem;
    height: 2rem;
    padding: 0;
    border-radius: 6px;
    cursor: pointer;
}

.rsh-password-toggle:hover,
.rsh-password-toggle:focus {
    color: var(--rsh-primary, #e85d52);
    outline: none;
}

.rsh-password-check {
    list-style: none;
    margin: 0.65rem 0 0;
    padding: 0.75rem 0.9rem;
    border-radius: var(--rsh-radius-sm, 6px);
    background: var(--rsh-section, #f8f9fa);
    border: 1px solid var(--rsh-section-border, rgba(52, 58, 64, 0.15));
}

.rsh-password-check__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.25rem 0;
    color: var(--rsh-text-muted, #636e72);
    font-size: 0.88rem;
    font-weight: 500;
}

.rsh-password-check__icon {
    width: 1rem;
    text-align: center;
}

.rsh-password-check__item.is-valid {
    color: var(--rsh-success, #00b894);
    font-weight: 600;
}

.rsh-password-check__item.is-invalid {
    color: var(--rsh-danger, #d63031);
}

.rsh-password-match {
    margin-top: 0.4rem;
    font-size: 0.85rem;
    font-weight: 600;
}

.rsh-password-match.is-valid {
    color: var(--rsh-success, #00b894);
}

.rsh-password-match.is-invalid {
    color: var(--rsh-danger, #d63031);
}

.rsh-theme-ng .rsh-auth-cuenta-card .card-header {
    background: var(--rsh-section);
    border-bottom: 1px solid var(--rsh-section-border);
    font-weight: 700;
}
