:root{
  --bg:#f5fbf6; --surface:#ffffff; --fg:#22302a; --muted:#6f8379; --line:#dcece2;
  --gold:#2f9d5a; --gold-soft:#e2f5e8;
  --f-display:"Unbounded","Golos Text",system-ui,sans-serif;
  --f-body:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.45;padding:28px 16px 64px;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh}
.card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:22px}
h1.logo{font-family:var(--f-display);font-weight:700;font-size:34px;line-height:1;letter-spacing:-.03em;margin:0;display:block}
h1.logo::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#e8b64c;margin-left:3px;vertical-align:baseline}
form{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
input{font:inherit;font-size:16px!important;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;width:100%}
input:focus{border-color:var(--gold)}
button{font:inherit;font-weight:600;font-size:15px;background:var(--fg);color:#fff;border:1px solid var(--fg);border-radius:12px;padding:12px 14px;cursor:pointer;margin-top:4px}
button:disabled{opacity:.6;cursor:default}
.err{font-size:13px;color:#a8503e;min-height:1.4em;margin:0}
.hint{font-size:13px;color:var(--muted);margin:0;text-align:center}
