html.food-quantity-guide { scroll-behavior:auto; }
.quantity-intro { max-width:900px; padding:44px 0 32px; }
.quantity-calculator { background:#fffdf8; border:1px solid var(--line); border-radius:18px; padding:36px; margin-bottom:56px; }
.quantity-heading { max-width:780px; }
.quantity-toolbar,#quantity-controls { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:24px 0; }
.quantity-calculator button { font:600 15px/1.5 var(--sans); padding:12px 18px; border:1px solid #b7b8ad; border-radius:7px; background:#f6f5f0; color:var(--ink); cursor:pointer; }
.quantity-calculator button.button { background:var(--ink); color:#fffdf8; }
.quantity-calculator button:disabled { opacity:.5; cursor:not-allowed; }
.quantity-calculator :is(button,input,select,summary):focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.quantity-calculator fieldset { border:0; padding:0; margin:0; min-width:0; }
.quantity-calculator legend { font-weight:600; padding:0 0 16px; }
.quantity-event-fields { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:780px; }
.q-field { min-width:0; display:flex; flex-direction:column; gap:8px; }
.q-field label { font-weight:600; font-size:14px; line-height:1.5; }
.q-field input,.q-field select { font:16px/1.5 var(--sans); color:var(--ink); border:1px solid #b7b8ad; border-radius:6px; padding:10px 12px; background:white; width:100%; min-width:0; box-sizing:border-box; }
.q-hint { color:var(--muted); font-size:13px; line-height:1.7; margin:6px 0 14px; }
.quantity-help { max-width:900px; margin:8px 0 28px; line-height:1.75; color:#50554f; }
.quantity-help details,.quantity-optional { border-top:1px solid var(--line); padding-top:12px; }
.quantity-calculator summary,.quantity-guide summary { cursor:pointer; font-weight:600; line-height:1.6; }
#quantity-rows .quantity-row { position:relative; border:1px solid var(--line); border-radius:12px; padding:24px; margin:0 0 24px; background:#f6f5f0; }
.quantity-row legend { padding:0 8px; }
.quantity-row .quantity-remove { margin-bottom:16px; padding:7px 12px; font-size:13px; }
.quantity-required { display:grid; grid-template-columns:2fr 1fr 1.3fr 1fr; gap:16px; align-items:start; }
.quantity-optional-fields { display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:16px; padding-top:16px; }
.quantity-fictional { background:#e9ebdf; border-radius:8px; padding:16px; font-size:14px; line-height:1.7; }
.quantity-errors { border-left:4px solid #a13320; background:#fff0e9; padding:16px; margin:20px 0; }
.quantity-errors a { text-decoration:underline; }
.q-error { color:#922b1d; font-size:14px; margin:0; line-height:1.5; }
.quantity-calculator [aria-invalid=true] { border:2px solid #a13320; }
#quantity-status { line-height:1.7; }
#quantity-display { min-width:240px; }
.quantity-total { font-size:20px; line-height:1.6; font-weight:600; }
.quantity-result-row { margin:24px 0; padding:24px; border:1px solid var(--line); border-radius:10px; }
.quantity-result-row h3 { font-size:20px; margin:0 0 18px; overflow-wrap:anywhere; }
.quantity-result-row dl { display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; margin:0; }
.quantity-result-row dl > div { display:block; min-width:0; margin:0; padding:0; border:0; }
.quantity-result-row dt { font-size:13px; color:var(--muted); line-height:1.6; }
.quantity-result-row dd { font-size:17px; font-weight:600; margin:6px 0 0; overflow-wrap:break-word; }
.quantity-print-source { font-size:12px; overflow-wrap:anywhere; }
.quantity-guide ul { padding-left:24px; line-height:1.8; color:#50554f; }
.quantity-guide .comparison table { min-width:780px; }
.quantity-guide #quantity-faq details { border-bottom:1px solid var(--line); padding:18px 0; }
.quantity-guide summary:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
@media(max-width:760px){.quantity-calculator { padding:24px 18px; }.quantity-event-fields { grid-template-columns:1fr;gap:12px; }.quantity-required { grid-template-columns:1fr 1fr; }.quantity-required .q-field:first-child { grid-column:1/-1; }.quantity-optional-fields { grid-template-columns:1fr 1fr; }.quantity-optional-fields .q-field:last-child { grid-column:1/-1; }.quantity-result-row { padding:18px; }.quantity-result-row dl { grid-template-columns:1fr;gap:14px; }.quantity-intro { padding-top:30px; }.quantity-calculator button { white-space:normal;text-align:left; }.quantity-calculator h2 { font-size:30px; }#quantity-rows .quantity-row { padding:18px 12px; }.quantity-toolbar { align-items:stretch;flex-direction:column; }#quantity-display { min-width:0; }}
@media print {
 @page { size:letter; margin:.6in; }
 body { background:white!important;color:black!important; }
 .support-header,.site-footer,.skip-link,.breadcrumbs,.quantity-intro,.quantity-heading,.quantity-toolbar,#quantity-form,#quantity-controls,#quantity-status,#quantity-fallback,.quantity-guide,#quantity-example,#quantity-placeholder { display:none!important; }
 main,.resource-wrap,.quantity-calculator,#quantity-interactive { display:block!important; width:auto!important; margin:0!important; padding:0!important; max-width:none!important; border:0!important; }
 [hidden] { display:none!important; }
 #quantity-results[hidden] { display:none!important; }
 #quantity-results h2 { font-size:24pt; margin:0 0 12pt; }
 #quantity-results p { font-size:10pt; line-height:1.5; }
 .quantity-result-row { padding:12pt; margin:12pt 0; break-inside:avoid; border:1px solid #aaa; }
 .quantity-result-row h3 { font-size:14pt; }
 .quantity-result-row dl { display:grid;grid-template-columns:1fr 1fr;gap:8pt 18pt; }
 .quantity-result-row dl > div { display:block; min-width:0; margin:0; padding:0; border:0; }
.quantity-result-row dt { font-size:9pt;color:#333; }
 .quantity-result-row dd { font-size:11pt; }
 #quantity-calculator:not(.has-valid-plan)::after { content:'No current preparation plan. Calculate valid quantities before printing.';font:12pt sans-serif; }
}

/* Valid results gain a next step; the printable plan stays separate. */
#quantity-next { display:none; }
.has-valid-plan #quantity-next { display:block; }
@media print { #quantity-next { display:none!important; } }
