
  :root{--ink:#2b2a26;--ink-soft:#6b675d;--line:#ddd8cc;--panel:#fbf9f4;--bg:#f3f0e8;
        --accent:#2f7d6b;--accent-deep:#225b4f;--over:#b3443b;--shadow:0 1px 2px rgba(40,36,25,.06),0 8px 30px rgba(40,36,25,.08)}
  *{box-sizing:border-box}
  body{margin:0;min-height:100vh;display:grid;place-items:center;background:
        radial-gradient(1200px 600px at 50% -10%,#fbf9f4,transparent),var(--bg);
        font-family:"IBM Plex Sans",system-ui,sans-serif;color:var(--ink)}
  .card{width:min(92vw,360px);background:var(--panel);border:1px solid var(--line);border-radius:16px;
        box-shadow:var(--shadow);padding:30px 28px 26px}
  .brand{font-family:"Fraunces",serif;font-weight:600;font-size:26px;letter-spacing:.01em;display:flex;align-items:center;gap:9px}
  .brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(47,125,107,.15)}
  .tag{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:3px 0 22px 1px}
  label{font-size:12px;color:var(--ink-soft);font-weight:500}
  input{width:100%;margin-top:6px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;
        font-size:15px;font-family:inherit;background:#fff}
  input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,125,107,.14)}
  button{width:100%;margin-top:16px;padding:11px 12px;border:0;border-radius:9px;background:var(--accent);
         color:#fff;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer}
  button:hover{background:var(--accent-deep)}
  button:disabled{opacity:.6;cursor:default}
  .err{min-height:18px;margin-top:11px;font-size:13px;color:var(--over)}
