:root {
    color-scheme: light;
}
.auth-body { min-height: 100vh; display: grid; place-items: center; background: var(--color-parchment); padding: var(--space-6); }
.auth-shell { width: 100%; max-width: 480px; }
.auth-brand { text-align: center; margin-bottom: var(--space-8); }
.brand-logo { display: inline-flex; align-items: center; gap: var(--space-3); text-decoration: none; }
.brand-mark { width: 40px; height: 40px; background: var(--color-ember); color: var(--color-white); border-radius: var(--radius-md); display: grid; place-items: center; font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; }
.brand-wordmark { font-family: var(--font-display); font-size: var(--text-2xl); color: var(--color-ink); font-weight: 700; }
.auth-card { background: var(--color-white); border-radius: var(--radius-xl); padding: var(--space-10); box-shadow: var(--shadow-raised); }
.auth-heading { font-family: var(--font-display); font-size: var(--text-3xl); color: var(--color-ink); margin-bottom: var(--space-2); }
.auth-subheading { color: var(--color-text-muted); margin-bottom: var(--space-6); }
.auth-footer { text-align: center; margin-top: var(--space-4); font-size: var(--text-xs); color: var(--color-text-muted); }
.auth-footer a { color: var(--color-ember); }
.auth-switch { text-align: center; margin-top: var(--space-5); font-size: var(--text-sm); color: var(--color-text-muted); }
.auth-switch a { color: var(--color-ember); }

form { display: flex; flex-direction: column; gap: var(--space-5); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.form-group { display: flex; flex-direction: column; gap: var(--space-2); }
.form-group label { font-size: var(--text-sm); font-weight: 500; color: var(--color-bark); }
.form-input { padding: var(--space-3) var(--space-4); border: 1.5px solid var(--color-border); border-radius: var(--radius-md); font-family: var(--font-body); font-size: var(--text-base); color: var(--color-bark); background: var(--color-white); transition: border-color var(--transition-fast), box-shadow var(--transition-fast); }
.form-input:focus { outline: none; border-color: var(--color-ember); box-shadow: 0 0 0 3px rgba(200,86,42,0.12); }
.form-input::placeholder { color: var(--color-linen); }
.field-error { font-size: var(--text-xs); color: var(--color-danger); }
.validation-summary { background: #FEE2E2; color: #991B1B; padding: var(--space-3); border-radius: var(--radius-md); font-size: var(--text-sm); border: 1px solid #FECACA; }
.label-optional { font-size: var(--text-xs); color: var(--color-text-muted); font-weight: 400; margin-left: var(--space-1); }
.label-row { display: flex; align-items: center; justify-content: space-between; }
.forgot-link { font-size: var(--text-xs); color: var(--color-ember); }
.checkbox-label { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); cursor: pointer; }

@media (max-width: 600px) {
    .auth-card { padding: var(--space-6); }
    .form-row { grid-template-columns: 1fr; }
}
