.meal-card{background:var(--card-bg);padding:1.43em;width:100%;color:var(--text-primary);font-size:2.2vw}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.14em}.card-header h1{font-size:1.286em;font-weight:700;letter-spacing:-.02em;font-family:Georgia,Times New Roman,Times,serif}.day-badge{font-size:.857em;font-weight:600;color:var(--text-secondary);background:#0000000a;padding:.286em .714em;border-radius:1.43em}.meal-sections{display:flex;flex-direction:column;gap:.857em}.meal-section{display:flex;align-items:flex-start;gap:.857em}.meal-icon{flex-shrink:0;width:2.571em;height:2.571em;border-radius:.714em;display:flex;align-items:center;justify-content:center;font-size:1.143em}.meal-icon.breakfast{background:#f59e0b26}.meal-icon.lunch{background:#10b98126}.meal-icon.dinner{background:#8b5cf626}.meal-icon.prep{background:#a78bfa26}.meal-icon.notes{background:#60a5fa26}.meal-info{flex:1;min-width:0}.meal-label{font-size:.786em;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.143em}.meal-label.breakfast{color:var(--accent-breakfast)}.meal-label.lunch{color:var(--accent-lunch)}.meal-label.dinner{color:var(--accent-dinner)}.meal-label.prep{color:var(--accent-prep)}.meal-label.notes{color:var(--accent-notes)}.meal-items{display:flex;flex-direction:column;gap:.071em}.meal-name{font-size:1em;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-name a{color:inherit;text-decoration:none}.meal-name a:hover{text-decoration:underline}.meal-time{font-size:.786em;color:var(--text-secondary)}.leftover-badge{display:inline-block;font-size:.714em;font-weight:600;color:var(--text-secondary);background:#0000000a;padding:.071em .429em;border-radius:.286em;margin-left:.429em;vertical-align:middle}.meal-section+.meal-section{padding-top:.857em;border-top:1px solid rgba(0,0,0,.06)}.empty-day{text-align:center;padding:1.714em 1.143em}.empty-icon{font-size:2em;margin-bottom:.571em}.empty-text{font-size:1em;color:var(--text-secondary)}.weekly-card{background:var(--card-bg);padding:1em;width:100%;color:var(--text-primary);font-size:2.2vw}.weekly-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.71em}.weekly-header h1{font-size:1.286em;font-weight:700;letter-spacing:-.02em;font-family:Georgia,Times New Roman,Times,serif}.date-range{font-size:.786em;font-weight:600;color:var(--text-secondary);background:#0000000a;padding:.214em .571em;border-radius:1.43em;white-space:nowrap}.weekly-grid{display:grid;gap:0}.grid-col-header{font-size:.643em;font-weight:700;text-transform:uppercase;letter-spacing:.03em;text-align:center;padding:.4em .3em;border-bottom:2px solid rgba(0,0,0,.08)}.grid-col-header.breakfast{color:var(--accent-breakfast)}.grid-col-header.lunch{color:var(--accent-lunch)}.grid-col-header.dinner{color:var(--accent-dinner)}.grid-col-header.prep{color:var(--accent-prep)}.grid-col-header.notes{color:var(--accent-notes)}.grid-day{display:flex;align-items:center;gap:.214em;padding:.357em .286em .357em 0;border-bottom:1px solid rgba(0,0,0,.04)}.grid-day .day-name{font-size:.786em;font-weight:700;color:var(--text-primary)}.grid-day .day-num{font-size:.643em;font-weight:500;color:var(--text-secondary)}.grid-day.today .day-name{color:#6366f1}.grid-day.today .day-num{color:#6366f1;opacity:.7}.grid-cell{padding:.286em .357em;border-bottom:1px solid rgba(0,0,0,.04);border-left:1px solid rgba(0,0,0,.04);min-width:0}.grid-day.today,.grid-cell.today{background:#6366f10d}.weekly-grid>.grid-day:last-of-type,.weekly-grid>.grid-cell:nth-last-child(-n+3){border-bottom:none}.cell-meal{font-size:.786em;font-weight:500;color:var(--text-primary);line-height:1.3;word-break:break-word}.cell-meal+.cell-meal{margin-top:.143em}.cell-meal a{color:inherit;text-decoration:none}.cell-meal a:hover{text-decoration:underline}.cell-empty{display:block;min-height:1em}.lo{display:inline-block;font-size:.75em;font-weight:700;color:var(--text-secondary);background:#0000000d;padding:0 .286em;border-radius:.214em;margin-left:.214em;vertical-align:middle;line-height:1.4}.shopping-card{background:var(--card-bg);padding:1.43em;width:100%;color:var(--text-primary);font-size:2.2vw}.shop-sections{display:flex;flex-direction:column;gap:1em}.shop-section+.shop-section{padding-top:1em;border-top:1px solid rgba(0,0,0,.06)}.shop-section-header{font-size:.786em;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.5em}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5em}.shop-tile{display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:.7em;padding:.5em .25em;min-width:0}.item-icon{width:2.8em;height:2.8em;object-fit:contain;margin-bottom:.25em}.item-icon-placeholder{width:2.8em;height:2.8em;margin-bottom:.25em;display:flex;align-items:center;justify-content:center;font-size:1.6em;opacity:.5}.tile-label{font-size:.786em;font-weight:500;line-height:1.2;word-break:break-word;overflow-wrap:break-word}.item-spec{font-size:.643em;color:var(--text-secondary);line-height:1.2;margin-top:.1em;word-break:break-word}*{margin:0;padding:0;box-sizing:border-box}:root{--card-bg: #ffffff;--card-border: #e5e5ea;--text-primary: #1a1a2e;--text-secondary: #6b6b80;--accent-breakfast: #d97706;--accent-lunch: #059669;--accent-dinner: #7c3aed;--accent-prep: #7c3aed;--accent-notes: #2563eb}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#root{width:100%}
