/* Administration sign-in / session unlock
 * Authoritative compact layout for authentication screens.
 * Keep this file loaded last: the main panel stylesheet must not control these screens.
 */
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page){
  --tc-session-bg:#f6f5f9;
  --tc-session-surface:#fff;
  --tc-session-border:#e1ddea;
  --tc-session-text:#292631;
  --tc-session-muted:#726d7c;
  --tc-session-accent:#673de6;
  --tc-session-accent-strong:#5830cf;
  margin:0!important;
  min-height:100dvh!important;
  overflow-x:hidden!important;
  background:
    radial-gradient(circle at 12% 8%,rgba(103,61,230,.07),transparent 28%),
    var(--tc-session-bg)!important;
  color:var(--tc-session-text)!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-layout{
  width:100%!important;
  min-height:100dvh!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
  box-sizing:border-box!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{
  width:min(100%,342px)!important;
  max-width:342px!important;
  margin:0!important;
  padding:18px!important;
  overflow:visible!important;
  border:1px solid var(--tc-session-border)!important;
  border-radius:16px!important;
  background:var(--tc-session-surface)!important;
  box-shadow:0 18px 48px rgba(46,36,78,.09)!important;
  direction:rtl!important;
  text-align:right!important;
  box-sizing:border-box!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin:0 0 13px!important;
  padding:0 0 12px!important;
  border:0!important;
  border-bottom:1px solid #efecf3!important;
  background:transparent!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand-icon{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
  background:#f1edff!important;
  color:var(--tc-session-accent)!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand-icon svg{width:19px!important;height:19px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand strong{
  display:block!important;
  margin:0!important;
  color:var(--tc-session-text)!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.4!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand small{
  display:block!important;
  margin-top:1px!important;
  color:var(--tc-session-muted)!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro{
  margin:0 0 13px!important;
  padding:0!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-kicker{
  display:block!important;
  width:max-content!important;
  min-height:0!important;
  margin:0 0 4px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--tc-session-accent)!important;
  font-size:10.5px!important;
  font-weight:800!important;
  line-height:1.4!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro h1{
  margin:0!important;
  color:var(--tc-session-text)!important;
  font-size:23px!important;
  font-weight:800!important;
  line-height:1.35!important;
  letter-spacing:-.02em!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro p{
  margin:4px 0 0!important;
  color:var(--tc-session-muted)!important;
  font-size:11.5px!important;
  font-weight:400!important;
  line-height:1.65!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) :is(.tc-login-error,.tc-login-success){
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 12px!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  font-size:11px!important;
  line-height:1.6!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-error{border:1px solid #efcccc!important;background:#fff7f6!important;color:#942c27!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-success{border:1px solid #c9e7d3!important;background:#f4fbf6!important;color:#286b40!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) :is(.tc-login-error,.tc-login-success) p{margin:0!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-form{
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-form label{
  display:grid!important;
  gap:5px!important;
  margin:0!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-form label>span{
  color:#3d3945!important;
  font-size:11px!important;
  font-weight:700!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-shell{
  position:relative!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 38px!important;
  align-items:center!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #d8d3e0!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
  transition:border-color .16s ease,box-shadow .16s ease!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-shell:focus-within{
  border-color:var(--tc-session-accent)!important;
  box-shadow:0 0 0 3px rgba(103,61,230,.10)!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-icon{
  grid-column:1!important;
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  color:#8b8595!important;
  pointer-events:none!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-icon svg{width:16px!important;height:16px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-shell>input{
  grid-column:2!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0 3px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--tc-session-text)!important;
  font:inherit!important;
  font-size:13px!important;
  box-sizing:border-box!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-password-toggle{
  position:static!important;
  grid-column:3!important;
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#7c7586!important;
  box-shadow:none!important;
  transform:none!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-password-toggle:hover{background:#f7f5fc!important;color:var(--tc-session-accent)!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-password-toggle svg{width:17px!important;height:17px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-button{
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  margin:1px 0 0!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid var(--tc-session-accent)!important;
  border-radius:10px!important;
  background:var(--tc-session-accent)!important;
  color:#fff!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:800!important;
  box-shadow:0 7px 17px rgba(103,61,230,.14)!important;
  cursor:pointer!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-button:hover{background:var(--tc-session-accent-strong)!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-button:focus-visible{outline:3px solid rgba(103,61,230,.20)!important;outline-offset:2px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-secondary-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  margin:7px 0 0!important;
  color:#696273!important;
  text-decoration:none!important;
  font-size:10.5px!important;
  font-weight:700!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-secondary-link:hover{color:var(--tc-session-accent)!important;text-decoration:underline!important;text-underline-offset:3px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-step-form{gap:11px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-code-inputs{
  width:100%!important;
  margin:1px auto!important;
  display:grid!important;
  gap:5px!important;
  justify-content:center!important;
  direction:ltr!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-code-inputs[data-pin-length="6"]{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-code-inputs[data-pin-length="4"]{grid-template-columns:repeat(4,minmax(0,48px))!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-digit{
  width:100%!important;
  min-width:0!important;
  height:41px!important;
  min-height:41px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #d8d3e0!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#302c38!important;
  font:800 17px/1 "Almarai",Tahoma,Arial,sans-serif!important;
  text-align:center!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-digit:focus{
  outline:0!important;
  border-color:var(--tc-session-accent)!important;
  box-shadow:0 0 0 3px rgba(103,61,230,.10)!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-security{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  margin:12px 0 0!important;
  padding:10px 0 0!important;
  border:0!important;
  border-top:1px solid #efecf3!important;
  background:transparent!important;
  color:#827b8d!important;
  font-size:9.5px!important;
  line-height:1.5!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-security svg{width:13px!important;height:13px!important}
@media(max-width:420px){
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-layout{padding:10px!important}
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{width:min(100%,330px)!important;padding:16px!important;border-radius:14px!important}
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro h1{font-size:21px!important}
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-code-inputs{gap:4px!important}
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-digit{height:39px!important;min-height:39px!important;font-size:16px!important}
}
@media(max-width:340px){
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{padding-inline:13px!important}
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-code-inputs{gap:3px!important}
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-digit{height:37px!important;min-height:37px!important}
}

/* Compact authentication pass — keep sign-in, PIN verification and unlock short and balanced. */
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page){
  padding:0!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-layout{
  min-height:100dvh!important;
  padding:12px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{
  width:min(100%,356px)!important;
  max-width:356px!important;
  padding:18px!important;
  border-radius:17px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand{
  gap:10px!important;
  margin-bottom:12px!important;
  padding-bottom:11px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand-icon{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand-icon svg{
  width:19px!important;
  height:19px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro{
  margin-bottom:11px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-kicker{
  margin-bottom:3px!important;
  font-size:11px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro h1{
  font-size:23px!important;
  line-height:1.28!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro p{
  margin-top:4px!important;
  font-size:11.5px!important;
  line-height:1.55!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) :is(.tc-login-error,.tc-login-success){
  margin-bottom:11px!important;
  padding:9px 11px!important;
  border-radius:10px!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-form{
  gap:10px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-form label{
  gap:5px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-shell{
  height:44px!important;
  min-height:44px!important;
  grid-template-columns:42px minmax(0,1fr) 42px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-icon,
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-password-toggle{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-shell>input{
  height:42px!important;
  min-height:42px!important;
  font-size:14px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-button{
  height:44px!important;
  min-height:44px!important;
  margin-top:1px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-step-form{
  gap:10px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-code-inputs{
  gap:5px!important;
  margin:0 auto!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-digit{
  height:44px!important;
  min-height:44px!important;
  border-radius:9px!important;
  font-size:17px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-secondary-link{
  min-height:30px!important;
  margin-top:5px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-security{
  margin-top:10px!important;
  padding-top:10px!important;
  font-size:9.5px!important;
}
@media(max-width:360px){
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-layout{padding:9px!important}
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{width:100%!important;max-width:338px!important;padding:15px!important}
}

/* Final balanced authentication sizing.
 * Keep the compact height, but restore a comfortable panel width and control scale.
 */
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-layout{
  padding:14px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{
  width:min(100%,430px)!important;
  max-width:430px!important;
  padding:22px!important;
  border-radius:18px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand{
  margin-bottom:14px!important;
  padding-bottom:13px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand-icon{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand strong{font-size:15px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-brand small{font-size:11px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro{margin-bottom:14px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-kicker{font-size:11.5px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro h1{font-size:26px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro p{font-size:12.5px!important;line-height:1.6!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-form{gap:12px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-form label{gap:6px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-form label>span{font-size:12px!important}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-shell{
  height:48px!important;
  min-height:48px!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  border-radius:11px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-icon,
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-password-toggle{
  width:44px!important;
  height:46px!important;
  min-width:44px!important;
  min-height:46px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-input-shell>input{
  height:46px!important;
  min-height:46px!important;
  font-size:14.5px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-button{
  height:48px!important;
  min-height:48px!important;
  font-size:13.5px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-pin-digit{
  height:48px!important;
  min-height:48px!important;
  font-size:18px!important;
}
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-security{
  margin-top:12px!important;
  padding-top:11px!important;
  font-size:10.5px!important;
}
@media(max-width:420px){
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-layout{padding:10px!important}
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{
    width:100%!important;
    max-width:100%!important;
    padding:20px!important;
    border-radius:17px!important;
  }
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-intro h1{font-size:24px!important}
}
@media(max-width:340px){
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{padding:16px!important}
}

/* Avoid percentage-width shrink-to-fit inside the centered grid track. */
body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{
  width:430px!important;
  max-width:calc(100vw - 28px)!important;
}
@media(max-width:420px){
  body.tc-login-page:not(.tc-human-check-page):not(.tc-payment-page) .tc-login-card{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
  }
}
