body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1f1f23;color:#fff;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}*{box-sizing:border-box;font-family:Nunito,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.navbar{background-color:#1e1e24;box-shadow:0 2px 10px #0000001a;padding:0;position:-webkit-sticky;position:sticky;top:0;width:100%;z-index:100}.navbar-container{align-items:center;display:flex;height:60px;justify-content:space-between;padding:0 20px;position:relative;width:100%}.nav-logo{height:auto;width:150px}.navbar-links{gap:16px}.nav-link{font-size:16px;transition:background-color .2s}.nav-link:hover{background-color:#ffffff1a}.nav-link.active{background-color:#758bf9;color:#fff;font-weight:600}.nav-link.disabled{cursor:not-allowed!important;opacity:.6;pointer-events:none}.user-profile-container{position:relative}.dropdown-menu{animation:dropdown-fade .2s ease;background-color:#2c2c35;border-radius:8px;box-shadow:0 5px 15px #0003;min-width:150px;overflow:hidden;position:absolute;right:0;top:calc(100% + 5px);z-index:100}@keyframes dropdown-fade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{background:none;border:none;color:#fff;cursor:pointer;display:block;font-size:14px;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.dropdown-item:hover{background-color:#3a3a45}.dropdown-item.sign-out{color:#f87171}.user-profile{align-items:center;background-color:#a9e5be;border-radius:999px;color:#1e1e24;cursor:pointer;display:flex;padding:6px 16px;transition:background-color .2s,box-shadow .2s}.user-profile:hover{background-color:#8cd3a9;box-shadow:0 0 0 2px #a9e5be4d}.user-name{font-weight:600;margin-right:8px}.user-icon{height:24px;width:24px}.navbar-right-section{align-items:center;display:flex;gap:16px}.hamburger-menu{background:none;border:none;cursor:pointer;display:none;padding:0}.hamburger-menu img{display:block;height:28px;width:28px}.mobile-menu{animation:dropdown-fade .2s ease;background-color:#2c2c35;box-shadow:0 5px 15px #0003;display:none;flex-direction:column;left:0;padding:10px 0;position:absolute;right:0;top:60px;z-index:99}.mobile-menu .nav-link{border-radius:0;display:block;padding:12px 20px;text-align:center}.mobile-menu .nav-link:hover{background-color:#3a3a45}@media (max-width:768px){.navbar-container{flex-direction:row;height:60px;justify-content:space-between;padding:0 15px}.navbar-links.desktop-links{display:none}.hamburger-menu{display:block}.mobile-menu{display:flex}.user-profile .user-name{display:none}.user-profile{padding:6px 10px}.navbar-user{margin-top:0}.navbar-links{flex-direction:column;gap:0;margin:0;position:static;transform:none}}.navbar{background-color:#2e3141;color:#fff;height:70px;justify-content:space-between;padding:0 1.5rem}.navbar,.navbar-logo{align-items:center;display:flex}.navbar-brand{font-size:1.25rem;font-weight:600;margin-left:.5rem}.navbar-links{display:flex;gap:1rem;margin:0 auto}.nav-link{border-radius:999px;color:#fff;font-weight:500;padding:8px 16px;text-decoration:none;transition:background-color .2s ease}.nav-link:hover:not(.active){background-color:#ffffff1a}.navbar-user{align-items:center;display:flex;gap:.75rem}.user-name{font-weight:500}.user-menu-container{position:relative}.user-menu-button{background:none;border:none;cursor:pointer;padding:0}.user-avatar{border-radius:50%;height:40px;object-fit:cover;width:40px}.user-dropdown{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-top:.5rem;min-width:150px;position:absolute;right:0;top:100%;z-index:10}.sign-out-button{background:none;border:none;color:#333;cursor:pointer;font-size:14px;padding:10px 15px;text-align:left;width:100%}.sign-out-button:hover{background-color:#f5f5f5}.search-container{display:flex;justify-content:center;padding:20px 0;width:100%}.search-bar{align-items:center;background-color:#fff;border-radius:50px;box-shadow:0 2px 10px #0000001a;display:flex;margin:0 auto;max-width:800px;padding:10px 20px;width:100%}.search-icon{color:#757575;height:24px;margin-right:10px;width:24px}.search-input{background-color:initial;border:none;color:#2c2c33;flex:1 1;font-size:16px;outline:none;padding:8px 0;width:100%}.search-input::placeholder{color:#a0a0a0}.search-input::-moz-placeholder{color:#a0a0a0;opacity:1}.clear-search-button{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:background-color .2s ease}.clear-search-button:hover{background-color:#f0f0f0}.clear-icon{color:#757575;height:20px;width:20px}@media screen and (max-width:768px){.search-bar{padding:8px 12px;width:90%}.search-icon{height:33px;margin-right:8px;width:35px}.search-input{font-size:1.2rem}.clear-icon{height:18px;width:18px}}@media screen and (max-width:480px){.search-bar{padding:6px 10px;width:95%}.search-icon{height:24px;margin-right:6px;width:24px}.search-input{font-size:1rem;padding:3px}.clear-icon{height:16px;width:16px}}.filter-container{margin-bottom:20px;margin-top:20px;padding:10px 20px;position:relative;width:100%;z-index:10}.filter-scroll-container{display:flex;justify-content:center;width:100%}.filter-pills-wrapper{-ms-overflow-style:none;display:flex;gap:15px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}.filter-pills-wrapper::-webkit-scrollbar{display:none}.filter-pill{align-items:center;background-color:#484852;border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;padding:10px 25px;transition:background-color .3s}.filter-pill:hover{background-color:#5a5a67}.filter-pill.active{background-color:#617afa}.clear-filters-btn{background-color:#3a3a42;color:#c7c7c7}.clear-filters-btn:hover{background-color:#484852}.category-dropdown-wrapper{flex-shrink:0;position:relative}.category-pill{position:relative}.category-dropdown-menu{-ms-overflow-style:none;animation:dropdownFadeIn .2s ease-out;background-color:#484852;border-radius:12px;box-shadow:0 4px 12px #0000004d;max-height:200px;max-width:240px;min-width:150px;overflow-y:auto;position:absolute;scrollbar-width:none;z-index:1000}.category-dropdown-menu::-webkit-scrollbar{display:none}.chevron{border:solid #fff;border-width:0 2px 2px 0;display:inline-block;margin-left:8px;padding:3px;transition:transform .2s ease-in-out}.chevron.down{transform:rotate(45deg)}.chevron.up{transform:rotate(-135deg)}.category-option{background:#0000;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:.9rem;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.category-option:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.category-option:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.category-option:hover{background-color:#5a5a67}.category-option.selected{background-color:#617afa}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media screen and (max-width:768px){.filter-container{padding:10px}.filter-scroll-container{justify-content:flex-start}.filter-pill{font-size:1rem;padding:8px 20px}.filter-icon{height:14px;width:14px}.category-dropdown-menu{min-width:140px}.category-option{padding:10px 14px}}@media screen and (max-width:480px){.filter-pill{font-size:1rem;padding:10px 15px}.filter-icon{height:12px;margin-left:6px;width:12px}.category-dropdown-menu{min-width:120px}.category-option{font-size:1rem;padding:8px 12px}.chevron{height:12px;margin-bottom:5px;margin-left:10px;width:12px}}.recipe-card{background-color:#2c2c35;border-radius:12px;box-shadow:0 4px 10px #0000001a;cursor:pointer;overflow:hidden;padding-bottom:15px;position:relative;transition:transform .2s ease,box-shadow .2s ease}.recipe-card:hover{box-shadow:0 8px 20px #0003;transform:translateY(-5px)}.recipe-image-container{aspect-ratio:1/1;overflow:hidden;position:relative;width:100%}.recipe-image{border-radius:8px}.favorite-btn{background:#0000;bottom:10px;filter:drop-shadow(0 0 2px rgba(0,0,0,.5));font-size:1.5rem}.recipe-name{color:#fff;font-size:1.2rem;font-weight:600;margin:10px 0 5px}.recipe-author,.recipe-name{padding:0 12px;text-align:left}.recipe-author{color:#aaa;display:block;font-size:.9rem;margin:0}.heart-icon.filled{filter:invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%)}@media screen and (max-width:768px){.recipe-card{padding-bottom:12px}.recipe-name{font-size:1.2rem;margin:8px 0 3px;padding:0 10px}.recipe-author{font-size:.9rem;padding:0 10px}.heart-icon{height:22px;width:22px}.recipe-image-container{aspect-ratio:16/10}.favorite-btn{bottom:8px;right:8px}}@media screen and (max-width:480px){.recipe-card{padding-bottom:10px}.recipe-name{font-size:1.1rem;margin:6px 0 2px;padding:0 8px}.recipe-author{font-size:.85rem;padding:0 8px}.heart-icon{height:20px;width:20px}.recipe-image-container{aspect-ratio:16/9}.favorite-btn{bottom:6px;right:6px}}.recipe-image-wrapper{border-radius:8px;height:100%;overflow:hidden;position:relative;width:100%}.recipe-image{display:block;height:100%;object-fit:cover;width:100%}.image-error .no-image-container{bottom:0;display:flex;left:0;position:absolute;right:0;top:0}.no-image-container{align-items:center;background-color:#3f4246;border-radius:inherit;box-sizing:border-box;color:#ccc;display:flex;flex-direction:column;height:100%;justify-content:center;padding:20px;width:100%}.no-image-text{font-size:.9em;margin-top:10px;text-align:center}.ai-image-container{display:block;height:100%;position:relative;width:100%}.ai-overlay-text{background-color:#0009;border-radius:4px;bottom:5px;color:#fff;font-family:sans-serif;font-size:.75em;line-height:1;padding:3px 6px;position:absolute;right:5px;z-index:1}.no-image-container-editable{cursor:pointer;transition:background-color .2s ease-in-out}.no-image-container-editable:hover{background-color:#4a4e52}.no-image-container-editable .no-image-icon.editable-icon svg{opacity:.7}.no-image-container-editable .no-image-text.editable-text{color:#e0e0e0;font-weight:500}.no-image-icon img{height:72px;opacity:.5;width:72px}.favorite-btn{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:0;position:absolute;right:10px;top:10px;transition:all .3s ease;z-index:2}.favorite-btn.small{height:30px;width:30px}.favorite-btn.medium{height:40px;width:40px}.favorite-btn.large{height:50px;width:50px}.favorite-btn:hover{background:#000000b3}.favorite-btn.active{background:#00000080;color:#ff3b30}.heart-icon{height:60%;transition:all .1s ease;width:60%}.heart-icon.filled{fill:currentColor;color:#ff3b30}.heart-icon.pulse{animation:clickPulse .3s ease forwards}@keyframes clickPulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.recipe-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding:20px 0;width:100%}@media (max-width:768px){.recipe-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width:480px){.recipe-grid{gap:16px;grid-template-columns:1fr}}.no-recipes-message{color:#666;font-size:16px;grid-column:1/-1;padding:40px 0;text-align:center}.empty-recipe-container{flex-direction:column;margin:0 auto;max-width:600px;min-height:60vh;padding:2rem;text-align:center}.empty-icon,.empty-recipe-container{align-items:center;display:flex;justify-content:center}.empty-icon{background-color:#ffffff1a;border-radius:50%;height:130px;margin-bottom:2rem;width:130px}.folder-icon{align-items:center;display:flex;justify-content:center}.empty-title{color:#fff;font-size:1.75rem;font-weight:500;margin-bottom:1rem}.empty-description{color:#fffc;line-height:1.6;margin-bottom:2rem;max-width:480px}.upload-recipe-btn{background-color:#f43f5f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;max-width:500px;padding:1rem 2rem;transition:background-color .3s ease;width:100%}.upload-recipe-btn:hover{background-color:#d84c66}.upload-error{color:#f43f5f;font-size:.9rem;margin-bottom:1rem;max-width:500px}.upload-recipe-btn:disabled{background-color:#919191;cursor:not-allowed}.spinner{animation:spin 1s ease infinite;border:4px solid #0000001a;border-left-color:#09f;height:36px;margin:0 auto 20px;width:36px}.error-container,.processing-container,.success-container,.uploading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:30px;text-align:center}.processing-note{color:#666;font-size:14px}.success-icon{background-color:#4caf50}.error-icon,.success-icon{color:#fff;margin-bottom:20px}.error-icon,.try-again-btn{background-color:#f44336}.try-again-btn{border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:15px;padding:8px 16px}.try-again-btn:hover{background-color:#d32f2f}.upload-error{color:#f44336;font-weight:500;margin:15px 0;text-align:center}.check-status-btn{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:15px;padding:8px 16px}.check-status-btn:hover{background-color:#2980b9}.recipes-page{margin:0 auto;max-width:1200px;padding:20px;width:100%}.recipes-content{margin-top:20px}.recipes-error,.recipes-loading{align-items:center;color:#666;display:flex;font-size:18px;justify-content:center;min-height:300px;width:100%}.recipes-error{color:#e74c3c}.no-recipes-found{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:300px;text-align:center}.no-recipes-found p{font-size:18px;margin:8px 0}.search-suggestion{color:#999;font-size:14px}.recipe-image-upload-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 60px);padding:20px}.upload-container{background-color:#2c2c33;border-radius:16px;box-shadow:0 8px 24px #0000004d;display:flex;flex-direction:column;gap:10px;max-width:560px;padding:24px;width:100%}h2{color:#fff;font-size:24px;margin-bottom:0;text-align:center}.upload-limit-text{color:#a0a0a0;font-size:14px;margin:-8px 0 16px;text-align:center}.hidden-file-input{display:none}.upload-icon{color:#ff385c;font-size:48px;margin-bottom:10px}.upload-subtitle{color:#a0a0a0;font-size:.9rem;margin-top:0}.image-preview-container{align-items:center;display:flex;flex-direction:column;gap:15px;width:100%}.image-previews-container{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:10px;width:100%}.image-preview-item{aspect-ratio:1/1;border-radius:8px;overflow:hidden;position:relative}.image-preview{border-radius:8px;height:100%;object-fit:cover;width:100%}.remove-image-button{align-items:center;background-color:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:25px;justify-content:center;position:absolute;right:5px;top:5px;transition:all .3s ease;width:25px}.remove-image-button:hover{background-color:#ff385ce6}.change-image-button{background-color:initial;border:1px solid #ff385c;border-radius:4px;color:#ff385c;cursor:pointer;padding:8px 16px;transition:all .3s ease}.change-image-button:hover{background-color:#ff385c1a}.upload-button{background-color:#ff385c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px;transition:all .3s ease;width:100%}.upload-button:hover{background-color:#e6344f}.upload-button:disabled{background-color:#666673;cursor:not-allowed}.text-button{background-color:initial;border:none;color:#fff;cursor:pointer;font-size:1rem;padding:8px 16px;transition:all .3s ease}.text-button:hover{color:#a0a0a0}.text-button:disabled{color:#666673;cursor:not-allowed}.cancel-button{border:1px solid #484852;border-radius:6px;cursor:pointer;padding:12px;transition:all .3s ease;width:100%}.cancel-button:hover{background-color:#ffffff1a}.error-message{color:#ff385c;text-align:center}.success-message{color:#4caf50}.processing-message{align-items:center;color:#fff;display:flex;flex-direction:column;text-align:center}.processing-note{color:#a0a0a0;font-size:.9rem;margin-top:5px}.spinner{animation:spin 1s linear infinite;border:4px solid #ff385c4d;border-radius:50%;border-top-color:#ff385c;height:40px;margin-bottom:15px;width:40px}.success-icon{background-color:#4caf5033;color:#4caf50}.error-icon,.success-icon{align-items:center;border-radius:50%;display:flex;font-size:24px;height:50px;justify-content:center;margin:0 auto 15px;width:50px}.error-icon{background-color:#ff385c33;color:#ff385c}.retry-button{background-color:#ff385c;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:15px;padding:8px 16px}@media screen and (max-width:768px){.recipe-image-upload-page{align-items:flex-start;padding-top:15px}.upload-container{padding:20px}.upload-cta{height:180px}.image-previews-container{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media screen and (max-width:480px){.recipe-image-upload-page{padding:10px}.upload-container{border-radius:8px;padding:15px}.upload-cta{height:150px}.upload-icon{font-size:36px}.image-previews-container{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.upload-tab-button .tab-icon{display:none}.upload-tab-button{font-size:.9rem;padding:10px 5px}.url-icon{color:#a0a0a0;padding:0 12px}.url-input{padding:12px 12px 12px 0}}.upload-mode-tabs{border-bottom:1px solid #484852;justify-content:space-around;margin-bottom:20px;width:100%}.upload-mode-tabs,.upload-tab-button{background-color:initial;display:flex}.upload-tab-button{align-items:center;border:none;border-bottom:2px solid #0000;color:#a0a0a0;cursor:pointer;flex-direction:column;flex-grow:1;font-size:16px;font-weight:500;gap:4px;justify-content:center;min-width:auto;padding:10px 5px;transition:color .3s ease,border-color .3s ease}.upload-tab-button.active{border-bottom:2px solid #758bf9;color:#758bf9;font-weight:600}.upload-tab-button:hover:not(.active){color:#fff}.upload-tab-button:disabled{background-color:initial!important;border-bottom-color:#0000!important;color:#555!important;cursor:not-allowed}.upload-tab-button .tab-icon{height:24px;margin-bottom:2px;width:24px}.url-input-container{margin-bottom:20px;margin-top:8px;width:100%}.url-input-label{color:#fff;display:block;font-weight:500;margin-bottom:8px}.url-input-wrapper{background-color:#1e1e25;border:1px solid #484852;border-radius:8px;overflow:hidden;position:relative;width:100%}.url-icon,.url-input-wrapper{align-items:center;display:flex}.url-icon{color:#a0a0a0;height:26px;justify-content:center;min-width:26px;padding:0 12px}.url-input{background-color:initial;border:none;color:#fff;flex:1 1;font-size:1rem;padding:12px 12px 12px 0}.url-input:focus{outline:none}.url-input::placeholder{color:#a0a0a0}.url-input-help{color:#a0a0a0;font-size:.9rem;margin-top:8px}.retry-message{align-items:center;background-color:#ff8c001a;border-radius:4px;color:#ff8c00;display:flex;font-size:14px;justify-content:center;margin:10px 0;padding:10px;text-align:center}.retry-message:before{animation:spin 1.5s linear infinite;content:"⟳";font-size:16px;margin-right:5px}.upload-cta-initial{align-items:center;border:2px dashed #484852;border-radius:12px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;height:200px;justify-content:center;padding:20px;text-align:center;transition:border-color .3s ease,background-color .3s ease;width:100%}.upload-cta-initial .upload-area-icon{height:48px;margin-bottom:15px;width:48px}.upload-cta-initial .upload-cta-text-primary{color:#fff;font-size:16px;font-weight:500;margin-bottom:8px}.upload-cta-initial .upload-cta-text-secondary{color:#a0a0a0;font-size:14px}.upload-cta-more{align-items:center;background-color:#2c2c33;border:2px dashed #484852;border-radius:12px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin-top:10px;padding:15px;transition:border-color .3s ease,background-color .3s ease;width:100%}.upload-cta-more:hover{background-color:#3a3a40;border-color:#4a90e2}.upload-cta-more .upload-icon-more{color:#a0a0a0;font-size:24px;margin-bottom:5px}.upload-cta-more p{color:#fff;font-size:14px;margin:0}.upload-cta-more .upload-subtitle{color:#a0a0a0;font-size:12px;margin-top:3px!important}.scan-upload-container{align-items:center;background-color:#1e1e25;border:2px dashed #484852;border-radius:12px;display:flex;flex-direction:column;padding:20px;transition:border-color .3s ease}.scan-upload-container:hover{border-color:#4a90e2}.scan-upload-container-content{align-items:center;display:flex;flex-direction:column;gap:5px;text-align:center}.scan-main-camera-icon{height:64px;margin-bottom:5px;width:64px}.scan-instructions-primary{color:#fff;font-size:16px;font-weight:500;margin-bottom:2px}.scan-instructions-secondary{color:#a0a0a0;font-size:13px;line-height:1.5;margin-bottom:10px;max-width:350px}.open-camera-button{background-color:#758bf9;border:none;border-radius:8px;box-sizing:border-box;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:8px 30px;transition:background-color .3s ease;width:100%}.open-camera-button:hover{background-color:#4a90e2}.open-camera-button:disabled{background-color:#666673;cursor:not-allowed}.voice-upload-container{align-items:center;background-color:#1e1e25;border:2px dashed #484852;border-radius:12px;display:flex;flex-direction:column;padding:20px;transition:border-color .3s ease}.voice-upload-container:hover{border-color:#4a90e2}.voice-upload-container-content{align-items:center;display:flex;flex-direction:column;gap:15px;padding:10px 0;text-align:center;width:100%}.transcribed-text-area{background-color:#1e1e25;border:1px solid #484852;border-radius:8px;box-sizing:border-box;color:#fff;font-size:14px;margin-bottom:15px;min-height:260px;padding:10px;resize:vertical;width:100%}.transcribed-text-area::placeholder{color:#a0a0a0}.transcribed-text-area.recording-state,.transcribed-text-area.transcribing-state{animation:thinking-animation 2s ease-in-out infinite;font-weight:500}@keyframes thinking-animation{0%{color:#4f5461}50%{color:#d6d6de}to{color:#4f5461}}@keyframes thinking-pulse{0%,to{color:#758bf9;opacity:1}50%{color:#90c6a2;opacity:.6}}.voice-record-cta-button{align-items:center;background-color:#d6d6de;border:none;border-radius:50%;cursor:pointer;display:flex;height:50px;justify-content:center;margin-top:auto;padding:0;position:relative;transition:background-color .3s ease;width:50px;z-index:1}.voice-record-cta-button:hover{background-color:#c5c5d0}.voice-record-cta-button:disabled{background-color:#e8e8ed;cursor:not-allowed}.voice-record-cta-button.recording{background-color:#d6d6de}.voice-record-cta-button.recording:before{animation:gradient-rotation 5s linear infinite;background:conic-gradient(from 0deg,#4513f4,#5fcfd9,#4513f4);border-radius:50%;content:"";height:58px;left:-4px;position:absolute;top:-4px;transform-origin:center center;width:58px;z-index:-1}.voice-record-cta-button.recording:after{background-color:#d6d6de;border-radius:50%;content:"";height:52px;left:-1px;position:absolute;top:-1px;width:52px;z-index:0}.voice-main-icon{height:30px;position:relative;transition:transform .2s ease-in-out;width:30px;z-index:2}.voice-record-cta-button.recording .voice-main-icon{transform:scale(1.1)}@keyframes gradient-rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.voice-instructions-secondary{color:#666;font-size:.9rem;margin-bottom:0;margin-top:0}.image-upload-container{background-color:#1e1e25;border-radius:12px}.upload-cta-initial:hover{border-color:#4a90e2}.scan-upload-internal-content,.scanned-image-preview-area{align-items:center;display:flex;flex-direction:column;width:100%}.scanned-image-preview-area{margin-bottom:20px}.scanned-recipe-preview-image{border:1px solid #484852;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin-bottom:10px;max-height:200px;max-width:200px;object-fit:contain}.remove-scanned-image-button{background-color:#484852;border:none;border-radius:6px;box-sizing:border-box;color:#fff;cursor:pointer;font-size:16px;min-width:0;padding:8px 30px;transition:background-color .3s ease;width:100%}.remove-scanned-image-button:hover{background-color:#6a6a73}.remove-scanned-image-button:disabled{background-color:#3a3a43;color:#777;cursor:not-allowed}.scan-action-area{align-items:center;display:flex;flex-direction:column;gap:15px;text-align:center;width:100%}.scan-specific-error{margin-top:15px}.global-error-banner{background-color:#ffd2d2;border:1px solid #ffbdbd;border-radius:6px;color:#d8000c;font-size:.95rem;font-weight:500;margin-bottom:20px;padding:12px 15px;text-align:center}.upload-recipe-page{margin:0 auto;max-width:800px;padding:2rem}.recipe-detail-container{color:#fff;flex-direction:column;gap:32px;margin:0 auto;max-width:1200px}.recipe-detail-container,.recipe-error,.recipe-loading,.recipe-not-found{background-color:#1e1e24;display:flex;min-height:calc(100vh - 60px);padding:24px}.recipe-error,.recipe-loading,.recipe-not-found{align-items:center;color:#ccc;font-size:18px;justify-content:center;text-align:center;width:100%}.recipe-error{color:#e74c3c}.recipe-not-found{color:#f39c12}.recipe-detail-header{display:flex;flex-direction:column;gap:32px}.recipe-detail-image-container{background-color:#2c2c35;border-radius:16px;display:flex;height:400px;justify-content:center;overflow:hidden;position:relative}.recipe-detail-image{height:100%;object-fit:cover;width:100%}.favorite-button{align-items:center;background:#0000;background-color:#fff3;border:none;border-radius:50%;bottom:16px;cursor:pointer;display:flex;height:48px;justify-content:center;padding:8px;position:absolute;right:16px;width:48px;z-index:10}.heart-icon{height:24px;transition:filter .3s;width:24px}.heart-icon.filled{filter:brightness(0) saturate(100%) invert(44%) sepia(24%) saturate(2822%) hue-rotate(346deg) brightness(97%) contrast(96%)}.recipe-content{display:flex;flex-direction:column;gap:24px}.recipe-title{font-size:2.5rem;font-weight:700;margin:0 0 16px;padding-left:0;text-align:left}.recipe-meta{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;margin-bottom:16px}.meta-item{align-items:center;display:flex;flex-basis:calc(50% - 8px);gap:12px}.meta-icon{height:24px;width:24px}.meta-label{color:#fffc;font-weight:600;margin-right:4px}.meta-value{color:#fffc}.meal-plan-button-container{display:flex;gap:16px;margin-bottom:24px;margin-top:8px;padding-left:0;width:100%}.meal-plan-button{align-items:center;background-color:#ff8730;border:none;border-radius:999px;color:#fff;cursor:pointer;display:flex;flex-grow:1;font-size:1.2rem;font-weight:600;font-weight:800;gap:8px;justify-content:center;padding:12px 24px;transition:background-color .2s;white-space:nowrap}.meal-plan-button:hover{background-color:#f06a14}.edit-recipe-button{align-items:center;background-color:#383842;border:1px solid #555;border-radius:999px;color:#fff;cursor:pointer;display:flex;flex-grow:1;flex-shrink:0;font-size:1.2rem;font-weight:600;font-weight:800;gap:8px;justify-content:center;padding:12px 24px;transition:background-color .2s,border-color .2s}.edit-recipe-button:hover{background-color:#4a4a54;border-color:#777}.edit-recipe-icon{fill:currentColor;height:18px;width:18px}.recipe-tabs-container{width:100%}.recipe-tabs{border-radius:8px 8px 0 0;display:flex;overflow:hidden;width:100%}.tab-button{background-color:#383842;color:#fff;font-size:1rem;font-weight:600;padding:16px 24px;text-align:center;transition:background-color .2s}.tab-button.active{background-color:#ff8730}.tab-button:not(.active):hover{background-color:#44444f}.tab-content{background-color:#2c2c35;border-radius:0 0 8px 8px;min-height:200px;padding:24px}.ingredients-list{display:flex;flex-direction:column;gap:16px;padding-left:8px}.ingredient-item{font-size:1rem;padding:8px 0 8px 24px;position:relative}.ingredient-item:before{color:#fff;content:"•";font-size:1.2rem;left:0;position:absolute}.method-list{display:flex;flex-direction:column;gap:24px;list-style-type:decimal;margin:0;padding-left:24px}.method-step{line-height:1.6;padding-left:8px;position:relative}.method-step:before{content:none}.recipe-owner-item{flex-basis:100%!important;max-width:100%!important}.recipe-owner-icon.meta-icon{fill:currentColor}@media (min-width:768px){.recipe-detail-container{gap:48px;padding:32px}.recipe-detail-header{align-items:flex-start;flex-direction:row;gap:48px}.recipe-detail-image-container{flex:0 0 45%;height:350px;max-height:500px;max-width:45%}.recipe-content{flex:1 1}.recipe-meta{flex-direction:row;flex-wrap:wrap;gap:24px}.meta-item{flex-basis:calc(50% - 12px)}.recipe-title{font-size:2.8rem;padding-left:0}.meal-plan-button-container{display:flex;gap:16px;max-width:200px;padding-left:0;width:auto}.meal-plan-button{width:100%}}@media (max-width:767px){.recipe-meta{gap:12px;margin-bottom:12px}.meta-item{gap:8px}.recipe-title{font-size:2rem;margin-bottom:8px}.meal-plan-button-container{flex-direction:row}.edit-recipe-button,.meal-plan-button{flex-basis:0;flex-grow:1}.recipe-detail-container{padding:16px}.recipe-detail-image-container{border-radius:12px;height:300px}}.meal-plan-modal-overlay-new{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1050}.meal-plan-modal-new{background-color:#fff;border-radius:16px;box-shadow:0 8px 25px #00000026;color:#333;display:flex;flex-direction:column;gap:20px;max-width:420px;padding:24px;width:100%}.meal-plan-modal-header-new{align-items:center;display:flex;justify-content:space-between}.meal-plan-modal-header-new h3{font-size:20px;font-weight:600;margin:0}.meal-plan-modal-close-new{background:none;border:none;color:#888;cursor:pointer;font-size:30px;line-height:1;padding:0}.meal-plan-modal-close-new:hover{color:#333}.meal-plan-modal-recipe-banner{align-items:center;background-color:#f7f7f7;border-radius:10px;display:flex;gap:12px;padding:12px}.banner-image-container{border-radius:8px;flex-shrink:0;height:50px;overflow:hidden;width:50px}.banner-recipe-image{height:100%;object-fit:cover;width:100%}.banner-info{display:flex;flex-direction:column;flex-grow:1;gap:4px;overflow:hidden}.banner-info h4{font-size:18px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner-meta{color:#555;display:flex;font-size:14px;gap:10px}.banner-meta span{align-items:center;display:flex;gap:6px}.banner-meta-icon{height:18px;width:18px}.meal-plan-modal-content-new{display:flex;flex-direction:column;gap:16px}.form-group{gap:6px}.form-group label{color:#444;font-size:14px;font-weight:500}.meal-plan-day-select-new,.meal-plan-portions-input-new{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:15px;padding:10px 12px;width:100%}.meal-plan-day-select-new:focus,.meal-plan-portions-input-new:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133;outline:none}.meal-plan-modal-actions-new{display:flex;gap:12px;margin-top:8px}.modal-button-add,.modal-button-cancel{border:none;border-radius:25px;cursor:pointer;flex:1 1;font-size:15px;font-weight:500;padding:12px;transition:background-color .2s,box-shadow .2s}.modal-button-cancel{background-color:#e5e7eb;color:#374151}.modal-button-cancel:hover{background-color:#d1d5db}.modal-button-add{background-color:#6366f1;color:#fff}.modal-button-add:hover{background-color:#4f46e5;box-shadow:0 2px 10px #6366f14d}.preview-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:15px;position:fixed;right:0;top:0;z-index:1000}.preview-modal-content{background-color:#fff;border-radius:8px;box-shadow:0 4px 15px #0003;color:#333;display:flex;flex-direction:column;max-height:90vh;max-width:500px;padding:20px;width:100%}.preview-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;flex-direction:row-reverse;margin-bottom:10px;padding-bottom:10px}.preview-modal-title{flex-grow:1;font-size:1.25em;font-weight:700;margin:0;text-align:center}.preview-modal-close-btn{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:1.5em;font-weight:400;height:24px;justify-content:center;line-height:1;padding:0;width:24px}.preview-modal-close-btn:hover{color:#000}.preview-modal-image-container{align-items:center;background-color:#f0f0f0;border-radius:4px;display:flex;justify-content:center;margin-bottom:10px;min-height:180px;overflow-y:auto;width:100%}.preview-modal-image{border-radius:4px;display:block;max-height:55vh;max-width:100%}.preview-modal-review-text{color:#555;font-size:.9em;margin-bottom:15px;margin-top:0;text-align:center}.preview-modal-no-image{color:#888;font-style:italic}.preview-modal-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;margin-top:auto;padding-top:15px}.preview-modal-btn{border:none;border-radius:25px;cursor:pointer;flex-grow:1;font-size:.95em;font-weight:600;padding:12px 25px;text-align:center;transition:background-color .2s ease,opacity .2s ease,transform .1s ease}.preview-modal-btn:active{transform:translateY(1px)}.preview-modal-btn.cancel-btn{background-color:#ff4d6a;border:none;color:#fff}.preview-modal-btn.cancel-btn:hover{background-color:#e0425b}.preview-modal-btn.confirm-btn{background-color:#4a90e2;color:#fff}.preview-modal-btn.confirm-btn:hover{background-color:#357abd}.preview-modal-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:600px){.preview-modal-content{max-height:95vh;max-width:95%;padding:15px}.preview-modal-title{font-size:1.1em}.preview-modal-image-container{min-height:150px}.preview-modal-footer{flex-direction:row;gap:15px}.preview-modal-btn{font-size:.9em;padding:12px 20px;width:auto}}:root{--remove-btn-width-desktop:32px;--remove-btn-width-mobile:28px;--ingredient-row-gap:8px}.edit-recipe-modal-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;overflow:hidden;padding:20px;position:fixed;right:0;top:0;z-index:1000}.edit-recipe-modal{background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;color:#333;display:flex;flex-direction:column;height:90vh;max-height:90vh;max-width:700px;overflow:hidden;width:100%}.edit-recipe-modal-header{align-items:center;background-color:#f8f9fa;border-bottom:1px solid #dee2e6;border-top-left-radius:12px;border-top-right-radius:12px;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 24px}.edit-recipe-modal-header h2{color:#000;flex-grow:1;font-size:1.5rem;font-weight:600;margin:0 auto;text-align:center}.edit-recipe-modal-close-btn{background:#0000;border:none;color:#6c757d;cursor:pointer;font-size:2rem;line-height:1;opacity:.8;padding:0 8px}.edit-recipe-modal-close-btn:hover{color:#333;opacity:1}.edit-recipe-modal-content{box-sizing:border-box;flex-grow:1;min-height:0;overflow-y:auto;padding:24px}.edit-recipe-modal form{display:flex;flex-direction:column;height:100%}.form-group{margin-bottom:20px;overflow-x:hidden;padding-right:1px;width:100%}.form-fieldset legend,.form-group label{color:#495057;display:block;font-weight:600;margin-bottom:8px}.form-group input[type=number],.form-group input[type=text],.form-group textarea,.single-method-textarea{background-color:#f8f9fa;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;color:#495057;font-size:1rem;padding:10px 12px;width:100%}.form-group input[type=number]:focus,.form-group input[type=text]:focus,.form-group textarea:focus,.single-method-textarea:focus{border-color:#ff8730;box-shadow:0 0 0 2px #ff873040;outline:none}.form-row{margin-bottom:20px}.form-row .form-group{flex:1 1;margin-bottom:0}.form-fieldset{border:1px solid #dee2e6;border-radius:8px;box-sizing:border-box;margin-bottom:24px;overflow-x:hidden;padding:16px;width:100%}.form-fieldset legend{color:#ff8730;font-size:1.1rem;gap:10px;padding:0 8px}.form-fieldset legend,.ingredient-edit-row{box-sizing:border-box;margin-bottom:12px;width:100%}.ingredient-edit-row{align-items:center;display:flex;gap:8px}.ingredient-edit-row input{background-color:#f1f3f5;border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;color:#495057;font-size:.95rem;padding:8px 10px}.ingredient-name-input{width:calc(50% - 28px);width:calc(50% - var(--remove-btn-width-desktop)*.5 - var(--ingredient-row-gap)*3*.5)}.ingredient-quantity-input,.ingredient-unit-input{width:calc(25% - 14px);width:calc(25% - var(--remove-btn-width-desktop)*.25 - var(--ingredient-row-gap)*3*.25)}.remove-item-btn{align-items:center;background-color:initial;border:none;border-radius:50%;color:#dc3545;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;padding:6px;text-align:center;transition:background-color .2s;width:32px}.remove-item-btn svg{height:16px;width:16px}.remove-item-btn:hover{background-color:#dc35451a;color:#a71d2a;.remove-item-btn svg{height:14px;width:14px}}.add-item-btn{background-color:#e9ecef;border:1px dashed #adb5bd;border-radius:6px;color:#495057;cursor:pointer;flex-shrink:0;font-weight:500;margin-top:8px;padding:10px 15px;transition:background-color .2s,border-color .2s}.add-item-btn:hover{background-color:#dde2e6;border-color:#8a95a0}.edit-recipe-modal-footer{background-color:#f8f9fa;border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-top:1px solid #dee2e6;display:flex;flex-shrink:0;gap:12px;justify-content:center;padding:16px 24px}.modal-save-btn{background-color:#ff8730;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:12px 24px;transition:background-color .2s}.modal-save-btn:hover{background-color:#f06a14}.add-item-btn:disabled,.form-group input:disabled,.form-group textarea:disabled,.ingredient-edit-row input:disabled,.modal-save-btn:disabled,.remove-item-btn:disabled,.single-method-textarea:disabled{cursor:not-allowed;opacity:.7}.modal-error-message{background-color:#dc35451a;border:1px solid #dc3545;border-radius:6px;color:#dc3545;font-size:.9rem;margin-bottom:16px;padding:10px 15px;text-align:center}@media (max-width:576px){.edit-recipe-modal{max-width:95vw}.edit-recipe-modal-content{padding:16px}.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:16px}.ingredient-edit-row{gap:8px}.remove-item-btn{flex-shrink:0;height:28px;padding:4px;width:28px}.remove-item-btn svg{height:14px;width:14px}.modal-save-btn{font-size:1rem;padding:10px 18px}.edit-recipe-modal-header h2{font-size:1.25rem}.ingredient-name-input{width:calc(50% - 26px);width:calc(50% - var(--remove-btn-width-mobile)*.5 - var(--ingredient-row-gap)*3*.5)}.ingredient-quantity-input,.ingredient-unit-input{width:calc(25% - 13px);width:calc(25% - var(--remove-btn-width-mobile)*.25 - var(--ingredient-row-gap)*3*.25)}}.meal-plan-page{display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:calc(100vh - 80px);overflow-x:hidden;padding:20px}.meal-plan-header{margin-bottom:20px;text-align:center}.meal-plan-title{color:#fff;font-size:36px;font-weight:600;margin-bottom:8px}.meal-plan-subtitle{color:#aaa;font-size:16px;margin-top:0}.meal-plan-days-container{margin-bottom:20px;overflow-x:auto;width:100%}.meal-plan-days{display:flex;gap:8px;justify-content:space-between;padding:8px 0;width:100%}.meal-plan-day-button{background-color:#2d3033;border:none;border-radius:25px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;max-width:none;min-width:0;padding:10px 4px;text-align:center;transition:background-color .2s;white-space:nowrap}.meal-plan-day-button.selected{background-color:#6366f1}.meal-plan-day-button:hover:not(.selected){background-color:#3f4246}.meal-plan-remove-button{background-color:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-top:10px;padding:5px 10px;transition:background-color .2s}.meal-plan-remove-button:hover{background-color:#dc2626}.meal-plan-shopping-list-button:disabled{background-color:#6b7280;cursor:not-allowed}.meal-plan-carousel-wrapper{margin-bottom:20px;overflow-x:hidden;position:relative;width:100%}.meal-plan-carousel{-webkit-overflow-scrolling:touch;box-sizing:border-box;display:flex;gap:16px;margin:0;overflow-x:auto;padding:10px 16px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-color:#6366f1 #2d3033;scrollbar-width:thin;width:100%}.meal-plan-carousel::-webkit-scrollbar{height:6px}.meal-plan-carousel::-webkit-scrollbar-track{background:#2d3033;border-radius:10px}.meal-plan-carousel::-webkit-scrollbar-thumb{background:#6366f1;border-radius:10px}.meal-plan-card-container{box-sizing:border-box;flex:0 0 300px;min-height:350px;padding:4px;scroll-snap-align:center;transition:transform .2s,border .2s;width:300px}.meal-plan-card-container.selected{border:2px solid #6366f1;border-radius:14px;transform:translateY(-5px)}.meal-plan-empty-card,.meal-plan-recipe-card{background-color:#2d3033;border-radius:12px;box-shadow:0 4px 8px #0000001a;display:flex;flex-direction:column;height:100%;overflow:hidden}.meal-plan-recipe-card.clickable{cursor:pointer;transition:transform .2s,box-shadow .2s}.meal-plan-recipe-card.clickable:hover{box-shadow:0 6px 12px #0003;transform:translateY(-3px)}.meal-plan-recipe-image-container{height:180px;overflow:hidden;position:relative;width:100%}.meal-plan-recipe-image{height:100%;object-fit:cover;width:100%}.meal-plan-recipe-image-container .no-image-container{align-items:center;background-color:#3c3c43;display:flex;flex-direction:column;height:100%;justify-content:center}.meal-plan-recipe-image-container .no-image-icon{margin-bottom:8px}.meal-plan-recipe-image-container .no-image-icon svg{height:48px;width:48px}.meal-plan-recipe-image-container .no-image-text{color:#fff;font-size:14px;margin:0}.meal-plan-empty-info,.meal-plan-recipe-info{display:flex;flex:1 1;flex-direction:column;padding:15px}.meal-plan-recipe-name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;align-items:center;color:#fff;display:-webkit-box;display:flex;font-size:18px;gap:6px;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis}.view-recipe-indicator{color:#fff;display:inline-flex;opacity:.5;transition:opacity .2s,transform .2s}.meal-plan-recipe-card.clickable:hover .view-recipe-indicator{opacity:1;transform:translateX(2px)}.meal-plan-recipe-owner,.meal-plan-recipe-portions{color:#aaa;font-size:14px;margin:0 0 5px}.meal-plan-edit-button{align-self:center;background-color:#6366f1;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:14px;margin-top:auto;padding:8px 16px;transition:background-color .2s;width:-webkit-fit-content;width:fit-content}.meal-plan-edit-button:hover{background-color:#4f46e5}.meal-plan-no-image-container{height:180px}.meal-plan-no-image,.meal-plan-no-image-container{align-items:center;background-color:#3f4246;display:flex;justify-content:center}.meal-plan-no-image{border-radius:8px;color:#aaa;font-size:14px;height:120px;width:150px}.meal-plan-no-recipe{color:#fff;font-size:18px;font-weight:500;margin:10px 0;text-align:center}.meal-plan-browse-recipes{align-items:center;background-color:#6366f1;border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;margin:10px auto 0;padding:8px 16px;transition:background-color .2s}.meal-plan-browse-recipes:hover{background-color:#4f46e5}.meal-plan-browse-icon{height:16px;width:16px}.meal-plan-pagination{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.meal-plan-dot{background-color:#3f4246;border:none;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:background-color .2s;width:10px}.meal-plan-dot.active{background-color:#6366f1}.meal-plan-actions{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:auto;padding:20px 0}.meal-plan-shopping-list-button{align-items:center;background-color:#f97316;border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:16px;gap:10px;padding:12px 24px;top:2px;transition:background-color .2s}.meal-plan-shopping-list-button:hover{background-color:#ea580c}.meal-plan-cart-icon{height:20px;margin-left:8px;position:relative;top:2px;width:20px}.meal-plan-create-list-prompt{color:#aaa;font-size:14px;margin-top:12px;text-align:center}@media (max-width:768px){.meal-plan-days{justify-content:flex-start;padding-left:16px;padding-right:16px;width:-webkit-max-content;width:max-content}.meal-plan-card-container{flex:0 0 270px;width:270px}.meal-plan-title{font-size:28px}.meal-plan-day-button{flex:0 0 auto;font-size:13px;min-width:70px}}@media (max-width:480px){.meal-plan-day-button{font-size:12px;padding:8px 2px}.meal-plan-card-container{flex:0 0 85%;width:85%}}.day-name-short{display:none}.day-name-full{display:inline}@media (max-width:600px){.day-name-short{display:inline}.day-name-full{display:none}}.recipe-edit-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.recipe-edit-modal{animation:modalFadeIn .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:100%}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.recipe-edit-modal-header{align-items:center;display:flex;justify-content:flex-end;padding:16px 20px 0}.recipe-edit-modal-close{background:none;border:none;color:#333;cursor:pointer;font-size:28px;line-height:1;padding:0}.recipe-edit-modal-close:hover{color:#000}.recipe-edit-modal-content{padding:0 20px 20px}.recipe-edit-modal-main{display:flex;gap:20px;margin-bottom:24px}.recipe-edit-modal-image{border-radius:8px;flex:0 0 50%;max-width:50%;overflow:hidden}.recipe-edit-modal-image img{height:100%;object-fit:cover;width:100%}.recipe-edit-modal-details{display:flex;flex:1 1;flex-direction:column}.recipe-edit-modal-title{color:#333;font-size:28px;font-weight:700;margin:0 0 20px}.recipe-edit-modal-info{display:flex;flex-direction:column;gap:12px}.recipe-time-item{align-items:center;display:flex;gap:10px}.recipe-serves-icon,.recipe-time-icon{color:#333;flex-shrink:0}.time-info{display:flex;flex-direction:column}.time-label{color:#333;font-size:14px;font-weight:500}.time-value{color:#333;font-size:16px;font-weight:600}.recipe-edit-swap-section{margin-bottom:24px}.recipe-edit-swap-section h3{color:#333;font-size:18px;margin:0 0 16px}.recipe-edit-day-selector{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.day-select-button{background-color:#f2f2f2;border:none;border-radius:8px;color:#333;cursor:pointer;font-size:14px;padding:10px;transition:background-color .2s}.day-select-button.selected{background-color:#6366f1;color:#fff}.day-select-button:hover:not(.selected){background-color:#e5e5e5}.recipe-edit-modal-actions{display:flex;gap:12px;margin-top:20px}.recipe-edit-remove-button,.recipe-edit-swap-button{align-items:center;border:none;border-radius:25px;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:background-color .2s}.recipe-edit-swap-button{background-color:#6366f1;color:#fff}.recipe-edit-swap-button:hover:not(:disabled){background-color:#4f46e5}.recipe-edit-swap-button:disabled{background-color:#6b7280;cursor:not-allowed}.recipe-edit-remove-button{background-color:#f97316;color:#fff}.recipe-edit-remove-button:hover{background-color:#ea580c}.remove-icon,.swap-icon{height:20px;width:20px}@media (max-width:768px){.recipe-edit-modal-main{flex-direction:column}.recipe-edit-modal-image{flex:0 0 100%;height:200px;max-width:100%}}@media (max-width:600px){.recipe-edit-day-selector{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.recipe-edit-modal-info{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}}.meal-plan-error-message{animation:fadeIn .3s ease-in-out;background-color:#fee2e2;border:1px solid #ef4444;border-radius:6px;color:#b91c1c;font-size:14px;margin-top:16px;padding:12px 16px;text-align:center}.shopping-list-notification{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin-bottom:20px;padding:10px 15px;width:100%}.notification-content{align-items:center;display:flex;justify-content:space-between}.notification-content p{font-size:.95rem;margin:0}.close-notification{background:none;border:none;color:#721c24;cursor:pointer;font-size:1.5rem;line-height:1;padding:0 0 0 10px}.meal-plan-portions-control{align-items:center;display:flex;margin:5px 0 10px;text-align:left}.portions-label{color:#aaa;font-size:14px;margin-right:8px}.portions-button{align-items:center;background-color:#f58026;border:none;border-radius:50%;cursor:pointer;display:flex;height:18px;justify-content:center;padding:0;transition:background-color .2s;width:18px}.portions-button:hover{background-color:#dd701f}.portions-button svg{fill:#fff;height:10px;width:10px}.portions-input{background-color:#3f4246;border:1px solid #4f4f4f;border-radius:4px;color:#fff;font-size:14px;margin:0 8px;padding:4px;text-align:center;width:40px}.portions-input::-webkit-inner-spin-button,.portions-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.portions-input[type=number]{-moz-appearance:textfield}.daily-recipe-item{align-items:stretch;background-color:#3f4246;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding:10px}.daily-recipe-item-top-row{align-items:flex-start;display:flex;flex-direction:row;gap:12px}.daily-recipe-item-image-container{border-radius:6px;flex-shrink:0;height:70px;overflow:hidden;width:70px}.daily-recipe-item-image{height:100%;object-fit:cover;width:100%}.daily-recipe-item-name-edit-group{align-items:flex-start;display:flex;flex-direction:row;flex-grow:1;justify-content:space-between}.daily-recipe-item-name{color:#fff;font-size:16px;font-weight:600;margin:0 8px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:normal}.daily-recipe-item-edit-button{background-color:#6366f1;border:none;border-radius:18px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;padding:6px 10px;transition:background-color .2s;white-space:nowrap}.daily-recipe-item-edit-button:hover{background-color:#4f46e5}.daily-recipe-item-portions-control{align-items:center;display:flex;flex-direction:row;justify-content:space-between;width:100%}.portions-controls-group{align-items:center;display:flex}.daily-recipe-item-portions-control .portions-label{color:#ccc;font-size:14px;margin-right:8px;white-space:nowrap}.daily-recipe-item-portions-control .portions-button{flex-shrink:0;height:20px;width:20px}.daily-recipe-item-portions-control .portions-button svg{height:10px;width:10px}.daily-recipe-item-portions-control .portions-input{flex-shrink:0;font-size:13px;margin:0 8px;padding:4px;width:40px}.meal-plan-add-another-recipe-button{align-items:center;background-color:#2d3033;border:1px dashed #fafafa;border-radius:8px;color:#fafafa;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;margin-top:10px;padding:10px 15px;transition:background-color .2s,border-color .2s,color .2s;width:100%}.meal-plan-add-another-recipe-button:hover{background-color:#3f4246;border-color:#6366f1;color:#6366f1}.meal-plan-add-another-recipe-button svg{stroke:currentColor;height:16px;width:16px}.meal-plan-day-slot-card{background-color:#2d3033;border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:15px}.daily-recipes-list{flex-grow:1;margin-bottom:10px;max-height:calc(100% - 50px);overflow-y:auto}.meal-plan-empty-slot-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.daily-recipe-item-name-link{color:inherit;text-decoration:none}.daily-recipe-item-edit-button svg{height:15px;width:15px}.portions-button.minus svg,.portions-button.plus svg{height:18px;width:18px}.shopping-list-page{display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:calc(100vh - 80px);padding:20px}.shopping-list-header{margin-bottom:20px;text-align:center}.shopping-list-title{color:#fff;font-size:36px;font-weight:600;margin-bottom:8px}.shopping-list-subtitle{color:#aaa;font-size:16px;margin-top:0}.page-actions-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.edit-item-container{display:flex}.edit-list-button{align-items:center;background-color:#6366f1;border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:10px 20px;transition:background-color .2s}.edit-list-button:hover:not(:disabled){background-color:#4f46e5}.edit-list-button:disabled{background-color:#6b7280;cursor:not-allowed}.edit-icon{height:16px;width:16px}.shopping-list-categories{display:flex;flex-wrap:wrap;gap:20px}.category-column{background-color:#2c2c35;border-radius:12px;flex:1 1;margin-bottom:20px;min-width:200px;padding:16px}.category-title{border-bottom:1px solid #3f3f4e;color:#ff8730;font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.category-items{display:flex;flex-direction:column;gap:12px}.shopping-item{align-items:center;display:flex}.shopping-item.checked .item-name{color:#6b7280;text-decoration:line-through}.checkbox-container{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none;width:100%}.checkbox-container input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkmark{background-color:#3f3f4e;border-radius:4px;height:20px;margin-right:12px;position:relative;transition:background-color .2s;width:20px}.checkbox-container:hover input~.checkmark{background-color:#4a4a5a}.checkbox-container input:checked~.checkmark{background-color:#6366f1}.checkmark:after{border:solid #fff;border-width:0 2px 2px 0;content:"";display:none;height:10px;left:7px;position:absolute;top:3px;transform:rotate(45deg);width:5px}.checkbox-container input:checked~.checkmark:after{display:block}.item-name{color:#fff;font-size:16px;transition:color .2s,-webkit-text-decoration .2s;transition:color .2s,text-decoration .2s;transition:color .2s,text-decoration .2s,-webkit-text-decoration .2s}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-container{background-color:#2c2c35;border-radius:12px;box-shadow:0 10px 25px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #3f3f4e;display:flex;justify-content:space-between;padding:16px 20px}.modal-header h2{color:#fff;font-size:20px;font-weight:600;margin:0}.close-button{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:24px;transition:color .2s}.close-button:hover{color:#fff}.modal-content{flex-grow:1;padding:20px}.modal-date-range{color:#9ca3af;margin-bottom:20px;text-align:center}.new-items-container{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.new-item-row{display:flex;gap:10px}.item-input{background-color:#3f3f4e;border:1px solid #4a4a5a;border-radius:6px;color:#fff;flex:2 1;font-size:16px;padding:10px 12px}.item-input::placeholder{color:#9ca3af}.category-select{background-color:#3f3f4e;border:1px solid #4a4a5a;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;padding:10px 12px}.add-field-button{background:none;border:1px dashed #6366f1;border-radius:6px;color:#6366f1;cursor:pointer;font-size:14px;padding:10px;transition:background-color .2s;width:100%}.add-field-button:hover{background-color:#6366f11a}.modal-footer{border-top:1px solid #3f3f4e;display:flex;gap:12px;justify-content:space-between;padding:16px 20px}.cancel-button,.save-button{border-radius:6px;cursor:pointer;flex:1 1;font-size:16px;padding:10px 20px;text-align:center;transition:background-color .2s}.cancel-button{background-color:initial;border:1px solid #4a4a5a;color:#fff}.cancel-button:hover{background-color:#3f3f4e}.save-button{background-color:#6366f1;border:none;color:#fff;font-weight:600}.save-button:hover{background-color:#4f46e5}@media (max-width:768px){.shopping-list-categories{flex-direction:column}.category-column{min-width:100%}.shopping-list-title{font-size:28px}.modal-container{width:95%}.new-item-row{flex-direction:column}}@media (min-width:769px) and (max-width:1024px){.category-column{flex-basis:calc(50% - 20px);flex-grow:0;flex-shrink:0;min-width:calc(50% - 20px)}}.shopping-list-page.loading{align-items:center;display:flex;justify-content:center;min-height:50vh}.shopping-list-loading{color:#6366f1;padding:20px;text-align:center}.shopping-list-loading p{font-size:18px;margin:0}.shopping-list-error{animation:fadeIn .3s ease-in-out;background-color:#fee2e2;border:1px solid #ef4444;border-radius:6px;color:#b91c1c;font-size:14px;margin-bottom:20px;padding:12px 16px;text-align:center}.no-items-message{color:#9ca3af;font-size:14px;font-style:italic;padding:15px;text-align:center}.shopping-list-header .header-content{align-items:center;display:flex;justify-content:space-between;width:100%}.share-button{align-items:center;background-color:#0d9488;border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;margin-left:0;padding:10px 20px;transition:background-color .2s}.share-button:hover{background-color:#0f766e}.shared-shopping-list-page{padding-top:20px}.shared-list-banner{background-color:#fffbe6;border:1px solid #ffe58f;border-radius:4px;color:#faad14;margin-bottom:50px;padding:10px 15px;text-align:center}.shared-list-banner p{font-weight:700;margin:0}.item .item-checkbox-read-only{color:#888;cursor:default;display:inline-block;margin-right:8px;width:1em}.item.checked .item-checkbox-read-only{color:#555}.item.checked .item-details{color:#888;text-decoration:line-through}.app-header-logo{margin-bottom:10px;text-align:center}.app-header-logo img{height:60px}.button-icon{height:1em;width:auto}.empty-shopping-list{align-items:center;display:flex;height:60vh;justify-content:center;width:100%}.empty-list-content{background-color:#f9f9f9;border-radius:12px;box-shadow:0 2px 10px #0000001a;max-width:500px;padding:2rem;text-align:center;width:90%}.empty-list-content h2{color:#333;font-size:1.6rem;margin-bottom:1rem}.empty-list-content p{color:#666;font-size:1rem;line-height:1.5;margin-bottom:1.5rem}.cta-button{background-color:#4c75a0;border-radius:6px;display:inline-block;font-weight:600;padding:.8rem 1.5rem;transition:background-color .2s ease}.cta-button,.cta-button:hover{color:#fff;text-decoration:none}.cta-button:hover{background-color:#3a5e83}.toast-container{display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:20px;top:80px;z-index:9999}.toast{background-color:#fff;border-left:4px solid #6366f1;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:400px;min-width:300px;opacity:0;pointer-events:auto;transform:translateX(100%);transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-enter{opacity:1;transform:translateX(0)}.toast-exit{opacity:0;transform:translateX(100%)}.toast-content{align-items:flex-start;display:flex;gap:12px;padding:16px}.toast-icon{flex-shrink:0;font-size:18px;margin-top:1px}.toast-message{word-wrap:break-word;color:#374151;flex:1 1;font-size:14px;line-height:1.4}.toast-close{align-items:center;background:none;border:none;border-radius:2px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:20px;justify-content:center;padding:0;transition:all .2s ease;width:20px}.toast-close:hover{background-color:#f3f4f6;color:#6b7280}.toast-success{background-color:#f0fdf4;border-left-color:#10b981}.toast-success .toast-message{color:#065f46}.toast-error{background-color:#fef2f2;border-left-color:#ef4444}.toast-error .toast-message{color:#991b1b}.toast-info{background-color:#eff6ff;border-left-color:#3b82f6}.toast-info .toast-message{color:#1e40af}@media (max-width:768px){.toast-container{left:12px;right:12px;top:70px}.toast{max-width:none;min-width:0;min-width:auto;width:100%}.toast-content{gap:10px;padding:12px}.toast-message{font-size:13px}.toast-icon{font-size:16px}}.edit-modal-container{animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1);background-color:#fff;border-radius:12px;box-shadow:0 20px 40px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;position:relative;width:95%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.edit-modal-header{align-items:center;background-color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.edit-modal-header h2{color:#000;font-size:30px;font-weight:800;margin:0}.edit-modal-content{-webkit-overflow-scrolling:touch;background-color:#eeeef3;flex:1 1;overflow-y:auto;padding:20px 24px}.edit-modal-error{animation:slideIn .3s ease-out;background-color:#e4afb9;border:1px solid #ef4444;border-radius:6px;color:#b91c1c;font-size:14px;margin-bottom:20px;padding:12px 16px}.edit-categories-container{display:flex;flex-direction:column;gap:24px}.editable-category-section{background-color:#eeeef3;border:1px solid #3f3f4e;border-radius:8px;padding:16px;transition:border-color .2s ease}.editable-category-section:hover{border-color:#4a4a5a}.editable-category-header{align-items:center;border-bottom:1px solid #3f3f4e;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:8px}.editable-category-title{color:#2c2c33;font-size:18px;font-weight:800;margin:0}.editable-category-count{color:#9ca3af;font-size:14px;font-weight:400}.editable-category-items{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;min-height:40px}.editable-category-empty{border:2px dashed #3f3f4e;border-radius:6px;color:#6b7280;font-size:14px;font-style:italic;padding:20px;text-align:center;transition:all .2s ease}.editable-category-empty:hover{border-color:#4a4a5a;color:#9ca3af}.editable-shopping-item{align-items:center;animation:itemFadeIn .3s ease-out;background-color:#1e1e26;border:1px solid #3f3f4e;border-radius:6px;display:flex;flex-wrap:nowrap;gap:12px;padding:12px;position:relative;transition:all .2s ease}@keyframes itemFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.editable-shopping-item:hover{background-color:#252530;border-color:#6366f1;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.editable-shopping-item.dragging{animation:none;background-color:#2c2c35;border-color:#6366f1;box-shadow:0 8px 25px #0000004d;z-index:1000}.editable-shopping-item.editing{border-color:#10b981;box-shadow:0 0 0 2px #10b9811a}.editable-shopping-item.deleting{animation:itemFadeOut .3s ease-out forwards}@keyframes itemFadeOut{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(-20px) scale(.95)}}.drag-handle{align-items:center;border-radius:3px;color:#6b7280;cursor:grab;display:flex;flex-shrink:0;height:24px;justify-content:center;touch-action:none;transition:all .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:24px}.drag-handle:hover{background-color:#6b72801a;color:#9ca3af}.drag-handle:active{cursor:grabbing;transform:scale(1.1)}.item-input-container{flex:1 1;max-width:450px;min-width:0}.item-name-input{background-color:initial;border:none;border-radius:4px;color:#fff;font-size:16px;outline:none;padding:4px 8px;transition:all .2s ease;width:100%}.item-name-input.editing{background-color:#3f3f4e;border:1px solid #10b981;box-shadow:0 0 0 2px #10b9811a}.item-name-input::placeholder{color:#6b7280}.item-name-display{border-radius:4px;color:#fff;cursor:text;font-size:16px;padding:4px 8px;transition:all .2s ease;word-break:break-word}.item-name-display:hover{background-color:#3f3f4e;transform:translateX(2px)}.item-name-display:empty:before{color:#6b7280;content:"Click to add item name";font-style:italic}.category-dropdown{border:1px solid #4a4a5a;border-radius:4px;cursor:pointer;flex-shrink:0;max-width:160px;min-width:140px;outline:none;padding:6px 8px;transition:all .2s ease}.category-dropdown,.category-dropdown option{background-color:#3f3f4e;color:#fff;font-size:14px}.category-dropdown option{padding:8px}.category-dropdown:hover{background-color:#4a4a5a;border-color:#6b7280}.category-dropdown:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.delete-item-button{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;padding:6px;transition:all .2s ease;width:32px}.delete-item-button:hover{background-color:#fee2e2;transform:scale(1.1)}.delete-item-button:active{transform:scale(.95)}.trash-icon{height:16px;opacity:.7;transition:all .2s ease;width:16px}.delete-item-button:hover .trash-icon{filter:brightness(1.2);opacity:1}.add-item-button-category{align-items:center;background:none;border:2px solid #6366f1;border-radius:6px;color:#6366f1;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease;width:100%}.add-item-button-category:hover{background-color:#6366f11a;border-color:#4f46e5;box-shadow:0 4px 12px #6366f133;color:#4f46e5;transform:translateY(-2px)}.add-item-button-category:active{transform:translateY(0)}.add-icon{font-size:16px;font-weight:700;transition:transform .2s ease}.add-item-button-category:hover .add-icon{transform:rotate(90deg)}.edit-modal-footer{background-color:#fff;border-top:1px solid #3f3f4e;display:flex;gap:12px;justify-content:space-between;padding:20px 24px}.edit-modal-footer .cancel-button,.edit-modal-footer .save-button{border-radius:6px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;outline:none;overflow:hidden;padding:12px 24px;position:relative;text-align:center;transition:all .2s ease}.edit-modal-footer .cancel-button{background-color:initial;border:1px solid #6366f1;color:#6366f1}.edit-modal-footer .cancel-button:hover:not(:disabled){border-color:#4f46e5;transform:translateY(-1px)}.edit-modal-footer .save-button{background-color:#6366f1;border:none;color:#fff}.edit-modal-footer .save-button:hover:not(:disabled){background-color:#4f46e5;box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.edit-modal-footer .save-button:disabled{background-color:#4a4a5a;color:#6b7280;cursor:not-allowed}.edit-modal-footer .cancel-button:disabled{border-color:#374151;color:#6b7280;cursor:not-allowed}.edit-modal-footer .save-button:disabled:not([data-saving=false]){background-color:#6366f1;color:#fff}.edit-modal-footer .save-button:disabled:not([data-saving=false]):after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:16px;left:50%;margin:-8px 0 0 -8px;position:absolute;top:50%;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.sortable-context{position:relative}.drop-indicator{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:1px;box-shadow:0 0 8px #6366f180;height:2px;margin:4px 0;opacity:0;transition:opacity .2s ease}.drop-indicator.active{animation:pulse 1s infinite;opacity:1}@keyframes pulse{0%,to{box-shadow:0 0 8px #6366f180}50%{box-shadow:0 0 16px #6366f1cc}}@media (max-width:768px){.edit-modal-container{max-height:95vh;width:98%}.edit-modal-header{padding:16px 20px}.edit-modal-header h2{font-size:20px}.edit-modal-content{padding:16px 20px}.edit-categories-container{gap:20px}.editable-shopping-item{flex-wrap:nowrap;gap:8px}.item-input-container{flex:1 1;max-width:220px}.category-dropdown{font-size:15px;min-width:120px}.category-dropdown option{font-size:15px;padding:10px}.edit-modal-footer{flex-direction:column;padding:16px 20px}}@media (max-width:480px){.editable-shopping-item{gap:6px;padding:10px}.drag-handle{height:18px;width:18px}.item-input-container{max-width:200px}.item-name-display,.item-name-input{font-size:15px}.category-dropdown{font-size:14px;max-width:40px;padding:6px 8px}.category-dropdown option{font-size:14px;padding:12px}.delete-item-button{padding:4px}.trash-icon{height:14px;width:14px}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-container,.login-page{align-items:center;background-color:#1e1e24;display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-modal{background-color:#2c2c35;border-radius:8px;box-shadow:0 4px 20px #0000004d;color:#fff;max-width:500px;padding:32px;position:relative;width:100%;z-index:10}.logo-container{align-items:center;display:flex;justify-content:center;margin-bottom:24px}.logo{height:40px;margin-right:12px;width:40px}.logo-container h2{color:#fff;letter-spacing:1px;margin:0}.logo-container h2,h1{font-size:24px;font-weight:600}h1{margin-bottom:8px}h1,p{text-align:center}p{color:#aaa}.tab-navigation,p{margin-bottom:24px}.tab-navigation{background-color:#1e1e24;border-radius:4px;display:flex;overflow:hidden}.tab-button{background:none;border:none;color:#aaa;cursor:pointer;flex:1 1;font-size:16px;padding:12px;transition:background-color .3s}.tab-button.active{background-color:#4e56f3;color:#fff}.auth-form{flex-direction:column}.auth-form,.form-row{display:flex;gap:16px}.form-group{display:flex;flex:1 1;flex-direction:column}.auth-modal .auth-form .form-group label{color:#f8f9fa;font-size:14px;margin-bottom:8px}input{background-color:#f8f9fa;border:none;border-radius:4px;color:#212529;font-size:16px;padding:12px}.create-account-btn,.login-btn{background-color:#f43f5e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:background-color .3s}.create-account-btn:hover,.login-btn:hover{background-color:#e11d48}.create-account-btn:disabled,.login-btn:disabled{background-color:#666;cursor:not-allowed}.divider{align-items:center;color:#999;display:flex;margin:24px 0}.divider:after,.divider:before{border-bottom:1px solid #555;content:"";flex:1 1}.divider span{padding:0 16px}.google-signin-btn{align-items:center;background-color:initial;border:1px solid #555;border-radius:30px;color:#fff;cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:12px;transition:background-color .3s;width:100%}.google-signin-btn img{height:20px;margin-right:10px}.google-signin-btn:hover{background-color:#ffffff1a}.error-message{color:#ff6b6b;font-size:14px;margin-top:4px}@media (max-width:480px){.login-container{padding:30px 20px}.form-row{flex-direction:column;gap:16px}.login-title{font-size:1.8rem}.login-subtitle{font-size:1rem}}.full-logo,img.logo{display:block;object-fit:contain}.full-logo{height:auto;width:180px}.success-message{background-color:#47cd891a;border:1px solid #47cd894d;border-radius:4px;color:#47cd89;margin-bottom:16px;padding:10px;text-align:center}.login-page-logo{display:block;height:auto;object-fit:contain;width:180px}.app{background-color:#1e1e24;color:#fff;font-family:Nunito,sans-serif;min-height:100vh}.main-content{padding:20px 0}
/*# sourceMappingURL=main.ffb3d9d5.css.map*/