/* HF Pacientes v276 — correções finais de plano alimentar e antropometria. */

/* Uma única linha de ações: carregar, publicar e baixar. */
body:has(main.admin) .diet-primary-actions-hf {
  grid-template-columns: repeat(3, 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-hf:not(:has(.hf-diet-pdf-button)) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body:has(main.admin) .diet-primary-actions-hf > .diet-main-action {
  min-height: 38px !important;
  height: 38px !important;
  padding: 6px 9px !important;
  border-radius: 9px !important;
  font-size: 10.5px !important;
}

/* Ações neutras seguem a identidade preta em claro e escuro. */
body:has(main.admin) .diet-primary-actions-hf > :is(.diet-main-load-action, .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: #0a0a0c !important;
  background: #0a0a0c !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: none !important;
}

html[data-theme="dark"] body:has(main.admin) .diet-primary-actions-hf > :is(.diet-main-load-action, .hf-diet-pdf-button),
html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-actions > :is(.diet-add-food, .diet-add-sub, .diet-load-section-template),
html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-supplement-content > .diet-load-supplement-template,
html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution > .diet-add-food,
html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution .diet-load-sub-template {
  border-color: #5c6169 !important;
  background: #050607 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body:has(main.admin) .diet-primary-actions-hf > :is(.diet-main-load-action, .hf-diet-pdf-button):hover,
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-actions > :is(.diet-add-food, .diet-add-sub, .diet-load-section-template):hover,
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution > .diet-add-food:hover {
  border-color: #303237 !important;
  background: #24262a !important;
}

/* O bloco de macronutrientes também 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 #1f6feb !important;
  outline-offset: 1px;
}

/* Macronutrientes de cada alimento abaixo do texto mostrado ao 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 e neutras. */
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution {
  border-left-color: #0a0a0c !important;
}

html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution {
  border-left-color: #8b9098 !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;
}

/* O título do resumo sai; gráfico e cartões ocupam todo o container. */
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: títulos menores, pretos e próximos dos campos. */
@media (orientation: portrait) {
  body:has(main.admin) .anthro-protocol-picker > span {
    color: #050506 !important;
    -webkit-text-fill-color: #050506 !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .035em !important;
  }

  body:has(main.admin) .anthro-protocol-picker select {
    min-height: 38px !important;
    height: 38px !important;
    padding: 6px 28px 6px 9px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  body:has(main.admin) .anthro-workspace .anthro-fields label {
    grid-template-rows: minmax(18px, auto) 42px !important;
    gap: 1px !important;
    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;
  }

  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; }
}

/* Desktop em paisagem: nome mais curto, macros agrupados e ações à esquerda. */
@media (orientation: landscape) and (min-width: 761px) {
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head {
    grid-template-columns: 28px 70px minmax(120px, 160px) minmax(205px, 1fr) 88px 54px 45px 30px !important;
    gap: 4px !important;
    justify-content: start !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > input {
    padding-inline: 4px !important;
    font-size: 12px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > select {
    padding: 4px 13px 4px 3px !important;
    background-position: right 4px center !important;
    background-size: 7px 5px !important;
    font-size: 9px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > button {
    min-height: 30px !important;
    height: 30px !important;
    padding-inline: 3px !important;
    font-size: 9px !important;
  }

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

}

@media (orientation: landscape) and (min-width: 761px) and (max-width: 1120px) {
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-summary-card .diet-summary-pie {
    grid-row: 1 / span 2 !important;
  }
}

/* Desktop em retrato: mantém a linha aprovada e abre o seletor de tipo. */
@media (orientation: portrait) and (min-width: 621px) {
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) {
    padding-top: 12px !important;
  }

  body:has(main.admin) .diet-primary-actions-hf > .diet-main-action {
    min-height: 34px !important;
    height: 34px !important;
    padding: 5px 7px !important;
    font-size: 10px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head {
    grid-template-columns: 24px 50px minmax(96px, 112px) 204px 92px 42px 34px 27px !important;
    gap: 2px !important;
    justify-content: start !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > select {
    padding: 4px 13px 4px 3px !important;
    background-position: right 4px center !important;
    background-size: 6px 4px !important;
    font-size: 8px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-totals {
    gap: 2px 5px !important;
    font-size: 9.25px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution > .diet-builder-group-head {
    grid-template-columns: auto minmax(180px, 1fr) auto !important;
    gap: 5px 8px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-group.substitution {
    margin-left: 18px !important;
  }
}
