.login-page{min-height:100svh;display:grid;grid-template-columns:minmax(460px,1.08fr) minmax(430px,.92fr);background:var(--canvas)}
.login-media{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:34px clamp(34px,5vw,68px);background:var(--navy);color:var(--card)}
.login-media::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--accent) 21%,transparent),transparent 38%),linear-gradient(136deg,transparent 45%,color-mix(in srgb,var(--card) 4%,transparent),transparent 67%);pointer-events:none}
.login-media>*{position:relative}
.login-media-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.login-media .brand-logo-crop{width:160px;height:44px}
.login-media .brand-logo{width:192px;left:-16px;top:-32px}
.login-partner-tag{padding:7px 12px;border:1px solid color-mix(in srgb,var(--card) 15%,transparent);border-radius:99px;color:color-mix(in srgb,var(--card) 64%,transparent);font:700 10px/1 var(--mono);letter-spacing:.12em}
.login-slides{position:relative;flex:1;min-height:0;margin:32px 0 22px}
.login-slide{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .42s ease,transform .42s ease,visibility .42s}
.login-slide.active{opacity:1;visibility:visible;transform:none}
.login-visual{position:relative;height:100%;min-height:0;border:1px solid color-mix(in srgb,var(--card) 11%,transparent);border-radius:22px;background:color-mix(in srgb,var(--navy-2) 92%,var(--card));overflow:hidden}
.login-photo{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.015);transition:transform 5.6s ease}
.login-slide.active .login-photo{transform:scale(1.055)}
.login-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,color-mix(in srgb,var(--navy) 18%,transparent))}
.login-carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:0}
.login-dots{display:flex;gap:7px}
.login-dots button{width:32px;height:4px;padding:0;border:0;border-radius:9px;background:color-mix(in srgb,var(--card) 18%,transparent);cursor:pointer;transition:background .18s,width .18s}
.login-dots button.active{width:52px;background:var(--accent)}
.media-control{display:inline-flex;align-items:center;gap:8px;color:color-mix(in srgb,var(--card) 68%,transparent);background:transparent;border:0;font:600 12px/1 var(--font);cursor:pointer}
.login-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,5.2vw,72px);background:var(--card)}
.login-mobile-head{display:none}
.login-card{width:min(100%,448px);margin-inline:auto}
.login-card-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:46px}
.secure-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:99px;background:var(--green-soft);color:var(--green);font:700 11px/1 var(--font)}
.login-lang{display:flex;border:1px solid var(--line);border-radius:9px;padding:3px;background:var(--canvas)}
.login-lang button{border:0;background:none;border-radius:6px;padding:7px 11px;color:var(--muted);font:700 11px/1 var(--font);cursor:pointer}
.login-lang button.active{color:var(--card);background:var(--navy)}
.auth-form{display:flex;flex-direction:column;gap:18px;animation:authEnter .24s ease}
@keyframes authEnter{from{opacity:0;transform:translateY(6px)}}
.auth-heading{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.auth-heading.compact{margin-bottom:4px}
.auth-heading p{margin:0;color:var(--muted);font:700 11px/1 var(--mono);letter-spacing:.13em}
.auth-heading h2{margin:0;font:700 31px/1.14 var(--display);letter-spacing:-.045em;color:var(--ink);text-wrap:balance}
.auth-heading span{color:var(--muted);font:500 13.5px/1.55 var(--font);max-width:43ch}
.auth-field{display:flex;flex-direction:column;gap:8px;color:var(--ink);font:600 12.5px/1 var(--font)}
.auth-field>div{position:relative}
.auth-field .ph{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:var(--muted)}
.auth-field input{width:100%;height:50px;padding:0 46px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);outline:none;color:var(--ink);font:500 14px/1 var(--font);transition:border-color .15s,box-shadow .15s,background .15s}
.auth-field input:focus,.otp-field input:focus{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 3px var(--accent-soft)}
.password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:35px;height:35px;display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer}
.auth-links{display:flex;justify-content:flex-end;margin-top:-6px}
.auth-links button,.auth-text-action{border:0;background:none;padding:0;color:var(--accent-ink);font:600 12.5px/1.4 var(--font);cursor:pointer}
.auth-submit{height:51px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:var(--radius-sm);background:var(--accent);color:var(--navy);box-shadow:var(--shadow-gold);font:700 14px/1 var(--font);cursor:pointer;transition:transform .15s,filter .15s}
.auth-submit:hover{transform:translateY(-1px);filter:brightness(.98)}
.auth-submit:disabled{opacity:.65;cursor:progress;transform:none}
.auth-divider{height:1px;margin:4px 0 3px;background:var(--line);position:relative;text-align:center}
.auth-divider span{position:relative;top:-9px;padding:0 11px;background:var(--card);color:var(--muted);font:500 11px/1 var(--font)}
.sso-button{height:50px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:600 13px/1 var(--font);cursor:pointer}
.sso-button:hover{border-color:color-mix(in srgb,var(--navy) 30%,var(--line))}
.microsoft-mark{width:17px;height:17px;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.microsoft-mark i{background:var(--navy)}
.auth-error,.auth-notice{margin:0;padding:10px 12px;border-radius:9px;font:600 12px/1.45 var(--font)}
.auth-error{background:var(--red-soft);color:var(--red)}
.auth-notice{background:var(--green-soft);color:var(--green)}
.auth-back{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;border:0;background:none;color:var(--muted);padding:0;margin-bottom:5px;font:600 12.5px/1 var(--font);cursor:pointer}
.auth-back:hover{color:var(--ink)}
.auth-methods{display:flex;flex-direction:column;gap:9px;margin:3px 0 8px}
.auth-methods button{display:grid;grid-template-columns:24px minmax(0,1fr) 17px;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);text-align:left;cursor:pointer}
.auth-methods button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}
.auth-methods button span{display:flex;flex-direction:column;gap:5px;color:var(--ink)}
.auth-methods button b{font:600 13px/1 var(--font)}
.auth-methods button small{color:var(--muted);font:500 11px/1.35 var(--font)}
.auth-methods button>i{width:16px;height:16px;border:1.5px solid var(--line);border-radius:50%;position:relative}
.auth-methods button.selected>i{border-color:var(--accent)}
.auth-methods button.selected>i::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}
.otp-field{display:flex;flex-direction:column;gap:9px;color:var(--ink);font:600 12.5px/1 var(--font)}
.otp-field input{height:62px;width:100%;padding:0 18px;border:1px solid var(--line);border-radius:12px;background:var(--canvas);outline:none;color:var(--ink);font-size:27px;font-weight:600;letter-spacing:.38em;text-align:center}
.trusted-device{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font:500 12.5px/1.45 var(--font);cursor:pointer}
.trusted-device input{accent-color:var(--accent-ink);margin:2px 0 0}
.auth-text-action{align-self:center;margin-top:-3px}
.login-support{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:27px;margin-top:34px;border-top:1px solid var(--line);color:var(--muted);font:500 12px/1.35 var(--font)}
.login-support button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--ink);font:600 12px/1.3 var(--font);cursor:pointer;white-space:nowrap}
@media (max-width:980px){
  .login-page{display:block;background:var(--card)}
  .login-media{display:none}
  .login-panel{min-height:100svh;justify-content:flex-start;padding:22px 20px 30px}
  .login-mobile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}
  .login-mobile-head .brand-logo-crop{width:135px;height:38px}
  .login-mobile-head .brand-logo{filter:none;width:162px;left:-13px;top:-28px}
  .login-card-tools{margin-bottom:32px}
  .login-card-tools .desktop{display:none}
}
@media (max-width:520px){
  .login-panel{padding:18px 18px calc(24px + env(safe-area-inset-bottom))}
  .login-mobile-head{margin-bottom:30px}
  .auth-heading h2{font-size:28px}
  .login-support{margin-top:27px;flex-direction:column;align-items:flex-start}
}
