/*
 * GiraDesk V220.3 — autenticações estáveis e ASIDE mobile refinada.
 * Camada visual: não altera formulários, rotas, sessões ou autenticação.
 */

/* Logo das páginas de autenticação — maior no desktop e no tablet. */
.ax137-form-logo{
  width:100%!important;
  min-height:116px!important;
  max-height:142px!important;
  margin-bottom:32px!important;
  overflow:visible!important;
}
.ax137-form-logo img,
.ax137-form-logo img[data-logo],
.ax137-form-logo.ax164-custom-logo img,
.ax137-form-logo.ax164-custom-logo img[data-logo]{
  width:auto!important;
  height:auto!important;
  max-width:min(390px,94%)!important;
  max-height:126px!important;
  object-fit:contain!important;
  transform:none!important;
}
.ax137-form-logo.ax164-default-logo img,
.ax137-form-logo.ax164-default-logo img[data-logo]{
  max-width:min(360px,92%)!important;
  max-height:116px!important;
}

/* O Portal do Membro usa um invólucro do layout geral antes da tela de acesso. */
body.ax137-auth>main.auth-wrap{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
}

@media (max-width:900px){
  .ax137-form-logo{
    min-height:112px!important;
    max-height:136px!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .ax137-form-logo img,
  .ax137-form-logo img[data-logo],
  .ax137-form-logo.ax164-custom-logo img,
  .ax137-form-logo.ax164-custom-logo img[data-logo],
  .ax137-form-logo.ax164-default-logo img,
  .ax137-form-logo.ax164-default-logo img[data-logo]{
    margin-right:auto!important;
    margin-left:auto!important;
    object-position:center!important;
  }
}

@media (max-width:620px){
  html{
    min-height:100%!important;
    background:#fff!important;
  }
  body.ax137-auth{
    min-height:100svh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:none!important;
    background:#fff!important;
  }
  body.ax137-auth>main.auth-wrap{
    min-height:100svh!important;
  }

  /*
   * 100svh usa a altura estável do dispositivo. O formulário deixa de ser
   * recentralizado quando a barra do navegador ou o teclado muda o viewport.
   */
  .ax137-page,
  .member-ax137-page,
  .ax137-main,
  .ax137-auth-panel{
    width:100%!important;
    min-height:100svh!important;
    height:auto!important;
    margin:0!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
  .ax137-page,
  .member-ax137-page{
    display:block!important;
    padding:0!important;
  }
  .ax137-main,
  .ax137-auth-panel{
    display:block!important;
  }
  .ax137-form-side{
    width:100%!important;
    min-height:100svh!important;
    height:auto!important;
    justify-content:flex-start!important;
    padding-top:max(28px,env(safe-area-inset-top))!important;
    padding-right:max(22px,env(safe-area-inset-right))!important;
    padding-bottom:max(36px,env(safe-area-inset-bottom))!important;
    padding-left:max(22px,env(safe-area-inset-left))!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
  .ax137-side-panel{display:none!important;}
  .ax137-form-logo{
    min-height:108px!important;
    max-height:132px!important;
    margin:0 auto 24px!important;
  }
  .ax137-form-logo img,
  .ax137-form-logo img[data-logo],
  .ax137-form-logo.ax164-custom-logo img,
  .ax137-form-logo.ax164-custom-logo img[data-logo]{
    max-width:min(330px,94vw)!important;
    max-height:120px!important;
  }
  .ax137-form-logo.ax164-default-logo img,
  .ax137-form-logo.ax164-default-logo img[data-logo]{
    max-width:min(315px,90vw)!important;
    max-height:108px!important;
  }
}

@media (max-width:390px){
  .ax137-form-side{
    padding-top:max(22px,env(safe-area-inset-top))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
  }
  .ax137-form-logo{
    min-height:98px!important;
    margin-bottom:20px!important;
  }
  .ax137-form-logo img,
  .ax137-form-logo img[data-logo],
  .ax137-form-logo.ax164-custom-logo img,
  .ax137-form-logo.ax164-custom-logo img[data-logo],
  .ax137-form-logo.ax164-default-logo img,
  .ax137-form-logo.ax164-default-logo img[data-logo]{
    max-width:92vw!important;
    max-height:102px!important;
  }
}

/*
 * ASIDE mobile: o topo geral do sistema volta a usar integralmente o layout
 * anterior. Somente o cabeçalho do menu lateral é ajustado.
 */
@media (max-width:1100px){
  body.admin-app-page.gd25-body .gd210-mobile-head{
    position:relative!important;
    min-height:64px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:3px 58px 15px!important;
  }
  body.admin-app-page.gd25-body .gd210-mobile-brand-logo{
    display:block!important;
    width:min(190px,58vw)!important;
    max-width:100%!important;
    max-height:58px!important;
    height:auto!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  body.admin-app-page.gd25-body .gd210-mobile-close{
    position:absolute!important;
    top:3px!important;
    right:4px!important;
    margin:0!important;
  }
  body.admin-app-page.gd25-body .gd210-mobile-account>div:last-child>small,
  body.admin-app-page.gd25-body .gd210-mobile-account>div:last-child>strong{
    color:#fff!important;
  }
  body.admin-app-page.gd25-body .gd210-mobile-account>div:last-child>span{
    color:rgba(255,255,255,.82)!important;
  }

  /* Fechado: hambúrguer sempre visível. Aberto: o X da ASIDE assume o controle. */
  body.admin-app-page.gd25-body:not(.gd210-menu-open) .gd210-mobile-toggle{
    display:grid!important;
    position:fixed!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:30020!important;
  }
  body.admin-app-page.gd25-body.gd210-menu-open .gd210-mobile-toggle{
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}
