body.auth-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
    overflow-y: auto;
    background:
        radial-gradient(circle at top left, rgba(27, 117, 188, 0.12), transparent 20rem),
        radial-gradient(circle at bottom right, rgba(255, 122, 0, 0.12), transparent 18rem),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.auth-card {
    background: rgba(255, 255, 255, 0.97);
    border: 1px solid var(--site-border-soft);
    border-radius: 20px;
    padding: 40px;
    width: 100%;
    box-shadow: var(--site-shadow-lg);
}

.auth-card--sm {
    max-width: 420px;
}

.auth-card--md {
    max-width: 450px;
}

.auth-card--lg {
    max-width: 500px;
}

.auth-card--center {
    text-align: center;
}

.auth-logo {
    text-align: center;
    margin-bottom: 20px;
}

.auth-title {
    color: var(--site-text);
}

.auth-subtitle {
    color: var(--site-text-muted);
}

.auth-icon {
    font-size: 40px;
    color: var(--site-accent);
    margin-bottom: 15px;
}

.auth-page .form-control,
.auth-page .form-select {
    background: #ffffff;
    border: 1px solid var(--site-border);
    color: var(--site-text);
}

.auth-page .form-control:focus,
.auth-page .form-select:focus {
    background: #ffffff;
    border-color: var(--site-brand);
    color: var(--site-text);
    box-shadow: 0 0 0 0.2rem rgba(27, 117, 188, 0.12);
}

.auth-page .form-control::placeholder {
    color: var(--site-text-muted);
}

.auth-page .text-muted,
.auth-page small,
.auth-page .small {
    color: var(--site-text-muted) !important;
}

.auth-page .form-check-label,
.auth-page label {
    color: var(--site-text);
}

.auth-page .btn-brand {
    background: linear-gradient(135deg, var(--site-brand) 0%, var(--site-accent) 100%);
    border: none;
    color: #fff;
    font-weight: 700;
    box-shadow: 0 16px 30px rgba(27, 117, 188, 0.18);
}

.auth-page .btn-brand:hover {
    background: linear-gradient(135deg, var(--site-brand-hover) 0%, var(--site-accent-hover) 100%);
    color: #fff;
}

.auth-page .auth-link {
    color: var(--site-brand);
    text-decoration: none;
    font-weight: 600;
}

.auth-page .auth-link:hover {
    color: var(--site-accent);
}

.auth-result {
    min-height: 24px;
}

.auth-status-success {
    color: #3f8f18;
}

.auth-status-error {
    color: #dc2626;
}

.auth-status-info {
    color: #b45309;
}

.card-age {
    max-width: 500px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid var(--site-border-soft);
    box-shadow: var(--site-shadow-lg);
}

.card-age--md {
    max-width: 560px;
}

.card-age--lg {
    max-width: 760px;
}

.card-age--xl {
    max-width: 940px;
}
