/* ═══════════════════════════════════════════════════════════════
   Pantalla de acceso
   ═══════════════════════════════════════════════════════════════ */

.auth-body {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr;
    background:
        radial-gradient(1200px 600px at 110% -10%, rgba(37, 99, 235, 0.10), transparent 60%),
        radial-gradient(900px 500px at -10% 110%, rgba(30, 41, 59, 0.06), transparent 55%),
        var(--surface);
}

.auth-wrap {
    width: 100%;
    max-width: 400px;
    margin: auto;
    padding: var(--sp-6);
}

.auth-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-3);
    margin-bottom: var(--sp-6);
}
.auth-brand .brand-logo {
    width: 40px; height: 40px; font-size: var(--fs-xl);
    border-radius: var(--radius);
    background: linear-gradient(135deg, var(--accent), var(--accent-active));
    color: #fff; font-weight: var(--fw-bold);
    display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow);
}
.auth-brand .brand-name { font-size: var(--fs-xl); font-weight: var(--fw-bold); letter-spacing: -0.02em; }
.auth-brand .brand-name span { color: var(--accent); }

.auth-card {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    padding: var(--sp-8);
}
.auth-card h1 { font-size: var(--fs-2xl); letter-spacing: -0.02em; margin-bottom: var(--sp-1); }
.auth-card .auth-sub { color: var(--text-muted); margin-bottom: var(--sp-6); }

.auth-footer {
    text-align: center;
    margin-top: var(--sp-5);
    font-size: var(--fs-sm);
    color: var(--text-soft);
}

@media (max-width: 480px) {
    .auth-card { padding: var(--sp-6); }
}
