:root {
  --ink: #17352a;
  --muted: #6d7e76;
  --line: #dfe8e3;
  --paper: #f6f8f5;
  --green: #126548;
  --lime: #d9f38a;
  --soft: #eaf5ef;
  --red: #b6463e;
  --shadow: 0 18px 55px #12372a1a;
}

/* V23: gráfico móvel, edição de pacientes e ajuda de instalação */
.patient-diet-macro-pie-svg {
  position: relative;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible;
}
.patient-diet-macro-pie-svg > svg {
  display: block;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  overflow: visible;
}
.patient-diet-macro-pie-svg > span {
  position: absolute;
  inset: 19px;
  width: auto !important;
  height: auto !important;
  z-index: 2;
}
.macro-ring-track,
.macro-ring-segment {
  fill: none;
  stroke-width: 13;
}
.macro-ring-track { stroke: #2b2e33; }
.macro-ring-segment {
  stroke-linecap: butt;
  transition: stroke-dasharray .25s ease, stroke-dashoffset .25s ease;
}
.macro-ring-carb { stroke: #2457d6; }
.macro-ring-protein { stroke: #a90f24; }
.macro-ring-fat { stroke: #d28a22; }

.patient-list > .patient-row {
  padding: 0;
  gap: 0;
}
.patient-row-open {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 17px 12px 17px 20px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.patient-edit-button {
  flex: 0 0 auto;
  margin-right: 18px;
  padding: 9px 14px;
  border: 1px solid #555b61;
  border-radius: 10px;
  background: #292d31;
  color: #f4f5f6;
  font-weight: 800;
  cursor: pointer;
}
.patient-edit-button:hover { background: #3a3f44; }
.patient-edit-warning {
  margin: 0;
  padding: 11px 12px;
  border: 1px solid #675b31;
  border-radius: 10px;
  background: #2c2818;
  color: #e7d58a;
  font-size: 12px;
  line-height: 1.45;
}
.install-menu-dots {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  margin: 0 2px;
  border: 1px solid #555a60;
  border-radius: 7px;
  background: #2a2d31;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  vertical-align: middle;
}
@media (max-width: 640px) {
  .patient-row-open {
    gap: 10px;
    padding: 14px 8px 14px 12px;
  }
  .patient-edit-button {
    margin-right: 10px;
    padding: 8px 10px;
    font-size: 12px;
  }
  .patient-row-open .status { display: none; }
  .patient-diet-macro-pie-svg > span { inset: 17px; }
}

.diet-group-observation {
  display: grid;
  gap: 7px;
  margin: 10px 0 4px;
  padding: 0 10px 8px;
  color: #c7cbd0;
  font-size: 12px;
  font-weight: 800;
}
.diet-group-observation textarea {
  width: 100%;
  min-height: 58px;
  resize: vertical;
  padding: 11px 13px;
  border: 1px solid #454a50;
  border-radius: 11px;
  background: #0b0c0e;
  color: #fff;
  font: inherit;
  font-weight: 600;
  line-height: 1.45;
}
.diet-group-observation textarea:focus {
  outline: 2px solid #737a83;
  outline-offset: 1px;
}
.meal li.observation-only {
  display: block;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid #565b61;
  border-radius: 10px;
  background: #202328;
}
.meal li.observation-only .meal-observation {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.patient-diet-macro-legend { min-width: 210px; }
.patient-diet-macro-legend small { white-space: nowrap; }
@media (max-width: 430px) {
  .patient-diet-macro-legend { min-width: 0; }
}

.diet-builder{margin:22px 0;padding:24px;border:1px solid #303237;border-radius:22px;background:linear-gradient(145deg,#151618,#0d0e10);box-shadow:0 20px 60px #0005;color:#f5f5f5}.diet-builder-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.diet-builder-title h2{margin:3px 0 6px}.diet-plan-meta{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:12px;margin-bottom:14px}.diet-plan-meta label,.diet-builder-item label{display:grid;gap:6px;color:#aeb1b6;font-size:12px;font-weight:700}.diet-builder input,.diet-builder select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #393c41;border-radius:10px;background:#0b0c0e;color:#fff}.diet-total{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0 18px}.diet-total span{display:grid;gap:4px;padding:13px;border-radius:12px;background:#eceef1;color:#101114}.diet-total small{color:#656a72;font-weight:800;text-transform:uppercase}.diet-builder-meal{overflow:hidden;margin:14px 0;border:1px solid #383b40;border-radius:17px;background:#111214}.diet-builder-meal-head{display:grid;grid-template-columns:105px minmax(180px,1fr) 145px auto auto;gap:9px;align-items:center;padding:14px;background:#070809}.diet-builder-group{padding:13px}.diet-builder-group.substitution{margin:10px;border:1px solid #61656d;border-radius:13px;background:#1a1c20}.diet-builder-group-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;color:#fff}.diet-builder-group-head span{color:#aeb1b6;font-size:12px}.diet-builder-item{display:grid;grid-template-columns:1.1fr 130px 1.7fr auto auto;gap:9px;align-items:end;padding:10px;border-top:1px solid #2e3034}.diet-display{min-width:0}.diet-amount{position:relative}.diet-amount small{position:absolute;right:8px;bottom:12px;color:#8e9299}.diet-item-macros{align-self:center;color:#b9bdc3;font-size:11px;white-space:nowrap}.diet-remove{padding:9px 12px;border:1px solid #693d43;border-radius:9px;background:#251317;color:#ff9ca7}.diet-add-food,.diet-add-sub{margin:9px 0 0}.diet-add-sub{margin:0 13px 14px}.diet-add-meal{width:100%;margin-top:10px}
.admin-head-actions{display:flex;gap:10px;align-items:center}.admin-head-actions .ghost,.diet-builder-meal-head .ghost,.diet-add-food,.diet-add-sub,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid #747983;border-radius:11px;background:linear-gradient(145deg,#2b2e33,#17191d);color:#fff;font-weight:800;box-shadow:inset 0 1px #ffffff18,0 6px 18px #0004;cursor:pointer}.admin-head-actions .ghost:hover,.diet-builder-meal-head .ghost:hover,.diet-add-food:hover,.diet-add-sub:hover,.secondary-button:hover{border-color:#fff;background:#30343a}.template-admin-list{display:grid;gap:10px}.template-admin-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid #303237;border-radius:15px;background:#141517}.template-admin-list h3{margin:4px 0}.template-admin-list p,.template-admin-list small{color:#9da1a8}.template-creator{margin-bottom:26px;padding:22px;border:1px solid #35383e;border-radius:20px;background:linear-gradient(145deg,#17181b,#0e0f11)}.template-creator h2{margin-top:0}.template-creator-meta{display:grid;grid-template-columns:1fr 160px 180px;gap:12px;margin-bottom:14px}.template-creator label{display:grid;gap:6px;color:#b8bbc1;font-size:12px;font-weight:800}.template-creator input,.template-creator select{min-height:43px;padding:9px 11px;border:1px solid #3b3e44;border-radius:10px;background:#090a0c;color:#fff}.template-creator-item{display:grid;grid-template-columns:1fr 135px 1.5fr auto;gap:10px;align-items:end;padding:12px 0;border-top:1px solid #303238}.template-creator-item label{position:relative}.template-creator-item label small{position:absolute;right:9px;bottom:12px;color:#8c9199}.template-creator-actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.template-saved-title{margin-top:26px}.diet-total span{border:1px solid #41454c;background:linear-gradient(145deg,#24272c,#17191d);color:#fff}.diet-total small{color:#aeb3bb}.diet-item-macros{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-width:190px}.diet-item-macros small{display:flex;justify-content:space-between;gap:8px;padding:5px 7px;border:1px solid #3b3e44;border-radius:7px;background:#1d2024;color:#aeb2b9;font-size:10px}.diet-item-macros b{color:#fff}.diet-meal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 13px 15px}.diet-meal-actions .diet-add-food,.diet-meal-actions .diet-add-sub{width:100%;margin:0}
.diet-builder-title-actions{display:flex;align-items:center;gap:14px}.diet-publish-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 17px;border:1px solid #337a55;border-radius:10px;background:linear-gradient(145deg,#173c29,#0c2418);color:#7ff0ad;font-weight:900;box-shadow:inset 0 1px #a8ffca1f,0 7px 20px #001f0d66;cursor:pointer}.diet-publish-button:hover{border-color:#5fd28d;background:#1c4a31;color:#b8ffd2}.diet-publish-button:disabled{opacity:.55;cursor:wait}.diet-macro-chart{display:flex;align-items:center;gap:10px;margin-right:4px}.diet-macro-pie{flex:0 0 82px;width:82px;height:82px;padding:7px;border-radius:50%;box-shadow:0 0 0 1px #4a4e55,0 8px 22px #0007}.diet-macro-pie>span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:#111316;color:#fff}.diet-macro-pie b{font-size:15px}.diet-macro-pie small{color:#9499a1;font-size:9px}.diet-macro-legend{display:grid;min-width:112px;gap:5px;color:#d0d3d8;font-size:10px}.diet-macro-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.diet-macro-legend i{flex:0 0 9px;width:9px;height:9px;border-radius:50%}.diet-macro-legend .carb{background:#2457d6}.diet-macro-legend .protein{background:#a90f24}.diet-macro-legend .fat{background:#d28a22}.diet-amount{min-width:0!important}.diet-quantity-control{position:relative;display:grid;width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(34px,1fr) minmax(20px,auto) 28px;align-items:center;min-height:42px;border:1px solid #393c41;border-radius:10px;background:#0b0c0e;overflow:hidden}.diet-quantity-control input{width:100%!important;min-width:0!important;min-height:40px;padding:9px 3px 9px 9px!important;border:0!important;border-radius:0!important;background:transparent!important;-moz-appearance:textfield}.diet-quantity-control input::-webkit-inner-spin-button,.diet-quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.diet-quantity-unit{display:block;max-width:47px;overflow:hidden;padding:0 4px;color:#aeb2b9;font-size:9.5px;font-weight:800;line-height:1;white-space:nowrap;text-overflow:clip}.diet-quantity-arrows{display:grid;width:28px;min-width:28px;align-self:stretch;border-left:1px solid #383b41}.diet-quantity-arrows button{display:flex;width:28px;min-width:28px;min-height:20px;align-items:center;justify-content:center;padding:0;border:0;background:#24272c;color:#d7d9dd;font-size:8px;cursor:pointer}.diet-quantity-arrows button+button{border-top:1px solid #3d4147}.diet-quantity-arrows button:hover{background:#3a3e45;color:#fff}.diet-delete-sub{margin-left:auto;white-space:nowrap}.diet-sub-comparison{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:6px;align-items:center;margin:0 0 10px;padding:8px;border:1px solid #555a62;border-radius:9px;background:#111316;color:#b7bbc1;font-size:10px}.diet-sub-comparison strong,.diet-sub-comparison span{padding:5px 6px;border-radius:6px;background:#202329}.diet-sub-comparison b{color:#fff}.diet-sub-comparison.close{border-color:#347b55}.diet-sub-comparison.close strong{color:#70e6a0}.diet-sub-comparison.above{border-color:#86515a}.diet-sub-comparison.above strong{color:#ff9ba8}.diet-sub-comparison.below{border-color:#8b7542}.diet-sub-comparison.below strong{color:#f2d17d}
@media(max-width:850px){.diet-builder{padding:15px;border-radius:17px}.diet-builder-title{align-items:stretch;flex-direction:column}.diet-plan-meta,.diet-total{grid-template-columns:1fr 1fr}.diet-builder-meal-head{grid-template-columns:90px 1fr}.diet-builder-meal-head button{width:100%}.diet-builder-item{grid-template-columns:1fr 110px}.diet-display{grid-column:1/-1}.diet-item-macros{grid-column:1/-1;white-space:normal}.diet-builder-group-head{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.diet-plan-meta,.diet-total{grid-template-columns:1fr}.diet-builder-meal-head{grid-template-columns:1fr}.diet-builder-item{grid-template-columns:1fr}.diet-display,.diet-item-macros{grid-column:auto}.diet-builder-group{padding:8px}.diet-builder-group.substitution{margin:8px}}
@media(max-width:850px){.template-creator-meta{grid-template-columns:1fr 1fr}.template-creator-meta label:first-child{grid-column:1/-1}.template-creator-item{grid-template-columns:1fr 120px}.template-creator-item label:nth-child(3){grid-column:1/-1}.admin-head-actions{width:100%;flex-wrap:wrap}.admin-head-actions button{flex:1}}@media(max-width:520px){.template-creator{padding:15px}.template-creator-meta,.template-creator-item,.template-creator-actions,.diet-meal-actions{grid-template-columns:1fr;display:grid}.template-creator-meta label:first-child,.template-creator-item label:nth-child(3){grid-column:auto}.diet-item-macros{grid-template-columns:1fr 1fr;min-width:0}.template-admin-list article{align-items:stretch;flex-direction:column}}
@media(max-width:850px){.diet-builder-title-actions{justify-content:space-between}.diet-sub-comparison{grid-template-columns:1fr 1fr}.diet-sub-comparison strong{grid-column:1/-1}.diet-quantity-control{grid-template-columns:minmax(70px,1fr) auto 31px}}@media(max-width:520px){.diet-builder-title-actions{align-items:stretch;flex-direction:column}.diet-macro-chart{justify-content:center}.diet-publish-button{width:100%}.diet-sub-comparison{grid-template-columns:1fr}.diet-sub-comparison strong{grid-column:auto}.diet-macro-pie{width:76px;height:76px}}
.diet-sub-head-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.diet-load-sub-template{width:auto!important;min-width:190px;min-height:36px!important;padding:7px 30px 7px 10px!important;border-color:#4b5058!important;background-color:#24272c!important;color:#f2f3f5!important;font-size:11px;font-weight:800;cursor:pointer}.diet-delete-sub{margin-left:0;white-space:nowrap}@media(max-width:850px){.diet-sub-head-actions{width:100%;margin-left:0;flex-wrap:wrap}.diet-load-sub-template{flex:1 1 210px}.diet-delete-sub{flex:1 1 190px}}@media(max-width:520px){.diet-sub-head-actions{display:grid;grid-template-columns:1fr}.diet-load-sub-template,.diet-delete-sub{width:100%!important;min-width:0}}
.anthro-actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:10px;margin-top:18px}.anthro-actions .anthro-save{width:100%;margin:0}.anthro-download-one,.anthro-download-all{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #62666d;border-radius:11px;background:linear-gradient(145deg,#2a2d31,#17191c);color:#f5f6f7;font-weight:850;cursor:pointer}.anthro-download-one:hover,.anthro-download-all:hover{border-color:#aeb2b8;background:#34383e}.anthro-actions button:disabled{opacity:.5;cursor:wait}.diet-builder-meal-head{grid-template-columns:105px minmax(160px,1fr) 130px minmax(190px,auto) auto auto}.diet-builder-meal.collapsed .diet-builder-meal-head{border-bottom:0}.diet-collapse-meal{min-width:104px}.diet-builder-group.substitution{margin:12px 12px 14px 42px;padding:11px;border-left:3px solid #626871}.diet-builder-group.substitution .diet-builder-item{grid-template-columns:minmax(150px,.9fr) 116px minmax(190px,1.25fr) minmax(174px,auto) auto;padding:9px 7px}.diet-builder-group.substitution .diet-item-macros{min-width:174px}.diet-builder-group.substitution .diet-item-macros small{padding:5px;font-size:9.5px}@media(max-width:980px){.anthro-actions{grid-template-columns:1fr 1fr}.anthro-actions .anthro-save{grid-column:1/-1}.diet-builder-group.substitution{margin-left:28px}.diet-builder-meal-head{grid-template-columns:90px 1fr}.diet-builder-group.substitution .diet-builder-item{grid-template-columns:1fr 110px}.diet-builder-group.substitution .diet-display,.diet-builder-group.substitution .diet-item-macros{grid-column:1/-1}}@media(max-width:520px){.anthro-actions{grid-template-columns:1fr}.anthro-actions .anthro-save{grid-column:auto}.diet-builder-group.substitution{margin:10px 4px 12px 16px;padding:8px}.diet-builder-group.substitution .diet-builder-item{grid-template-columns:1fr}.diet-builder-group.substitution .diet-display,.diet-builder-group.substitution .diet-item-macros{grid-column:auto}.diet-collapse-meal{min-width:0}}
.meal li.substitution{margin-left:28px;padding-left:14px;padding-right:10px;border-left:3px solid #646a70;background:#1b1e21}.meal li.substitution-group-start{margin-top:9px;border-top:1px solid #555b61;border-radius:12px 12px 0 0}.meal li .substitution-heading{grid-column:1/-1;display:block;margin:-5px -2px 5px -5px;padding:8px 10px;border:1px solid #555b61;border-radius:9px;background:linear-gradient(145deg,#363a3f,#25282c);box-shadow:0 5px 14px #0005;color:#fff;font-size:12px;font-weight:900;letter-spacing:.03em}.meal li.substitution>span{padding-left:5px}@media(max-width:520px){.meal li.substitution{margin-left:14px;padding-left:10px}.meal li .substitution-heading{font-size:11px}}
.anthro-section-toggle,.diet-plan-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid #747983;border-radius:11px;background:linear-gradient(145deg,#2b2e33,#17191d);color:#fff;font-weight:850;box-shadow:inset 0 1px #ffffff18,0 6px 18px #0004;cursor:pointer;white-space:nowrap}.anthro-section-toggle:hover,.diet-plan-toggle:hover{border-color:#fff;background:#30343a}.diet-supplement-editor{display:grid;gap:8px;margin:14px;padding:15px;color:#d7dade;font-size:12px;font-weight:800}.diet-supplement-editor textarea{width:100%;min-height:110px;resize:vertical;padding:13px 14px;border:1px solid #454a50;border-radius:12px;background:#090a0c;color:#fff;font:inherit;line-height:1.55}.diet-builder input[type=time]{min-width:0;padding-right:40px!important}.diet-quantity-unit{max-width:26px!important;text-align:center}.diet-builder-title-actions{justify-content:flex-end}.anthro-fixed-card:not(:has(.visible-fixed-fields)),.anthro-admin:not(:has(form)),.anthro-history-card:not(:has(.anthro-history-list)){padding-bottom:20px}@media(max-width:1200px){.diet-builder-meal-head{grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);gap:10px}.diet-builder-meal-head>*{min-width:0}.diet-builder-meal-head button{width:100%;margin:0!important}.diet-quantity-control{grid-template-columns:minmax(38px,1fr) 24px 30px}.diet-quantity-arrows,.diet-quantity-arrows button{width:30px;min-width:30px}.diet-builder-title-actions{display:grid;grid-template-columns:minmax(205px,1fr) auto auto;align-items:center;width:100%}.diet-macro-chart{justify-self:start;margin-right:0}.diet-plan-toggle,.diet-publish-button{height:100%}}@media(max-width:700px){.anthro-fixed-head,.anthro-admin-head,.anthro-history-head{display:grid;grid-template-columns:1fr;gap:12px}.anthro-section-toggle{width:100%}.diet-builder-title-actions{grid-template-columns:1fr}.diet-macro-chart{justify-self:center}.diet-plan-toggle,.diet-publish-button{width:100%;min-height:44px}.diet-builder-meal-head{grid-template-columns:1fr}.diet-builder input[type=time]{padding-right:48px!important}.diet-supplement-editor{margin:10px;padding:10px}}
.diet-builder input[type=time],.template-creator input[type=time],.appointment-admin input[type=time]{padding-right:12px!important;-webkit-appearance:none;appearance:none}.diet-builder input[type=time]::-webkit-calendar-picker-indicator,.template-creator input[type=time]::-webkit-calendar-picker-indicator,.appointment-admin input[type=time]::-webkit-calendar-picker-indicator{display:none!important;-webkit-appearance:none!important;opacity:0!important;width:0!important;margin:0!important}.appointment-toggle{grid-column:5}.appointment-admin>input[type=date]{grid-column:2;grid-row:2}.appointment-admin>input[type=time]{grid-column:3;grid-row:2}.appointment-admin>.primary{grid-column:4/6;grid-row:2}.appointment-current{grid-row:3}.template-creator-meta-simple{grid-template-columns:minmax(0,1fr) 180px}.template-supplement-card{margin-top:18px}.template-supplement-editor{display:grid;gap:8px;color:#b8bbc1;font-size:12px;font-weight:800}.template-supplement-editor textarea{width:100%;min-height:130px;resize:vertical;padding:13px 14px;border:1px solid #3b3e44;border-radius:11px;background:#090a0c;color:#fff;font:inherit;line-height:1.55}.diet-total>span:nth-child(2){border-color:#2457d688;background:linear-gradient(145deg,#2457d64d,#142755)}.diet-total>span:nth-child(3){border-color:#a90f2488;background:linear-gradient(145deg,#a90f244d,#4b131d)}.diet-total>span:nth-child(4){border-color:#d28a2288;background:linear-gradient(145deg,#d28a224d,#543916)}.diet-total>span:nth-child(n+2) small{color:#e8ebef}@media(max-width:850px){.appointment-admin{grid-template-columns:auto minmax(0,1fr) auto}.appointment-toggle{grid-column:3;grid-row:1;width:auto;justify-self:end}.appointment-admin>input[type=date],.appointment-admin>input[type=time],.appointment-admin>.primary{grid-column:1/-1;grid-row:auto}.appointment-current{grid-row:auto}.template-creator-meta-simple{grid-template-columns:1fr 150px}.template-supplement-editor textarea{min-height:115px}}@media(max-width:560px){.appointment-admin{grid-template-columns:auto minmax(0,1fr)}.appointment-toggle{grid-column:2;grid-row:2}.template-creator-meta-simple{grid-template-columns:1fr}}
.diet-meal-actions-three{grid-template-columns:1fr 1fr 1fr}.diet-load-section-template{width:100%;min-height:42px;padding:10px 34px 10px 16px;border:1px solid #747983;border-radius:11px;background:linear-gradient(145deg,#2b2e33,#17191d);color:#fff;font-weight:800;box-shadow:inset 0 1px #ffffff18,0 6px 18px #0004;cursor:pointer;text-align:center}.diet-load-section-template:hover{border-color:#fff;background-color:#30343a}.diet-supplement-content{display:grid;gap:12px;padding:0 14px 15px}.diet-supplement-content .diet-supplement-editor{margin:0;padding:15px}.diet-load-supplement-template{display:block;width:100%}@media(max-width:900px){.diet-meal-actions-three{grid-template-columns:1fr 1fr}.diet-meal-actions-three .diet-load-section-template{grid-column:1/-1}}@media(max-width:520px){.diet-meal-actions-three{grid-template-columns:1fr}.diet-meal-actions-three .diet-load-section-template{grid-column:auto}}
.template-saved-actions{display:flex;align-items:center;gap:10px}.template-saved-actions button{min-width:96px}.template-creator-item>*{min-width:0}.template-creator-item input,.template-creator-item select{width:100%;box-sizing:border-box}@media(max-width:1300px){.template-creator-item{grid-template-columns:minmax(0,1fr) 165px}.template-creator-item>label:nth-child(3){grid-column:1}.template-creator-item>.diet-remove{grid-column:2;width:100%;align-self:end}}@media(max-width:520px){.template-creator-item{grid-template-columns:1fr}.template-creator-item>label:nth-child(3),.template-creator-item>.diet-remove{grid-column:1}.template-saved-actions{width:100%}.template-saved-actions button{flex:1}}
.diet-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:42px;padding:0;border:1px solid #555a62;border-radius:9px;background:linear-gradient(145deg,#30343a,#191b1f);color:#d7dbe0;font-size:20px;line-height:1;cursor:grab;user-select:none}.diet-drag-handle:active{cursor:grabbing}.diet-builder-item{grid-template-columns:34px 1.1fr 130px 1.7fr auto auto}.diet-builder-group.substitution .diet-builder-item{grid-template-columns:34px minmax(150px,.9fr) 116px minmax(190px,1.25fr) minmax(174px,auto) auto}.template-creator-item{grid-template-columns:34px minmax(0,1fr) 135px minmax(0,1.5fr) auto}.template-drag-handle{align-self:end}@media(max-width:1300px){.template-creator-item{grid-template-columns:34px minmax(0,1fr) 165px}.template-drag-handle{grid-column:1;grid-row:1}.template-food-field{grid-column:2;grid-row:1}.template-amount-field{grid-column:3;grid-row:1}.template-display-field{grid-column:2;grid-row:2}.template-creator-item>.diet-remove{grid-column:3;grid-row:2;width:100%}}@media(max-width:980px){.diet-builder-item,.diet-builder-group.substitution .diet-builder-item{grid-template-columns:34px minmax(0,1fr) 110px}.diet-builder-item>.diet-drag-handle{grid-column:1;grid-row:1}.diet-builder-item>label:first-of-type{grid-column:2;grid-row:1}.diet-builder-item>.diet-amount{grid-column:3;grid-row:1}.diet-builder-item>.diet-display,.diet-builder-item>.diet-item-macros{grid-column:2/4}.diet-builder-item>.diet-remove{grid-column:3;width:100%}}@media(max-width:520px){.template-creator-item{grid-template-columns:34px minmax(0,1fr)}.template-drag-handle{grid-column:1;grid-row:1}.template-food-field{grid-column:2;grid-row:1}.template-amount-field{grid-column:2;grid-row:2}.template-display-field{grid-column:2;grid-row:3}.template-creator-item>.diet-remove{grid-column:2;grid-row:4}.diet-builder-item,.diet-builder-group.substitution .diet-builder-item{grid-template-columns:34px minmax(0,1fr)}.diet-builder-item>.diet-drag-handle{grid-column:1;grid-row:1}.diet-builder-item>label:first-of-type{grid-column:2;grid-row:1}.diet-builder-item>.diet-amount{grid-column:2;grid-row:2}.diet-builder-item>.diet-display{grid-column:2;grid-row:3}.diet-builder-item>.diet-item-macros{grid-column:2;grid-row:4}.diet-builder-item>.diet-remove{grid-column:2;grid-row:5}}
.patient-clinical-flow{display:flex;flex-direction:column}.patient-clinical-flow>.anthro-admin{order:1}.patient-clinical-flow>.diet-builder{order:2}.patient-clinical-flow>.patient-prescriptions-card{order:3}.patient-clinical-flow>.anthro-history-card{order:4}.patient-clinical-flow>.anthro-fixed-card{order:5}@media(max-width:900px){.template-creator-item{grid-template-columns:34px minmax(0,1fr)}.template-drag-handle{grid-column:1;grid-row:1}.template-food-field{grid-column:2;grid-row:1}.template-amount-field{grid-column:2;grid-row:2}.template-display-field{grid-column:2;grid-row:3}.template-creator-item>.diet-remove{grid-column:2;grid-row:4;width:100%}.template-amount-field small{right:12px;bottom:13px}}
@media(max-width:1000px){.template-creator-item{display:grid!important;grid-template-columns:38px minmax(0,1fr) 155px!important;grid-template-areas:"drag food amount" ". display display" ". . remove"!important;column-gap:10px!important;row-gap:10px!important}.template-creator-item>.template-drag-handle{display:inline-flex!important;grid-area:drag!important;align-self:end!important;visibility:visible!important;opacity:1!important}.template-creator-item>label.template-food-field{grid-area:food!important;min-width:0!important}.template-creator-item>label.template-amount-field{grid-area:amount!important;min-width:0!important}.template-creator-item>label.template-display-field{grid-area:display!important;min-width:0!important}.template-creator-item>button.diet-remove{grid-area:remove!important;width:100%!important}.template-creator-item>label.template-amount-field small{right:12px!important;bottom:13px!important}}@media(max-width:560px){.template-creator-item{grid-template-columns:38px minmax(0,1fr)!important;grid-template-areas:"drag food" ". amount" ". display" ". remove"!important}.template-creator-item>label.template-amount-field,.template-creator-item>button.diet-remove{width:100%!important}}
.hf-food-draggable-row{position:relative;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .18s ease,box-shadow .2s ease,background-color .2s ease}.hf-food-row-dragging{opacity:.32;transform:scale(.985);background:#22262b!important;box-shadow:inset 0 0 0 1px #8b929c66}.hf-food-drop-before{transform:translateY(9px);box-shadow:0 -3px 0 #d9dde3,0 -12px 22px #0008}.hf-food-drop-after{transform:translateY(-9px);box-shadow:0 3px 0 #d9dde3,0 12px 22px #0008}.hf-food-drag-ghost{position:fixed!important;left:-10000px!important;top:-10000px!important;z-index:99999!important;pointer-events:none!important;opacity:.96!important;transform:rotate(.35deg) scale(1.015)!important;border:1px solid #aeb4bd!important;border-radius:12px!important;background:linear-gradient(145deg,#292d33,#17191d)!important;box-shadow:0 22px 55px #000c,0 0 0 1px #ffffff20!important}.hf-food-drag-ghost .diet-drag-handle{cursor:grabbing;background:#4a5058;color:#fff}@media(prefers-reduced-motion:reduce){.hf-food-draggable-row{transition:none}}
.diet-builder-meal-head{grid-template-columns:105px minmax(150px,1fr) 125px auto minmax(190px,auto) auto auto}.diet-duplicate-meal{min-width:92px}@media(max-width:1200px){.diet-builder-meal-head{grid-template-columns:minmax(120px,.42fr) minmax(0,1fr)}.diet-builder-meal-head>*{min-width:0}.diet-builder-meal-head button{width:100%}}
.patient-diet-calculation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:20px;padding:24px;border:1px solid #34373b;border-radius:22px;background:linear-gradient(145deg,#17191c,#0d0e10);color:#f4f5f6;box-shadow:0 16px 42px #0005}.patient-diet-calculation h3{margin:3px 0 7px;font-size:23px}.patient-diet-calculation p:not(.kicker){max-width:460px;margin:0;color:#aeb2b7;font-size:12px;line-height:1.5}.patient-diet-macro-chart{display:flex;align-items:center;gap:16px}.patient-diet-macro-pie{flex:0 0 118px;width:118px;height:118px;padding:9px;border-radius:50%;box-shadow:0 0 0 1px #565b62,0 12px 28px #0009}.patient-diet-macro-pie>span{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:#111316}.patient-diet-macro-pie b{font-size:22px}.patient-diet-macro-pie small{color:#979ca4;font-size:10px}.patient-diet-macro-legend{display:grid;gap:8px;min-width:150px}.patient-diet-macro-legend span{display:grid;grid-template-columns:10px 1fr auto;gap:7px;align-items:center}.patient-diet-macro-legend i{width:10px;height:10px;border-radius:50%}.patient-diet-macro-legend i.carb{background:#2457d6}.patient-diet-macro-legend i.protein{background:#a90f24}.patient-diet-macro-legend i.fat{background:#d28a22}.patient-diet-macro-legend b{font-size:11px}.patient-diet-macro-legend small{color:#9da2aa;font-size:10px}.assessment-title[type=button]{width:100%;padding:0 0 17px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;cursor:pointer}.assessment-title[type=button]>div{flex:1}.assessment-chevron{flex:0 0 auto!important;width:auto!important;height:auto!important;margin-left:auto;background:transparent!important;transition:transform .22s ease}.assessment-chevron.open{transform:rotate(180deg)}.patient-trend-card{margin-top:18px;padding:16px 17px 12px;border:1px solid #34383b;border-radius:16px;background:linear-gradient(145deg,#17191c,#101113);overflow:hidden}.patient-trend-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:4px}.patient-trend-head small{color:#979ca3;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.patient-trend-head h4{margin:3px 0 0;color:#f4f5f6;font-size:16px}.patient-trend-head strong{font-size:15px}.patient-trend-svg{display:block;width:100%;height:auto;max-height:240px;overflow:visible}.patient-trend-grid{stroke:#3a3e44;stroke-width:1;stroke-dasharray:5 6}.patient-trend-value{fill:#f1f3f5;font-size:11px;font-weight:850}.patient-trend-date{fill:#92979f;font-size:9px;font-weight:700}@media(max-width:760px){.patient-diet-calculation{grid-template-columns:1fr;padding:19px}.patient-diet-macro-chart{justify-content:center}.patient-diet-macro-pie{width:104px;height:104px;flex-basis:104px}.patient-trend-card{padding:13px 10px 8px}.patient-trend-date{font-size:8px}}@media(max-width:430px){.patient-diet-macro-chart{align-items:stretch;flex-direction:column}.patient-diet-macro-pie{align-self:center}.patient-diet-macro-legend{width:100%}.patient-trend-head{align-items:flex-start;flex-direction:column}.patient-trend-svg{min-width:520px}.patient-trend-card{overflow-x:auto}}
.admin-assessment-groups{display:grid;gap:14px}.admin-assessment-group-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:4px 2px 0}.admin-assessment-group-title h3{margin:0;color:#f5f5f5;font-size:17px}.admin-assessment-group-title small{color:#a9adb3;font-size:11px}.admin-assessment-group-title.calorimetry{margin-top:12px;padding-top:20px;border-top:1px solid #34373b}.calorimetry-row .anthro-history-metrics small{min-height:24px}.calorimetry-row .anthro-history-metrics b{white-space:nowrap}@media(max-width:700px){.admin-assessment-group-title{align-items:flex-start;flex-direction:column;gap:4px}.calorimetry-row .anthro-history-metrics{grid-template-columns:1fr}.calorimetry-row .anthro-history-metrics small{min-height:0}}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, system-ui, sans-serif;
}
button,
input {
  font: inherit;
}
button {
  cursor: pointer;
}
button:disabled {
  opacity: 0.6;
}
.app {
  min-height: 100vh;
}
.app > header {
  height: 76px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding: 0 max(24px, calc((100vw - 1180px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 20;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.brandmark,
.mobile-logo {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--ink);
  color: var(--lime);
  display: grid;
  place-items: center;
  font-weight: 900;
}
.brand span:last-child,
.account > div {
  display: flex;
  flex-direction: column;
}
.brand b {
  font-size: 15px;
}
.brand small,
.account small {
  font-size: 11px;
  color: var(--muted);
}
.account {
  display: flex;
  align-items: center;
  gap: 14px;
}
.account > div {
  text-align: right;
}
.account b {
  font-size: 13px;
}
.icon,
.back,
.ghost {
  border: 0;
  background: transparent;
  color: var(--ink);
}
.icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--paper);
  display: grid;
  place-items: center;
}
.primary {
  border: 0;
  border-radius: 13px;
  background: var(--green);
  color: #fff;
  padding: 13px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 750;
}
.splash,
.center {
  min-height: 100vh;
  display: grid;
  place-content: center;
  text-align: center;
  color: var(--muted);
}
.pulse {
  width: 70px;
  height: 70px;
  border-radius: 24px;
  background: var(--ink);
  color: var(--lime);
  display: grid;
  place-items: center;
  margin: auto;
  font-size: 24px;
  font-weight: 900;
}
.login-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
}
.login-intro {
  padding: 58px clamp(38px, 7vw, 110px);
  background:
    radial-gradient(circle at 80% 18%, #d9f38a2e, transparent 28%),
    linear-gradient(150deg, #15392d, #0d271f);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.login-intro .brandmark {
  background: var(--lime);
  color: var(--ink);
}
.login-intro .brand small {
  color: #b7c8c0;
}
.login-intro h1 {
  font-size: clamp(44px, 5vw, 72px);
  line-height: 1.02;
  letter-spacing: -3.5px;
  max-width: 660px;
  margin: 20px 0;
}
.login-intro p {
  color: #c7d7cf;
  font-size: 18px;
  line-height: 1.7;
  max-width: 590px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 12px;
  font-weight: 800;
  color: var(--lime);
}
.trust {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 35px;
}
.login-intro > small {
  color: #9fb4ab;
}
.login-panel {
  display: grid;
  place-items: center;
  padding: 35px;
}
.login-card {
  width: min(420px, 100%);
  background: #fff;
  padding: 42px;
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.login-card h2,
.modal-card h2 {
  font-size: 32px;
  letter-spacing: -1px;
  margin: 3px 0;
}
.login-card p {
  margin: 0;
  color: var(--muted);
}
.login-card label,
.modal-card label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-weight: 700;
  font-size: 13px;
}
.login-card input,
.modal-card input,
.search input {
  border: 1px solid var(--line);
  background: #fbfcfb;
  border-radius: 13px;
  padding: 14px 15px;
  outline: 0;
}
.login-card .primary {
  width: 100%;
}
.help {
  text-align: center;
  font-size: 12px !important;
}
.mobile-logo {
  display: none;
}
.kicker {
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--green) !important;
  font-weight: 850;
  margin: 0;
}
.form-error {
  background: #fff0ee;
  color: var(--red) !important;
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 13px;
}
.admin,
.portal {
  max-width: 1180px;
  margin: auto;
  padding: 46px 24px 80px;
}
.page-head,
.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}
.page-head h1,
.patient-title h1 {
  font-size: 40px;
  letter-spacing: -1.7px;
  margin: 5px 0;
}
.page-head p,
.patient-title p,
.upload-copy p {
  color: var(--muted);
  margin: 0;
}
.summary-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin: 30px 0;
}
.summary {
  background: #fff;
  border: 1px solid var(--line);
  padding: 20px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 15px;
}
.summary > span,
.assessment-title > span {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: var(--soft);
  color: var(--green);
  display: grid;
  place-items: center;
}
.summary strong {
  font-size: 26px;
}
.summary p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}
.search {
  height: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 0 15px;
  margin-bottom: 16px;
}
.search input {
  border: 0;
  padding: 0;
  background: transparent;
  flex: 1;
}
.patient-list {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
}
.patient-row {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #fff;
  padding: 17px 20px;
  display: flex;
  align-items: center;
  gap: 15px;
  text-align: left;
  color: var(--ink);
}
.avatar {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: var(--ink);
  color: var(--lime);
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 900;
}
.avatar.big {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  font-size: 18px;
}
.patient-main {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.patient-main small {
  color: var(--muted);
  margin-top: 3px;
}
.status {
  font-size: 11px;
  font-weight: 800;
  border-radius: 999px;
  padding: 7px 10px;
}
.status.ok {
  background: var(--soft);
  color: var(--green);
}
.status.pending {
  background: #fff6d9;
  color: #87681a;
}
.empty {
  padding: 65px 25px;
  text-align: center;
  color: var(--muted);
}
.empty svg {
  color: var(--green);
  width: 38px;
  height: 38px;
}
.empty h3 {
  color: var(--ink);
  margin-bottom: 7px;
}
.modal {
  position: fixed;
  inset: 0;
  background: #0819139e;
  display: grid;
  place-items: center;
  padding: 20px;
  z-index: 50;
}
.modal-card {
  width: min(460px, 100%);
  background: #fff;
  border-radius: 24px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.back {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  font-weight: 750;
}
.patient-title {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
}
.patient-title h1 {
  font-size: 31px;
}
.upload-card,
.preview,
.assessment-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 23px;
  padding: 25px;
  margin-top: 18px;
}
.upload-copy {
  display: flex;
  gap: 15px;
}
.upload-copy h2,
.preview h2,
.section-head h2 {
  margin: 3px 0;
  font-size: 24px;
}
.upload-icon {
  width: 48px;
  height: 48px;
  background: var(--soft);
  border-radius: 16px;
  color: var(--green);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}
.drop {
  border: 1.5px dashed #a9bbb2;
  background: #f8fbf9;
  border-radius: 18px;
  min-height: 155px;
  margin-top: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  color: var(--green);
  cursor: pointer;
}
.drop input {
  display: none;
}
.drop small {
  color: var(--muted);
}
.preview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 20px;
}
.preview-grid article {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
}
.preview-grid h3 {
  font-size: 14px;
  margin: 9px 0;
  word-break: break-word;
}
.preview-grid p {
  color: var(--muted);
  font-size: 12px;
}
.doc-type {
  color: var(--green);
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 850;
}
.notice {
  max-width: 800px;
  margin: 18px auto;
  padding: 14px;
  border-radius: 14px;
}
.notice.success {
  background: var(--soft);
  color: var(--green);
}
.notice.error {
  background: #fff0ee;
  color: var(--red);
}
.privacy {
  display: flex;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
}
.portal {
  max-width: 940px;
}
.welcome {
  background: linear-gradient(135deg, #15392d, #0f2b22);
  color: #fff;
  border-radius: 26px;
  padding: 32px;
}
.welcome p {
  color: var(--lime);
  font-weight: 700;
  margin: 0;
}
.welcome h1 {
  font-size: 34px;
  letter-spacing: -1.3px;
  margin: 8px 0;
}
.welcome span {
  font-size: 12px;
  color: #b8cbc2;
}
.tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #e8eeea;
  border-radius: 16px;
  padding: 5px;
  margin: 22px 0;
}
.tabs button {
  border: 0;
  background: transparent;
  border-radius: 12px;
  padding: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--muted);
  font-weight: 800;
}
.tabs button.active {
  background: #fff;
  color: var(--green);
  box-shadow: 0 4px 15px #13362a14;
}
.date-pill {
  display: flex;
  align-items: center;
  gap: 7px;
  background: var(--soft);
  color: var(--green);
  padding: 9px 12px;
  border-radius: 999px;
  font-size: 12px;
}
.timeline {
  position: relative;
  margin-top: 22px;
}
.meal {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.time {
  font-size: 13px;
  font-weight: 850;
  background: var(--ink);
  color: var(--lime);
  border-radius: 999px;
  padding: 8px 10px;
  height: 34px;
  text-align: center;
}
.meal-body {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 20px;
}
.meal.supplement .meal-body {
  background: #f3f9ec;
}
.meal-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.meal-title > span {
  width: 40px;
  height: 40px;
  border-radius: 13px;
  background: var(--soft);
  color: var(--green);
  display: grid;
  place-items: center;
}
.meal-title small {
  font-size: 10px;
  color: var(--green);
  font-weight: 850;
  text-transform: uppercase;
}
.meal-title h3 {
  margin: 2px 0;
  font-size: 18px;
}
.meal ul {
  list-style: none;
  padding: 0;
  margin: 15px 0 0;
}
.meal li {
  border-top: 1px solid var(--line);
  padding: 13px 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px;
  font-size: 14px;
}
.meal li > small {
  color: var(--muted);
}
.meal li > b {
  grid-column: 1/-1;
  color: var(--green);
  font-size: 11px;
}
.assessment-title {
  display: flex;
  align-items: center;
  gap: 13px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 17px;
}
.assessment-title h3 {
  margin: 0;
}
.assessment-title p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
}
.metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 18px;
}
.metrics.three {
  grid-template-columns: repeat(3, 1fr);
}
.metric {
  background: var(--paper);
  border-radius: 16px;
  padding: 17px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.metric p {
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 8px;
}
.metric strong {
  font-size: 21px;
}
.metric > small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
  margin-top: 11px;
}
.delta {
  font-size: 10px;
  font-weight: 850;
  border-radius: 999px;
  padding: 5px 8px;
  margin-top: 8px;
}
.delta.good {
  background: var(--soft);
  color: var(--green);
}
.delta.bad {
  background: #fff0ee;
  color: var(--red);
}
.delta.neutral {
  background: #e9eeeb;
  color: var(--muted);
}
@media (max-width: 760px) {
  .login-page {
    display: block;
    padding: 22px;
  }
  .login-intro {
    display: none;
  }
  .login-panel {
    padding: 0;
    min-height: calc(100vh - 44px);
  }
  .login-card {
    padding: 28px 22px;
  }
  .mobile-logo {
    display: grid;
  }
  .app > header {
    height: 66px;
    padding: 0 16px;
  }
  .account > div,
  .brand small {
    display: none;
  }
  .admin,
  .portal {
    padding: 28px 15px 95px;
  }
  .page-head,
  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .page-head h1 {
    font-size: 34px;
  }
  .page-head .primary,
  .section-head .primary {
    width: 100%;
  }
  .summary-grid {
    grid-template-columns: 1fr;
  }
  .status {
    display: none;
  }
  .patient-main {
    min-width: 0;
  }
  .patient-main small {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
  .modal-card {
    padding: 24px;
  }
  .patient-title h1 {
    font-size: 25px;
  }
  .upload-card,
  .preview {
    padding: 18px;
  }
  .upload-copy {
    display: block;
  }
  .upload-icon {
    margin-bottom: 12px;
  }
  .preview-grid {
    grid-template-columns: 1fr;
  }
  .welcome {
    padding: 25px 21px;
  }
  .welcome h1 {
    font-size: 27px;
  }
  .meal {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .time {
    width: 78px;
  }
  .meal-body {
    padding: 17px;
  }
  .metrics,
  .metrics.three {
    grid-template-columns: 1fr 1fr;
  }
  .metric strong {
    font-size: 18px;
  }
  .assessment-card {
    padding: 18px;
  }
}
@media (max-width: 410px) {
  .metrics,
  .metrics.three {
    grid-template-columns: 1fr;
  }
}
:root {
  --ink: #111214;
  --muted: #6d7176;
  --line: #d3d5d7;
  --paper: #f1f2f3;
  --green: #34383c;
  --green2: #191b1e;
  --lime: #d9dbdd;
  --soft: #e7e9eb;
  --shadow: 0 18px 55px rgba(0, 0, 0, 0.13);
}
body {
  background: linear-gradient(145deg, #f7f7f7, #ebedef);
}
.login-intro {
  background:
    radial-gradient(
      circle at 80% 18%,
      rgba(255, 255, 255, 0.13),
      transparent 30%
    ),
    linear-gradient(145deg, #191a1c, #050506);
}
.login-intro .brandmark {
  background: #050506;
  border: 1px solid #777b80;
}
.login-intro .brand small,
.login-intro p,
.welcome span {
  color: #b9bdc1;
}
.eyebrow {
  color: #e3e5e7;
}
.primary {
  background: linear-gradient(135deg, #4a4e52, #17191b);
  box-shadow: 0 10px 22px #0003;
}
.primary:hover {
  background: linear-gradient(135deg, #62676c, #202326);
}
.brandmark,
.mobile-logo,
.pulse {
  border-radius: 50%;
  border: 1px solid #70757a;
  box-shadow: 0 5px 14px #0000002e;
  object-fit: cover;
}
.welcome {
  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(255, 255, 255, 0.12),
      transparent 25%
    ),
    linear-gradient(135deg, #292c2f, #08090a);
}
.welcome p {
  color: #e1e3e5;
}
.time,
.avatar {
  background: linear-gradient(145deg, #2d3033, #08090a);
  color: #e6e8ea;
}
.summary > span,
.assessment-title > span,
.upload-icon,
.meal-title > span {
  background: linear-gradient(145deg, #f1f2f3, #d8dbde);
  color: #26292c;
}
.meal.supplement .meal-body {
  background: #f0f1f2;
  border-color: #d5d7d9;
}
.tabs button.active,
.date-pill,
.doc-type,
.kicker,
.meal-title small {
  color: #25282b !important;
}
.delta.good,
.status.ok {
  background: #e5f4eb;
  color: #17683f;
}
.delta.bad {
  background: #fff0ee;
  color: #b6463e;
}
:root {
  --ink: #f3f4f5;
  --muted: #a4a8ad;
  --line: #34373b;
  --paper: #090a0b;
  --green: #c2c5c8;
  --green2: #eceeef;
  --lime: #e0e2e4;
  --soft: #24272a;
}
html,
body,
.app,
.admin,
.portal,
.login-page,
.login-panel {
  background: #090a0b;
  color: #f3f4f5;
}
.app > header {
  background: #111315;
  border-color: #303337;
}
.brand b,
.account b,
.page-head h1,
.patient-title h1,
.section-head h2,
.empty h3 {
  color: #f3f4f5;
}
.icon {
  background: #24272a;
  color: #e6e8ea;
}
.login-card,
.modal-card,
.summary,
.patient-list,
.patient-row,
.upload-card,
.preview,
.assessment-card,
.meal-body {
  background: #151719;
  color: #f3f4f5;
  border-color: #34373b;
}
.login-card input,
.modal-card input,
.search input {
  background: #202326;
  color: #f4f5f6;
  border-color: #41454a;
}
.login-card input::placeholder,
.modal-card input::placeholder,
.search input::placeholder {
  color: #83888d;
}
.search {
  background: #151719;
  border-color: #34373b;
  color: #cfd2d5;
}
.patient-row {
  border-color: #303337;
}
.patient-row:hover {
  background: #1d2023;
}
.status.pending {
  background: #403719;
  color: #f1d578;
}
.drop {
  background: #111315;
  border-color: #51565b;
  color: #e1e3e5;
}
.preview-grid article {
  background: #1b1e21;
  border-color: #3b3f43;
}
.tabs {
  background: #1d2023;
}
.tabs button {
  color: #aeb2b6;
}
.tabs button.active {
  background: #3a3e42;
  color: #fff !important;
}
.date-pill {
  background: #292c2f;
  color: #e5e7e9 !important;
}
.meal.supplement .meal-body {
  background: #1b1e21;
  border-color: #3d4145;
}
.meal li {
  border-color: #34373b;
}
.meal li.substitution {
  background: #202326;
}
.metric {
  background: #202326;
  color: #f3f4f5;
}
.metric strong {
  color: #fff;
}
.summary > span,
.assessment-title > span,
.upload-icon,
.meal-title > span {
  background: linear-gradient(145deg, #555a5f, #24272a);
  color: #f1f2f3;
}
.privacy,
.muted,
.page-head p,
.patient-title p,
.upload-copy p,
.summary p,
.preview-grid p {
  color: #a4a8ad;
}
.kicker,
.doc-type,
.meal-title small {
  color: #d8dadd !important;
}
.delta.neutral {
  background: #363a3e;
  color: #d6d9dc;
}
.delta.good,
.status.ok {
  background: #173b2a;
  color: #78d7a6;
}
.delta.bad {
  background: #482523;
  color: #ff9992;
}
.form-success {
  background: #173b2a;
  color: #8ce0b3 !important;
  padding: 11px 13px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.5;
}
.auth-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.auth-links button {
  border: 0;
  background: transparent;
  color: #c8cbd0;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.auth-links button:hover {
  color: #fff;
}
.summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.memory-summary > div {
  min-width: 0;
  flex: 1;
}
.memory-track {
  height: 7px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #34383c;
}
.memory-track i {
  display: block;
  height: 100%;
  min-width: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #858b90, #eceeef);
}
.assessment-table-wrap {
  margin-top: 22px;
  overflow-x: auto;
  border: 1px solid #34373b;
  border-radius: 14px;
}
.assessment-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  text-align: left;
}
.assessment-table th,
.assessment-table td {
  padding: 14px 15px;
  border-bottom: 1px solid #303337;
  vertical-align: middle;
}
.assessment-table thead th {
  background: #202326;
  color: #cfd2d5;
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.assessment-table tbody th {
  color: #f3f4f5;
  font-size: 13px;
  white-space: nowrap;
  background: #191b1e;
}
.assessment-table tbody td strong {
  display: block;
  margin-bottom: 6px;
  color: #fff;
  font-size: 14px;
  white-space: nowrap;
}
.assessment-table tbody tr:last-child th,
.assessment-table tbody tr:last-child td {
  border-bottom: 0;
}
.assessment-table tbody tr:hover {
  background: #1c1f22;
}
.assessment-table .delta {
  display: inline-flex;
  font-size: 10px;
  padding: 4px 7px;
}
.scroll-hint {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  margin: 7px 3px 0;
  color: #8f9499;
  font-size: 10px;
  font-weight: 750;
}
.assessment-help {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 16px;
}
.assessment-help p {
  margin: 0;
  padding: 12px;
  border-radius: 10px;
  background: #202326;
  color: #aeb2b6;
  font-size: 11px;
  line-height: 1.5;
}
.assessment-help b {
  color: #eceeef;
}
@media (max-width: 820px) {
  .summary-grid {
    grid-template-columns: 1fr;
  }
  .assessment-card {
    padding: 18px 14px;
  }
  .assessment-table-wrap {
    margin-left: -4px;
    margin-right: -4px;
  }
  .assessment-help {
    grid-template-columns: 1fr;
  }
}
.welcome {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.welcome > div {
  min-width: 0;
}
.welcome-actions {
  flex: 0 0 min(390px, 100%);
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 9px;
}
.patient-preview-button {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #4b4f55;
  border-radius: 13px;
  padding: 12px 16px;
  background: linear-gradient(145deg, #24272b, #101214);
  color: #f5f6f7;
  font-weight: 800;
}
.patient-preview-button:hover {
  border-color: #737982;
  background: #2d3035;
}
.preview-banner {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 18px 0;
  padding: 15px 18px;
  border: 1px solid #565b60;
  border-radius: 15px;
  background: linear-gradient(135deg, #24272a, #151719);
}
.preview-banner > svg {
  flex: 0 0 auto;
  color: #f0f1f2;
}
.preview-banner b {
  color: #fff;
}
.preview-banner p {
  margin: 3px 0 0;
  color: #aeb3b8;
}
.parsed-values {
  display: grid;
  gap: 7px;
  margin-top: 12px;
}
.parsed-values span {
  display: grid;
  gap: 2px;
  padding: 9px 10px;
  border: 1px solid #3b3f43;
  border-radius: 9px;
  color: #c7cbcf;
  font-size: 12px;
  line-height: 1.4;
}
.parsed-values b {
  color: #fff;
}
.agent-hf-cta {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-top: 34px;
  padding: 22px 24px;
  border: 1px solid #484d52;
  border-radius: 21px;
  background: linear-gradient(135deg, #202326, #111315);
}
.agent-hf-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid #686e73;
  border-radius: 16px;
  background: linear-gradient(145deg, #555b60, #25282b);
  color: #fff;
}
.agent-hf-copy {
  min-width: 0;
}
.agent-hf-copy .kicker {
  margin: 0 0 5px;
  color: #bfc3c7;
}
.agent-hf-copy h2 {
  margin: 0;
  color: #f5f6f7;
  font-size: 19px;
  line-height: 1.25;
}
.agent-hf-copy > p:last-child {
  max-width: 720px;
  margin: 7px 0 0;
  color: #aeb3b8;
  font-size: 13px;
  line-height: 1.5;
}
.agent-hf-cta > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 16px;
  border: 1px solid #858a8f;
  border-radius: 13px;
  background: linear-gradient(135deg, #f4f5f6, #bfc3c7);
  color: #111315;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}
.agent-hf-cta > a:hover {
  filter: brightness(1.08);
}
.patient-download-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
  padding: 22px 24px;
  border: 1px solid #484d52;
  border-radius: 21px;
  background: linear-gradient(135deg, #202326, #111315);
}
.patient-download-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid #686e73;
  border-radius: 16px;
  background: linear-gradient(145deg, #555b60, #25282b);
  color: #fff;
}
.patient-download-card > div {
  min-width: 0;
}
.patient-download-card .kicker {
  margin: 0 0 5px;
  color: #bfc3c7;
}
.patient-download-card h2 {
  margin: 0;
  color: #f5f6f7;
  font-size: 19px;
  line-height: 1.25;
}
.patient-download-card p:not(.kicker) {
  max-width: 720px;
  margin: 7px 0 0;
  color: #aeb3b8;
  font-size: 13px;
  line-height: 1.5;
}
.patient-download-card > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 16px;
  border: 1px solid #858a8f;
  border-radius: 13px;
  background: linear-gradient(135deg, #f4f5f6, #bfc3c7);
  color: #111315;
  font-weight: 850;
  white-space: nowrap;
}
.patient-download-card > button:hover:not(:disabled) {
  filter: brightness(1.08);
}
.patient-download-card .download-success,
.patient-download-card .download-error {
  display: block;
  margin-top: 7px;
  font-size: 11px;
}
.patient-download-card .download-success {
  color: #8ee8ae;
}
.patient-download-card .download-error {
  color: #ff9b94;
}
.guide-action {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.guide-action small {
  max-width: 390px;
  color: #aeb3b8;
  font-size: 11px;
  line-height: 1.35;
}
.guide-action .guide-error {
  color: #ff8d8d;
}
.guide-download {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #858a8f;
  border-radius: 13px;
  padding: 12px 15px;
  background: linear-gradient(135deg, #f4f5f6, #bfc3c7);
  color: #101214;
  font-weight: 850;
}
.guide-download:hover:not(:disabled) {
  filter: brightness(1.08);
}
.guide-download:disabled {
  cursor: wait;
  opacity: 0.62;
}
.install-app {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #6c7176;
  border-radius: 13px;
  padding: 12px 15px;
  background: #e8eaec;
  color: #111315;
  font-weight: 800;
}
.supplement-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #74797e;
  border-radius: 13px;
  padding: 12px 15px;
  background: #34383c;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.supplement-link {
  background: linear-gradient(135deg, #f4f5f6, #bfc3c7);
  color: #111315;
}
.supplement-link:hover {
  filter: brightness(1.08);
}
.avatar-upload {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #74797e;
  border-radius: 13px;
  padding: 11px 15px;
  background: #34383c;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}
.avatar-upload:hover {
  background: #484d52;
}
.avatar-upload input {
  display: none;
}
.avatar-notice {
  color: #c6cacf;
  font-size: 11px;
  text-align: center;
}
.avatar.has-photo {
  overflow: hidden;
  padding: 0;
  border-radius: 50%;
  background: #151719;
}
.avatar.has-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.avatar.header-avatar {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
}
.install-app:hover {
  background: #fff;
}
.install-help {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 16px;
  align-items: center;
  margin-top: 12px;
  padding: 14px 16px;
  border: 1px solid #3b3f43;
  border-radius: 14px;
  background: #17191b;
}
.install-help b {
  color: #f3f4f5;
}
.install-help p {
  grid-column: 1;
  margin: 0;
  color: #aeb2b6;
  font-size: 12px;
  line-height: 1.5;
}
.install-help button {
  grid-column: 2;
  grid-row: 1 / span 2;
  border: 0;
  border-radius: 10px;
  padding: 9px 12px;
  background: #34383c;
  color: #fff;
  font-weight: 750;
}
.appointment-admin {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 15px;
  margin: 0 0 18px;
  padding: 20px;
  border: 1px solid #34373b;
  border-radius: 20px;
  background: #151719;
}
.appointment-admin h2 {
  margin: 0 0 4px;
  color: #f3f4f5;
  font-size: 19px;
}
.appointment-admin p {
  margin: 0;
  color: #a4a8ad;
  font-size: 12px;
}
.appointment-admin input {
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid #41454a;
  border-radius: 12px;
  background: #202326;
  color: #f4f5f6;
  color-scheme: dark;
}
.appointment-current {
  grid-column: 2 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 13px;
  border-top: 1px solid #34373b;
}
.appointment-current span {
  display: flex;
  flex-direction: column;
}
.appointment-current small {
  color: #92979c;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.appointment-current strong {
  margin-top: 2px;
  color: #fff;
}
.appointment-current button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #693632;
  border-radius: 10px;
  padding: 8px 10px;
  background: #2b1c1b;
  color: #ff9992;
  font-size: 11px;
  font-weight: 800;
}
.appointment-alert {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  padding: 16px 18px;
  border: 1px solid #4a5055;
  border-radius: 18px;
  background: linear-gradient(135deg, #272b2f, #17191b);
}
.appointment-alert > span {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #e8eaec;
  color: #17191b;
}
.appointment-alert > div:not(.calendar-action) {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 2px 10px;
}
.appointment-alert small {
  color: #aeb2b6;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.appointment-alert strong {
  color: #fff;
  font-size: 17px;
}
.appointment-alert p {
  grid-column: 1 / -1;
  margin: 3px 0 0;
  color: #d6d9dc;
  font-size: 13px;
}
.appointment-alert.past {
  border-color: #5a3431;
  background: #2b1c1b;
}
.calendar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-left: auto;
  padding: 10px 13px;
  border: 1px solid #71767b;
  border-radius: 11px;
  background: #e8eaec;
  color: #17191b;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}
.calendar-link:hover {
  background: #fff;
}
.calendar-action {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
  margin-left: auto;
  max-width: 265px;
}
.calendar-action .calendar-link {
  margin-left: 0;
}
.calendar-action small {
  color: #b8bdc1;
  font-size: 9px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
}
.danger-zone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 34px;
  padding: 18px 20px;
  border: 1px solid #57302d;
  border-radius: 18px;
  background: #211615;
}
.danger-zone b {
  color: #ffaaa4;
}
.danger-zone p {
  margin: 4px 0 0;
  color: #bd918e;
  font-size: 12px;
}
.danger-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex: 0 0 auto;
  border: 1px solid #81413c;
  border-radius: 12px;
  padding: 11px 14px;
  background: transparent;
  color: #ffaaa4;
  font-weight: 800;
}
.danger-button:hover {
  background: #3c211f;
}
.danger-button.solid {
  background: #9f342d;
  border-color: #b9433b;
  color: #fff;
}
.danger-button.solid:hover {
  background: #b33b33;
}
.delete-confirm {
  text-align: center;
}
.delete-confirm > p {
  color: #aeb2b6;
  line-height: 1.55;
}
.delete-confirm .kicker {
  color: #ff9992 !important;
}
.delete-warning {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin: 0 auto;
  border-radius: 50%;
  background: #482523;
  color: #ff9992;
}
.meal {
  display: block;
  margin-bottom: 12px;
}
.meal-toggle {
  width: 100%;
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 16px 12px 0;
  border: 1px solid #34373b;
  border-radius: 18px;
  background: #151719;
  color: #f3f4f5;
  text-align: left;
  overflow: hidden;
}
.meal-toggle:hover {
  background: #1d2023;
}
.meal-toggle .time {
  margin-left: 0;
  width: auto;
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #f3f4f5;
}
.meal-toggle .meal-title {
  min-width: 0;
  width: 100%;
}
.meal-toggle .meal-title > .meal-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
}
.meal-toggle .meal-title > .meal-copy {
  min-width: 0;
  width: auto;
  height: auto;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  border-radius: 0;
  background: transparent;
  color: inherit;
}
.meal-toggle .meal-copy small {
  display: block;
}
.meal-toggle .meal-copy b {
  display: -webkit-box;
  max-width: 100%;
  overflow: hidden;
  color: #f3f4f5;
  font-size: 18px;
  line-height: 1.25;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.meal-toggle .meal-chevron {
  flex: 0 0 auto;
}
.meal-chevron {
  color: #aeb2b6;
  transition: transform 0.2s ease;
}
.meal.expanded .meal-chevron {
  transform: rotate(90deg);
}
.meal .meal-body {
  margin: 7px 0 0 104px;
  border-radius: 16px;
  padding: 4px 18px 10px;
}
.meal .meal-body ul {
  margin-top: 0;
}
.meal-observation {
  grid-column: 1 / -1;
  margin-top: 12px;
  padding: 13px 14px;
  border: 1px solid #4a4f54;
  border-radius: 12px;
  background: #282b2e;
}
.meal-observation b {
  display: block;
  margin-bottom: 6px;
  color: #e3e5e7 !important;
  font-size: 10px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.meal-observation span {
  display: block;
  color: #c5c8cb;
  font-size: 12px;
  line-height: 1.55;
}
.meal li.observation-only {
  padding-top: 0;
  border-top: 0;
}
.meal li.observation-only .meal-observation {
  margin-top: 8px;
}
.not-identified strong {
  display: block;
  color: #aeb3b8;
  font-size: 12px !important;
}
.not-identified small {
  display: block;
  margin-top: 5px;
  color: #777d82;
  font-size: 9px;
}
@media (max-width: 760px) {
  .patient-download-card {
    grid-template-columns: 1fr;
    padding: 19px 17px;
    gap: 13px;
  }
  .patient-download-icon,
  .patient-download-card .kicker {
    display: none;
  }
  .patient-download-card h2 {
    font-size: 17px;
  }
  .patient-download-card > button {
    width: 100%;
  }
  .agent-hf-cta {
    grid-template-columns: 1fr;
    padding: 19px 17px;
    gap: 13px;
  }
  .agent-hf-icon,
  .agent-hf-copy .kicker {
    display: none;
  }
  .agent-hf-copy h2 {
    font-size: 17px;
  }
  .agent-hf-cta > a {
    grid-column: 1 / -1;
    width: 100%;
  }
  .patient-title {
    flex-wrap: wrap;
  }
  .patient-preview-button {
    width: 100%;
    margin-left: 0;
  }
  .welcome {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }
  .install-app,
  .welcome-actions,
  .supplement-link {
    width: 100%;
  }
  .install-help {
    grid-template-columns: 1fr;
  }
  .install-help p,
  .install-help button {
    grid-column: 1;
    grid-row: auto;
  }
  .appointment-admin {
    grid-template-columns: auto 1fr;
    padding: 17px;
  }
  .appointment-admin input,
  .appointment-admin .primary {
    grid-column: 1 / -1;
    width: 100%;
  }
  .appointment-current {
    grid-column: 1 / -1;
  }
  .appointment-alert {
    align-items: flex-start;
    padding: 14px;
  }
  .appointment-alert > div:not(.calendar-action) {
    grid-template-columns: 1fr;
  }
  .appointment-alert p {
    grid-column: 1;
  }
  .appointment-alert {
    flex-wrap: wrap;
  }
  .calendar-action {
    width: 100%;
    max-width: none;
    margin-left: 0;
  }
  .calendar-link {
    width: 100%;
    margin-left: 0;
  }
  .danger-zone {
    align-items: stretch;
    flex-direction: column;
  }
  .danger-button {
    width: 100%;
  }
  .install-help button {
    margin-top: 7px;
  }
  .meal-toggle {
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 10px 11px 10px 0;
  }
  .meal-toggle .time {
    width: auto;
    font-size: 12px;
  }
  .meal-toggle .meal-title {
    gap: 9px;
  }
  .meal-toggle .meal-title > .meal-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    border-radius: 11px;
  }
  .meal-toggle .meal-copy b {
    font-size: 15px;
  }
  .meal .meal-body {
    margin: 6px 0 0;
    padding: 3px 15px 9px;
  }
}
/* Avaliação antropométrica calculada no sistema */
.anthro-admin {
  margin: 24px 0;
  padding: 26px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #343434;
  border-radius: 22px;
  background: linear-gradient(145deg, #151515, #080808);
  color: #f7faf8;
  box-shadow: 0 18px 50px #0005;
}
.anthro-admin-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.anthro-admin-head h2 {
  margin: 4px 0 7px;
}
.anthro-admin-head p:last-child {
  margin: 0;
  color: #c9c9c9;
}
.anthro-badge {
  white-space: nowrap;
  padding: 8px 12px;
  border: 1px solid #555;
  border-radius: 999px;
  background: #262626;
  color: #f3f3f3;
  font-size: 12px;
  font-weight: 800;
}
.anthro-admin form > h3 {
  margin: 24px 0 12px;
  font-size: 14px;
  color: #ffffff;
}
.anthro-fields {
  display: grid;
  gap: 13px;
  min-width: 0;
}
.anthro-fields.fixed {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.anthro-fields.variables {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.anthro-fields label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: #e5e5e5;
  font-size: 12px;
  font-weight: 700;
}
.anthro-fields input,
.anthro-fields select {
  width: 100%;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #484848;
  border-radius: 12px;
  background: #050706;
  color: #ffffff;
  font: inherit;
  outline: none;
}
.anthro-fields input:focus,
.anthro-fields select:focus {
  border-color: #65df91;
  box-shadow: 0 0 0 3px #65df9128;
}
.anthro-results {
  margin-top: 22px;
  border: 1px solid #363636;
  border-radius: 16px;
  overflow: hidden;
  background: #080b09;
}
.anthro-result-top {
  display: flex;
  gap: 28px;
  padding: 15px 17px;
  border-bottom: 1px solid #363636;
  background: #202020;
}
.anthro-result-top span {
  display: flex;
  flex-direction: column;
  gap: 3px;
  color: #c9c9c9;
  font-size: 11px;
}
.anthro-result-top strong {
  color: #ffffff;
  font-size: 14px;
}
.anthro-result-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.anthro-result-table {
  width: 100%;
  min-width: 700px;
  border-collapse: collapse;
}
.anthro-result-table th,
.anthro-result-table td {
  padding: 11px 14px;
  border-bottom: 1px solid #2a332e;
  text-align: left;
  font-size: 12px;
}
.anthro-result-table thead th {
  background: #202020;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 10px;
}
.anthro-result-table tbody th {
  color: #ffffff;
}
.anthro-result-table td {
  color: #e5e5e5;
}
.anthro-admin .kicker,
.anthro-fixed-card .kicker {
  color: #d0d0d0;
}
.anthro-admin form > h3:first-child,
.anthro-admin form > .anthro-fields.fixed {
  display: none;
}
.anthro-fixed-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 24px 0;
  padding: 24px 26px;
  border: 1px solid #343434;
  border-radius: 22px;
  background: linear-gradient(145deg, #171717, #0a0a0a);
  color: #ffffff;
  box-shadow: 0 18px 50px #0005;
}
.anthro-fixed-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.anthro-fixed-head h2 {
  margin: 4px 0 7px;
}
.anthro-fixed-head p:last-child {
  margin: 0;
  color: #c9c9c9;
}
.anthro-saved-badge {
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid #555;
  border-radius: 999px;
  background: #262626;
  color: #f3f3f3;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.anthro-history-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 24px 0;
  padding: 24px 26px;
  border: 1px solid #343434;
  border-radius: 22px;
  background: linear-gradient(145deg, #171717, #0a0a0a);
  color: #ffffff;
  box-shadow: 0 18px 50px #0005;
}
.anthro-history-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.anthro-history-head h2 {
  margin: 4px 0 7px;
}
.anthro-history-head p:last-child {
  margin: 0;
  color: #c9c9c9;
}
.anthro-history-head .kicker {
  color: #d0d0d0;
}
.anthro-history-count {
  flex: 0 0 auto;
  min-width: 58px;
  padding: 8px 12px;
  border: 1px solid #555;
  border-radius: 999px;
  background: #262626;
  color: #f3f3f3;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}
.anthro-history-list {
  display: grid;
  gap: 10px;
}
.anthro-history-row {
  display: grid;
  grid-template-columns: minmax(145px, 0.85fr) minmax(360px, 2fr) auto;
  align-items: center;
  gap: 18px;
  padding: 15px 16px;
  border: 1px solid #343434;
  border-radius: 14px;
  background: #101010;
}
.anthro-history-date,
.anthro-history-metrics span {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.anthro-history-date small,
.anthro-history-metrics small {
  color: #a9a9a9;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.anthro-history-date strong {
  font-size: 15px;
}
.anthro-history-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(90px, 1fr));
  gap: 16px;
}
.anthro-history-metrics b {
  color: #f3f3f3;
  font-size: 13px;
}
.anthro-history-delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid #76423e;
  border-radius: 10px;
  background: #291514;
  color: #ffaaa4;
  font-size: 12px;
  font-weight: 800;
}
.anthro-history-delete:hover {
  background: #3a1b19;
}
.anthro-history-empty {
  margin: 0;
  padding: 18px;
  border: 1px dashed #444;
  border-radius: 14px;
  color: #c9c9c9;
  text-align: center;
}
.anthro-history-card .notice {
  margin-top: 14px;
}
.anthro-result-table tbody tr:last-child th,
.anthro-result-table tbody tr:last-child td {
  border-bottom: 0;
}
.anthro-save {
  margin-top: 18px;
  width: 100%;
  justify-content: center;
}
.anthro-admin .notice {
  margin-top: 18px;
}
@media (max-width: 980px) {
  .anthro-fields.fixed {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .anthro-fields.variables {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .anthro-history-row {
    grid-template-columns: 1fr auto;
  }
  .anthro-history-metrics {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}
@media (max-width: 620px) {
  .anthro-fixed-card {
    padding: 16px;
    margin: 18px 0;
    border-radius: 18px;
  }
  .anthro-fixed-head {
    display: block;
  }
  .anthro-saved-badge {
    display: inline-flex;
    margin-top: 12px;
  }
  .anthro-history-card {
    padding: 16px;
    margin: 18px 0;
    border-radius: 18px;
  }
  .anthro-history-head {
    display: block;
  }
  .anthro-history-count {
    display: inline-flex;
    justify-content: center;
    margin-top: 12px;
  }
  .anthro-history-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 13px;
    padding: 14px;
  }
  .anthro-history-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 12px 0;
    border-top: 1px solid #2f2f2f;
    border-bottom: 1px solid #2f2f2f;
  }
  .anthro-history-metrics b {
    font-size: 12px;
  }
  .anthro-history-delete {
    width: 100%;
  }
  .anthro-admin {
    padding: 16px;
    margin: 18px 0;
    border-radius: 18px;
  }
  .anthro-admin-head {
    display: block;
  }
  .anthro-badge {
    display: inline-flex;
    margin-top: 12px;
  }
  .anthro-fields.fixed,
  .anthro-fields.variables {
    grid-template-columns: 1fr;
  }
  .anthro-result-top {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 13px;
  }
  .anthro-fields input,
  .anthro-fields select {
    min-height: 46px;
    font-size: 16px;
  }
  .anthro-result-table {
    min-width: 620px;
  }
  .anthro-result-table th,
  .anthro-result-table td {
    padding: 10px;
  }
}

/* Prescrições profissionais e do prontuário */
.rx-template-supplement,.rx-template-compound{margin-top:18px}.rx-items{display:grid;gap:10px;margin:14px 0}.rx-item{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(180px,.65fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #3a3d43;border-radius:14px;background:#17191d;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.rx-item label{min-width:0}.rx-item input{width:100%}.rx-item .diet-drag-handle{align-self:center}.rx-add-item{margin:2px 0 16px}.patient-prescriptions-card{margin:18px 0;padding:22px;border:1px solid #3b3e44;border-radius:24px;background:linear-gradient(145deg,#191b1f,#111316);box-shadow:0 18px 42px #0004}.patient-prescriptions-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.patient-prescriptions-head h2{margin:4px 0 6px}.patient-prescriptions-head p{margin:0;color:#b8bac0}.patient-prescriptions-body{margin-top:18px;padding-top:18px;border-top:1px solid #34373c}.rx-draft-toolbar,.rx-draft-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.rx-draft-toolbar label,.rx-draft-meta label,.rx-instructions{display:grid;gap:7px;font-weight:700;color:#e9e9eb}.rx-draft-toolbar select,.rx-draft-meta input,.rx-instructions textarea,.rx-template-compound input{width:100%;border:1px solid #484b52;border-radius:12px;background:#0d0f12;color:#f5f5f6;padding:12px}.rx-instructions textarea{min-height:92px;resize:vertical}.rx-publish-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.rx-published-list{margin-top:24px;display:grid;gap:10px}.rx-published-list>h3{margin:0 0 4px}.rx-published-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid #373a40;border-radius:14px;background:#111316}.rx-published-list h4{margin:3px 0 5px;font-size:16px}.rx-published-list p,.rx-published-list small{margin:0;color:#aaaeb5}.rx-empty{margin-top:18px}.prescription-download-card{margin-top:16px}
@media(max-width:900px){.rx-item{grid-template-columns:36px minmax(0,1fr) minmax(135px,.7fr)}.rx-item>.diet-remove{grid-column:2/4;width:100%}}
@media(max-width:620px){.patient-prescriptions-card{padding:16px;border-radius:18px}.patient-prescriptions-head{align-items:flex-start;flex-direction:column}.patient-prescriptions-head .anthro-section-toggle{width:100%}.rx-draft-toolbar,.rx-draft-meta{grid-template-columns:1fr}.rx-item{grid-template-columns:34px 1fr}.rx-item>label{grid-column:2}.rx-item>.diet-remove{grid-column:2;width:100%}.rx-publish-actions{flex-direction:column}.rx-publish-actions button{width:100%}.rx-published-list article{align-items:stretch;flex-direction:column}.rx-published-list .diet-remove{width:100%}}
/* V29 - pontos 4, 5 e 6 */
.diet-total-with-loader{
  grid-template-columns:.72fr repeat(3,minmax(0,1fr)) .82fr;
  gap:8px;
}
.diet-total-with-loader>span{
  min-width:0;
  padding:11px 10px;
}
.diet-total-with-loader>span b{
  font-size:12px;
  line-height:1.25;
}
.diet-total-loader{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center;
  background:linear-gradient(145deg,#2b2e33,#17191d)!important;
  border:1px solid #747983!important;
  padding:0!important;
  overflow:hidden;
}
.diet-total-loader select{
  width:100%;
  height:100%;
  min-height:58px!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  color:#fff!important;
  font-weight:850;
  text-align:center;
  cursor:pointer;
}
.diet-total-loader select option{
  background:#17191d;
  color:#fff;
}
.diet-builder-meal-head{
  grid-template-columns:105px minmax(180px,1fr) 145px repeat(3,minmax(105px,auto));
}
.diet-builder-meal-head>.diet-remove,
.diet-builder-meal-head>.ghost{
  white-space:nowrap;
}
@media(max-width:1200px){
  .diet-total-with-loader{grid-template-columns:repeat(2,minmax(0,1fr));}
  .diet-total-loader{grid-column:1/-1;}
  .diet-builder-meal-head{grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);}
}
@media(max-width:700px){
  .diet-total-with-loader{grid-template-columns:1fr;}
  .diet-total-loader{grid-column:auto;}
  .diet-total-with-loader>span b{font-size:13px;}
}

/* V30 - pontos 7 e 8 */
.diet-publish-button{white-space:nowrap;}
.anthro-fixed-save-row{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:4px;
}
.anthro-fixed-save-row .notice{flex:1;margin:0;}
.anthro-fixed-save{min-width:132px;}
@media(max-width:700px){
  .anthro-fixed-save-row{align-items:stretch;flex-direction:column;}
  .anthro-fixed-save{width:100%;}
}
