.weekly-menu{margin:0 auto;max-width:1200px}.weekly-header{align-items:center;background:#fffffff2;border-radius:10px;box-shadow:0 4px 6px #0000001a;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:20px;padding:20px}.weekly-header h2{color:#333;font-size:1.8rem;margin:0}.offline-notice{margin:5px 0;text-align:center;width:100%}.refresh-button{background:#ff6b6b;border:none;border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .3s ease}.refresh-button:hover:not(:disabled){background:#ff5252;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.refresh-button:disabled{background:#ccc;box-shadow:0 2px 4px #0000001a;cursor:not-allowed;transform:none}.menu-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.menu-card{background:#fffffff2;border-radius:15px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.menu-card:hover{box-shadow:0 8px 15px #00000026;transform:translateY(-5px)}.day-header{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);display:flex;flex-wrap:wrap;justify-content:space-between;padding:15px}.day-name{font-size:1.2rem;font-weight:700}.recipe-category{background-color:#fff3;border-radius:10px;font-size:.8rem;margin-left:10px;padding:3px 8px}.recipe-content{padding:20px}.recipe-name{color:#333;font-size:1.4rem;margin:0 0 15px;text-align:center}.ingredients h4{color:#666;font-size:1rem;margin:0 0 10px}.ingredients ul{list-style:none;margin:0;padding:0}.ingredients li{background:#f8f9fa;border-left:4px solid #4caf50;border-radius:8px;font-size:.9rem;margin:5px 0;padding:8px 12px}@media (max-width:768px){.weekly-header{flex-direction:column;gap:15px;text-align:center}.menu-grid{gap:15px;grid-template-columns:1fr}.menu-card{margin:0 10px}}.weekly-meal-plan{margin:0 auto;max-width:1400px;padding:0}.plan-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 16px 40px #6366f11a;margin-bottom:32px;padding:32px;text-align:center}.plan-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;margin-bottom:12px}.plan-header p{color:#64748b;font-size:1.1rem;margin:0}.plan-stats{display:flex;gap:20px;justify-content:center;margin-bottom:24px}.plan-stats .stat-item{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;display:flex;gap:16px;padding:20px 32px;transition:all .3s ease}.plan-stats .stat-item:hover{box-shadow:0 8px 24px #6366f126;transform:translateY(-2px)}.plan-controls{display:flex;gap:16px;justify-content:center;margin-bottom:32px}.clear-button,.generate-button{align-items:center;border:none;border-radius:16px;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:8px;padding:16px 32px;transition:all .3s ease}.generate-button{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 6px 20px #6366f166}.generate-button:hover:not(:disabled){box-shadow:0 10px 30px #6366f180}.generate-button:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed}.clear-button{background:#e2e8f0;color:#475569}.clear-button:hover{background:#cbd5e1}.no-recipes-message{margin:20px 0;padding:40px}.no-recipes-message p{margin:8px 0}.weekly-calendar{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(7,1fr);margin-top:24px}.day-column{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;overflow:hidden;transition:all .3s ease}.day-column:hover{box-shadow:0 8px 24px #6366f126;transform:translateY(-4px)}.day-header{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:16px;text-align:center}.day-header h3{font-size:1.1rem;font-weight:700;margin:0}.day-header .date{font-size:.9rem;opacity:.9}.meals-container{display:flex;flex-direction:column;gap:12px;padding:12px}.meal-card{background:linear-gradient(135deg,#6366f108,#8b5cf608);border:2px solid #6366f11a;border-radius:12px;padding:12px;position:relative;transition:all .3s ease}.meal-card:hover{background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border-color:#6366f14d}.meal-type-badge{align-items:center;color:#6366f1;display:flex;font-size:.85rem;font-weight:700;gap:4px}.meal-content,.meal-type-badge{margin-bottom:8px}.meal-title{color:#1e293b;font-size:.95rem;font-weight:700;line-height:1.3;margin:0 0 6px}.meal-description{color:#64748b;font-size:.8rem;line-height:1.4;margin:4px 0}.meal-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.meta-tag{background:#6366f11a;color:#6366f1}.difficulty-tag,.meta-tag{border-radius:6px;font-size:.75rem;font-weight:600;padding:3px 8px}.difficulty-tag.easy{background:#10b9811a;color:#059669}.difficulty-tag.medium{background:#fbbf241a;color:#d97706}.difficulty-tag.hard{background:#ef44441a;color:#dc2626}.regenerate-button{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;box-shadow:0 2px 8px #6366f14d;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;position:absolute;right:8px;top:8px;transition:all .3s ease;width:32px}.regenerate-button:hover{box-shadow:0 4px 12px #6366f180;transform:scale(1.1) rotate(180deg)}.empty-meal{color:#94a3b8;font-size:.9rem;padding:20px;text-align:center}@media (max-width:1200px){.weekly-calendar{grid-template-columns:repeat(4,1fr)}}@media (max-width:900px){.weekly-calendar{grid-template-columns:repeat(2,1fr)}.plan-header h2{font-size:2rem}}@media (max-width:600px){.weekly-meal-plan{padding:10px}.plan-header{margin-bottom:20px;padding:20px 15px}.plan-header h2{font-size:1.8rem}.plan-header p{font-size:.95rem}.weekly-calendar{gap:15px;grid-template-columns:1fr}.plan-stats{flex-direction:column;gap:12px}.plan-stats .stat-item{padding:15px 20px}.plan-controls{flex-direction:column;gap:10px}.clear-button,.generate-button{font-size:.95rem;justify-content:center;padding:12px 20px;width:100%}.day-card{padding:15px}.meal-slot{padding:12px}.meal-slot h4{font-size:.9rem}.recipe-name{font-size:.85rem}}.recipe-roulette{margin:0 auto;max-width:800px}.roulette-header{background:#fffffff2;border-radius:10px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;padding:20px;text-align:center}.roulette-header h2{color:#333;font-size:1.8rem;margin:0 0 10px}.roulette-header p{color:#666;font-size:1rem;margin:0 0 10px}.offline-notice{background-color:#f8d7da;border-radius:15px;color:#721c24;display:inline-block;font-size:.8rem;margin:10px 0 0;padding:5px 10px}.roulette-container{align-items:center;display:flex;flex-direction:column;gap:30px;margin-bottom:30px}.roulette-wheel{align-items:center;animation:gradientShift 3s ease-in-out infinite;background:linear-gradient(45deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#ffeaa7);background-size:400% 400%;border-radius:50%;box-shadow:0 8px 20px #00000026;display:flex;height:250px;justify-content:center;position:relative;width:250px}.roulette-wheel.spinning{animation:spin 1s linear,gradientShift 3s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.wheel-content{background:#fffffff2;border-radius:50%;box-sizing:border-box;height:200px;padding:20px;text-align:center;width:200px}.recipe-result,.wheel-content{align-items:center;display:flex;flex-direction:column;justify-content:center}.recipe-result{height:100%;padding:10px;width:100%}.recipe-result .recipe-emoji{flex-shrink:0;font-size:2.5rem;margin-bottom:8px}.recipe-result .recipe-title{word-wrap:break-word;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;color:#333;display:-webkit-box;font-size:1.1rem;font-weight:700;line-height:1.2;margin:0;max-width:100%;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis;word-break:break-word}.recipe-category{background-color:#f0f2f5;border-radius:8px;color:#333;font-size:.7rem;margin:0;padding:2px 6px}.no-recipe .question-mark{font-size:4rem;margin-bottom:10px}.no-recipe p{color:#666;font-size:.9rem;line-height:1.4;margin:0}.spin-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:30px;box-shadow:0 4px 15px #0003;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;min-width:200px;padding:15px 30px;transition:all .3s ease}.spin-button:hover:not(:disabled){box-shadow:0 6px 20px #00000040;transform:translateY(-3px)}.spin-button:disabled{cursor:not-allowed;opacity:.7}.spin-button.spinning{animation:pulse .5s ease-in-out infinite alternate}.recipe-details{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.recipe-card{background:#fffffff2;box-shadow:0 4px 15px #0000001a;text-align:center}.recipe-card h3{color:#333;font-size:1.3rem;margin:0 0 15px}.recipe-title{color:#4caf50;font-size:1.8rem;font-weight:700;margin:0 0 20px}.recipe-ingredients h5{color:#666;font-size:1rem;margin:0 0 15px}.ingredients-list{flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:20px}.ingredient-tag{background:linear-gradient(135deg,#4ecdc4,#44a08d);border-radius:15px;font-size:.9rem}.cooking-message{background:#f8f9fa;border-left:4px solid #4caf50;border-radius:10px;padding:15px}.cooking-message p{color:#333;font-size:.95rem;line-height:1.5;margin:0}@media (max-width:768px){.roulette-wheel{height:200px;width:200px}.wheel-content{height:160px;padding:15px;width:160px}.recipe-result .recipe-emoji{font-size:2.5rem}.recipe-result h3{font-size:1rem}.no-recipe .question-mark{font-size:3rem}.spin-button{font-size:1rem;min-width:180px;padding:12px 25px}.ingredients-list{justify-content:center}}.roulette-stats{display:flex;gap:20px;justify-content:center;margin-bottom:24px}.roulette-stats .stat-item{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;display:flex;gap:16px;padding:20px 32px;transition:all .3s ease}.roulette-stats .stat-item:hover{box-shadow:0 8px 24px #6366f126;transform:translateY(-2px)}.stat-icon{font-size:2.5rem}.stat-info{text-align:left}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.stat-label{color:#64748b;font-size:.9rem;font-weight:600}.recipe-ingredients-preview li:last-child{border-bottom:none}.roulette-actions{display:flex;gap:16px;justify-content:center;margin-top:24px}.action-button{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:8px;padding:14px 28px;transition:all .3s ease}.spin-again{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 15px #6366f14d;color:#fff}.spin-again:hover{box-shadow:0 6px 20px #6366f180;transform:translateY(-2px)}.no-recipes-message{background:#ffc1071a;border:2px dashed #ffc1074d;border-radius:16px;margin-top:20px;padding:32px;text-align:center}.no-recipes-message p{color:#f59e0b;font-size:1.1rem;font-weight:600;margin:0}@media (max-width:768px){.recipe-roulette{margin:0;padding:15px}.roulette-header h2{font-size:1.8rem}.roulette-header p{font-size:.95rem}.roulette-container{padding:20px 10px}.roulette-wheel{height:250px;width:250px}.wheel-content{height:180px;padding:15px;width:180px}.recipe-result .recipe-emoji{font-size:2rem;margin-bottom:6px}.recipe-result .recipe-title{-webkit-line-clamp:4;line-clamp:4;font-size:.95rem}.spin-button{font-size:1rem;min-width:160px;padding:12px 24px}.roulette-stats,.stat-item{padding:15px}.stat-value{font-size:2rem}}.free-recipe-generator{background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#d946ef);border-radius:16px;color:#333;margin:0 auto;max-width:1200px;padding:20px}.generator-header{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:30px;padding:25px;text-align:center}.generator-header h2{color:#2c3e50;font-size:2.2rem;margin-bottom:15px}.generator-header p{color:#7f8c8d;font-size:1.1rem;margin-bottom:20px}.free-features{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.feature-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;box-shadow:0 2px 6px #10b9814d;color:#fff;font-size:.9rem;font-weight:600;padding:8px 16px}.smart-suggestions{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:25px;padding:25px}.smart-suggestions h3{color:#2c3e50;font-size:1.4rem;margin-bottom:20px}.suggestions-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.suggestion-card{background:#f8f9fa;border:2px solid #0000;border-radius:10px;cursor:pointer;padding:20px;transition:all .3s ease}.suggestion-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-3px)}.suggestion-card.priority-urgent{background:linear-gradient(135deg,#fff,#ffebee);border-color:#e74c3c}.suggestion-card.priority-balanced{background:linear-gradient(135deg,#fff,#e3f2fd);border-color:#3498db}.suggestion-card.priority-quick{background:linear-gradient(135deg,#fff,#fff8e1);border-color:#f39c12}.suggestion-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.suggestion-header h4{color:#2c3e50;margin:0}.priority-badge{font-size:.8rem;font-weight:600}.suggestion-reason{color:#6c757d;font-size:.95rem;margin-bottom:10px}.suggestion-meta{color:#495057;display:flex;font-size:.9rem;gap:15px}.input-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:25px;padding:25px}.ingredients-tag-input{width:100%}.tags-container{align-items:flex-start;background:#fafafa;border:2px solid #e1e8ed;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;min-height:120px;padding:12px;transition:border-color .3s ease}.tags-container:focus-within{border-color:#27ae60;box-shadow:0 0 0 3px #27ae601a}.ingredient-tag{align-items:center;animation:tagAppear .2s ease;background:linear-gradient(135deg,#27ae60,#229954);border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#fff;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:6px 12px}@keyframes tagAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.remove-tag{background:none;border:none;color:#fff;cursor:pointer;font-size:18px;line-height:1;margin-left:4px;opacity:.8;padding:0;transition:opacity .2s ease}.remove-tag:hover{opacity:1;transform:scale(1.2)}.tag-input{background:#0000;border:none;color:#2c3e50;flex:1 1;font-size:14px;min-width:200px;outline:none;padding:6px 8px}.tag-input::placeholder{color:#95a5a6;font-style:italic}.tag-input-wrapper{align-items:center;display:flex;flex:1 1;gap:8px;min-width:200px}.add-ingredient-tag-btn{background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:20px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:none;font-size:13px;font-weight:600;padding:6px 16px;transition:all .3s ease;white-space:nowrap}.add-ingredient-tag-btn:hover:not(:disabled){box-shadow:0 4px 8px #27ae604d;transform:translateY(-1px)}.add-ingredient-tag-btn:disabled{cursor:not-allowed;opacity:.5}.input-hint{color:#666;font-size:13px;margin-top:8px}.input-hint,.input-hint-desktop{display:block}.input-hint-mobile{display:none}.input-group{margin-bottom:20px}.input-group label{color:#2c3e50;display:block;font-weight:600;margin-bottom:8px}.required{color:#e74c3c}.input-group input,.input-group select,.input-group textarea{border:2px solid #e1e8ed;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:#27ae60;box-shadow:0 0 0 3px #27ae601a;outline:none}.options-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.options-grid .input-group{margin-bottom:0}.options-grid .input-group label{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generate-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:25px}.generate-button,.suggestions-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:10px;justify-content:center;min-width:200px;padding:16px 24px;transition:all .3s ease}.generate-button{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff}.generate-button:hover:not(:disabled){background:linear-gradient(135deg,#229954,#27ae60);box-shadow:0 6px 20px #27ae604d;transform:translateY(-2px)}.suggestions-button{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.suggestions-button:hover:not(:disabled){background:linear-gradient(135deg,#2980b9,#1f639a);box-shadow:0 6px 20px #3498db4d;transform:translateY(-2px)}.generate-button:disabled,.suggestions-button:disabled{background:#bdc3c7;box-shadow:none;cursor:not-allowed;transform:none}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;height:18px;width:18px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{background:#fee;border:1px solid #f8d7da;border-radius:6px;color:#c0392b;margin-top:15px;padding:12px}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-weight:600;margin-bottom:15px;padding:12px;text-align:center}.generated-recipe{grid-gap:25px;display:grid;gap:25px}.recipe-section h3,.variations-section h3{color:#fff;font-size:1.4rem;margin-bottom:20px;text-shadow:0 2px 4px #0000004d}.recipe-card{border-left:4px solid #27ae60;border-radius:12px;box-shadow:0 4px 12px #0000001a}.variation-card{border-left-color:#3498db}.recipe-card-title{color:#3498db;font-size:1.1rem;font-weight:600;margin:0 0 15px}.recipe-header{align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:20px}.recipe-header h3{font-size:1.6rem;min-width:200px;text-shadow:none}.save-recipe-btn{background:#27ae60;border:none;border-radius:6px;cursor:pointer;flex-shrink:0;font-weight:600;padding:10px 20px;transition:all .3s ease}.save-recipe-btn:hover{background:#229954}.recipe-meta{margin-bottom:15px}.generation-badge{border-radius:6px;display:inline-block;font-size:.85rem;font-weight:600;margin-bottom:10px;padding:6px 12px}.generation-badge.ai-generated{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.generation-badge.fallback{background:#f39c12;color:#fff}.fallback-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.9rem;margin-bottom:15px;padding:10px 15px}.recipe-meta{gap:15px}.recipe-meta span{background:#ecf0f1;color:#2c3e50;font-size:14px;font-weight:500;padding:8px 12px}.generation-note{background:linear-gradient(135deg,#e8f5e8,#f0f8f0);border:1px solid #c3e6cb;border-radius:8px;color:#27ae60;font-weight:600;margin-bottom:15px;padding:12px}.suggestion-reason{background:#fff3cd;border-radius:6px;color:#856404;font-weight:500;margin-bottom:15px;padding:10px}.recipe-description{color:#34495e;font-size:1.1rem;font-style:italic;margin-bottom:20px}.nutrition-info-compact{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.nutrition-info-compact span{background:#e8f5e8;border-radius:15px;color:#27ae60;font-size:.9rem;font-weight:600;padding:6px 12px}.recipe-content{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 2fr}.ingredients-section h5,.instructions-section h5,.tips-section-compact h5{border-bottom:2px solid #27ae60;color:#2c3e50;font-size:1.1rem;margin-bottom:12px;padding-bottom:5px}.ingredients-list-compact{background:#f8f9fa;border-radius:8px;list-style:none;overflow:hidden;padding:0}.ingredients-list-compact li{border-bottom:1px solid #e9ecef;color:#2c3e50;font-weight:500;padding:10px 15px}.ingredients-list-compact li:last-child{border-bottom:none}.instructions-compact{background:#f8f9fa;border-radius:8px;padding:15px}.instruction-step-compact{color:#2c3e50;line-height:1.6;margin-bottom:10px;padding-left:20px;position:relative}.instruction-step-compact:before{align-items:center;background:#27ae60;border-radius:50%;color:#fff;content:counter(step-counter);counter-increment:step-counter;display:flex;font-size:11px;font-weight:600;height:16px;justify-content:center;left:0;position:absolute;top:0;width:16px}.instructions-compact{counter-reset:step-counter}.tips-section-compact{background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;grid-column:1/-1;padding:15px}.tips-section-compact p{color:#856404;font-weight:500;line-height:1.6;margin:0}.variations-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;padding:25px}.variations-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.toggle-variations{background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.toggle-variations:hover{background:#ffffff4d;transform:translateY(-1px)}.variations-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.recipe-actions{gap:15px;justify-content:center}.save-to-my-recipes-button{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;box-shadow:0 4px 15px #6366f166;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:8px;padding:14px 32px;transition:all .3s ease}.save-to-my-recipes-button:hover:not(:disabled){box-shadow:0 6px 20px #6366f199;transform:translateY(-2px)}.save-to-my-recipes-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.free-recipe-generator{margin:10px;padding:15px}.generator-header h2{font-size:1.8rem}.free-features{align-items:center;flex-direction:column}.options-grid,.suggestions-grid{grid-template-columns:1fr}.options-grid{gap:15px}.options-grid .input-group label{font-size:.9rem;white-space:normal}.options-grid .input-group input,.options-grid .input-group select{font-size:16px}.generate-actions{flex-direction:column}.generate-button,.suggestions-button{min-width:auto}.recipe-content{gap:15px}.recipe-content,.variations-grid{grid-template-columns:1fr}.recipe-header,.variations-header{align-items:stretch;flex-direction:column}.tags-container{gap:6px;min-height:100px;padding:10px}.ingredient-tag{border-radius:25px;font-size:15px;min-height:36px;padding:8px 14px}.remove-tag{align-items:center;display:flex;font-size:20px;justify-content:center;min-height:24px;min-width:24px;padding:4px}.tag-input-wrapper{flex-direction:column;gap:10px;min-width:100%;width:100%}.tag-input{font-size:16px;min-width:100%;padding:10px;width:100%}.add-ingredient-tag-btn{display:block;font-size:15px;min-height:44px;padding:12px 16px;width:100%}.input-hint-desktop{display:none}.input-hint-mobile{display:block}.input-section{padding:15px}}.fridge-manager{margin:0 auto;max-width:1200px;padding:0}.fridge-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 16px 40px #667eea1a;margin-bottom:32px;padding:32px;text-align:center}.fridge-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}.fridge-header p{color:#64748b;font-size:1.2rem;font-weight:500;margin:0}.loading{background:#fffffff2;border-radius:20px;box-shadow:0 16px 40px #667eea1a;color:#64748b;padding:60px}.expiry-alerts,.loading{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.expiry-alerts{background:linear-gradient(135deg,#ffc1071a,#ffeb3b1a);border:2px solid #ffc1074d;border-radius:20px;box-shadow:0 12px 32px #ffc10726;margin-bottom:32px;padding:24px}.expiry-alerts h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;background-clip:text;font-size:1.4rem;font-weight:700;margin-bottom:20px}.expiring-items{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:20px}.expiring-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #ffc10733;border-radius:12px;box-shadow:0 4px 12px #ffc1071a;display:flex;justify-content:space-between;padding:16px;transition:all .3s ease}.expiring-item:hover{box-shadow:0 8px 20px #ffc10733;transform:translateY(-2px)}.item-name{color:#1e293b;font-size:1rem;font-weight:600}.expiry-info{align-items:center;background:#fbbf2433;border-radius:8px;color:#d97706;display:flex;font-size:.9rem;font-weight:600;gap:4px;padding:4px 8px}.suggest-recipes-btn{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:12px;box-shadow:0 8px 20px #f59e0b33;color:#fff;cursor:pointer;font-weight:600;padding:14px 24px;transition:all .3s ease}.suggest-recipes-btn:hover{box-shadow:0 12px 28px #f59e0b4d;transform:translateY(-2px)}.fridge-actions{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 16px 40px #667eea1a;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:32px;padding:24px}.add-item-btn,.suggest-all-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:8px;justify-content:center;min-width:200px;padding:16px 24px;transition:all .3s ease}.add-item-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 20px #10b98133;color:#fff}.add-item-btn:hover{box-shadow:0 12px 28px #10b9814d;transform:translateY(-2px)}.suggest-all-btn{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 20px #667eea33;color:#fff}.suggest-all-btn:hover{box-shadow:0 12px 28px #667eea4d;transform:translateY(-2px)}.add-item-form{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 16px 40px #667eea1a;margin-bottom:32px;padding:32px}.add-item-form h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;margin-bottom:24px;text-align:center}.form-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:24px}.form-group.full-width{grid-column:1/-1}.form-group label{color:#1e293b;font-size:.95rem}.form-group input,.form-group select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px solid #667eea33;border-radius:12px;font-size:1rem;padding:14px 16px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-actions{gap:16px;justify-content:flex-end;margin-top:24px}.submit-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:12px;box-shadow:0 8px 20px #10b98133;color:#fff;cursor:pointer;font-weight:600;padding:14px 28px;transition:all .3s ease}.submit-btn:hover{box-shadow:0 12px 28px #10b9814d;transform:translateY(-2px)}.cancel-btn{background:#ffffffe6;border:2px solid #64748b33;border-radius:12px;color:#64748b;padding:14px 28px}.cancel-btn:hover{background:#64748b1a;color:#475569}.fridge-contents{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 16px 40px #667eea1a;margin-bottom:32px;padding:32px}.fridge-contents h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;margin-bottom:24px;text-align:center}.empty-fridge{color:#64748b;padding:60px 32px;text-align:center}.empty-fridge p{font-size:1.1rem;margin-bottom:12px}.fridge-items-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.fridge-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid #667eea1a;border-radius:16px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.fridge-item:before{background:linear-gradient(135deg,#10b981,#059669);content:"";height:4px;left:0;position:absolute;right:0;top:0}.fridge-item.warning:before{background:linear-gradient(135deg,#f59e0b,#d97706)}.fridge-item.urgent:before{background:linear-gradient(135deg,#ef4444,#dc2626)}.fridge-item.expired:before{background:linear-gradient(135deg,#7f1d1d,#991b1b)}.fridge-item:hover{border-color:#667eea33;box-shadow:0 12px 32px #667eea26;transform:translateY(-4px)}.item-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.item-header h4{color:#1e293b;flex-grow:1;font-size:1.2rem;font-weight:700;margin:0}.edit-item-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;box-shadow:0 2px 8px #6366f14d;color:#fff;cursor:pointer;font-size:1rem;margin-right:8px;padding:6px 10px;transition:all .3s ease}.edit-item-btn:hover{box-shadow:0 4px 12px #6366f180;transform:translateY(-2px)}.edit-item-btn:active{transform:translateY(0)}.delete-item-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;box-shadow:0 2px 8px #ef44444d;color:#fff;cursor:pointer;font-size:1rem;padding:6px 10px;transition:all .3s ease}.delete-item-btn:hover{box-shadow:0 4px 12px #ef444480;transform:translateY(-2px)}.delete-item-btn:active{transform:translateY(0)}.expiry-badge{align-items:center;background:#10b98133;border-radius:8px;color:#065f46;display:flex;font-size:.8rem;font-weight:600;gap:4px;padding:4px 8px}.fridge-item.warning .expiry-badge{background:#fbbf2433;color:#d97706}.fridge-item.urgent .expiry-badge{background:#ef444433;color:#dc2626}.fridge-item.expired .expiry-badge{background:#7f1d1d33;color:#991b1b}.item-details{display:flex;flex-direction:column;gap:8px}.item-details p{color:#64748b;font-size:.9rem;margin:0}.amount{color:#1e293b;font-size:1rem;font-weight:600}.location{background:#667eea1a;border-radius:6px;color:#667eea;display:inline-block;font-size:.8rem;font-weight:600;padding:2px 8px}.expiry-date{font-weight:500}.notes{color:#94a3b8;font-style:italic}.suggest-selected-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 8px 20px #667eea33;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:16px 32px;transition:all .3s ease;width:100%}.suggest-selected-btn:hover:not(:disabled){box-shadow:0 12px 28px #667eea4d;transform:translateY(-2px)}.suggest-selected-btn:disabled{cursor:not-allowed;opacity:.5}.suggested-recipe{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 16px 40px #667eea1a;margin-top:32px;padding:32px}.suggested-recipe h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#d946ef);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;margin-bottom:24px;text-align:center}.recipe-header-suggested{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.ai-badge-suggested{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;box-shadow:0 2px 8px #6366f14d;color:#fff;font-size:.85rem;font-weight:600;padding:6px 12px}.recipe-ingredients{background:#6366f10d;border-radius:12px;margin:16px 0;padding:16px}.recipe-ingredients ul{list-style:none;margin:8px 0 0;padding:0}.recipe-ingredients li{color:#475569;padding:6px 0}.recipe-instructions{background:#8b5cf60d;border-radius:12px;margin:16px 0;padding:16px}.instructions-text p{color:#475569;line-height:1.8;margin:8px 0}.recipe-card{background:#fffc;border:1px solid #667eea1a;border-radius:16px;padding:24px}.recipe-card h4{color:#1e293b;font-size:1.3rem;font-weight:700;margin-bottom:12px}.recipe-description{color:#64748b;font-size:1rem;line-height:1.6;margin-bottom:16px}.expiring-used,.used-ingredients{background:#667eea1a;border-radius:12px;font-size:.9rem;margin-bottom:12px;padding:12px 16px}.expiring-used strong,.used-ingredients strong{color:#667eea;font-weight:600}.expiring-used{background:#fbbf241a}.expiring-used strong{color:#d97706}.recipe-meta{gap:16px;margin:16px 0}.recipe-meta span{background:#667eea1a;border-radius:8px;color:#667eea;font-weight:600}.recipe-actions{flex-wrap:wrap;gap:12px;margin-top:20px}.save-recipe-btn,.view-recipe-btn{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-weight:600;min-width:140px;padding:12px 20px;transition:all .3s ease}.view-recipe-btn{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 6px 16px #667eea33;color:#fff}.view-recipe-btn:hover{box-shadow:0 8px 20px #667eea4d;transform:translateY(-1px)}.save-recipe-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 6px 16px #10b98133;color:#fff}.save-recipe-btn:hover{box-shadow:0 8px 20px #10b9814d;transform:translateY(-1px)}@media (max-width:768px){.fridge-manager{margin:0;padding:10px}.add-item-form,.fridge-contents,.fridge-header,.suggested-recipe{margin-bottom:15px;padding:20px 15px}.fridge-header h2{font-size:1.8rem}.fridge-header p{font-size:.95rem}.form-grid,.fridge-items-grid{gap:15px;grid-template-columns:1fr}.fridge-actions{flex-direction:column;gap:10px}.add-item-btn,.suggest-all-btn{font-size:.95rem;min-width:0;min-width:auto;padding:12px 20px;width:100%}.form-actions{flex-direction:column;gap:10px}.cancel-btn,.submit-btn{padding:12px 20px;width:100%}.recipe-actions{flex-direction:column;gap:10px}.save-recipe-btn,.view-recipe-btn{min-width:0;min-width:auto;width:100%}.item-info h4{font-size:1rem}.item-meta{font-size:.85rem}}@media (max-width:480px){.fridge-manager{padding:8px}.fridge-header h2{font-size:1.6rem}.fridge-header p{font-size:.9rem}.expiring-items{grid-template-columns:1fr}.recipe-meta{justify-content:center}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009}.modal-content{max-width:500px;padding:0;width:90%}.modal-header{background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border-bottom:2px solid #e2e8f0;padding:24px}.modal-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;transition:all .3s ease;width:36px}.close-btn:hover{background:#0000000d;color:#1e293b}.edit-form{padding:24px}.modal-actions{display:flex;gap:12px;margin-top:24px}.modal-actions .cancel-btn{background:#e2e8f0;border:none;border-radius:12px;color:#475569;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.modal-actions .cancel-btn:hover{background:#cbd5e1}.modal-actions .submit-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;box-shadow:0 4px 15px #6366f14d;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.modal-actions .submit-btn:hover{box-shadow:0 6px 20px #6366f180;transform:translateY(-2px)}.modal-actions .submit-btn:active{transform:translateY(0)}.recipe-manager{margin:0 auto;max-width:1200px;padding:20px}.manager-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.manager-header h2{color:#2c3e50;font-size:2rem;margin:0}.header-buttons{display:flex;gap:10px}.add-recipe-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.add-recipe-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.bulk-delete-btn{background:linear-gradient(135deg,#ef5350,#e53935);border:none;border-radius:25px;box-shadow:0 4px 15px #ef53504d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.bulk-delete-btn:hover{background:linear-gradient(135deg,#e53935,#c62828);box-shadow:0 6px 20px #ef535066;transform:translateY(-2px)}.recipe-form{background:#fff;border:1px solid #e0e0e0;border-radius:15px;box-shadow:0 10px 30px #0000001a;margin-bottom:30px;padding:30px}.recipe-form h3{color:#2c3e50;font-size:1.5rem;margin-bottom:25px}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{color:#34495e;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.form-actions{display:flex;gap:15px;margin-top:25px}.save-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 30px;transition:all .3s ease}.save-btn:hover{box-shadow:0 4px 15px #28a7454d;transform:translateY(-1px)}.cancel-btn{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 30px;transition:all .3s ease}.cancel-btn:hover{background:#5a6268;transform:translateY(-1px)}.recipes-list{margin-top:30px}.no-recipes{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;color:#6c757d;padding:60px 20px;text-align:center}.no-recipes p{font-size:1.1rem;margin:10px 0}.recipes-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.recipe-card{background:#fff;border:1px solid #e0e0e0;border-radius:15px;box-shadow:0 5px 20px #00000014;padding:25px;transition:all .3s ease}.recipe-card:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-5px)}.recipe-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.recipe-header h3{color:#2c3e50;flex:1 1;font-size:1.3rem;margin:0}.badges-container{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ai-generated-badge{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 8px #6366f14d;display:inline-flex;gap:4px}.ai-generated-badge,.category-badge{border-radius:20px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 12px}.category-badge{background:linear-gradient(135deg,#10b981,#059669)}.recipe-description{color:#6c757d;line-height:1.5;margin-bottom:15px}.recipe-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.recipe-meta span{background:#f8f9fa;border:1px solid #e9ecef;border-radius:20px;color:#495057;font-size:.9rem;padding:6px 12px}.difficulty.easy{background:#d4edda;border-color:#c3e6cb;color:#155724}.difficulty.medium{background:#fff3cd;border-color:#ffeaa7;color:#856404}.difficulty.hard{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.recipe-actions{display:flex;gap:10px}.edit-btn{background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:8px 16px;transition:all .3s ease}.edit-btn:hover{box-shadow:0 3px 10px #007bff4d;transform:translateY(-1px)}.delete-btn{background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:8px 16px;transition:all .3s ease}.delete-btn:hover{box-shadow:0 3px 10px #dc35454d;transform:translateY(-1px)}.loading{color:#6c757d;font-size:1.2rem;padding:50px;text-align:center}@media (max-width:768px){.recipe-manager{padding:10px}.manager-header{flex-direction:column;gap:12px;margin-bottom:20px;padding-bottom:15px;text-align:center}.manager-header h2{font-size:1.8rem}.header-buttons{flex-direction:column;gap:8px;width:100%}.add-recipe-btn,.bulk-delete-btn{font-size:.95rem;padding:12px 20px;width:100%}.recipe-form{padding:15px}.recipe-form h3{font-size:1.3rem}.form-row,.recipes-grid{gap:15px;grid-template-columns:1fr}.recipe-card{padding:15px}.recipe-card h3{font-size:1.1rem}.recipe-actions{flex-direction:column;gap:8px}.recipe-actions button{font-size:.9rem;padding:10px 15px;width:100%}.form-actions{flex-direction:column;gap:10px}.form-actions button{width:100%}}.ingredients-section{background:linear-gradient(135deg,#6366f10d,#8b5cf60d);border:2px solid #6366f11a;border-radius:16px;margin-bottom:24px;padding:24px}.ingredients-header{align-items:center;border-bottom:2px solid #6366f133;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:12px}.ingredients-header label{color:#1e293b;font-size:1.2rem;font-weight:700;margin:0}.ingredients-hint{background:#fff;border-radius:20px;box-shadow:0 2px 8px #0000000d;color:#64748b;font-size:.85rem;padding:6px 12px}.ingredients-list{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.ingredient-item{align-items:flex-start;background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 4px 12px #00000014;display:flex;gap:12px;padding:20px;transition:all .3s ease}.ingredient-item:hover{border-color:#6366f133;box-shadow:0 6px 20px #6366f126;transform:translateY(-2px)}.ingredient-number{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;box-shadow:0 4px 12px #6366f14d;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:36px;justify-content:center;width:36px}.ingredient-inputs{grid-gap:12px;align-items:start;display:grid;flex:1 1;gap:12px;grid-template-columns:2fr 1fr 1fr 1.5fr}.input-wrapper{display:flex;flex-direction:column;gap:6px}.input-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.ingredient-amount-input,.ingredient-name-input,.ingredient-notes-input,.ingredient-unit-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:.95rem;padding:10px 12px;transition:all .3s ease}.ingredient-amount-input:focus,.ingredient-name-input:focus,.ingredient-notes-input:focus,.ingredient-unit-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none}.ingredient-name-input{color:#1e293b;font-weight:500}.delete-ingredient-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:10px;box-shadow:0 2px 8px #ef44444d;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.delete-ingredient-btn:hover{box-shadow:0 4px 12px #ef444480;transform:translateY(-2px) scale(1.05)}.delete-ingredient-btn:active{transform:translateY(0) scale(.95)}.add-ingredient-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:12px;box-shadow:0 4px 15px #6366f14d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .3s ease;width:100%}.add-ingredient-btn:hover{box-shadow:0 6px 20px #6366f180;transform:translateY(-2px)}.add-ingredient-btn:active{transform:translateY(0)}.btn-icon{font-size:1.2rem;transition:transform .3s ease}.add-ingredient-btn:hover .btn-icon{transform:rotate(90deg)}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;border-radius:20px 20px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.modal-header h2{font-size:1.8rem;margin:0}.close-modal{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;transition:all .3s ease;width:40px}.close-modal:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{padding:30px}.detail-section{margin-bottom:30px}.detail-section h3{border-bottom:2px solid #e0e0e0;color:#667eea;font-size:1.4rem;margin-bottom:15px;padding-bottom:10px}.detail-meta{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.meta-item{background:#f8f9fa;border-radius:10px;display:flex;flex-direction:column;gap:5px;padding:15px}.meta-label{color:#666;font-size:.9rem;font-weight:600}.meta-value{color:#2c3e50;font-size:1.1rem;font-weight:700}.ingredients-list{list-style:none;padding:0}.ingredients-list li{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:10px;padding:12px 15px}.ingredient-name{color:#2c3e50;font-weight:600}.ingredient-amount{color:#666;font-weight:500}.instructions-text{background:#f8f9fa;border-radius:10px;line-height:1.8;padding:20px}.instructions-text p{color:#2c3e50;margin-bottom:10px}.view-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 18px;transition:all .3s ease}.view-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}@media (max-width:1024px){.ingredient-inputs{grid-template-columns:1fr 1fr}.notes-wrapper{grid-column:1/-1}}@media (max-width:768px){.ingredients-section{padding:16px}.ingredient-item{flex-direction:column;gap:12px}.ingredient-inputs{grid-template-columns:1fr;width:100%}.delete-ingredient-btn{height:44px;width:100%}.ingredients-header{align-items:flex-start;flex-direction:column;gap:8px}.modal-content{margin:10px;max-height:95vh}.modal-header{padding:20px}.modal-header h2{font-size:1.4rem}.modal-body{padding:20px}.detail-meta{grid-template-columns:1fr}.recipe-actions{flex-direction:column}.recipe-actions button{width:100%}}.App{background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#d946ef);font-family:Inter,Noto Sans JP,Segoe UI,Roboto,sans-serif;letter-spacing:.02em;min-height:100vh;text-align:center;transition:all .3s ease}.App-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff7;border:1px solid #ffffff80;border-radius:24px;box-shadow:0 20px 60px #6366f133;margin:20px auto;max-width:1200px;padding:40px 32px}.App-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#d946ef);-webkit-background-clip:text;background-clip:text;font-size:3.2rem;font-weight:800;letter-spacing:-.02em;margin:0 0 16px}.App-header p{color:#64748b;font-size:1.2rem;font-weight:500;margin:0 0 20px}.api-status{margin-top:16px}.status{align-items:center;border-radius:12px;display:inline-flex;font-weight:600;gap:8px;padding:8px 16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.free-badge{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:15px}.free-badge span{background:linear-gradient(135deg,#27ae60,#2ecc71);border-radius:15px;box-shadow:0 2px 6px #27ae604d;color:#fff;font-size:.85rem;font-weight:600;padding:6px 12px}.status{border-radius:20px;font-size:.9rem;font-weight:500;padding:5px 12px}.status.checking{animation:pulse 2s infinite;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.status.connected{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.status.offline{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.tab-nav{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:0 auto 32px;max-width:1200px;padding:0 20px}.tab-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:2px solid #fff6;border-radius:16px;box-shadow:0 8px 24px #6366f11a;color:#475569;cursor:pointer;font-size:1rem;font-weight:600;min-width:140px;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap}.tab-button:before{background:linear-gradient(90deg,#0000,#ffffff80,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.tab-button:hover:before{left:100%}.tab-button:hover{background:#fff;border-color:#6366f166;box-shadow:0 12px 32px #6366f140;color:#6366f1;transform:translateY(-2px)}.tab-button.active{background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#d946ef);border-color:#0000;box-shadow:0 12px 32px #6366f159;color:#fff;transform:translateY(-2px)}.tab-button.active:before{display:none}.App-main{margin:0 auto;max-width:1200px;padding:0 20px 40px}.container{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:20px;box-shadow:0 16px 40px #667eea1a;margin:20px 0;padding:32px}.btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#d946ef);box-shadow:0 8px 24px #6366f14d;color:#fff}.btn-primary:hover{box-shadow:0 12px 32px #6366f166;transform:translateY(-2px)}.btn-secondary{background:#fffffff2;border:2px solid #6366f133;box-shadow:0 4px 12px #6366f11a;color:#475569}.btn-secondary:hover{background:#6366f11a;box-shadow:0 8px 20px #6366f133;color:#6366f1;transform:translateY(-1px)}.App-main{max-width:100%;overflow-x:hidden;padding:0 24px 32px}@media (max-width:768px){.App{overflow-x:hidden}.App-header{border-radius:16px;margin:15px 10px;padding:25px 15px}.App-header h1{font-size:2rem}.App-header p{font-size:.95rem}.tab-nav{gap:8px;margin:0 10px 20px;padding:10px}.tab-button{flex:1 1;font-size:.85rem;min-width:auto;padding:12px 10px}.App-main{padding:0 10px 24px}.container{margin:15px 0;padding:20px 15px}}@media (max-width:480px){.App-header{margin:10px 8px;padding:20px 12px}.App-header h1{font-size:1.8rem}.App-header p{font-size:.9rem}.tab-nav{flex-direction:column;gap:8px;margin:0 8px 15px;padding:8px}.tab-button{font-size:.95rem;padding:12px 15px;width:100%}.App-main{padding:0 8px 20px}}
/*# sourceMappingURL=main.0a43e360.css.map*/