/* Shared date/category controls and meal customization; no global overflow masking. */
.service-date-controls { margin: 0 0 20px; min-width: 0; }
.service-date-field { width: min(100%, 420px); }
.service-date-field select { min-height: 48px; }
.order-category-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width:100%; gap:8px; margin:12px 0 18px; }
.order-category-tabs .tab { min-width:0; white-space:normal; }
.flow-context { min-height:0; margin:0 0 10px; }
.flow-order-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.flow-card { min-width:0; }
.flow-card .desc { min-height:0; }
.flow-card--compact .food-img { height:130px; }
.flow-card .btn { width:100%; min-height:44px; margin-top:auto; }
.flow-item-rule { font-size:13px; line-height:1.5; color:var(--navy); }
.flow-stock { margin:10px 0 14px; }
button:disabled { cursor:not-allowed; opacity:.55; }
.flow-options { border:0; padding:0; margin:0 0 20px; min-width:0; }
.flow-options legend { color:var(--navy); font-size:17px; font-weight:750; padding:0 0 10px; }
.flow-options label,.availability-grid label { display:flex; align-items:center; gap:12px; min-height:48px; border:1px solid var(--line); border-radius:10px; padding:12px; margin-bottom:8px; cursor:pointer; }
.flow-options label:has(input:checked),.availability-grid label:has(input:checked) { border-color:var(--navy); background:#edf3f8; }
.flow-options input,.availability-grid input,.flow-check input { width:20px; height:20px; flex:0 0 20px; accent-color:var(--navy); }
#choiceForm .btn { width:100%; min-height:48px; }
#choiceModal .modal-card { width:min(520px,100%); }
#choiceModal .desc { min-height:0; margin-top:0; }
.flow-error { display:block; color:#982f2f; font-size:14px; line-height:1.5; }
.flow-summary>div { min-width:0; }
.flow-summary small { display:block; margin:6px 0; font-size:12px; line-height:1.5; }
.flow-summary .btn { min-height:44px; padding:6px 12px; }
.flow-check { display:flex; align-items:center; gap:10px; margin:16px 0; }
.availability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:20px 0; }
#choicesReport .table { min-width:760px; }
#choicesReport .table-wrap { margin-top:16px; }
.daily-rates { display:flex; gap:16px; flex-wrap:wrap; margin:18px 0; }
.daily-rates span { padding:10px 14px; border:1px solid var(--line); border-radius:10px; background:white; font-size:14px; }
.daily-rates b { color:var(--navy); }
@media(max-width:600px) { .flow-order-grid,.availability-grid { grid-template-columns:minmax(0,1fr); } .order-category-tabs .tab { font-size:13px; padding:10px 5px; } .flow-card--compact .food-img { height:auto; aspect-ratio:16/9; } .flow-options legend { font-size:16px; } }
#dailyGrid { grid-template-columns: minmax(0,1fr); max-width: 440px; }
