:root { color-scheme: light dark; --text: #172032; --muted: #657184; --surface: #fff; --background: #f4f7fb; --border: #d5deec; --accent: #4276f6; --error: #c12232; }
@media (prefers-color-scheme: dark) { :root { --text: #e9eef8; --muted: #a0aec1; --surface: #172032; --background: #101724; --border: #364257; --accent: #739aff; --error: #ff96a3; } }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, sans-serif; background: var(--background); color: var(--text); }
main { min-height: 100dvh; display: grid; place-items: center; padding: 24px; }
form { width: min(100%, 430px); padding: 32px; background: var(--surface); border: 1px solid var(--border); border-radius: 18px; }
.brand { display: flex; align-items: center; justify-content: space-between; color: var(--accent); font-size: 20px; font-weight: 650; }
h1 { margin: 28px 0 8px; font-size: 24px; } p { color: var(--muted); margin: 8px 0 24px; }
label { display: block; margin: 16px 0 6px; } input, button, select { font: inherit; border-radius: 8px; border: 1px solid var(--border); }
input { width: 100%; padding: 10px 12px; background: var(--background); color: var(--text); }
button { width: 100%; margin-top: 24px; padding: 11px; background: var(--accent); color: var(--surface); cursor: pointer; border-color: var(--accent); font-weight: 600; }
select { padding: 5px 8px; background: var(--surface); color: var(--text); font-size: 14px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; } :disabled { opacity: .65; cursor: wait; }
#error { color: var(--error); margin: 16px 0 0; }
