/* ============================================================
   DIETA FÁCIL — Auth Pages (Login & Register)
   ============================================================ */
.auth-page {
    min-height: 100vh;
    display: flex;
    background: var(--bg-body);
}
.auth-left {
    flex: 1;
    display: flex; align-items: center; justify-content: center;
    padding: var(--space-2xl);
}
.auth-right {
    flex: 1;
    background: var(--gradient-hero);
    display: flex; align-items: center; justify-content: center;
    position: relative; overflow: hidden;
}
.auth-right::before {
    content: '';
    position: absolute; inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1.5' fill='rgba(255,255,255,0.1)'/%3E%3C/svg%3E");
}
.auth-right-content {
    position: relative; z-index: 1;
    text-align: center; color: #fff;
    padding: var(--space-2xl); max-width: 440px;
}
.auth-right-content h2 {
    font-family: var(--font-heading);
    font-weight: 800; font-size: 2rem;
    color: #fff; margin-bottom: var(--space-md);
}
.auth-right-content p {
    opacity: 0.85; font-size: 1rem; line-height: 1.7;
}

.auth-card {
    width: 100%; max-width: 440px;
}
.auth-logo {
    display: flex; align-items: center; gap: 12px;
    margin-bottom: var(--space-2xl);
    text-decoration: none;
}
.auth-logo .logo-icon {
    width: 46px; height: 46px;
    background: var(--gradient-primary);
    border-radius: var(--radius-sm);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.3rem; color: #fff;
}
.auth-logo .logo-text {
    font-family: var(--font-heading);
    font-size: 1.4rem; font-weight: 800;
    color: var(--text-primary);
}
.auth-logo .logo-text span { color: var(--primary); }

.auth-title {
    font-size: 1.5rem; font-weight: 800;
    margin-bottom: 4px;
}
.auth-subtitle {
    color: var(--text-secondary);
    font-size: 0.9rem;
    margin-bottom: var(--space-xl);
}

.auth-divider {
    display: flex; align-items: center; gap: var(--space-md);
    margin: var(--space-lg) 0;
    color: var(--text-tertiary); font-size: 0.8rem;
}
.auth-divider::before, .auth-divider::after {
    content: ''; flex: 1;
    height: 1px; background: var(--border);
}

.auth-footer {
    text-align: center;
    margin-top: var(--space-xl);
    font-size: 0.85rem;
    color: var(--text-secondary);
}
.auth-footer a { font-weight: 600; }

.password-toggle {
    position: absolute; right: 16px; top: 50%;
    transform: translateY(-50%);
    background: none; border: none;
    color: var(--text-tertiary); cursor: pointer;
    font-size: 1rem;
}

@media (max-width: 991.98px) {
    .auth-right { display: none; }
    .auth-left { padding: var(--space-lg); }
}
@media (max-width: 575.98px) {
    .auth-card { padding: 0 var(--space-sm); }
    .auth-title { font-size: 1.3rem; }
}
