/* A folha de personalização é carregada depois do editor; esta grade prevalece. */
@media (min-width: 981px) {
  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 190px 48px 84px minmax(0, 1fr) 30px !important;
    grid-template-areas: none !important;
    column-gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-amount,
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-quantity-input-v107 {
    width: 48px !important; min-width: 0 !important; max-width: 48px !important;
  }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-measure,
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-measure-select-v107 {
    width: 84px !important; min-width: 0 !important; max-width: 84px !important;
  }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-measure > .diet-measure-select-v107 {
    padding-left: 7px !important;
    padding-right: 23px !important;
    text-overflow: ellipsis !important;
  }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-display {
    grid-column: 5 !important; grid-row: 1 !important;
    width: 100% !important; min-width: 0 !important; max-width: none !important;
  }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-display > .diet-display-editor {
    display: block !important; width: 100% !important; min-width: 0 !important;
    max-width: 100% !important; box-sizing: border-box !important;
  }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-item-macros {
    grid-column: 2 / 6 !important; grid-row: 2 !important; justify-self: end !important;
  }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-remove-food-icon {
    grid-column: 6 !important; grid-row: 1 !important;
  }
}

/* Delimita as quatro caixas nos dois temas, inclusive os campos que antes eram sublinhados. */
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > label > :is(select, input, textarea) {
  border: 1px solid #111 !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > label > :is(select, input, textarea) {
  border-color: #fff !important;
}

/* Os estilos específicos do seletor de alimento e do editor de texto anulavam o contorno genérico. */
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > label:first-of-type > select,
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-display > .diet-display-editor {
  border: 1px solid #111 !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > label:first-of-type > select,
html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-display > .diet-display-editor {
  border-color: #fff !important;
}

/* A busca de alimentos substitui o select por um input próprio. */
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .apn-food-search-owner .apn-food-search-input {
  border: 1px solid #111 !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  box-sizing: border-box !important;
}
html[data-theme="dark"] body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .apn-food-search-owner .apn-food-search-input {
  border-color: #fff !important;
}

body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-amount > .diet-quantity-input-v107,
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-measure > .diet-measure-select-v107 {
  border-width: 1px !important;
}
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-display > .diet-display-editor:not(:focus):not(.is-expanded) {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
}

/* Em janelas de retrato, reserva uma linha inteira para o texto do paciente. */
@media (max-width: 980px) {
  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(0, 1fr) 48px 84px 30px !important;
    grid-template-areas: "drag food amount measure remove" ". patient patient patient remove" ". macros macros macros remove" !important;
    column-gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-drag-handle { grid-area: drag !important; }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > label:first-of-type { grid-area: food !important; min-width: 0 !important; }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-amount { grid-area: amount !important; width: 48px !important; min-width: 0 !important; max-width: 48px !important; }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-measure { grid-area: measure !important; width: 84px !important; min-width: 0 !important; max-width: 84px !important; }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-amount > .diet-quantity-input-v107 { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-measure > .diet-measure-select-v107 { width: 100% !important; min-width: 0 !important; max-width: 100% !important; padding-left: 7px !important; padding-right: 23px !important; }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-display { grid-area: patient !important; width: 100% !important; min-width: 0 !important; max-width: none !important; overflow: visible !important; }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-display > .diet-display-editor { display: block !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-item-macros { grid-area: macros !important; justify-self: end !important; min-width: 0 !important; }
  body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-remove-food-icon { grid-area: remove !important; }
}
@media (max-width: 700px) {
  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 48px 84px minmax(0, 1fr) 30px !important;
    grid-template-areas: "drag food food food remove" ". amount measure . remove" ". patient patient patient remove" ". macros macros macros remove" !important;
  }
}
