.meal-editor-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:14px 0}.meal-editor-toolbar div{display:grid;gap:2px}.meal-editor-toolbar small{color:var(--muted)}
.meal-editor-list{display:grid;gap:14px}.meal-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:visible;padding:0 14px 14px}.meal-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 -14px 12px;padding:10px 14px;background:#f2f6ef;border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}.meal-card-title{display:grid;grid-template-columns:minmax(200px,1fr) 110px;gap:8px;flex:1}.meal-card-title input{border:1px solid var(--line);border-radius:7px;padding:8px;background:#fff}.meal-card-title input:first-child{font-weight:700;color:#17351d}.meal-card-actions{display:flex;gap:4px;align-items:center}.meal-card-actions button:disabled,.meal-item-actions button:disabled{opacity:.35;pointer-events:none}
.meal-context-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.meal-item-list{display:grid;gap:9px}.meal-empty{border:1px dashed var(--line);border-radius:8px;padding:12px;color:var(--muted);font-size:10px;text-align:center}.meal-item{position:relative;display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(190px,1.1fr) 100px 150px minmax(130px,.8fr) auto;gap:8px;align-items:start;border:1px solid #dfe6dc;background:#fafbf9;border-radius:9px;padding:10px}.meal-item label{display:block;font-size:8px;font-weight:700;color:#647064;text-transform:uppercase;margin-bottom:4px}.meal-item input,.meal-item select{width:100%;border:1px solid var(--line);border-radius:6px;padding:7px;background:#fff}.meal-item small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.meal-item-actions{display:grid;gap:4px;padding-top:15px}.meal-food-results{position:absolute;left:10px;top:58px;width:min(520px,80vw);z-index:20;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 9px 24px rgba(0,0,0,.12);max-height:240px;overflow:auto}.meal-food-results:empty{display:none}.meal-food-results button{width:100%;display:flex;justify-content:space-between;gap:10px;text-align:left;border:0;border-bottom:1px solid #edf0ea;background:#fff;padding:9px 11px;cursor:pointer}.meal-food-results button:hover{background:#f2f6ef}.meal-food-results button small{margin:0;text-align:right}.meal-add-food{margin-top:9px}.meal-notes{margin-top:10px}.meal-card-total{display:flex;justify-content:flex-end;margin-top:8px;font-size:9px;color:#2c5f2d;font-weight:700}.meal-editor-day-total{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:14px;border-left:4px solid #2c5f2d;background:#f2f6ef;padding:11px 14px;border-radius:7px}.meal-editor-day-total span{font-weight:700;color:#2c5f2d}.meal-editor-day-total small{margin-left:auto;color:var(--muted)}.text-btn.inline{font-size:8px;padding:2px 0}
.modal:has(.meal-editor-list) .modal-card{width:min(1500px,98vw)}
@media(max-width:1100px){.meal-item{grid-template-columns:1.4fr 1fr 100px 140px}.meal-item-note{grid-column:1/4}.meal-item-actions{grid-column:4}.meal-card-head{align-items:flex-start;flex-direction:column}.meal-card-actions{align-self:flex-end}}
@media(max-width:720px){.meal-card-title,.meal-context-inline,.meal-item{grid-template-columns:1fr}.meal-item-note,.meal-item-actions{grid-column:1}.meal-item-actions{display:flex;padding-top:0}.meal-editor-toolbar{align-items:stretch;flex-direction:column}.meal-food-results{position:static;width:100%;box-shadow:none}}
.meal-portion-visual{grid-column:1/-1;display:flex;align-items:center;gap:10px;border-top:1px solid #e4e9e1;margin:2px -2px -2px;padding:9px 2px 0}.meal-portion-visual img{width:92px;height:70px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#fff}.meal-portion-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#edf3ea;color:#2c5f2d;font-size:18px}.meal-portion-copy{display:grid;gap:3px;align-content:center}.meal-portion-copy>b,.meal-portion-visual>div>b{font-size:10px;color:#17351d}.meal-portion-visual small{font-size:8px;margin:0;color:var(--muted)}.meal-portion-badge{width:max-content;border-radius:999px;padding:2px 7px;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.meal-portion-badge.is-exact{background:#e7f4e6;color:#275b2a}.meal-portion-badge.is-approx{background:#fff1dc;color:#8a5514}.meal-portion-visual.is-muted{opacity:.78}.meal-portion-visual.is-loading .meal-portion-icon{animation:portionPulse 1.1s ease-in-out infinite}@keyframes portionPulse{50%{opacity:.45}}
@media(max-width:720px){.meal-portion-visual{align-items:flex-start}.meal-portion-visual img{width:78px;height:60px}}
.meal-auto-description{margin-top:10px}.meal-auto-description textarea,.meal-editor-auto-text textarea{background:#f8faf7;color:#304331;line-height:1.45;resize:vertical}.meal-auto-description small{color:var(--muted)}
.meal-editor-auto-text{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);gap:14px;align-items:start;margin-top:14px;border:1px solid var(--line);border-radius:10px;background:#f6f9f4;padding:14px}.meal-editor-auto-text>div{display:grid;gap:4px}.meal-editor-auto-text small{color:var(--muted)}.meal-editor-auto-text textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px}
@media(max-width:720px){.meal-editor-auto-text{grid-template-columns:1fr}}

/* 7B.3B.1.1 — compact patient profile sections */
.patient-section-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 14px;border:1px solid var(--line,#dce5dc);border-radius:12px;background:var(--surface,#fff)}
.patient-section-controls>span{font-weight:700;color:var(--ink,#17311d)}
.patient-section-controls>div{display:flex;gap:8px;flex-wrap:wrap}
.patient-collapsible-section>.panel-head{position:relative;gap:12px}
.patient-collapse-toggle{border:0;background:transparent;color:var(--green,#245b31);font:600 13px/1.2 inherit;cursor:pointer;white-space:nowrap;padding:7px 8px;border-radius:8px}
.patient-collapse-toggle:hover{background:rgba(36,91,49,.08)}
.patient-collapsible-section.is-collapsed>:not(.panel-head){display:none!important}
.patient-collapsible-section.is-collapsed{padding-bottom:0!important}
.food-history-library .food-history-records{padding:0 20px 18px}
@media(max-width:700px){.patient-section-controls{align-items:flex-start;flex-direction:column}.patient-section-controls>div{width:100%}.patient-section-controls button{flex:1}.patient-collapsible-section>.panel-head{align-items:flex-start;flex-wrap:wrap}.patient-collapse-toggle{margin-left:auto}}


/* 7B.3B.2 — alternatives and substitutions */
.meal-item-alternative{display:flex;flex-direction:column;gap:6px;padding-top:15px;min-width:112px}.meal-alt-badge,.meal-primary-badge{width:max-content;border-radius:999px;padding:3px 8px;font-size:8px;font-weight:800;text-transform:uppercase}.meal-alt-badge{background:#fff1dc;color:#8a5514}.meal-primary-badge{background:#e7f4e6;color:#275b2a}.meal-alt-visibility{display:flex!important;align-items:center;gap:5px!important;text-transform:none!important;font-size:8px!important;font-weight:600!important}.meal-alt-visibility input{width:auto!important}.meal-item:has(.meal-alt-badge){border-left:4px solid #d69a43;background:#fffdf9}.plan-alternative-food{margin-left:18px;color:#536355}.plan-alternative-food span{display:inline-block;font-weight:800;color:#8a5514;margin-right:5px}.plan-primary-food{font-weight:600}.saved-plan-actions [data-duplicate-plan]{font-weight:700}
@media(max-width:1100px){.meal-item-alternative{grid-column:1/3;padding-top:0}}
@media(max-width:720px){.meal-item-alternative{grid-column:1}.meal-alt-visibility{flex-direction:row!important}}
.meal-photo-badge{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:999px;background:#eef4ec;color:#315535;font-size:12px;font-weight:700}
.visual-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:16px}.visual-guide-card{border:1px solid var(--line,#dce5dc);border-radius:14px;padding:10px;background:#fff;display:flex;flex-direction:column;gap:8px}.visual-guide-card img{width:100%;height:150px;object-fit:contain;border-radius:10px;background:#f7f8f6}.visual-guide-card label{display:flex;gap:8px;align-items:flex-start}.visual-guide-card small{color:var(--muted,#657065)}.visual-guide-document{background:#fff;color:#111;padding:24px;max-width:980px;margin:0 auto}.visual-guide-document header{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border-bottom:1px solid #dfe5df;padding-bottom:14px}.visual-guide-document .visual-guide-products{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.visual-guide-product{break-inside:avoid;border:1px solid #e1e6e1;border-radius:12px;padding:10px}.visual-guide-product img{width:100%;height:180px;object-fit:contain}.visual-guide-product h4{margin:8px 0 3px}.visual-guide-product p{margin:0;font-size:13px}.visual-guide-role{font-size:11px;font-weight:700;text-transform:uppercase;color:#6a746a}
@media(max-width:700px){.visual-guide-document .visual-guide-products{grid-template-columns:1fr 1fr}}
@media print{body.printing-visual-guide>*:not(#modal){display:none!important}body.printing-visual-guide #modal{display:block!important;position:static!important;background:#fff!important}body.printing-visual-guide #modal .modal-card{box-shadow:none!important;border:0!important;max-width:none!important;width:100%!important;padding:0!important}body.printing-visual-guide #modal .modal-close,body.printing-visual-guide #modal .no-print{display:none!important}.visual-guide-document .visual-guide-products{grid-template-columns:repeat(3,1fr)}}

/* 7B.3C.2.1 — meal plan lifecycle */
.plan-library-tabs{display:flex;gap:8px;margin:14px 0 12px;border-bottom:1px solid #dfe7dd}.plan-library-tabs button{border:0;background:transparent;padding:8px 10px 9px;color:#536355;font-weight:700;cursor:pointer;border-bottom:3px solid transparent}.plan-library-tabs button.active{color:#17451d;border-bottom-color:#2f6b37}.plan-library-tabs button span{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;margin-left:4px;border-radius:999px;background:#edf3eb;font-size:11px}.saved-plan-actions .danger{color:#9b2c2c}.saved-plan-actions button:disabled{opacity:.45;cursor:not-allowed}

/* 7B.3C.2.2 — meal plan tabs visibility */
[data-plan-panel][hidden]{display:none!important}
.visual-guide-missing{width:100%;height:150px;display:grid;place-items:center;border:1px dashed #ccd6cc;border-radius:10px;background:#f5f7f4;color:#748074;font-size:12px}.visual-guide-product .visual-guide-missing{height:180px}.visual-guide-missing span{padding:6px 9px;border-radius:999px;background:#fff;border:1px solid #e1e6e1}


/* 7B.3D — Meal Plan & Food History Workflow Consolidation */
.meal-workflow-starter{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 16px;padding:12px 14px;border:1px solid #dfe7dc;border-radius:10px;background:#f6f9f4}.meal-workflow-starter>div{display:grid;gap:3px}.meal-workflow-starter b{color:#244c2a}.meal-workflow-starter small{color:var(--muted)}.meal-editor-source-context{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:9px 12px;border-radius:8px;background:#eef4ec;color:#315535}.meal-editor-source-context small{margin-left:auto;color:#687568}.meal-target-compare{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:9px;font-weight:800}.meal-target-compare.is-neutral{background:#eef1ed;color:#526052}.meal-target-compare.is-close{background:#e7f4e6;color:#275b2a}.meal-target-compare.is-under{background:#fff1dc;color:#8a5514}.meal-target-compare.is-over{background:#fdeaea;color:#8f3030}.history-view-actions{flex-wrap:wrap}
@media(max-width:720px){.meal-workflow-starter{align-items:stretch;flex-direction:column}.meal-workflow-starter button{width:100%}.meal-editor-source-context{align-items:flex-start;flex-direction:column}.meal-editor-source-context small{margin-left:0}.meal-target-compare{width:100%;justify-content:center}}

/* 7B.3E.4 — Portion Selection in Meal Editor */
.meal-item-portion-mode small{font-size:8px}.meal-item-equivalent small{font-size:8px}.meal-equivalent-quick{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.meal-equivalent-quick .text-btn{font-size:8px;padding:3px 6px;border:1px solid var(--line);border-radius:999px;background:#fff}.meal-equivalent-quick .text-btn:disabled{opacity:.35;pointer-events:none}.meal-item-equivalent-qty input{max-width:110px}
@media(max-width:1100px){.meal-item-portion-mode,.meal-item-equivalent,.meal-item-equivalent-qty{min-width:0}}
@media(max-width:720px){.meal-equivalent-quick{margin-top:6px}.meal-item-equivalent-qty input{max-width:none}}

/* 7B.3E.5A — visual portion guide */
.portion-guide-document .portion-guide-intro{color:var(--muted,#657065);margin:16px 0 0}.portion-guide-product .visual-guide-role.exact{color:#265e2c}.portion-guide-product .visual-guide-role.approximate{color:#8a651c}.portion-guide-reference,.portion-guide-uses{color:var(--muted,#657065);margin-top:5px!important}.portion-guide-empty{margin:24px 0}.portion-guide-product img{background:#f7f8f6;border-radius:10px}

/* 7B.4A icon alignment */
.meal-card-actions .text-btn,.meal-item-actions .text-btn{min-height:30px}.meal-photo-badge{display:inline-flex;align-items:center;gap:4px}.meal-photo-badge .ui-icon{width:13px;height:13px}
