/* ==========================================================================\n * VIRA 7.68.11 — Mobile Identity Fixed Viewport Owner\n * Final mobile owner loaded after Identity + unified navigation styles.\n * Keeps the document fixed to the visual viewport; only the inner auth stage\n * may pan while the software keyboard is open.\n * ========================================================================== */

body.mca-auth-page .mca-standalone-home{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
body.mca-auth-page .mca-standalone-home img{
  display:block!important;
  width:28px!important;
  height:28px!important;
  border-radius:8px!important;
  object-fit:cover!important;
  box-shadow:0 5px 14px rgba(0,0,0,.24)!important;
}

@media (max-width:960px){
  html.mca-auth-viewport-lock,
  html.mca-auth-viewport-lock body.mca-auth-page{
    width:100%!important;
    height:var(--mca-auth-vh,100dvh)!important;
    min-height:0!important;
    max-height:var(--mca-auth-vh,100dvh)!important;
    margin:0!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    background:#07111d!important;
  }

  body.mca-auth-page{
    position:fixed!important;
    inset:0!important;
    color:#f7f9fc!important;
  }

  body.mca-auth-page .mca-standalone-canvas{
    position:fixed!important;
    inset:0!important;
    box-sizing:border-box!important;
    width:100vw!important;
    height:var(--mca-auth-vh,100dvh)!important;
    min-height:0!important;
    max-height:var(--mca-auth-vh,100dvh)!important;
    margin:0!important;
    padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    background:
      radial-gradient(circle at 12% 4%,rgba(212,177,91,.15),transparent 30%),
      radial-gradient(circle at 92% 100%,rgba(41,82,123,.24),transparent 35%),
      linear-gradient(160deg,#050d17 0%,#0a1928 54%,#07111d 100%)!important;
  }

  body.mca-auth-page .mca-standalone-home{
    z-index:120!important;
    top:max(10px,env(safe-area-inset-top))!important;
    left:max(10px,env(safe-area-inset-left))!important;
    min-width:0!important;
    min-height:38px!important;
    height:38px!important;
    padding:4px 10px 4px 5px!important;
    border:1px solid rgba(221,185,95,.25)!important;
    border-radius:12px!important;
    background:rgba(4,13,23,.76)!important;
    color:#e7cb79!important;
    box-shadow:0 10px 28px rgba(0,0,0,.28)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    font:800 9px/1 var(--mca-font)!important;
    letter-spacing:0!important;
  }

  body.mca-auth-page .mca-identity-shell,
  body.mca-auth-page .mca-identity-root{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }

  body.mca-auth-page .mca-id-loader{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    border:1px solid rgba(220,184,95,.17)!important;
    border-radius:22px!important;
    color:#a7b4c2!important;
    background:rgba(8,21,34,.92)!important;
  }

  body.mca-auth-page .mca-auth-layout{
    position:relative!important;
    width:min(520px,100%)!important;
    height:100%!important;
    max-width:520px!important;
    max-height:100%!important;
    min-height:0!important;
    margin:0 auto!important;
    display:block!important;
    overflow:hidden!important;
    border:1px solid rgba(220,184,95,.18)!important;
    border-radius:22px!important;
    background:
      radial-gradient(circle at 92% 0%,rgba(201,166,80,.08),transparent 27%),
      linear-gradient(180deg,rgba(12,28,43,.98),rgba(7,18,30,.995))!important;
    box-shadow:0 26px 70px rgba(0,0,0,.38)!important;
  }

  /* Mobile gets one identity surface, not a desktop hero stacked above a form. */
  body.mca-auth-page .mca-auth-visual{
    display:none!important;
    min-height:0!important;
    height:0!important;
    padding:0!important;
  }

  body.mca-auth-page .mca-auth-main{
    box-sizing:border-box!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    padding:16px 16px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:center!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important;
    background:transparent!important;
  }

  body.mca-auth-page .mca-auth-card{
    width:100%!important;
    max-width:430px!important;
    min-height:0!important;
    margin:0 auto!important;
    color:#f7f9fc!important;
  }

  body.mca-auth-page .mca-mobile-brand{
    display:block!important;
    margin:0 0 10px!important;
    color:#fff!important;
  }
  body.mca-auth-page .mca-mobile-brand .mca-brand{
    gap:9px!important;
  }
  body.mca-auth-page .mca-mobile-brand .mca-brand-logo-image{
    width:38px!important;
    height:38px!important;
    border-radius:11px!important;
    overflow:hidden!important;
    box-shadow:0 8px 22px rgba(0,0,0,.28)!important;
  }
  body.mca-auth-page .mca-mobile-brand .mca-brand-logo-image img{
    width:38px!important;
    height:38px!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
  }
  body.mca-auth-page .mca-mobile-brand .mca-brand strong{color:#fff!important;font-size:12px!important}
  body.mca-auth-page .mca-mobile-brand .mca-brand small{color:#7f91a4!important;font-size:6px!important}

  body.mca-auth-page .mca-auth-heading{margin:0 0 4px!important}
  body.mca-auth-page .mca-auth-heading h2{
    margin:3px 0 4px!important;
    color:#fff!important;
    font-size:22px!important;
    line-height:1.38!important;
    letter-spacing:-.02em!important;
  }
  body.mca-auth-page .mca-auth-heading p{
    margin:0!important;
    color:#93a2b2!important;
    font-size:10.5px!important;
    line-height:1.75!important;
  }
  body.mca-auth-page .mca-auth-overline,
  body.mca-auth-page .mca-auth-step-label{color:#d9b858!important;font-size:7.5px!important}

  body.mca-auth-page .mca-auth-form{gap:10px!important}
  body.mca-auth-page .mca-field{gap:5px!important}
  body.mca-auth-page .mca-field-label{color:#c8d2dc!important;font-size:10px!important}
  body.mca-auth-page .mca-field-label b{color:#e7c566!important}
  body.mca-auth-page .mca-input-wrap{
    height:46px!important;
    min-height:46px!important;
    padding:0 12px!important;
    border:1px solid rgba(190,205,220,.17)!important;
    border-radius:13px!important;
    background:rgba(255,255,255,.065)!important;
    box-shadow:inset 0 1px rgba(255,255,255,.025)!important;
  }
  body.mca-auth-page .mca-input-wrap>svg{color:#7f91a4!important}
  body.mca-auth-page .mca-input-wrap input,
  body.mca-auth-page .mca-input-wrap textarea{
    color:#f8fafc!important;
    caret-color:#e2c361!important;
    font-size:13px!important;
  }
  body.mca-auth-page .mca-input-wrap input::placeholder,
  body.mca-auth-page .mca-input-wrap textarea::placeholder{color:#64778a!important}
  body.mca-auth-page .mca-field:focus-within .mca-input-wrap{
    border-color:rgba(226,195,100,.68)!important;
    box-shadow:0 0 0 3px rgba(219,181,83,.1)!important;
  }
  body.mca-auth-page .mca-input-action{color:#8fa0b0!important}
  body.mca-auth-page .mca-field-hint{color:#738597!important;font-size:9px!important}

  body.mca-auth-page .mca-form-row{gap:8px 12px!important;flex-wrap:nowrap!important}
  body.mca-auth-page .mca-check{color:#9aa9b8!important}
  body.mca-auth-page .mca-check>span{
    border-color:rgba(192,205,218,.24)!important;
    background:rgba(255,255,255,.06)!important;
  }
  body.mca-auth-page .mca-check input:checked+span{
    border-color:#d7b858!important;
    background:#d7b858!important;
    color:#07111d!important;
  }
  body.mca-auth-page .mca-check p{color:#aab6c2!important;font-size:10px!important}
  body.mca-auth-page .mca-inline-link,
  body.mca-auth-page .mca-back{color:#dfc36d!important;font-size:10px!important}

  body.mca-auth-page .mca-captcha-row{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(116px,.92fr)!important;
    gap:8px!important;
    align-items:end!important;
  }
  body.mca-auth-page .mca-captcha-question{
    height:46px!important;
    min-height:46px!important;
    padding:0 10px!important;
    border:1px dashed rgba(222,191,101,.28)!important;
    border-radius:13px!important;
    background:rgba(218,179,80,.07)!important;
    color:#d9c27c!important;
  }
  body.mca-auth-page .mca-captcha-question button{color:#d9bd68!important}

  body.mca-auth-page .mca-btn{
    min-height:46px!important;
    height:46px!important;
    border-radius:13px!important;
    font-size:11px!important;
    box-shadow:none!important;
  }
  body.mca-auth-page .mca-btn-primary{
    border:1px solid #e1c667!important;
    background:linear-gradient(135deg,#e6cb70,#c69d38)!important;
    color:#07111d!important;
    box-shadow:0 10px 24px rgba(184,139,33,.16)!important;
  }
  body.mca-auth-page .mca-btn-secondary{
    border:1px solid rgba(190,205,220,.18)!important;
    background:rgba(255,255,255,.055)!important;
    color:#dbe4ec!important;
  }
  body.mca-auth-page .mca-btn-ghost{color:#b7c3cf!important;background:rgba(255,255,255,.03)!important}
  body.mca-auth-page .mca-auth-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.mca-auth-page .mca-auth-actions .mca-grow:only-child{grid-column:1/-1!important}

  body.mca-auth-page .mca-auth-switch{
    margin:0!important;
    padding-top:8px!important;
    border-top:1px solid rgba(185,200,214,.12)!important;
    color:#8fa0b0!important;
    font-size:10px!important;
  }
  body.mca-auth-page .mca-auth-switch button{color:#e1c36a!important}
  body.mca-auth-page .mca-social-ready,
  body.mca-auth-page .mca-social-buttons{display:none!important}

  body.mca-auth-page .mca-stepper{margin:0 0 4px!important}
  body.mca-auth-page .mca-stepper i{background:#102235!important;border-color:#405268!important}
  body.mca-auth-page .mca-stepper b{background:#26394d!important}
  body.mca-auth-page .mca-stepper .is-active i{border-color:#d8b85a!important;background:#d8b85a!important;box-shadow:0 0 0 3px rgba(216,184,90,.12)!important}
  body.mca-auth-page .mca-stepper .is-active b{background:#b8943d!important}

  body.mca-auth-page .mca-trust-note{
    padding:10px!important;
    border-color:rgba(183,201,218,.12)!important;
    background:rgba(255,255,255,.04)!important;
  }
  body.mca-auth-page .mca-trust-note strong{color:#dbe4ec!important;font-size:10px!important}
  body.mca-auth-page .mca-trust-note span{color:#8293a4!important;font-size:9px!important}
  body.mca-auth-page .mca-trust-note>svg{color:#d9b857!important}

  body.mca-auth-page .mca-auth-icon{
    width:38px!important;
    height:38px!important;
    margin-bottom:8px!important;
    border:1px solid rgba(222,191,99,.2)!important;
    background:rgba(218,180,80,.08)!important;
    color:#dec063!important;
  }

  body.mca-auth-page .mca-auth-security{
    position:static!important;
    width:100%!important;
    margin:10px auto 0!important;
    padding-top:8px!important;
    border-top:1px solid rgba(185,200,214,.1)!important;
    justify-content:center!important;
    color:#64788b!important;
    text-align:center!important;
    font-size:7.5px!important;
    line-height:1.6!important;
  }

  body.mca-auth-page .mca-field-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  /* Software keyboard: document stays locked; only the inner stage can pan. */
  body.mca-auth-page.mca-auth-keyboard-open .mca-auth-main{
    justify-content:flex-start!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    overflow-y:auto!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.mca-auth-page.mca-auth-keyboard-open .mca-auth-main::-webkit-scrollbar{display:none!important}
  body.mca-auth-page.mca-auth-keyboard-open .mca-mobile-brand,
  body.mca-auth-page.mca-auth-keyboard-open .mca-auth-heading p,
  body.mca-auth-page.mca-auth-keyboard-open .mca-auth-security{display:none!important}
  body.mca-auth-page.mca-auth-keyboard-open .mca-auth-form{gap:7px!important}
  body.mca-auth-page.mca-auth-keyboard-open .mca-auth-heading h2{font-size:18px!important;margin-top:0!important}
}

@media (max-width:480px){
  body.mca-auth-page .mca-standalone-home{padding:4px 9px 4px 5px!important}
  body.mca-auth-page .mca-auth-main{padding:12px 12px 9px!important}
  body.mca-auth-page .mca-auth-layout{border-radius:19px!important}
  body.mca-auth-page .mca-auth-heading h2{font-size:20px!important}
  body.mca-auth-page .mca-auth-heading p{font-size:9.5px!important}
  body.mca-auth-page .mca-mobile-brand{margin-bottom:7px!important}
}

@media (max-width:350px){
  body.mca-auth-page .mca-auth-main{padding-inline:9px!important}
  body.mca-auth-page .mca-field-grid{grid-template-columns:1fr!important}
  body.mca-auth-page .mca-auth-actions{grid-template-columns:1fr!important}
  body.mca-auth-page .mca-auth-actions>*{grid-column:1!important;width:100%!important}
  body.mca-auth-page .mca-captcha-row{grid-template-columns:1fr!important}
}

@media (max-width:960px) and (max-height:700px){
  body.mca-auth-page .mca-auth-main{padding-top:9px!important;padding-bottom:8px!important}
  body.mca-auth-page .mca-mobile-brand{margin-bottom:5px!important}
  body.mca-auth-page .mca-mobile-brand .mca-brand-logo-image,
  body.mca-auth-page .mca-mobile-brand .mca-brand-logo-image img{width:32px!important;height:32px!important}
  body.mca-auth-page .mca-mobile-brand .mca-brand small{display:none!important}
  body.mca-auth-page .mca-auth-heading p{display:none!important}
  body.mca-auth-page .mca-auth-heading h2{font-size:19px!important;margin-bottom:1px!important}
  body.mca-auth-page .mca-auth-form{gap:8px!important}
  body.mca-auth-page .mca-input-wrap,
  body.mca-auth-page .mca-captcha-question{height:43px!important;min-height:43px!important}
  body.mca-auth-page .mca-btn{height:43px!important;min-height:43px!important}
  body.mca-auth-page .mca-auth-security{display:none!important}
  body.mca-auth-page .mca-auth-switch{padding-top:6px!important}
  body.mca-auth-page .mca-trust-note{padding:8px!important}
  body.mca-auth-page .mca-trust-note span{display:none!important}
}

@media (max-width:960px) and (max-height:590px){
  body.mca-auth-page .mca-mobile-brand{display:none!important}
  body.mca-auth-page .mca-auth-overline{display:none!important}
  body.mca-auth-page .mca-auth-main{padding:7px!important}
  body.mca-auth-page .mca-auth-form{gap:6px!important}
  body.mca-auth-page .mca-field{gap:3px!important}
  body.mca-auth-page .mca-field-label{font-size:9px!important}
  body.mca-auth-page .mca-input-wrap,
  body.mca-auth-page .mca-captcha-question{height:40px!important;min-height:40px!important}
  body.mca-auth-page .mca-btn{height:40px!important;min-height:40px!important}
  body.mca-auth-page .mca-auth-switch{padding-top:4px!important}
}

/* VIRA 7.68.12 deterministic auth owner ----------------------------------- */
@media (max-width:960px){
  html.mca-auth-viewport-lock{overflow:hidden!important;overscroll-behavior:none!important;background:#07111d!important}

  body.mca-auth-page .mca-auth-layout[data-auth-screen="login"] .mca-auth-main,
  body.mca-auth-page .mca-auth-layout[data-auth-screen="recovery"] .mca-auth-main,
  body.mca-auth-page .mca-auth-layout[data-auth-screen="otp"] .mca-auth-main,
  body.mca-auth-page .mca-auth-layout[data-auth-screen="register_verify"] .mca-auth-main{
    overflow:hidden!important;
  }

  /* Registration is intentionally split into compact steps. If an unusually
     short viewport cannot contain a step, only the inner stage may pan. The
     browser document remains completely fixed. */
  body.mca-auth-page .mca-auth-layout[data-auth-screen="register"] .mca-auth-main{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.mca-auth-page .mca-auth-layout[data-auth-screen="register"] .mca-auth-main::-webkit-scrollbar{display:none!important}
}

@media (max-width:960px) and (max-height:760px){
  body.mca-auth-page .mca-auth-main{justify-content:center!important;padding-top:8px!important;padding-bottom:8px!important}
  body.mca-auth-page .mca-mobile-brand{margin-bottom:4px!important}
  body.mca-auth-page .mca-auth-heading{margin-bottom:2px!important}
  body.mca-auth-page .mca-auth-heading p{display:none!important}
  body.mca-auth-page .mca-auth-form{gap:7px!important}
  body.mca-auth-page .mca-field{gap:3px!important}
  body.mca-auth-page .mca-input-wrap,
  body.mca-auth-page .mca-captcha-question{height:42px!important;min-height:42px!important}
  body.mca-auth-page .mca-btn{height:42px!important;min-height:42px!important}
  body.mca-auth-page .mca-auth-security{display:none!important}
}

@media (max-width:960px) and (max-height:660px){
  body.mca-auth-page .mca-mobile-brand{display:none!important}
  body.mca-auth-page .mca-auth-main{padding:6px 8px!important}
  body.mca-auth-page .mca-auth-heading h2{font-size:18px!important;line-height:1.25!important}
  body.mca-auth-page .mca-auth-form{gap:5px!important}
  body.mca-auth-page .mca-field-label{font-size:9px!important}
  body.mca-auth-page .mca-input-wrap,
  body.mca-auth-page .mca-captcha-question{height:39px!important;min-height:39px!important}
  body.mca-auth-page .mca-btn{height:39px!important;min-height:39px!important}
  body.mca-auth-page .mca-auth-switch{padding-top:3px!important}
}
