:root{color-scheme:light;--ink:#0B2D5B;--muted:#64748B;--plum:#2563EB;--plum-dark:#0B2D5B;--rose:#14B8A6;--paper:#FFFFFF;--line:#E5E7EB;--cream:#F3F7FF}
*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{background:var(--cream);color:var(--ink);font-family:"Montserrat","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}
.page-shell{display:grid;grid-template-columns:minmax(390px,.92fr) minmax(500px,1.08fr);min-height:100vh;padding:22px;gap:22px}.welcome-panel{isolation:isolate;overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:calc(100vh - 44px);padding:clamp(32px,5vw,70px);border-radius:18px;color:#F3F7FF;background:linear-gradient(145deg,#0B2D5B 1%,#2563EB 56%,#0B2D5B 100%)}
.brand,.mobile-brand{position:relative;z-index:2;display:inline-flex;align-items:center;gap:11px;width:fit-content;color:inherit;font-size:20px;font-weight:700;letter-spacing:-.8px;text-decoration:none}.brand-mark{display:grid;width:39px;height:39px;place-items:center;border:1px solid currentColor;border-radius:12px;background:#FFFFFF}.brand-mark svg,.brand-mark img{width:30px;height:30px;object-fit:contain}.brand-light{font-weight:400;opacity:.77}.welcome-copy{position:relative;z-index:2;max-width:470px;margin:auto 0;padding:72px 0 58px}.eyebrow{margin:0 0 15px;color:var(--rose);font-size:11px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase}.welcome-panel .eyebrow{color:#E6FFFB}.welcome-copy h1{margin:0;font-family:"Montserrat",Georgia,serif;font-size:clamp(54px,6.3vw,82px);font-weight:500;letter-spacing:-2.6px;line-height:.99}.welcome-copy h1 em{color:#E6FFFB;font-weight:500}.welcome-description{max-width:365px;margin:26px 0 35px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.8}.welcome-note{display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.9);font-size:13px;line-height:1.7}.note-star{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#E6FFFB;font-size:22px}.panel-footer{position:relative;z-index:2;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.7);font-size:11px;letter-spacing:.3px}.footer-line{width:33px;height:1px;background:#14B8A6}.decor{position:absolute;z-index:-1;display:block;border:1px solid rgba(255,255,255,.1);border-radius:50%}.decor-one{width:420px;height:420px;right:-230px;top:10%;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 78px rgba(255,255,255,.02)}.decor-two{width:280px;height:280px;left:-210px;bottom:5%;box-shadow:0 0 0 35px rgba(255,255,255,.025)}
.login-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;min-height:calc(100vh - 44px);padding:62px 7vw 78px;border:1px solid rgba(95,69,56,.05);border-radius:18px;background:var(--paper)}.login-content{width:min(100%,390px)}.login-heading{margin-bottom:35px}.login-heading .eyebrow{margin-bottom:10px}.login-heading h2{margin:0;font-family:"Montserrat",Georgia,serif;font-size:37px;font-weight:600;letter-spacing:-.9px}.login-heading>p:last-child{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.field-label{display:block;margin-bottom:9px;color:#0B2D5B;font-size:12px;font-weight:700}.input-wrap{position:relative;display:flex;align-items:center;margin-bottom:23px}.input-icon{position:absolute;left:15px;width:19px;height:19px;color:#64748B;pointer-events:none}.input-wrap input{width:100%;height:51px;padding:0 45px;border:1px solid var(--line);border-radius:9px;outline:none;background:#FFFFFF;color:var(--ink);font-size:13px;transition:border-color .18s,box-shadow .18s,background .18s}.input-wrap input::placeholder{color:#E5E7EB}.input-wrap input:focus{border-color:#14B8A6;box-shadow:0 0 0 3px rgba(20,184,166,.13)}.input-wrap.has-error input{border-color:#BB5454;background:#FFFFFF}.password-label-row{display:flex;justify-content:space-between;align-items:center}.text-button{padding:0;border:0;background:transparent;color:var(--plum);font-size:12px;font-weight:600;text-decoration:none}.text-button:hover{color:var(--plum-dark);text-decoration:underline}.show-password{position:absolute;right:12px;display:grid;width:30px;height:30px;place-items:center;padding:0;border:0;border-radius:6px;background:transparent;color:#64748B}.show-password:hover{background:#F3F7FF;color:var(--plum)}.show-password svg{width:19px;height:19px}.eye-closed{display:none}.show-password[aria-pressed=true] .eye-open{display:none}.show-password[aria-pressed=true] .eye-closed{display:block}
.form-options{display:flex;align-items:center;margin:-1px 0 21px}.remember{display:inline-flex;align-items:center;gap:9px;color:#64748B;font-size:12px;cursor:pointer}.remember input{position:absolute;width:1px;height:1px;opacity:0}.custom-checkbox{display:grid;width:16px;height:16px;place-items:center;border:1px solid #14B8A6;border-radius:4px;background:#FFFFFF}.remember input:checked+.custom-checkbox{border-color:var(--plum);background:var(--plum)}.remember input:checked+.custom-checkbox:after{width:7px;height:4px;border-bottom:1.5px solid white;border-left:1.5px solid white;content:"";transform:translateY(-1px) rotate(-45deg)}.remember input:focus-visible+.custom-checkbox{outline:3px solid rgba(20,184,166,.3)}.form-message{min-height:19px;margin:0 0 8px;color:#A14343;font-size:12px;line-height:1.5}.form-message.success{color:#0B2D5B}.submit-button{display:flex;justify-content:center;align-items:center;gap:13px;width:100%;height:51px;border:0;border-radius:9px;background:var(--plum);color:white;font-size:13px;font-weight:700;box-shadow:0 7px 15px rgba(37,99,235,.16);transition:background .18s,transform .18s,box-shadow .18s}.submit-button:hover{transform:translateY(-1px);background:var(--plum-dark);box-shadow:0 9px 19px rgba(37,99,235,.21)}.submit-button span{font-size:18px;font-weight:400}.signup-prompt{margin:28px 0 0;color:var(--muted);font-size:12px;text-align:center}.signup-button{margin-left:3px}.secure-note{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:35px;color:#64748B;font-size:11px}.secure-note svg{width:17px;height:17px;color:#2563EB}.login-footer{position:absolute;right:7vw;bottom:29px;left:7vw;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;color:#64748B;font-size:10px}.login-footer a{color:#64748B;text-decoration:none}.login-footer a:hover{text-decoration:underline}.mobile-brand{display:none;color:var(--plum)}.toast{position:fixed;z-index:5;right:24px;bottom:24px;max-width:min(380px,calc(100vw - 40px));padding:14px 17px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0B2D5B;color:white;font-size:13px;line-height:1.5;box-shadow:0 12px 35px rgba(11,45,91,.22);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}
@media(max-width:850px){.page-shell{grid-template-columns:minmax(290px,.78fr) minmax(420px,1.22fr);padding:14px;gap:14px}.welcome-panel,.login-panel{min-height:calc(100vh - 28px)}.welcome-panel{padding:34px}.welcome-copy h1{font-size:clamp(48px,7vw,68px)}.login-panel{padding-right:5vw;padding-left:5vw}.login-footer{right:5vw;left:5vw}}
@media(max-width:650px){.page-shell{display:block;min-height:100vh;padding:0;background:var(--paper)}.welcome-panel{display:none}.login-panel{min-height:100vh;justify-content:flex-start;padding:32px 25px 82px;border:0;border-radius:0}.mobile-brand{display:inline-flex;margin-bottom:clamp(55px,13vh,105px)}.login-content{width:min(100%,410px);margin:0 auto}.login-heading{margin-bottom:32px}.login-heading h2{font-size:34px}.login-footer{right:25px;bottom:22px;left:25px}.secure-note{margin-top:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.form-message a{color:var(--plum);font-weight:700;text-decoration:underline;text-underline-offset:2px}
