*{box-sizing:border-box;margin:0;padding:0}
:root{--red:#ED1C2E;--navy:#173B78;--navy-d:#0B1D3F;--ink:#13213A;--mut:#6B7590;--line:#DCE2EC}
body{font:15px/1.5 Inter,system-ui,sans-serif;color:var(--ink);background:var(--navy-d);-webkit-font-smoothing:antialiased;min-height:100vh}
.auth{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 16px;overflow:hidden;
  background:radial-gradient(1200px 700px at 50% -10%,#1B3C7A 0%,transparent 60%),linear-gradient(180deg,#0E2550 0%,var(--navy-d) 100%)}
.auth:before,.auth:after{content:"";position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.auth:before{width:420px;height:420px;right:-90px;top:-120px;background:rgba(237,28,46,.28)}
.auth:after{width:460px;height:460px;left:-140px;bottom:-160px;background:rgba(56,110,214,.35)}
.auth-col{position:relative;z-index:1;width:100%;max-width:410px}

.card{background:#fff;border-radius:20px;padding:34px 34px 30px;text-align:center;
  box-shadow:0 30px 70px -20px rgba(3,10,30,.65),0 0 0 1px rgba(255,255,255,.06);position:relative;overflow:hidden}
.card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--red) 0 50%,var(--navy) 50% 100%)}
.kicker{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;background:#EEF2FA;color:var(--navy);
  font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.kicker svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.logo{display:block;margin:18px auto 6px;width:168px;height:auto}
h1{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--navy)}
.sub{color:var(--mut);font-size:13.5px;margin:4px 0 22px}

form{text-align:left}
label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:var(--ink)}
input[type=email],input[type=password],input[type=text]{width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;
  background:#F8FAFD;color:var(--ink);outline:none;transition:.15s}
input::placeholder{color:#A3ACBE}
input:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 4px rgba(23,59,120,.12)}
.pw{position:relative}.pw input{padding-right:46px}
.eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:none;padding:6px;cursor:pointer;color:#8E97AB}
.eye svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.eye.on{color:var(--red)}
.help{margin:12px 0 0;font-size:12.5px;color:var(--mut);text-align:right}
.go{margin-top:20px;width:100%;display:flex;justify-content:center;align-items:center;gap:8px;padding:13px;border:none;border-radius:11px;
  background:linear-gradient(135deg,#2251A3 0%,var(--navy) 100%);color:#fff;font:600 15px Inter,sans-serif;cursor:pointer;
  box-shadow:0 10px 22px -10px rgba(23,59,120,.8);transition:.15s}
.go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.go:hover{transform:translateY(-1px);box-shadow:0 14px 26px -10px rgba(23,59,120,.9)}
.go:active{transform:none}
.go:focus-visible{outline:3px solid rgba(237,28,46,.45);outline-offset:2px}
.err{background:#FDECEE;border:1px solid #F7C4CA;color:#B3121F;border-radius:11px;padding:10px 14px;font-size:13.5px;margin-bottom:4px;text-align:left}
.note{margin-top:18px;text-align:center;font-size:12.5px;color:#8D9AB8}

@media (max-width:480px){
  .auth{padding:24px 16px;align-items:flex-start;padding-top:8vh}
  .card{padding:28px 22px 24px;border-radius:18px}
  .logo{width:150px}
}
