:root{--login-navy:#071b31;--login-navy-2:#0a2d51;--login-blue:#145d9f;--login-blue-2:#2d84c9;--login-ink:#10243e;--login-muted:#64748b;--login-line:#d9e5f1;--login-soft:#f4f8fc;--login-white:#fff;--login-danger:#a93645;--login-shadow:0 34px 100px rgba(2,20,38,.28);--login-radius:30px;--login-fast:160ms;--login-med:240ms}
*,*::before,*::after{box-sizing:border-box}html{min-height:100%;background:var(--login-navy);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--login-ink)}button,input{font:inherit}.login-body{display:grid;place-items:center;padding:max(28px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));overflow-x:clip;background:radial-gradient(circle at 12% 12%,rgba(57,138,212,.34),transparent 30rem),radial-gradient(circle at 86% 78%,rgba(29,101,168,.24),transparent 35rem),linear-gradient(145deg,#06182d 0%,#0a2c50 54%,#0d4477 100%)}.login-body::before,.login-body::after{content:"";position:fixed;pointer-events:none;border:1px solid rgba(255,255,255,.08);border-radius:50%;filter:blur(.1px)}.login-body::before{width:48rem;height:48rem;left:-28rem;bottom:-31rem}.login-body::after{width:32rem;height:32rem;right:-17rem;top:-20rem}.login-stage{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);width:min(1060px,100%);min-height:610px;border:1px solid rgba(255,255,255,.28);border-radius:var(--login-radius);overflow:hidden;background:rgba(255,255,255,.97);box-shadow:var(--login-shadow);isolation:isolate}.login-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:46px;color:#fff;background:linear-gradient(155deg,rgba(8,37,68,.98),rgba(11,66,115,.97));overflow:hidden}.login-brand-panel::before{content:"";position:absolute;width:360px;height:360px;right:-135px;top:-100px;border-radius:50%;background:radial-gradient(circle,rgba(69,157,232,.30),transparent 66%)}.login-brand-panel::after{content:"";position:absolute;inset:auto -4rem -8rem auto;width:22rem;height:22rem;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 4rem rgba(255,255,255,.025),0 0 0 8rem rgba(255,255,255,.018)}.login-brand-top,.login-brand-copy,.login-assurance{position:relative;z-index:1}.login-brand-top{display:flex;align-items:center;gap:14px}.brand-mark{flex:0 0 auto;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#fff,#dceaf7);color:#0b467e;font-weight:950;letter-spacing:-.04em;box-shadow:0 14px 34px rgba(0,0,0,.18)}.login-brand-top>div:last-child{display:grid;gap:2px}.login-kicker{font-size:.68rem;font-weight:900;letter-spacing:.16em;color:#a9d1f5}.login-brand-top strong{font-size:1rem;letter-spacing:-.01em}.login-brand-copy{max-width:520px;margin-block:auto}.login-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.06);color:#cfe8ff;font-size:.65rem;font-weight:850;letter-spacing:.12em}.login-brand-copy h2{max-width:12ch;margin:18px 0 14px;font-size:clamp(2.25rem,4.4vw,4.6rem);line-height:.98;letter-spacing:-.055em}.login-brand-copy p{max-width:48ch;margin:0;color:#c0d4e7;font-size:1rem;line-height:1.75}.login-assurance{display:flex;flex-wrap:wrap;gap:8px}.login-assurance span{display:inline-flex;align-items:center;min-height:34px;padding:0 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.055);color:#d7e7f5;font-size:.71rem;font-weight:760}.login-card{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(34px,5vw,64px);background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.login-card-head{margin-bottom:25px}.login-card-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid #d5e6f5;border-radius:999px;background:#eef6fd;color:#25689f;font-size:.65rem;font-weight:900;letter-spacing:.13em}.login-card h1{margin:14px 0 8px;font-size:clamp(2rem,3vw,2.75rem);line-height:1.04;letter-spacing:-.05em}.login-card-head p{margin:0;color:var(--login-muted);font-size:.94rem}.stack{display:grid;gap:16px}.stack label{display:grid;gap:8px;color:#36516d;font-size:.79rem;font-weight:850}.field-shell{position:relative;display:flex;align-items:center;min-width:0}.field-shell>svg{position:absolute;left:15px;width:19px;height:19px;fill:none;stroke:#7891a9;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.stack input{width:100%;min-width:0;min-height:54px;padding:0 15px 0 46px;border:1px solid var(--login-line);border-radius:15px;background:#f8fbfe;color:var(--login-ink);outline:0;box-shadow:0 1px 0 rgba(15,42,68,.025);transition:border-color var(--login-fast) ease,box-shadow var(--login-fast) ease,background var(--login-fast) ease}.stack input::placeholder{color:#9cadbc}.stack input:focus{border-color:#77a9d4;background:#fff;box-shadow:0 0 0 4px rgba(20,93,159,.11)}.stack input[type=password],.stack input[type=text]{padding-right:78px}.password-toggle{position:absolute;right:8px;min-height:38px;padding:0 9px;border:0;border-radius:10px;background:transparent;color:#3d6f9a;font-size:.72rem;font-weight:850;cursor:pointer;transition:background var(--login-fast) ease,color var(--login-fast) ease}.password-toggle:hover{background:#edf5fb;color:#174e7e}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:54px;border:0;border-radius:15px;font-weight:900;cursor:pointer;transition:transform var(--login-fast) ease,box-shadow var(--login-fast) ease,filter var(--login-fast) ease,opacity var(--login-fast) ease}.btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.btn.primary{margin-top:2px;background:linear-gradient(135deg,var(--login-blue),#0b477e);color:#fff;box-shadow:0 14px 32px rgba(20,93,159,.24)}.btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 18px 38px rgba(20,93,159,.3);filter:saturate(1.06)}.btn:disabled{cursor:wait;opacity:.76}.btn.is-loading svg{animation:login-arrow-pulse .8s ease-in-out infinite alternate}.alert{display:flex;align-items:flex-start;gap:10px;margin:0 0 17px;padding:12px 13px;border-radius:13px;font-size:.82rem}.alert.error{border:1px solid #efd1d7;background:#fff2f4;color:var(--login-danger)}.alert-dot{flex:0 0 auto;width:8px;height:8px;margin-top:6px;border-radius:50%;background:currentColor}.login-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #e7eef5;color:#8292a2;font-size:.71rem}.login-meta>span{display:inline-flex;align-items:center;gap:7px;font-weight:750}.login-meta i{width:7px;height:7px;border-radius:50%;background:#35a76c;box-shadow:0 0 0 4px rgba(53,167,108,.10)}.login-card :where(input,button):focus-visible{outline:3px solid rgba(45,132,201,.22);outline-offset:2px}@keyframes login-arrow-pulse{to{transform:translateX(3px)}}
@media(max-width:900px){.login-stage{grid-template-columns:1fr;width:min(580px,100%);min-height:auto}.login-brand-panel{min-height:auto;padding:27px 30px 24px}.login-brand-copy{margin:32px 0 25px}.login-brand-copy h2{max-width:15ch;font-size:clamp(2rem,7vw,3.2rem)}.login-brand-copy p{max-width:52ch}.login-card{padding:34px 30px}.login-assurance{display:none}}
@media(max-width:576px){.login-body{place-items:stretch;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.login-stage{align-self:center;border-radius:24px}.login-brand-panel{padding:22px 20px}.brand-mark{width:49px;height:49px;border-radius:15px}.login-brand-copy{margin:25px 0 6px}.login-brand-copy h2{margin:13px 0 9px;font-size:2rem}.login-brand-copy p{font-size:.88rem;line-height:1.6}.login-eyebrow{font-size:.58rem}.login-card{padding:28px 20px}.login-card h1{font-size:1.9rem}.stack input{font-size:16px}.login-meta{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:390px){.login-body{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.login-stage{border-radius:20px}.login-brand-panel{padding:18px 16px}.login-brand-copy h2{font-size:1.75rem}.login-brand-copy p{font-size:.83rem}.login-card{padding:24px 16px}.login-card h1{font-size:1.72rem}.field-shell>svg{left:13px}.stack input{padding-left:42px}.password-toggle{right:6px}}
@media(min-width:1440px){.login-stage{width:min(1120px,72vw);min-height:640px}.login-brand-panel{padding:52px}.login-card{padding-inline:70px}}
@media(min-width:1920px){.login-stage{width:min(1180px,64vw);min-height:660px}}
@media(min-width:2560px){.login-stage{width:min(1240px,54vw)}}
@media(max-height:700px) and (min-width:901px){.login-body{place-items:center}.login-stage{min-height:540px}.login-brand-panel{padding-block:34px}.login-card{padding-block:34px}.login-brand-copy h2{font-size:3.1rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
