/* Vida & Saúde | Painel do Fitoterapeuta | V217
   Estabilidade de interação entre áreas, viewport móvel e redução de microtravamentos.
   Não usa zoom nem transform:scale para ajustar a interface. */

body.professional-interaction-v217 #route-professional-panel,
body.professional-interaction-v217 #route-professional-panel .professional-shell{
  min-height:100vh;
  min-height:100dvh;
}

/* Troca de área deve acontecer sem interpolação de geometria ou ancoragem automática. */
body.professional-interaction-v217 #professional-workspace,
body.professional-interaction-v217 #route-professional-panel .professional-section{
  overflow-anchor:none!important;
}
body.professional-interaction-v217.professional-area-switching #route-professional-panel .professional-section,
body.professional-interaction-v217.professional-area-switching #route-professional-panel .professional-section *{
  animation:none!important;
  transition-duration:0s!important;
}

/* Mantém texto real e ações dentro do card, sem criar largura mínima acidental. */
body.professional-interaction-v217 #route-professional-panel :is(button,.btn,[role="button"],label,strong,small,p,h1,h2,h3,h4){
  min-width:0;
}
body.professional-interaction-v217 #route-professional-panel :is(.btn,button){
  text-wrap:balance;
}

/* Mobile/tablet: viewport dinâmico, safe-area e drawer estável. */
@media (max-width:1023px){
  body.professional-interaction-v217 #route-professional-panel .professional-shell{
    height:100vh!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
  }
  body.professional-interaction-v217 .professional-mobile-bar{
    padding-top:env(safe-area-inset-top)!important;
    min-height:calc(64px + env(safe-area-inset-top))!important;
  }
  body.professional-interaction-v217 .professional-main{
    height:calc(100dvh - 64px - env(safe-area-inset-top))!important;
    padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.professional-interaction-v217 .professional-sidebar{
    height:100dvh!important;
    max-height:100dvh!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
  }
  body.professional-interaction-v217 .professional-nav-backdrop{
    height:100dvh!important;
  }
  body.professional-interaction-v217 #route-professional-panel dialog,
  body.professional-interaction-v217 #route-professional-panel :is(.system-dialog,[class*="modal-panel"],[class*="dialog-panel"]){
    max-height:calc(100dvh - 18px)!important;
  }
}

/* Em telas móveis menores, blur do backdrop custa composição sem ganho funcional relevante. */
@media (max-width:620px), (pointer:coarse){
  body.professional-interaction-v217 .professional-nav-backdrop,
  body.professional-interaction-v217 #route-professional-panel dialog::backdrop,
  body.professional-interaction-v217 #route-professional-panel [class*="backdrop"]{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  body.professional-interaction-v217 #route-professional-panel .btn::after{
    transition:none!important;
  }
}

/* Respeita a preferência do sistema sem alterar layout. */
@media (prefers-reduced-motion:reduce){
  body.professional-interaction-v217 #route-professional-panel *,
  body.professional-interaction-v217 #route-professional-panel *::before,
  body.professional-interaction-v217 #route-professional-panel *::after{
    scroll-behavior:auto!important;
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
}
