/* Host adapters for the supplied CSS/SVG kit. Auth and invitation handlers remain unchanged. */
body.auth-pending { margin: 0; height: auto; overflow: auto; }
/* Hide only the login scrollbar; keyboard/touch scrolling remains available for overflow. */
html:has(body.auth-pending #nativeLoginPanel .iv-login) { scrollbar-width: none; }
html:has(body.auth-pending #nativeLoginPanel .iv-login)::-webkit-scrollbar { display: none; }
#nativeLoginPanel:not(.invitation-panel) { display: block; padding: 0; min-height: 100svh; }
.iv-login { width: 100%; color-scheme: light; }
.iv-login .native-login-card {
  width: 100%; min-width: 0; padding: 0; margin: 0; border: 0;
  border-radius: 0; box-shadow: none; background: transparent; color: var(--iv-text);
}
.iv-login .native-login-card label { margin: 0; color: var(--iv-text); }
#nativeLoginPanel .iv-login__input {
  width: 100%; min-height: var(--iv-control-height); height: auto;
  padding: 11px 14px 11px 42px; border: 1px solid var(--iv-border);
  border-radius: var(--iv-control-radius); background: rgb(248 251 255 / 94%);
  color: var(--iv-text); font: inherit; box-shadow: none;
}
#nativeLoginPanel .iv-login__tenant { padding-left: 14px; }
#nativeLoginPanel .iv-login__input:focus { border-color: var(--iv-focus); box-shadow: 0 0 0 3px rgb(18 102 156 / 10%); }
#nativeLoginPanel .iv-login__input:focus-visible { outline: 3px solid var(--iv-focus); outline-offset: 4px; }
#nativeLoginPanel .iv-login__input[aria-invalid="true"] { border-color: var(--iv-error); }
.iv-login .native-login-card button { width: 100%; margin: 0; }
.iv-login .native-login-card [hidden] { display: none; }
.iv-login #nativeLoginError { min-height: 0; margin: 0; color: var(--iv-error); overflow-wrap: anywhere; }
.iv-login .login-loading, .iv-login #nativeLoginSubmit:disabled .login-idle { display: none; }
.iv-login #nativeLoginSubmit:disabled .login-loading { display: inline; }
.iv-login__secondary small { display: block; font-size: .8em; font-weight: 400; }
.iv-login__button { font-weight: 600; line-height: 1.4; padding-block: 10px; }
.iv-login__button--secondary:disabled { opacity: 1; color: var(--iv-muted); }
.iv-login__security .iv-login__icon { width: 16px; height: 16px; }
.iv-login__options {
  justify-content: center; gap: 8px clamp(20px, 3vw, 48px);
  font-family: "Segoe UI", var(--iv-font); font-size: .875em;
}
.iv-login .iv-login__remember {
  display: flex; align-items: center; gap: 8px; font: inherit; font-weight: 400; color: var(--iv-muted);
}
.iv-login .iv-login__remember input {
  width: 17px; height: 17px; min-height: 0; padding: 0; flex: none; margin: 0;
}
.iv-login .native-login-card .iv-login__forgot {
  width: auto; padding: 0; border: 0; border-radius: 0; background: transparent;
  box-shadow: none; color: #175a91; font: inherit; font-weight: 550; opacity: 1;
}
.iv-login__layout { padding-block: clamp(180px, 22.2vh, 400px) clamp(40px, 9.3vh, 180px); }
.iv-login__mascot { display: block; }
@media (min-width: 1200px) {
  .iv-login__mascot {
    inset-inline-start: calc(50% + var(--iv-card-width) / 2 + 24px);
    inset-block-end: clamp(76px, 8.1vh, 174px);
    inline-size: clamp(300px, 20vw, 672px);
  }
}
@media (min-width: 1200px) and (max-width: 1439px) {
  .iv-login__mascot {
    inset-inline-start: calc(50% + var(--iv-card-width) / 2 + 12px);
    inline-size: 250px;
  }
}
@media (min-width: 2400px) {
  .iv-login__mascot { inset-inline-start: calc(50% + var(--iv-card-width) / 2 + 48px); }
}
@media (min-width: 3200px) {
  .iv-login__mascot { inset-inline-start: calc(50% + var(--iv-card-width) / 2 + 80px); }
}
@media (min-width: 1200px) and (max-height: 899px) {
  .iv-login { --iv-card-padding: 32px; }
  .iv-login__layout { min-block-size: 100svh; padding-block: 48px 24px; }
  .iv-login__footer { position: absolute; inset-inline: var(--iv-page-gutter); inset-block-end: 16px; padding: 0; }
  .iv-login__right { align-self: start; margin-block-start: 32px; }
  .iv-login__mascot {
    inset-block-start: max(280px, calc(100svh - clamp(300px, 20vw, 672px) - 76px));
    inset-block-end: auto;
  }
}
@media (min-width: 1200px) and (max-width: 1439px) and (max-height: 899px) {
  .iv-login__mascot { inset-block-start: max(280px, calc(100svh - 326px)); }
}
@media (min-width: 1200px) and (min-height: 900px) and (max-height: 999px) {
  .iv-login__layout { padding-block: 140px 40px; }
}
/* Keep the mascot above the card when browser zoom or a narrow screen stacks the layout. */
@media (max-width: 1199px) {
  .iv-login {
    --iv-mascot-top: clamp(40px, 8svh, 120px);
    --iv-mascot-size: clamp(100px, 14svh, 180px);
  }
  .iv-login__layout {
    gap: 0;
    padding-block: calc(var(--iv-mascot-top) + var(--iv-mascot-size) + 32px) 36px;
  }
  .iv-login__mascot {
    inset-inline-start: 50%;
    inset-block-start: var(--iv-mascot-top);
    inset-block-end: auto;
    inline-size: var(--iv-mascot-size);
    transform: translateX(-50%);
  }
}
@media (max-width: 767px) {
  #nativeLoginPanel .iv-login__input { font-size: 16px; }
}
@media (forced-colors: active) {
  .iv-login__mascot { display: none; }
  #nativeLoginPanel .iv-login__input { background: Canvas; color: CanvasText; border-color: ButtonText; }
  #nativeLoginPanel .iv-login__input:focus-visible { outline-color: Highlight; }
  .iv-login__button--secondary:disabled { color: GrayText; }
}
