/* ===== ESTILOS DE AUTENTICACIÓN ===== */
.auth-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    position: relative;
    overflow: hidden;

    /* Fondo degradado base */
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 50%, #1a1a2e 100%);
}

/* Patron geometrico SVG como overlay */
.auth-container::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.07;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M0 0h40v40H0zm40 40h40v40H40z' fill='%23ffffff' fill-opacity='0.4'/%3E%3Cpath d='M40 0h40v40H40zM0 40h40v40H0z' fill='%23ffffff' fill-opacity='0.15'/%3E%3Ccircle cx='40' cy='40' r='2' fill='%2300d4ff'/%3E%3Ccircle cx='0' cy='0' r='2' fill='%2300d4ff'/%3E%3Ccircle cx='80' cy='0' r='2' fill='%2300d4ff'/%3E%3Ccircle cx='0' cy='80' r='2' fill='%2300d4ff'/%3E%3Ccircle cx='80' cy='80' r='2' fill='%2300d4ff'/%3E%3C/svg%3E");
    background-size: 80px 80px;
    pointer-events: none;
}

/* Efecto de resplandor sutil */
.auth-container::after {
    content: '';
    position: absolute;
    top: -40%;
    left: -20%;
    width: 70%;
    height: 70%;
    background: radial-gradient(ellipse, rgba(59, 130, 246, 0.12) 0%, transparent 70%);
    pointer-events: none;
}

.auth-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.05);
    width: 100%;
    max-width: 420px;
    padding: 40px;
    position: relative;
    z-index: 1;
    animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.auth-logo {
    text-align: center;
    margin-bottom: 32px;
}
.auth-logo .logo-icon {
    width: 56px;
    height: 56px;
    background: var(--primary);
    border-radius: var(--radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: var(--white);
    margin-bottom: 16px;
    box-shadow: 0 4px 14px rgba(59, 130, 246, 0.35);
}
.auth-logo h1 {
    font-size: 22px;
    font-weight: 700;
    color: var(--text);
}
.auth-logo p {
    color: var(--text-secondary);
    font-size: 14px;
    margin-top: 4px;
}

.auth-form .form-group {
    margin-bottom: 20px;
}

.auth-form .btn {
    width: 100%;
    justify-content: center;
    padding: 12px;
    font-size: 15px;
}

.auth-footer {
    text-align: center;
    margin-top: 24px;
    font-size: 13px;
    color: var(--text-muted);
}
