:root{--navy:#14243a;--blue:#1769e0;--line:#e3eaf3;--muted:#64748b;--red:#c43d4b;--green:#16845b}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);font:14px/1.45 Inter,Segoe UI,Arial,sans-serif;padding:20px}
.card{background:#fff;width:100%;max-width:420px;padding:32px;border-radius:16px;box-shadow:0 25px 50px -12px #00000040}
.mark{width:50px;height:50px;border-radius:14px;background:#1f73ed;color:#fff;font-size:26px;font-weight:800;display:grid;place-items:center;margin:0 auto 16px}
h2{margin:0 0 6px;font-size:20px;color:var(--navy);text-align:center}p.sub{margin:0 0 22px;color:var(--muted);font-size:13px;text-align:center}
label{display:block;font-size:12px;font-weight:600;margin:12px 0 5px;color:#334155}
input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px}
input:focus{outline:0;border-color:#79a8f4;box-shadow:0 0 0 3px #1769e015}
button{width:100%;margin-top:18px;padding:12px;border:0;border-radius:9px;background:var(--blue);color:#fff;font-weight:700;font-size:14px;cursor:pointer}
.err{background:#fdecec;color:#9b2c2c;border:1px solid #f3c0c0;padding:10px 12px;border-radius:9px;margin-bottom:12px;font-size:13px}
.ok{background:#edf7f1;color:#17734e;border:1px solid #bfe3cf;padding:10px 12px;border-radius:9px;margin-bottom:12px;font-size:13px}
