/* APN v94 — organização clínica exclusiva para telas em orientação retrato. */

body:has(main.admin) .diet-remove-meal-icon {
  display: none;
}

@media (orientation: portrait) {
  /* Plano alimentar: editor inteiro primeiro; resumo nutricional ao final. */
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    column-gap: 0 !important;
    overflow-x: clip !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > :is(
    .diet-builder-title,
    .diet-primary-actions,
    .diet-energy-adequacy,
    .diet-summary-card,
    .diet-builder-meal,
    .diet-add-meal,
    .notice,
    .hf-menu-picker-overlay
  ) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-summary-card {
    order: 100;
    position: static !important;
    top: auto !important;
    display: grid !important;
    grid-template-columns: minmax(180px, 0.78fr) minmax(0, 1.22fr) !important;
    grid-template-rows: auto repeat(4, minmax(42px, auto));
    align-items: stretch !important;
    column-gap: 14px !important;
    row-gap: 7px !important;
    width: 100% !important;
    margin-top: 14px !important;
  }

  body:has(main.admin) .diet-summary-card > h3 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  body:has(main.admin) .diet-summary-card > .diet-summary-pie {
    grid-column: 1 !important;
    grid-row: 2 / span 4 !important;
    align-self: center !important;
    justify-self: center !important;
    width: min(190px, 100%) !important;
    height: auto !important;
    aspect-ratio: 1;
    margin: 0 !important;
  }

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

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

  body:has(main.admin) .diet-primary-actions {
    grid-template-columns: repeat(3, minmax(145px, 185px)) !important;
    justify-content: start !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-builder-title {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: start !important;
    gap: 9px !important;
    overflow: visible !important;
  }

  body:has(main.admin) .diet-builder-title-actions {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    justify-self: start !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    margin-left: 0 !important;
    overflow: visible !important;
  }

  body:has(main.admin) .diet-builder-title-actions .hf-diet-pdf-button {
    box-sizing: border-box !important;
    flex: 0 0 145px !important;
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    margin: 0 !important;
    overflow: visible !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-energy-adequacy > span {
    gap: 4px !important;
    padding: 6px 7px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-energy-adequacy > span > i {
    flex-basis: 6px !important;
    width: 6px !important;
    height: 6px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-energy-adequacy > span small {
    font-size: 8px !important;
    letter-spacing: 0.02em !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-energy-adequacy > span b {
    flex: 1 1 auto !important;
    overflow: visible !important;
    font-size: 8.5px !important;
    letter-spacing: -0.02em !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-energy-adequacy > span em {
    font-size: 8px !important;
  }

  body:has(main.admin) .diet-remove-meal {
    display: inline-grid !important;
    width: 34px !important;
    min-width: 34px !important;
    padding: 0 !important;
    place-items: center !important;
  }

  body:has(main.admin) .diet-remove-meal-label {
    display: none !important;
  }

  body:has(main.admin) .diet-remove-meal-icon {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
  }

  /* Cabeçalho da avaliação em duas linhas, sem comprimir o título. */
  body:has(main.admin) .anthro-admin-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body:has(main.admin) .anthro-admin-head > .hf-section-copy {
    display: flex !important;
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 13px !important;
  }

  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(20px, 2.35vw, 27px) !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

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

  body:has(main.admin) .anthro-head-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 132px !important;
    grid-column: 1 !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
  }

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

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

  body:has(main.admin) .anthro-head-actions > .anthro-section-toggle {
    box-sizing: border-box !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    padding-inline: 10px !important;
    font-size: 12px !important;
  }

  body:has(main.admin) .anthro-workspace .anthro-fields.fixed {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body:has(main.admin) .anthro-workspace .anthro-fields.variables {
    grid-template-columns: minmax(150px, 1.15fr) repeat(5, minmax(0, 1fr)) !important;
  }

  body:has(main.admin) .anthro-workspace .anthro-fields label {
    display: grid !important;
    grid-template-rows: minmax(30px, auto) 42px !important;
    align-content: end !important;
    gap: 4px !important;
  }

  body:has(main.admin) .anthro-workspace .anthro-fields input,
  body:has(main.admin) .anthro-workspace .anthro-fields select {
    min-height: 42px !important;
    height: 42px !important;
    padding: 7px 9px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  body:has(main.admin) .anthro-workspace .anthro-fixed-action .anthro-fixed-save {
    min-height: 42px !important;
    height: 42px !important;
  }

  body:has(main.admin) .anthro-workspace input[type="date"] {
    min-width: 0 !important;
    padding-right: 6px !important;
  }

  body:has(main.admin) .anthro-workspace input[type="date"]::-webkit-calendar-picker-indicator {
    width: 17px;
    height: 17px;
    margin: 0;
    padding: 0;
  }

  /* Avaliação: tabela em largura total e distribuição do peso logo abaixo. */
  .anthro-result-content {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .anthro-result-table-wrap {
    width: 100% !important;
  }

  .anthro-pie-panel {
    display: grid !important;
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr) !important;
    grid-template-rows: auto 1fr !important;
    align-items: center !important;
    column-gap: 18px !important;
  }

  .anthro-pie-heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  .anthro-pie-visual {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: center;
    width: min(210px, 100%) !important;
  }

  .anthro-pie-legend {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
    margin-top: 0 !important;
  }

  .anthro-pie-legend > div {
    min-height: 30px;
    grid-template-columns: 10px minmax(0, 1fr) auto auto;
    gap: 8px;
  }
}

@media (orientation: portrait) and (min-width: 621px) {
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head {
    box-sizing: border-box !important;
    grid-template-columns: 26px 52px minmax(90px, 120px) minmax(220px, 235px) 66px 44px 36px 28px !important;
    justify-content: start !important;
    gap: 1.5px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > * {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > input {
    padding-inline: 2px !important;
    overflow: hidden !important;
    font-size: 11.5px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > input[type="time"] {
    font-size: 10.5px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-totals {
    gap: 1px 3px !important;
    overflow: visible !important;
    font-size: 8px !important;
    letter-spacing: -0.02em !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > select {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-width: 0 !important;
    padding: 4px 13px 4px 2px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath d='M1 1l3 3 3-3' fill='none' stroke='%235f5668' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-position: right 3px center !important;
    background-repeat: no-repeat !important;
    background-size: 8px 5px !important;
    font-size: 9.25px !important;
  }

  html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath d='M1 1l3 3 3-3' fill='none' stroke='%23d7d3dc' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-meal-head > button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 30px !important;
    height: 30px !important;
    padding-inline: 2px !important;
    overflow: hidden !important;
    font-size: 9.25px !important;
    white-space: nowrap !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-meal-drag-handle {
    width: 26px !important;
    min-width: 26px !important;
    height: 30px !important;
    min-height: 30px !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-remove-meal {
    width: 28px !important;
    min-width: 28px !important;
    overflow: visible !important;
  }

  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-remove-meal-icon {
    width: 15px !important;
    height: 15px !important;
  }
}

@media (orientation: portrait) and (max-width: 620px) {
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) > .diet-summary-card {
    grid-template-columns: minmax(130px, 0.85fr) minmax(0, 1.15fr) !important;
    column-gap: 9px !important;
  }

  body:has(main.admin) .diet-primary-actions {
    grid-template-columns: 1fr !important;
  }

  .anthro-pie-panel {
    grid-template-columns: minmax(125px, 0.85fr) minmax(0, 1.15fr) !important;
    column-gap: 10px !important;
  }

  .anthro-pie-visual {
    width: min(150px, 100%) !important;
  }

  body:has(main.admin) .anthro-admin-head h2,
  body:has(main.admin) .anthro-admin-head p {
    white-space: normal !important;
  }

  body:has(main.admin) .anthro-head-actions {
    grid-template-columns: 1fr !important;
  }

  body:has(main.admin) .anthro-protocol-picker {
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
  }

  body:has(main.admin) .anthro-head-actions > .anthro-section-toggle {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body:has(main.admin) .anthro-workspace .anthro-fields.fixed,
  body:has(main.admin) .anthro-workspace .anthro-fields.variables {
    grid-template-columns: 1fr !important;
  }
}

/* HF: mantém as duas ações nativas do plano, sem criar dependência de cardápios prontos. */
body:has(main.admin) .diet-primary-actions-hf {
  grid-template-columns: repeat(2, minmax(150px, 220px)) !important;
}

@media (orientation: portrait) and (min-width: 621px) {
  body:has(main.admin) .diet-primary-actions-hf {
    grid-template-columns: repeat(2, minmax(170px, 220px)) !important;
  }
}

@media (orientation: portrait) and (max-width: 620px) {
  body:has(main.admin) .diet-primary-actions-hf {
    grid-template-columns: 1fr !important;
  }
}
