.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background:var(--surface);border-bottom:1px solid var(--border);padding:1rem 0;position:sticky;top:0;z-index:100}.navbar-content{display:flex;align-items:center;justify-content:space-between;gap:2rem}.navbar-brand{display:flex;align-items:center;gap:.5rem}.logo{font-size:1.5rem}.brand-name{font-size:1.25rem;font-weight:700;color:var(--text)}.navbar-links{display:flex;gap:.5rem}.nav-link{padding:.5rem 1rem;border-radius:.5rem;color:var(--text-muted);font-weight:500;transition:all .2s}.nav-link:hover{color:var(--text);background:var(--surface-light);text-decoration:none}.nav-link.active{color:var(--primary);background:#6366f11a}.navbar-user{display:flex;align-items:center;gap:1rem}.username{color:var(--text-muted);font-weight:500}.main-content{flex:1;padding:2rem 0}.mobile-nav{display:none}@media (max-width: 768px){.desktop-nav,.username{display:none}.main-content{padding-bottom:5rem}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:.5rem 0;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0));z-index:100;justify-content:space-around}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;padding:.5rem;color:var(--text-muted);text-decoration:none;min-width:4rem;transition:color .2s}.mobile-nav-item:hover{text-decoration:none}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-icon{font-size:1.25rem;margin-bottom:.25rem}.mobile-nav-label{font-size:.7rem;font-weight:500}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:2.5rem;width:100%;max-width:400px}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{font-size:3rem;display:block;margin-bottom:1rem}.auth-header h1{font-size:1.75rem;margin-bottom:.5rem}.auth-header p{color:var(--text-muted)}.auth-error{background:#ef44441a;border:1px solid var(--danger);color:var(--danger);padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem}.btn-full{width:100%;margin-top:.5rem}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-muted)}.macro-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.25rem}.macro-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.macro-label{font-weight:600;color:var(--text)}.macro-goal{font-size:.85rem;color:var(--text-muted)}.macro-value{font-size:2rem;font-weight:700;margin-bottom:.75rem}.macro-unit{font-size:1rem;font-weight:400;margin-left:.25rem;opacity:.7}.progress-bar{height:8px;background:var(--surface-light);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.macro-remaining{font-size:.85rem;color:var(--text-muted)}.macro-remaining .over{color:var(--danger)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.modal{background:var(--surface);border:1px solid var(--border);border-radius:1rem;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.25rem}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:var(--text)}.modal form{padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.macro-inputs{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 500px){.form-row{grid-template-columns:1fr}.macro-inputs{grid-template-columns:repeat(2,1fr)}}.servings-group{margin-bottom:1rem}.servings-row{display:flex;gap:.75rem;align-items:center}.servings-quick{display:flex;gap:.5rem}.servings-btn{background:var(--background);border:1px solid var(--border);border-radius:.5rem;padding:.5rem .75rem;font-size:.9rem;cursor:pointer;color:var(--text);min-width:2.5rem;transition:all .15s ease}.servings-btn:hover{border-color:var(--primary)}.servings-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.servings-input{width:4.5rem;text-align:center}.servings-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.35rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.food-list{display:flex;flex-direction:column;gap:1.5rem}.meal-group{background:var(--surface);border:1px solid var(--border);border-radius:1rem;overflow:hidden}.meal-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--surface-light);font-weight:600}.meal-icon{font-size:1.25rem}.food-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-top:1px solid var(--border)}.food-info{flex:1;min-width:0}.food-name{font-weight:500;margin-bottom:.25rem}.food-serving{font-size:.85rem;color:var(--text-muted)}.food-macros{display:flex;gap:1rem;flex-wrap:wrap}.macro{font-size:.875rem;font-weight:500;white-space:nowrap}.food-actions{display:flex;gap:.5rem}.action-btn{background:none;border:none;font-size:1rem;padding:.25rem;opacity:.6;transition:opacity .2s;cursor:pointer}.action-btn:hover{opacity:1}@media (max-width: 600px){.food-item{flex-direction:column;align-items:flex-start}.food-macros{width:100%}.food-actions{width:100%;justify-content:flex-end;margin-top:.5rem}}.barcode-scanner{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.scanner-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}.scanner-header h3{margin:0;font-size:1.1rem}.scanner-viewport{flex:1;position:relative;overflow:hidden;background:#000;min-height:300px}.scanner-video{width:100%;height:100%;object-fit:cover}.scanner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.scanner-target{width:70vmin;height:70vmin;max-width:300px;max-height:300px;border:4px solid var(--primary);border-radius:16px;box-shadow:0 0 0 4000px #00000080,0 0 25px #4a90e280;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4000px #00000080,0 0 20px #4a90e24d;border-color:var(--primary)}50%{box-shadow:0 0 0 4000px #00000080,0 0 35px #4a90e2b3;border-color:#6bb3f8}}.scanner-hints{position:absolute;bottom:20px;left:0;right:0;text-align:center}.scanner-hint{color:#fff;font-size:.9rem;text-shadow:0 1px 3px rgba(0,0,0,.8);margin:0}.scanner-reading{color:var(--primary);font-size:.85rem;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.8);margin:.5rem 0 0;background:#0009;padding:.25rem .75rem;border-radius:1rem;display:inline-block}.scanner-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:1rem}.scanner-error p{color:var(--text-secondary);margin:0}.scanner-footer{padding:1rem;border-top:1px solid var(--border);display:flex;justify-content:center}@media (max-width: 480px){.scanner-target{width:75vmin;height:75vmin;max-width:280px;max-height:280px}.scanner-viewport{min-height:300px}}.native-scanner-error,.native-scanner-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:1rem;min-height:200px}.native-scanner-error p,.native-scanner-loading p{color:var(--text-secondary);margin:0}.food-search-modal{max-width:600px;max-height:85vh;display:flex;flex-direction:column}.search-input-wrapper{padding:1rem 1.5rem;display:flex;gap:.5rem}.search-input{flex:1;font-size:1.1rem;padding:1rem 1.25rem}.search-btn{padding:0 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:.5rem;font-weight:500;font-size:.95rem;cursor:pointer;transition:background .2s;white-space:nowrap}.search-btn:hover:not(:disabled){background:var(--primary-dark)}.search-btn:disabled{opacity:.5;cursor:not-allowed}.search-hint{padding:0 1.5rem;font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.search-results{flex:1;overflow-y:auto;padding:.5rem 1rem;min-height:200px;max-height:400px}.no-results{text-align:center;padding:2rem;color:var(--text-muted)}.food-result{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem;margin-bottom:.5rem;background:var(--surface-light);border:1px solid var(--border);border-radius:.75rem;cursor:pointer;transition:all .2s;text-align:left;color:var(--text)}.food-result:hover{border-color:var(--primary);background:#6366f11a}.food-result-info{flex:1;min-width:0}.food-result-name{display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.food-result-brand{display:block;font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.food-result-meta{display:flex;gap:.75rem;align-items:center;margin-top:.25rem}.food-result-serving{font-size:.75rem;color:var(--primary)}.food-result-source{font-size:.65rem;color:var(--text-muted);background:var(--surface);padding:.15rem .4rem;border-radius:.25rem}.food-result-macros{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;margin-left:1rem}.macro-pill{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap}.macro-pill.cal{background:#10b98133;color:var(--calories)}.macro-pill.pro{background:#ef444433;color:var(--protein)}.macro-pill.carb{background:#3b82f633;color:var(--carbs)}.macro-pill.fat{background:#eab30833;color:var(--fat)}.search-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--border)}.barcode-section{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:var(--surface-light);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap}.btn-scan{background:var(--primary);color:#fff;border:none;padding:.6rem 1rem;border-radius:.5rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s}.btn-scan:hover:not(:disabled){background:var(--primary-dark)}.btn-scan:disabled{opacity:.5;cursor:not-allowed}.or-divider{color:var(--text-muted);font-size:.85rem}.upc-form{display:flex;gap:.5rem;flex:1;min-width:200px}.upc-input{flex:1;min-width:100px;padding:.5rem .75rem;font-size:.9rem}.upc-error{color:var(--danger);font-size:.85rem;padding:.5rem 1.5rem;margin:0}.scanner-modal{max-height:90vh;overflow:hidden}@media (max-width: 500px){.food-result{flex-direction:column;align-items:flex-start}.food-result-macros{margin-left:0;margin-top:.75rem;justify-content:flex-start}.barcode-section{flex-direction:column;align-items:stretch}.or-divider{text-align:center}.upc-form{min-width:100%}}.favorites-section{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1rem 1.25rem;margin-bottom:1.5rem}.favorites-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.favorites-header h3{font-size:.9rem;font-weight:600;color:var(--text-muted)}.manage-btn{background:none;border:none;color:var(--primary);font-size:.85rem;cursor:pointer;padding:.25rem .5rem}.manage-btn:hover{text-decoration:underline}.favorites-grid{display:flex;flex-wrap:wrap;gap:.5rem}.favorite-item{position:relative}.favorite-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.5rem .75rem;background:var(--surface-light);border:1px solid var(--border);border-radius:.5rem;cursor:pointer;transition:all .2s;color:var(--text);text-align:left}.favorite-btn:hover{border-color:var(--primary);background:#6366f11a}.favorite-name{font-size:.85rem;font-weight:500;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.favorite-cals{font-size:.7rem;color:var(--calories)}.favorite-delete{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--danger);color:#fff;border:none;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.favorite-delete:hover{background:#dc2626}.favorite-recipe-btn{flex-direction:row;align-items:center;gap:.5rem}.favorite-recipe-thumb{width:32px;height:32px;border-radius:4px;object-fit:cover}.weekly-summary{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1rem 1.25rem;margin-bottom:1.5rem}.weekly-summary h3{font-size:.9rem;font-weight:600;color:var(--text-muted);margin:0 0 .75rem}.weekly-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.weekly-stat{display:flex;flex-direction:column;align-items:center;padding:.5rem;border-radius:.5rem;background:var(--surface-light)}.weekly-stat.on-target{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.weekly-stat.under{background:#eab3081a;border:1px solid rgba(234,179,8,.3)}.weekly-stat.over{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.stat-value{font-size:1.1rem;font-weight:700;color:var(--text)}.stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-goal{font-size:.65rem;color:var(--text-muted);margin-top:.25rem}.weekly-note{font-size:.75rem;color:var(--text-muted);text-align:center;margin:.75rem 0 0}@media (max-width: 500px){.weekly-stats{grid-template-columns:repeat(2,1fr)}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.dashboard-header h1{font-size:1.75rem;margin-bottom:.25rem}.dashboard-actions{display:flex;gap:1rem;align-items:center}.date-picker{width:auto;cursor:pointer}.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}@media (max-width: 900px){.macro-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.macro-grid{grid-template-columns:1fr}.dashboard-actions{width:100%;flex-direction:column}.dashboard-actions .btn{width:100%;white-space:nowrap}.date-picker{width:100%}}.food-section{margin-top:2rem}.food-section h2{font-size:1.25rem;margin-bottom:1rem}.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:1rem;padding:3rem;text-align:center}.empty-state p{color:var(--text-muted);margin-bottom:1rem}.day-detail-modal{max-width:550px;max-height:85vh;display:flex;flex-direction:column}.day-totals{display:flex;justify-content:center;gap:1.5rem;padding:1rem 1.5rem;background:var(--surface-light);border-bottom:1px solid var(--border)}.day-total{font-weight:600;font-size:.95rem}.day-entries{flex:1;overflow-y:auto;padding:1rem 1.5rem;min-height:150px;max-height:400px}.loading,.no-entries{text-align:center;padding:2rem;color:var(--text-muted)}.meal-section{margin-bottom:1.25rem}.meal-section:last-child{margin-bottom:0}.meal-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.day-entry{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.day-entry:last-child{border-bottom:none}.entry-info{flex:1;min-width:0}.entry-name{display:block;font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-serving{display:block;font-size:.75rem;color:var(--text-muted)}.entry-macros{display:flex;gap:.6rem;font-size:.8rem;font-weight:500}.favorite-btn-small{background:none;border:none;font-size:1rem;cursor:pointer;opacity:.5;transition:opacity .2s;padding:.25rem}.favorite-btn-small:hover{opacity:1}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end}@media (max-width: 500px){.day-totals{gap:1rem;flex-wrap:wrap}.entry-macros{flex-wrap:wrap;gap:.4rem}}.history-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.history-header h1{font-size:1.75rem;margin-bottom:.25rem}.period-select{width:auto;min-width:150px}.averages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.average-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;text-align:center}.average-label{display:block;font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.average-value{font-size:1.5rem;font-weight:700}@media (max-width: 768px){.averages-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.averages-grid{grid-template-columns:1fr}}.chart-card{margin-bottom:2rem}.chart-card h3{font-size:1.125rem;margin-bottom:1rem}.chart-container{width:100%;height:300px}.loading{text-align:center;padding:3rem;color:var(--text-muted)}.history .empty-state{text-align:center;padding:3rem}.history-table h3{font-size:1.125rem;margin-bottom:.25rem}.table-hint{font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--text-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}tbody tr:hover{background:var(--surface-light)}tbody tr.clickable-row{cursor:pointer;transition:background .15s}tbody tr.clickable-row:hover{background:#6366f11a}tbody tr:last-child td{border-bottom:none}.goals-header{margin-bottom:2rem}.goals-header h1{font-size:1.75rem;margin-bottom:.25rem}.goals-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media (max-width: 900px){.goals-content{grid-template-columns:1fr}}.goals-form-section h2,.presets-section h2{font-size:1.25rem;margin-bottom:1.5rem}.goal-input-group{margin-bottom:1.25rem}.goal-input-group label{display:flex;justify-content:space-between;margin-bottom:.5rem}.goal-label{font-weight:500}.goal-unit{color:var(--text-muted);font-size:.875rem}.presets-list{display:flex;flex-direction:column;gap:.75rem}.preset-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--surface-light);border:1px solid var(--border);border-radius:.75rem;cursor:pointer;transition:all .2s;text-align:left;color:var(--text)}.preset-card:hover{border-color:var(--primary);background:#6366f11a}.preset-name{font-weight:600}.preset-macros{display:flex;gap:1rem;font-size:.85rem;color:var(--text-muted)}@media (max-width: 600px){.preset-card{flex-direction:column;align-items:flex-start;gap:.5rem}.preset-macros{flex-wrap:wrap;gap:.5rem}}.goals-info h3{font-size:1.125rem;margin-bottom:1rem}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}}.info-item h4{font-size:1rem;margin-bottom:.5rem}.info-item p{font-size:.9rem;color:var(--text-muted);line-height:1.5}.recipes-header{margin-bottom:2rem}.recipes-header h1{font-size:1.75rem;margin-bottom:.25rem}.recipes-search{padding:1.5rem;margin-bottom:2rem}.search-row{display:flex;gap:1rem;margin-bottom:1rem}.search-row .search-input{flex:1}.filters-row{display:flex;gap:1rem;flex-wrap:wrap}.filter-select{min-width:140px;flex:1}.recipes-results{min-height:200px}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.recipe-card{padding:0;overflow:hidden;display:flex;flex-direction:column;position:relative}.recipe-image-wrapper{width:100%;height:180px;overflow:hidden;background:var(--surface-light);position:relative}.recipe-image{width:100%;height:100%;object-fit:cover}.favorite-toggle{position:absolute;top:.5rem;right:.5rem;width:36px;height:36px;border-radius:50%;border:none;background:#ffffffe6;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s;color:#666}.favorite-toggle:hover{transform:scale(1.1);background:#fff}.favorite-toggle.is-favorite{color:#f59e0b}.favorite-toggle.no-image{position:absolute;top:.75rem;right:.75rem}.btn-favorite-active{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.meal-select{min-width:120px}.recipe-content{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;flex:1}.recipe-info{flex:1}.recipe-name{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.recipe-description{font-size:.9rem;color:var(--text-muted);margin:0 0 .5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-types{display:flex;flex-wrap:wrap;gap:.5rem}.recipe-type-tag{background:var(--surface-light);padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;color:var(--text-muted)}.recipe-nutrition{display:flex;gap:.75rem;flex-wrap:wrap}.recipe-nutrition .macro{font-weight:600;font-size:.85rem}.recipe-actions{display:flex;gap:.75rem}.recipe-actions .btn{flex:1;padding:.6rem 1rem}.loading,.modal-loading,.modal-error{text-align:center;padding:3rem;color:var(--text-muted)}.empty-state{text-align:center;padding:3rem}.empty-state p{margin:.25rem 0}.recipe-detail-modal{max-width:600px;max-height:90vh;overflow-y:auto}.recipe-detail-content{padding:1.5rem}.recipe-detail-image{width:100%;max-height:300px;object-fit:cover;border-radius:.5rem;margin-bottom:1.5rem}.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.meta-item{font-size:.9rem;color:var(--text-muted)}.recipe-detail-nutrition{margin-bottom:1.5rem}.recipe-detail-nutrition h4{margin:0 0 .75rem;font-size:1rem}.nutrition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.nutrition-grid span{font-weight:600}.recipe-detail-section{margin-bottom:1.5rem}.recipe-detail-section h4{margin:0 0 .75rem;font-size:1rem}.ingredients-list{margin:0;padding-left:1.25rem}.ingredients-list li{margin-bottom:.5rem;font-size:.95rem}.directions-list{margin:0;padding-left:1.25rem}.directions-list li{margin-bottom:.75rem;font-size:.95rem;line-height:1.5}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border);margin-top:1rem}@media (max-width: 600px){.search-row,.filters-row{flex-direction:column}.filter-select{width:100%}.recipes-grid{grid-template-columns:1fr}.recipe-actions{flex-direction:column}.nutrition-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}}.help-page{max-width:800px;margin:0 auto}.help-header{margin-bottom:2rem}.help-header h1{font-size:1.75rem;margin-bottom:.25rem}.help-sections{display:flex;flex-direction:column;gap:1.5rem}.help-section h2{font-size:1.25rem;margin-bottom:1rem;color:var(--primary)}.help-section h3{font-size:1rem;margin-top:1.25rem;margin-bottom:.5rem}.help-section p{margin-bottom:.75rem;line-height:1.7}.help-section ul,.help-section ol{margin-left:1.5rem;margin-bottom:.75rem}.help-section li{margin-bottom:.5rem;line-height:1.6}.help-section strong{color:var(--text)}.help-tip{background:#6366f11a;border-left:3px solid var(--primary);padding:.75rem 1rem;margin-top:1rem;border-radius:0 .5rem .5rem 0}.macro-legend{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.macro-item{display:flex;align-items:center;gap:.75rem}.macro-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--primary-dark: #4f46e5;--secondary: #10b981;--warning: #f59e0b;--danger: #ef4444;--background: #0f172a;--surface: #1e293b;--surface-light: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--border: #475569;--protein: #ef4444;--carbs: #3b82f6;--fat: #eab308;--calories: #10b981}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--background);color:var(--text);min-height:100vh;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;font-size:.95rem;transition:all .2s;border:none;white-space:nowrap}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--surface-light);color:var(--text)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.card{background:var(--surface);border-radius:1rem;padding:1.5rem;border:1px solid var(--border)}.input{width:100%;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:.5rem;color:var(--text);font-size:1rem;transition:border-color .2s}.input:focus{outline:none;border-color:var(--primary)}.input::placeholder{color:var(--text-muted)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-muted)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.grid-2,.grid-4{grid-template-columns:1fr}}
