.foh-root{--foh-navy:#1a2b4a;--foh-gold:#b8892a;--foh-ink:#16202a;--foh-muted:#5b6878;--foh-line:#dde3ea;--foh-bad:#b3261e;--foh-bad-bg:#fdecea;--foh-good:#1f7a4d;--foh-good-bg:#e6f4ec;color:var(--foh-ink);font-family:var(--font-dm), system-ui, sans-serif;background:#f4f6f8;flex:1}.foh-main{flex-direction:column;gap:16px;max-width:1200px;margin:0 auto;padding:0 16px 48px;display:flex}.foh-bar{background:var(--foh-navy);color:#fff;justify-content:space-between;align-items:center;gap:12px;margin:0 -16px;padding:12px 16px;display:flex}.foh-mark{letter-spacing:.04em;font-size:18px;font-weight:800}.foh-mark span{color:#d4a843}.foh-mark em{letter-spacing:0;opacity:.85;margin-left:6px;font-style:normal;font-weight:500}.foh-bar-note{opacity:.85;text-align:right;font-size:14px}.foh-controls{grid-template-columns:1fr;align-items:end;gap:12px;display:grid}@media (min-width:720px){.foh-controls{grid-template-columns:1fr 1fr auto}}.foh-field{color:var(--foh-muted);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.foh-field select{font:inherit;color:var(--foh-ink);border:1px solid var(--foh-line);background:#fff;border-radius:8px;min-height:44px;padding:10px 12px;font-size:16px;font-weight:500}.foh-toggle{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:15px;display:flex}.foh-toggle input{width:20px;height:20px;accent-color:var(--foh-navy)}.foh-count{color:var(--foh-muted);font-size:15px}.foh-count strong{color:var(--foh-ink)}.foh-count-good{color:var(--foh-good);font-weight:600}.foh-count-bad{color:var(--foh-bad);font-weight:600}.foh-empty{border:1px dashed var(--foh-line);text-align:center;color:var(--foh-muted);background:#fff;border-radius:12px;padding:32px 16px}.foh-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:640px){.foh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.foh-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.foh-card{border:1px solid var(--foh-line);break-inside:avoid;background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.foh-card-todo{border-color:#f1b8b3}.foh-photo{aspect-ratio:4/3;background:#e9edf2;position:relative;overflow:hidden}.foh-photo>img{object-fit:cover;width:100%;height:100%;display:block}.foh-photo-none{color:var(--foh-muted);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex;position:absolute;inset:0}.foh-body{flex-direction:column;flex:1;gap:8px;padding:14px 16px 16px;display:flex}.foh-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--foh-gold);font-size:12px;font-weight:700}.foh-name{color:var(--foh-navy);font-size:20px;font-weight:800;line-height:1.2}.foh-desc{color:var(--foh-ink);font-size:15px;line-height:1.45}.foh-chips{flex-wrap:wrap;gap:6px;display:flex}.foh-diet{color:var(--foh-good);background:var(--foh-good-bg);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.foh-allergens{flex-direction:column;gap:6px;margin-top:4px;display:flex}.foh-label{letter-spacing:.04em;text-transform:uppercase;color:var(--foh-muted);font-size:12px;font-weight:700}.foh-label-maybe{color:var(--foh-gold)}.foh-pill{border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.foh-pill-yes{color:var(--foh-bad);border:1.5px solid var(--foh-bad)}.foh-pill-maybe{color:var(--foh-gold);border:1.5px solid var(--foh-gold)}.foh-none{color:var(--foh-muted);font-size:13px}.foh-unknown,.foh-advisory{color:var(--foh-bad);font-size:13px;font-weight:600}.foh-status{border-top:1px solid var(--foh-line);flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px;display:flex}.foh-done{color:var(--foh-good);background:var(--foh-good-bg);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.foh-missing{color:var(--foh-bad);background:var(--foh-bad-bg);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700}.foh-pager{justify-content:center;align-items:center;gap:16px;font-size:15px;display:flex}.foh-pager button{font:inherit;border:1px solid var(--foh-line);min-height:44px;color:var(--foh-navy);cursor:pointer;background:#fff;border-radius:8px;padding:8px 16px;font-weight:600}.foh-pager button:disabled{opacity:.4;cursor:default}@media print{.foh-root{background:#fff}.foh-bar,.foh-controls,.foh-pager{display:none}.foh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
