.integrated-diet-editor{
  width:100%;
  max-width:min(100%,var(--content-max,1420px));
  margin-inline:auto;
  overflow:visible;
  box-sizing:border-box;
}

.integrated-diet-editor svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.integrated-diet-evaluation-grid,
.integrated-diet-calculation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.integrated-diet-calculation-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.integrated-diet-subpanel{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line-soft);
  border-radius:16px;
  background:var(--surface-2);
}

.integrated-diet-subpanel-head{
  padding:16px;
  border-bottom:1px solid var(--line-soft);
  background:color-mix(in srgb,var(--blue) 5%,var(--surface));
}

.integrated-diet-subpanel-head h4{
  margin:0 0 5px;
  font-size:15px;
}

.integrated-diet-subpanel-head p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.integrated-diet-subpanel-body{
  padding:16px;
}

.integrated-diet-field-stack{
  display:grid;
  gap:14px;
}

.integrated-diet-field-label{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  min-width:0;
}

.integrated-diet-info-button{
  display:inline-grid;
  place-items:center;
  flex:0 0 18px;
  width:18px;
  height:18px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:color-mix(in srgb,var(--muted) 82%,transparent);
  cursor:pointer;
  transition:background .18s ease,color .18s ease;
}

.integrated-diet-info-button svg{
  width:13px;
  height:13px;
}

.integrated-diet-info-button:hover,
.integrated-diet-info-button:focus-visible{
  background:color-mix(in srgb,var(--blue) 10%,transparent);
  color:var(--blue);
  outline:none;
}

.integrated-training-panel-head > .integrated-diet-info-button{
  align-self:center;
  width:20px;
  height:20px;
  flex-basis:20px;
}

.integrated-diet-panel-title{
  display:flex;
  align-items:center;
  gap:5px;
}

.integrated-diet-panel-title h3{
  margin-bottom:0;
}

.integrated-diet-panel-title + p{
  margin-top:5px;
}

.integrated-diet-energy-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.integrated-diet-energy-kpi{
  display:grid;
  gap:4px;
  min-width:0;
  padding:15px;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:var(--surface-2);
}

.integrated-diet-energy-kpi span{
  color:var(--muted);
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.integrated-diet-energy-kpi strong{
  color:var(--ink);
  font-size:21px;
  line-height:1.15;
}

.integrated-diet-energy-kpi small{
  color:var(--muted);
  font-size:11px;
}

.integrated-diet-energy-kpi.is-exceeded{
  border-color:color-mix(in srgb,var(--danger) 38%,var(--line-soft));
  background:color-mix(in srgb,var(--danger) 5%,var(--surface-2));
}

.integrated-diet-energy-kpi.is-exceeded strong,
.integrated-diet-energy-kpi.is-exceeded small{
  color:var(--danger);
}

.integrated-diet-energy-summary{
  padding:0;
  border:0;
  background:transparent;
}

.integrated-diet-energy-summary > span{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:14px;
  min-height:38px;
  padding:9px 0;
  border:0;
  border-bottom:1px solid var(--line-soft);
  border-radius:0;
  background:transparent;
}

.integrated-diet-energy-summary > span:last-child{
  border-bottom:0;
}

.integrated-diet-energy-summary > span b{
  min-width:0;
  line-height:1.35;
}

.integrated-diet-method-list{
  display:grid;
  gap:7px;
  margin-top:14px;
}

.integrated-diet-method-list > div{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(76px,auto) minmax(150px,.9fr);
  align-items:center;
  column-gap:18px;
  row-gap:8px;
  padding:9px 11px;
  border:1px solid var(--line-soft);
  border-radius:11px;
  background:var(--surface);
  font-size:12px;
}

.integrated-diet-method-list b,
.integrated-diet-method-list span,
.integrated-diet-method-list small{
  min-width:0;
}

.integrated-diet-method-list small{
  overflow-wrap:anywhere;
  line-height:1.35;
}

.integrated-diet-method-list span{
  font-weight:800;
  text-align:right;
  font-variant-numeric:tabular-nums;
}

.integrated-diet-method-list small{
  color:var(--muted);
  padding-left:4px;
}

.integrated-diet-macro-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}

.integrated-diet-macro-layout{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}

.integrated-diet-macro-layout > .integrated-diet-subpanel{
  min-width:0;
  height:100%;
}

.integrated-diet-macro-summary,
.integrated-diet-energy-list{
  display:grid;
  align-content:start;
  gap:9px;
  padding:14px;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:var(--surface-2);
}

.integrated-diet-macro-line,
.integrated-diet-macro-nutrients > .integrated-diet-combined-macro,
.integrated-diet-water-panel > .integrated-diet-water-result,
.integrated-diet-energy-list > span{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  border:1px solid var(--line-soft);
  border-radius:11px;
  background:var(--surface);
  font-size:12px;
}

.integrated-diet-macro-line span{
  display:flex;
  align-items:center;
  gap:8px;
}

.integrated-diet-macro-line i{
  width:8px;
  height:8px;
  border-radius:50%;
}

.integrated-diet-macro-results{
  display:grid;
  align-content:start;
  gap:12px;
  padding:0;
  border:0;
  background:transparent;
}

.integrated-diet-macro-nutrients{
  display:grid;
  align-content:start;
  gap:9px;
  padding:14px;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:var(--surface-2);
}

.integrated-diet-macro-nutrients > .integrated-diet-combined-macro,
.integrated-diet-water-panel > .integrated-diet-water-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto;
  gap:12px;
}

.integrated-diet-macro-nutrients > .integrated-diet-combined-macro{
  grid-template-columns:minmax(0,1fr) 42px 68px 78px;
}

.integrated-diet-water-panel > .integrated-diet-water-result{
  grid-template-columns:minmax(0,1fr) auto;
  margin-top:0;
}

.integrated-diet-combined-macro > span{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.integrated-diet-combined-macro i{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
}

.integrated-diet-combined-macro strong{
  color:var(--ink);
  font-size:12px;
}

.integrated-diet-combined-macro > b,
.integrated-diet-combined-macro > strong,
.integrated-diet-combined-macro > small{
  text-align:center;
  font-variant-numeric:tabular-nums;
}

.integrated-diet-macro-results small{
  color:var(--muted);
}

.integrated-diet-macro-nutrients > .integrated-diet-macro-total{
  margin-top:2px;
  border-color:color-mix(in srgb,var(--muted) 24%,var(--line-soft));
}

.integrated-diet-total-dot{
  background:color-mix(in srgb,var(--muted) 68%,var(--surface));
}

.integrated-diet-energy-list b{
  color:var(--muted);
}

.integrated-diet-macro-energy{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.integrated-diet-macro-energy > span{
  min-width:0;
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid var(--line-soft);
  border-radius:11px;
  background:var(--surface-2);
  text-align:center;
}

.integrated-diet-macro-energy b{
  color:var(--muted);
  font-size:10px;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.integrated-diet-macro-energy strong{
  color:var(--ink);
  font-size:12px;
  font-variant-numeric:tabular-nums;
}

.integrated-diet-water-panel{
  display:grid;
  align-content:start;
  gap:14px;
}

.integrated-diet-macro-controls + .integrated-diet-macro-alert{
  margin-top:14px;
}

.integrated-diet-macro-alert{
  padding:10px 11px;
  border:1px solid color-mix(in srgb,var(--blue) 25%,var(--line-soft));
  border-radius:11px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.integrated-diet-macro-alert.error{
  border-color:color-mix(in srgb,var(--danger) 38%,var(--line-soft));
  color:var(--danger);
}

.integrated-diet-reference-guide{
  width:calc(100% - 40px);
  margin:18px auto 0;
  padding:0;
  color:var(--muted);
}

.integrated-diet-reference-groups{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  padding:0 0 4px;
}

.integrated-diet-reference-groups.integrated-diet-reference-columns-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.integrated-diet-reference-group{
  min-width:0;
}

.integrated-diet-reference-group h5{
  margin:0 0 6px;
  padding-bottom:7px;
  border-bottom:1px solid var(--line-soft);
  color:color-mix(in srgb,var(--ink) 76%,var(--muted));
  font-size:11px;
  font-weight:750;
  line-height:1.35;
}

.integrated-diet-reference-content{
  display:grid;
  gap:0;
  padding:0;
}

.integrated-diet-reference-lead{
  margin:0 0 8px;
  font-size:10px;
  line-height:1.5;
}

.integrated-diet-reference-item{
  padding:6px 0;
}

.integrated-diet-reference-line{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
}

.integrated-diet-reference-value{
  color:color-mix(in srgb,var(--ink) 64%,var(--muted));
  font-size:10px;
  font-weight:500;
  line-height:1.45;
  white-space:nowrap;
}

.integrated-diet-reference-separator{
  color:color-mix(in srgb,var(--muted) 78%,transparent);
  font-size:10px;
  font-weight:500;
}

.integrated-diet-reference-line b{
  color:color-mix(in srgb,var(--ink) 68%,var(--muted));
  font-size:10px;
  font-weight:500;
  line-height:1.4;
}

.integrated-diet-reference-item > p{
  margin:2px 0 0;
  color:color-mix(in srgb,var(--muted) 88%,transparent);
  font-size:10px;
  line-height:1.5;
}

.integrated-diet-reference-notes{
  display:grid;
  gap:5px;
  margin:14px 0 0;
  padding:0;
}

.integrated-diet-reference-notes p{
  margin:0;
  font-size:9px;
  line-height:1.55;
}

.integrated-diet-reference-notes a{
  color:var(--blue);
  font-weight:800;
  text-decoration:none;
}

.integrated-diet-reference-notes a:hover{
  text-decoration:underline;
}

.integrated-diet-reference-popover{
  position:fixed;
  z-index:10050;
  width:min(430px,calc(100vw - 24px));
  height:fit-content!important;
  min-height:0!important;
  max-height:min(68vh,580px);
  padding:14px;
  overflow:auto;
  border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line-soft));
  border-radius:10px;
  background:color-mix(in srgb,var(--surface) 97%,var(--blue) 3%);
  box-shadow:0 18px 46px rgba(24,35,56,.18),0 3px 12px rgba(24,35,56,.08);
  color:var(--ink);
  overscroll-behavior:contain;
  box-sizing:border-box;
}

.integrated-diet-reference-popover-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:4px;
}

.integrated-diet-reference-popover-head strong{
  font-size:13px;
  font-weight:850;
}

.integrated-diet-reference-popover-head button{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
}

.integrated-diet-reference-popover-head button:hover{
  background:color-mix(in srgb,var(--danger) 9%,transparent);
  color:var(--danger);
}

.integrated-diet-reference-popover-head svg{
  width:14px;
  height:14px;
}

.integrated-diet-reference-popover-lead{
  margin:0 0 9px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.integrated-diet-reference-popover-body{
  padding-top:8px;
  border-top:1px solid var(--line-soft);
}

.integrated-diet-reference-popover .integrated-diet-reference-guide{
  width:100%;
  height:auto;
  min-height:0;
  margin:0;
}

.integrated-diet-reference-popover .integrated-diet-reference-groups{
  grid-template-columns:1fr;
  gap:12px;
  padding-bottom:0;
}

.integrated-diet-reference-popover .integrated-diet-reference-content,
.integrated-diet-reference-popover .integrated-diet-reference-group{
  height:auto;
  min-height:0;
}

.integrated-diet-reference-popover .integrated-diet-reference-columns-1 .integrated-diet-reference-group h5{
  display:none;
}

.integrated-diet-reference-popover.integrated-diet-reference-macros{
  width:min(560px,calc(100vw - 24px));
}

.integrated-diet-reference-popover.integrated-diet-reference-macros .integrated-diet-reference-groups{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
}

.integrated-diet-reference-popover .integrated-diet-reference-group h5{
  margin-bottom:4px;
  padding-bottom:5px;
  font-size:11px;
  font-weight:700;
}

.integrated-diet-reference-popover .integrated-diet-reference-item{
  padding:5px 0;
}

.integrated-diet-reference-popover .integrated-diet-reference-item:last-child{
  padding-bottom:0;
}

.integrated-diet-reference-popover .integrated-diet-reference-value,
.integrated-diet-reference-popover .integrated-diet-reference-separator,
.integrated-diet-reference-popover .integrated-diet-reference-line b,
.integrated-diet-reference-popover .integrated-diet-reference-item > p{
  font-size:10.5px;
}

.integrated-diet-reference-popover .integrated-diet-reference-line b{
  font-weight:650;
}

.integrated-diet-reference-popover-note{
  margin:10px 0 0;
  padding:9px 10px;
  border-radius:7px;
  background:color-mix(in srgb,var(--blue) 6%,transparent);
  color:color-mix(in srgb,var(--ink) 72%,var(--muted));
  font-size:10px;
  line-height:1.45;
}

.integrated-diet-title-field{
  grid-template-columns:1fr;
}

.integrated-diet-portion-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:11px;
}

.integrated-diet-meal-summary{
  margin-bottom:16px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line-soft);
}

.integrated-diet-suggestions{
  display:grid;
  gap:10px;
  padding-top:2px;
}

.integrated-diet-suggestions-title{
  color:var(--muted);
  font-size:12px;
  font-weight:850;
}

.integrated-diet-suggestion-row{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
}

.integrated-diet-suggestion-row > span{
  min-height:44px;
  display:grid;
  place-items:center;
  padding:0 10px;
  border:1px solid var(--line-soft);
  border-radius:11px;
  background:var(--surface);
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}

.integrated-diet-suggestion-row > input{
  width:100%;
  min-width:0;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--surface);
  color:var(--ink);
  font:inherit;
  font-size:12px;
}

.integrated-diet-suggestion-row .mini-btn{
  width:40px;
  height:40px;
  min-width:40px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:999px;
}

.integrated-diet-suggestion-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.integrated-diet-suggestion-actions small{
  color:var(--danger);
  font-size:11px;
  font-weight:700;
}

.integrated-diet-array-table{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line-soft);
  border-radius:13px;
  background:var(--surface-2);
}

.integrated-diet-array-head,
.integrated-diet-array-row{
  display:grid;
  grid-template-columns:repeat(var(--diet-columns),minmax(120px,1fr)) auto;
  gap:10px;
}

.integrated-diet-array-head{
  align-items:center;
  min-height:36px;
  padding:8px 12px;
  border-bottom:1px solid var(--line-soft);
  background:color-mix(in srgb,var(--blue) 6%,var(--surface));
}

.integrated-diet-array-head span{
  color:var(--muted);
  font-size:10px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.integrated-diet-array-list{
  display:grid;
}

.integrated-diet-array-row{
  align-items:end;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid var(--line-soft);
}

.integrated-diet-array-row:last-child{
  border-bottom:0;
}

.integrated-diet-array-row .integrated-training-field > span{
  display:none;
}

.integrated-diet-complementary-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:14px;
}

@media(max-width:1180px){
  .integrated-diet-evaluation-grid{
    grid-template-columns:1fr;
  }
  .integrated-diet-calculation-grid,
  .integrated-diet-macro-layout{
    grid-template-columns:1fr;
  }
  .integrated-diet-energy-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .integrated-diet-macro-layout > .integrated-diet-subpanel:last-child{
    grid-column:auto;
  }
  .integrated-diet-portion-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .integrated-diet-array-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .integrated-diet-array-table{
    overflow:visible;
    border:0;
    background:transparent;
  }
  .integrated-diet-array-head{
    display:none;
  }
  .integrated-diet-array-list{
    gap:10px;
  }
  .integrated-diet-array-row{
    padding:12px;
    border:1px solid var(--line-soft);
    border-radius:13px;
    background:var(--surface-2);
  }
  .integrated-diet-array-row:last-child{
    border-bottom:1px solid var(--line-soft);
  }
  .integrated-diet-array-row .integrated-training-field > span{
    display:block;
  }
  .integrated-diet-array-row .integrated-training-set-actions{
    grid-column:1 / -1;
  }
  .integrated-diet-reference-groups{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .integrated-diet-reference-groups.integrated-diet-reference-columns-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .integrated-diet-editor input,
  .integrated-diet-editor select,
  .integrated-diet-editor textarea{
    font-size:16px!important;
  }
  .integrated-diet-calculation-grid,
  .integrated-diet-energy-grid,
  .integrated-diet-macro-controls,
  .integrated-diet-portion-grid,
  .integrated-diet-array-row,
  .integrated-diet-complementary-grid{
    grid-template-columns:1fr;
  }
  .integrated-diet-method-list > div{
    grid-template-columns:1fr auto;
  }
  .integrated-diet-method-list small{
    grid-column:1 / -1;
    padding-left:0;
  }
  .integrated-diet-suggestion-row{
    grid-template-columns:1fr auto;
  }
  .integrated-diet-suggestion-row > span{
    grid-column:1 / -1;
    place-items:center start;
    min-height:32px;
  }
  .integrated-diet-array-row .integrated-training-set-actions{
    grid-column:auto;
  }
  .integrated-diet-macro-energy{
    grid-template-columns:1fr;
  }
  .integrated-diet-macro-layout{
    grid-template-columns:1fr;
  }
  .integrated-diet-macro-nutrients > .integrated-diet-combined-macro{
    grid-template-columns:minmax(0,1fr) 34px 54px 64px;
    gap:8px;
  }
  .integrated-diet-reference-guide{width:calc(100% - 24px)}
  .integrated-diet-reference-groups{
    grid-template-columns:1fr;
  }
  .integrated-diet-reference-groups.integrated-diet-reference-columns-4{
    grid-template-columns:1fr;
  }
  .integrated-diet-reference-popover,
  .integrated-diet-reference-popover.integrated-diet-reference-macros{
    width:calc(100vw - 20px);
    max-height:min(70dvh,560px);
  }
  .integrated-diet-reference-popover.integrated-diet-reference-macros .integrated-diet-reference-groups{
    grid-template-columns:1fr;
  }
}
