/* Vida & Saúde | Painel do Fitoterapeuta | V216
   Estabilidade final entre áreas, notebook baixo e overlays móveis.
   Não usa redução artificial da interface. */

/* Evita crescimento por min-content em qualquer área ativa. */
body.professional-stability-v216 #route-professional-panel .professional-section,
body.professional-stability-v216 #route-professional-panel .professional-section > *{
  min-width:0;
}

/* 1152–1399: fecha a pequena sobra interna da tabela de Clientes sem alterar o viewport. */
@media (min-width:1152px) and (max-width:1399px){
  body.professional-stability-v216 #professional-clients .v196-clients-workspace{
    grid-template-columns:minmax(0,1fr) 244px!important;
    gap:12px!important;
  }
  body.professional-stability-v216 #professional-clients .v196-clients-toolbar{
    grid-template-columns:minmax(170px,1.5fr) 102px 102px 108px minmax(76px,auto)!important;
    gap:7px!important;
    padding-inline:10px!important;
  }
  body.professional-stability-v216 #professional-clients .v196-clients-table-head,
  body.professional-stability-v216 #professional-clients .v196-client-row{
    grid-template-columns:minmax(136px,1.36fr) minmax(102px,1fr) 70px 91px 89px 86px 30px!important;
    gap:7px!important;
    padding-inline:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  body.professional-stability-v216 #professional-clients .v196-clients-table-card,
  body.professional-stability-v216 #professional-clients .v196-clients-list{
    min-width:0!important;
    max-width:100%!important;
  }

  /* O rótulo mais longo do menu não pode perder a última letra em 1366 px. */
  body.professional-stability-v216 .professional-nav-item[data-professional-nav="professional-settings"] .client-sidebar-nav-label,
  body.professional-stability-v216 .professional-nav-item[data-professional-nav="professional-settings"] .v8730-nav-label{
    font-size:11.5px!important;
    letter-spacing:-.08px!important;
  }
}

/* Notebook com pouca altura: mantém ações e títulos acessíveis sem achatar cards. */
@media (min-width:1024px) and (max-height:800px){
  body.professional-stability-v216 .professional-main{
    overscroll-behavior:contain!important;
    scroll-padding-top:10px!important;
    scroll-padding-bottom:18px!important;
  }
  body.professional-stability-v216 #route-professional-panel .professional-section{
    padding-bottom:18px!important;
  }
}

/* Overlays: geometria segura no mobile/tablet. */
@media (max-width:1023px){
  body.professional-stability-v216 #route-professional-panel .system-dialog-layer:not([hidden]){
    width:100vw!important;
    height:100dvh!important;
    max-width:100vw!important;
    max-height:100dvh!important;
    padding:9px!important;
    overflow:hidden!important;
  }
  body.professional-stability-v216 #route-professional-panel .system-dialog{
    width:min(100%,720px)!important;
    max-width:calc(100vw - 18px)!important;
    max-height:calc(100dvh - 18px)!important;
    min-width:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  body.professional-stability-v216 #route-professional-panel .system-dialog :is(.system-dialog-body,[class*="dialog-body"],[class*="modal-body"],form){
    min-width:0!important;
    max-width:100%!important;
  }
  body.professional-stability-v216 #route-professional-panel .system-dialog :is(.system-dialog-actions,[class*="dialog-actions"],[class*="modal-actions"]){
    max-width:100%!important;
  }
  body.professional-stability-v216 #route-professional-panel :is(dialog,.system-dialog,[class*="dialog-panel"],[class*="modal-panel"]) :is(.btn,button){
    max-width:100%!important;
  }
}

@media (max-width:620px){
  body.professional-stability-v216 #route-professional-panel .system-dialog :is(.system-dialog-header,[class*="dialog-header"]){
    gap:9px!important;
    padding:15px 14px!important;
  }
  body.professional-stability-v216 #route-professional-panel .system-dialog :is(.system-dialog-body,[class*="dialog-body"],[class*="modal-body"]){
    padding:14px!important;
  }
  body.professional-stability-v216 #route-professional-panel .system-dialog :is(.system-dialog-actions,[class*="dialog-actions"],[class*="modal-actions"]){
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
    padding:10px 14px 14px!important;
  }
  body.professional-stability-v216 #route-professional-panel .system-dialog :is(.system-dialog-actions,[class*="dialog-actions"],[class*="modal-actions"]) :is(.btn,button){
    width:100%!important;
    min-width:0!important;
  }

  /* Formulários internos não podem reabrir largura desktop via min-content. */
  body.professional-stability-v216 #route-professional-panel :is(
    .professional-agenda-form-grid,
    .clients26-form-grid,
    .evolution163-form-grid,
    .telehealth165-form-grid,
    .records166-form-grid
  ){
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* 360 px: preserva legibilidade dos textos longos sem cortar ações. */
@media (max-width:370px){
  body.professional-stability-v216 .professional-nav-item .client-sidebar-nav-label,
  body.professional-stability-v216 .professional-nav-item .v8730-nav-label{
    overflow-wrap:anywhere!important;
  }
  body.professional-stability-v216 #route-professional-panel :is(.btn,button){
    min-width:0;
  }
}
