:root{--ink:#15162B;--paper:#F6F6FC;--panel:#fff;--line:#E4E3F1;--muted:#6C6C88;--magenta:#E6007E;--violet:#6E2C91;--blue:#0057B8;--cyan:#00AEEF;--red:#D64545;--green:#1E9E6B}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;display:flex;align-items:center;justify-content:center;padding:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 2px rgba(21,22,43,.06),0 8px 24px rgba(21,22,43,.06);width:100%;max-width:380px;padding:28px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;margin-bottom:20px}
.brand .dot{width:28px;height:28px;border-radius:8px;background:conic-gradient(from 200deg,var(--magenta),var(--violet),var(--blue),var(--cyan),var(--magenta));flex-shrink:0}
.brand small{display:block;font-weight:400;color:var(--muted);font-size:11px}
h1{font-size:18px;margin:0 0 6px}p.lead{color:var(--muted);font-size:13px;margin:0 0 18px}
label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:12px 0 5px}
input{width:100%;font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);outline:none}
input:focus{border-color:var(--blue);background:#fff}
button{margin-top:18px;width:100%;font:inherit;font-weight:700;font-size:14px;padding:11px;border:none;border-radius:999px;background:var(--ink);color:#fff;cursor:pointer}
button:disabled{opacity:.6;cursor:default}
.msg{margin-top:12px;font-size:13px;min-height:18px}.msg.err{color:var(--red)}.msg.ok{color:var(--green)}
.notice{background:#FFF6DB;border:1px solid #F3DFA0;color:#6B5200;border-radius:9px;padding:10px 12px;font-size:13px;margin-bottom:6px}
a.link{display:block;text-align:center;margin-top:14px;font-size:13px;color:var(--muted)}
