/* v135: retain the glass card and slide animation; only the active form sets height. */
#portal-app-shell .auth-slides { align-items:flex-start; }
#portal-app-shell .auth-slider {
  height:var(--ki-auth-panel-height,auto);
  transition:height .25s ease;
}
#portal-app-shell .ki-google-alternative {
  display:block; margin:12px auto 0; padding:10px 14px; min-height:44px;
  color:inherit; background:transparent; border:1px solid currentColor;
  border-radius:999px; font:inherit; font-size:.8rem; cursor:pointer;
}
@media (max-width:1366px), (max-height:700px) {
  html.portal-open #portal-app-shell {
    height:100vh !important; height:var(--ki-visual-height,100dvh) !important;
    min-height:0 !important; max-height:none !important;
    overflow-y:auto !important; overflow-x:hidden !important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    display:block !important;
    padding:0 0 calc(20px + env(safe-area-inset-bottom,0px)) !important;
  }
  html.portal-open #portal-app-shell #login-screen {
    width:100% !important; height:auto !important; min-height:100% !important;
    max-height:none !important; box-sizing:border-box;
    display:flex !important; flex-direction:column !important;
    overflow:visible !important; padding-bottom:calc(20px + env(safe-area-inset-bottom,0px)) !important;
  }
  html.portal-open #portal-app-shell .login-left {
    position:relative !important; flex:0 0 auto !important; width:100% !important;
    min-height:0 !important; height:auto !important; max-height:none !important;
    box-sizing:border-box; padding:24px clamp(20px,5vw,64px) !important;
    display:block !important;
  }
  html.portal-open #portal-app-shell .login-right {
    position:relative !important; top:auto !important; right:auto !important;
    left:auto !important; bottom:auto !important; transform:none !important;
    flex:0 0 auto !important; width:min(455px,calc(100% - 24px)) !important;
    min-width:0 !important; max-height:none !important;
    margin:16px auto !important; box-sizing:border-box;
  }
  #portal-app-shell input, #portal-app-shell select, #portal-app-shell textarea {
    max-width:100%; min-width:0; font-size:16px;
  }
  #portal-app-shell .auth-close { position:absolute !important; }
  #portal-app-shell .login-left .login-logo,
  #portal-app-shell .login-left .login-features { display:none !important; }
  #portal-app-shell .login-left .login-hero {
    width:100% !important; max-width:520px !important;
    margin:0 !important; padding:0 !important;
  }
  #portal-app-shell .login-left .login-hero h2 {
    font-size:clamp(1.6rem,3vw,2rem) !important;
    line-height:1.1 !important; margin:0 0 12px !important;
  }
  #portal-app-shell .login-left .login-hero p { font-size:.9rem !important; margin:0 !important; }
  #portal-app-shell .login-right { padding:24px !important; overflow:visible !important; }
  #portal-app-shell .auth-card-logo { height:72px !important; }
  #portal-app-shell .auth-card-head { margin-bottom:10px !important; }
  #portal-app-shell .auth-h2.auth-card-title { font-size:1.7rem !important; }
  #portal-app-shell .auth-title-rule { margin:12px auto 20px !important; }
  #portal-app-shell .auth-slides { display:block !important; width:100% !important; transform:none !important; }
  #portal-app-shell .auth-panel { display:none !important; width:100% !important; padding:0 !important; }
  #portal-app-shell .auth-panel[aria-hidden="false"] { display:block !important; }
}
@media (min-width:1000px) and (max-width:1366px) and (orientation:landscape) {
  html.portal-open #portal-app-shell { padding:20px !important; }
  html.portal-open #portal-app-shell .login-left {
    position:absolute !important; inset:0 auto 0 0 !important;
    width:calc(100% - 475px) !important; min-height:100% !important;
    display:flex !important; justify-content:center !important;
    padding:40px !important;
  }
  #portal-app-shell .login-left .login-hero h2 { font-size:clamp(2rem,3.4vw,3rem) !important; }
  html.portal-open #portal-app-shell .login-right { margin:0 0 0 auto !important; width:435px !important; }
}
/* Portrait tablets: one photographic composition instead of a separate banner. */
@media (min-width:601px) and (max-width:999px) and (orientation:portrait) {
  html.portal-open #portal-app-shell {
    background:
      linear-gradient(180deg,rgba(3,45,35,.12) 0%,rgba(3,45,35,.28) 36%,rgba(3,45,35,.92) 100%),
      linear-gradient(90deg,rgba(3,52,40,.94) 0%,rgba(3,52,40,.68) 46%,rgba(3,52,40,.08) 100%),
      url('/assets/site/login-hero.jpg') center 28% / cover no-repeat !important;
    background-attachment:fixed !important;
    padding:0 24px calc(40px + env(safe-area-inset-bottom,0px)) !important;
  }
  html.portal-open #portal-app-shell .login-left {
    background:transparent !important;
    padding:36px 0 22px !important;
    width:min(600px,100%) !important;
    margin:0 auto !important;
    overflow:visible !important;
  }
  #portal-app-shell .login-left::before,
  #portal-app-shell .login-left::after { display:none !important; }
  #portal-app-shell .login-left .login-hero { max-width:560px !important; }
  #portal-app-shell .login-left .login-hero h2 {
    font-size:clamp(2rem,4.4vw,2.6rem) !important;
    max-width:560px !important; line-height:1.06 !important;
    margin:0 !important; letter-spacing:-.035em !important;
  }
  #portal-app-shell .login-left .login-hero .login-welcome {
    margin-bottom:16px !important; font-size:.8rem !important;
  }
  #portal-app-shell .login-left .login-hero p { display:none !important; }
  html.portal-open #portal-app-shell .login-right {
    width:min(490px,100%) !important;
    max-width:100% !important;
    margin:4px auto 0 !important;
    padding:28px 32px !important;
    border-radius:30px !important;
    background:linear-gradient(160deg,rgba(255,251,244,.96),rgba(250,243,232,.92)) !important;
    box-shadow:0 28px 80px rgba(0,25,18,.35),inset 0 1px 0 rgba(255,255,255,.8) !important;
  }
  #portal-app-shell .login-right::before,
  #portal-app-shell .login-right::after { display:none !important; }
  #portal-app-shell .auth-card-logo { height:80px !important; }
  #portal-app-shell .auth-h2.auth-card-title { font-size:1.9rem !important; }
}
@media (prefers-reduced-motion:reduce) {
  #portal-app-shell .auth-slider { transition:none; }
}
