:root{color-scheme:light;font-family:"Segoe UI",system-ui,sans-serif;color:#172033;background:#17375e}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#152c49,#1e3a5f 60%,#2a4f80)}
.card{width:min(100%,480px);background:#fff;border-radius:20px;padding:36px;box-shadow:0 28px 70px #071a3080}
.brand{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:16px;background:#1e3a5f;font-size:32px}
h1{text-align:center;margin:0;font-size:26px}.subtitle{text-align:center;color:#64748b;margin:5px 0 28px}
section>p{color:#475569;line-height:1.55;font-size:14px}
label{display:block;margin:16px 0 6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#475569}
input{width:100%;min-height:48px;border:1px solid #94a3b8;border-radius:9px;padding:11px 13px;font-size:16px}
input:focus{outline:3px solid #bfdbfe;border-color:#2563eb}
button{width:100%;margin-top:20px;min-height:48px;border:0;border-radius:9px;background:#173f6b;color:#fff;font-size:15px;font-weight:800;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
.message{margin-top:18px;padding:13px;border-radius:9px;font-size:14px;line-height:1.45;background:#eff6ff;border:1px solid #93c5fd;color:#1e3a8a}
.message.error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}
.message.success{background:#f0fdf4;border-color:#86efac;color:#166534}
.back{display:block;margin-top:20px;text-align:center;color:#173f6b;font-weight:700;font-size:13px}
@media(max-width:520px){body{padding:0}.card{min-height:100vh;border-radius:0;padding:28px 20px}}
