/*
 * Noelma Nutri — Simplificação visual v1
 * Camada de apresentação isolada para produção.
 * Não altera regras, formulários, banco ou permissões.
 */

:root {
  --noelma-line: rgba(78, 34, 49, 0.11);
  --noelma-soft: #fbf8f7;
  --noelma-soft-strong: #f6efef;
  --noelma-text-soft: #766b70;
}

/* Perfil do paciente: menos caixas, menos ruído */
.patient-profile-clean .clean-heading {
  margin-bottom: 1.25rem;
}

.patient-profile-clean .clean-heading h1 {
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
  margin-bottom: .2rem;
}

.patient-profile-clean .clean-profile-hero {
  border: 1px solid var(--noelma-line) !important;
  border-radius: 24px;
  box-shadow: none !important;
  background: linear-gradient(105deg, rgba(122, 18, 59, .055), rgba(255,255,255,.94) 54%, rgba(144, 154, 82, .045));
  overflow: visible;
}

.patient-profile-clean .clean-profile-hero > .card-body {
  padding: 1.2rem 1.25rem;
}

.patient-profile-clean .patient-avatar-xl {
  width: 76px;
  height: 76px;
  border-radius: 22px;
}

.patient-profile-clean .patient-action-panel-simplified {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .6rem;
  width: auto;
  min-width: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
  position: relative;
  z-index: 30;
}

.patient-profile-clean .patient-action-panel-simplified .btn {
  min-height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  white-space: nowrap;
}

.patient-profile-clean .patient-action-panel-simplified .dropdown-menu {
  min-width: 235px;
  border: 1px solid var(--noelma-line);
  border-radius: 14px;
  padding: .45rem;
  box-shadow: 0 16px 36px rgba(57, 34, 42, .14);
  z-index: 1085;
}

.patient-profile-clean .patient-action-panel-simplified .dropdown-item {
  display: flex;
  align-items: center;
  gap: .65rem;
  border-radius: 9px;
  padding: .62rem .7rem;
}

/* Resumo essencial em uma única faixa */
.patient-essential-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--noelma-line);
  border-bottom: 1px solid var(--noelma-line);
  background: rgba(255,255,255,.65);
}

.patient-essential-item {
  min-width: 0;
  padding: .95rem 1.1rem;
  position: relative;
}

.patient-essential-item + .patient-essential-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20%;
  bottom: 20%;
  width: 1px;
  background: var(--noelma-line);
}

.patient-essential-item > span,
.patient-overview-core-grid span,
.patient-secondary-details-grid span {
  display: block;
  color: var(--noelma-text-soft);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
  margin-bottom: .2rem;
}

.patient-essential-item strong {
  display: block;
  color: #371c27;
  font-size: 1.02rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.patient-essential-item small {
  display: block;
  color: var(--noelma-text-soft);
  margin-top: .18rem;
}

.patient-essential-item.has-attention strong {
  color: #8a183f;
}

/* Alertas em faixa compacta */
.patient-attention-strip {
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .75rem 1rem;
  border-radius: 14px;
  background: #fff9e9;
  border: 1px solid rgba(193, 145, 25, .2);
}

.patient-attention-strip-title {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  font-weight: 800;
  color: #6e5100;
  white-space: nowrap;
}

.patient-attention-strip-items {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .7rem;
  min-width: 0;
}

.patient-attention-strip-items span {
  color: #715e25;
  font-size: .88rem;
}

.patient-attention-strip-items span + span::before {
  content: "•";
  margin-right: .7rem;
  opacity: .45;
}

/* Navegação agrupada — sem barra horizontal */
.patient-section-navigation {
  position: relative;
  z-index: 20;
}

.patient-section-navigation-desktop {
  display: grid;
  grid-template-columns: 1fr 1fr 1.15fr 1.35fr .9fr;
  align-items: stretch;
  gap: .35rem;
  padding: .35rem;
  border: 1px solid var(--noelma-line);
  border-radius: 16px;
  background: #fff;
}

.patient-section-link {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #61535a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  font-weight: 700;
  font-size: .9rem;
  padding: .65rem .75rem;
  transition: background-color .18s ease, color .18s ease;
}

.patient-section-link:hover,
.patient-section-link:focus-visible,
.patient-section-link.active,
.patient-section-group.is-active > .patient-section-link {
  background: var(--noelma-soft-strong);
  color: #711337;
}

.patient-section-group {
  min-width: 0;
}

.patient-section-group .dropdown-menu {
  width: max-content;
  min-width: 205px;
  border-radius: 13px;
  border: 1px solid var(--noelma-line);
  padding: .4rem;
  box-shadow: 0 14px 34px rgba(54, 30, 39, .12);
}

.patient-section-group .dropdown-item {
  border-radius: 9px;
  padding: .6rem .7rem;
}

.patient-section-group .dropdown-item.active,
.patient-section-group .dropdown-item:active {
  background: var(--noelma-soft-strong);
  color: #711337;
}

.patient-section-navigation-mobile {
  display: none;
}

/* Conteúdo do resumo: editorial em vez de vários cards */
.patient-overview-details {
  border-bottom: 1px solid var(--noelma-line);
  padding-bottom: 1.25rem;
}

.patient-overview-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.patient-overview-core-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--noelma-line);
  border-bottom: 1px solid var(--noelma-line);
}

.patient-overview-core-grid > div {
  min-width: 0;
  padding: .85rem 1rem;
}

.patient-overview-core-grid > div + div {
  border-left: 1px solid var(--noelma-line);
}

.patient-overview-core-grid strong {
  display: block;
  color: #33252b;
  font-size: .98rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.patient-secondary-details {
  margin-top: .85rem;
}

.patient-secondary-details summary {
  width: fit-content;
  color: #6f1437;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
  list-style-position: inside;
}

.patient-secondary-details-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  padding: 1rem 0 .2rem;
}

.patient-secondary-details-grid > div {
  min-width: 0;
}

.patient-secondary-details-grid .span-2 {
  grid-column: span 2;
}

.patient-secondary-details-grid strong {
  display: block;
  color: #45383d;
  font-size: .92rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

/* Menos caixas dentro das seções do perfil */
.patient-profile-clean .clean-tab-content > .tab-pane > .clean-section-card,
.patient-profile-clean .clean-tab-content > .tab-pane > .row > [class*="col-"] > .clean-section-card,
.patient-profile-clean .patient-assessment-card {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent;
}

.patient-profile-clean .clean-tab-content > .tab-pane > .clean-section-card > .card-body,
.patient-profile-clean .patient-assessment-card > .card-body {
  padding-left: 0;
  padding-right: 0;
}

.patient-profile-clean .patient-plan-strip {
  border: 1px solid var(--noelma-line);
  box-shadow: none;
  background: var(--noelma-soft);
}

.patient-profile-clean .schedule-mini-card,
.patient-profile-clean .clean-mini,
.patient-profile-clean .journey-kpi-card,
.patient-profile-clean .journey-check-item,
.patient-profile-clean .info-box {
  box-shadow: none !important;
  border-color: var(--noelma-line) !important;
}

/* Painéis da nutricionista e do paciente: linguagem visual mais calma */
.nutritionist-clean-area .dashboard-simple-section,
.patient-clean-area .clean-section-card,
.patient-clean-area .mini-card,
.patient-clean-area .patient-dashboard-card {
  box-shadow: none !important;
}

.nutritionist-clean-area .dashboard-simple-section {
  border: 0;
  border-bottom: 1px solid var(--noelma-line);
  border-radius: 0;
  padding-left: 0;
  padding-right: 0;
  background: transparent;
}

.nutritionist-clean-area .dashboard-simple-item,
.patient-clean-area .clean-section-card,
.patient-clean-area .mini-card {
  border-color: var(--noelma-line) !important;
}

.nutritionist-clean-area .dashboard-simple-item {
  box-shadow: none !important;
}

/* Tablet */
@media (max-width: 1199.98px) {
  .patient-profile-clean .clean-profile-hero .d-flex.flex-xl-row {
    align-items: stretch !important;
  }

  .patient-profile-clean .patient-action-panel-simplified {
    justify-content: flex-start;
  }

  .patient-section-navigation-desktop {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .patient-section-link {
    font-size: .82rem;
    padding-inline: .5rem;
  }
}

/* Mobile: navegação própria, sem scroll horizontal */
@media (max-width: 767.98px) {
  .patient-profile-clean {
    padding-left: .8rem;
    padding-right: .8rem;
  }

  .patient-profile-clean .clean-heading {
    align-items: flex-start;
    gap: .75rem;
  }

  .patient-profile-clean .clean-heading p {
    display: none;
  }

  .patient-profile-clean .clean-profile-hero {
    border-radius: 18px;
    margin-bottom: 1rem !important;
  }

  .patient-profile-clean .clean-profile-hero > .card-body {
    padding: 1rem;
  }

  .patient-profile-clean .patient-avatar-xl {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    flex: 0 0 auto;
  }

  .patient-profile-clean .clean-profile-hero h2 {
    font-size: 1.2rem;
  }

  .patient-profile-clean .clean-profile-hero .eyebrow {
    display: none;
  }

  .patient-profile-clean .patient-plan-soft-badge {
    display: none;
  }

  .patient-profile-clean .patient-action-panel-simplified {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .5rem;
  }

  .patient-profile-clean .patient-primary-action {
    justify-content: center;
  }

  .patient-profile-clean .patient-action-panel-simplified .dropdown {
    position: static;
  }

  .patient-essential-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--noelma-line);
    border-radius: 14px;
    overflow: hidden;
  }

  .patient-essential-item {
    padding: .8rem .85rem;
  }

  .patient-essential-item + .patient-essential-item::before {
    display: none;
  }

  .patient-essential-item:nth-child(even) {
    border-left: 1px solid var(--noelma-line);
  }

  .patient-essential-item:nth-child(n+3) {
    border-top: 1px solid var(--noelma-line);
  }

  .patient-attention-strip {
    align-items: flex-start;
    flex-direction: column;
    gap: .45rem;
  }

  .patient-attention-strip-items {
    display: grid;
    gap: .25rem;
  }

  .patient-attention-strip-items span + span::before {
    display: none;
  }

  .patient-section-navigation-desktop {
    display: none;
  }

  .patient-section-navigation-mobile {
    display: block;
  }

  .patient-mobile-section-button {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    text-align: left;
    border: 1px solid var(--noelma-line);
    border-radius: 13px;
    background: #fff;
    color: #4a3940;
    font-weight: 800;
  }

  .patient-mobile-section-button i {
    margin-right: .35rem;
  }

  .patient-section-navigation-mobile .dropdown-menu {
    max-height: min(70vh, 520px);
    overflow-y: auto;
    border: 1px solid var(--noelma-line);
    border-radius: 13px;
    box-shadow: 0 14px 36px rgba(54, 30, 39, .13);
  }

  .patient-section-navigation-mobile .dropdown-header {
    color: #8a777e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding-top: .75rem;
  }

  .patient-section-navigation-mobile .dropdown-item {
    min-height: 42px;
    border-radius: 8px;
  }

  .patient-section-navigation-mobile .dropdown-item.active,
  .patient-section-navigation-mobile .dropdown-item:active {
    background: var(--noelma-soft-strong);
    color: #711337;
  }

  .patient-overview-heading {
    align-items: flex-start;
  }

  .patient-overview-core-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .patient-overview-core-grid > div + div {
    border-left: 0;
  }

  .patient-overview-core-grid > div:nth-child(even) {
    border-left: 1px solid var(--noelma-line);
  }

  .patient-overview-core-grid > div:nth-child(n+3) {
    border-top: 1px solid var(--noelma-line);
  }

  .patient-secondary-details-grid {
    grid-template-columns: 1fr;
  }

  .patient-secondary-details-grid .span-2 {
    grid-column: auto;
  }

  .patient-profile-clean .clean-tab-content .card-body {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .patient-section-link {
    transition: none;
  }
}

@media print {
  .patient-section-navigation,
  .patient-action-panel-simplified,
  .patient-attention-strip {
    display: none !important;
  }
}

@media (max-width: 575.98px) {
  .patient-profile-clean .patient-action-panel-simplified .btn {
    width: auto;
  }

  .patient-profile-clean .patient-action-panel-simplified .patient-primary-action {
    width: 100%;
  }
}

/* Menos elementos concorrendo com o trabalho clínico no ambiente logado */
body.role-admin .whatsapp-float-icon,
body.role-nutritionist .whatsapp-float-icon {
  display: none !important;
}

body.app-shell-body .app-sidebar-section + .app-sidebar-section {
  margin-top: .9rem;
}

body.app-shell-body .app-sidebar-section-title {
  opacity: .72;
}

body.app-shell-body .app-sidebar-link {
  border-radius: 10px;
}

/* Lista de pacientes: indicadores em faixa, não em quatro cartões concorrentes */
.patients-friendly-page .patient-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--noelma-line);
  border-bottom: 1px solid var(--noelma-line);
}

.patients-friendly-page .patient-summary-grid .friendly-stat-card {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: .85rem 1rem;
  min-height: 0;
}

.patients-friendly-page .patient-summary-grid .friendly-stat-card + .friendly-stat-card {
  border-left: 1px solid var(--noelma-line) !important;
}

.patients-friendly-page .friendly-filter-card {
  box-shadow: none !important;
  border: 1px solid var(--noelma-line) !important;
}

@media (max-width: 767.98px) {
  .patients-friendly-page .patient-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--noelma-line);
    border-radius: 14px;
    overflow: hidden;
  }

  .patients-friendly-page .patient-summary-grid .friendly-stat-card + .friendly-stat-card {
    border-left: 0 !important;
  }

  .patients-friendly-page .patient-summary-grid .friendly-stat-card:nth-child(even) {
    border-left: 1px solid var(--noelma-line) !important;
  }

  .patients-friendly-page .patient-summary-grid .friendly-stat-card:nth-child(n+3) {
    border-top: 1px solid var(--noelma-line) !important;
  }
}

/* ============================================================
 * Noelma Nutri — Simplificação visual v2
 * - Reintroduz uma superfície visual contínua no perfil do paciente.
 * - Menu lateral inteligente no desktop: recolhido por preferência,
 *   expande temporariamente ao passar o mouse sem deslocar conteúdo.
 * ============================================================ */

/* Perfil do paciente: uma superfície principal contínua para evitar a
   sensação de blocos soltos/flutuando no fundo da aplicação. */
.patient-profile-clean {
  position: relative;
  isolation: isolate;
  margin-top: .45rem;
  margin-bottom: 1.5rem;
  padding: 1.35rem 1.45rem 2rem !important;
  border: 1px solid rgba(78, 34, 49, .10);
  border-radius: 28px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 48px rgba(72, 38, 49, .07);
}

.patient-profile-clean .clean-heading {
  padding: .15rem .1rem 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--noelma-line);
}

.patient-profile-clean .clean-profile-hero {
  margin-bottom: 1rem !important;
  background:
    linear-gradient(112deg, rgba(122, 18, 59, .055), rgba(255,255,255,.98) 50%, rgba(144,154,82,.055));
  box-shadow: 0 8px 22px rgba(72, 38, 49, .045) !important;
}

.patient-profile-clean .patient-essential-overview {
  border: 1px solid var(--noelma-line);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 6px 18px rgba(72, 38, 49, .035);
}

.patient-profile-clean .patient-attention-strip {
  margin-top: .75rem;
  margin-bottom: 1rem !important;
}

.patient-profile-clean .patient-section-navigation {
  margin-top: .95rem;
  margin-bottom: 1rem !important;
}

.patient-profile-clean .patient-section-navigation-desktop {
  background: #fbfaf9;
  border-color: rgba(78, 34, 49, .12);
}

/* O conteúdo de cada seção passa a ter um plano de fundo próprio e contínuo.
   Os cards internos continuam leves para não voltar ao visual carregado. */
.patient-profile-clean .clean-tab-content {
  min-height: 260px;
  padding: 1.3rem 1.4rem 1.45rem;
  border: 1px solid rgba(78, 34, 49, .10);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(72, 38, 49, .045);
}

.patient-profile-clean .clean-tab-content > .tab-pane {
  min-width: 0;
}

.patient-profile-clean .patient-overview-details {
  margin-bottom: 1.25rem !important;
  padding-bottom: 1.15rem;
}

.patient-profile-clean .patient-overview-core-grid {
  overflow: hidden;
  border: 1px solid var(--noelma-line);
  border-radius: 14px;
  background: #fcfbfa;
}

.patient-profile-clean .patient-overview-core-grid > div {
  padding: .9rem 1rem;
}

.patient-profile-clean .patient-assessment-highlight,
.patient-profile-clean .consultation-assessment-summary-grid > *,
.patient-profile-clean .patient-plan-strip {
  background-color: #fcfbfa;
}

/* Menu lateral inteligente — somente desktop.
   Quando o usuário escolhe "Ocultar menu", deixamos uma pequena alça na
   borda esquerda. O hover abre o menu como overlay; o conteúdo não se move. */
@media (min-width: 992px) {
  body.app-sidebar-collapsed .app-sidebar {
    transform: translateX(calc(-100% + 18px));
    box-shadow: none;
    transition: transform .24s cubic-bezier(.2,.75,.3,1), box-shadow .24s ease;
    will-change: transform;
  }

  body.app-sidebar-collapsed .app-sidebar::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 0;
    width: 18px;
    height: 64px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 12px 12px 0;
    color: rgba(255,255,255,.95);
    background: linear-gradient(180deg, #74163b, #5e1230);
    box-shadow: 5px 0 14px rgba(72, 20, 42, .15);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1;
    pointer-events: none;
    opacity: .9;
    transition: opacity .18s ease;
  }

  body.app-sidebar-collapsed .app-sidebar:hover,
  body.app-sidebar-collapsed .app-sidebar:focus-within {
    transform: translateX(0);
    box-shadow: 1.2rem 0 2.8rem rgba(37, 24, 32, .16);
  }

  body.app-sidebar-collapsed .app-sidebar:hover::after,
  body.app-sidebar-collapsed .app-sidebar:focus-within::after {
    opacity: 0;
  }

  /* A expansão temporária é em overlay: não altera a largura da área útil. */
  body.app-sidebar-collapsed .app-topbar,
  body.app-sidebar-collapsed main.app-main {
    margin-left: 0;
  }

  body.app-sidebar-collapsed .app-sidebar-link,
  body.app-sidebar-collapsed .app-sidebar-profile,
  body.app-sidebar-collapsed .app-sidebar-brand,
  body.app-sidebar-collapsed .app-sidebar-footer {
    visibility: visible;
  }
}

@media (max-width: 991.98px) {
  .patient-profile-clean {
    margin-top: .2rem;
    margin-bottom: .8rem;
    padding: 1rem !important;
    border-radius: 20px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 10px 28px rgba(72, 38, 49, .055);
  }

  .patient-profile-clean .clean-tab-content {
    padding: 1rem;
    border-radius: 18px;
    box-shadow: none;
  }
}

@media (max-width: 575.98px) {
  .patient-profile-clean {
    padding: .8rem !important;
    border-radius: 16px;
  }

  .patient-profile-clean .clean-heading {
    padding-bottom: .8rem;
  }

  .patient-profile-clean .clean-tab-content {
    padding: .8rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.app-sidebar-collapsed .app-sidebar,
  body.app-sidebar-collapsed .app-sidebar::after {
    transition: none !important;
  }
}

@media print {
  .patient-profile-clean {
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  .patient-profile-clean .clean-tab-content {
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
}

/* Plano alimentar do paciente: resumo limpo + leitura completa por refeição */
.patient-meal-plan-preview .card-body {
  min-width: 0;
}

.patient-meal-plan-header-actions {
  justify-content: flex-end;
}

.patient-meal-summary-list {
  display: grid;
  gap: .75rem;
  max-height: min(66vh, 640px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: .25rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(98, 20, 45, .2) transparent;
}

.patient-meal-summary-list::-webkit-scrollbar {
  width: 7px;
}

.patient-meal-summary-list::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(98, 20, 45, .2);
}

.patient-meal-summary-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .95rem 1rem;
  border: 1px solid rgba(98, 20, 45, .09);
  border-radius: 18px;
  background: #fcfbfa;
}

.patient-meal-summary-main,
.patient-meal-summary-heading,
.patient-meal-summary-heading > div {
  min-width: 0;
}

.patient-meal-summary-heading {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin-bottom: .55rem;
}

.patient-meal-summary-heading .meal-badge {
  flex: 0 0 auto;
}

.patient-meal-summary-preview {
  color: #5f5559;
  white-space: pre-line;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  line-height: 1.45;
}

.patient-meal-view-button {
  white-space: nowrap;
  align-self: center;
}

.patient-meal-detail-dialog {
  max-width: min(760px, calc(100vw - 1.5rem));
}

.patient-meal-detail-content {
  border-radius: 24px;
  overflow: hidden;
}

.patient-meal-detail-content .modal-body {
  background: #fff;
}

.patient-meal-detail-section {
  padding: 1rem;
  border: 1px solid rgba(98, 20, 45, .08);
  border-radius: 16px;
  background: #fcfbfa;
}

.patient-meal-detail-section + .patient-meal-detail-section {
  margin-top: .8rem;
}

.patient-meal-detail-text {
  overflow-wrap: anywhere;
}

.patient-meal-detail-footer {
  justify-content: space-between;
}

@media (max-width: 767.98px) {
  .patient-meal-summary-list {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }

  .patient-meal-plan-header-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .patient-meal-summary-card {
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .patient-meal-summary-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: .45rem;
  }

  .patient-meal-view-button {
    width: 100%;
    min-height: 44px;
  }

  .patient-meal-detail-footer {
    flex-direction: column-reverse;
  }

  .patient-meal-detail-footer .btn {
    width: 100%;
  }
}
