:root{--brand:#1769e0;--brand2:#0b49ad;--brand-deep:#07142e;--brand-night:#050b18;--focus:#60a5fa}
.login{display:block;background:#f4f7fb;min-height:100svh}
.login-layout{display:grid;width:100%;grid-template-columns:minmax(420px,1.08fr) minmax(480px,.92fr);min-height:100svh}
.login-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,110px);color:#fff;background:linear-gradient(145deg,#050b18 0%,#081834 48%,#0d2d68 100%)}
.login-brand-panel:before{content:"";position:absolute;width:680px;height:680px;right:-280px;top:-320px;border:1px solid #ffffff14;border-radius:50%;box-shadow:0 0 0 90px #ffffff05,0 0 0 180px #ffffff04}
.login-brand-panel:after{content:"";position:absolute;inset:auto -18% -42% 15%;height:70%;background:radial-gradient(ellipse,#1477ff35,transparent 67%);filter:blur(18px)}
.brand-art{position:absolute;inset:clamp(28px,4vw,62px) auto auto clamp(28px,5vw,82px);width:min(390px,55%);height:108px;overflow:hidden}
.brand-art img,.login-mobile-brand img{width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:screen}
.login-brand-copy{position:relative;z-index:1;max-width:610px}
.login-brand-copy .eyebrow{color:#79b4ff;font-size:12px;letter-spacing:.14em;font-weight:800}
.login-brand-copy h2{margin:18px 0 22px;font-size:clamp(42px,4.5vw,68px);line-height:1.04;letter-spacing:-.045em}
.login-brand-copy p{max-width:540px;margin:0;color:#c5d4ec;font-size:17px;line-height:1.7}
.login-brand-foot{position:absolute;z-index:1;left:clamp(28px,5vw,82px);bottom:38px;color:#7187a9;font-size:12px}
.login-form-panel{display:grid;place-items:center;padding:48px;background:linear-gradient(180deg,#fff,#f7f9fc)}
.login form{width:min(440px,100%);padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.login-mobile-brand{display:none;width:250px;height:76px;overflow:hidden;margin-bottom:34px;background:#07142e;border-radius:12px}
.login-heading{margin-bottom:36px}.login-kicker{display:block;color:var(--brand);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:10px}
.login h1{margin:0;color:#0c1830;font-size:34px;line-height:1.15;letter-spacing:-.035em}.login-heading p{margin:10px 0 0;color:#6c778b;font-size:15px}
.login label{display:block;margin:18px 0 8px;color:#26344c;font-size:13px;font-weight:700}
.field-control{position:relative}.field-control input{height:54px;padding:0 58px 0 48px;border:1px solid #d9e0eb;border-radius:12px;background:#fff;font-size:15px;transition:border-color .15s,box-shadow .15s}
.field-control input:hover{border-color:#aebbd0}.field-control input:focus{border-color:var(--brand);box-shadow:0 0 0 4px #1769e01a}
.field-icon{position:absolute;z-index:1;left:16px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;color:#7a879a;font-weight:800}
.lock-icon:before{content:"";width:12px;height:10px;border:1.8px solid currentColor;border-radius:3px;position:absolute;top:8px}.lock-icon:after{content:"";width:8px;height:7px;border:1.8px solid currentColor;border-bottom:0;border-radius:7px 7px 0 0;position:absolute;top:2px}
.login .password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:auto;border:0;background:transparent;color:#50627e;padding:8px;border-radius:8px;font-size:12px;font-weight:700;box-shadow:none;cursor:pointer}.login .password-toggle:hover,.login .password-toggle:focus-visible{color:var(--brand);background:#edf4ff;outline:0}
.login-error{min-height:38px;padding-top:9px;color:#bc3030;font-size:13px}.login-error:not(:empty):before{content:"!";display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border-radius:50%;background:#fff0f0;font-weight:800}
.login-submit{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:54px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:800;letter-spacing:.01em;cursor:pointer;box-shadow:0 12px 26px #1769e02b;transition:transform .15s,box-shadow .15s,opacity .15s}.login-submit:hover{transform:translateY(-1px);box-shadow:0 16px 34px #1769e038}.login-submit:focus-visible{outline:3px solid #8dc1ff;outline-offset:3px}.login-submit:disabled{cursor:wait;opacity:.78;transform:none}.login-submit.loading i{width:16px;height:16px;border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.login-security{display:flex!important;justify-content:center;gap:7px;margin-top:22px!important;color:#7b8798!important}.login-security span{color:#27865a;font-weight:900}
.brand-symbol{position:relative!important;display:block!important;overflow:hidden;background:#07142e!important}.brand-symbol img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:900px){.login-layout{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{padding:40px 24px}.login-mobile-brand{display:block}.login form{max-width:430px}}
@media(max-width:520px){.login-form-panel{place-items:start center;padding:32px 20px}.login-mobile-brand{width:218px;height:66px;margin:0 auto 38px}.login h1{font-size:29px}.login-heading{margin-bottom:30px}.field-control input,.login-submit{height:52px}.login-security{margin-top:18px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.login-submit{transition:none}.login-submit.loading i{animation-duration:1.4s}}
