/* Mantem login, recuperacao e redefinicao de senha exatamente no centro da tela. */
.login-page{
  min-height:var(--login-viewport-height,100dvh)!important;
  overflow:hidden!important;
}

/* Modal de edição de veículo embutido: remove qualquer margem herdada do layout principal. */
body.vehicle-edit-embed{
  background:#f5f8fb!important;
  overflow:hidden!important;
}

body.driver-edit-embed{
  background:#f5f8fb!important;
  overflow:hidden!important;
}

body.vehicle-edit-embed .site-header,
body.vehicle-edit-embed .side-navigation,
body.vehicle-edit-embed .side-menu-toggle,
body.vehicle-edit-embed .nav-menu,
body.driver-edit-embed .site-header,
body.driver-edit-embed .side-navigation,
body.driver-edit-embed .side-menu-toggle,
body.driver-edit-embed .nav-menu{
  display:none!important;
}

body.vehicle-edit-embed main{
  width:100%!important;
  height:100vh!important;
  max-width:none!important;
  margin:0!important;
  padding:8px!important;
}

body.driver-edit-embed main{
  width:100%!important;
  height:100vh!important;
  max-width:none!important;
  margin:0!important;
  padding:8px!important;
}

body.vehicle-edit-embed .vehicle-edit-shell{
  width:100%!important;
  height:calc(100vh - 16px)!important;
  max-width:none!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  box-shadow:none!important;
}

body.driver-edit-embed .driver-edit-shell{
  width:100%!important;
  height:calc(100vh - 16px)!important;
  max-width:none!important;
  margin:0!important;
  box-shadow:none!important;
}

body.vehicle-edit-embed .vehicle-tab-panel.active{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
  overflow:auto!important;
}

body.vehicle-edit-embed .vehicle-cadastro form{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
}

body.vehicle-edit-embed #documentos.vehicle-cadastro form{
  flex:0 0 auto!important;
}

body.vehicle-edit-embed .vehicle-cadastro .form-grid{
  grid-template-columns:repeat(4,minmax(150px,1fr))!important;
}

body.vehicle-edit-embed .dialog-actions{
  margin-top:auto!important;
  padding-top:10px!important;
}

body.vehicle-edit-embed #documentos .dialog-actions{
  margin-top:0!important;
}

@media(max-width:900px){
  body.vehicle-edit-embed .vehicle-cadastro .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:620px){
  body.vehicle-edit-embed main{
    padding:6px!important;
  }

  body.driver-edit-embed main{
    padding:6px!important;
  }

  body.vehicle-edit-embed .vehicle-edit-shell{
    height:calc(100vh - 12px)!important;
  }

  body.driver-edit-embed .driver-edit-shell{
    height:calc(100vh - 12px)!important;
  }

  body.vehicle-edit-embed .vehicle-cadastro .form-grid{
    grid-template-columns:1fr!important;
  }
}

.login-page .site-header,
.login-page .side-navigation,
.login-page .side-menu-toggle,
.login-page .nav-menu{
  display:none!important;
}

body.login-page main::before,
body.login-page main::after{
  display:none!important;
}

body.login-page main{
  width:100%!important;
  min-height:var(--login-viewport-height,100dvh)!important;
  margin:0!important;
  padding:clamp(22px,5vh,48px) 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:auto!important;
}

body.login-page .login-card{
  flex:0 1 min(500px,calc(100vw - 40px))!important;
  width:min(500px,calc(100vw - 40px))!important;
  max-width:500px!important;
  margin:auto!important;
}

@media(max-width:520px){
  body.login-page main{
    padding:22px 18px!important;
  }

  body.login-page .login-card{
    flex-basis:100%!important;
    width:100%!important;
    padding:20px 4px!important;
  }
}
