.cat-select-wrap{display:flex;flex-direction:column;gap:8px}.cat-select{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-family:var(--font);font-size:14px;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.cat-select:focus{border-color:var(--accent)}.cat-custom-wrap,.cat-select option{background:var(--surface2)}.cat-custom-wrap{border:1px solid var(--accent);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:12px}.cat-custom-input{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font);font-size:13px;outline:none;padding:8px 10px;transition:border-color .15s;width:100%}.cat-custom-input:focus{border-color:var(--accent)}.cat-save-label{align-items:center;color:var(--text-muted);cursor:pointer;display:flex;font-size:12px;gap:8px}.cat-checkbox{accent-color:var(--accent);cursor:pointer}.cat-custom-actions{display:flex;gap:8px;justify-content:flex-end}.cat-cancel-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:12px;padding:6px 12px;transition:all .15s}.cat-cancel-btn:hover{color:var(--text)}.cat-confirm-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:var(--font);font-size:12px;font-weight:500;padding:6px 14px;transition:opacity .15s}.cat-confirm-btn:hover:not(:disabled){opacity:.85}.cat-confirm-btn:disabled{cursor:not-allowed;opacity:.45}.add-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.add-form-title{font-size:16px;font-weight:600;margin-bottom:16px}.add-form{display:flex;flex-direction:column;gap:16px}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:2fr 1fr 1fr}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.form-group label{font-weight:500}.form-group input,.form-group select{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;outline:none;padding:9px 12px;transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:var(--accent)}.form-group select option{background:var(--surface2)}.form-actions{display:flex;gap:10px;justify-content:flex-end}.btn-ghost{padding:9px 18px}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{cursor:not-allowed;opacity:.45}.form-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5}.form-error,.form-success{font-size:13px;margin-bottom:4px;padding:8px 12px}.form-success{background:#22c55e1a;border:1px solid #22c55e4d;border-radius:8px;color:#86efac}.inventory-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.inventory-table{border-collapse:collapse;width:100%}.inventory-table thead tr{border-bottom:1px solid var(--border)}.inventory-table th{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.6px;padding:11px 16px;text-align:left;text-transform:uppercase}.inventory-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.inventory-table tbody tr:last-child{border-bottom:none}.inventory-table tbody tr:hover{background:var(--surface2)}.inventory-table td{font-size:14px;padding:13px 16px;vertical-align:middle}.item-name{font-weight:500}.item-cat,.item-date{color:var(--text-muted);font-size:13px}.none{color:var(--border)}.status-select{appearance:none;-webkit-appearance:none;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-family:var(--font);font-size:13px;outline:none;padding:5px 10px;transition:border-color .15s}.status-select:focus{border-color:var(--accent)}.status-select option{background:var(--surface2)}.status-select.status-enough{border-color:#22c55e66;color:#86efac}.status-select.status-low{border-color:#f59e0b66;color:#fcd34d}.status-select.status-finished{border-color:#ef444466;color:#fca5a5}.btn-delete{background:none;border:1px solid #0000;border-radius:6px;color:var(--text-muted);font-size:15px;opacity:.5;padding:4px 8px;transition:all .15s}.btn-delete:hover{background:#ef44441f;border-color:#ef44444d;opacity:1}.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:16px;padding:28px;width:300px}.modal-title{font-size:17px;font-weight:600}.modal-sub{color:var(--text-muted);font-size:13px;margin-top:-10px}.modal-input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:20px;font-weight:600;outline:none;padding:10px 14px;text-align:center;width:100%}.modal-input:focus{border-color:var(--accent)}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.row-actions{align-items:center;display:flex;gap:4px}.btn-edit{background:none;border:1px solid #0000;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:13px;opacity:.5;padding:4px 8px;transition:all .15s}.btn-edit:hover{background:#7c6af71f;border-color:#7c6af74d;opacity:1}.edit-input,.edit-select{background:var(--surface2);border:1px solid var(--accent);border-radius:6px;color:var(--text);font-family:var(--font);font-size:13px;outline:none;padding:5px 8px;width:100%}.edit-actions{display:flex;gap:4px}.btn-save-edit{border:1px solid #22c55e66;border-radius:5px;color:#22c55e}.btn-cancel-edit,.btn-save-edit{align-items:center;background:none;cursor:pointer;display:flex;font-family:var(--font);font-size:12px;height:26px;justify-content:center;width:26px}.btn-cancel-edit{border:1px solid var(--border);border-radius:5px;color:var(--text-muted)}.page{display:flex;flex-direction:column;gap:24px}.page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.page-title{color:var(--text);font-size:26px;font-weight:600;letter-spacing:-.5px}.page-sub{color:var(--text-muted);font-size:13px;margin-top:2px}.btn-primary{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-size:14px;font-weight:500;padding:9px 18px;transition:opacity .15s;white-space:nowrap}.btn-primary:hover{opacity:.85}.btn-send{background:#16a34a;border:none;border-radius:var(--radius);color:#fff;font-size:14px;font-weight:500;padding:9px 18px;transition:opacity .15s;white-space:nowrap}.btn-send:hover:not(:disabled){opacity:.85}.btn-send:disabled{cursor:not-allowed;opacity:.5}.error-banner{background:#ef44441f;border:1px solid #ef44444d;border-radius:var(--radius);color:#fca5a5}.error-banner,.success-banner{font-size:14px;padding:12px 16px}.success-banner{background:#22c55e1f;border:1px solid #22c55e4d;border-radius:var(--radius);color:#86efac}.loading{font-size:14px;padding:48px}.empty-state,.loading{color:var(--text-muted);text-align:center}.empty-state{padding:64px 24px}.empty-icon{font-size:48px;margin-bottom:16px}.cart-list{display:flex;flex-direction:column;gap:8px}.cart-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;justify-content:space-between;padding:14px 18px;transition:border-color .15s}.cart-row:hover{border-color:var(--accent-dim)}.cart-item-info{display:flex;flex-direction:column;gap:3px}.cart-item-name{font-size:15px;font-weight:500}.cart-badge{font-size:12px;font-weight:500}.btn-remove{align-items:center;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);display:flex;flex-shrink:0;font-size:12px;height:30px;justify-content:center;transition:all .15s;width:30px}.btn-remove:hover{background:#ef444426;border-color:#ef444466;color:#fca5a5}.cart-item-top{align-items:center;display:flex;gap:8px}.cart-qty{background:var(--accent-dim);border-radius:6px;color:var(--text);font-size:12px;font-weight:600;padding:1px 7px}.cart-actions{gap:6px}.btn-purchased,.cart-actions{align-items:center;display:flex}.btn-purchased{background:none;border:1px solid var(--border);border-radius:6px;font-size:14px;height:30px;justify-content:center;opacity:.6;transition:all .15s;width:30px}.btn-purchased:hover{background:#22c55e26;border-color:#22c55e66;opacity:1}.inv-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.inv-search{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex:1 1;font-family:var(--font);font-size:13px;min-width:160px;outline:none;padding:8px 12px;transition:border-color .15s}.inv-search:focus{border-color:var(--accent)}.inv-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-family:var(--font);font-size:13px;outline:none;padding:8px 12px;transition:border-color .15s}.inv-select:focus{border-color:var(--accent)}.inv-select option{background:var(--surface2)}.inv-clear-btn{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:12px;padding:8px 12px;transition:all .15s;white-space:nowrap}.inv-clear-btn:hover{border-color:var(--text-muted);color:var(--text)}@media (max-width:600px){.inv-filters{flex-direction:column}.inv-search,.inv-select{width:100%}}.history-list{gap:20px}.history-group,.history-list{display:flex;flex-direction:column}.history-group{gap:6px}.history-date{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.8px;margin-bottom:4px;padding:0 4px;text-transform:uppercase}.history-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;justify-content:space-between;padding:12px 16px}.history-item-info{display:flex;flex-direction:column;gap:3px}.history-item-top{align-items:center;display:flex;gap:8px}.history-item-name{font-size:15px;font-weight:500}.history-item-meta{align-items:center;display:flex;font-size:12px;gap:10px}.history-cat{background:var(--surface2);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:11px;padding:1px 6px}.history-time{color:var(--text-muted);flex-shrink:0;font-size:12px}.btn-danger{background:#ef444426;border:1px solid #ef44444d;border-radius:var(--radius);color:#fca5a5;font-size:14px;font-weight:500;padding:9px 18px;transition:all .15s;white-space:nowrap}.btn-danger:hover{background:#ef444440}.ing-input-row{display:flex;gap:8px}.ing-input-field{flex:1 1;position:relative}.ing-text-input{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:13px;outline:none;padding:7px 10px;transition:border-color .15s;width:100%}.ing-text-input:focus{border-color:var(--accent)}.ing-linked-badge{background:#22c55e26;border-radius:10px;color:#22c55e;font-size:10px;padding:2px 6px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.ing-suggestions{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 20px #0000004d;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.ing-suggestion-item{align-items:center;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:8px;padding:9px 12px;transition:background .1s}.ing-suggestion-item:last-child{border-bottom:none}.ing-suggestion-item:hover{background:var(--surface2)}.ing-sug-emoji{flex-shrink:0;font-size:13px}.ing-sug-name{color:var(--text);flex:1 1;font-size:13px}.ing-sug-cat{background:var(--surface2);border-radius:6px;color:var(--text-muted);font-size:11px;padding:1px 6px}.ing-sug-status{border-radius:10px;font-size:11px;padding:2px 7px}.ing-status-enough{background:#22c55e1f;color:#22c55e}.ing-status-running_low{background:#f59e0b1f;color:#f59e0b}.ing-status-finished{background:#ef44441f;color:#ef4444}.ing-new-item{background:#7c6af70d}.ing-new-item:hover{background:#7c6af71a}.ing-add-btn{background:var(--accent-dim);border:1px solid var(--accent);border-radius:8px;color:var(--text);cursor:pointer;font-family:var(--font);font-size:13px;font-weight:500;padding:7px 14px;transition:opacity .15s;white-space:nowrap}.ing-add-btn:hover:not(:disabled){opacity:.85}.ing-add-btn:disabled{cursor:not-allowed;opacity:.4}.ing-input-wrap{position:relative;z-index:50}.ing-suggestions{z-index:200}.dish-input-wrap{display:flex;flex-direction:column;gap:8px}.dish-input-row{align-items:flex-start;display:flex;gap:6px}.dish-input-field{flex:1 1;position:relative}.dish-text-input{background:var(--surface);border:1px solid var(--accent);border-radius:8px;color:var(--text);font-family:var(--font);font-size:13px;outline:none;padding:8px 10px;width:100%}.dish-recipe-badge{background:#7c6af726;border-radius:10px;color:var(--accent);font-size:10px;padding:2px 6px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.dish-suggestions{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 20px #0000004d;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:200}.dish-sug-header{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.5px;padding:8px 12px 4px;text-transform:uppercase}.dish-sug-item{align-items:flex-start;border-top:1px solid var(--border);cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background .1s}.dish-sug-item:hover{background:var(--surface2)}.dish-sug-icon{flex-shrink:0;font-size:16px;margin-top:1px}.dish-sug-info{display:flex;flex-direction:column;gap:2px}.dish-sug-name{color:var(--text);font-size:13px;font-weight:500}.dish-sug-ings{color:var(--text-muted);font-size:11px}.dish-save-btn{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:500;padding:8px 14px;transition:opacity .15s;white-space:nowrap}.dish-save-btn:hover:not(:disabled){opacity:.85}.dish-save-btn:disabled{cursor:not-allowed;opacity:.4}.dish-cancel-btn{background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:13px;padding:8px 10px;transition:all .15s}.dish-cancel-btn:hover{color:var(--text)}.dish-auto-ings{background:#7c6af714;border:1px solid #7c6af733;border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:10px 12px}.dish-auto-label{color:var(--accent);font-size:11px;font-weight:600}.dish-auto-list{display:flex;flex-wrap:wrap;gap:5px}.dish-auto-tag{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:11px;padding:2px 8px}.mp-topbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.mp-mode-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:4px;padding:3px}.mp-mode-btn{background:none;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:13px;font-weight:500;padding:7px 16px;transition:all .15s}.mp-mode-btn.active{background:var(--accent-dim);border:1px solid var(--accent);color:var(--text)}.mp-week-nav{gap:10px}.mp-nav-btn,.mp-week-nav{align-items:center;display:flex}.mp-nav-btn{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-family:var(--font);font-size:18px;height:34px;justify-content:center;transition:border-color .15s;width:34px}.mp-nav-btn:hover{border-color:var(--accent)}.mp-week-label{color:var(--text);font-size:14px;font-weight:600;min-width:160px;text-align:center}.mp-use-tmpl{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:12px;padding:6px 12px;transition:all .15s}.mp-use-tmpl:hover{border-color:var(--accent);color:var(--text)}.mp-template-hint{background:#7c6af71a;border:1px solid #7c6af74d;border-radius:var(--radius);color:var(--text-muted);font-size:13px;padding:12px 16px}.mp-days{display:flex;flex-direction:column;gap:8px}.mp-day-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.mp-day-header{align-items:center;background:var(--surface2);border-bottom:1px solid var(--border);display:flex;gap:12px;padding:10px 16px}.mp-day-name{color:var(--text);font-size:13px;font-weight:600;min-width:90px}.mp-day-dots{align-items:center;display:flex;gap:4px}.mp-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:7px;width:7px}.mp-no-meals{color:var(--text-muted);font-size:11px}.mp-meals-grid{display:grid;grid-template-columns:repeat(5,1fr)}.mp-meal-cell{border-right:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;gap:5px;min-height:70px;padding:12px 14px;transition:background .12s}.mp-meal-cell:last-child{border-right:none}.mp-meal-cell:hover{background:var(--surface2)}.mp-meal-cell.active{background:#7c6af714;border-bottom:2px solid var(--accent)}.mp-meal-cell.filled.active{background:#7c6af71a}.mp-meal-type{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.mp-dish-name{color:var(--text);font-size:13px;font-weight:600;line-height:1.3}.mp-add-hint{color:var(--border);font-size:12px;margin-top:auto}.mp-meal-cell:hover .mp-add-hint{color:var(--accent)}.mp-dots-row{align-items:center;display:flex;gap:3px;margin-top:2px}.mp-dots-more{color:var(--text-muted);font-size:10px}.mp-dish-edit{display:flex;flex-direction:column;gap:5px}.mp-dish-input{background:var(--surface2);border:1px solid var(--accent);border-radius:6px;color:var(--text);font-family:var(--font);font-size:13px;outline:none;padding:6px 8px;width:100%}.mp-dish-edit-actions{display:flex;gap:5px}.mp-save-btn{border:1px solid #22c55e66;border-radius:5px;color:#22c55e}.mp-cancel-btn,.mp-save-btn{align-items:center;background:none;cursor:pointer;display:flex;font-family:var(--font);font-size:12px;height:26px;justify-content:center;width:26px}.mp-cancel-btn{border:1px solid var(--border);border-radius:5px;color:var(--text-muted)}.mp-expanded{background:var(--surface2);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;padding:16px 18px}.mp-exp-header{align-items:center;display:flex;justify-content:space-between}.mp-exp-title{color:var(--text);font-size:14px;font-weight:600}.mp-exp-edit{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:12px;padding:4px 10px;transition:all .15s}.mp-exp-edit:hover{border-color:var(--accent);color:var(--text)}.mp-exp-empty{display:flex;gap:8px}.mp-save-dish-btn{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:500;padding:6px 14px;white-space:nowrap}.mp-no-ings{color:var(--text-muted);font-size:13px}.mp-ing-list{display:flex;flex-direction:column;gap:5px}.mp-ing-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;gap:10px;padding:8px 12px}.mp-ing-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.mp-ing-name{color:var(--text);flex:1 1;font-size:13px}.mp-ing-tag{border-radius:10px;font-size:11px;padding:2px 8px;white-space:nowrap}.mp-tag-enough{background:#22c55e1f;color:#22c55e}.mp-tag-running_low{background:#f59e0b1f;color:#f59e0b}.mp-tag-finished{background:#ef44441f;color:#ef4444}.mp-tag-none{background:var(--surface2);color:var(--text-muted)}.mp-ing-del{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:11px;opacity:.5;padding:0 3px}.mp-ing-del:hover{color:#ef4444;opacity:1}.mp-add-ing-row{display:flex;gap:8px}.mp-ing-input{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);flex:1 1;font-family:var(--font);font-size:13px;outline:none;padding:7px 10px}.mp-ing-input:focus{border-color:var(--accent)}.mp-add-ing-btn{background:var(--accent-dim);border:1px solid var(--accent);border-radius:8px;color:var(--text);cursor:pointer;font-family:var(--font);font-size:13px;font-weight:500;padding:7px 14px;white-space:nowrap}.mp-summary-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;gap:16px;padding:20px}.mp-summary-header{align-items:center;display:flex;justify-content:space-between}.mp-summary-title{font-size:16px;font-weight:600}.mp-check-btn{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:500;padding:8px 18px;transition:opacity .15s}.mp-check-btn:hover:not(:disabled){opacity:.85}.mp-check-btn:disabled{cursor:not-allowed;opacity:.5}.mp-summary-content{display:flex;flex-direction:column;gap:12px}.mp-summary-group{display:flex;flex-direction:column;gap:4px}.mp-summary-group-title{font-size:12px;font-weight:600;margin-bottom:3px}.mp-summary-item{background:var(--surface2);border-radius:6px;color:var(--text);font-size:13px;padding:6px 10px}.mp-cart-btn{background:#16a34a;border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:500;padding:11px 20px;transition:opacity .15s}.mp-cart-btn:hover{opacity:.85}.mp-all-good{color:#22c55e;font-size:14px;font-weight:500;padding:16px;text-align:center}@media (max-width:600px){.mp-meals-grid{grid-template-columns:repeat(2,1fr)}.mp-meal-cell{border-bottom:1px solid var(--border)}.mp-topbar{align-items:flex-start;flex-direction:column}}.mp-expanded{position:relative;z-index:10}.mp-day-row,.mp-days,.mp-expanded{overflow:visible}@media (max-width:600px){.mp-meals-grid{grid-template-columns:repeat(2,1fr)}}.mp-exp-actions{align-items:center;display:flex;gap:6px}.mp-save-recipe-btn{background:#7c6af71f;border:1px solid #7c6af74d;border-radius:6px;color:var(--accent);cursor:pointer;font-family:var(--font);font-size:11px;padding:4px 10px;transition:all .15s}.mp-save-recipe-btn:hover{background:#7c6af733}.mp-delete-meal-btn{background:none;border:1px solid #0000;border-radius:6px;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:13px;opacity:.5;padding:4px 8px;transition:all .15s}.mp-delete-meal-btn:hover{background:#ef44441f;border-color:#ef44444d;opacity:1}.share-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:18px;max-height:90vh;max-width:480px;overflow-y:auto;padding:24px;width:100%}.share-modal-header{align-items:center;display:flex;justify-content:space-between}.share-modal-title{font-size:17px;font-weight:600}.share-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:16px;padding:4px 8px}.share-error{background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5;font-size:13px;padding:8px 12px}.share-section{display:flex;flex-direction:column;gap:6px}.share-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.share-optional{font-size:10px;font-weight:400;text-transform:none}.share-recipe-list{display:flex;flex-direction:column;gap:4px;margin-bottom:4px;max-height:160px;overflow-y:auto}.share-recipe-item{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px;transition:all .15s}.share-recipe-item:hover{border-color:var(--accent-dim)}.share-recipe-item.selected{background:#7c6af71a;border-color:var(--accent);color:var(--accent)}.share-recipe-count{color:var(--text-muted);font-size:11px}.share-input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:13px;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.share-input:focus{border-color:var(--accent)}.share-textarea{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:13px;outline:none;padding:9px 12px;resize:vertical;transition:border-color .15s;width:100%}.share-textarea:focus{border-color:var(--accent)}.share-username-wrap{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden;transition:border-color .15s}.share-username-wrap:focus-within{border-color:var(--accent)}.share-at{color:var(--text-muted);font-size:14px;font-weight:600;padding:9px 8px 9px 12px}.share-username-input{background:none;border:none;color:var(--text);flex:1 1;font-family:var(--font);font-size:13px;outline:none;padding:9px 12px 9px 4px}.share-username-status{font-size:12px;padding:4px 0}.share-username-status.found{color:#22c55e}.share-username-status.not-found{color:#ef4444}.share-username-status.checking{color:var(--text-muted)}.share-modal-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:4px}.share-send-btn{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:500;padding:10px 20px;transition:opacity .15s}.share-send-btn:hover:not(:disabled){opacity:.85}.share-send-btn:disabled{cursor:not-allowed;opacity:.4}.shared-tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:4px;padding:4px;width:-webkit-fit-content;width:fit-content}.shared-tab{align-items:center;background:none;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-family:var(--font);font-size:13px;font-weight:500;gap:6px;padding:7px 18px;transition:all .15s}.shared-tab.active{background:var(--accent-dim);border:1px solid var(--accent);color:var(--text)}.shared-badge{background:var(--accent);border-radius:10px;color:#fff;font-size:11px;font-weight:600;padding:1px 7px}.shared-list{gap:12px}.shared-card,.shared-list{display:flex;flex-direction:column}.shared-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:14px;padding:18px}.shared-card.new{background:#7c6af70a;border-color:#7c6af766}.shared-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.shared-dish-name{color:var(--text);font-size:17px;font-weight:600}.shared-from{color:var(--text-muted);font-size:12px;margin-top:3px}.shared-new-badge{background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent)}.shared-imported-badge,.shared-new-badge{border-radius:10px;font-size:11px;font-weight:600;padding:2px 10px;white-space:nowrap}.shared-imported-badge{background:#22c55e1a;color:#22c55e}.shared-section-label{color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.shared-ing-list{display:flex;flex-wrap:wrap;gap:5px}.shared-ing-tag{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;padding:3px 9px}.shared-yt-link{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 14px;text-decoration:none;transition:all .15s}.shared-yt-link:hover{background:#ef444433}.shared-instructions-text{background:var(--surface2);border-radius:8px;color:var(--text);font-size:13px;line-height:1.6;padding:10px 12px}.shared-card-actions{display:flex;flex-wrap:wrap;gap:8px}.shared-import-btn{background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font);font-size:13px;font-weight:500;padding:8px 16px;transition:opacity .15s}.shared-import-btn:hover{opacity:.85}.shared-delete-btn{background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:13px;padding:8px 14px;transition:all .15s}.shared-delete-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.setup-container{background:var(--bg);justify-content:center;min-height:100vh;padding:24px}.setup-card,.setup-container{align-items:center;display:flex}.setup-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:16px;max-width:420px;padding:40px 32px;width:100%}.setup-logo{font-size:48px}.setup-title{font-size:28px;font-weight:700;letter-spacing:-.5px}.setup-sub{color:var(--text-muted);font-size:14px;text-align:center}.setup-error{background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5;font-size:13px;padding:10px 14px;text-align:center;width:100%}.setup-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px;width:100%}.btn-setup-primary{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-family:var(--font);font-size:15px;font-weight:500;padding:12px 20px;transition:opacity .15s;width:100%}.btn-setup-primary:hover:not(:disabled){opacity:.85}.btn-setup-primary:disabled{cursor:not-allowed;opacity:.45}.btn-setup-secondary{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:15px;font-weight:500;padding:12px 20px;transition:all .15s;width:100%}.btn-setup-secondary:hover{border-color:var(--accent)}.setup-form{gap:16px;width:100%}.form-group,.setup-form{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.form-group input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:15px;outline:none;padding:10px 14px;transition:border-color .15s;width:100%}.form-group input:focus{border-color:var(--accent)}.code-input{font-size:24px!important;font-weight:700!important;letter-spacing:6px!important;text-align:center!important}.optional{font-weight:400;text-transform:none}.field-hint,.optional{color:var(--text-muted);font-size:11px}.setup-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.btn-ghost{background:none;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-family:var(--font);font-size:14px;font-weight:500;padding:10px 18px;transition:all .15s}.btn-ghost:hover{border-color:var(--text-muted);color:var(--text)}.settings-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:20px;max-width:420px;padding:28px;width:100%}.settings-header{align-items:center;display:flex;justify-content:space-between}.settings-title{font-size:17px;font-weight:600}.settings-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;padding:4px 8px}.settings-section{display:flex;flex-direction:column;gap:6px}.settings-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.settings-value{font-size:15px;font-weight:500;padding:8px 0}.invite-code-display{align-items:center;display:flex;gap:10px}.invite-code{color:var(--accent);font-family:monospace;font-size:24px;font-weight:700;letter-spacing:6px}.btn-copy{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:12px;padding:5px 10px;transition:all .15s}.btn-copy:hover{border-color:var(--accent);color:var(--text)}.settings-hint{color:var(--text-muted);font-size:11px}.settings-input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s;width:100%}.settings-input:focus{border-color:var(--accent)}.settings-error{background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;color:#fca5a5;font-size:13px;padding:8px 12px}.settings-actions{align-items:center;display:flex;justify-content:space-between}.btn-leave{background:none;border:none;color:#fca5a5;cursor:pointer;font-family:var(--font);font-size:13px;padding:0}.btn-leave:hover{text-decoration:underline}.btn-save{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:var(--font);font-size:14px;font-weight:500;padding:9px 20px;transition:opacity .15s}.btn-save:hover:not(:disabled){opacity:.85}.btn-save:disabled{cursor:not-allowed;opacity:.5}.settings-username-wrap{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden;transition:border-color .15s}.settings-username-wrap:focus-within{border-color:var(--accent)}.settings-at{color:var(--text-muted);font-size:14px;font-weight:600;padding:9px 6px 9px 12px}.settings-username-input{background:none;flex:1 1;font-size:13px;outline:none;padding:9px 8px}.settings-username-input,.settings-username-save{border:none;color:var(--text);font-family:var(--font)}.settings-username-save{background:var(--accent-dim);border-left:1px solid var(--border);cursor:pointer;font-size:12px;font-weight:500;padding:9px 14px;transition:background .15s}.settings-username-save:hover:not(:disabled){background:var(--accent)}.settings-username-save:disabled{cursor:not-allowed;opacity:.4}.app{display:flex;flex-direction:column;min-height:100vh}.header{background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-inner{height:60px;justify-content:space-between;margin:0 auto;max-width:960px;padding:0 24px}.header-inner,.logo{align-items:center;display:flex}.logo{gap:10px}.logo-icon{font-size:22px}.logo-text{color:var(--text);font-size:18px;font-weight:600;letter-spacing:-.3px}.nav{display:flex;gap:6px}.nav-btn{background:none;border:1px solid #0000;border-radius:var(--radius);color:var(--text-muted);font-size:14px;font-weight:500;padding:6px 16px;transition:all .15s}.nav-btn:hover{background:var(--surface2);color:var(--text)}.nav-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text)}.main{flex:1 1;margin:0 auto;max-width:960px;padding:32px 24px;width:100%}.install-banner{align-items:center;background:var(--accent-dim);border-bottom:1px solid var(--accent);color:var(--text);display:flex;font-size:13px;justify-content:space-between;padding:10px 24px}.install-actions{align-items:center;display:flex;gap:8px}.install-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:var(--font);font-size:12px;font-weight:600;padding:5px 14px}.install-dismiss{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 6px}.nav-badge{background:var(--accent);border-radius:10px;color:#fff;font-size:10px;font-weight:600;margin-left:4px;padding:1px 6px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f13;--surface:#18181f;--surface2:#1e1e28;--border:#2a2a38;--accent:#7c6af7;--accent-dim:#4a3fa0;--text:#e8e6f0;--text-muted:#7a7890;--enough:#22c55e;--low:#f59e0b;--finished:#ef4444;--radius:10px;--font:"DM Sans",sans-serif}body{background:#0f0f13;background:var(--bg);color:#e8e6f0;color:var(--text);line-height:1.5;min-height:100vh}body,button{font-family:DM Sans,sans-serif;font-family:var(--font)}button{cursor:pointer}input,select{font-family:DM Sans,sans-serif;font-family:var(--font)}
/*# sourceMappingURL=main.9e8b82a1.css.map*/