:root{--font-serif: "Playfair Display", serif;--font-sans: "Lato", sans-serif;--color-bg: #f9f7f0;--color-paper: #ffffff;--color-text-main: #2c3e50;--color-text-muted: #5d6d7e;--color-accent-red: #c0392b;--color-accent-green: #27ae60;--color-accent-gold: #d4ac0d;--shadow-card: 0 4px 20px rgba(0, 0, 0, .05);--border-radius: 8px}body{margin:0;padding:0;background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text-main);line-height:1.6}#root{display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.container{width:100%;max-width:900px;background-color:transparent;margin:0 auto}header{text-align:center;margin-bottom:60px}header h1{font-family:var(--font-serif);font-size:3rem;font-weight:700;color:var(--color-accent-red);margin:0;letter-spacing:1px}.menu-date{font-family:var(--font-serif);font-style:italic;color:var(--color-text-muted);font-size:1.2rem;margin-top:10px}button{cursor:pointer;font-family:var(--font-serif);font-weight:700;letter-spacing:1px;border:none!important;border-radius:0!important;padding:12px 24px;outline:none!important;box-shadow:none!important;transform:none!important;transition:none!important}button:hover,button:active,button:focus,button:focus-visible{outline:none!important;box-shadow:none!important;transform:none!important}.back-btn{background:transparent;color:var(--color-text-muted);padding:5px 10px;margin-top:10px;font-size:.9rem}.back-btn:hover,.back-btn:active,.back-btn:focus{color:var(--color-text-muted)!important;text-decoration:none!important;background:transparent!important}.action-buttons{display:flex;justify-content:center;gap:20px;margin-bottom:40px}.primary-btn{background-color:var(--color-accent-red);color:#fff}.primary-btn:hover,.primary-btn:active,.primary-btn:focus{background-color:var(--color-accent-red)!important;color:#fff!important}.secondary-btn{background-color:#fff;color:var(--color-text-main);border:1px solid #ddd!important}.secondary-btn:hover,.secondary-btn:active,.secondary-btn:focus{background-color:#fff!important;color:var(--color-text-main)!important;border:1px solid #ddd!important}.menu-selection{text-align:center}.menu-selection button{background:#fff;padding:20px;font-size:1.2rem;box-shadow:var(--shadow-card)!important;margin:10px}.menu-card{background:var(--color-paper);padding:60px;border-radius:var(--border-radius);box-shadow:var(--shadow-card);position:relative;border:1px solid #eee}.menu-tabs{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-bottom:40px;border-bottom:2px solid #eee;padding-bottom:10px}.menu-tab{background:transparent;color:var(--color-text-muted);padding:10px 16px;border:none;border-bottom:3px solid transparent;font-size:.95rem;transition:all .2s}.menu-tab:hover{color:var(--color-text-main);background:#00000005}.menu-tab.active{color:var(--color-accent-red);border-bottom-color:var(--color-accent-red);font-weight:700}.menu-card:before{content:"";display:block;border-top:2px solid var(--color-accent-gold);width:100px;margin:0 auto 40px}.course-section{margin-bottom:50px;text-align:center}.course-section h2{font-family:var(--font-serif);font-size:1.8rem;color:var(--color-accent-green);margin-bottom:25px}.course-items{list-style:none;padding:0;margin:0}.menu-item{margin-bottom:15px;font-size:1.1rem}.item-name{color:var(--color-text-main)}.recipe-link{display:inline-block;margin-left:10px;font-size:.8rem;color:var(--color-text-muted);text-decoration:none;border-bottom:1px dotted var(--color-accent-gold);cursor:pointer;transition:color .2s}.recipe-link:hover{color:var(--color-accent-red)}.leftover-label{display:inline-block;margin-left:10px;font-size:.8rem;color:var(--color-text-muted);text-decoration:none;cursor:default;font-style:italic}.leftover-label:hover{color:var(--color-text-muted)}.recipe-view,.shopping-list-view,.schedule-view{background:var(--color-paper);padding:60px;border-radius:var(--border-radius);box-shadow:var(--shadow-card);border:1px solid #eee}.recipe-view h2,.shopping-list-view h2,.schedule-view h2{font-family:var(--font-serif);text-align:center;color:var(--color-accent-red);margin-bottom:40px;font-size:2rem;font-weight:700}.recipe-content{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:30px}.ingredients h3,.instructions h3{font-family:var(--font-serif);color:var(--color-accent-green);margin-bottom:20px;font-size:1.5rem}.ingredients ul{list-style:none;padding:0;margin:0;font-size:1.1rem}.ingredients li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dotted #eee}.ingredient-name{color:var(--color-text-main)}.ingredient-amount{color:var(--color-text-muted);font-weight:600;margin-left:10px;white-space:nowrap}.instructions p{font-size:1.1rem;line-height:1.8}.shopping-priority-section{margin-bottom:50px}.shopping-priority-section h3{font-family:var(--font-serif);font-size:1.8rem;color:var(--color-accent-red);margin-top:0;margin-bottom:30px;text-align:center}.shopping-cards{display:flex;flex-direction:column;gap:6px;margin-bottom:30px}.shopping-card{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:all .2s ease}.shopping-card:hover{border-color:var(--color-accent-green);background:#fafafa}.shopping-card.bought{background:#f5faf5;border-color:#c8e6c9;opacity:.7}.card-content{flex:1;display:flex;flex-direction:column;gap:2px}.card-content.strikethrough .item-name,.card-content.strikethrough .menu-items-list{text-decoration:line-through}.item-name-row{display:flex;align-items:center;gap:8px}.shopping-card .item-name{font-family:var(--font-sans);font-size:1rem;font-weight:500;color:var(--color-text-main)}.product-link{font-size:1rem;text-decoration:none;opacity:.6;transition:opacity .2s;flex-shrink:0}.product-link:hover{opacity:1}.menu-items-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.menu-items-list li{font-size:.8rem;color:var(--color-text-muted);padding:0 0 0 16px;position:relative;line-height:1.2}.menu-items-list li:before{content:"•";position:absolute;left:4px;color:var(--color-accent-gold)}.buy-btn,.undo-btn{font-size:.9rem;padding:8px 20px;border-radius:4px;white-space:nowrap;transition:background-color .2s;flex-shrink:0;min-width:90px;line-height:1.5;height:36px;box-sizing:border-box}.buy-btn{background-color:var(--color-accent-green);color:#fff}.buy-btn:hover{background-color:#229954!important;color:#fff!important}.empty-message{text-align:center;font-size:1.3rem;color:var(--color-text-muted);padding:40px;background:#f0f8f0;border-radius:8px}.undo-btn{background-color:#f5f5f5;color:var(--color-text-main)}.undo-btn:hover{background-color:#e0e0e0!important;color:var(--color-text-main)!important}.reference-section{padding-top:40px;border-top:2px solid #eee}.reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.reference-column h3{font-family:var(--font-serif);color:var(--color-text-muted);font-size:1.3rem;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--color-bg)}.reference-list{list-style:none;padding:0;margin:0}.reference-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dotted #eee}.reference-list li:last-child{border-bottom:none}.pantry-item{display:flex;justify-content:space-between;align-items:center;gap:8px}.pantry-info{display:flex;justify-content:space-between;align-items:center;flex:1}.pantry-actions{display:flex;gap:4px}.delete-pantry-btn{background-color:#ffebee;color:#c62828;border:1px solid #ef9a9a;border-radius:4px;font-size:.85rem;width:24px;height:24px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.delete-pantry-btn:hover{background-color:#ffcdd2!important}.ref-name{color:var(--color-text-main);font-size:1rem}.ref-qty{color:var(--color-text-muted);font-weight:600;white-space:nowrap}.timeline-day h3{font-family:var(--font-serif);color:var(--color-accent-red);border-bottom:2px solid #eee;padding-bottom:10px;margin-top:40px}.meal-segment-heading{font-family:var(--font-serif);color:var(--color-accent-gold);font-size:1.1rem;font-weight:600;margin-top:24px;margin-bottom:12px;padding-left:0!important;list-style:none}.day-tasks{list-style:none;padding:0;margin:20px 0}.task-item{margin-bottom:20px;line-height:1.6;padding-left:32px}.task-header{display:flex;align-items:baseline;cursor:pointer;transition:opacity .2s;margin-bottom:6px;position:relative}.task-header:hover{opacity:.8}.task-checkbox{color:var(--color-accent-gold);font-size:1.2rem;position:absolute;left:-32px;top:0;-webkit-user-select:none;user-select:none}.task-title{font-weight:700;color:var(--color-text-main)}.task-body{color:var(--color-text-main);line-height:1.5}.task-body.clickable{cursor:pointer;transition:background-color .2s;padding:4px;margin:-4px;border-radius:4px}.task-body.clickable:hover{background-color:#d4ac0d1a}.task-item.completed .task-header{text-decoration:line-through;color:var(--color-text-muted);opacity:.6}.task-item.completed .task-body{color:var(--color-text-muted);opacity:.6}.task-item:before{display:none}.recipe-preview{margin-top:15px;padding:20px;background-color:#f9f7f0;border-left:3px solid var(--color-accent-gold);border-radius:4px}.recipe-preview h4{font-family:var(--font-serif);color:var(--color-accent-red);margin-top:0;margin-bottom:10px;font-size:1rem}.recipe-preview-ingredients ul{list-style:none;padding:0;margin:0 0 15px;font-size:.95rem}.recipe-preview-ingredients li{padding:4px 0;color:var(--color-text-main)}.recipe-preview-instructions p{margin:0;font-size:.95rem;line-height:1.6;white-space:pre-wrap;color:var(--color-text-main)}.loading-text{color:var(--color-text-muted);font-style:italic;margin:0}ul li{padding:8px 0}.text-block p{margin-bottom:15px}@media (max-width: 600px){#root{padding:20px 10px}header{margin-bottom:30px}header h1{font-size:2rem}.menu-date{font-size:1rem}.menu-card,.recipe-view,.shopping-list-view,.schedule-view{padding:30px 20px}.course-section h2{font-size:1.5rem}.action-buttons{flex-direction:column;gap:10px}.primary-btn,.secondary-btn{width:100%}.shopping-card{flex-direction:column;align-items:stretch}.buy-btn,.undo-btn{width:100%;padding:10px 20px}.reference-grid{grid-template-columns:1fr}.recipe-content{grid-template-columns:1fr;gap:30px}}
