.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.food-page .icon-building { --icon:url('/icons/building.svg'); }
.food-page .icon-apps { --icon:url('/icons/apps.svg'); }
.food-page .icon-file-text { --icon:url('/icons/file-text.svg'); }
.food-main { min-height:100vh; display:flex; flex-direction:column; }
.food-actions { display:flex; gap:16px; align-items:center; padding-top:2px; flex-shrink:0; }
.food-primary { justify-content:center; }
.food-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:21px; }
.food-group { min-width:0; }
.food-group-top { display:flex; align-items:center; gap:12px; }
.food-group-top > .icon { width:25px; height:25px; }
.food-group h3 { font-size:13px; white-space:nowrap; font-weight:550; }
.food-phase { font-size:12px; color:var(--muted); background:var(--hover); padding:5px 9px; border-radius:15px; margin-left:auto; white-space:nowrap; }
.food-group.completed .food-phase { color:var(--green); }
.food-group.failed .food-phase { color:var(--amber); }
.food-group-count { display:flex; align-items:center; gap:14px; margin-top:30px; color:var(--muted); font-size:13px; }
.food-capacity { flex:1; height:10px; border-radius:10px; background:var(--line); overflow:hidden; }
.food-capacity span { display:block; height:100%; background:var(--muted); border-radius:inherit; }
.food-group.completed .food-capacity span { background:var(--green); }
.food-feedback { margin-top:18px; padding:14px 18px; border-radius:12px; background:var(--soft); font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.food-feedback p + p { margin-top:5px; }
.food-feedback.error { border-left:3px solid var(--amber); }
.food-results { margin-top:46px; }
.food-results-heading { display:flex; align-items:center; column-gap:16px; row-gap:8px; margin-bottom:20px; }
.food-footer { margin-top:auto; padding-top:26px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:15px; color:var(--muted); font-size:13px; }
.food-results { margin-bottom:70px; }
.food-filter-bar { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
#food-posts { display:grid; gap:12px; margin-top:20px; }
#food-posts:focus-visible { outline:2px solid var(--line); outline-offset:6px; border-radius:var(--radius-card); }
.food-post-meta { display:flex; flex-wrap:wrap; gap:10px 18px; color:var(--muted); font-size:var(--font-meta); margin-bottom:14px; }
.food-post-body { white-space:pre-wrap; overflow-wrap:anywhere;  max-width:76ch; }
.food-post-body.collapsed { display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.food-post-source { display:inline-flex; border-radius:14px; background:var(--soft); padding:4px 9px; font-size:12px; color:var(--muted); }
.food-post-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:18px; }
.food-metrics { display:flex; flex-wrap:wrap; gap:15px; font-size:var(--font-meta); color:var(--muted); }
.food-original { margin-left:auto; min-height:44px; display:flex; align-items:center; gap:5px; }
@media(max-width:1250px) {
 .food-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .food-heading { flex-wrap:wrap; }
}
@media(max-width:760px) {
 .food-actions { width:100%; gap:10px; }
 .food-primary { flex-shrink:0; }
 .food-group-top { gap:6px; flex-wrap:wrap; }
 .food-group-top > .icon { width:20px; height:20px; }
 .food-phase { margin-left:0; }
 .food-group-count { gap:8px; }
 .food-results { margin-top:34px; margin-bottom:40px; }
 .food-footer { flex-wrap:wrap; font-size:12px; }
 .food-metrics { gap:10px; }
 .food-original { margin-left:0; }
}
.food-content-filter { margin-left:auto; display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.food-filter-status:not(:empty) { flex-basis:100%; margin-top:10px; color:var(--muted); line-height:1.7; }
.food-results-heading { flex-wrap:wrap; }

.food-results-heading .muted,.food-footer { font-size:var(--font-meta); }
.food-post-body { margin-top:0; color:var(--text); }
.food-group h3,.food-group-count { font-size:var(--font-control); }
@media(min-width:1800px) { .food-results { margin-top:55px; } }
@media(max-width:760px) {
  .food-filter-bar .search { width:100%; max-width:none; }
  .food-results-heading h2 { font-size:17px; }
}
@media(max-width:760px) { .food-actions .ui-month-picker { flex:1; min-width:0; } }
.food-query-link { color:var(--muted); margin-top:6px; }
.food-query-link + .food-group-count { margin-top:10px; }
