:root{--bg-color: #f4ecdf;--text-color: #333333;--primary-color: #d84b4b;--primary-active: #b73838;--secondary-color: #4CAF50;--secondary-active: #388E3C;--card-bg: #ffffff;--border-color: #ddd}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);font-size:20px;line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.app-container{display:flex;flex-direction:column;min-height:100vh;padding-top:max(env(safe-area-inset-top),1rem)}.header-spacer{padding-bottom:70px}.header{background-color:var(--primary-color);color:#fff;text-align:center;box-shadow:0 4px 6px #00000026;padding:1rem 0}.header h1{font-size:2.2rem;font-weight:800;margin:0;letter-spacing:1px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background-color:#fff;display:flex;justify-content:space-around;border-top:2px solid #ddd;padding-bottom:max(env(safe-area-inset-bottom),.5rem);box-shadow:0 -4px 10px #0000001a;z-index:1000}.nav-btn{flex:1;background:none;border:none;font-size:1rem;font-weight:700;color:#888;border-radius:0;margin:0;padding:1rem 0;box-shadow:none}.nav-btn.active{color:var(--primary-color);border-top:4px solid var(--primary-color);background-color:#fff9f9}.main-content{flex:1;padding:1.5rem 1rem 6rem;max-width:600px;margin:0 auto;width:100%}.section-container h2{font-size:1.8rem;margin-bottom:1.2rem;text-align:center;color:var(--primary-color)}button{font-family:inherit;font-size:1.3rem;padding:1rem;border:none;border-radius:14px;background-color:var(--primary-color);color:#fff;font-weight:700;cursor:pointer;transition:all .2s ease;width:100%;margin-bottom:.8rem;box-shadow:0 4px 6px #0003}button:active{transform:translateY(2px);box-shadow:0 2px 4px #0003}.btn-save,.btn-add{background-color:var(--secondary-color);font-size:1.2rem;padding:1.2rem}.btn-delete,.btn-remove{background-color:#f44336;margin-top:1rem}.modal-actions button:last-child{background-color:#2196f3;color:#fff;border:none}.btn-cancel{background-color:#9e9e9e;color:#fff}.btn-collapse{margin-top:1rem}.btn-small-remove{background-color:#f44336;padding:.8rem;font-size:1.1rem;margin-top:10px}.btn-icon-remove{width:auto;padding:.8rem 1rem;margin-bottom:0;background-color:#f44336;border-radius:10px;font-size:1.2rem;box-shadow:none}.btn-icon{width:auto;box-shadow:none;margin:0;padding:0;background:none}.btn-small-add{background-color:#e0e0e0;color:#333;font-size:1.1rem;padding:1rem;margin-top:.5rem;box-shadow:none;border-radius:10px}input,textarea,select{width:100%;padding:1rem;font-size:1.2rem;border:2px solid var(--border-color);border-radius:12px;font-family:inherit;background-color:#fafafa}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary-color);background-color:#fff}.large-select{font-size:1.3rem;padding:1rem;border-color:var(--secondary-color);border-width:3px}.form-group{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px dashed var(--border-color)}.form-group label{display:block;font-weight:700;margin-bottom:.5rem;font-size:1.2rem}.dynamic-row{display:flex;gap:.5rem;margin-bottom:.8rem;align-items:center}.dynamic-row input,.dynamic-row select{padding:.8rem .5rem}.flex-1{flex:1;min-width:0}.flex-2{flex:2;min-width:0}.flex-3{flex:3;min-width:0}.date-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:var(--card-bg);padding:1rem;border-radius:16px;box-shadow:0 4px 8px #00000014}.nav-arrow{background:#eee;color:var(--text-color);width:auto;margin:0;padding:1rem 1.5rem;font-size:1.3rem;box-shadow:none}.current-date-display{text-align:center}.current-date-display h2{margin:0;color:var(--primary-color);font-size:1.6rem}.current-date-display p{margin:0;font-size:1.2rem;color:#666}.daily-meals{display:flex;flex-direction:column;gap:1.5rem}.meal-card{background:#fff;border-radius:16px;box-shadow:0 4px 8px #0000001a;border-left:8px solid var(--primary-color);overflow:hidden}.meal-card-header{background-color:#fdfbf7;padding:1.2rem;border-bottom:1px solid #eee}.meal-card-header h3{margin:0;font-size:1.5rem;color:#333;text-transform:uppercase;letter-spacing:1px}.empty-meal-slot{padding:2rem 1rem;text-align:center;background-color:#fafafa}.empty-meal-slot p{font-style:italic;color:#888;margin-bottom:1rem}.quick-add-select{border-color:var(--primary-color);background-color:#fff}.meal-recipe-details{padding:1.5rem}.recipe-title{font-size:1.8rem;color:var(--primary-color);margin-bottom:1rem}.recipe-section{margin-bottom:1rem;background-color:#fdfbf7;padding:1rem;border-radius:12px;border:1px solid #eee}.recipe-section ul,.recipe-section ol{padding-left:1.8rem;margin-top:.5rem}.recipe-section li{margin-bottom:.3rem}.swap-banner{background-color:#fff3e0;border:2px dashed #f57c00;padding:1rem;text-align:center;border-radius:12px;margin-bottom:1rem}.swap-banner p{font-size:1.2rem;margin-bottom:.5rem}.btn-cancel-small{background-color:#9e9e9e;font-size:1.1rem;padding:.6rem;margin:0}.day-card{border-radius:16px;box-shadow:0 4px 8px #00000014;margin-bottom:1.2rem;background:var(--card-bg);overflow:hidden;transition:opacity .3s}.day-card.dimmed{opacity:.4;pointer-events:none}.day-header{background-color:var(--primary-color);color:#fff;padding:1rem 1.2rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.day-title-group{display:flex;flex-direction:column}.day-header h3{font-size:1.4rem;margin:0}.day-subtitle{font-size:.9rem;opacity:.9}.edit-hint{background-color:#fff3;padding:.4rem .8rem;border-radius:8px;font-size:1rem}.day-view-mode{padding:1.5rem;cursor:pointer}.meals-list-compact{display:flex;flex-direction:column;gap:.8rem;pointer-events:auto}.meal-compact-item{display:flex;justify-content:space-between;align-items:center;background-color:#fdfbf7;padding:1rem;border-radius:12px;border-left:5px solid var(--secondary-color);transition:background .2s}.swap-target{cursor:pointer;border:3px dashed #f57c00;background-color:#fffde7}.swapping-active{pointer-events:none;opacity:.5}.meal-info-left{display:flex;flex-direction:column}.meal-time{font-size:1rem;font-weight:700;color:#666;text-transform:uppercase}.meal-name-bold{font-size:1.4rem;font-weight:700;color:var(--primary-color)}.btn-icon-swap{width:50px;height:50px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background-color:#eee;color:#333;margin:0;border-radius:50%;box-shadow:none;pointer-events:auto}.btn-icon-swap:active{background-color:#ddd}.empty-day-text{font-style:italic;color:#aaa;text-align:center;margin:1rem 0}.day-edit-mode{padding:1.5rem;background-color:#fafafa;border-top:1px solid #eee}.meal-edit-group{margin-bottom:1.5rem;background-color:#fff;padding:1.2rem;border-radius:12px;border:1px solid #eee}.meal-edit-label{display:block;font-weight:700;font-size:1.2rem;margin-bottom:.8rem;color:var(--primary-color)}.monthly-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;background:#fff;padding:1rem;border-radius:16px;box-shadow:0 4px 8px #00000014}.grid-header{text-align:center;font-weight:700;padding:10px 0;color:#888;border-bottom:2px solid #eee}.grid-cell{position:relative;aspect-ratio:1;border:1px solid #f0f0f0;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:5px;cursor:pointer;transition:background .2s}.grid-cell:active{background-color:#f5f5f5}.grid-cell.empty{background-color:transparent;border:none;cursor:default}.grid-cell.today{background-color:#fff3e0;border-color:#ff9800}.cell-date{font-weight:700;font-size:1.1rem}.grid-cell.has-food{background-color:#e8f5e9;border-color:var(--secondary-color)}.cell-dots{background-color:var(--secondary-color);color:#fff;width:100%;border-radius:5px;font-size:.7rem;font-weight:700;text-align:center;position:absolute;bottom:5px;left:0;padding:2px 0}.monthly-legend{text-align:center;margin-top:1.5rem;color:#666}.template-creator{background-color:#e3f2fd;border-left:6px solid #2196f3;padding:1.5rem}.template-hint{font-size:1.1rem;line-height:1.4;margin-bottom:1.5rem;color:#444}.template-list{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}.template-card{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.template-title{font-size:1.6rem;color:var(--primary-color)}.template-days-badge{display:inline-block;background-color:var(--secondary-color);color:#fff;padding:.4rem .8rem;border-radius:8px;font-weight:700;font-size:1rem;align-self:flex-start}.template-actions{display:flex;gap:1rem;margin-top:.5rem}.template-apply-btn{margin:0}.btn-template-del{margin:0;flex:1}.section-container{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;padding:2.5rem 1.5rem;color:#666;font-style:italic;background:#fff;border-radius:16px;border:2px dashed #ccc;font-size:1.2rem}.card{background:var(--card-bg);padding:1.5rem;border-radius:16px;box-shadow:0 4px 8px #00000014;margin-bottom:1.2rem}.recipe-form{margin-bottom:2rem}.macro-section{margin:1rem 0;padding:1rem;background-color:#f0f7f4;border-radius:12px;border:1px solid #c8e6c9}.macro-results{display:flex;justify-content:space-between;align-items:center;gap:4px}.macro-item{display:flex;flex-direction:column;align-items:center;flex:1 1 0;min-width:0;padding:.5rem .1rem;border-radius:8px;background:#fff;box-shadow:0 2px 4px #0000000d}.macro-item.kcal{border-top:4px solid #f44336}.macro-item.protein{border-top:4px solid #2196f3}.macro-item.carbs{border-top:4px solid #ff9800}.macro-item.fat{border-top:4px solid #9c27b0}.macro-val{font-size:1.15rem;font-weight:800;line-height:1;margin-bottom:.2rem;color:#333;word-break:break-all}.macro-label{font-size:.75rem;color:#666;text-transform:uppercase;font-weight:600}.macro-pending{display:flex;align-items:center;gap:10px;font-weight:700;color:#f57c00}.daily-macro-summary{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a;text-align:center;border:2px solid var(--secondary-color)}.daily-macro-summary h3{margin-bottom:1rem;color:var(--secondary-color);font-size:1.4rem}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:9999;padding:1rem}.modal-content{background:var(--card-bg);padding:2rem;border-radius:20px;width:100%;max-width:450px;box-shadow:0 10px 25px #0000004d;text-align:center;animation:modalPop .3s ease}@keyframes modalPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-message{font-size:1.4rem;color:var(--text-color);margin-bottom:2rem;font-weight:500}.modal-actions{display:flex;justify-content:space-between;gap:1rem}
