:root{--pink:#be185d;--pink-dark:#9d174d;--bg:#f8fafc;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--danger:#dc2626;--emerald:#059669}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--pink);text-decoration:none}a:hover{text-decoration:underline}.wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:440px;padding:32px;box-shadow:0 10px 30px #0000000f}.card.wide{max-width:820px}.brand{align-items:center;gap:10px;margin-bottom:20px;display:flex}.brand .dot{background:linear-gradient(135deg,var(--pink),#ec4899);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;font-weight:700;display:inline-flex}.brand .name{font-size:15px;font-weight:700}.brand .sub{color:var(--muted);font-size:12px}h1{margin:0 0 6px;font-size:22px}.desc{color:var(--muted);margin:0 0 22px;font-size:14px;line-height:1.5}label{margin:0 0 6px;font-size:13px;font-weight:600;display:block}input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:9px;outline:none;padding:11px 12px;font-size:14px}input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #be185d1f}.field{margin-bottom:16px}.hint{color:var(--muted);margin-top:5px;font-size:12px}button.btn{color:#fff;background:var(--pink);cursor:pointer;border:none;border-radius:9px;width:100%;padding:12px;font-size:14px;font-weight:600}button.btn:hover{background:var(--pink-dark)}button.btn:disabled{opacity:.6;cursor:default}.msg{border-radius:9px;margin-bottom:16px;padding:12px 14px;font-size:13px}.msg.err{color:var(--danger);background:#fef2f2;border:1px solid #fecaca}.msg.ok{color:var(--emerald);background:#ecfdf5;border:1px solid #a7f3d0}.center{text-align:center}.mt{margin-top:16px}.legal-body{color:#374151;font-size:14px;line-height:1.7}.legal-body h2{margin-top:24px;font-size:18px}.legal-body h3{font-size:15px}.footer-note{color:var(--muted);text-align:center;margin-top:24px;font-size:12px}.status-icon{text-align:center;margin-bottom:12px;font-size:44px}
