.meal-stock-overlay { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 20px; background: #18271ecc; overflow-y: auto; }
.meal-stock-dialog { width: min(660px,100%); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 24px; border: 1px solid var(--line,#d8ddd4); border-radius: 18px; background: var(--panel,#fffdf7); color: var(--ink,#1f2a25); box-shadow: 0 20px 70px #0005; }
.meal-stock-dialog header { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.meal-stock-dialog h2 { margin: 0; font-size: 1.5rem; line-height: 1.25; }
.meal-stock-dialog p { line-height: 1.55; }
.meal-stock-dialog button { min-height: 46px; padding: 10px 14px; border: 1px solid #315b46; border-radius: 10px; cursor: pointer; font: inherit; font-weight: 750; }
.meal-stock-dialog button:focus-visible { outline: 3px solid #4f79a9; outline-offset: 3px; }
.meal-stock-close { flex: 0 0 42px; padding: 0 !important; border-color: var(--line,#d8ddd4) !important; background: #fff; color: #315b46; font-size: 1.5rem !important; }
.meal-stock-rows { display: grid; gap: 10px; list-style: none; margin: 20px 0; padding: 0; }
.meal-stock-rows li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px; border: 1px solid var(--line,#d8ddd4); border-radius: 12px; background: #f3f6ee; }
.meal-stock-rows strong,.meal-stock-rows span { display: block; }
.meal-stock-rows span { margin-top: 5px; color: #68736b; font-size: .9rem; line-height: 1.4; }
.meal-stock-rows b { color: #394a3d; font-weight: 650; }
.meal-stock-toggle { flex-shrink: 0; background: #fff; color: #315b46; }
.meal-stock-toggle[aria-pressed="true"] { background: #315b46; color: #fff; }
.meal-stock-toggle[aria-pressed="true"]::before { content: '✓ '; }
.meal-stock-summary { font-size: .9rem; color: #526456; }
.meal-stock-dialog footer { display: grid; gap: 10px; margin-top: 18px; }
.meal-stock-confirm { background: #315b46; color: #fff; }
.meal-stock-no-order { background: #fff; color: #315b46; }
.meal-stock-dismiss-note { display: block; margin-top: 14px; color: #68736b; line-height: 1.4; }
@media (max-width: 480px) { .meal-stock-overlay { padding: 10px; }.meal-stock-dialog { padding: 18px; max-height: calc(100dvh - 20px); }.meal-stock-dialog h2 { font-size: 1.25rem; }.meal-stock-rows li { align-items: start; flex-direction: column; gap: 10px; }.meal-stock-toggle { width: 100%; } }
