/* TIAM v630 — admin impersonation switcher modal layout hardening.
   Loaded after the global/mobile style stack so this modal cannot inherit
   generic input sizing or overflow rules that break radio rows in RTL. */

#modal[data-modal-kind="admin-impersonation-switch"]{
  width:min(760px,calc(100vw - 32px))!important;
  max-width:760px!important;
  max-height:min(780px,calc(100dvh - 32px))!important;
  overflow:hidden!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}

#modal[data-modal-kind="admin-impersonation-switch"]>.modal-body{
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:14px!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:12px!important;
  overflow:hidden!important;
  direction:rtl!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__intro{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:11px 13px!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__intro :is(b,span){
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  writing-mode:horizontal-tb!important;
  direction:rtl!important;
  text-align:right!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__search{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:7px 12px!important;
  direction:rtl!important;
  text-align:right!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__list{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  max-height:min(46vh,340px)!important;
  margin:0!important;
  padding:2px 2px 2px 4px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  grid-auto-rows:max-content!important;
  align-content:start!important;
  align-items:stretch!important;
  gap:8px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  direction:rtl!important;
  scrollbar-gutter:stable;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item{
  box-sizing:border-box!important;
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:62px!important;
  height:auto!important;
  margin:0!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:10px!important;
  overflow:hidden!important;
  direction:rtl!important;
  cursor:pointer!important;
}

/* Isolate the radio from old global input rules such as input{min-height/padding}. */
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>input[type="radio"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  box-sizing:border-box!important;
  position:relative!important;
  display:block!important;
  flex:none!important;
  justify-self:center!important;
  align-self:center!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:2px solid #8ca3b4!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:none!important;
  outline:0!important;
  transform:none!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>input[type="radio"]:checked{
  border-color:#123e61!important;
  background:#123e61!important;
  box-shadow:inset 0 0 0 4px #fff!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>input[type="radio"]:focus-visible{
  outline:3px solid rgba(18,62,97,.18)!important;
  outline-offset:2px!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>div{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:2px!important;
  overflow:hidden!important;
  direction:rtl!important;
  text-align:right!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>div>:is(b,span,small){
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
  direction:rtl!important;
  unicode-bidi:plaintext!important;
  text-align:right!important;
  line-height:1.55!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>div>b{
  font-size:12px!important;
  font-weight:850!important;
  color:#173b53!important;
}
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>div>span{
  font-size:10.8px!important;
  color:#5f7687!important;
}
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>div>small{
  font-size:9.8px!important;
  color:#8899a5!important;
  direction:ltr!important;
  unicode-bidi:isolate!important;
  text-align:right!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item:hover{
  border-color:#9fb6c5!important;
  background:#fff!important;
}
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item.is-current{
  border-color:#d0a94a!important;
  background:#fff8e8!important;
}

#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__empty{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  writing-mode:horizontal-tb!important;
}

#modal[data-modal-kind="admin-impersonation-switch"]>.modal-actions{
  overflow:hidden!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
}

@media(max-width:700px){
  #modal[data-modal-kind="admin-impersonation-switch"]{
    width:calc(100vw - 12px)!important;
    max-width:none!important;
    max-height:calc(100dvh - 12px)!important;
  }
  #modal[data-modal-kind="admin-impersonation-switch"]>.modal-body{
    padding:10px!important;
  }
  #modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal{
    gap:10px!important;
  }
  #modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__list{
    max-height:min(48vh,360px)!important;
  }
  #modal[data-modal-kind="admin-impersonation-switch"]>.modal-actions .btn{
    flex:1 1 150px!important;
    width:auto!important;
  }
}


/* TIAM v639 — compact employee switcher + reliable filtering. */
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item.hidden,
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item[hidden]{display:none!important;}
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__empty.hidden,
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__empty[hidden]{display:none!important;}
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item{min-height:54px!important;}
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>div{display:block!important;}
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__item>div>b{display:block!important;font-size:12px!important;line-height:1.8!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
#modal[data-modal-kind="admin-impersonation-switch"] .impersonation-switch-modal__role-inline{display:inline!important;width:auto!important;font-size:11px!important;font-weight:700!important;color:#667d8d!important;}
