:root { color-scheme: light; --green:#245c43; --paper:#f7f5ef; --ink:#213029; --muted:#6f7772; --line:#dedbd1; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; padding:32px 16px; display:grid; place-items:center; background:var(--paper); color:var(--ink); font-family:Inter,system-ui,sans-serif; }
.setup-card { width:min(100%,620px); padding:clamp(24px,6vw,52px); background:#fff; border:1px solid var(--line); border-radius:28px; box-shadow:0 24px 70px rgba(26,54,40,.10); }
.login-card { width:min(100%,450px); text-align:center; }
.login-card form { text-align:left; }
.login-card img { display:block; margin:0 auto 20px; }
.eyebrow { margin:0 0 5px; color:var(--green); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
h1 { margin:0; font:600 clamp(32px,7vw,46px)/1.1 Georgia,serif; }
p { color:var(--muted); line-height:1.55; }
form { display:grid; gap:18px; margin-top:28px; }
fieldset { display:grid; gap:14px; border:0; padding:0; margin:0; }
legend { margin-bottom:12px; font-weight:800; color:var(--green); }
label { display:grid; gap:7px; font-size:13px; font-weight:700; }
input { width:100%; border:1px solid var(--line); border-radius:12px; padding:13px 14px; font:inherit; background:#fff; }
input:focus { outline:3px solid rgba(36,92,67,.14); border-color:var(--green); }
.check { grid-template-columns:auto 1fr; align-items:center; font-weight:500; }
.check input { width:18px; height:18px; }
button { border:0; border-radius:13px; padding:15px 18px; color:#fff; background:var(--green); font:800 15px/1 system-ui,sans-serif; cursor:pointer; }
.error { padding:13px 15px; border-radius:12px; color:#842f23; background:#fbe9e5; font-size:14px; line-height:1.45; }

