:root { color-scheme:light; --forest:#174d35; --dark:#103727; --green:#4f9160; --mint:#e1f0dd; --lime:#d8f36f; --ink:#173126; --muted:#66796e; --line:#d7e1d4; --danger:#9b4138; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; color:var(--ink); background:radial-gradient(circle at 20% 5%,#e2f0de,transparent 35%),#f7f8f4; }
button,input { font:inherit; }
main { min-height:100vh; padding:clamp(24px,5vw,58px); display:grid; align-content:center; justify-items:center; }
.brand { position:absolute; top:32px; left:clamp(24px,5vw,58px); display:flex; align-items:center; gap:10px; color:var(--forest); text-decoration:none; font-size:20px; font-weight:780; letter-spacing:-.04em; }
.brand span { width:37px; height:37px; display:grid; place-items:center; border-radius:12px; color:var(--forest); background:var(--lime); font-family:Georgia,serif; font-style:italic; }
.card { width:min(100%,540px); padding:clamp(30px,6vw,56px); border:1px solid var(--line); border-radius:28px; background:rgba(255,255,255,.94); box-shadow:0 28px 70px rgba(23,77,53,.1); }
.eyebrow { margin:0 0 12px; color:var(--green); font-size:10px; font-weight:820; letter-spacing:.13em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(35px,5vw,49px); line-height:1.05; letter-spacing:-.055em; }
.lead { margin:17px 0 29px; color:var(--muted); font-size:14px; line-height:1.65; }
form { display:grid; gap:10px; }
label { color:#4c6356; font-size:12px; font-weight:730; }
input { min-height:52px; padding:0 15px; border:1px solid var(--line); border-radius:13px; color:var(--ink); background:#fbfcfa; outline:none; }
input:focus { border-color:#80a384; box-shadow:0 0 0 4px rgba(79,145,96,.12); }
.status { min-height:38px; margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.status[data-type="error"] { color:var(--danger); }
.status[data-type="success"] { color:var(--green); }
button { min-height:52px; padding:0 18px; display:flex; justify-content:space-between; align-items:center; border:0; border-radius:13px; color:white; background:var(--forest); cursor:pointer; font-weight:760; }
button:hover { background:var(--dark); }
button:disabled { opacity:.6; cursor:wait; }
.safe-note { margin:24px 0 0; padding:14px; display:flex; gap:10px; border-radius:13px; color:#5c7064; background:var(--mint); font-size:11px; line-height:1.55; }
.safe-note span { flex:0 0 22px; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--forest); font-family:Georgia,serif; font-style:italic; }
.back-link { margin-top:22px; color:var(--green); text-decoration:none; font-size:12px; font-weight:730; }
a:focus-visible,button:focus-visible { outline:3px solid rgba(79,145,96,.3); outline-offset:3px; }
@media (max-width:600px) { .brand { position:static; justify-self:start; margin-bottom:42px; } main { align-content:start; } }
