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

/* Quantidade: área própria para as setas e até três casas decimais. */
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-amount{width:92px!important;min-width:92px!important;max-width:92px!important}
.apn-quantity-control{position:relative;display:block;width:100%;min-width:0}
body:has(main.admin) .diet-builder .apn-quantity-control .diet-quantity-input-v107{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;padding:8px 30px 8px 8px!important;text-align:left!important;font-size:13px!important}
.apn-quantity-arrows{position:absolute;right:3px;top:3px;bottom:3px;width:24px;display:grid;grid-template-rows:1fr 1fr;border-left:1px solid var(--diet-muted,#999)}
body:has(main.admin) .diet-builder .apn-quantity-arrows button{display:flex!important;align-items:center;justify-content:center;padding:0!important;margin:0!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:3px!important;background:transparent!important;color:var(--diet-text,inherit)!important;font-size:15px!important;line-height:1!important;cursor:pointer}
body:has(main.admin) .diet-builder .apn-quantity-arrows button:hover{background:var(--diet-soft,rgba(127,127,127,.15))!important}
@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 minmax(220px,.82fr) 92px 84px minmax(320px,2fr) 30px!important}}
@media(min-width:701px) and (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) 92px 84px 30px!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 92px 84px minmax(0,1fr) 30px!important}}

/* Campos ocupam a coluna inteira, sem sobra entre Medida e Texto. */
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-builder-item > .diet-measure > .diet-measure-select-v107{width:84px!important;min-width:84px!important;max-width:84px!important;margin:0!important}
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item > .diet-display{margin-left:0!important;padding-left:0!important;justify-self:stretch!important}
body:has(main.admin) .diet-builder:has(> .diet-builder-meal) .diet-builder-item{column-gap:8px!important}
