body.auth-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
    overflow-y: auto;
}

.auth-card {
    background: var(--site-surface);
    border-radius: 12px;
    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: #fff;
}

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

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

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

.auth-page .form-control:focus,
.auth-page .form-select:focus {
    background: var(--site-bg);
    border-color: var(--site-brand);
    color: #fff;
    box-shadow: none;
}

.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: #fff;
}

.auth-page .btn-brand {
    background: var(--site-brand);
    border: none;
    color: #fff;
    font-weight: 600;
}

.auth-page .btn-brand:hover {
    background: var(--site-brand-hover);
    color: #fff;
}

.auth-page .auth-link {
    color: #7dd3fc;
    text-decoration: none;
}

.auth-page .auth-link:hover {
    color: #bae6fd;
}

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

.auth-status-success {
    color: #22c55e;
}

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

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

.card-age {
    max-width: 500px;
    border-radius: 15px;
}
