body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#d93b4c;--primary-dark:#b91c3c;--primary-light:#fdeaea;--primary-gradient:linear-gradient(135deg,#d93b4c,#b91c3c);--secondary-color:#64748b;--success-color:#10b981;--success-dark:#059669;--success-light:#f0fdf4;--success-gradient:linear-gradient(135deg,#4caf50,#45a049);--danger-color:#ef4444;--favorite-color:#e74c3c;--warning-color:#f59e0b;--warning-light:#fff3cd;--warning-border:#ffe69c;--warning-text:#856404;--warning-gradient:linear-gradient(135deg,#ffb74d,#ff9800);--accent-color:#ff6b35;--accent-dark:#f7931e;--accent-gradient:linear-gradient(135deg,#ff6b35,#f7931e);--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--text-light:#94a3b8;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--transition:all 0.2s ease}[data-theme=dark]{--bg-primary:#1a1a2e;--bg-secondary:#16213e;--bg-tertiary:#0f3460;--text-primary:#fff;--text-secondary:#a0aec0;--text-light:#718096;--border-color:#2d3748;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080;--primary-light:#3d2a3a;--success-light:#1a3a2a;--warning-light:#3d3520;--warning-border:#5c4a1a;--warning-text:#fbbf24}[data-theme=dark] body{color:#1e293b;color:var(--text-primary)}[data-theme=dark] .main-content,[data-theme=dark] body{background-color:#f8fafc;background-color:var(--bg-secondary)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background-color:#f1f5f9;background-color:var(--bg-tertiary);border-color:#e2e8f0;border-color:var(--border-color);color:#1e293b;color:var(--text-primary)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#94a3b8;color:var(--text-light)}[data-theme=dark] .btn-secondary{background-color:#f1f5f9;background-color:var(--bg-tertiary);border-color:#e2e8f0;border-color:var(--border-color);color:#1e293b;color:var(--text-primary)}[data-theme=dark] .btn-secondary:hover{background-color:#fff;background-color:var(--bg-primary)}[data-theme=dark] .cookbook-card,[data-theme=dark] .meal-plan-card,[data-theme=dark] .recipe-card,[data-theme=dark] .shopping-category{background-color:#fff;background-color:var(--bg-primary);border-color:#e2e8f0;border-color:var(--border-color)}[data-theme=dark] .modal-container{background-color:#fff;background-color:var(--bg-primary)}[data-theme=dark] .modal-backdrop{background-color:#000c}[data-theme=dark] .search-box input,[data-theme=dark] .view-header h1,[data-theme=dark] .view-header h2{color:#1e293b;color:var(--text-primary)}[data-theme=dark] .filter-btn,[data-theme=dark] .search-box input{background-color:#f1f5f9;background-color:var(--bg-tertiary)}[data-theme=dark] .filter-btn{border-color:#e2e8f0;border-color:var(--border-color);color:#64748b;color:var(--text-secondary)}[data-theme=dark] .filter-btn.active{background-color:#d93b4c;background-color:var(--primary-color);color:#fff}[data-theme=dark] .nutrition-card,[data-theme=dark] .nutrition-grid{background-color:#f1f5f9;background-color:var(--bg-tertiary)}[data-theme=dark] .timeline-step{background-color:#fff;background-color:var(--bg-primary);border-color:#e2e8f0;border-color:var(--border-color)}[data-theme=dark] .ingredients-list li,[data-theme=dark] .instructions-list li{color:#1e293b;color:var(--text-primary)}[data-theme=dark] .recipe-meta .cookbook-badge{background-color:#f1f5f9;background-color:var(--bg-tertiary);color:#64748b;color:var(--text-secondary)}[data-theme=dark] .empty-state{background-color:#fff;background-color:var(--bg-primary);border-color:#e2e8f0;border-color:var(--border-color)}[data-theme=dark] .loading-spinner{color:#1e293b;color:var(--text-primary)}[data-theme=dark] ::-webkit-scrollbar{height:8px;width:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:#f1f5f9;background:var(--bg-tertiary)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#e2e8f0;background:var(--border-color);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--text-light)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--bg-secondary);color:#1e293b;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.app,body,html{overflow-x:hidden}.app{align-items:stretch;display:flex;max-width:100vw;min-height:100vh}.sidebar{background:#fff;background:var(--bg-primary);border-right:1px solid #e2e8f0;border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;width:260px;z-index:100}.sidebar-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;gap:12px;padding:24px}.sidebar-header h2{color:#d93b4c;color:var(--primary-color);font-size:20px;font-weight:700;margin:0}.sidebar-menu{display:flex;flex:1 1;flex-direction:column;gap:4px;list-style:none;margin:0;padding:16px}.sidebar-item{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease;transition:var(--transition);width:100%}.sidebar-item:hover{background:#f1f5f9;background:var(--bg-tertiary);color:#1e293b;color:var(--text-primary)}.sidebar-item.active{background:#d93b4c;background:var(--primary-color);color:#fff}.sidebar-nav{display:flex;flex-direction:column;gap:4px;padding:16px}.nav-item{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:all .2s ease;transition:var(--transition);width:100%}.nav-item:hover{background:#f1f5f9;background:var(--bg-tertiary);color:#1e293b;color:var(--text-primary)}.nav-item.active{background:#d93b4c;background:var(--primary-color);color:#fff}.main-content{flex:1 1;min-height:100vh;padding:32px;width:0}.view-header{flex-wrap:wrap;gap:16px;margin-bottom:32px}.view-header h1,.view-header h2{color:#1e293b;color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.view-header p{color:#64748b;color:var(--text-secondary);margin:4px 0 0}.search-bar,.search-box{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);display:flex;gap:12px;min-width:300px;padding:10px 16px;transition:all .2s ease;transition:var(--transition)}.search-bar:focus-within,.search-box:focus-within{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 0 0 3px #d93b4c1a}.search-bar input,.search-box input{background:#0000;border:none;flex:1 1;font-size:15px;outline:none}.filters{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px}.btn-danger,.btn-icon,.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:8px;padding:10px 20px;text-decoration:none;transition:all .2s ease;transition:var(--transition)}.btn-primary{background:#d93b4c;background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:#b91c3c;background:var(--primary-dark);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:#f1f5f9;background:var(--bg-tertiary);color:#1e293b;color:var(--text-primary)}.btn-secondary:hover{background:#e2e8f0;background:var(--border-color)}.btn-danger{background:#ef4444;background:var(--danger-color);color:#fff}.btn-danger:hover{background:#dc2626}.btn-danger-small{background:#ef4444;background:var(--danger-color);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s ease;transition:var(--transition)}.btn-danger-small:hover{background:#dc2626}.btn-icon{background:#0000;color:#64748b;color:var(--text-secondary);padding:8px}.btn-icon:hover{background:#f1f5f9;background:var(--bg-tertiary);color:#1e293b;color:var(--text-primary)}.plan-type-selector{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);display:flex;gap:12px;margin-bottom:32px;padding:20px}.option-btn{align-items:center;background:#f8fafc;background:var(--bg-secondary);border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s ease;transition:var(--transition)}.option-btn:hover{background:#fff;background:var(--bg-primary);color:#1e293b;color:var(--text-primary);transform:translateY(-2px)}.option-btn.active,.option-btn:hover{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md)}.option-btn.active{background:#d93b4c;background:var(--primary-color);color:#fff}.option-btn.active:hover{background:#b91c3c;background:var(--primary-dark);transform:translateY(-2px)}.plan-creator{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);margin-bottom:32px;padding:32px}.plan-creator h3{color:#1e293b;color:var(--text-primary);margin-bottom:24px}.day-planner{background:#f8fafc;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);margin-bottom:16px;padding:20px}.day-planner h4{align-items:center;color:#1e293b;color:var(--text-primary);display:flex;font-size:16px;gap:8px;margin-bottom:16px}.meal-selectors{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.meal-selectors>div{display:flex;flex-direction:column}.meal-selectors label{color:#1e293b;color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:8px}.meal-selectors select{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);cursor:pointer;font-size:15px;padding:12px 16px;transition:all .2s ease;transition:var(--transition)}.meal-selectors select:focus{box-shadow:0 0 0 3px #d93b4c1a;outline:none}.meal-selectors select:focus,.meal-selectors select:hover{border-color:#d93b4c;border-color:var(--primary-color)}.meal-selectors optgroup{background:#f8fafc;background:var(--bg-secondary);color:#d93b4c;color:var(--primary-color);font-size:14px;font-weight:700;padding:8px 0}.meal-selectors option{font-size:14px;padding:8px 12px}.saved-plans{margin-top:48px}.saved-plans h3{color:#1e293b;color:var(--text-primary);margin-bottom:20px}.meal-plan-card{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);margin-bottom:16px;padding:24px;transition:all .2s ease;transition:var(--transition)}.meal-plan-card:hover{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md)}.meal-plan-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between}.meal-plan-header h4{color:#1e293b;color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.meal-plan-details{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px}.meal-day{background:#f8fafc;background:var(--bg-secondary);border-radius:8px;border-radius:var(--radius-md);margin-bottom:12px;padding:16px}.meal-day h5{color:#d93b4c;color:var(--primary-color);font-size:15px;font-weight:600;margin:0 0 12px}.meal-day ul{list-style:none;margin:0;padding:0}.meal-day li{color:#64748b;color:var(--text-secondary);font-size:14px;padding:6px 0}.meal-day strong{color:#1e293b;color:var(--text-primary);font-weight:600;margin-right:8px}.recipe-link{background:none;border:none;color:#d93b4c;color:var(--primary-color);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;transition:all .2s ease;transition:var(--transition)}.recipe-link:hover{color:#b91c3c;color:var(--primary-dark)}.shopping-list-view{margin:0 auto;max-width:1000px}.shopping-list-controls{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:32px;padding:28px}.shopping-list-controls label{color:#1e293b;color:var(--text-primary);display:block;font-size:15px;font-weight:600;margin-bottom:10px}.shopping-list-controls select{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);cursor:pointer;font-size:15px;margin-bottom:20px;padding:14px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.shopping-list-controls select:focus{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 0 0 3px #d93b4c1a;outline:none}.shopping-list-container{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);padding:40px}.shopping-list-header{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color);margin-bottom:40px;padding-bottom:32px;text-align:center}.shopping-list-header h2{color:#1e293b;color:var(--text-primary);font-size:32px;font-weight:700;margin:0 0 12px}.shopping-list-header .plan-name{color:#d93b4c;color:var(--primary-color);font-size:18px;font-weight:600;margin-bottom:8px}.shopping-list-header .date{color:#64748b;color:var(--text-secondary);font-size:14px;margin:0}.shopping-categories{grid-gap:48px;display:grid;gap:48px;grid-template-columns:repeat(2,1fr);margin-bottom:32px}.shopping-category{break-inside:avoid;margin-bottom:40px;page-break-inside:avoid}.shopping-category:last-child{margin-bottom:0}.shopping-category h3{align-items:center;border-bottom:2px solid #d93b4c;border-bottom:2px solid var(--primary-color);color:#1e293b;color:var(--text-primary);display:flex;font-size:18px;font-weight:700;gap:8px;margin-bottom:20px;padding-bottom:12px}.shopping-items{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.shopping-items li{align-items:center;background:#f8fafc;background:var(--bg-secondary);border:1px solid #0000;border-radius:8px;border-radius:var(--radius-md);color:#1e293b;color:var(--text-primary);cursor:pointer;display:flex;font-size:15px;gap:12px;padding:14px 16px;transition:all .2s ease;transition:var(--transition)}.shopping-items li:hover{background:#f1f5f9;background:var(--bg-tertiary);border-color:#e2e8f0;border-color:var(--border-color);transform:translateX(4px)}.shopping-items li.checked{color:#64748b;color:var(--text-secondary);opacity:.5;text-decoration:line-through}.shopping-items input[type=checkbox]{appearance:none;-webkit-appearance:none;background:#fff;border:2px solid #d93b4c;border:2px solid var(--primary-color);border-radius:4px;cursor:pointer;height:22px;position:relative;transition:all .2s ease;transition:var(--transition);width:22px}.shopping-items input[type=checkbox]:checked{background:#d93b4c;background:var(--primary-color)}.shopping-items input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.print-button{align-items:center;background:#d93b4c;background:var(--primary-color);border:none;border-radius:8px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;margin-top:24px;padding:12px 24px;transition:all .2s ease;transition:var(--transition);width:100%}.print-button:hover{background:#b91c3c;background:var(--primary-dark);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}@media print{.print-button,.shopping-list-controls,.sidebar,.view-header{display:none!important}.main-content{margin:0;padding:20px;width:100%}.shopping-list-container{border:none;box-shadow:none;padding:0}.shopping-categories{gap:20px;grid-template-columns:repeat(2,1fr)}.shopping-items li{background:#0000;border:1px solid #ddd;page-break-inside:avoid}.shopping-items input[type=checkbox]{border:2px solid #333}}.empty-state{color:#64748b;color:var(--text-secondary);padding:80px 20px;text-align:center}.empty-state svg{color:#94a3b8;color:var(--text-light);margin-bottom:16px}.empty-state h3{color:#1e293b;color:var(--text-primary);font-size:20px;margin-bottom:8px}.empty-state p{margin-bottom:24px}.recipe-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:24px}.recipe-card{background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;transition:var(--transition)}.recipe-card:hover{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg)}.recipe-card-header{align-items:start;margin-bottom:12px}.recipe-card h3{color:#1e293b;color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:4px}.recipe-time{background:#f1f5f9;background:var(--bg-tertiary);border-radius:6px;border-radius:var(--radius-sm);font-size:13px}.recipe-description,.recipe-time{color:#64748b;color:var(--text-secondary)}.recipe-description{margin-bottom:16px}.recipe-meta{color:#64748b;color:var(--text-secondary)}.recipe-form,.upload-section{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);max-width:800px;padding:32px}.form-group label{margin-bottom:8px}.form-group small{color:#64748b;color:var(--text-secondary);display:block;font-size:13px;margin-top:6px}.form-group input,.form-group select,.form-group textarea,.input-field{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);font-family:inherit;font-size:15px;padding:14px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.input-field:focus{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 0 0 3px #d93b4c1a;outline:none}.form-group textarea{font-family:inherit;line-height:1.6;min-height:120px;resize:vertical}.form-row{grid-template-columns:repeat(2,1fr);margin-bottom:24px}.ingredient-list,.instruction-list{list-style:none;margin-bottom:16px;padding:0}.ingredient-item,.instruction-item{align-items:center;background:#f8fafc;background:var(--bg-secondary);border-radius:8px;border-radius:var(--radius-md);display:flex;gap:12px;margin-bottom:8px;padding:12px 16px}.ingredient-item span,.instruction-item span{flex:1 1}.ingredient-item button,.instruction-item button{background:#ef4444;background:var(--danger-color);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s ease;transition:var(--transition)}.ingredient-item button:hover,.instruction-item button:hover{background:#dc2626}.upload-section{margin-bottom:32px;max-width:600px}.upload-section h3{color:#1e293b;color:var(--text-primary);margin-bottom:20px}.file-input{background:#f8fafc;background:var(--bg-secondary);border:2px dashed #e2e8f0;border:2px dashed var(--border-color);border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:block;padding:16px;text-align:center;transition:all .2s ease;transition:var(--transition);width:100%}.file-input:hover{background:#fff;background:var(--bg-primary);border-color:#d93b4c;border-color:var(--primary-color)}.file-input input[type=file]{display:none}.nutrition-section{background:#f8fafc;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);margin-top:24px;padding:24px}.nutrition-section h3{align-items:center;color:#1e293b;color:var(--text-primary);display:flex;gap:8px;margin:0 0 16px}.nutrition-toggle{align-items:center;background:#fff;background:var(--bg-primary);border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:12px;margin-bottom:16px;padding:12px;transition:all .2s ease;transition:var(--transition)}.nutrition-toggle:hover{background:#f1f5f9;background:var(--bg-tertiary)}.nutrition-toggle input[type=checkbox]{cursor:pointer;height:20px;width:20px}.nutrition-toggle label{color:#1e293b;color:var(--text-primary);cursor:pointer;font-weight:600;margin:0}.nutrition-inputs{grid-gap:16px;animation:fadeIn .3s ease;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.nutrition-input-group{display:flex;flex-direction:column}.nutrition-input-group label{color:#1e293b;color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:6px}.nutrition-input-group input{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);font-size:14px;padding:10px 12px;transition:all .2s ease;transition:var(--transition)}.nutrition-input-group input:focus{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 0 0 3px #d93b4c1a;outline:none}.nutrition-info{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);margin-top:16px;padding-top:16px}.nutrition-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(2,1fr)}.nutrition-item{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-md);color:#fff;padding:12px;text-align:center}.nutrition-item .label{font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;opacity:.9;text-transform:uppercase}.nutrition-item .value{font-size:20px;font-weight:700}.nutrition-detail{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;border-radius:var(--radius-lg);color:#fff;margin:24px 0;padding:24px}.nutrition-detail h3{align-items:center;display:flex;font-size:20px;gap:8px;margin:0 0 20px}.nutrition-detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.nutrition-detail-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:8px;border-radius:var(--radius-md);padding:16px;text-align:center}.nutrition-detail-item .label{font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;opacity:.9;text-transform:uppercase}.nutrition-detail-item .value{font-size:32px;font-weight:700;line-height:1}.nutrition-detail-item .unit{font-size:14px;margin-top:4px;opacity:.8}.no-nutrition{background:#f8fafc;background:var(--bg-secondary);border-radius:8px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);font-style:italic;margin:16px 0;padding:24px;text-align:center}.cookbook-filter{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);cursor:pointer;font-size:15px;min-width:250px;padding:12px 16px;transition:all .2s ease;transition:var(--transition)}.cookbook-filter:focus,.cookbook-filter:hover{border-color:#d93b4c;border-color:var(--primary-color)}.cookbook-filter:focus{box-shadow:0 0 0 3px #d93b4c1a;outline:none}.recipes-grouped{display:flex;flex-direction:column;gap:40px}.cookbook-group{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);padding:24px}.cookbook-group-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;gap:12px;margin-bottom:20px;padding-bottom:16px}.cookbook-group-header h2{color:#1e293b;color:var(--text-primary);font-size:22px;font-weight:600;margin:0}.cookbook-group-header .recipe-count{background:#d93b4c1a;border-radius:12px;color:#d93b4c;color:var(--primary-color);font-size:14px;font-weight:600;margin-left:auto;padding:4px 12px}.cookbook-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;margin-bottom:16px;padding:6px 12px}.cookbooks-view{margin:0 auto;max-width:900px}.cookbooks-list{display:flex;flex-direction:column;gap:16px;margin-top:24px}.cookbook-card{align-items:center;background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:24px;transition:all .2s ease;transition:var(--transition)}.cookbook-card:hover{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.cookbook-info{flex:1 1;gap:20px}.cookbook-icon,.cookbook-info{align-items:center;display:flex}.cookbook-icon{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;flex-shrink:0;height:60px;justify-content:center;width:60px}.cookbook-card h3{align-items:center;color:#1e293b;color:var(--text-primary);display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 8px}.cookbook-card .badge{background:#d93b4c1a;border-radius:4px;color:#d93b4c;color:var(--primary-color);font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.cookbook-description{margin:4px 0}.cookbook-description,.cookbook-meta{color:#64748b;color:var(--text-secondary);font-size:14px}.cookbook-meta{display:flex;gap:16px}.cookbook-actions{align-items:center;display:flex;gap:8px}.cookbook-form{background:#f8fafc;background:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);margin-bottom:24px;padding:24px}.cookbook-form h3{color:#1e293b;color:var(--text-primary);margin:0 0 20px}.cookbook-edit{display:flex;flex:1 1;flex-direction:column;gap:12px}.edit-description,.edit-name{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);font-size:15px;padding:12px 16px;transition:all .2s ease;transition:var(--transition);width:100%}.edit-name{font-size:18px;font-weight:600}.edit-description:focus,.edit-name:focus{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 0 0 3px #d93b4c1a;outline:none}.info-box{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;border-radius:var(--radius-lg);display:flex;gap:12px;margin-top:24px;padding:16px}.info-box svg{color:#d93b4c;color:var(--primary-color);flex-shrink:0;margin-top:2px}.info-box strong{color:#b91c3c;color:var(--primary-dark);display:block;margin-bottom:4px}.info-box p{color:#1e3a8a;font-size:14px;line-height:1.5;margin:0}.danger-zone{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;border-radius:var(--radius-lg);margin-top:40px;padding:24px}.danger-zone h3{align-items:center;color:#dc2626;display:flex;font-size:18px;gap:8px;margin:0 0 12px}.danger-zone p{color:#7f1d1d;font-size:14px;margin:0 0 16px}.danger-zone .btn-danger{align-items:center;background:#dc2626;border:none;border-radius:8px;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease;transition:var(--transition)}.danger-zone .btn-danger:hover{background:#b91c1c;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.loading-spinner,.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-top-color:#d93b4c;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:48px;width:48px}@media (max-width:768px){.sidebar{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);border-right:none;height:auto;position:relative;width:100%}.main-content{margin-left:0;padding:20px;width:100%}.recipe-grid{grid-template-columns:1fr}.view-header{align-items:flex-start;flex-direction:column}.filters{flex-direction:column;width:100%}.cookbook-filter,.search-bar{min-width:100%}.nutrition-grid{grid-template-columns:repeat(2,1fr)}.cookbook-card{align-items:flex-start;flex-direction:column;gap:16px}.cookbook-actions{width:100%}.form-row,.meal-selectors,.nutrition-inputs,.shopping-categories{grid-template-columns:1fr}.nutrition-detail-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.nutrition-detail-grid,.nutrition-grid{grid-template-columns:1fr}.sidebar-header h2{font-size:18px}.view-header h1,.view-header h2{font-size:24px}}.upload-view{margin:0 auto;max-width:900px}.upload-tabs{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);display:flex;gap:12px;margin-bottom:32px;padding:20px}.upload-tab{align-items:center;background:#f8fafc;background:var(--bg-secondary);border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:16px 24px;transition:all .2s ease;transition:var(--transition)}.upload-tab:hover{background:#fff;background:var(--bg-primary);color:#1e293b;color:var(--text-primary);transform:translateY(-2px)}.upload-tab.active,.upload-tab:hover{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md)}.upload-tab.active{background:#d93b4c;background:var(--primary-color);color:#fff}.upload-tab.active:hover{background:#b91c3c;background:var(--primary-dark);transform:translateY(-2px)}.recipe-form,.upload-section{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-lg);padding:40px}.form-section{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);margin-bottom:48px;padding-bottom:32px}.form-section:last-of-type{border-bottom:none;margin-bottom:32px}.form-section h3{color:#1e293b;color:var(--text-primary);font-size:20px;margin:0 0 8px}.section-description{color:#64748b;color:var(--text-secondary);font-size:14px;margin:0 0 24px}.dynamic-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.dynamic-item{align-items:flex-start;display:flex;gap:12px}.dynamic-item input[type=text],.dynamic-item textarea{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);flex:1 1;font-family:inherit;font-size:15px;padding:14px 16px;transition:all .2s ease;transition:var(--transition)}.dynamic-item textarea{line-height:1.6;min-height:80px;resize:vertical}.dynamic-item input:focus,.dynamic-item textarea:focus{border-color:#d93b4c;border-color:var(--primary-color);box-shadow:0 0 0 3px #d93b4c1a;outline:none}.instruction-item{position:relative}.step-number{background:#d93b4c;background:var(--primary-color);border-radius:50%;font-size:14px;height:32px;width:32px}.btn-remove,.step-number{align-items:center;color:#fff;display:flex;flex-shrink:0;font-weight:700;justify-content:center;margin-top:12px}.btn-remove{background:#ef4444;background:var(--danger-color);border:none;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;font-size:18px;height:40px;padding:8px 12px;transition:all .2s ease;transition:var(--transition);width:40px}.btn-remove:hover:not(:disabled){background:#dc2626;transform:scale(1.1)}.btn-remove:disabled{cursor:not-allowed;opacity:.3}.btn-add{background:#f1f5f9;background:var(--bg-tertiary);border:2px dashed #e2e8f0;border:2px dashed var(--border-color);border-radius:8px;border-radius:var(--radius-md);color:#1e293b;color:var(--text-primary);cursor:pointer;font-size:15px;font-weight:600;padding:12px 20px;transition:all .2s ease;transition:var(--transition);width:100%}.btn-add:hover{background:#fff;background:var(--bg-primary);border-color:#d93b4c;border-color:var(--primary-color);color:#d93b4c;color:var(--primary-color)}.file-upload{background:#f8fafc;background:var(--bg-secondary);border:2px dashed #e2e8f0;border:2px dashed var(--border-color);border-radius:12px;border-radius:var(--radius-lg);padding:60px 40px;text-align:center;transition:all .2s ease;transition:var(--transition)}.file-upload:hover{background:#fff;background:var(--bg-primary);border-color:#d93b4c;border-color:var(--primary-color)}.file-upload svg{color:#94a3b8;color:var(--text-light);margin-bottom:16px}.file-upload p{color:#64748b;color:var(--text-secondary);font-size:16px;margin:0 0 24px}.file-selected{background:#f8fafc;background:var(--bg-secondary);border-radius:12px;border-radius:var(--radius-lg);padding:24px}.file-info{background:#fff;background:var(--bg-primary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius-md);margin-bottom:24px;padding:20px}.file-info p{color:#1e293b;color:var(--text-primary);margin:8px 0}.progress-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;border-radius:var(--radius-lg);margin-top:24px;padding:20px;text-align:center}.progress-info p{color:#1e3a8a;font-size:14px;margin:8px 0}.spinner{animation:spin 1s linear infinite}.recipe-detail-view{margin:0 auto;max-width:900px;padding:20px}.view-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.header-actions{display:flex;gap:12px}.recipe-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.recipe-edit-form{gap:24px}.form-group,.recipe-edit-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{align-items:center;color:#374151;display:flex;font-size:14px;gap:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:16px;padding:12px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#8b5cf6;outline:none}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-section{display:flex;flex-direction:column;gap:16px;padding-top:16px}.form-section h3{border-bottom:2px solid #f3f4f6;color:#1f2937;font-size:18px;font-weight:600;margin:0;padding-bottom:8px}.ingredient-row{align-items:center;display:flex;gap:12px}.ingredient-row input{border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:16px;padding:12px}.ingredient-row input:focus{border-color:#8b5cf6;outline:none}.instruction-row{align-items:flex-start;display:flex;gap:12px}.instruction-row .step-number{color:#6b7280;font-weight:600;min-width:30px;padding-top:12px}.instruction-row textarea{border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-family:inherit;font-size:16px;min-height:80px;padding:12px;resize:vertical}.instruction-row textarea:focus{border-color:#8b5cf6;outline:none}.ingredient-row .btn-icon,.instruction-row .btn-icon{align-items:center;display:flex;flex-shrink:0;font-size:20px;height:36px;justify-content:center;width:36px}.ingredient-row .btn-icon:disabled,.instruction-row .btn-icon:disabled{cursor:not-allowed;opacity:.3}.recipe-view h1{color:#1f2937;font-size:32px;font-weight:700;margin:0 0 16px}.recipe-meta{margin-bottom:24px}.cookbook-badge{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:20px;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px}.recipe-info{grid-gap:16px;background:#f9fafb;border-radius:8px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px;padding:20px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item strong{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.nutrition-card{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-radius:12px;color:#fff;margin-bottom:24px;padding:24px}.nutrition-card h3{font-size:18px;font-weight:600;margin:0 0 16px;opacity:.9}.nutrition-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px}.nutrition-icon{font-size:24px}.nutrition-value{line-height:1}.nutrition-label{opacity:.9}.recipe-section{margin-bottom:32px}.recipe-section:last-child{margin-bottom:0}.recipe-section h2{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:24px;font-weight:700;margin:0 0 16px;padding-bottom:8px}.ingredients-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.ingredients-list li{word-wrap:break-word;background:#f9fafb;border-left:4px solid #8b5cf6;border-radius:8px;color:#1f2937;font-size:16px;line-height:1.5;overflow:visible;padding:12px 16px;text-overflow:clip;white-space:normal}.instructions-list{counter-reset:step-counter;display:flex;flex-direction:column;gap:16px;list-style:none;margin:0;padding:0}.instructions-list li{background:#f9fafb;border-radius:8px;counter-increment:step-counter;font-size:16px;line-height:1.6;padding:16px 20px 16px 60px;position:relative}.instructions-list li:before{align-items:center;background:#8b5cf6;border-radius:50%;color:#fff;content:counter(step-counter);display:flex;font-size:14px;font-weight:700;height:28px;justify-content:center;left:20px;position:absolute;top:16px;width:28px}@media (max-width:768px){.recipe-detail-view{padding:16px}.recipe-content{padding:20px}.recipe-view h1{font-size:28px}.form-row{grid-template-columns:1fr}.nutrition-grid{grid-template-columns:repeat(2,1fr)}.recipe-info{grid-template-columns:1fr}}.recipe-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;flex-direction:column;gap:16px;padding:20px;transition:all .2s ease}.recipe-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.recipe-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.recipe-card-header h3{color:#1f2937;flex:1 1;font-size:18px;font-weight:600;margin:0}.recipe-time{background:#f3f4f6;border-radius:12px;color:#6b7280;font-size:14px;padding:4px 12px;white-space:nowrap}.recipe-description{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.recipe-meta{color:#6b7280;display:flex;font-size:14px;gap:16px}.recipe-nutrition{border-top:1px solid #e5e7eb;margin-top:4px;padding-top:16px}.nutrition-label{color:#1f2937;font-size:13px;font-weight:700;margin-bottom:12px}.recipe-card .nutrition-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.recipe-card .nutrition-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:8px;padding:10px 12px}.recipe-card .nutrition-icon{flex-shrink:0;font-size:20px}.recipe-card .nutrition-value{color:#000;display:inline;font-size:17px;font-weight:800;opacity:1;text-shadow:0 0 1px #0000001a;visibility:visible}.recipe-card .nutrition-unit{color:#1f2937;display:inline;font-size:13px;font-weight:600;margin-left:2px}@media (max-width:768px){.recipe-card{padding:16px}.recipe-card-header h3{font-size:16px}.recipe-card .nutrition-grid{gap:8px}.recipe-card .nutrition-item{padding:6px}.recipe-card .nutrition-icon{font-size:18px}.recipe-card .nutrition-value{font-size:14px}}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.form-group{margin-bottom:24px}.form-group label{color:#1e293b;color:var(--text-primary);display:block;font-size:15px;font-weight:600;margin-bottom:10px}.btn-primary,.btn-secondary{align-items:center;display:inline-flex;gap:8px}.modal-backdrop{background-color:#00000080;inset:0;z-index:1000}.modal-content{background:#fff;background:var(--bg-primary);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg);max-height:90vh;max-width:56rem;overflow-y:auto;width:100%}.modal-backdrop{-webkit-overflow-scrolling:touch;background-color:#0009;bottom:0;display:block;left:0;overflow-y:auto;padding:0;position:fixed;right:0;top:0;z-index:9999}.modal-container{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;margin:20px auto;max-width:900px;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:30px;position:relative;z-index:10}.modal-header-content{flex:1 1}.modal-day-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff40;border-radius:20px;display:inline-block;font-size:14px;font-weight:600;margin-bottom:12px;padding:6px 16px}.modal-title{color:#fff;font-size:32px;font-weight:700;line-height:1.2;margin:0 0 16px}.modal-stats{display:flex;flex-wrap:wrap;gap:24px}.modal-stat-item{align-items:center;display:flex;font-size:14px;gap:8px;opacity:.95}.modal-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;margin-left:20px;transition:all .2s ease;width:40px}.modal-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.modal-body{display:flex;flex-direction:column;gap:30px;padding:30px}.modal-section{background:#fff;border-radius:12px;padding:24px}.modal-section-title{align-items:center;border-bottom:3px solid #667eea;color:#2c3e50;display:flex;font-size:20px;font-weight:700;gap:10px;margin:0 0 20px;padding-bottom:12px}.ingredients-section{background:linear-gradient(135deg,#fff5f0,#ffe8e0);border:2px solid #ffd5c8}.modal-ingredients-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));list-style:none;margin:0;padding:0}.modal-ingredient-item{background:#fff;border-left:4px solid #667eea;border-radius:8px;color:#2c3e50;font-size:15px;padding:14px 16px;transition:all .2s ease}.modal-ingredient-item:hover{background:#f8f9fa;transform:translateX(4px)}.ingredient-amount{color:#667eea;font-weight:600}.nutrition-section{background:linear-gradient(135deg,#f0f4ff,#e0e8ff);border:2px solid #c8d5ff}.nutrition-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.nutrition-item{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #667eea1a;display:flex;gap:12px;padding:16px}.nutrition-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:28px}.nutrition-value{color:#667eea;font-size:24px;font-weight:700;line-height:1.2}.nutrition-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.timeline-section{background:linear-gradient(135deg,#f5f5f5,#ebebeb);border:2px solid #d0d0d0}.dinner-time-selector{background:linear-gradient(135deg,#fff9e6,#ffe6b3);border:2px solid #ffd480;border-radius:12px;box-sizing:border-box;margin-bottom:24px;max-width:100%;overflow:hidden;padding:20px;width:100%}.dinner-time-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.dinner-time-label{color:#2c3e50;font-size:16px;font-weight:600}.time-format-toggle{background:#0000;border:none;border-radius:4px;color:#667eea;cursor:pointer;font-size:13px;font-weight:600;padding:4px 8px;text-decoration:underline;transition:all .2s ease}.time-format-toggle:hover{background:#667eea1a;text-decoration:none}.dinner-time-input{background:#fff;border:2px solid #ffb84d;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:18px;font-weight:600;max-width:100%;padding:14px 16px;transition:all .2s ease;width:100%}.dinner-time-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.dinner-time-display{color:#6c757d;font-size:14px;margin:12px 0 0}.dinner-time-value{color:#667eea;font-size:18px;font-weight:700}.timeline-steps{display:flex;flex-direction:column;gap:16px}.timeline-step{background:#fff;border-left:5px solid #667eea;border-radius:12px;display:flex;gap:20px;padding:20px;transition:all .2s ease}.timeline-step:hover{background:#f8f9fa;box-shadow:0 4px 12px #0000001a;transform:translateX(5px)}.timeline-step-time{display:flex;flex-direction:column;gap:4px;min-width:120px}.step-time-value{color:#667eea;font-size:22px;font-weight:700;line-height:1.2}.step-duration{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.timeline-step-content{flex:1 1}.step-description{color:#2c3e50;font-size:16px;font-weight:500;line-height:1.5;margin:0 0 8px}.step-tip{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:3px solid #2196f3;border-radius:6px;color:#1565c0;font-size:14px;font-style:italic;margin:12px 0 0;padding:12px}.timeline-final{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)!important;border-left-color:#4caf50}.timeline-final .step-time-value{color:#4caf50}.timeline-final-message{color:#2e7d32;font-size:17px;font-weight:600;margin:0}.modal-empty-message{color:#6c757d;font-style:italic;padding:40px;text-align:center}.timeline-empty{align-items:center;color:#adb5bd;display:flex;flex-direction:column;gap:16px}.modal-footer{border-top:2px solid #e9ecef;display:flex;justify-content:flex-end;padding-top:20px}@media (max-width:768px){.modal-backdrop{padding:0}.modal-container{border-radius:0;height:auto;margin:0;max-height:none;overflow:visible}.modal-header{padding:20px}.modal-title{font-size:24px}.modal-body{gap:20px;padding:20px}.modal-ingredients-list{grid-template-columns:1fr}.nutrition-grid{grid-template-columns:repeat(2,1fr)}.timeline-step{flex-direction:column;gap:12px}.timeline-step-time{min-width:auto}.dinner-time-header{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.nutrition-grid{grid-template-columns:1fr}.modal-stats{flex-direction:column;gap:12px}}.notification{animation:slideInRight .3s ease-out,fadeOut .3s ease-in 2.7s forwards;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;height:auto;max-width:400px;min-height:auto;padding:12px 16px;position:fixed;right:20px;top:20px;width:auto;z-index:9999}.notification,.notification-content{align-items:center;display:flex;flex-direction:row;gap:8px}.notification-content svg{flex-shrink:0;height:20px;width:20px}.notification-content span{color:#1e293b;color:var(--text-primary);font-size:14px;font-weight:500;white-space:nowrap}.notification-close{align-items:center;background:#0000;border:none;border-radius:4px;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;padding:4px;transition:all .2s;width:20px}.notification-close:hover{background:#f1f5f9;color:#1e293b;color:var(--text-primary)}.notification-close svg{height:16px;width:16px}.notification-success{border-left:3px solid #10b981}.notification-success .notification-content svg{color:#10b981}.notification-error{border-left:3px solid #ef4444}.notification-error .notification-content svg{color:#ef4444}.notification-info{border-left:3px solid #d93b4c}.notification-info .notification-content svg{color:#d93b4c}@keyframes slideInRight{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100px)}}.recipe-favorite-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:50%;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;left:12px;position:absolute;top:12px;transition:all .2s;width:40px;z-index:10}.recipe-favorite-btn:hover{border-color:#ef4444;color:#ef4444;transform:scale(1.1)}.recipe-favorite-btn.is-favorite{background:#fef2f2;border-color:#ef4444;color:#ef4444}.recipe-favorite-btn.is-favorite:hover{background:#fee2e2}.recipe-card{position:relative}.favorite-badge{align-items:center;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;border-radius:var(--radius-md);color:#ef4444;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:6px 12px}.favorite-badge svg{flex-shrink:0}.header-actions .btn-icon.is-favorite{color:#ef4444}.header-actions .btn-icon.is-favorite:hover{background:#fef2f2}@media print{.print-button,.shopping-list-controls,.sidebar,.view-header,footer,header,nav{display:none!important}.shopping-list-container>div:has(button){display:none!important}.shopping-category div[style*="width: 120px"],.shopping-category div[style*="width: 80px"],.shopping-list-container>div[style*="justify-content: flex-end"],.shopping-list-header>div[style*="display: flex"][style*=gap],.shopping-list-header>div[style*=border-radius]{display:none!important}@page{size:letter;margin:.4in .5in}body{background:#fff!important;color:#000!important;font-size:9pt!important;line-height:1.3!important}.main-content,.shopping-list-container,.shopping-list-view{margin:0!important;max-width:100%!important;padding:0!important;width:100%!important}.shopping-list-header{border-bottom:1px solid #000!important;display:block!important;margin-bottom:12pt!important;padding-bottom:8pt!important;text-align:center!important}.shopping-list-header h2{font-size:14pt!important;margin:0 0 3pt!important}.shopping-list-header p{color:#333!important;font-size:9pt!important;margin:0!important}.shopping-list-header .date{color:#666!important;font-size:8pt!important}.shopping-categories{column-count:3!important;column-fill:balance!important;column-gap:20pt!important;display:block!important}.shopping-category{-webkit-column-break-inside:avoid!important;background:#fff!important;border:none!important;border-bottom:1px solid #ccc!important;break-inside:avoid!important;display:inline-block!important;margin-bottom:8pt!important;padding:0 0 6pt!important;page-break-inside:avoid!important;width:100%!important}.shopping-category>div:first-child{background:#0000!important;border-bottom:none!important;break-after:avoid!important;cursor:default!important;margin:0 0 4pt!important;padding:0 0 3pt!important;page-break-after:avoid!important}.shopping-category h3{display:inline!important;font-size:9pt!important;font-weight:700!important;margin:0!important}.shopping-category div[style*="padding: 2px 10px"],.shopping-category div[style*="padding: 4px 12px"],.shopping-category svg{display:none!important}.shopping-items{display:block!important;list-style:none!important;margin:0!important;padding:0!important}.shopping-items li{align-items:flex-start!important;border-bottom:none!important;break-inside:avoid!important;display:flex!important;font-size:8pt!important;line-height:1.3!important;padding:1pt 0!important;page-break-inside:avoid!important}.shopping-items li:first-child,.shopping-items li:nth-child(2){break-before:avoid!important;page-break-before:avoid!important}.shopping-items input[type=checkbox]{-webkit-appearance:none!important;appearance:none!important;background:#fff!important;border:1pt solid #333!important;border-radius:1pt!important;flex-shrink:0!important;height:8pt!important;margin-right:4pt!important;margin-top:1pt!important;width:8pt!important}.shopping-items input[type=checkbox]:checked{background:#333!important}.shopping-items li.checked{display:none!important}.shopping-items li span{flex:1 1!important}.shopping-items{max-height:none!important;overflow:visible!important}.shopping-category[style*="border: 2px solid rgb(16, 185, 129)"]{border:none!important;border-bottom:1px solid #ccc!important}.shopping-list-container:after{content:""!important;display:none!important}}:root{--mobile-header-height:56px;--mobile-bottom-nav-height:64px;--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-top:env(safe-area-inset-top,0px);--touch-target-min:44px}.desktop-sidebar{align-self:stretch;background:linear-gradient(180deg,#1a1a2e,#16213e);display:flex;flex-direction:column;height:100vh;min-height:100vh;min-width:240px;position:-webkit-sticky;position:sticky;top:0;width:240px}.sidebar-logo{border-bottom:1px solid #ffffff1a;padding:24px 20px}.sidebar-logo img{height:auto;max-width:180px;width:100%}.sidebar-nav{flex:1 1;overflow-y:auto;padding:16px 12px}.sidebar-nav-item{align-items:center;background:#0000;border:none;border-radius:10px;color:#ffffffb3;cursor:pointer;display:flex;font-size:15px;font-weight:400;gap:12px;margin-bottom:4px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.sidebar-nav-item:hover{background:#ffffff1a;color:#fff}.sidebar-nav-item.active{background:linear-gradient(135deg,#d93b4c,#b91c3c);color:#fff;font-weight:600}.sidebar-user-section{border-top:1px solid #ffffff1a;padding:16px}.sidebar-user-info{align-items:center;background:#ffffff0d;border-radius:10px;display:flex;gap:12px;margin-bottom:12px;padding:12px}.sidebar-user-avatar{align-items:center;background:linear-gradient(135deg,#d93b4c,#b91c3c);border-radius:50%;color:#fff;display:flex;height:36px;justify-content:center;width:36px}.sidebar-user-details{flex:1 1;min-width:0}.sidebar-user-name{color:#fff;font-size:14px;font-weight:600}.sidebar-user-email,.sidebar-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{color:#ffffff80;font-size:12px}.sidebar-logout-btn{align-items:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;color:#ef4444;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px;transition:all .2s ease;width:100%}.sidebar-logout-btn:hover{background:#ef444433}.mobile-header{background:linear-gradient(180deg,#1a1a2e,#16213e);display:none;height:56px;height:var(--mobile-header-height);left:0;padding-top:env(safe-area-inset-top,0);padding-top:var(--safe-area-top);position:fixed;right:0;top:0;z-index:1000}.mobile-header-content{align-items:center;display:flex;height:100%;justify-content:space-between;padding:0 16px}.mobile-logo{cursor:pointer;height:32px;width:auto}.mobile-user-badge{align-items:center;background:#ffffff1a;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .2s;width:36px}.mobile-user-badge:active{background:#fff3}.mobile-bottom-nav{background:#fff;border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);bottom:0;box-shadow:0 -2px 10px #0000001a;display:none;grid-template-columns:repeat(5,1fr);height:calc(64px + env(safe-area-inset-bottom, 0px));height:calc(var(--mobile-bottom-nav-height) + var(--safe-area-bottom));left:0;padding-bottom:env(safe-area-inset-bottom,0);padding-bottom:var(--safe-area-bottom);position:fixed;right:0;z-index:1000}.mobile-nav-item{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;font-size:11px;font-weight:500;gap:4px;justify-content:center;min-height:44px;min-height:var(--touch-target-min);padding:8px 4px;transition:all .2s}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-item.active{color:#d93b4c;color:var(--primary-color)}.mobile-nav-item.active svg{stroke-width:2.5}.mobile-nav-item span{line-height:1}.mobile-menu-backdrop{animation:fadeIn .2s ease;background:#00000080;inset:0;position:fixed;z-index:1001}.mobile-menu-sheet{animation:slideUp .3s ease;background:#fff;border-radius:20px 20px 0 0;bottom:0;left:0;max-height:80vh;overflow-y:auto;padding:24px 20px calc(24px + env(safe-area-inset-bottom, 0px));padding:24px 20px calc(24px + var(--safe-area-bottom));position:fixed;right:0;z-index:1002}.mobile-menu-close{align-items:center;background:#f1f5f9;background:var(--bg-tertiary);border:none;border-radius:50%;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:16px;top:16px;width:40px}.mobile-menu-user{align-items:center;background:#f8fafc;background:var(--bg-secondary);border-radius:12px;display:flex;gap:14px;margin-bottom:20px;padding:16px}.mobile-user-avatar{align-items:center;background:linear-gradient(135deg,#d93b4c,#b91c3c);border-radius:50%;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.mobile-user-info{flex:1 1;min-width:0}.mobile-user-name{color:#1e293b;color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:2px}.mobile-user-email{color:#64748b;color:var(--text-secondary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-items{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.mobile-menu-item{align-items:center;background:none;border:none;border-radius:12px;color:#1e293b;color:var(--text-primary);cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:14px;min-height:44px;min-height:var(--touch-target-min);padding:14px 16px;text-align:left;transition:background .2s}.mobile-menu-item:active{background:#f1f5f9;background:var(--bg-tertiary)}.mobile-menu-item.active{background:#d93b4c1a;color:#d93b4c;color:var(--primary-color)}.mobile-menu-logout{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:12px;color:#ef4444;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:10px;justify-content:center;min-height:44px;min-height:var(--touch-target-min);padding:14px;width:100%}.mobile-menu-logout:active{background:#ef444433}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width:767px){.mobile-header{display:block}.mobile-bottom-nav{display:grid}.desktop-sidebar{display:none}.app{flex-direction:column}.main-content{margin-left:0;min-height:100vh;padding:calc(72px + env(safe-area-inset-top, 0px)) 16px 16px;padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(var(--mobile-bottom-nav-height) + var(--safe-area-bottom) + 16px);padding-top:calc(var(--mobile-header-height) + var(--safe-area-top) + 16px);width:100%}.recipe-grid{gap:12px;grid-template-columns:1fr}.recipe-card{min-height:auto}.view-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:16px}.view-header h1,.view-header h2{font-size:24px}.filters{flex-direction:column;gap:10px;width:100%}.cookbook-filter,.search-bar{min-width:auto;width:100%}.btn,[role=button],button{min-height:44px;min-height:var(--touch-target-min)}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{font-size:16px;min-height:44px;min-height:var(--touch-target-min)}.meal-plan-card{padding:12px}.shopping-categories{grid-template-columns:1fr}.nutrition-detail-grid,.nutrition-grid{grid-template-columns:repeat(2,1fr)}.form-row,.nutrition-inputs{grid-template-columns:1fr}.cookbook-card{align-items:flex-start;flex-direction:column;gap:12px}.cookbook-actions{justify-content:flex-start;width:100%}.upload-tabs{flex-wrap:wrap;gap:8px;padding:12px}.upload-tab{flex-basis:calc(33% - 8px);flex-direction:column;flex-grow:1;flex-shrink:1;font-size:12px;gap:4px;min-width:90px;padding:10px 8px}.upload-tab svg{height:18px;width:18px}.modal-content,.recipe-detail-modal{border-radius:0;height:100%;margin:0;max-height:100%;max-width:100%;width:100%}.meal-selectors{grid-template-columns:1fr}.servings-scaler{flex-wrap:wrap}}@media (max-width:479px){.main-content{padding:calc(68px + env(safe-area-inset-top, 0px)) 12px 12px;padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(var(--mobile-bottom-nav-height) + var(--safe-area-bottom) + 12px);padding-top:calc(var(--mobile-header-height) + var(--safe-area-top) + 12px)}.view-header h1,.view-header h2{font-size:20px}.nutrition-detail-grid,.nutrition-grid{grid-template-columns:1fr}.mobile-nav-item{font-size:10px}.mobile-nav-item svg{height:22px;width:22px}}@media (min-width:768px) and (max-width:1024px){.desktop-sidebar{min-width:200px;width:200px}.sidebar-logo img{max-width:150px}.sidebar-nav-item{font-size:14px;padding:10px 14px}.main-content{box-sizing:border-box;flex:1 1;max-width:calc(100vw - 200px);min-width:0;overflow-x:hidden;padding:24px}.recipe-grid{grid-gap:16px!important;display:grid!important;gap:16px!important;grid-template-columns:repeat(2,1fr)!important;width:100%!important}.recipe-card,.recipe-grid{box-sizing:border-box!important;max-width:100%!important}.recipe-card{min-width:0!important;overflow:hidden!important;padding:16px!important}.recipe-card h3,.recipe-card-title{word-wrap:break-word!important;font-size:16px!important;overflow-wrap:break-word!important}.recipe-card-header{max-width:100%}.shopping-list-container,.shopping-list-view{box-sizing:border-box;max-width:100%;overflow-x:hidden;width:100%}.shopping-categories{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)!important;max-width:100%;width:100%}.shopping-category{box-sizing:border-box;max-width:100%;min-width:0;overflow:hidden}.shopping-list-header{flex-wrap:wrap;gap:12px}.nutrition-grid{grid-template-columns:repeat(3,1fr)}.form-row{grid-template-columns:repeat(2,1fr)}.home-view{overflow-x:hidden!important;width:100%!important}.home-view,.home-view>*{box-sizing:border-box!important;max-width:100%!important}.search-filters{align-items:stretch;flex-direction:column}.search-filters .search-box{min-width:0;min-width:auto;width:100%}}@media (min-width:1024px) and (max-width:1200px){.main-content{box-sizing:border-box;flex:1 1;max-width:calc(100vw - 240px);min-width:0;overflow-x:hidden}.recipe-grid{gap:16px;grid-template-columns:repeat(3,1fr);max-width:100%;width:100%}.shopping-categories{gap:16px;grid-template-columns:repeat(2,1fr);width:100%}.recipe-card,.shopping-category{max-width:100%;min-width:0;overflow:hidden}}@media (display-mode:standalone){.mobile-header{padding-top:max(env(safe-area-inset-top,0px),12px);padding-top:max(var(--safe-area-top),12px)}.mobile-bottom-nav{padding-bottom:max(env(safe-area-inset-bottom,0px),8px);padding-bottom:max(var(--safe-area-bottom),8px)}}@media (hover:none) and (pointer:coarse){.sidebar-nav-item:hover{background:#0000;color:#ffffffb3}.sidebar-nav-item.active:hover{background:linear-gradient(135deg,#d93b4c,#b91c3c);color:#fff}.sidebar-nav-item:active{background:#ffffff1a;color:#fff}.recipe-card-actions button{min-height:44px;min-width:44px}button{-webkit-user-select:none;user-select:none}}@media (max-width:900px) and (orientation:landscape){.mobile-header{height:48px}.mobile-bottom-nav{height:56px}.main-content{padding-bottom:calc(68px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(68px + var(--safe-area-bottom));padding-top:calc(60px + env(safe-area-inset-top, 0px));padding-top:calc(60px + var(--safe-area-top))}.mobile-menu-sheet{max-height:90vh}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.mobile-menu-backdrop,.mobile-menu-sheet{animation:none}}@media print{.desktop-sidebar,.mobile-bottom-nav,.mobile-header,.mobile-menu-backdrop,.mobile-menu-sheet{display:none!important}.main-content{margin:0!important;padding:0!important}}@media (max-width:767px){.shopping-actions,.shopping-header,.shopping-list-container>div:first-child{flex-wrap:wrap!important;gap:8px!important}.shopping-list-container button{font-size:13px!important;min-width:auto!important;padding:8px 12px!important}@media (max-width:400px){.shopping-list-container .btn-icon-text span,.shopping-list-container button span:not(:only-child){display:none}}.shopping-progress,.shopping-stats{align-items:center!important;flex-direction:column!important;text-align:center!important}.modal-overlay>div,.recipe-detail-modal,.recipe-modal{border-radius:0!important;height:100%!important;margin:0!important;max-height:100%!important;max-width:100%!important;width:100%!important}.modal-content{padding:16px!important}.cooking-timeline,.timeline-container{max-width:100%!important;overflow-x:hidden!important}.timeline-item,.timeline-step{word-wrap:break-word!important;max-width:100%!important}.main-content>*{max-width:100%!important;overflow-x:hidden!important}.card,.meal-card,.recipe-card,.shopping-category{box-sizing:border-box!important;max-width:100%!important}.action-buttons,.btn-group,.button-row{flex-wrap:wrap!important;gap:8px!important}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text],select,textarea{box-sizing:border-box!important;max-width:100%!important}}@media (max-width:400px){.main-content{padding:calc(66px + env(safe-area-inset-top, 0px)) 10px 10px!important;padding-bottom:calc(74px + env(safe-area-inset-bottom, 0px))!important;padding-bottom:calc(var(--mobile-bottom-nav-height) + var(--safe-area-bottom) + 10px)!important;padding-top:calc(var(--mobile-header-height) + var(--safe-area-top) + 10px)!important}.view-header h1,h1{font-size:20px!important}.view-header h2,h2{font-size:18px!important}.btn,button{font-size:14px!important;padding:10px 14px!important}}@media (max-width:767px){.modal-overlay,.recipe-modal-overlay{padding:0!important}.meal-detail-modal,.recipe-detail-content,.recipe-modal-content{border-radius:0!important;box-sizing:border-box!important;margin:0!important;max-width:100vw!important;min-height:100vh!important;overflow-x:hidden!important;width:100vw!important}.cooking-timeline,.timeline-container,.timeline-section,[class*=timeline]{overflow-x:hidden!important;padding-left:12px!important;padding-right:12px!important}.cooking-timeline,.dinner-time-picker,.time-picker,.time-selector,.timeline-container,.timeline-section,[class*=time-input],[class*=time-picker],[class*=timeline]{box-sizing:border-box!important;max-width:100%!important;width:100%!important}.step-card,.timeline-item,.timeline-step,[class*=step]{word-wrap:break-word!important;box-sizing:border-box!important;margin-left:12px!important;margin-right:12px!important;max-width:calc(100% - 24px)!important;overflow-wrap:break-word!important;width:100%!important}.cooking-tip,.tip-box,[class*=tip]{word-wrap:break-word!important;box-sizing:border-box!important;max-width:100%!important}.modal-header,.recipe-modal-header{box-sizing:border-box!important;padding:20px 16px!important;width:100%!important}.modal-body,.recipe-modal-body{box-sizing:border-box!important;overflow-x:hidden!important;padding:16px!important;width:100%!important}.meal-detail-modal *,.recipe-modal-content *{box-sizing:border-box!important;max-width:100%!important}.meal-detail-modal input,.recipe-modal-content input{max-width:100%!important;width:100%!important}.modal-backdrop{-webkit-overflow-scrolling:touch!important;background:#00000080!important;bottom:0!important;left:0!important;overflow-y:auto!important;position:fixed!important;right:0!important;top:0!important;z-index:1000!important}.modal-container{border-radius:0!important;margin:0 auto!important;overflow:visible!important;overflow-y:visible!important;position:relative!important}.modal-body,.modal-container{height:auto!important;max-height:none!important}.modal-body{overflow:visible!important}.dinner-time-selector,.ingredients-section,.modal-section,.nutrition-section,.timeline-section,.timeline-steps{height:auto!important;max-height:none!important;overflow:visible!important}.dinner-time-selector{box-sizing:border-box!important;margin-left:16px!important;margin-right:16px!important;padding:16px!important;width:calc(100% - 32px)!important}.dinner-time-input{box-sizing:border-box!important;font-size:16px!important;max-width:100%!important;width:100%!important}.dinner-time-header{align-items:flex-start!important;flex-direction:column!important}}
/*# sourceMappingURL=main.b89a56f7.css.map*/