*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:16px}body{min-height:100vh}:root{--bg:#0f0f14;--bg-card:#1a1a24;--bg-input:#22222e;--bg-hover:#2a2a38;--text:#e8e8f0;--text-secondary:#9898a8;--accent:#f94d4d;--accent-hover:#e03e3e;--accent-light:#f94d4d26;--green:#4caf50;--orange:#ff9800;--red:#f44336;--border:#2a2a3a;--radius:12px;--radius-sm:8px;--shadow-popover:0 8px 24px #0006;--touch-min:44px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);direction:rtl;min-height:100vh;font-family:Segoe UI,Arial,sans-serif}.app{flex-direction:column;max-width:1200px;min-height:100vh;margin:0 auto;display:flex}.app-header{border-bottom:1px solid var(--border);background:var(--bg-card);z-index:100;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.app-logo{color:var(--accent);align-items:center;gap:6px;font-size:1.3rem;font-style:italic;font-weight:700;display:flex}.logo-icon{width:auto;height:22px}.logo-icon-lg{height:40px}.app-nav{gap:4px;display:flex}.app-nav a{border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:4px;padding:6px 12px;font-size:.85rem;text-decoration:none;transition:all .2s;display:flex}.app-nav a:hover{background:var(--bg-hover);color:var(--text)}.app-nav a.active{background:var(--accent);color:#fff}.app-main{flex:1;padding:16px}.date-nav{justify-content:space-between;align-items:center;margin-bottom:16px;padding:8px 0;display:flex}.date-display{text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.date-text{font-size:1.1rem;font-weight:700}.today-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:3px 12px;font-family:inherit;font-size:.75rem}.daily-summary{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:16px;padding:20px}.summary-calories{text-align:center;margin-bottom:16px}.cal-number{color:var(--accent);font-size:2.5rem;font-weight:800}.cal-label{color:var(--text-secondary);font-size:.85rem}.cal-meta{color:var(--text-secondary);margin-top:4px;font-size:.75rem}.summary-macros{flex-direction:column;gap:8px;display:flex}.macro-item{flex-direction:column;gap:2px;display:flex}.macro-bar-bg{background:var(--bg-input);border-radius:3px;height:6px;overflow:hidden}.macro-bar-fill{border-radius:3px;height:100%;transition:width .5s}.macro-info{grid-template-columns:70px 1fr 40px;align-items:center;font-size:.8rem;display:grid}.macro-label{font-weight:600}.macro-value{text-align:center}.macro-pct{text-align:left;color:var(--text-secondary)}.water-tracker{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:16px;padding:16px 20px}.water-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.water-icon{color:#42a5f5}.water-title{font-size:.95rem;font-weight:600}.water-reset{opacity:.5;margin-right:auto}.water-reset:hover{opacity:1}.water-progress{margin-bottom:12px}.water-bar-bg{background:var(--bg-input);border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.water-bar-fill{background:linear-gradient(90deg,#42a5f5,#1e88e5);border-radius:4px;height:100%;transition:width .4s}.water-stats{align-items:center;gap:4px;font-size:.85rem;display:flex}.water-amount{color:#42a5f5;font-weight:700}.water-target{color:var(--text-secondary)}.water-glasses{color:var(--text-secondary);margin-right:auto;font-size:.8rem}.water-buttons{gap:8px;display:flex}.btn-water{color:#42a5f5;border-radius:var(--radius-sm);cursor:pointer;background:#42a5f51a;border:1px solid #42a5f54d;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.btn-water:hover{background:#42a5f533;border-color:#42a5f5}.btn-water:disabled{opacity:.5;cursor:not-allowed}.food-search{margin-bottom:12px;position:relative}.food-search-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;min-height:44px;padding:10px 14px;display:flex}.food-search-input:focus-within{border-color:var(--accent)}.food-search-input .search-icon{color:var(--text-secondary);flex-shrink:0}.food-search-input input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.95rem}.food-search-input input::placeholder{color:var(--text-secondary)}.food-search-results{background:var(--bg-card);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);z-index:50;max-height:400px;box-shadow:var(--shadow-popover);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-loading{text-align:center;color:var(--text-secondary);padding:12px;font-size:.85rem}.search-result-item{width:100%;min-height:44px;color:var(--text);cursor:pointer;text-align:right;border:none;border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:.85rem;transition:background .15s;display:flex}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-hover)}.search-result-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.search-result-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.search-result-brand{color:var(--text-secondary);font-size:.75rem}.search-result-cal{color:var(--accent);white-space:nowrap;flex-shrink:0;font-size:.7rem;font-weight:600}.search-result-photo{background:var(--bg-input);border-radius:4px;flex-shrink:0;width:30px;height:30px;overflow:hidden}.search-result-photo img{object-fit:cover;width:100%;height:100%}.search-result-photo-placeholder{justify-content:center;align-items:center;width:100%;height:100%;font-size:.9rem;display:flex}.food-search-list{margin:0;padding:0;list-style:none}.search-result-item.active{background:var(--bg-hover);outline:2px solid var(--accent);outline-offset:-2px}.search-result-meta{align-items:center;gap:6px;min-width:0;display:flex}.search-result-badge{text-transform:none;letter-spacing:0;align-items:center;gap:3px;display:inline-flex}.search-state{text-align:center;min-height:44px;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;padding:12px;font-size:.85rem;display:flex}.search-state-error{color:var(--text)}.search-retry{min-height:44px;color:var(--accent);flex-shrink:0;padding:0 12px;font-weight:600}.food-search-close{flex-shrink:0;min-width:44px;min-height:44px}.add-meal-section{margin-bottom:16px}.meal-draft{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:0 2px 8px #00000026}.meal-draft.has-items{border-color:var(--border)}.meal-draft h4{margin-bottom:0;font-size:.95rem}.meal-draft-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.draft-items{flex-direction:column;gap:6px;margin-top:10px;margin-bottom:8px;display:flex}.draft-item{background:var(--bg-input);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 10px;display:flex}.draft-item-photo{object-fit:cover;border-radius:6px;flex-shrink:0;width:36px;height:36px}.draft-item-photo-placeholder{background:var(--bg-hover);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.draft-item-info{flex:1;min-width:0}.draft-item-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;font-size:.85rem;font-weight:500;display:flex;overflow:hidden}.draft-item-controls{align-items:center;gap:6px;margin-top:4px;display:flex}.draft-item-quantity{align-items:center;gap:3px;display:flex}.unit-select{background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;direction:rtl;border-radius:4px;outline:none;padding:2px 4px;font-family:inherit;font-size:.75rem}.unit-select:focus{border-color:var(--accent)}.grams-input{background:var(--bg-card);border:1px solid var(--border);width:50px;color:var(--text);text-align:center;border-radius:4px;outline:none;padding:2px 6px;font-family:inherit;font-size:.8rem}.grams-input:focus{border-color:var(--accent)}.grams-label{color:var(--text-secondary);font-size:.75rem}.draft-item-nutrients{flex-shrink:0;align-items:center;gap:6px;display:flex}.draft-item-nutrients .cal{color:var(--accent);white-space:nowrap;font-size:.78rem;font-weight:600}.draft-totals{background:var(--bg-input);border-radius:var(--radius-sm);justify-content:space-around;padding:8px;font-size:.8rem;font-weight:600;display:flex}.save-meal-btn{justify-content:center;width:100%;margin-top:8px}.ai-food-input{border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-card,transparent);flex-direction:column;gap:8px;margin:12px 0 4px;padding:10px;display:flex}.ai-food-input-header{color:var(--text-muted,var(--text));align-items:center;gap:6px;font-size:.85rem;display:flex}.ai-food-textarea{resize:vertical;background:var(--bg-input);width:100%;min-height:42px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;padding:8px 10px;font-family:inherit;font-size:.9rem}.ai-food-textarea:focus{border-color:var(--accent)}.ai-food-btn{align-self:flex-end;align-items:center;gap:6px;display:inline-flex}.ai-food-btn .spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-food-error{color:#d33;align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.ai-food-warning{color:#b57900;border-radius:var(--radius-sm);background:#f94d4d0f;align-items:center;gap:6px;padding:4px 6px;font-size:.8rem;display:inline-flex}.ai-food-generated{color:var(--accent);border-radius:var(--radius-sm);background:#3498db14;align-items:flex-start;gap:6px;padding:4px 6px;font-size:.8rem;line-height:1.4;display:inline-flex}.ai-food-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ai-food-undo{align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.ai-food-preview{flex-direction:column;gap:8px;display:flex}.ai-food-preview-header{color:var(--text-muted,var(--text));align-items:center;gap:6px;font-size:.85rem;display:flex}.ai-food-preview-header .icon-btn{margin-inline-start:auto}.ai-food-items{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ai-food-items li{background:var(--bg-input);border-radius:var(--radius-sm);justify-content:space-between;gap:8px;padding:6px 8px;font-size:.85rem;display:flex}.ai-food-items li.unmatched{opacity:.6}.ai-food-item-meta{color:var(--text-muted,var(--text));font-size:.8rem}.ai-food-notes{color:var(--text-muted,var(--text));font-size:.75rem}.ai-food-empty{color:var(--text-muted,var(--text));text-align:center;padding:8px;font-size:.85rem}.ai-food-actions{justify-content:flex-end;gap:8px;display:flex}.meal-add-search{border-bottom:1px solid var(--border);padding:8px 12px;position:relative}.food-search-compact .food-search-input{padding:6px 10px;font-size:.85rem}.home-panels{flex-direction:column;gap:16px;display:flex}@media (width>=768px){.home-panels{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.home-panel-right{position:sticky;top:70px}}@media (width>=1024px){.home-panels{grid-template-columns:1fr 420px}}.panel-header{align-items:center;gap:8px;display:flex}.panel-toggle{border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;flex:auto;align-items:center;gap:8px;padding:4px 6px;line-height:normal;display:flex}.panel-toggle:hover{background:var(--bg-hover)}.panel-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel-heading{min-width:0;font:inherit;flex:auto;margin:0;display:flex}.panel-toggle-label{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.panel-chevron{color:var(--text-secondary);flex:none;transition:transform .2s}.panel-toggle[aria-expanded=true] .panel-chevron{transform:rotate(180deg)}.panel-summary{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:6px;margin-inline-start:auto;font-size:.85rem;display:inline-flex;overflow:hidden}.water-summary .water-glasses{margin:0}.meal-draft .panel-header{margin-bottom:10px}.water-tracker.is-collapsed .water-header,.meal-draft.is-collapsed .panel-header{margin-bottom:0}.collapsible-body{grid-template-rows:1fr;transition:grid-template-rows .25s;display:grid}.collapsible-body[inert]{grid-template-rows:0fr}.collapsible-body-inner{min-height:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.collapsible-body,.panel-chevron{transition:none}}.icon-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.icon-btn.recording{color:var(--red);animation:1s infinite pulse}.icon-btn.small{padding:4px}.icon-btn.tiny{padding:2px}.icon-btn.danger:hover{color:var(--red)}.submit-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:4px;margin-right:auto;padding:8px 16px;transition:all .2s;display:flex}.submit-btn:hover:not(:disabled){background:var(--accent-hover)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-input);color:var(--text-secondary)}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px}.empty-state p:first-child{margin-bottom:4px;font-size:1rem}.meal-list{flex-direction:column;gap:12px;display:flex}.meal-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.meal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.meal-header-title{align-items:center;gap:6px;min-width:0;display:flex}.meal-header h3{font-size:.9rem}.meal-name-display{cursor:pointer;align-items:center;gap:6px;display:flex}.meal-name-display h3{font-size:.9rem}.meal-name-edit-icon{color:var(--text-secondary);opacity:0;transition:opacity .2s}.meal-name-display:hover .meal-name-edit-icon{opacity:1}.meal-name-edit input{background:var(--bg-input);border:1px solid var(--accent);color:var(--text);border-radius:4px;outline:none;width:140px;padding:4px 8px;font-family:inherit;font-size:.85rem}.meal-header-actions{align-items:center;gap:8px;display:flex}.meal-time{color:var(--text-secondary);font-size:.75rem}.meal-items{padding:0}.meal-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 16px;display:flex}.meal-item:last-child{border-bottom:none}.meal-item-photo{object-fit:cover;border-radius:6px;flex-shrink:0;width:32px;height:32px}.meal-item-photo-placeholder{background:var(--bg-input);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;display:flex}.meal-item-info{flex:1;min-width:0}.meal-item-name{font-size:.85rem;font-weight:500;display:block}.meal-item-brand{color:var(--text-secondary);font-size:.75rem;display:block}.meal-item-amount{color:var(--text-secondary);font-size:.75rem}.meal-item-amount.editable{cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:1px 4px;display:inline-flex}.meal-item-amount.editable:hover{background:var(--bg-hover)}.meal-item-amount .edit-hint{opacity:.3}.meal-item-amount.editable:hover .edit-hint{opacity:.7}.serving-picker,.item-editor{margin-top:4px}.serving-picker-name{margin-bottom:6px;font-size:.8rem;font-weight:600}.serving-picker-controls{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.serving-picker-footer{justify-content:space-between;align-items:center;margin-top:6px;font-size:.8rem;display:flex}.serving-picker-actions{align-items:center;gap:4px;display:flex}.meal-item-nutrients{flex-shrink:0;align-items:center;gap:8px;display:flex}.meal-item-nutrients .cal{color:var(--accent);white-space:nowrap;font-size:.78rem;font-weight:600}.meal-totals{background:var(--bg-input);justify-content:space-around;padding:8px 16px;font-size:.8rem;font-weight:600;display:flex}.settings-page{max-width:500px}.settings-page h2{margin-bottom:16px;font-size:1.3rem}.settings-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:16px;padding:20px}.settings-card h3{align-items:center;gap:8px;margin-bottom:12px;font-size:1rem;display:flex}.settings-desc{color:var(--text-secondary);margin-bottom:12px;font-size:.85rem;line-height:1.6}.settings-desc a{color:var(--accent)}.ai-status{margin-bottom:12px}.status-ok{color:var(--green);align-items:center;gap:6px;font-size:.85rem;display:flex}.status-err{color:var(--orange);align-items:center;gap:6px;font-size:.85rem;display:flex}.current-key{color:var(--text-secondary);margin-bottom:12px;font-size:.8rem}.current-key code{background:var(--bg-input);direction:ltr;border-radius:4px;padding:2px 6px;display:inline-block}.key-input-row{gap:8px;display:flex}.key-input-row input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);outline:none;flex:1;padding:10px 12px;font-size:.9rem}.key-input-row input:focus{border-color:var(--accent)}.settings-message{border-radius:var(--radius-sm);margin-top:8px;padding:8px 12px;font-size:.85rem}.settings-message.success{color:var(--green);background:#4caf5026}.settings-message.error{color:var(--red);background:#f4433626}.admin-ai-settings{padding:16px 0}.ai-key-status{border-radius:var(--radius-sm);align-items:center;gap:8px;margin:12px 0 16px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.ai-key-status .ai-key-ok,.ai-key-status .ai-key-missing,.ai-key-status .ai-key-loading{align-items:center;gap:6px;display:inline-flex}.ai-key-status .ai-key-ok{color:var(--success,#16a34a)}.ai-key-status .ai-key-missing{color:var(--danger,#dc2626)}.ai-key-status .ai-key-loading{color:var(--muted)}.ai-key-form{flex-direction:column;gap:8px;display:flex}.ai-key-form label{font-size:14px;font-weight:500}.ai-key-input-row{align-items:stretch;gap:8px;display:flex}.ai-key-input-row input{border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;min-width:0;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.ai-key-input-row input:disabled{background:var(--surface-muted,#f5f5f5);cursor:not-allowed}.ai-key-actions{justify-content:flex-end;margin-top:4px;display:flex}.ai-provider-picker{flex-direction:column;gap:8px;margin-top:12px;display:flex}.ai-provider-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:background .15s,border-color .15s;display:flex}.ai-provider-option:hover{background:var(--surface-muted,#f5f5f5)}.ai-provider-option.active{background:var(--primary-tint,#eef2ff);border-color:var(--primary,#4f46e5);font-weight:500}.ai-provider-option input{margin:0}.admin-ai-settings .form-field{margin-top:12px}.admin-ai-settings .form-field label{margin-bottom:4px;font-size:14px;font-weight:500;display:block}.admin-ai-settings .form-field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface,#fff);width:100%;padding:8px 12px;font-size:14px}.admin-ai-settings code{background:var(--surface-muted,#f5f5f5);border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.source-fieldset{border:1px solid var(--border);border-radius:var(--radius-sm);min-inline-size:0;margin:0 0 12px;padding:4px 12px 8px}.source-fieldset legend{color:var(--text-secondary);padding:0 6px;font-size:.8rem}.source-option{min-height:var(--touch-min);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);align-items:center;gap:10px;padding:4px 6px;font-size:.95rem;display:flex}.source-option:hover{background:var(--bg-hover)}.source-option input{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.source-option.checked .source-option-label{font-weight:600}.source-warning{color:var(--orange);margin:0 0 12px;font-size:.85rem}.source-actions{flex-wrap:wrap;gap:8px;display:flex}.source-actions .btn:disabled{opacity:.5;cursor:not-allowed}.source-loaderror{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.source-option input:focus-visible,.filter-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.source-actions .btn:focus-visible,.source-loaderror .btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.error-toast{border:1px solid var(--red);color:var(--red);border-radius:var(--radius-sm);cursor:pointer;background:#f4433626;margin-bottom:12px;padding:10px 16px;font-size:.85rem}.toast{z-index:200;border-radius:20px;padding:10px 24px;font-size:.9rem;font-weight:600;animation:.3s slideUp;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast-success{background:var(--green);color:#0f0f14}.toast-error{background:var(--red);color:#0f0f14}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.spin{animation:1s linear infinite spin}.products-page h2{align-items:center;gap:8px;margin-bottom:4px;font-size:1.3rem;display:flex}.products-count{color:var(--text-secondary);margin-bottom:12px;font-size:.85rem}.products-search{margin-bottom:16px;position:relative}.products-search .search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.products-search input{background:var(--bg-card);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--radius);direction:rtl;outline:none;padding:12px 40px 12px 12px;font-family:inherit;font-size:.95rem}.products-search input:focus{border-color:var(--accent)}.products-grid{flex-direction:column;gap:4px;display:flex}.product-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);gap:10px;padding:8px 10px;transition:all .2s;display:flex}.product-card:hover{border-color:var(--accent);background:var(--bg-hover)}.product-image{border-radius:var(--radius-sm);background:var(--bg-input);flex-shrink:0;width:44px;height:44px;overflow:hidden}.product-image img{object-fit:cover;width:100%;height:100%}.product-image-placeholder{width:100%;height:100%;color:var(--text-secondary);opacity:.4;justify-content:center;align-items:center;display:flex}.product-info{flex:1;min-width:0}.product-name-row{align-items:center;gap:6px;margin-bottom:2px;display:flex}.product-name{font-size:.9rem;font-weight:600}.source-tag{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:10px;flex-shrink:0;padding:1px 8px;font-size:.65rem;font-weight:600}.source-db1{background:var(--accent);color:#fff}.source-db2{color:#fff;background:#e67e22}.type-food{color:#fff;background:#2ecc71}.type-recipe{color:#fff;background:#9b59b6}.type-generated{color:#fff;background:#d68910}.filter-tabs{-ms-overflow-style:none;scrollbar-width:none;gap:6px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:20px;padding:6px 14px;font-family:inherit;font-size:.8rem;transition:all .2s}.filter-tab:hover{border-color:var(--accent);color:var(--text)}.filter-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-chip{background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:20px;padding:6px 14px;font-family:inherit;font-size:.8rem;transition:all .2s}.filter-chip:hover{border-color:var(--accent);color:var(--text)}.filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-clear{border:1px dashed var(--text-secondary);color:var(--text-secondary);background:0 0;font-size:.75rem}.filter-clear:hover{border-color:var(--red);color:var(--red)}.product-card{cursor:pointer}.modal-overlay{z-index:300;background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:500px;max-height:85vh;animation:.25s slideUp;position:relative;overflow-y:auto}.modal-close{background:var(--bg-input);color:var(--text-secondary);cursor:pointer;z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;position:absolute;top:12px;left:12px}.modal-close:hover{background:var(--red);color:#fff}.modal-image{background:var(--bg-input);border-radius:var(--radius) var(--radius) 0 0;justify-content:center;align-items:center;width:100%;height:200px;display:flex;overflow:hidden}.modal-image img{object-fit:cover;width:100%;height:100%}.modal-image-placeholder{color:var(--text-secondary);opacity:.3}.modal-header{padding:16px 20px 8px}.modal-header h2{margin-bottom:8px;font-size:1.2rem;line-height:1.4}.modal-tags{gap:6px;margin-bottom:6px;display:flex}.modal-brand{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem}.modal-categories{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.cat-tag{background:var(--bg-input);color:var(--text-secondary);border-radius:10px;padding:2px 8px;font-size:.7rem}.modal-section{border-top:1px solid var(--border);padding:12px 20px}.modal-section h3{color:var(--text-secondary);margin-bottom:10px;font-size:.9rem}.nutrition-table{flex-direction:column;gap:0;display:flex}.nt-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 12px;font-size:.9rem;display:flex}.nt-row:last-child{border-bottom:none}.nt-row span:last-child{font-weight:600}.nt-cal{background:var(--bg-input);border-radius:var(--radius-sm);margin-bottom:4px;font-size:1rem;font-weight:700}.nt-cal span:first-child{color:var(--accent)}.serving-list{flex-direction:column;gap:6px;display:flex}.serving-row{background:var(--bg-input);border-radius:var(--radius-sm);padding:8px 12px}.serving-name{justify-content:space-between;margin-bottom:4px;font-size:.85rem;display:flex}.serving-grams{color:var(--text-secondary);font-size:.8rem}.serving-macros{gap:10px;font-size:.75rem;display:flex}.scal{color:var(--accent);font-weight:700}.sp{color:var(--green)}.sc{color:var(--orange)}.sf{color:var(--red)}.modal-link{color:var(--accent);border-top:1px solid var(--border);justify-content:center;align-items:center;gap:6px;padding:12px;font-size:.85rem;text-decoration:none;transition:background .2s;display:flex}.modal-link:hover{background:var(--bg-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.product-brand{color:var(--text-secondary);margin-bottom:4px;font-size:.8rem}.product-nutrients{flex-wrap:wrap;gap:8px;font-size:.75rem;display:flex}.product-cal{color:var(--accent);font-weight:700}.product-macro.protein{color:var(--green)}.product-macro.carbs{color:var(--orange)}.product-macro.fat{color:var(--red)}.product-servings{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.serving-tag{background:var(--bg-input);color:var(--text-secondary);border-radius:4px;padding:1px 6px;font-size:.7rem}.products-loading,.products-end{text-align:center;color:var(--text-secondary);padding:16px;font-size:.9rem}.login-page{background:var(--bg);direction:rtl;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:400px;padding:32px 24px}.login-header{text-align:center;margin-bottom:24px}.login-header h1{color:var(--accent);font-size:2rem;font-style:italic}.login-logo-icon{width:auto;height:48px;margin-bottom:8px}.login-header p{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.login-tabs{background:var(--bg-input);border-radius:var(--radius-sm);gap:4px;margin-bottom:20px;padding:4px;display:flex}.tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px;font-family:inherit;font-size:.85rem;transition:all .2s;display:flex}.tab.active{background:var(--accent);color:#fff}.form-field{margin-bottom:12px}.form-field label{color:var(--text-secondary);margin-bottom:4px;font-size:.8rem;display:block}.form-field input,.form-field select{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--radius-sm);outline:none;padding:10px 12px;font-family:inherit;font-size:.9rem}.form-field input:focus,.form-field select:focus{border-color:var(--accent)}.form-field select{appearance:none;cursor:pointer}.form-error{color:var(--red);border-radius:var(--radius-sm);background:#f4433626;margin-bottom:12px;padding:8px 12px;font-size:.85rem}.login-btn{justify-content:center;width:100%;padding:12px;font-size:1rem}.btn-google{color:#333;border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #ddd;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:16px;padding:10px;font-family:inherit;font-size:.9rem;transition:all .2s;display:flex}.btn-google:hover{background:#f5f5f5;border-color:#ccc}.login-divider{color:var(--text-secondary);align-items:center;gap:12px;margin-bottom:16px;font-size:.8rem;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.loading-screen p{color:var(--text-secondary)}.loading{text-align:center;color:var(--text-secondary);padding:40px}.nav-logout{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;padding:6px 8px;transition:all .2s;display:flex}.nav-logout:hover{color:var(--red);background:#f4433626}.profile-page h2{margin-bottom:16px;font-size:1.3rem}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.goal-selector{gap:6px;margin-bottom:16px;display:flex}.goal-btn{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px;font-family:inherit;font-size:.8rem;transition:all .2s;display:flex}.goal-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.weight-input-row{gap:8px;margin-bottom:12px;display:flex}.weight-input-row input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);outline:none;flex:1;padding:10px 12px;font-size:.9rem}.weight-input-row input:focus{border-color:var(--accent)}.weight-history{flex-direction:column;gap:4px;display:flex}.weight-entry{background:var(--bg-input);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:6px 10px;font-size:.85rem;display:flex}.weight-date{color:var(--text-secondary)}.weight-value{flex:1;font-weight:600}.weight-actions{gap:4px;display:flex}.btn-icon{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.btn-icon:hover{background:var(--bg-hover)}.btn-icon.btn-danger:hover{color:#e53e3e}.btn-icon.btn-confirm{color:#38a169}.btn-icon.btn-cancel{color:#e53e3e}.weight-edit-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);width:110px;padding:4px 8px;font-size:.85rem}.weight-page h2{align-items:center;gap:8px;margin-bottom:16px;display:flex}.weight-page .settings-card h3{justify-content:space-between}.weight-trend{color:var(--text-secondary);align-items:center;gap:4px;font-size:.85rem;font-weight:600;display:inline-flex}.weight-trend.down{color:var(--green)}.weight-trend.up{color:var(--orange)}.weight-chart{width:100%;height:auto;display:block}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-axis-label{fill:var(--text-secondary);font-size:11px}.chart-area{fill:var(--accent-light);stroke:none}.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--accent);stroke:var(--bg-card);stroke-width:2px}.cal-target{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem}.cal-bar-bg{background:var(--bg-input);border-radius:4px;height:8px;margin-bottom:4px;overflow:hidden}.cal-bar-fill{background:linear-gradient(90deg, var(--accent), #ff7b7b);border-radius:4px;height:100%;transition:width .5s}.setup-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.setup-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;padding:32px 24px}.setup-header{text-align:center;margin-bottom:24px}.setup-header h1{color:var(--accent);margin-top:8px;font-size:1.4rem;font-style:italic}.setup-header p{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.setup-steps{justify-content:center;gap:24px;margin-bottom:28px;display:flex;position:relative}.setup-step{color:var(--text-secondary);opacity:.5;flex-direction:column;align-items:center;gap:6px;font-size:.75rem;transition:all .3s;display:flex}.setup-step.active{opacity:1;color:var(--accent)}.setup-step.done{opacity:1;color:var(--green)}.step-dot{background:var(--bg-input);border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .3s;display:flex}.setup-step.active .step-dot{border-color:var(--accent);background:var(--accent-light)}.setup-step.done .step-dot{border-color:var(--green);background:#4caf5026}.setup-step-content{min-height:180px}.setup-hint{color:var(--text-secondary);text-align:center;margin-bottom:16px;font-size:.85rem}.setup-nav{align-items:center;gap:8px;margin-top:20px;display:flex}.setup-nav-spacer{flex:1}.btn-secondary{background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:4px;padding:8px 16px;font-family:inherit;font-size:.9rem;transition:all .2s;display:flex}.btn-secondary:hover{background:var(--bg-hover);color:var(--text)}.admin-page{max-width:100%}.admin-page h2{margin-bottom:16px;font-size:1.3rem}.admin-tabs{gap:8px;margin-bottom:20px;display:flex}.admin-tab{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:.85rem;transition:all .2s;display:flex}.admin-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-section{margin-bottom:24px}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-section-header h3{align-items:center;gap:8px;font-size:1rem;display:flex}.admin-search{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;display:flex}.admin-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9rem}.admin-search svg{color:var(--text-secondary);flex-shrink:0}.admin-table{flex-direction:column;gap:2px;display:flex}.admin-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.admin-row:hover{background:var(--bg-hover)}.admin-row-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.admin-row-main{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.admin-row-sub{color:var(--text-secondary);font-size:.75rem}.admin-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.admin-badge{background:var(--accent-light);color:var(--accent);border-radius:10px;padding:2px 8px;font-size:.65rem;font-weight:600}.admin-product-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:32px;height:32px}.admin-product-row{margin-bottom:2px}.admin-create-form,.admin-edit-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:8px;margin-bottom:12px;padding:14px;display:flex}.admin-create-form input,.admin-edit-form input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:6px;outline:none;padding:8px 10px;font-family:inherit;font-size:.85rem}.admin-create-form input:focus,.admin-edit-form input:focus{border-color:var(--accent)}.admin-edit-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-edit-grid label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.admin-form-actions{gap:8px;margin-top:4px;display:flex}.admin-servings{margin-top:8px}.admin-servings h4{color:var(--text-secondary);margin-bottom:6px;font-size:.8rem}.admin-serving-row{background:var(--bg-input);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:4px 8px;font-size:.8rem;display:flex}.admin-serving-add{align-items:center;gap:6px;margin-top:6px;display:flex}.admin-serving-add input{padding:4px 8px!important;font-size:.8rem!important}.admin-loading{text-align:center;color:var(--text-secondary);padding:20px;font-size:.85rem}.btn-small{padding:6px 12px!important;font-size:.8rem!important}.admin-filters{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.admin-card-actions{z-index:5;gap:4px;display:flex;position:absolute;top:6px;left:6px}.product-card{position:relative}.admin-page .products-grid{max-width:100%}.admin-product-wrapper{display:contents}.admin-product-wrapper.editing{flex-direction:column;grid-column:1/-1;display:flex}.admin-product-wrapper.editing .product-card{max-width:none}.admin-product-wrapper.editing .admin-edit-form{margin-top:8px}.menus-page{max-width:1200px;margin:0 auto;padding:20px}.menus-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.menus-header h2{margin:0;font-size:1.5rem}.menus-loading{text-align:center;color:#888;padding:40px}.menus-empty-state{text-align:center;color:#888;padding:60px 20px}.menus-empty-state .menus-empty-icon{margin-bottom:16px;font-size:4rem}.menus-empty-state h3{color:#ccc;margin:0 0 8px;font-size:1.3rem}.menus-empty-state p{margin:0 0 20px}.menus-list{flex-direction:column;gap:2px;display:flex}.menu-list-item{cursor:pointer;background:#1e1e1e;border:1px solid #0000;border-radius:8px;align-items:center;gap:16px;padding:14px 18px;transition:background .15s;display:flex}.menu-list-item:hover{background:#252525;border-color:#4caf50}.menu-list-name{min-width:150px;font-size:1rem;font-weight:600}.menu-list-stats{color:#aaa;flex:1;gap:16px;font-size:.85rem;display:flex}.menu-list-cal{color:#4caf50;font-weight:600}.menu-detail{max-width:1200px;margin:0 auto;padding:20px}.menu-detail-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.menu-detail-header .btn-text{color:#aaa;align-items:center;gap:4px;margin-bottom:12px;font-size:.9rem;display:inline-flex}.menu-detail-header .btn-text:hover{color:#fff}.menu-detail-header .menu-detail-title{flex:auto}.menu-detail-header .btn-pdf-export{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s,transform 50ms;display:inline-flex}.menu-detail-header .btn-import-date{color:#4caf50;cursor:pointer;background:0 0;border:1px solid #4caf50;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.menu-detail-header .btn-import-date:hover:not(:disabled){color:#fff;background:#4caf50}.menu-detail-header .btn-import-date:disabled{opacity:.5;cursor:not-allowed}.menu-detail-header .btn-pdf-export:hover:not(:disabled){background:var(--accent);color:#fff}.menu-detail-header .btn-pdf-export:active:not(:disabled){transform:translateY(1px)}.menu-detail-header .btn-pdf-export:disabled{opacity:.6;cursor:not-allowed}.menu-detail-title h2{cursor:pointer;align-items:center;gap:8px;margin:0;font-size:1.5rem;display:inline-flex}.menu-detail-title .edit-hint{opacity:.3;transition:opacity .15s}.menu-detail-title h2:hover .edit-hint{opacity:.7}.menu-name-input{color:#fff;background:#2a2a2a;border:1px solid #4caf50;border-radius:8px;width:300px;padding:4px 12px;font-size:1.5rem;font-weight:700}.menu-detail-panels{grid-template-columns:1fr 380px;align-items:start;gap:20px;display:grid}.menu-sidebar{flex-direction:column;gap:16px;display:flex;position:sticky;top:80px}.menu-targets-toggle{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:4px;display:flex}.autosave-indicator{color:#888;min-height:1em;font-size:.75rem;transition:color .25s}.autosave-indicator.flash{color:#4caf50;font-weight:600}.autosave-hint{color:#888;margin-inline-end:4px;font-size:.7rem}.meal-draft-hint{color:#888;text-align:center;margin:6px 0 0;font-size:.72rem}.menu-edit-targets-btn{color:#888;align-items:center;gap:4px;font-size:.8rem;display:inline-flex}.menu-edit-targets-btn:hover{color:#4caf50}.menu-targets-form{background:#1a1a1a;border-radius:8px;flex-direction:column;gap:8px;margin-top:8px;padding:12px;display:flex}.menu-target-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.menu-target-row label{color:#aaa;min-width:80px;font-size:.85rem}.menu-target-row input{color:#fff;text-align:center;background:#2a2a2a;border:1px solid #333;border-radius:6px;width:100px;padding:4px 8px;font-size:.9rem}.menu-target-row input:focus{border-color:#4caf50;outline:none}.btn-sm{padding:6px 16px;font-size:.85rem}.menu-meal-card{background:#1e1e1e;border:1px solid #2a2a2a;border-radius:12px;margin-bottom:12px}.menu-meal-header{cursor:pointer;background:#252525;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.menu-meal-header:hover{background:#2a2a2a}.menu-meal-title{align-items:center;gap:12px;font-weight:600;display:flex}.menu-meal-title .meal-name-input{color:#fff;background:#1e1e1e;border:1px solid #4caf50;border-radius:6px;width:150px;padding:2px 8px;font-size:.95rem;font-weight:600}.meal-name-edit{align-items:center;gap:4px;display:inline-flex}.meal-name-edit .meal-name-save{color:#4caf50}.meal-name-edit .meal-name-save:hover{color:#fff;background:#4caf50}.menu-meal-cal{color:#4caf50;font-size:.85rem;font-weight:400}.menu-meal-actions{align-items:center;gap:4px;display:flex}.menu-meal-body{padding:8px 16px 12px}.menu-meal-item{border-bottom:1px solid #2a2a2a;align-items:center;gap:10px;padding:8px 0;display:flex}.menu-meal-item:last-of-type{border-bottom:none}.menu-meal-item-photo{background:#2a2a2a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;display:flex;overflow:hidden}.menu-meal-item-photo img{object-fit:cover;width:100%;height:100%}.menu-meal-item-info{flex:1;min-width:0}.menu-meal-item-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;display:block;overflow:hidden}.menu-meal-item-amount{color:#888;font-size:.75rem}.menu-meal-item-amount.editable{cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:1px 4px;display:inline-flex}.menu-meal-item-amount.editable:hover{background:var(--bg-hover,#2a2a2a)}.menu-meal-item-amount .edit-hint{opacity:.3}.menu-meal-item-amount.editable:hover .edit-hint{opacity:.7}.menu-meal-item-nutrients{color:#aaa;flex-shrink:0;gap:8px;font-size:.75rem;display:flex}.menu-meal-item-nutrients span:first-child{color:#4caf50;font-weight:600}.menu-meal-totals{color:#aaa;border-top:1px solid #2a2a2a;gap:12px;margin-top:4px;padding-top:8px;font-size:.8rem;display:flex}.menu-meal-totals span:first-child{color:#4caf50;font-weight:600}.menu-add-item-btn{color:#4caf50;align-items:center;gap:4px;padding:6px 0;font-size:.85rem;display:flex}.menu-meal-footer-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.menu-extras-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.menu-extras-btn:hover:not(:disabled){background:#f94d4d1f}.menu-extras-btn.active{background:var(--accent);color:#fff}.menu-extras-btn.active:hover{background:#f94d4dd9}.menu-extras-btn:disabled{opacity:.4;cursor:not-allowed}.menu-meal-item-extras{border-right:3px solid var(--accent);background:#f94d4d12}.menu-meal-item-extras .menu-meal-item-photo span{font-size:1.2rem}.menu-meal-item-extras .menu-meal-item-name{color:#ccc;font-style:italic}.menu-meal-add-search{padding:8px 0}.extras-picker{border:1px solid var(--accent);background:#f94d4d0f;border-radius:8px;margin-top:8px;padding:12px}.extras-picker-header{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.extras-picker-header strong{color:#fff;font-size:.9rem}.extras-picker-hint{color:#888;font-size:.75rem}.extras-picker-items{flex-direction:column;gap:4px;max-height:220px;margin-bottom:10px;display:flex;overflow-y:auto}.extras-picker-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;transition:background .1s;display:flex}.extras-picker-row:hover{background:#ffffff0a}.extras-picker-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.extras-picker-name{color:#ddd;flex:1;font-size:.9rem}.extras-picker-cal{color:#888;font-size:.8rem}.extras-picker-actions{justify-content:flex-start;gap:8px;display:flex}.meal-header{flex-wrap:wrap;gap:8px}.meal-header-actions{flex-wrap:wrap}.day-extras-btn{border:1px solid var(--accent);min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:4px;padding:4px 12px;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.day-extras-btn:hover:not(:disabled){background:#f94d4d1f}.day-extras-btn.active{background:var(--accent);color:#fff}.day-extras-btn.active:hover{background:#f94d4dd9}.day-extras-btn:disabled{opacity:.4;cursor:not-allowed}.day-extras-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.drag-handle{min-width:24px;min-height:24px;color:var(--text-secondary);opacity:.45;cursor:grab;touch-action:none;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.drag-handle:hover,.sortable-row:hover .drag-handle{opacity:1;color:var(--accent)}.drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;opacity:1}.drag-handle:active{cursor:grabbing}.meal-drag-handle{min-width:28px;min-height:28px;margin-inline-end:2px}.sortable-row.is-dragging{opacity:.35;z-index:2;position:relative}.meal-item.sortable-row,.menu-meal-item.sortable-row{cursor:grab}.meal-item.sortable-row:active,.menu-meal-item.sortable-row:active{cursor:grabbing}.meal-item-extras{border-inline-start:3px solid var(--accent);background:#f94d4d12}.meal-item-extras .meal-item-photo-placeholder{font-size:1.1rem}.meal-item-extras .meal-item-name{color:var(--text-secondary);font-style:italic}.meal-card .extras-picker-row{min-height:44px}.menu-meal-add-search .btn-text{color:#888;margin-top:4px;font-size:.8rem}.btn-text{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none;padding:4px 8px}.btn-text:hover{color:#fff}@media (width<=768px){body,.app{max-width:100vw;overflow-x:hidden}.app-header{justify-content:center;padding:10px 16px}.app-nav{z-index:200;background:var(--bg-card);border-top:1px solid var(--border);padding:4px 0;padding-bottom:env(safe-area-inset-bottom,4px);border-bottom:none;justify-content:space-around;align-items:stretch;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.app-nav a{text-align:center;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;padding:6px 4px;font-size:.65rem}.app-nav a.active{background:var(--accent-light);color:var(--accent)}.nav-logout{border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-size:.65rem}.app-main{padding-bottom:70px}.menu-detail-panels{grid-template-columns:1fr}.menu-sidebar{order:-1;position:static}.menus-list .menu-list-item{flex-wrap:wrap}.menu-detail-summary{justify-content:space-around}.home-panel-right{order:-1}.menus-page,.menu-detail,.home-page{max-width:100vw;padding:12px;overflow-x:hidden}.menu-name-input{width:100%;max-width:100%}.menu-list-stats{flex-wrap:wrap;gap:8px}.menu-meal-item-nutrients{flex-wrap:wrap;gap:4px}}.modal-backdrop{z-index:100;background:#0009;justify-content:center;align-items:center;padding:16px;animation:.15s modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.import-date-modal{background:var(--bg-card,#14161f);border:1px solid var(--border);color:#fff;border-radius:12px;width:100%;max-width:400px;padding:20px 22px;box-shadow:0 20px 60px #00000080}.import-date-modal h3{color:#fff;margin:0 0 8px;font-size:1.1rem}.import-date-modal p{color:#bbb;margin:0 0 16px;font-size:.85rem}.import-date-field{flex-direction:column;gap:4px;margin-bottom:18px;display:flex}.import-date-field span{color:#aaa;font-size:.8rem}.import-date-field input[type=date]{border:1px solid var(--border);color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#1e1e1e;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:1rem}.import-date-field input[type=date]:focus{border-color:#4caf50;outline:none}.import-date-actions{justify-content:flex-start;gap:8px;display:flex}.day-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.day-action-btn{border-radius:var(--radius-sm);border:1px solid var(--border);min-height:44px;color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.9rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.day-action-btn:disabled{opacity:.55;cursor:not-allowed}.day-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.day-action-btn.add-menu{border-color:var(--green);color:var(--green)}.day-action-btn.add-menu:hover:not(:disabled){background:var(--green);color:#fff}.day-action-btn.export-pdf{border-color:var(--accent);color:var(--accent)}.day-action-btn.export-pdf:hover:not(:disabled){background:var(--accent);color:#fff}@media (width<=768px){.day-actions .day-action-btn{flex:140px;justify-content:center}}.menu-picker-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:480px;max-height:80vh;color:var(--text);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 20px 60px #00000080}.menu-picker-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 6px;display:flex}.menu-picker-header h3{margin:0;font-size:1.1rem}.menu-picker-subtitle{color:var(--text-secondary);padding:0 20px 12px;font-size:.82rem}.menu-picker-close{min-width:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.menu-picker-close:hover{color:var(--text)}.menu-picker-close:disabled{opacity:.55;cursor:not-allowed}.menu-picker-body{flex:1;padding:0 20px;overflow-y:auto}.menu-picker-list{flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.menu-picker-row{text-align:start;background:var(--bg-input);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text);cursor:pointer;border:1px solid #0000;flex-direction:column;gap:6px;padding:12px 14px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.menu-picker-row:hover,.menu-picker-row:focus-visible{background:var(--bg-hover);border-color:var(--green)}.menu-picker-row-name{font-size:.95rem;font-weight:600}.menu-picker-row-stats{color:var(--text-secondary);flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}.menu-picker-row-stats .cal{color:var(--green);font-weight:600}.menu-picker-back{min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:8px 0;font-family:inherit;font-size:.85rem;display:inline-flex}.menu-picker-back:hover{color:var(--text)}.menu-picker-back:disabled{opacity:.55;cursor:not-allowed}.menu-picker-selectall{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;min-height:44px;margin-bottom:4px;padding:8px 4px;font-size:.88rem;font-weight:600;display:flex}.menu-picker-meals{flex-direction:column;gap:2px;padding-bottom:8px;display:flex}.menu-picker-meal{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:8px 4px;display:flex}.menu-picker-meal:hover{background:var(--bg-hover)}.menu-picker-meal-name{flex:1;font-size:.9rem}.menu-picker-meal-meta{color:var(--text-secondary);white-space:nowrap;font-size:.8rem}.menu-picker-selectall input[type=checkbox],.menu-picker-meal input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:18px;height:18px}.menu-picker-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:10px;padding:32px 16px;font-size:.9rem;display:flex}.menu-picker-footer{border-top:1px solid var(--border);justify-content:flex-start;gap:8px;padding:12px 20px 18px;display:flex}.export-range-modal{background:var(--bg-card,#14161f);border:1px solid var(--border);width:100%;max-width:480px;color:var(--text);border-radius:12px;flex-direction:column;gap:8px;padding:18px 20px 14px;display:flex;box-shadow:0 20px 60px #00000080}.export-range-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.export-range-header h3{color:var(--text);margin:0;font-size:1.1rem}.export-range-body{flex-direction:column;gap:14px;padding:4px 0 6px;display:flex}.export-range-presets{flex-wrap:wrap;gap:6px;display:flex}.export-range-chip{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:.82rem;transition:background .15s,color .15s,border-color .15s}.export-range-chip:hover:not(:disabled),.export-range-chip:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.export-range-chip:disabled{opacity:.55;cursor:not-allowed}.export-range-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.export-range-fields .import-date-field{margin-bottom:0}.export-range-hint{color:var(--text-secondary);margin:0;font-size:.82rem}.export-range-hint-error{color:var(--accent)}@media (width<=480px){.export-range-fields{grid-template-columns:1fr}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.recipes-page{max-width:1200px;margin:0 auto;padding:20px}.recipes-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.recipes-header h2{align-items:center;gap:8px;margin:0;font-size:1.5rem;display:flex}.recipes-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;padding:48px 20px;display:flex}.recipes-empty{text-align:center;color:var(--text-secondary);padding:56px 20px}.recipes-empty-icon{color:var(--text-secondary);justify-content:center;margin-bottom:12px;display:flex}.recipes-empty h3{color:var(--text);margin:0 0 8px;font-size:1.3rem}.recipes-empty p{max-width:460px;margin:0 auto 20px;line-height:1.5}.recipes-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.recipe-card{align-items:stretch;gap:8px;display:flex}.recipe-card-main{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--text);text-align:start;cursor:pointer;flex:1;align-items:center;gap:14px;padding:14px 16px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.recipe-card-main:hover{background:var(--bg-hover);border-color:var(--accent)}.recipe-card-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recipe-card-icon{border-radius:var(--radius-sm);background:var(--bg-input);width:40px;height:40px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.recipe-card-body{flex-direction:column;gap:6px;min-width:0;display:flex}.recipe-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;overflow:hidden}.recipe-card-stats{color:var(--text-secondary);flex-wrap:wrap;gap:6px 14px;font-size:.82rem;display:flex}.recipe-card-cal{color:var(--accent);font-weight:600}.recipe-card-portions{color:var(--green)}.recipe-card-delete{flex-shrink:0;min-width:44px;min-height:44px}.recipe-card-delete:focus-visible{outline:2px solid var(--red);outline-offset:2px}.recipe-editor{max-width:1200px;margin:0 auto;padding:20px}.recipe-editor-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:1000px;max-height:calc(100vh - 32px);color:var(--text);overflow-y:auto;box-shadow:0 20px 60px #00000080}.recipe-editor-dialog .recipe-editor{padding:16px 20px 24px}.recipe-editor-dialog:focus-visible,.recipe-editor-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=768px){.recipe-editor-backdrop{padding:0}.recipe-editor-dialog{border:none;border-radius:0;max-width:none;height:100dvh;max-height:100dvh}}.recipe-editor-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;padding:48px 20px;display:flex}.recipe-editor-header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.recipe-editor-title{align-items:center;gap:8px;margin:0;font-size:1.4rem;display:flex}.recipe-back{min-height:44px;color:var(--text-secondary);align-items:center;gap:4px;display:inline-flex}.recipe-back:hover{color:var(--text)}.recipe-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.recipe-editor-panels{grid-template-columns:1fr 360px;align-items:start;gap:20px;display:grid}.recipe-editor-main{flex-direction:column;gap:18px;min-width:0;display:flex}.recipe-editor-sidebar{flex-direction:column;gap:14px;min-width:0;display:flex;position:sticky;top:80px}.recipe-field{flex-direction:column;gap:6px;display:flex;position:relative}.recipe-field-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.recipe-field-label{color:var(--text);font-size:.9rem;font-weight:600}.recipe-field-hint{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.5}.recipe-field-counter{color:var(--text-secondary);align-self:flex-start;font-size:.75rem}.recipe-text-input,.recipe-textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:11px 12px;font-family:inherit;font-size:.95rem}.recipe-textarea{resize:vertical;min-height:72px}.recipe-text-input::placeholder,.recipe-textarea::placeholder{color:var(--text-secondary)}.recipe-text-input:focus-visible,.recipe-textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);outline:none}.recipe-text-input[aria-invalid=true]{border-color:var(--red)}.recipe-ingredient-search{margin-bottom:0}.recipe-ingredient-search .food-search-input{background:var(--bg-input)}.recipe-ingredient-search input:focus-visible{outline:none}.recipe-ingredient-search .food-search-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.recipe-ingredient-search .food-search-results{margin:0;padding:0;list-style:none}.recipe-ingredients{flex-direction:column;gap:8px;display:flex}.recipe-ingredients-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.recipe-ingredients-head h3{margin:0;font-size:1.05rem}.recipe-ingredients-count{color:var(--text-secondary);font-size:.8rem}.recipe-ingredients-empty{padding:4px 0}.recipe-ingredient-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.recipe-ingredient-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.recipe-ingredient-name{flex:1;min-width:120px;font-size:.9rem;font-weight:500}.recipe-ingredient-amount{align-items:center;gap:4px;display:flex}.recipe-grams-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:68px;color:var(--text);text-align:center;padding:7px 6px;font-family:inherit;font-size:.9rem}.recipe-grams-input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);outline:none}.recipe-grams-input[aria-invalid=true]{border-color:var(--red)}.recipe-grams-unit{color:var(--text-secondary);font-size:.8rem}.recipe-ingredient-cal{color:var(--accent);white-space:nowrap;text-align:start;min-width:68px;font-size:.8rem;font-weight:600}.recipe-row-warning{color:var(--red);flex-basis:100%;align-items:center;gap:4px;font-size:.78rem;display:flex}.recipe-ingredient-amount .icon-btn{min-width:32px;min-height:32px}.recipe-ingredient-amount .icon-btn:focus-visible,.recipe-ingredient-row .icon-btn.danger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.recipe-units{gap:10px}.recipe-units-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.recipe-units-head-text{flex-direction:column;gap:4px;display:flex}.recipe-unit-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.recipe-unit-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.recipe-unit-fields{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.recipe-unit-name-input{flex:1;width:auto;min-width:140px}.recipe-unit-grams{align-items:center;gap:4px;display:flex}.recipe-unit-cal{color:var(--accent);white-space:nowrap;text-align:start;min-width:68px;font-size:.8rem;font-weight:600}.recipe-unit-actions{align-items:center;gap:4px;display:flex}.recipe-unit-actions .icon-btn{min-width:44px;min-height:44px}.recipe-unit-actions .icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.recipe-unit-add{align-self:flex-start;align-items:center;gap:6px;min-height:44px;display:inline-flex}.recipe-nutrition-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.recipe-nutrition-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.recipe-nutrition-head h3{margin:0;font-size:1.05rem}.recipe-source-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:600}.recipe-source-badge.is-server{color:var(--green);border-color:var(--green);background:#4caf501f}.recipe-source-badge.is-preview{color:var(--orange);border-color:var(--orange);background:#ff98001f}.recipe-nutrition-cal{align-items:baseline;gap:8px;margin-bottom:12px;display:flex}.recipe-nutrition-num{color:var(--accent);font-size:2.2rem;font-weight:800;line-height:1}.recipe-nutrition-unit{color:var(--text-secondary);font-size:.82rem}.recipe-nutrition-macros{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px;display:grid}.recipe-nutrition-macros>div{background:var(--bg-input);border-radius:var(--radius-sm);text-align:center;padding:8px}.recipe-nutrition-macros dt{color:var(--text-secondary);margin-bottom:2px;font-size:.72rem}.recipe-nutrition-macros dd{margin:0;font-size:.95rem;font-weight:600}.recipe-nutrition-weight{color:var(--text-secondary);margin:0;font-size:.8rem}.recipe-nutrition-note{color:var(--text-secondary);margin:10px 0 0;font-size:.78rem;line-height:1.5}.recipe-save-btn{justify-content:center;width:100%;min-height:48px}.recipe-save-btn:disabled{opacity:.55;cursor:not-allowed}.recipe-save-btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.recipe-save-hint{text-align:center}.recipe-error{border:1px solid var(--red);border-radius:var(--radius-sm);color:var(--text);background:#f443361f;gap:10px;padding:12px 14px;display:flex}.recipe-error>svg{color:var(--red);flex-shrink:0;margin-top:2px}.recipe-error-body{flex-direction:column;gap:6px;font-size:.85rem;display:flex}.recipe-error-body strong{color:var(--red)}.recipe-confirm-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;color:var(--text);padding:20px 22px;box-shadow:0 20px 60px #00000080}.recipe-confirm-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.recipe-confirm-header h3{align-items:center;gap:8px;margin:0;font-size:1.1rem;display:flex}.recipe-confirm-header h3>svg{color:var(--orange)}.recipe-confirm-close{min-width:44px;min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.recipe-confirm-close:hover{color:var(--text)}.recipe-confirm-close:disabled{opacity:.55;cursor:not-allowed}.recipe-confirm-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.recipe-confirm-desc{color:var(--text-secondary);margin:0 0 18px;font-size:.9rem;line-height:1.6}.recipe-confirm-actions{justify-content:flex-start;gap:10px;display:flex}.btn.btn-danger{background:var(--red);color:var(--bg)}.btn.btn-danger:hover:not(:disabled){background:var(--red);filter:brightness(.9)}.btn.btn-danger:disabled{opacity:.6;cursor:not-allowed}.recipe-confirm-actions .btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}@media (width<=768px){.recipes-page,.recipe-editor{max-width:100vw;padding:12px;overflow-x:hidden}.recipe-editor-panels{grid-template-columns:1fr}.recipe-editor-sidebar{position:static}.recipe-field-grid{grid-template-columns:1fr}.recipe-card-main{flex-wrap:wrap}}.myfoods{margin-bottom:8px}.myfoods-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.myfoods-header h2{align-items:center;gap:8px;margin:0;display:flex}.myfoods-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-inline-start:auto;display:flex}.myfoods-tabs{background:var(--bg-input);border-radius:var(--radius-sm);gap:4px;margin-bottom:16px;padding:4px;display:flex}.myfoods-tabs .tab{min-height:var(--touch-min)}.myfoods-tabs .tab.active{background:#c13636}.dbswitch-wrap{display:inline-flex;position:relative}.dbswitch-trigger{min-width:var(--touch-min);min-height:var(--touch-min);position:relative}.dbswitch-badge{top:2px;background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;inset-inline-end:2px}.dbswitch-popover{top:100%;z-index:60;min-inline-size:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);max-height:320px;box-shadow:var(--shadow-popover);margin-top:6px;padding:10px;position:absolute;inset-inline-start:0;overflow-y:auto}.dbswitch-fieldset{border:none;margin:0;padding:0}.products-catalog-heading{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:28px;padding-top:20px;display:flex}.myfoods-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:12px;padding:28px 20px;display:flex}.myfoods-empty{text-align:center;color:var(--text-secondary);background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius);padding:32px 20px}.myfoods-empty-icon{background:var(--bg-input);width:88px;height:88px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.myfoods-empty h3{color:var(--text);margin:0 0 6px}.myfoods-empty p{max-width:42ch;margin:0 auto 18px;line-height:1.6}.myfoods-empty-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.section-divider{color:var(--text-secondary);align-items:center;gap:10px;margin:20px 0 12px;font-size:.8rem;display:flex}.section-divider:before,.section-divider:after{content:"";background:var(--border);flex:1;height:1px}.section-divider span{border:1px solid var(--border);white-space:nowrap;border-radius:20px;padding:2px 10px}.myfoods-list,.own-item-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.myfood-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:12px 14px;display:flex}.myfood-card-body{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.myfood-card-icon{border-radius:var(--radius-sm);background:var(--bg-input);width:40px;height:40px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.myfood-card-info{flex-direction:column;gap:4px;min-width:0;display:flex}.myfood-card-name-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.myfood-card-name{color:var(--text);overflow-wrap:anywhere;font-weight:600}.myfood-card-macros{color:var(--text-secondary);flex-wrap:wrap;gap:4px 10px;font-size:.8rem;display:flex}.myfood-card-cal{color:var(--accent);font-weight:600}.myfood-card-actions{flex-shrink:0}.myfood-action-btn{min-height:44px}.myfood-delete{min-width:44px;min-height:44px}.myfoods-dialog,.myfoods-confirm{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:460px;color:var(--text);max-height:calc(100vh - 32px);padding:20px 22px;overflow-y:auto;box-shadow:0 20px 60px #00000080}.myfoods-confirm{max-width:420px}.myfoods-dialog-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.myfoods-dialog-header h3{align-items:center;gap:8px;margin:0;font-size:1.05rem;display:flex}.myfoods-dialog-close{min-width:44px;min-height:44px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.myfoods-dialog-close:hover:not(:disabled){color:var(--text);background:var(--bg-hover)}.myfoods-form-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.myfoods-form .form-field input{min-height:44px}.myfoods-form-error{color:var(--red);align-items:center;gap:6px;margin:4px 0 0;font-size:.85rem;display:flex}.myfoods-dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.myfoods-confirm-desc{color:var(--text-secondary);margin:0 0 4px;line-height:1.6}.myfoods .btn,.myfoods-dialog .btn,.myfoods-confirm .btn{min-height:44px}.myfoods :focus-visible,.myfoods-dialog :focus-visible,.myfoods-confirm :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.url-import-preview{align-items:center;gap:12px;margin-bottom:14px;display:flex}.url-import-thumb{border-radius:var(--radius-sm);background:var(--bg-input);flex-shrink:0;width:72px;height:72px;overflow:hidden}.url-import-thumb img{object-fit:cover;width:100%;height:100%}.url-import-meta{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.url-import-loading{color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;padding:28px 0;display:flex}.url-import-alt{min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin:12px auto 0;font-size:.85rem;text-decoration:underline;display:block}@media (width<=480px){.myfoods-form-grid{grid-template-columns:1fr}.myfood-card{flex-wrap:wrap}.myfoods-empty-actions .btn{flex:auto;justify-content:center}}
