
    :root{--bg:#f6f7fb;--card:#fff;--text:#172033;--muted:#667085;--line:#e4e7ec;--accent:#2f6feb;--danger:#b42318}
    *{box-sizing:border-box}
    body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);padding:24px}
    .card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px rgba(16,24,40,.08);padding:26px}
    h1{font-size:24px;line-height:1.2;margin:0 0 8px}
    p{margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.45}
    label{display:block;font-size:13px;font-weight:650;margin:14px 0 6px}
    input{width:100%;height:44px;border:1px solid var(--line);border-radius:12px;padding:0 12px;font-size:15px;outline:none;background:#fff}
    input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,111,235,.12)}
    button{width:100%;height:44px;margin-top:18px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;font-size:15px;cursor:pointer}
    .error{background:#fff2f0;border:1px solid #ffd5d0;color:var(--danger);border-radius:12px;padding:10px 12px;margin-bottom:14px;font-size:14px}
    .hint{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.4}
  