/* Meal controls inherit each KASOU family's typography and colors. */
.catering-public,.catering-workspace{min-width:0;max-width:100%}
.meal-card{padding:clamp(16px,3vw,28px);margin:16px 0;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 18%,transparent);border-radius:16px;min-width:0;overflow-wrap:anywhere}
.meal-card h3{margin:0 0 12px}.meal-card p{line-height:1.6}
.meal-card fieldset{min-width:0;padding:0;border:0;margin:16px 0}.meal-card legend{font-weight:700;margin-bottom:12px}
.meal-option{display:flex;align-items:flex-start;gap:12px;padding:14px 0;cursor:pointer;line-height:1.5}
.meal-option input{flex:0 0 auto;margin:4px 0;width:20px;height:20px;accent-color:var(--accent,#24796e)}
.meal-option span{min-width:0}.meal-option strong,.meal-option span span,.meal-option small{display:block}.meal-option small{margin-top:5px}
.meal-card textarea,.meal-card input:not([type=radio]):not([type=checkbox]),.meal-card select{box-sizing:border-box;width:100%;max-width:100%;font:inherit;font-size:16px;border:1px solid #b8c2c7;border-radius:8px;padding:12px;color:#102433;background:#fff}
.meal-card label>textarea{display:block;margin:10px 0}.meal-card button,.meal-card .button{min-height:44px;max-width:100%;white-space:normal}
.meal-card fieldset[disabled]{opacity:.7}.meal-status{font-weight:700}.meal-feedback{min-height:1.5em}.meal-needs{margin:16px 0;padding:12px 0;border-top:1px solid #b8c2c7}
.meal-needs summary{font-weight:700;cursor:pointer}.meal-choice-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}
.meal-choice-preview>div{padding:12px;border-inline-start:3px solid var(--accent,#24796e)}
.meal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.meal-fields label{display:block;min-width:0}.meal-fields input,.meal-fields select,.meal-fields textarea{margin-top:6px}.meal-fields .full{grid-column:1/-1}
.meal-edit-choice{padding:16px 0;border-top:1px solid #b8c2c7;min-width:0}.meal-edit-choice textarea{min-height:80px}.meal-edit-choice legend{font-weight:700}
.meal-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px;margin:16px 0}.meal-totals>div{padding:12px;border:1px solid #b8c2c7;border-radius:10px}.meal-totals b{display:block;font-size:24px}
.meal-response-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #b8c2c7;flex-wrap:wrap}.meal-response-row>div{min-width:0;flex:1 1 160px}.meal-response-row small{display:block}
.meal-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.meal-actions>*{min-height:44px}.meal-summary-choice{display:flex;gap:16px;justify-content:space-between;padding:10px 0;border-bottom:1px solid #b8c2c7}.meal-summary-choice>span{min-width:0}.meal-summary-choice>b{flex:0 0 auto}
.meal-card :focus-visible{outline:3px solid var(--accent,#24796e);outline-offset:3px}
@media(max-width:600px){.meal-fields{grid-template-columns:minmax(0,1fr)}.meal-card{padding:16px}.meal-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-card h3{font-size:21px;line-height:1.3}.meal-actions button{flex:1 1 135px}}
@media(prefers-reduced-motion:reduce){.meal-card *{scroll-behavior:auto}}
