/* APN v95 — adaptações clínicas aprovadas no HF, preservando o white-label. */

/* Barra superior: adicionar, carregar refeição, carregar cardápio, calcular e PDF. */
body:has(main.admin) .diet-primary-actions-apn {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  justify-content: stretch !important;
  gap: 7px !important;
  width: 100% !important;
  padding: 5px 0 6px !important;
}

body:has(main.admin) .diet-primary-actions-apn:not(:has(.hf-diet-pdf-button)) {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

body:has(main.admin) .diet-primary-actions-apn > .diet-main-action {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  padding: 5px 7px !important;
  border-radius: 9px !important;
  font-size: 10px !important;
  white-space: nowrap !important;
}

body:has(main.admin) .diet-primary-actions-apn > :is(.diet-main-add, .diet-main-load-action, .hf-load-menu-button, .hf-save-menu-button, .hf-diet-pdf-button),
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-actions > :is(.diet-add-food, .diet-add-sub, .diet-load-section-template),
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-supplement-content > .diet-load-supplement-template,
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution > .diet-add-food,
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution .diet-load-sub-template {
  border-color: var(--brand-primary, #6f2dbd) !important;
  background: var(--brand-gradient, linear-gradient(135deg, #6415aa, #9d3be4)) !important;
  color: var(--brand-on-primary, #fff) !important;
  -webkit-text-fill-color: var(--brand-on-primary, #fff) !important;
  box-shadow: none !important;
}

body:has(main.admin) .diet-primary-actions-apn > .diet-main-publish {
  border-color: #168348 !important;
  background: linear-gradient(135deg, #168348, #0d6737) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* O bloco de macronutrientes abre e fecha a refeição. */
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-totals[role="button"] {
  min-height: 28px;
  justify-content: flex-start;
  padding: 5px 6px !important;
  border-radius: 7px;
  cursor: pointer;
  transition: background-color .15s ease, box-shadow .15s ease;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-totals[role="button"]:hover {
  background: var(--diet-soft) !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-totals[role="button"]:focus-visible {
  outline: 2px solid var(--brand-primary, #6f2dbd) !important;
  outline-offset: 1px;
}

/* Cabeçalho sem o antigo seletor Refeição/Suplementação. */
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > :is(.diet-duplicate-meal, .diet-collapse-meal, .diet-remove-meal) {
  min-width: 0 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Texto do paciente expansível durante a edição. */
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-display > .diet-display-editor {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 34px;
  min-height: 34px !important;
  max-height: 34px;
  margin: 0 !important;
  padding: 7px 8px !important;
  overflow: hidden;
  resize: none;
  border: 0 !important;
  border-radius: 6px !important;
  background: var(--diet-control) !important;
  color: var(--diet-ink) !important;
  -webkit-text-fill-color: var(--diet-ink) !important;
  box-shadow: inset 0 -1px 0 var(--diet-line) !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  white-space: nowrap;
  transition: box-shadow .15s ease, min-height .15s ease;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-display > .diet-display-editor:is(:focus, .is-expanded) {
  position: relative;
  z-index: 6;
  min-height: 96px !important;
  max-height: 260px;
  overflow-x: hidden;
  overflow-y: auto;
  resize: vertical;
  outline: none !important;
  border: 1px solid var(--brand-primary, var(--diet-ink)) !important;
  border-radius: 9px !important;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  box-shadow: 0 10px 25px rgba(17, 20, 24, .18) !important;
}

/* Macronutrientes de cada alimento ficam abaixo e à direita do texto do paciente. */
@media (min-width: 621px) {
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item,
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution .diet-builder-item {
    grid-template-areas:
      "drag food amount patient remove"
      ". . . macros remove" !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-item-macros {
    width: 100% !important;
    justify-content: flex-end !important;
    padding-right: 2px !important;
  }
}

/* Substituições compactas. */
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution {
  border-left-color: var(--brand-primary, #6f2dbd) !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution > .diet-builder-group-head > b {
  font-size: 11px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution .diet-group-totals {
  gap: 3px 7px !important;
  font-size: 8.5px !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-sub-head-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  margin-left: 0 !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-load-sub-template {
  flex: 0 1 128px !important;
  width: 128px !important;
  min-width: 108px !important;
  min-height: 31px !important;
  height: 31px !important;
  padding: 4px 20px 4px 7px !important;
  border-radius: 7px !important;
  font-size: 9px !important;
  font-weight: 650 !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-delete-sub {
  flex: 0 0 54px !important;
  width: 54px !important;
  min-width: 54px !important;
  min-height: 31px !important;
  height: 31px !important;
  margin: 0 !important;
  padding: 4px 6px !important;
  border-radius: 7px !important;
  font-size: 9px !important;
  white-space: nowrap !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-sub-comparison {
  display: grid !important;
  grid-template-columns: minmax(118px, auto) repeat(4, minmax(0, 1fr)) !important;
  gap: 4px !important;
  align-items: stretch !important;
  margin-bottom: 6px !important;
  padding: 5px !important;
  font-size: 8.5px !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-sub-comparison > :is(strong, span) {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px 5px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

/* Resumo mais agrupado, sem o título. */
body:has(main.admin) .diet-summary-card > h3 {
  display: none !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-summary-card {
  gap: 6px !important;
  padding: 10px !important;
}

/* Antropometria: protocolo e botão sempre na mesma linha e com respiro. */
body:has(main.admin) .anthro-head-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 126px !important;
  align-items: center !important;
  column-gap: 16px !important;
  width: 100% !important;
}

body:has(main.admin) .anthro-head-actions > .anthro-protocol-picker {
  grid-column: 1 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}

body:has(main.admin) .anthro-head-actions > .anthro-section-toggle {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  width: 126px !important;
  min-width: 126px !important;
  max-width: 126px !important;
  margin: 0 !important;
}

body:has(main.admin) .anthro-protocol-picker > span,
body:has(main.admin) .anthro-workspace .anthro-fields label {
  color: #050506 !important;
  -webkit-text-fill-color: #050506 !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
}

html[data-theme="dark"] body:has(main.admin) .anthro-protocol-picker > span,
html[data-theme="dark"] body:has(main.admin) .anthro-workspace .anthro-fields label {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Desktop paisagem: ações junto ao título e editor com mais espaço para o paciente. */
@media (orientation: landscape) and (min-width: 761px) {
  body:has(main.admin) .anthro-admin-head {
    display: grid !important;
    grid-template-columns: minmax(340px, .85fr) minmax(0, 1.15fr) !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
  }

  body:has(main.admin) .anthro-admin-head > .hf-section-copy,
  body:has(main.admin) .anthro-admin-head > .hf-section-copy > div {
    min-width: 0 !important;
  }

  body:has(main.admin) .anthro-admin-head h2 {
    margin: 0 0 3px !important;
    font-size: clamp(19px, 1.7vw, 26px) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  body:has(main.admin) .anthro-admin-head p {
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  body:has(main.admin) .anthro-admin-head .anthro-head-actions {
    grid-template-columns: minmax(0, 1fr) 126px !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body:has(main.admin) .anthro-admin-head .anthro-protocol-picker {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body:has(main.admin) .anthro-admin-head .anthro-protocol-picker select {
    width: 100% !important;
    min-width: 0 !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) {
    position: relative !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-builder-title {
    display: flex !important;
    min-height: 48px !important;
    align-items: center !important;
    padding: 0 0 8px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-builder-title > .hf-section-copy {
    flex: 0 1 30% !important;
    max-width: 30% !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-primary-actions-apn {
    position: absolute !important;
    top: 22px !important;
    right: 10px !important;
    z-index: 4 !important;
    grid-template-columns: repeat(6, minmax(105px, 132px)) !important;
    justify-content: end !important;
    gap: 7px !important;
    width: 70% !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-primary-actions-apn:not(:has(.hf-diet-pdf-button)) {
    grid-template-columns: repeat(5, minmax(105px, 132px)) !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal):not(:has(> .diet-energy-adequacy)) > .diet-summary-card {
    grid-row: 2 / span 999 !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal):has(> .diet-energy-adequacy) > .diet-summary-card {
    grid-row: 3 / span 999 !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head {
    grid-template-columns: 28px 70px minmax(175px, 1fr) 225px 60px 48px 42px !important;
    gap: 3px !important;
    justify-content: start !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-totals {
    min-width: 0 !important;
    gap: 3px 6px !important;
    padding: 4px 3px !important;
    font-size: 9px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > :is(.diet-duplicate-meal, .diet-collapse-meal, .diet-remove-meal) {
    width: 100% !important;
    min-height: 30px !important;
    height: 30px !important;
    padding-inline: 2px !important;
    font-size: 9px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item,
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution .diet-builder-item {
    grid-template-columns: 28px minmax(105px, .56fr) 76px minmax(380px, 2.8fr) 30px !important;
    gap: 2px 6px !important;
  }
}

/* Desktop retrato: mantém a linha aprovada com todas as ações. */
@media (orientation: portrait) {
  body:has(main.admin) .diet-primary-actions-apn {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body:has(main.admin) .diet-primary-actions-apn:not(:has(.hf-diet-pdf-button)) {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-summary-card {
    grid-template-columns: minmax(170px, .78fr) minmax(0, 1.22fr) !important;
    grid-template-rows: repeat(4, minmax(38px, auto)) !important;
    column-gap: 10px !important;
    row-gap: 5px !important;
    margin-top: 8px !important;
  }

  body:has(main.admin) .diet-summary-card > .diet-summary-pie {
    grid-column: 1 !important;
    grid-row: 1 / span 4 !important;
    width: min(175px, 100%) !important;
  }

  body:has(main.admin) .diet-summary-card > span:not(.diet-summary-pie) {
    grid-column: 2 !important;
    padding: 7px 9px !important;
  }

  body:has(main.admin) .diet-summary-card > span:nth-of-type(1) { grid-row: 1 !important; }
  body:has(main.admin) .diet-summary-card > span:nth-of-type(2) { grid-row: 2 !important; }
  body:has(main.admin) .diet-summary-card > span:nth-of-type(3) { grid-row: 3 !important; }
  body:has(main.admin) .diet-summary-card > span:nth-of-type(4) { grid-row: 4 !important; }
}

@media (orientation: portrait) and (min-width: 621px) {
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head {
    grid-template-columns: 24px 50px minmax(105px, 1fr) 204px 46px 40px 27px !important;
    grid-template-areas: none !important;
    gap: 2px !important;
    justify-content: start !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > * {
    grid-area: auto !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > :is(.diet-duplicate-meal, .diet-collapse-meal) {
    padding-inline: 2px !important;
    font-size: 8.5px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-display > .diet-display-editor {
    height: 31px;
    min-height: 31px !important;
    max-height: 31px;
    padding: 6px 7px !important;
    font-size: 10.5px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-display > .diet-display-editor:is(:focus, .is-expanded) {
    min-height: 96px !important;
    max-height: 260px;
  }
}

@media (max-width: 620px) {
  body:has(main.admin) .diet-primary-actions-apn,
  body:has(main.admin) .diet-primary-actions-apn:not(:has(.hf-diet-pdf-button)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head {
    grid-template-columns: 28px 78px minmax(0, 1fr) !important;
    grid-template-areas:
      "mealdrag mealtime mealtitle"
      ". mealtotals mealtotals"
      ". duplicate collapse"
      ". remove remove" !important;
  }

  body:has(main.admin) .anthro-head-actions {
    grid-template-columns: minmax(0, 1fr) 104px !important;
    column-gap: 8px !important;
  }

  body:has(main.admin) .anthro-head-actions > .anthro-section-toggle {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
}

/* V97 — modal de paciente seguro em telas com pouca altura/zoom ampliado. */
body:has(main.admin) .modal{
  overflow-y:auto!important;
  padding:16px!important;
}
body:has(main.admin) .modal>.modal-card{
  max-height:calc(100dvh - 32px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
@supports not (height:100dvh){
  body:has(main.admin) .modal>.modal-card{max-height:calc(100vh - 32px)!important}
}
@media (max-height:760px) and (min-width:521px){
  body:has(main.admin) .modal>.modal-card{
    gap:12px!important;
    padding:20px 24px!important;
  }
  body:has(main.admin) .modal>.modal-card h2{margin:0!important;font-size:27px!important}
  body:has(main.admin) .modal>.modal-card>label{gap:5px!important}
  body:has(main.admin) .modal>.modal-card :is(input,select){padding:10px 13px!important}
  body:has(main.admin) .modal>.modal-card .actions{margin-top:2px!important}
}
@media (max-width:520px){
  body:has(main.admin) .modal{padding:10px!important}
  body:has(main.admin) .modal>.modal-card{max-height:calc(100dvh - 20px)!important}
}
