:root{--navy:#10294B;--navy-deep:#0A1530;--gold:#E9A01B;--slate:#AAB4C2;--text:#0B1F4B;--muted:#5B6678;--line:#E3E7ED;--field:#F5F7FB;--bad:#B42318;--badbg:#FEF3F2}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;background:var(--navy-deep);color:var(--text);min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;position:relative;overflow-x:hidden;-webkit-font-smoothing:antialiased}
.glow{position:fixed;inset:0;pointer-events:none;
  background:radial-gradient(60vmax 45vmax at 85% -10%,rgba(233,160,27,.20),transparent 60%),
             radial-gradient(55vmax 50vmax at -10% 110%,rgba(46,84,150,.55),transparent 60%),
             linear-gradient(160deg,#10294B 0%,#0A1530 70%)}
.glow::after{content:"";position:absolute;inset:0;opacity:.07;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:44px 44px;mask-image:radial-gradient(ellipse at center,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 70%)}
.shell{position:relative;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:22px}
.card{width:100%;background:#fff;border-radius:20px;padding:36px 32px 26px;box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 30px 60px -20px rgba(0,0,0,.55),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(--navy),var(--gold))}
.logo{display:block;width:210px;max-width:80%;height:auto;margin:0 auto 26px}
.head{text-align:center;margin-bottom:24px}
h1{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;color:var(--navy)}
.head p{margin:0;color:var(--muted);font-size:14.5px}
.field{margin-bottom:16px}
label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:7px}
input{font:inherit;font-size:15px;width:100%;height:48px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--field);color:var(--text);transition:border-color .15s,box-shadow .15s,background .15s}
input::placeholder{color:#9AA3B2}
input:hover{border-color:#CDD4DE}
input:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(233,160,27,.18)}
.pw{position:relative}.pw input{padding-right:70px}
.toggle{position:absolute;right:6px;top:6px;height:36px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.toggle:hover{background:#EEF1F6;color:var(--navy)}
.toggle:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.submit{margin-top:8px;width:100%;height:50px;border:0;border-radius:12px;background:var(--navy);color:#fff;font:inherit;font-size:15.5px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 8px 20px -8px rgba(16,41,75,.6);transition:background .15s,transform .1s,box-shadow .15s}
.submit:hover{background:#163563;box-shadow:0 10px 24px -8px rgba(16,41,75,.7)}
.submit:hover svg{transform:translateX(3px)}.submit svg{transition:transform .15s}
.submit:active{transform:translateY(1px)}
.submit:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.submit[disabled]{opacity:.7;cursor:progress}
.alert{background:var(--badbg);color:var(--bad);border:1px solid #FECDCA;padding:10px 12px;border-radius:10px;font-size:13.5px;margin:0 0 16px;text-align:center}
.secure{display:flex;align-items:center;justify-content:center;gap:6px;margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px}
.foot{margin:0;color:var(--slate);font-size:12.5px;opacity:.8}
.foot i{width:5px;height:5px;border-radius:50%;background:var(--gold);display:inline-block}
@media (max-width:420px){.card{padding:30px 22px 22px;border-radius:18px}.logo{width:190px}h1{font-size:22px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
