/* Layout Shell TypeScript progressivo: visual amplo, moderno e mobile-first.*/
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell{
  --tb-layout-ink:#1f2937;
  --tb-layout-muted:#64748b;
  --tb-layout-primary:#253263;
  --tb-layout-soft:#f8fafc;
  --tb-layout-line:rgba(148,163,184,.26);
  max-width:min(1380px, calc(100vw - 28px));
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-client{
  max-width:min(1240px, calc(100vw - 24px));
  border-radius:0!important;
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-topbar,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-portal-topbar,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-portal-header,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-head{
  gap:18px;
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-layout-modern-card,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-card,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-metric{
  border-color:var(--tb-layout-line)!important;
  box-shadow:0 14px 32px rgba(15,23,42,.06);
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-card,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-area-card{
  overflow-wrap:anywhere;
}
html[data-tb-react-layoutshell="ready"] .tb-layout-icon{
  width:18px;
  height:18px;
  min-width:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  color:currentColor;
  opacity:.9;
}
html[data-tb-react-layoutshell="ready"] .tb-layout-icon svg{
  width:18px;
  height:18px;
  display:block;
  fill:currentColor;
}

/* Correção: evita ícones duplicados quando o HTML legado já possui dashicons ou ícones próprios.*/
html[data-tb-react-layoutshell="ready"] .tb-layout-has-native-icon > .tb-layout-icon,
html[data-tb-react-layoutshell="ready"] .tb-sidebtn.tb-layout-has-native-icon > .tb-layout-icon,
html[data-tb-react-layoutshell="ready"] .tb-tab.tb-layout-has-native-icon > .tb-layout-icon,
html[data-tb-react-layoutshell="ready"] .tb-client-menu-tab.tb-layout-has-native-icon > .tb-layout-icon,
html[data-tb-react-layoutshell="ready"] .tb-journey-tab.tb-layout-has-native-icon > .tb-layout-icon{
  display:none!important;
}
html[data-tb-react-layoutshell="ready"] .tb-layout-has-native-icon > .dashicons,
html[data-tb-react-layoutshell="ready"] .tb-layout-has-native-icon > .tb-tab-icon,
html[data-tb-react-layoutshell="ready"] .tb-layout-has-native-icon > .tb-journey-tab-icon,
html[data-tb-react-layoutshell="ready"] .tb-layout-has-native-icon .tb-client-menu-tab-icon{
  flex:0 0 auto;
}
html[data-tb-react-layoutshell="ready"] [data-tb-layout-icon="1"]{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
html[data-tb-react-layoutshell="ready"] .tb-sidebtn[data-tb-layout-icon="1"],
html[data-tb-react-layoutshell="ready"] .tb-client-menu-tab[data-tb-layout-icon="1"],
html[data-tb-react-layoutshell="ready"] .tb-tab[data-tb-layout-icon="1"]{
  justify-content:flex-start;
}
html[data-tb-react-layoutshell="ready"] .tb-btn[data-tb-layout-icon="1"],
html[data-tb-react-layoutshell="ready"] .tb-pwa-install-btn[data-tb-layout-icon="1"],
html[data-tb-react-layoutshell="ready"] .tb-push-enable-btn[data-tb-layout-icon="1"]{
  min-height:40px;
}
html[data-tb-react-layoutshell="ready"] .tb-hamburger[data-tb-layout-icon="1"] .tb-layout-icon{
  display:none;
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-tabs,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-tabs-modern,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-menu-actions{
  gap:10px;
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-tabs-modern .tb-tab,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-menu-tab,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-sidebtn{
  border-radius:14px;
  border-color:var(--tb-layout-line);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-tabs-modern .tb-tab:hover,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-menu-tab:hover,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-sidebtn:hover,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-btn:hover{
  transform:translateY(-1px);
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-grid{
  gap:14px;
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-input,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-textarea,
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-select{
  min-height:42px;
  box-sizing:border-box;
}
html[data-tb-react-layoutshell="ready"] .tb-modal-card,
html[data-tb-react-layoutshell="ready"] .tb-goal-builder-modal,
html[data-tb-react-layoutshell="ready"] .tb-session-panel-modal{
  max-height:calc(100vh - 36px);
  overflow:auto;
  overscroll-behavior:contain;
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-shell{
  border-radius:24px;
  padding:22px;
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-metrics{
  grid-template-columns:repeat(5,minmax(160px,1fr));
}
html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-table{
  min-width:980px;
}
@media (min-width:1180px){
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-layout{
    gap:20px;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-sidebar{
    width:250px;
    min-width:250px;
  }
}
@media (max-width:900px){
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:782px){
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell{
    max-width:100%;
    width:100%;
    margin:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
    border-left:0!important;
    border-right:0!important;
  }
  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-client{
    max-width:100%;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-mobilebar,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-portal-actions,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-mobile-top-actions{
    border-radius:0!important;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-tabs-modern,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-tabs,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-menu-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-tabs-modern .tb-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-menu-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-sidebtn,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-tabs .tb-tab{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    justify-content:flex-start;
    white-space:normal;
    line-height:1.2;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-actions,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-row{
    gap:8px;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-actions .tb-btn,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-row .tb-btn,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-pwa-install-btn,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-push-enable-btn{
    min-height:42px;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-grid,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-areas-cards,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-scores{
    grid-template-columns:1fr!important;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-profileheader,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-profileheader-left,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-profileheader-between{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell #tbTherapistMini .tb-avatar,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-therapist-card .tb-avatar{
    width:104px;
    height:104px;
  }
  html[data-tb-react-layoutshell="ready"] .tb-modal-card,
  html[data-tb-react-layoutshell="ready"] .tb-goal-builder-modal,
  html[data-tb-react-layoutshell="ready"] .tb-session-panel-modal{
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
    margin:9px auto!important;
    border-radius:0!important;
    max-height:calc(100vh - 18px);
    box-sizing:border-box;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-shell{
    border-radius:0;
    padding:14px;
    margin-left:-10px;
    margin-right:-10px;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-table-wrap{
    border-radius:0;
  }
}
@media (max-width:520px){
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-tabs-modern,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-tabs,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-menu-actions{
    grid-template-columns:1fr;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-dashboard-root .tb-tdash-metrics{
    grid-template-columns:1fr;
  }
}

/* Correção mobile: ocupa a largura real da tela e preserva área útil.
 * Escopo somente quando o Layout Shell TypeScript está ativo.
 * Não altera dados, metas, shortcodes, permissões, relatórios ou backups.
*/
@media (max-width:782px){
  html[data-tb-react-layoutshell="ready"],
  html[data-tb-react-layoutshell="ready"] body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-shell,
  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-client,
  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-therapist,
  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-client-portal{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:8px!important;
    padding-right:8px!important;
    border-left:0!important;
    border-right:0!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-layout,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-main,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell #tbWorkspaceMain,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell #tbClientWorkspaceContent,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-workspace-shell,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-card-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-card,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-layout-modern-card,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-card-panel,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell #tbClientWorkspaceContent > .tb-card{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-workspace-menu,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell .tb-client-workspace-header{
    margin-left:0!important;
    margin-right:0!important;
    width:100%!important;
  }
}

@media (max-width:520px){
  /* Terapeuta: as etapas do Ciclo de Atendimento devem ficar em 2 colunas no mobile.*/
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-therapist .tb-therapy-steps-tabs,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-therapist #tbWorkspaceMain > .tb-tabs.tb-therapy-steps-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-therapist .tb-therapy-steps-tabs .tb-tab{
    min-height:58px!important;
    padding:10px 8px!important;
    font-size:14px!important;
    line-height:1.15!important;
    justify-content:flex-start!important;
    align-items:center!important;
    text-align:left!important;
    white-space:normal!important;
  }

  /* Cliente: mantém os menus principais encaixados em 2 colunas para ganhar altura útil.*/
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-tabs-modern,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-menu-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-tabs-modern .tb-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-menu-tab{
    min-height:54px!important;
    padding:10px 8px!important;
    font-size:13px!important;
    line-height:1.15!important;
    justify-content:flex-start!important;
    text-align:left!important;
    white-space:normal!important;
  }
}

@media (max-width:380px){
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell{
    padding-left:6px!important;
    padding-right:6px!important;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-therapist .tb-therapy-steps-tabs .tb-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-menu-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-tabs-modern .tb-tab{
    font-size:12.5px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
}

/* Reforço do Layout Shell: Ciclo de Atendimento em duas colunas no mobile.
 * O escopo usa também seletores sem dependência de .tb-r7d-layout-therapist para cobrir telas legadas carregadas antes da classificação JS.
*/
@media (max-width:782px){
  html[data-tb-react-layoutshell="ready"] .tb-wrap #tbWorkspaceMain > .tb-tabs.tb-therapy-steps-tabs,
  html[data-tb-react-layoutshell="ready"] .tb-wrap .tb-therapy-steps-tabs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    padding:0 !important;
    margin:12px 0 14px !important;
    box-sizing:border-box !important;
  }
  html[data-tb-react-layoutshell="ready"] .tb-wrap #tbWorkspaceMain > .tb-tabs.tb-therapy-steps-tabs > .tb-tab,
  html[data-tb-react-layoutshell="ready"] .tb-wrap .tb-therapy-steps-tabs > .tb-tab{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:58px !important;
    margin:0 !important;
    padding:10px 9px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px !important;
    white-space:normal !important;
    text-align:left !important;
    line-height:1.16 !important;
    font-size:clamp(12px,3.45vw,14px) !important;
    box-sizing:border-box !important;
  }
}

/* Base global mobile/desktop do Layout Shell TypeScript.
 * Objetivo: ganhar área útil real no mobile sem alterar dados, metas, relatórios,
 * backups, shortcodes ou permissões. Escopo visual/progressivo somente quando o
 * Layout Shell estiver ativo.
*/
@media (max-width:980px){
  html[data-tb-react-layoutshell="ready"],
  html[data-tb-react-layoutshell="ready"] body{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:hidden;
  }

  html[data-tb-react-layoutshell="ready"] body.tb-r7d-has-plugin-layout .tb-client-portal-shell,
  html[data-tb-react-layoutshell="ready"] body.tb-r7d-has-plugin-layout .tb-client-portal-shell-content,
  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-shell,
  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-client,
  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-therapist,
  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-client-portal,
  html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-app-fullpage{
    width:100dvw!important;
    max-width:100dvw!important;
    min-width:0!important;
    margin-left:calc(50% - 50dvw)!important;
    margin-right:calc(50% - 50dvw)!important;
    padding-left:clamp(6px,2.2vw,10px)!important;
    padding-right:clamp(6px,2.2vw,10px)!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  @supports not (width:100dvw){
    html[data-tb-react-layoutshell="ready"] body.tb-r7d-has-plugin-layout .tb-client-portal-shell,
    html[data-tb-react-layoutshell="ready"] body.tb-r7d-has-plugin-layout .tb-client-portal-shell-content,
    html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-shell,
    html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-client,
    html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-r7d-layout-therapist,
    html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-client-portal,
    html[data-tb-react-layoutshell="ready"] .tb-wrap.tb-app-fullpage{
      width:100vw!important;
      max-width:100vw!important;
      margin-left:calc(50% - 50vw)!important;
      margin-right:calc(50% - 50vw)!important;
    }
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell :where(.tb-layout,.tb-main,.tb-content,#tbWorkspaceMain,#tbClientWorkspaceContent,.tb-client-workspace-shell,.tb-client-card-panel,.tb-client-portal-shell,.tb-client-portal-shell-content){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell :where(.tb-card,.tb-layout-modern-card,.tb-pre,.tb-area-card,.tb-client-card,.tb-session-card,.tb-goal-card,.tb-journey-card,.tb-bonus-audio-card,.tb-audiobook-card){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell :where(.tb-row,.tb-actions,.tb-topbar,.tb-client-portal-topbar,.tb-client-portal-header,.tb-client-mobile-top-actions){
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-shell :where(img,svg,video,iframe,canvas,table){
    max-width:100%!important;
  }
}

@media (max-width:980px){
  /* Terapeuta: mantém o Ciclo de Atendimento em duas colunas também em celulares
 * que reportam viewport maior por tema/PWA/WebView.*/
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-therapist .tb-therapy-steps-tabs,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-therapist #tbWorkspaceMain > .tb-tabs.tb-therapy-steps-tabs,
  html[data-tb-react-layoutshell="ready"] .tb-wrap #tbWorkspaceMain > .tb-tabs.tb-therapy-steps-tabs,
  html[data-tb-react-layoutshell="ready"] .tb-wrap .tb-therapy-steps-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    margin:12px 0 14px!important;
    overflow:visible!important;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-therapist .tb-therapy-steps-tabs > .tb-tab,
  html[data-tb-react-layoutshell="ready"] .tb-wrap .tb-therapy-steps-tabs > .tb-tab{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:56px!important;
    padding:10px 8px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    white-space:normal!important;
    text-align:left!important;
    line-height:1.15!important;
    font-size:clamp(12px,3.2vw,14px)!important;
    overflow-wrap:anywhere;
    box-sizing:border-box!important;
  }

  /* Cliente: os atalhos principais ocupam a tela, sem virar lista longa quando
 * há espaço para 2 colunas.*/
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-tabs-modern,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-menu-actions,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-workspace-menu{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
    max-width:100%!important;
  }

  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-tabs-modern .tb-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-menu-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-workspace-menu-btn{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:52px!important;
    padding:10px 8px!important;
    justify-content:flex-start!important;
    text-align:left!important;
    white-space:normal!important;
    line-height:1.14!important;
    font-size:clamp(12px,3.25vw,14px)!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:360px){
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-therapist .tb-therapy-steps-tabs,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-tabs-modern,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-menu-actions,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-workspace-menu{
    gap:7px!important;
  }
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-therapist .tb-therapy-steps-tabs > .tb-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-tabs-modern .tb-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-menu-tab,
  html[data-tb-react-layoutshell="ready"] .tb-r7d-layout-client .tb-client-workspace-menu-btn{
    min-height:50px!important;
    padding:8px 7px!important;
    font-size:12px!important;
  }
}
