:root{--p31-void: #0D1117;--p31-cloud: #161B22;--p31-teal: #5DCAA5;--p31-coral: #CC6247;--p31-text: #E6EDF3;--p31-muted: #8B949E;--p31-surface: #21262D;--p31-gold: #D4A853}*{box-sizing:border-box;font-family:system-ui,-apple-system,sans-serif}body{background-color:var(--p31-void);color:var(--p31-text);margin:0;padding:0;overscroll-behavior-y:none}.context-toggle{display:flex;width:100%;height:120px;position:sticky;top:0;z-index:100;background:var(--p31-void);border-bottom:2px solid var(--p31-cloud)}.context-btn{flex:1;font-size:1.5rem;font-weight:800;border:none;background:var(--p31-void);color:var(--p31-muted);transition:all .2s ease-out;cursor:pointer;letter-spacing:1px}.context-btn[data-active=true][data-context=home]{background:var(--p31-cloud);color:var(--p31-teal);border-bottom:8px solid var(--p31-teal)}.context-btn[data-active=true][data-context=business]{background:var(--p31-cloud);color:var(--p31-coral);border-bottom:8px solid var(--p31-coral)}.tab-bar{display:flex;width:100%;overflow-x:auto;background:var(--p31-cloud);border-bottom:1px solid var(--p31-surface);position:sticky;top:120px;z-index:99}.tab-btn{flex:1;min-width:60px;padding:8px 4px;font-size:.7rem;font-weight:700;letter-spacing:.5px;border:none;background:transparent;color:var(--p31-muted);cursor:pointer;transition:all .15s ease-out}.tab-btn.active{color:var(--p31-teal);border-bottom:3px solid var(--p31-teal)}.section-container,.prep-container{padding:16px 16px 120px}.search-input{width:100%;padding:12px 16px;margin-bottom:16px;background:var(--p31-cloud);border:1px solid var(--p31-surface);border-radius:12px;color:var(--p31-text);font-size:1rem;outline:none}.search-input:focus{border-color:var(--p31-teal)}.prep-card{display:flex;justify-content:space-between;align-items:center;padding:24px;margin-bottom:16px;background:var(--p31-cloud);border-radius:16px;border:1px solid var(--p31-surface)}.prep-card-info h2{margin:0 0 8px;font-size:1.75rem}.prep-card-info p{margin:0;font-size:1.25rem;color:var(--p31-muted)}.status-badge{font-size:.9rem!important;text-transform:uppercase;letter-spacing:1px;color:var(--p31-gold)!important;margin-top:4px!important}.prep-card.status-in_progress{border-color:var(--p31-gold);box-shadow:0 0 12px #d4a85333}.btn-complete{width:80px;height:80px;border-radius:16px;border:none;font-weight:700;font-size:1.1rem;color:var(--p31-void);cursor:pointer;flex-shrink:0}.btn-complete.home{background:var(--p31-teal)}.btn-complete.business{background:var(--p31-coral)}.empty-state{text-align:center;padding:48px 24px;font-size:1.5rem;color:var(--p31-muted)}.toolbar{display:flex;gap:8px;margin-bottom:16px}.btn-filter{padding:8px 16px;border-radius:8px;border:1px solid var(--p31-surface);background:var(--p31-cloud);color:var(--p31-muted);font-size:.8rem;font-weight:700;cursor:pointer;letter-spacing:.5px}.btn-filter.active{border-color:var(--p31-coral);color:var(--p31-coral)}.recipe-card{flex-direction:column;align-items:stretch}.recipe-card.expanded{border-color:var(--p31-teal)}.recipe-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;width:100%}.expand-arrow{font-size:1.2rem;color:var(--p31-muted);flex-shrink:0;margin-left:12px}.recipe-meta{font-size:.95rem!important;color:var(--p31-muted)!important;margin:4px 0!important}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.tag{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--p31-surface);font-size:.75rem;color:var(--p31-muted)}.recipe-detail{margin-top:16px;padding-top:16px;border-top:1px solid var(--p31-surface)}.recipe-detail h3{font-size:1rem;color:var(--p31-text);margin:12px 0 8px}.recipe-detail h3:first-child{margin-top:0}.ingredient-list,.steps-list{margin:0;padding-left:20px}.ingredient-list li,.steps-list li{padding:4px 0;color:var(--p31-muted);font-size:.95rem}.btn-start-prep{width:100%;padding:14px;margin-top:16px;border:none;border-radius:12px;background:var(--p31-teal);color:var(--p31-void);font-weight:800;font-size:1rem;cursor:pointer;letter-spacing:1px}.inventory-card{gap:12px}.inventory-card.low-stock{border-color:var(--p31-coral);box-shadow:0 0 12px #cc624726}.qty-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.btn-qty{width:36px;height:36px;border-radius:8px;border:1px solid var(--p31-surface);background:var(--p31-surface);color:var(--p31-text);font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-qty:active{background:var(--p31-cloud)}.qty-value{font-size:1.5rem;font-weight:800;min-width:32px;text-align:center}.qty-value.low{color:var(--p31-coral)}.grocery-card{padding:16px 24px}.grocery-card.checked{opacity:.5}.grocery-label{display:flex;align-items:center;gap:12px;cursor:pointer;width:100%}.grocery-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--p31-teal);cursor:pointer;flex-shrink:0}.grocery-label h2{margin:0;font-size:1.2rem}.grocery-label .recipe-meta{font-size:.8rem!important;margin:2px 0 0!important}.checked-text{text-decoration:line-through}.grocery-qty{margin-left:auto;font-size:1rem;color:var(--p31-muted);font-weight:700;flex-shrink:0}.checked-header{font-size:.9rem;text-transform:uppercase;letter-spacing:1px;color:var(--p31-muted);margin:24px 0 8px;padding-left:12px}.meal-plan-grid{display:flex;gap:8px;overflow-x:auto;padding-bottom:16px}.day-column{min-width:140px;flex-shrink:0}.day-header{font-size:.85rem;text-align:center;color:var(--p31-teal);margin:0 0 8px;padding:8px;background:var(--p31-cloud);border-radius:8px}.day-date{display:block;font-size:.7rem;color:var(--p31-muted);font-weight:400}.meal-slot{margin-bottom:8px;padding:8px;background:var(--p31-cloud);border-radius:8px;border:1px solid var(--p31-surface)}.meal-type-label{font-size:.6rem;text-transform:uppercase;letter-spacing:1px;color:var(--p31-muted);margin-bottom:4px}.meal-entry{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;margin-bottom:4px;background:var(--p31-surface);border-radius:6px;font-size:.85rem;cursor:pointer;transition:opacity .15s}.meal-entry:hover{opacity:.7}.meal-name{color:var(--p31-text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-servings{color:var(--p31-muted);font-size:.75rem;margin-left:4px;flex-shrink:0}.btn-add-meal{width:100%;padding:4px;border:1px dashed var(--p31-surface);border-radius:6px;background:transparent;color:var(--p31-muted);font-size:1rem;cursor:pointer;transition:all .15s}.btn-add-meal:hover{border-color:var(--p31-teal);color:var(--p31-teal)}
