.auth-page {
    padding: 56px 0;
}

.auth-container {
    max-width: 540px;
}

.auth-back {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--color-text-secondary);
}

.auth-card {
    border: 1px solid var(--color-border-strong);
    background: var(--color-bg-chrome);
    padding: 28px;
    display: grid;
    gap: 16px;
}

.auth-card h1 {
    margin: 0;
    font-size: var(--font-size-page-title);
}

.auth-card p {
    margin: 0;
    color: var(--color-text-secondary);
}

.auth-form {
    display: grid;
    gap: 14px;
}

.auth-form label {
    display: grid;
    gap: 8px;
    font-size: var(--font-size-text-sm);
    color: var(--color-text-secondary);
}

.auth-form input {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--color-border-strong);
    background: var(--color-bg-control);
    color: var(--color-text-primary);
}

.auth-field-error {
    color: var(--color-status-error);
    font-size: var(--font-size-text-sm);
}

.auth-alert {
    border: 1px solid var(--color-border-strong);
    padding: 12px;
    font-size: var(--font-size-text-sm);
}

.auth-alert-success {
    border-color: var(--color-status-success-border);
    background: var(--color-status-success-bg);
}

.auth-alert-error {
    border-color: var(--color-status-error-border);
    background: var(--color-status-error-bg);
}

.auth-alt-link {
    margin-top: 2px;
    font-size: var(--font-size-text-sm);
}

.auth-helper-link {
    margin-top: -4px;
    font-size: var(--font-size-text-sm);
}

.auth-helper-link a,
.auth-alt-link a {
    color: var(--color-accent);
}

.auth-actions {
    display: grid;
    gap: 12px;
}

.legal-container {
    max-width: 760px;
}

.legal-card {
    gap: 18px;
}

.legal-section {
    display: grid;
    gap: 10px;
}

.legal-section h2 {
    margin: 0;
    font-size: var(--font-size-card-title);
}

.legal-list {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
    color: var(--color-text-secondary);
    font-size: var(--font-size-text-sm);
}

@media (max-width: 640px) {
    .auth-page {
        padding: 36px 0;
    }

    .auth-card {
        padding: 22px;
    }
}
