/* Authentication screens — calm-study presentation layer only. */

body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 8% 4%, rgb(134 171 196 / 0.20), transparent 28rem),
        radial-gradient(circle at 94% 88%, rgb(136 178 168 / 0.16), transparent 26rem),
        var(--color-background);
    color: var(--color-text);
    font-family: var(--font-main);
}

.auth-container {
    background: transparent;
}

.auth-card,
.forgot-box,
.reset-box {
    background: rgb(245 247 248 / 0.92);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-lg);
}

.auth-header h1,
.forgot-header h1,
.reset-header h1 {
    color: var(--color-text);
    letter-spacing: var(--letter-spacing-tight);
}

.auth-header p,
.forgot-header p,
.reset-header p,
.auth-footer,
.form-group label {
    color: var(--color-text-secondary);
}

.form-input {
    min-height: 52px;
    color: var(--color-text);
    background: var(--color-background-subtle);
    border-color: var(--color-border);
    font-family: var(--font-main);
}

.form-input::placeholder {
    color: var(--color-text-muted);
}

.form-input:focus {
    background: var(--color-surface-raised);
    border-color: var(--color-focus);
    box-shadow: var(--shadow-focus);
}

.btn-primary {
    min-height: 48px;
    background: var(--gradient-main);
    box-shadow: 0 7px 15px rgb(30 82 122 / 0.20);
}

.btn-primary:hover {
    background: var(--color-primary-hover);
    box-shadow: 0 9px 18px rgb(30 82 122 / 0.25);
}

.auth-footer a,
.back-link a,
.forgot-container a {
    color: var(--color-primary);
}

.error-msg {
    color: var(--color-danger);
}

@media (max-width: 540px) {
    .auth-card,
    .forgot-box,
    .reset-box {
        padding: 1.75rem;
        border-radius: var(--radius-xl);
    }
}

@media (prefers-reduced-motion: reduce) {
    .form-input,
    .btn-primary {
        transition: none;
    }
}
