/* Mobile-first login polish without changing the desktop authentication flow. */
.mobile-login-mark{display:none}
.login-password-field{position:relative}
.login-password-field input{padding-right:70px!important}
.password-toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  min-width:52px;
  height:34px;
  border:0;
  border-radius:9px;
  background:#f2f4f7;
  color:#344054;
  font:700 .76rem/1 inherit;
  cursor:pointer;
}
.password-toggle:focus-visible{outline:3px solid rgba(255,107,26,.22);outline-offset:1px}

@media(max-width:760px){
  html,body.auth-login-page{min-height:100%;background:#f8fafc}
  body.auth-login-page{overflow-x:hidden;min-height:100dvh}
  .client-auth-orb{opacity:.38;filter:blur(44px)}
  .client-login-shell{
    display:block!important;
    width:100%!important;
    min-height:100dvh!important;
    max-width:none!important;
    margin:0!important;
    padding:clamp(12px,3vw,20px)!important;
  }
  .client-login-brand{display:none!important}
  .client-login-card{
    width:100%!important;
    max-width:520px!important;
    min-height:calc(100dvh - clamp(24px,6vw,40px));
    margin:0 auto!important;
    padding:clamp(22px,6vw,34px) clamp(18px,5vw,30px)!important;
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    border:1px solid rgba(15,23,42,.08)!important;
    border-radius:26px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 24px 70px rgba(15,23,42,.12)!important;
    backdrop-filter:blur(18px);
  }
  .mobile-login-mark{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:24px;
    padding-bottom:18px;
    border-bottom:1px solid #eaecf0;
  }
  .mobile-login-mark a{display:flex;align-items:center;flex:0 0 auto}
  .mobile-login-mark img{display:block;width:auto;max-width:136px;height:30px;object-fit:contain}
  .mobile-login-mark div{min-width:0;margin-left:auto;text-align:right}
  .mobile-login-mark b{display:block;color:#101828;font-size:.76rem;line-height:1.2}
  .mobile-login-mark span{display:block;margin-top:3px;color:#ea580c;font-size:.56rem;font-weight:800;letter-spacing:.11em;white-space:nowrap}
  .client-form-stack{width:100%}
  .client-form-stack h2{font-size:clamp(1.65rem,7vw,2rem)!important;line-height:1.12!important;margin-bottom:8px!important;color:#101828}
  .client-form-stack>p.muted{margin-bottom:20px!important;line-height:1.55}
  .client-form-stack label{margin-top:13px!important;margin-bottom:7px!important;color:#344054;font-size:.86rem;font-weight:700}
  .client-form-stack input:not([type="checkbox"]){
    width:100%;
    min-height:52px!important;
    padding:13px 14px!important;
    border-radius:13px!important;
    border:1px solid #d0d5dd!important;
    background:#fff!important;
    color:#101828!important;
    font-size:16px!important;
    box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
  }
  .client-form-stack input:not([type="checkbox"]):focus{border-color:#ff6b1a!important;box-shadow:0 0 0 4px rgba(255,107,26,.12)!important;outline:0}
  .login-password-field input{padding-right:76px!important}
  .password-toggle{right:9px;height:36px;min-width:56px;background:#fff3eb;color:#c2410c}
  .remember-line{display:flex!important;align-items:center;gap:9px;margin:15px 0!important;font-size:.82rem!important}
  .remember-line input{width:18px!important;height:18px!important;accent-color:#ff6b1a}
  .client-form-stack .btn{min-height:50px;border-radius:13px!important;font-weight:800}
  .client-form-stack .forgot-link{display:block;text-align:center;margin:15px 0 3px;font-weight:700}
  .client-login-card>.alert{margin-bottom:16px;border-radius:13px}
  .form-mini-title{font-size:.7rem!important;letter-spacing:.13em!important}
}

@media(max-width:380px){
  .client-login-shell{padding:8px!important}
  .client-login-card{min-height:calc(100dvh - 16px);padding:22px 16px!important;border-radius:20px!important}
  .mobile-login-mark img{max-width:112px;height:27px}
  .mobile-login-mark div{display:none}
}
