@import"https://fonts.googleapis.com/css2?family=Parkinsans:wght@300..800&display=swap";@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Parkinsans,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;color:#3f3b3b;margin:0;padding:0}body button,body input{font-family:inherit}body h1,body h2,body h3,body h4,body h5,body h6{font-weight:600}body img{max-width:100%;object-fit:cover}.container{min-height:100dvh;max-width:1200px;margin:0 auto;padding:20px 20px 24px;display:flex;flex-direction:column;justify-content:space-between}.app-header{position:relative;background-color:#de6052;color:#fff;padding:8px 20px;text-align:center;margin-bottom:16px;display:flex;justify-content:flex-end;align-items:center}.app-header .app-logo{height:30px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app-header .app-logo img{height:100%}.app-header .burger{border-radius:1000px;border:1px solid rgba(255,255,255,.4);background-color:#ffffff1a;height:40px;width:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;transition:.2s}.app-header .burger:hover{background-color:#fff3}.app-header .burger .bar{width:20px;height:2px;border-radius:1000px;background-color:#fff}.app-header .burger .bar:first-of-type,.app-header .burger .bar:last-of-type{width:15px}.card{position:relative;display:flex;flex-direction:column;background-color:#fff;border-radius:20px;box-shadow:0 2px 8px -2px #3f3b3b33,0 1px 4px -2px #3f3b3b1f;transition:box-shadow .2s ease}.card .card-close{position:absolute;top:-8px;right:-8px;width:30px;height:30px;background-color:#e50060;color:#fff;line-height:0;border-radius:50%;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:.2s}.card .card-close:hover{background-color:#b2004b}.card .meal-image{height:100px;background-color:#e2dfdf;border-radius:20px 20px 0 0;overflow:hidden}.card .meal-image img{display:block;height:100%;width:100%}.card .card-text{padding:5px 10px 10px;flex:1;display:flex;flex-direction:column;justify-content:space-between}.card .card-text .card-title{font-size:1rem;line-height:1.3;margin-bottom:12px;color:#3f3b3b;font-weight:500}.btn{display:inline-block;border:1px solid transparent;border-radius:1000px;padding:8px 16px;font-size:1rem;cursor:pointer;transition:all .2s ease;text-decoration:none;text-align:center;text-wrap:nowrap;font-weight:500;background-color:#de6052;color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:active{transform:translateY(1px)}.btn:hover:not(:disabled){background-color:#c84435}.btn:focus{outline:none;box-shadow:0 0 0 2px #de60524d}.btn-secondary{color:#de6052;background-color:#de605226}.btn-secondary:hover:not(:disabled){background-color:#de605240!important;color:#d43a29}.btn-tertiary{color:#de6052;background-color:#fff;border:1px solid rgba(222,96,82,.4)}.btn-tertiary:hover:not(:disabled){background-color:#de60521a!important;color:#d43a29}.btn-danger{background-color:#e50060;color:#fff}.btn-danger:hover:not(:disabled){background-color:#b2004b}.btn-danger:focus{outline:none;box-shadow:0 0 0 2px #e500604d}.btn-danger-secondary{color:#e50060;background-color:#e5006026}.btn-danger-secondary:hover:not(:disabled){background-color:#e5006040!important;color:#b2004b}.btn-danger-tertiary{color:#e50060;background-color:#fff;border:1px solid rgba(229,0,96,.4)}.btn-danger-tertiary:hover:not(:disabled){background-color:#e500601a!important;color:#b2004b}.btn-sm{padding:4px 12px;font-size:.875rem}.form-label{display:block;margin-bottom:4px;font-weight:500;font-size:.875rem;color:#3f3b3b}.form-control{padding:8px 12px;border:1px solid #BAB5B5;border-radius:15px;font-size:1rem;font-family:Parkinsans,sans-serif;color:#3f3b3b;background-color:#faf9f9;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-control:focus{outline:none;border-color:#de6052;box-shadow:0 0 0 3px #de605233}.form-control:disabled{background-color:#fafafa;cursor:not-allowed}.form-control::placeholder{color:#bab5b5}.form-control:is(select){-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:500;color:#554e4f;padding-right:40px;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:25px 25px;border-radius:1000px}.form-control:is(select).select-sm{font-size:.875rem}.form-control:is(input){border-radius:1000px}.controls{width:100%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.form-group{margin-bottom:12px}.form-group--inline{display:flex;align-items:center;gap:8px;margin:0}.error-text{color:#e50060;font-size:.875rem;margin-top:4px}.controls-group{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px}.controls-group .form-control{width:auto}.controls-group .btn{white-space:nowrap}.badge{display:inline-block;padding:4px 8px;border-radius:1000px;font-size:.75rem;font-weight:500;background-color:#ffddab;color:#ab6600}.badge-success{background-color:#69990f}.badge-warning{background-color:#bf9f00;color:#3f3b3b}.badge-danger{background-color:#e50060}.badge-count{font-size:.7rem}.badge-neutral{background-color:#e2dfdf;color:#554e4f;padding:2px 7px}.tag{display:inline-flex;align-items:center;cursor:pointer;background-color:#ededed;color:#938a8b;padding:4px 12px;border-radius:1000px;margin-right:4px;margin-bottom:4px;font-size:.875rem;transition:background-color .1s ease,color .1s ease}.tag:hover:not(:has(.close)){background-color:#dbdbdb;color:#3f3b3b}.tag .close{margin-left:8px;font-size:1rem;line-height:.5;cursor:pointer;transition:color .1s ease}.tag .close:hover{color:#3f3b3b}.checkbox-container{display:inline-flex;align-items:center;margin-bottom:10px}.checkbox-container input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border:1px solid #938A8B;border-radius:50%;margin-right:12px;cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0}.checkbox-container input[type=checkbox]:checked{background-color:#de6052;border-color:#de6052}.checkbox-container input[type=checkbox]:checked:after{content:"";position:absolute;top:50%;left:50%;width:9px;height:4px;border:2px solid white;border-top:none;border-right:none;transform:translate(-50%,-60%) rotate(-45deg)}.checkbox-container input[type=checkbox]:hover{border-color:#de6052}.checkbox-container input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 2px #de605233}.checkbox-container label{cursor:pointer;transition:all .2s ease;font-size:1rem;color:#3f3b3b;display:flex;align-items:start;gap:8px}.checkbox-container.checked label{text-decoration:line-through;opacity:.7;color:#938a8b}.alert{margin-bottom:16px;padding:10px 20px;border-radius:15px;background-color:#f0fbfd;border:1px solid rgb(58.8181818182,206.5454545455,230.1818181818);color:#1592a6}.alert--success{color:#69990f;background-color:#f2fcde;border-color:#69990f}.meal-ingredients{font-size:.875rem}.meal-ingredients p{margin:0}.quantity-controls{display:flex;align-items:center;gap:3px}.quantity-controls .quantity-display{min-width:1.25rem;text-align:center;padding:4px;line-height:1}.quantity-controls .btn{padding:4px}.quantity-controls .btn:disabled{opacity:.5;cursor:not-allowed}.quantity-controls .btn.quantifier{display:flex;justify-content:center;align-items:center;font-size:1.25rem;height:28px;width:28px}.meal-item{border:1px solid #e0e0e0;border-radius:10px;padding:16px;background-color:#fff;box-shadow:0 2px 8px -2px #3f3b3b33,0 1px 4px -2px #3f3b3b1f}.meal-item__title{margin:0;font-weight:500;font-size:1.125rem}.meal-item__actions{display:flex;align-items:center;gap:4px}.meal-actions{display:flex;align-items:center;justify-content:space-between;gap:4px}.meal-actions .form-control{width:60px}.grocery-section{padding-top:16px}.grocery-section__title{display:flex;align-items:center;gap:12px;text-wrap:nowrap;font-size:1.125rem;font-weight:600;padding-bottom:4px;margin-bottom:8px}.grocery-section__title:after{content:"";height:1px;width:100%;background-color:#e2dfdf}.grocery-section__list{list-style:none;padding:0}.grocery-notes{margin-top:30px}.grocery-notes__title{font-size:1rem;margin-bottom:4px}.grocery-notes__counter{font-size:.875rem;color:#938a8b;margin-top:4px;text-align:right}.offline-status{position:fixed;top:0;left:0;right:0;z-index:1050;padding:.5rem 1rem;display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.875rem;box-shadow:0 2px 8px -2px #3f3b3b33,0 1px 4px -2px #3f3b3b1f;background:#1592a6;color:#fff}.offline-status.offline{background:#bf9f00;color:#3f3b3b}.offline-status .offline-indicator{display:flex;align-items:center;gap:.5rem}.offline-status .offline-icon{font-size:1rem}.offline-status .offline-text{font-weight:500}.offline-status .update-available{display:flex;align-items:center;gap:.5rem;background:#69990f;padding:.25rem .75rem;border-radius:1000px}.offline-status .update-icon{font-size:1rem;animation:spin 2s linear infinite}.offline-status .update-text{font-weight:500}.offline-status .update-button{background:#fff;color:#69990f;border:none;padding:.25rem .75rem;border-radius:5px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.offline-status .update-button:hover{background:#f5f4f4;transform:translateY(-1px)}.offline-status .update-button:active{transform:translateY(0)}.offline-status .check-updates-button{background:transparent;color:#fff;border:1px solid #ffffff;padding:.25rem .75rem;border-radius:5px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.offline-status .check-updates-button:hover{background:#fff;color:#1592a6}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 767px){.offline-status{flex-direction:column;gap:.5rem;padding:.75rem 1rem}.offline-status .offline-indicator,.offline-status .update-available{justify-content:center}.offline-status .check-updates-button{align-self:center}}.offline-status+.container{padding-top:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;overflow:auto;background-color:#3f3b3b99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1040;padding:16px;animation:modalFadeIn .2s ease}.modal-overlay.modal-closing{animation:modalFadeOut .2s ease}.modal-body{background:#fff;border-radius:20px;box-shadow:0 8px 24px -2px #3f3b3b1f,0 4px 8px -2px #3f3b3b0f;position:relative;max-width:100%;max-height:100%;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .2s ease;z-index:1050}.modal-body.modal-closing{animation:modalSlideOut .2s ease}.modal-body.modal-sm{width:500px}.modal-body.modal-md{width:650px}.modal-body.modal-lg{width:780px}.modal-close-button{position:absolute;top:8px;right:8px;border:none;font-size:2rem;font-weight:300;color:#938a8b;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:1000px;background-color:#ffffffb3;transition:all .1s ease;z-index:1}.modal-close-button:hover{background-color:#e2dfdf;color:#3f3b3b}.modal-close-button:focus{outline:2px solid #DE6052;outline-offset:2px}.modal-content{padding:24px;overflow-y:auto}.modal-content .modal-img{margin:-24px -24px 12px;height:200px;background-color:#e2dfdf}.modal-content .modal-img img{height:100%;width:100%;display:block}.modal-content .modal-title{padding-right:24px;margin-bottom:12px;font-weight:500;line-height:1.3}.modal-content .modal-subtitle{color:#554e4f}.modal-content .modal-actions{display:flex;justify-content:space-between;gap:16px;margin-top:24px}.modal-content .modal-actions>*{flex:1}.modal-meal-details .modal-ingredients{margin:20px 0 8px}.modal-meal-details .modal-ingredients .modal-section-header{display:flex;align-items:center;gap:12px;text-wrap:nowrap;font-size:1rem;margin-bottom:8px}.modal-meal-details .modal-ingredients .modal-section-header:after{content:"";height:1px;width:100%;background-color:#e2dfdf}.modal-meal-details .modal-ingredients ul{list-style:circle;padding-left:24px}.modal-meal-details .modal-ingredients ul li{font-size:.875rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes modalFadeOut{0%{opacity:1}to{opacity:0}}@keyframes modalSlideOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@media (max-width: 576px){.modal-overlay{padding:8px}.modal-content{padding:16px}.modal-content .modal-img{margin:-16px -16px 8px;height:150px}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}.meal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.meal-list{display:flex;padding:8px;margin:0 -8px;gap:8px;overflow-y:auto}.meal-list>*{flex:1 0 180px;max-width:280px}.meal-slots-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin:20px 0 0}.flex{display:flex}.flex-between{width:100%;display:flex;align-items:center;justify-content:space-between}.flex-center{display:flex;align-items:center;justify-content:center}.ingredient-list{padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid #e0e0e0}.app-view{display:flex;flex-direction:column;gap:30px}.section-header{width:100%;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header .header-with-badge{display:flex;align-items:center;gap:12px}.section-header .section-title{font-weight:500;font-size:2rem}.empty{padding:20px;text-align:center;border-radius:15px;background-color:#f5f4f4;color:#938a8b;border:1px solid #E2DFDF}.search{max-width:500px}.search-results,.selected-ingredients{margin:12px 0 16px}.selected-ingredients .selected-title{font-weight:500;font-size:1rem;margin-bottom:8px}.grocery-notes textarea{font-family:inherit;height:200px;resize:vertical}.date-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:8px 12px;border-radius:1000px;border:1px solid #BAB5B5;font-size:.875rem;line-height:1.2;font-weight:500;color:#554e4f;background-color:#faf9f9;transition:.2s ease}.date-input:focus{outline:none;border-color:#de6052;box-shadow:0 0 0 3px #de605233}.tabs{position:sticky;bottom:24px;z-index:1;min-height:36px;max-width:100%;display:inline-flex;overflow:auto;margin-top:30px;border-radius:1000px;background-color:#f5f4f4;border:1px solid #E2DFDF;box-shadow:0 2px 8px -2px #3f3b3b33,0 1px 4px -2px #3f3b3b1f}.tabs button.tab{display:flex;align-items:center;justify-content:center;flex:1;gap:5px;border:none;padding:10px 20px;font-size:.875rem;color:#3f3b3b;transition:.2s ease;border-radius:1000px;cursor:pointer;background-color:transparent}.tabs button.tab.tab-active{background-color:#de6052;color:#fff}.tabs button.tab:not(.tab-active):hover{background-color:#e2dfdf}.schedule-controls{display:flex;gap:8px;margin:0 0 24px;justify-content:space-between}.schedule-controls__date-group{display:flex;align-items:center;gap:8px}.schedule-controls__date-group label{font-size:.875rem;font-weight:600}.schedule-controls .btn{line-height:1}.meal-slot{cursor:grab;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease;user-select:none;-webkit-user-select:none;height:80px;position:relative;display:flex;border:1px solid #E2DFDF;border-radius:15px;overflow:hidden;background-color:#fff;box-shadow:0 2px 8px -2px #3f3b3b33,0 1px 4px -2px #3f3b3b1f;transition:background-color .2s ease,opacity .2s ease,border-color .2s ease;touch-action:none}.meal-slot:active{cursor:grabbing}.meal-slot.dragging{opacity:.7;transform:scale(1.02);z-index:1050;box-shadow:0 8px 24px -2px #3f3b3b1f,0 4px 8px -2px #3f3b3b0f}.meal-slot.drop-target{border:2px dashed #DE6052!important;background-color:#de60521a!important}.drag-locked .meal-slot{touch-action:auto}.meal-slot--empty{padding:12px 16px;border:2px dashed #e0e0e0;background-color:#00000005;box-shadow:none;cursor:default}.meal-slot--empty .empty-slot-content{display:flex;align-items:center;justify-content:center;flex:1;height:100%;color:#e0e0e0}.meal-slot.cooked{opacity:.7;background-color:#69990f1a!important;border-color:#69990f66}.meal-slot__img{background-color:#e2dfdf;flex:0 0 100px}.meal-slot__img img{height:100%}.meal-slot__date-label{position:absolute;top:0;left:0;font-size:.75rem;font-weight:600;color:#3f3b3b;background-color:#fffc;padding:2px 10px;border-bottom-right-radius:10px;border-bottom:1px solid #E2DFDF;border-right:1px solid #E2DFDF}.meal-slot__header{display:flex;justify-content:space-between;gap:12px;flex:1;padding:12px}.meal-slot__header .meal-cooked-toggle{flex-shrink:0;width:28px;height:28px;position:relative;align-self:baseline;cursor:pointer;padding:4px 8px;border:1px dashed #BAB5B5;border-radius:1000px;background-color:#f5f4f4;color:#3f3b3b;font-size:.75rem;font-weight:500;-webkit-user-select:none;user-select:none;transition:all .2s ease}.meal-slot__header .meal-cooked-toggle:after{content:"";position:absolute;top:50%;left:50%;width:9px;height:4px;border:2px solid #BAB5B5;border-top:none;border-right:none;transform:translate(-50%,-60%) rotate(-45deg);transition:all .2s ease}.meal-slot__header .meal-cooked-toggle:hover{background-color:#e2dfdf}.meal-slot__header .meal-cooked-toggle.cooked{border:1px solid #69990F;background-color:#69990f;color:#fff;box-shadow:0 1px 3px #3f3b3b1a,0 1px 2px #3f3b3b0f}.meal-slot__header .meal-cooked-toggle.cooked:after{border-color:#fff}.meal-slot__title{font-size:1rem;line-height:1.2;color:#3f3b3b;font-weight:500}@media (max-width: 767px){.grid,.meal-slots-container{grid-template-columns:1fr}.meal-list,.meal-grid{grid-template-columns:repeat(2,1fr)}.container{padding:16px 8px 24px}}@media (max-width: 479px){.meal-slots-container,.meal-list{grid-template-columns:1fr}.meal-grid{grid-template-columns:1fr 1fr}.container{padding:16px 8px 24px}}
