/* Vida & Saúde | Painel do Fitoterapeuta | V237
   Passada conjunta desktop + mobile.
   Foco: geometria de referência por área, compactação mobile de Registros/
   Consentimentos e estados transitórios visuais completos para Financeiro,
   Orientações e Atendimentos sem inserir dados demonstrativos.
   Sem zoom e sem transform:scale de layout. */

body.professional-visual-v237 .professional-section,
body.professional-visual-v237 .professional-section > *,
body.professional-visual-v237 .professional-panel{
  min-width:0!important;
  box-sizing:border-box!important;
}

/* Evita que elementos decorativos passem a participar da largura útil. */
body.professional-visual-v237 #professional-clients .v196-clients-hero,
body.professional-visual-v237 #professional-agenda .v197-agenda-hero,
body.professional-visual-v237 #professional-evolution .v198-evolution-hero,
body.professional-visual-v237 #professional-attendances .v199-attendance-hero,
body.professional-visual-v237 #professional-telehealth .tele201-hero,
body.professional-visual-v237 #professional-records .rec201-hero,
body.professional-visual-v237 #professional-consents .consents202-hero,
body.professional-visual-v237 #professional-finance .v203-finance-hero,
body.professional-visual-v237 #professional-copilot .copilot203-hero{
  isolation:isolate!important;
}

/* =========================================================
   ESTADOS TRANSITÓRIOS DE REFERÊNCIA
   Mantêm a leitura e a composição sem valores inventados.
   ========================================================= */
body.professional-visual-v237 .v237-reference-state{
  display:grid!important;
  gap:16px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.professional-visual-v237 .v237-reference-hero{
  position:relative!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr) 245px!important;
  align-items:center!important;
  gap:24px!important;
  min-height:194px!important;
  padding:22px 28px!important;
  overflow:hidden!important;
  border:1px solid #bd8b32!important;
  border-radius:16px!important;
  background:linear-gradient(122deg,#0d5144 0%,#073d34 62%,#06372f 100%)!important;
  box-shadow:0 8px 18px rgba(37,52,44,.08)!important;
}
body.professional-visual-v237 .v237-reference-hero::after{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  right:-12px!important;
  bottom:-18px!important;
  width:355px!important;
  height:210px!important;
  background:url('../img/hero-leaves-gold.png') right bottom/contain no-repeat!important;
  opacity:.55!important;
  pointer-events:none!important;
}
body.professional-visual-v237 .v237-reference-emblem{
  position:relative!important;
  z-index:2!important;
  width:165px!important;
  height:150px!important;
  object-fit:contain!important;
  justify-self:center!important;
  filter:drop-shadow(0 8px 11px rgba(0,0,0,.18))!important;
}
body.professional-visual-v237 .v237-reference-copy{
  position:relative!important;
  z-index:2!important;
  min-width:0!important;
}
body.professional-visual-v237 .v237-reference-copy h2{
  margin:0!important;
  color:#eac66f!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:28px!important;
  line-height:1.08!important;
  font-weight:500!important;
}
body.professional-visual-v237 .v237-reference-copy p{
  max-width:570px!important;
  margin:10px 0 0!important;
  color:#f7f2e8!important;
  font-size:11px!important;
  line-height:1.52!important;
}
body.professional-visual-v237 .v237-reference-status{
  position:relative!important;
  z-index:2!important;
  align-self:center!important;
  justify-self:end!important;
  width:100%!important;
  max-width:235px!important;
  min-height:48px!important;
  display:grid!important;
  place-items:center!important;
  padding:8px 12px!important;
  border:1px solid rgba(220,177,80,.8)!important;
  border-radius:9px!important;
  background:rgba(5,55,47,.68)!important;
  color:#e9c66d!important;
  font-size:10px!important;
  line-height:1.35!important;
  text-align:center!important;
}
body.professional-visual-v237 .v237-reference-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
body.professional-visual-v237 .v237-reference-kpis article{
  position:relative!important;
  min-height:122px!important;
  padding:18px 15px 14px 72px!important;
  border:1px solid #e9ddcc!important;
  border-radius:13px!important;
  background:#fffdf9!important;
  box-shadow:0 4px 13px rgba(68,52,35,.045)!important;
}
body.professional-visual-v237 .v237-reference-kpis article::before{
  content:""!important;
  position:absolute!important;
  left:15px!important;
  top:18px!important;
  width:44px!important;
  height:44px!important;
  border-radius:50%!important;
  border:1px solid #dfe7cc!important;
  background:#eef2df!important;
}
body.professional-visual-v237 .v237-reference-kpis article:nth-child(3)::before{
  border-color:#f1d7c9!important;
  background:#fbede5!important;
}
body.professional-visual-v237 .v237-reference-kpis span{
  display:block!important;
  color:#334a43!important;
  font-size:10px!important;
}
body.professional-visual-v237 .v237-reference-kpis strong{
  display:block!important;
  margin-top:6px!important;
  color:#0b493f!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:27px!important;
  line-height:1!important;
}
body.professional-visual-v237 .v237-reference-kpis small{
  display:block!important;
  margin-top:10px!important;
  color:#818783!important;
  font-size:8px!important;
}
body.professional-visual-v237 .v237-reference-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.96fr) minmax(0,1.18fr)!important;
  gap:16px!important;
}
body.professional-visual-v237 .v237-reference-panel{
  min-height:304px!important;
  padding:16px!important;
  border:1px solid #e8ddcd!important;
  border-radius:14px!important;
  background:#fffdf9!important;
  box-shadow:0 4px 13px rgba(68,52,35,.04)!important;
}
body.professional-visual-v237 .v237-reference-panel h3{
  margin:0 0 14px!important;
  color:#2d4941!important;
  font-size:13px!important;
}
body.professional-visual-v237 .v237-reference-lines{
  display:grid!important;
  gap:10px!important;
}
body.professional-visual-v237 .v237-reference-lines i{
  display:block!important;
  height:42px!important;
  border:1px solid #eee5d8!important;
  border-radius:8px!important;
  background:linear-gradient(90deg,#faf6ef,#fffdfa 46%,#faf6ef)!important;
}
body.professional-visual-v237 .v237-reference-panel.is-wide{
  min-height:210px!important;
}
body.professional-visual-v237 .v237-reference-bottom{
  display:grid!important;
  grid-template-columns:1fr 1.22fr!important;
  gap:16px!important;
}
body.professional-visual-v237 .v237-reference-bottom .v237-reference-panel{
  min-height:205px!important;
}

/* O estado original continua no DOM para acessibilidade/retry, mas não achata o layout. */
body.professional-visual-v237 #professional-finance .v237-finance-reference + .v8710-finance-state,
body.professional-visual-v237 #professional-guidance .v237-guidance-reference + .v163-guidance-state,
body.professional-visual-v237 #professional-guidance .v237-guidance-reference + .v163-guidance-workspace.is-loading{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* ATENDIMENTOS: estado inicial não fica como faixa verde vazia. */
body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:170px minmax(0,1fr) 240px!important;
  align-items:center!important;
  gap:24px!important;
  min-height:214px!important;
  padding:22px 36px!important;
}
body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder img{
  width:150px!important;
  height:150px!important;
  object-fit:contain!important;
  justify-self:center!important;
}
body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder h3{
  margin:5px 0 8px!important;
  color:#efc872!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:28px!important;
  font-weight:500!important;
}
body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder p{
  margin:0!important;
  max-width:500px!important;
  color:#f5efe3!important;
  font-size:11px!important;
  line-height:1.5!important;
}
body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder .v237-attendance-actions{
  display:grid!important;
  gap:10px!important;
}
body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder button{
  min-height:44px!important;
  border:1px solid #c99b3f!important;
  border-radius:8px!important;
  background:rgba(7,57,49,.68)!important;
  color:#e8c66d!important;
  font-weight:700!important;
}

/* =========================================================
   1448 x 1086: trava a massa vertical de cada referência sem escala.
   ========================================================= */
@media (min-width:1440px) and (max-width:1535px) and (min-height:1000px){
  body.professional-visual-v237 #professional-clients .v196-clients-hero{
    height:132px!important;min-height:132px!important;
  }
  body.professional-visual-v237 #professional-agenda .v197-agenda-hero{
    height:176px!important;min-height:176px!important;
  }
  body.professional-visual-v237 #professional-evolution .v198-evolution-hero{
    height:184px!important;min-height:184px!important;
  }
  body.professional-visual-v237 #professional-attendances .v199-attendance-hero{
    height:216px!important;min-height:216px!important;
  }
  body.professional-visual-v237 #professional-telehealth .tele201-hero{
    height:216px!important;min-height:216px!important;
  }
  body.professional-visual-v237 #professional-records .rec201-hero{
    height:222px!important;min-height:222px!important;
  }
  body.professional-visual-v237 #professional-consents .consents202-hero{
    height:220px!important;min-height:220px!important;
  }
  body.professional-visual-v237 #professional-finance .v203-finance-hero{
    height:192px!important;min-height:192px!important;
  }
  body.professional-visual-v237 #professional-copilot .copilot203-hero{
    height:244px!important;min-height:244px!important;
  }

  body.professional-visual-v237 #professional-clients .v196-clients-metrics .v196-metric-card,
  body.professional-visual-v237 #professional-agenda .v197-agenda-metrics .v197-metric-card,
  body.professional-visual-v237 #professional-evolution .v198-evolution-metrics .v198-metric-card,
  body.professional-visual-v237 #professional-attendances .v199-attendance-metrics .v199-metric-card,
  body.professional-visual-v237 #professional-consents .consents202-kpis > article,
  body.professional-visual-v237 #professional-copilot .copilot203-kpis > article{
    box-sizing:border-box!important;
  }

  body.professional-visual-v237 #professional-clients .v196-clients-metrics .v196-metric-card{min-height:124px!important;height:124px!important}
  body.professional-visual-v237 #professional-agenda .v197-agenda-metrics .v197-metric-card{min-height:120px!important;height:120px!important}
  body.professional-visual-v237 #professional-evolution .v198-evolution-metrics .v198-metric-card{min-height:120px!important;height:120px!important}
  body.professional-visual-v237 #professional-attendances .v199-attendance-metrics .v199-metric-card{min-height:124px!important;height:124px!important}
  body.professional-visual-v237 #professional-consents .consents202-kpis > article{min-height:118px!important;height:118px!important}
  body.professional-visual-v237 #professional-copilot .copilot203-kpis > article{min-height:119px!important;height:119px!important}

  /* Registros: separadores e quatro métricas ficam rigidamente distribuídos. */
  body.professional-visual-v237 #professional-records .rec201-hero-metrics{
    align-self:stretch!important;
    min-height:142px!important;
  }
  body.professional-visual-v237 #professional-records .rec201-hero-metrics article{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  /* Catálogo e Configurações passam a ocupar a mesma faixa vertical do quadro geral. */
  body.professional-visual-v237 #professional-reports .reports225-reference{min-height:690px!important}
  body.professional-visual-v237 #professional-settings .settings225-reference{min-height:705px!important}
}

/* =========================================================
   NOTEBOOK / DESKTOP COMPACTO 1024-1439
   ========================================================= */
@media (min-width:1024px) and (max-width:1439px){
  body.professional-visual-v237 .v237-reference-hero{
    grid-template-columns:145px minmax(0,1fr) 205px!important;
    min-height:176px!important;
    padding:18px 20px!important;
    gap:17px!important;
  }
  body.professional-visual-v237 .v237-reference-emblem{width:132px!important;height:126px!important}
  body.professional-visual-v237 .v237-reference-copy h2{font-size:24px!important}
  body.professional-visual-v237 .v237-reference-kpis{gap:10px!important}
  body.professional-visual-v237 .v237-reference-kpis article{min-height:108px!important;padding-left:60px!important}
  body.professional-visual-v237 .v237-reference-kpis article::before{left:11px!important;width:38px!important;height:38px!important}
  body.professional-visual-v237 .v237-reference-grid{grid-template-columns:1fr 1fr!important;gap:11px!important}
  body.professional-visual-v237 .v237-reference-bottom{grid-template-columns:1fr!important;gap:11px!important}

  body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder{
    grid-template-columns:135px minmax(0,1fr) 200px!important;
    min-height:188px!important;
    padding:18px 24px!important;
    gap:17px!important;
  }
  body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder img{width:120px!important;height:120px!important}
}

/* =========================================================
   MOBILE / TABLET 1023 para baixo
   ========================================================= */
@media (max-width:1023px){
  body.professional-visual-v237 .professional-main{
    min-width:0!important;
    overflow-x:hidden!important;
  }

  body.professional-visual-v237 .v237-reference-state{gap:9px!important}
  body.professional-visual-v237 .v237-reference-hero{
    grid-template-columns:1fr!important;
    gap:8px!important;
    min-height:174px!important;
    padding:16px 14px!important;
  }
  body.professional-visual-v237 .v237-reference-hero::after{
    right:-20px!important;
    bottom:-16px!important;
    width:68%!important;
    height:100%!important;
    opacity:.23!important;
  }
  body.professional-visual-v237 .v237-reference-emblem{display:none!important}
  body.professional-visual-v237 .v237-reference-copy h2{font-size:23px!important;line-height:1.08!important}
  body.professional-visual-v237 .v237-reference-copy p{max-width:330px!important;font-size:9.7px!important;line-height:1.45!important}
  body.professional-visual-v237 .v237-reference-status{
    justify-self:start!important;
    max-width:100%!important;
    min-height:36px!important;
    place-items:start!important;
    padding:7px 10px!important;
    font-size:8.5px!important;
    text-align:left!important;
  }
  body.professional-visual-v237 .v237-reference-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.professional-visual-v237 .v237-reference-kpis article{
    min-height:94px!important;
    padding:12px 8px 9px 50px!important;
  }
  body.professional-visual-v237 .v237-reference-kpis article::before{
    left:9px!important;top:12px!important;width:32px!important;height:32px!important;
  }
  body.professional-visual-v237 .v237-reference-kpis span{font-size:8.5px!important}
  body.professional-visual-v237 .v237-reference-kpis strong{font-size:22px!important}
  body.professional-visual-v237 .v237-reference-kpis small{margin-top:7px!important;font-size:7px!important}
  body.professional-visual-v237 .v237-reference-grid,
  body.professional-visual-v237 .v237-reference-bottom{
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }
  body.professional-visual-v237 .v237-reference-panel,
  body.professional-visual-v237 .v237-reference-panel.is-wide,
  body.professional-visual-v237 .v237-reference-bottom .v237-reference-panel{
    min-height:180px!important;
    padding:12px!important;
  }

  /* Registros: remove a quebra desktop e reduz a altura acumulada do hero. */
  body.professional-visual-v237 #professional-records .v237-record-break{
    display:inline!important;
  }
  body.professional-visual-v237 #professional-records .v237-record-break::after{content:" "!important}
  body.professional-visual-v237 #professional-records .rec201-emblem{display:none!important}
  body.professional-visual-v237 #professional-records .rec201-hero{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    padding:15px 14px 13px!important;
  }
  body.professional-visual-v237 #professional-records .rec201-hero-copy h2{
    max-width:100%!important;
    font-size:20px!important;
    line-height:1.08!important;
  }
  body.professional-visual-v237 #professional-records .rec201-hero-copy p{
    max-width:335px!important;
    margin-top:6px!important;
    font-size:9px!important;
    line-height:1.38!important;
  }
  body.professional-visual-v237 #professional-records .rec201-hero-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0!important;
  }
  body.professional-visual-v237 #professional-records .rec201-hero-metrics article{
    min-height:58px!important;
    padding:7px 9px!important;
  }
  body.professional-visual-v237 #professional-records .rec201-hero-metrics strong{font-size:19px!important}
  body.professional-visual-v237 #professional-records .rec201-hicon{font-size:15px!important}

  /* Consentimentos: texto usa a largura inteira; a folha nunca estreita a coluna. */
  body.professional-visual-v237 #professional-consents .consents202-emblem{display:none!important}
  body.professional-visual-v237 #professional-consents .consents202-hero{
    min-height:0!important;
    padding:15px 14px!important;
  }
  body.professional-visual-v237 #professional-consents .consents202-hero-copy{
    width:100%!important;
    max-width:none!important;
    padding-right:0!important;
  }
  body.professional-visual-v237 #professional-consents .consents202-hero-copy h3{
    max-width:335px!important;
    font-size:20px!important;
    line-height:1.08!important;
  }
  body.professional-visual-v237 #professional-consents .consents202-hero-copy p{
    max-width:335px!important;
    font-size:9.2px!important;
    line-height:1.4!important;
  }
  body.professional-visual-v237 #professional-consents .consents202-hero-leaves{
    right:-36px!important;
    bottom:-22px!important;
    width:48%!important;
    height:66%!important;
    opacity:.18!important;
  }

  /* Atendimentos: placeholder acompanha o hero real no celular. */
  body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    min-height:164px!important;
    padding:15px 14px!important;
  }
  body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder img{display:none!important}
  body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder h3{font-size:21px!important;margin:3px 0 6px!important}
  body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder p{font-size:9px!important;line-height:1.4!important}
  body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder .v237-attendance-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }
  body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder button{min-height:37px!important;font-size:9px!important}

  /* Relatórios / Configurações: garante o corpo de referência imediatamente abaixo do cabeçalho móvel. */
  body.professional-visual-v237 #professional-reports .reports225-reference,
  body.professional-visual-v237 #professional-settings .settings225-reference{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
}

@media (max-width:620px){
  body.professional-visual-v237 .professional-main{padding:8px 8px 16px!important}
  body.professional-visual-v237 #professional-records .rec201-hero,
  body.professional-visual-v237 #professional-consents .consents202-hero,
  body.professional-visual-v237 .v237-reference-hero{
    border-radius:13px!important;
  }
  body.professional-visual-v237 #professional-records .rec201-hero::after{opacity:.16!important;width:46%!important;height:52%!important}
}

@media (max-width:390px){
  body.professional-visual-v237 .v237-reference-copy h2{font-size:21px!important}
  body.professional-visual-v237 .v237-reference-hero{min-height:180px!important;padding:14px 12px!important}
  body.professional-visual-v237 #professional-records .rec201-hero-copy h2,
  body.professional-visual-v237 #professional-consents .consents202-hero-copy h3{font-size:18.8px!important}
  body.professional-visual-v237 #professional-records .rec201-hero-metrics article{min-height:55px!important;padding:6px 8px!important}
  body.professional-visual-v237 #professional-attendances .v237-attendance-placeholder .v237-attendance-actions{grid-template-columns:1fr!important}
}

@media (max-width:370px){
  body.professional-visual-v237 .v237-reference-kpis article{padding-left:47px!important}
  body.professional-visual-v237 #professional-records .rec201-hero,
  body.professional-visual-v237 #professional-consents .consents202-hero{padding-left:12px!important;padding-right:12px!important}
}

/* Desktop preserva a quebra do título de Registros exatamente como referência. */
@media (min-width:1024px){
  body.professional-visual-v237 #professional-records .v237-record-break{display:block!important}
}
