*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#050a12;color:#f5f7fb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.layout{background-color:var(--layout-bg);color:var(--text-primary);min-height:100vh;transition:background-color .3s ease,color .3s ease}.layout.theme-dark{--layout-bg:#050a12;--nav-bg:#061728;--nav-border:#102338;--nav-link:#8ca0c2;--nav-link-active:#fff;--nav-underline:#4fb3ff;--text-primary:#f5f7fb;--text-secondary:#9fb0c9;--accent-color:#4fb3ff;--accent-hover:#6bcbff;--main-bg:#0c111c;--main-border:#0f1a2a;--card-bg:#1a1f27;--card-border:#2a3242;--card-hover:#232a34;--input-bg:#0f1622;--input-border:#2b3546;--input-placeholder:#6e7b92;--favorite-default:#ffffff59;--favorite-active:#fff}.layout.theme-light{--layout-bg:#e9edf4;--nav-bg:#1fa8ff;--nav-border:#0e7ec4;--nav-link:#ffffffbf;--nav-link-active:#fff;--nav-underline:#fff;--text-primary:#1f2a37;--text-secondary:#4d5562;--accent-color:#1fa8ff;--accent-hover:#39b9ff;--main-bg:#f4f6fb;--main-border:#d7dfe9;--card-bg:#fff;--card-border:#dfe3eb;--card-hover:#f4f7fb;--input-bg:#fdfdff;--input-border:#cfd6e1;--input-placeholder:#9aa3b5;--favorite-default:#fff6;--favorite-active:#e53935}.navbar{align-items:center;background-color:var(--nav-bg);border-bottom:1px solid var(--nav-border);box-shadow:0 4px 16px #0000004d;display:flex;justify-content:space-between;padding:1rem 2rem}.navbar-center{display:flex;gap:.5rem;justify-content:center}.nav-link{border-bottom:3px solid #0000;color:var(--nav-link);font-weight:600;letter-spacing:.05em;padding:.5rem 1.5rem;text-decoration:none;text-transform:uppercase;transition:color .2s ease,border-color .2s ease}.nav-link.active,.nav-link:hover{color:var(--nav-link-active)}.nav-link.active{border-color:var(--nav-underline)}.nav-theme-toggle{align-items:center;background-color:#00000026;border:1px solid #fff3;border-radius:16px;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:46px;justify-content:center;transition:transform .2s ease,background-color .2s ease;width:46px}.layout.theme-light .nav-theme-toggle{background-color:#0f19241a;border-color:#0f192433;color:#0f1924}.nav-theme-toggle:hover{transform:translateY(-1px)}.btn-primary{background-color:var(--accent-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1.2rem;transition:background-color .2s ease,transform .2s ease}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.logout-link{color:var(--text-secondary);font-size:.9rem;text-decoration:none}.logout-link:hover{color:var(--text-primary)}.main-content{background-color:var(--main-bg);margin:0 auto;max-width:1400px;min-height:calc(100vh - 80px);padding:2rem;transition:background-color .3s ease;width:100%}.main-content.full-width{max-width:100%;padding:1rem}.recipe-selector-overlay{--rs-panel-bg:#1f252f;--rs-border:#2e3541;--rs-text:#f5f7fb;--rs-muted:#9aa7bd;--rs-input-bg:#1a1f27;--rs-input-border:#2e3541;--rs-button-bg:#4fb3ff;--rs-button-text:#091520;--rs-card-bg:#232a34;--rs-card-border:#2e3541;--rs-card-hover:#2d3746;--rs-ingredients-bg:#1a1f27;--rs-shadow:#0009;background-color:#0000008c;bottom:0;display:flex;justify-content:flex-end;left:0;position:fixed;right:0;top:0;z-index:1000}.recipe-selector-overlay.light-theme{--rs-panel-bg:#fff;--rs-border:#dfe3eb;--rs-text:#1f2a37;--rs-muted:#5b6575;--rs-input-bg:#f8fafc;--rs-input-border:#cfd6e1;--rs-button-bg:#1fa8ff;--rs-button-text:#fff;--rs-card-bg:#f9fbff;--rs-card-border:#dfe6f2;--rs-card-hover:#f1f4fb;--rs-ingredients-bg:#fff;--rs-shadow:#1f2a371f;background-color:#0f131a59}.recipe-selector{background-color:var(--rs-panel-bg);box-shadow:-6px 0 24px var(--rs-shadow);color:var(--rs-text);display:flex;flex-direction:column;height:100vh;width:420px}.recipe-selector-header{align-items:center;border-bottom:1px solid var(--rs-border);display:flex;justify-content:space-between;padding:1.5rem}.recipe-selector-header h3{color:var(--rs-text);font-size:1rem;font-weight:600}.btn-close{align-items:center;background:none;border:none;color:var(--rs-muted);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;width:32px}.btn-close:hover{color:var(--rs-text)}.recipe-selector-search{border-bottom:1px solid var(--rs-border);display:flex;gap:.5rem;padding:1rem 1.5rem}.search-input{background-color:var(--rs-input-bg);border:1px solid var(--rs-input-border);border-radius:8px;color:var(--rs-text);flex:1 1;font-size:.9rem;padding:.6rem .8rem}.search-input:focus{border-color:var(--rs-button-bg);outline:none}.recipe-selector-search .btn-primary{background-color:var(--rs-button-bg);border:none;border-radius:8px;color:var(--rs-button-text);cursor:pointer;font-weight:600;padding:.6rem 1rem}.recipe-list{flex:1 1;overflow-y:auto;padding:1rem 1.5rem}.recipe-item,.recipe-list{display:flex;flex-direction:column;gap:.75rem}.recipe-item{background-color:var(--rs-card-bg);border:1px solid var(--rs-card-border);border-radius:12px;padding:1rem;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.recipe-item:hover{border-color:var(--rs-button-bg);transform:translateY(-1px)}.recipe-item.expanded{background-color:var(--rs-card-hover)}.recipe-main{align-items:center;display:flex;gap:1rem}.recipe-icon{font-size:2rem}.recipe-info{flex:1 1}.recipe-name{color:var(--rs-text);font-size:.95rem;font-weight:600;margin-bottom:.35rem}.recipe-details{color:var(--rs-muted);display:flex;font-size:.83rem;gap:1rem;margin-bottom:.25rem}.recipe-status{margin-top:.1rem}.status-badge{background-color:var(--rs-button-bg);border-radius:999px;color:var(--rs-button-text);font-size:.75rem;font-weight:600;padding:.3rem .55rem}.btn-add-recipe,.recipe-actions{justify-content:center}.btn-add-recipe{align-items:center;background-color:var(--rs-button-bg);border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;color:var(--rs-button-text);cursor:pointer;display:flex;font-size:1.2rem;height:42px;width:42px}.btn-add-recipe:hover{transform:translateY(-1px)}.loading,.no-recipes{color:var(--rs-muted);padding:2rem}.recipe-ingredients{border-top:1px solid var(--rs-card-border);color:var(--rs-muted);font-size:.85rem;padding:.75rem 1rem .25rem 3rem}.recipe-ingredients strong{color:var(--rs-text);margin-bottom:.35rem}.week-view{--bg-color:#0c1017;--card-bg:#1a1f27;--card-border:#2e3541;--text-primary:#f5f7fb;--text-secondary:#909db4;--accent-color:#4fb3ff;--accent-contrast:#091520;--button-bg:#1f252f;--button-text:#f5f7fb;--today-border:#4fb3ff;--shadow-color:#0009;--add-btn-border:#384150;--add-btn-text:#c9d3e3;--meal-item-bg:#232a34;--meal-item-hover:#2b3441;--meal-item-expanded:#2f3847;--cal-green:#57d38c;--cal-yellow:#f6c343;--cal-red:#ff6b6b;--input-border:#394354;--input-bg:#1f252f;--muted-line:#303947;background-color:var(--bg-color);color:var(--text-primary);max-width:100%;min-height:100vh;padding:1.5rem;transition:background-color .3s ease,color .3s ease;width:100%}.week-view.light-theme{--bg-color:#f4f5f8;--card-bg:#fff;--card-border:#dfe3eb;--text-primary:#1f2a37;--text-secondary:#5b6575;--accent-color:#1fa8ff;--accent-contrast:#fff;--button-bg:#e6eaf1;--button-text:#1f2a37;--today-border:#1fa8ff;--shadow-color:#1f2a3714;--add-btn-border:#cfd6e1;--add-btn-text:#5b6575;--meal-item-bg:#f1f4f9;--meal-item-hover:#e7eef7;--meal-item-expanded:#dde7f5;--cal-green:#2e7d32;--cal-yellow:#f9a825;--cal-red:#c62828;--input-border:#ccd5e2;--input-bg:#fff;--muted-line:#e3e7ef}.week-view.dark-theme{--bg-color:#0c1017;--card-bg:#1a1f27;--card-border:#2e3541;--text-primary:#f5f7fb;--text-secondary:#909db4;--accent-color:#4fb3ff;--accent-contrast:#091520;--button-bg:#1f252f;--button-text:#f5f7fb;--today-border:#4fb3ff;--shadow-color:#0009;--add-btn-border:#384150;--add-btn-text:#c9d3e3;--meal-item-bg:#232a34;--meal-item-hover:#2b3441;--meal-item-expanded:#2f3847;--cal-green:#57d38c;--cal-yellow:#f6c343;--cal-red:#ff6b6b;--input-border:#394354;--input-bg:#1f252f;--muted-line:#303947}.week-navigation{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem 0}.btn-nav{background-color:var(--button-bg);border:1px solid var(--card-border);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:.5rem 1.2rem;transition:background-color .3s ease,color .3s ease}.btn-nav:hover{background-color:var(--accent-color);color:var(--accent-contrast)}.week-info{text-align:center}.month-name{color:var(--text-primary);font-size:1.5rem;font-weight:600;text-transform:capitalize}.week-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(5,1fr);width:100%}.day-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 8px 20px var(--shadow-color);display:flex;flex-direction:column;height:100%;min-height:420px;padding:1rem}.day-card.today{border:2px solid var(--today-border);box-shadow:0 0 0 2px #4fb3ff33}.day-header{align-items:center;border-bottom:1px solid var(--muted-line);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.day-header h3{color:var(--text-primary);font-size:1rem;font-weight:600;text-transform:capitalize}.day-calories{color:var(--text-secondary);flex:1 1;font-size:.85rem;text-align:center}.day-calories.empty{display:none}.day-number{color:var(--text-secondary)}.meal-slot{margin-bottom:1rem}.meal-type-label{color:var(--text-secondary);font-size:.85rem;font-weight:600;margin-bottom:.35rem;text-transform:capitalize}.meal-items{min-height:60px}.meal-item{background-color:var(--meal-item-bg);border:1px solid #0000;border-radius:12px;cursor:pointer;margin-bottom:.5rem;transition:background-color .2s ease}.meal-item:hover{background-color:var(--meal-item-hover)}.meal-item.expanded{background-color:var(--meal-item-expanded);border-color:var(--card-border)}.meal-item-header{align-items:center;display:flex;gap:.5rem;padding:.65rem .75rem}.meal-icon{font-size:1.1rem}.meal-name{color:var(--text-primary);flex:1 1;font-size:.9rem}.calories-badge{border-radius:12px;color:#101010;font-size:.75rem;font-weight:600;padding:.2rem .45rem}.calories-badge.green{background-color:var(--cal-green);color:#0f1c17}.calories-badge.yellow{background-color:var(--cal-yellow);color:#1d1500}.calories-badge.red{background-color:var(--cal-red);color:#fff}.meal-item-details{border-top:1px solid var(--card-border);margin-top:.5rem;padding:.5rem .75rem .75rem 2.1rem}.ingredients-list{color:var(--text-secondary);font-size:.85rem}.ingredients-list strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.ingredients-list ul{list-style-type:disc;margin:0;padding-left:1.5rem}.ingredients-list li{margin-bottom:.25rem}.btn-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;line-height:1;padding:0 .25rem}.btn-remove:hover{color:var(--accent-color)}.no-recipes{color:var(--text-secondary);font-size:.85rem;font-style:italic;padding:.5rem}.btn-add{background-color:initial;border:1px dashed var(--add-btn-border);border-radius:12px;color:var(--add-btn-text);cursor:pointer;font-size:.85rem;margin-top:.5rem;padding:.6rem;transition:background-color .2s ease,border-color .2s ease;width:100%}.btn-add:hover{background-color:#4fb3ff14;border-color:var(--accent-color);color:var(--accent-color)}@media (max-width:1200px){.week-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.week-grid{grid-template-columns:1fr}}.month-view{color:var(--text-primary);width:100%}.month-navigation{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem 0}.month-navigation h2{color:var(--text-primary);font-size:1.5rem;text-transform:capitalize}.month-legend{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;display:flex;gap:2rem;margin-bottom:2rem;padding:1rem}.legend-item{align-items:center;display:flex;gap:.5rem}.legend-color{border-radius:4px;height:30px;width:30px}.month-calendar{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 10px 25px #00000026;padding:1rem}.calendar-header{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.calendar-day-header{color:var(--text-secondary);font-size:.9rem;font-weight:600;padding:.5rem;text-align:center}.calendar-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;justify-content:center;min-height:80px;position:relative;transition:transform .2s,background-color .2s,border-color .2s}.calendar-day:hover{border-color:var(--accent-color);transform:scale(1.05)}.calendar-day.today{box-shadow:0 0 0 3px var(--accent-color);font-weight:700}.calendar-day.empty{background-color:initial;border:none;cursor:default}.calendar-day.empty:hover{transform:none}.day-number{color:var(--text-primary);font-size:1.2rem;font-weight:600}.recipe-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:flex;gap:1rem}.form-group-half{flex:1 1;width:50%}.form-group label{font-weight:500}.form-input,.form-textarea{background-color:#0f1622;background-color:var(--input-bg,#0f1622);border:1px solid #2b3546;border:1px solid var(--input-border,#2b3546);border-radius:6px;color:#f5f7fb;color:var(--text-primary,#f5f7fb);font-family:inherit;font-size:1rem;padding:.75rem}.form-input:focus,.form-textarea:focus{border-color:#4fb3ff;border-color:var(--accent-color,#4fb3ff);outline:none}.form-textarea{min-height:150px;resize:vertical}.form-input::placeholder,.form-textarea::placeholder{color:#6e7b92;color:var(--input-placeholder,#6e7b92)}.recipes-view{color:var(--text-primary);width:100%}.recipes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.recipes-header h2{color:var(--text-primary);font-size:1.5rem}.recipes-actions,.recipes-search{display:flex;gap:1rem}.recipes-search{align-items:flex-start;flex-wrap:wrap;margin-bottom:2rem}.recipes-search .search-input{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:.65rem .75rem;width:250px}.recipes-search .search-input:focus{border-color:var(--accent-color);outline:none}.filters-row{flex-wrap:wrap;gap:1rem}.filters-row,.meal-type-filter{align-items:center;display:flex;height:100%}.meal-type-filter{color:var(--text-secondary);font-size:.9rem;gap:.5rem}.meal-type-multiselect{height:100%;min-width:220px;position:relative}.multiselect-toggle{align-items:center;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;padding:.65rem .75rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.meal-type-multiselect.open .multiselect-toggle,.multiselect-toggle:hover{border-color:var(--accent-color);box-shadow:0 4px 12px #00000040}.chevron{font-size:.8rem}.multiselect-panel{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 10px 30px #00000059;display:flex;flex-direction:column;gap:.5rem;left:0;max-height:280px;overflow-y:auto;padding:.75rem;position:absolute;top:calc(100% + .4rem);width:260px;z-index:5}.multiselect-option{align-items:center;color:var(--text-primary);display:flex;font-size:.9rem;gap:.4rem}.multiselect-option input{accent-color:var(--accent-color)}.multiselect-option.select-all{font-weight:600}.multiselect-divider{background-color:var(--card-border);height:1px;margin:.25rem 0}.favorites-filter{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.35rem;height:100%}.favorites-filter input{accent-color:var(--accent-color)}.btn-clear-filters{background-color:initial;border:1px solid var(--card-border);border-radius:50%;color:#fff;cursor:pointer;height:36px;width:36px}.recipes-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.recipe-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 10px 25px #00000026;padding:1.5rem}.recipe-card-header{align-items:flex-start;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.recipe-card-header h3{color:var(--text-primary);flex:1 1;font-size:1.2rem;font-weight:600}.recipe-actions{gap:.5rem}.icon-btn,.recipe-actions{align-items:center;display:flex}.icon-btn{background-color:initial;border:1px solid #0000;border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;height:36px;justify-content:center;transition:background-color .2s ease,color .2s ease,border-color .2s ease;width:36px}.icon-btn:hover{background-color:#ffffff14;border-color:var(--card-border)}.btn-edit{color:var(--accent-color)}.btn-delete{color:#ff7b7b}.btn-delete:hover{background-color:#ff7b7b1a}.btn-favorite{color:#fff6;color:var(--favorite-default,#fff6)}.btn-favorite.active{color:#fff;color:var(--favorite-active,#fff)}.layout.theme-light .icon-btn:hover{background-color:#0f192414}.layout.theme-light .btn-delete{color:#e53935}.layout.theme-light .btn-delete:hover{background-color:#e539351f}.recipe-details-info{display:flex;gap:1.5rem;line-height:1.6;margin-bottom:1rem}.recipe-details-info,.recipe-ingredients{color:var(--text-secondary);font-size:.9rem}.recipe-ingredients{border-top:1px solid var(--card-border);padding-top:1rem}.recipe-ingredients strong{color:var(--text-primary);display:block;margin-bottom:.5rem}.recipe-ingredients ul{list-style-type:disc;margin:0;padding-left:1.2rem}.recipe-ingredients li{margin-bottom:.25rem}.loading,.no-recipes{color:var(--text-secondary);font-size:1.1rem;padding:3rem;text-align:center}.modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 12px 30px #0006;max-height:90vh;max-width:800px;overflow-y:auto;padding:2rem;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.modal-header h3{color:var(--text-primary);font-size:1.3rem}.batch-form{gap:1.5rem}.batch-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.batch-textarea{background-color:#0f1622;background-color:var(--input-bg,#0f1622);border:1px solid #2b3546;border:1px solid var(--input-border,#2b3546);border-radius:8px;color:#f5f7fb;color:var(--text-primary,#f5f7fb);font-family:monospace;font-size:.9rem;padding:1rem;resize:vertical;width:100%}.batch-textarea:focus{border-color:#4fb3ff;border-color:var(--accent-color,#4fb3ff);outline:none}.batch-textarea::placeholder{color:#6e7b92;color:var(--input-placeholder,#6e7b92)}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-secondary{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.btn-secondary:hover{background-color:#5a6268}.app{min-height:100vh}body.theme-dark{background-color:#050a12;color:#f5f7fb}body.theme-light{background-color:#f4f6fb;color:#1f2a37}
/*# sourceMappingURL=main.292eee3b.css.map*/