@charset "UTF-8";@import url(https://fonts.googleapis.com/css2?family=Raleway:wght@100;200;300;400;500;600;700;800&display=swap);#root,body,html{height:100%;max-width:100%;overflow-x:hidden;position:relative;width:100%}body{background:#dfdfdf;color:#333;font-family:Raleway,sans-serif;font-size:1.4em;margin:0}h1,h2,h3,p{word-wrap:break-word;margin:0;max-width:100%}input,textarea{background-color:#fff;border:1px solid #d4d4d4;border-radius:4px;box-sizing:border-box;color:#333;display:block;font-size:1em;padding:8px;width:100%}.page-title{color:#333}.error,.loading,.page-title{margin:40px auto;padding:0 10px}.error,.loading{text-align:center}.login-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.login-box{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:400px;padding:2rem;width:100%}.login-box h2{color:#333;margin-bottom:1.5rem;text-align:center}.form-group{margin-bottom:1rem}.form-group label{color:#666;display:block;margin-bottom:.5rem}.form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.error-message{border:1px solid #f5c6cb;color:#dc3545;margin-bottom:1rem;padding:.75rem;text-align:center}.error-details{color:#666;font-size:.9rem;margin-top:.5rem}button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .2s;width:100%}button:hover{background-color:#0056b3}button:disabled{background-color:#ccc;cursor:not-allowed}.divider{margin:20px 0;position:relative;text-align:center}.divider:after,.divider:before{background-color:#ddd;content:"";height:1px;position:absolute;top:50%;width:45%}.divider:before{left:0}.divider:after{right:0}.divider span{background-color:#fff;color:#666;font-size:.9rem;padding:0 10px}.google-button{align-items:center;background-color:#fff;border:1px solid #ddd;color:#757575;display:flex;font-weight:500;gap:10px;justify-content:center}.google-button:hover{background-color:#f8f8f8}.google-button img{height:18px;width:18px}.navbar{background:#2d233b;box-shadow:0 2px 4px #0000001a;color:#fff;padding:15px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar nav{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:1400px}.brand-container,.navbar a.brand{align-items:center;display:flex;gap:10px}.navbar a.brand{color:#fff;text-decoration:none}.navbar-logo{border-radius:20%;height:40px;object-fit:contain;width:40px}.dice-buttons{gap:5px}.dice-buttons,.shuffle-button{align-items:center;display:flex}.shuffle-button{background:none;border:none;border-radius:4px;cursor:pointer;justify-content:center;padding:5px;position:relative;transition:all .2s ease}.shuffle-button:hover{background:#ffffff1a}.shuffle-button.active{background:#fff3}.shuffle-button img{height:30px;transition:transform .3s ease;width:30px}.shuffle-button:hover img{transform:rotate(45deg)}.shuffle-button.seasonal-dice{margin-left:0}.shuffle-button.seasonal-dice img{height:30px;width:30px}.shuffle-button.seasonal-dice:hover img{transform:rotate(45deg)}.shuffle-tooltip{background-color:#000c;border-radius:4px;bottom:-30px;color:#fff;font-size:.7em;left:50%;opacity:0;padding:5px 8px;position:absolute;transform:translateX(-50%);transition:opacity .3s,visibility .3s;visibility:hidden;white-space:nowrap;z-index:10}.shuffle-button:hover .shuffle-tooltip{opacity:1;visibility:visible}.nav-links{align-items:center;display:flex;gap:15px}.nav-button{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1em;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.nav-button:hover{background:#ffffff1a}.nav-button.active{background:#fff;color:#2d233b;font-weight:600}.admin-dropdown{position:relative}.admin-button{align-items:center;display:flex;gap:5px}.dropdown-arrow{font-size:.7em;transition:transform .3s ease}.dropdown-arrow.open{transform:rotate(180deg)}.admin-menu{background:#fff;border-radius:4px;box-shadow:0 4px 8px #0000001a;margin-top:5px;min-width:150px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.admin-menu-item{color:#333;display:block;padding:10px 15px;text-decoration:none;transition:background-color .2s ease}.admin-menu-item:hover{background-color:#f5f5f5}@media (max-width:992px){.navbar nav{justify-content:space-between}}@media (max-width:768px){.navbar{padding:10px 15px}.navbar nav{align-items:stretch;flex-direction:column;gap:15px}.brand-container{justify-content:space-between;width:100%}.navbar-logo{height:30px;width:30px}.navbar a.brand h1{font-size:1.2em}.nav-links{display:flex;justify-content:space-between;width:100%}.nav-button{flex:1 1;font-size:.9em;padding:10px 5px;text-align:center}.admin-dropdown{position:static}.admin-menu{border-radius:0;left:0;margin-top:0;position:absolute;right:0;width:100%}.admin-menu-item{padding:12px;text-align:center}.dice-buttons{margin-left:auto;order:1}.shuffle-button.seasonal-dice{order:-1}}@media (max-width:480px){.nav-button{font-size:.8em;padding:8px 5px}}.recipe-list{grid-gap:30px;box-sizing:border-box;display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:5px auto;max-width:1400px;padding:5px}.recipe-list .card{align-items:center;background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 4px 8px #0000001a;color:#333;display:flex;flex-direction:column;height:90%;margin:0;padding:20px;position:relative;text-decoration:none;transition:all .3s ease}.recipe-list .card:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-5px)}.recipe-list .card h3{color:#2d233b;font-size:1.2rem;margin-bottom:15px;text-align:center;width:100%}.recipe-list .card p{color:#666;font-size:.9em;margin-top:10px}.recipe-list .card div{color:#555;font-size:.8em;line-height:1.5em;margin:20px 0}.recipe-list .card:hover .recipe-Images{transform:scale(1.03)}@media (max-width:1200px){.recipe-list{gap:25px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.recipe-list{gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:1px auto;padding:15px}.recipe-list .card{padding:15px}.recipe-list .card h3{font-size:1.1rem}.recipe-Images{height:150px}}@media (max-width:480px){.recipe-list{gap:15px;grid-template-columns:1fr 1fr;margin:1px auto;padding:10px}.recipe-list .card{padding:12px}.recipe-list .card h3{font-size:.9rem;margin-bottom:10px}.recipe-Images{height:120px;margin-bottom:10px}.recipe-list .card p{font-size:.8em}}.cropped-preview{align-items:center;border:none;border-radius:6px;display:flex;height:200px;justify-content:center;margin:0;overflow:hidden;padding:0;width:100%}.cropped-preview canvas{display:block;height:100%!important;margin-bottom:0;max-height:100%;max-width:100%;width:100%!important}.cropped-preview canvas,.recipe-Images{border:none;border-radius:6px;box-shadow:none;object-fit:cover}.recipe-Images{height:200px;margin-bottom:15px;transition:transform .3s ease;width:100%}@media (max-width:768px){.cropped-preview,.cropped-preview canvas,.recipe-Images{height:150px}}@media (max-width:480px){.cropped-preview{height:120px}.cropped-preview canvas,.recipe-Images{height:120px;margin-bottom:10px}}.image-previews{gap:20px;margin:15px 0}.preview-section{min-width:200px}.preview-section h4{margin-bottom:10px}.search-page .search-bar-container{align-items:center;display:flex;justify-content:center;margin-bottom:7px;width:100%}.search-page .search-bar{margin:0 auto;max-width:600px;position:relative;width:100%}.search-page .search-bar input{border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 5px #0000000d;font-size:1em;line-height:1.2;padding:8px 75px 8px 15px;transition:all .3s ease;width:100%}.search-page .search-bar input:focus{border-color:#2d233b;box-shadow:0 2px 8px #2d233b26;outline:none}.search-page .clear-search-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:1.5em;height:24px;justify-content:center;padding:0;position:absolute;right:45px;top:50%;transform:translateY(-50%);transition:color .2s ease;width:24px}.search-page .clear-search-btn:hover{color:#333}.search-page .search-icon{color:#777;pointer-events:none;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.search-page .vegetable-type-indicator{border-radius:12px;color:#fff;font-size:.7em;font-weight:600;padding:2px 8px;position:absolute;right:75px;top:50%;transform:translateY(-50%)}.search-page .vegetable-type-indicator.fresh{background-color:#4caf50}.search-page .vegetable-type-indicator.storage{background-color:#ff9800}@media (max-width:768px){.search-page .search-bar{max-width:100%}.search-page .search-bar input{font-size:.75em;padding:10px 70px 10px 12px}.search-page .clear-search-btn{font-size:1.4em;right:40px}.search-page .search-icon{height:20px;right:12px;width:20px}.search-page .vegetable-type-indicator{font-size:.65em;padding:1px 6px;right:70px}}@media (max-width:480px){.search-page .search-bar input{font-size:.65em;padding:8px 65px 8px 10px}.search-page .clear-search-btn{font-size:1.3em;right:35px}.search-page .search-icon{height:18px;right:10px;width:18px}.search-page .vegetable-type-indicator{font-size:.6em;right:60px}}.search-page{margin:15px auto;max-width:1400px;padding:0 15px}.search-page .search-header{height:auto;margin:0;text-align:center}.search-page .search-header h2{color:#2d233b;font-size:1.8rem;margin-top:20px}.search-page .search-container{align-items:center;border:0;display:flex;gap:10px;height:auto;margin:0 auto;max-width:600px;padding-bottom:1px;padding-top:1px;position:relative}.recipe-count{color:#666;font-size:1rem;white-space:nowrap}.search-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0}.search-filter{background-color:#f5f5f5;border-radius:20px;cursor:pointer;font-size:.9em;padding:8px 15px;transition:all .2s ease}.search-filter:hover{background-color:#e5e5e5}.search-filter.active{background-color:#2d233b;color:#fff}@media (max-width:768px){.search-page{margin:5px auto}.search-page .search-header h2{font-size:1.5rem;margin-top:15px}.search-page .search-container{max-width:100%}.recipe-count{color:#000;font-size:.95rem}.search-filters{margin:15px 0}.search-filter{font-size:.8em;padding:6px 12px}}@media (max-width:480px){.search-page{margin:5px auto;padding:0 10px}.search-page .search-header h2{font-size:1.3rem;margin-top:10px}.recipe-count{font-size:.8rem}.search-filters{margin:10px 0}.search-filter{font-size:.75em;padding:5px 10px}}.image-selector-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.image-selector{background:#fff;border-radius:8px;max-height:80vh;max-width:800px;overflow-y:auto;padding:20px;position:relative;width:90%}.close-btn{align-items:center;background:#2d233b;border-radius:50%;display:flex;font-size:20px;height:30px;justify-content:center;position:absolute;right:10px;top:10px;width:30px;z-index:10}.close-btn:hover{background:#3d3150}.image-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding:10px}.image-item{border:2px solid #0000;border-radius:4px;cursor:pointer;padding:5px;transition:all .3s ease}.image-item:hover{border-color:#2d233b;transform:scale(1.05)}.image-item img{border-radius:2px;height:150px;object-fit:cover;width:100%}@media (max-width:768px){.image-selector{padding:15px;width:95%}.image-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.image-item img{height:120px}}@media (max-width:480px){.image-selector{padding:10px}.image-grid{gap:6px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.image-item img{height:100px}.close-btn{font-size:16px;height:25px;width:25px}}.image-uploader{margin-bottom:20px}.upload-area{background-color:#f9f9f9;border:2px dashed #ddd;border-radius:8px;cursor:pointer;padding:20px;position:relative;text-align:center;transition:all .3s ease}.upload-area:hover{background-color:#f5f5f5;border-color:#2d233b}.drag-active{background-color:#2d233b0d;border-color:#2d233b}.file-input{display:none}.upload-prompt{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px}.upload-icon{color:#2d233b;height:40px;margin-bottom:10px;width:40px}.upload-prompt p{color:#666;margin:0}.preview-container{display:inline-block;max-width:100%;position:relative}.image-preview{border-radius:4px;box-shadow:0 2px 4px #0000001a;max-height:300px;max-width:100%}.remove-preview{align-items:center;background-color:#e74c3c;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:16px;height:25px;position:absolute;right:-10px;top:-10px;width:25px}.remove-preview,.upload-actions{display:flex;justify-content:center}.upload-actions{margin-top:15px}.upload-button{background-color:#2d233b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;padding:8px 16px;transition:background-color .3s ease}.upload-button:hover{background-color:#3d3150}.upload-button:disabled{background-color:#95a5a6;cursor:not-allowed}.upload-error{color:#e74c3c;font-size:.9em;margin-top:10px}.progress-container{background-color:#f0f0f0;border-radius:4px;height:8px;margin-top:10px;overflow:hidden;width:100%}.progress-bar{background-color:#2d233b;height:100%;transition:width .3s ease}@media (max-width:768px){.upload-area,.upload-prompt{padding:15px}.upload-icon{height:30px;width:30px}.upload-prompt p{font-size:.9em}}@media (max-width:480px){.upload-area,.upload-prompt{padding:10px}.upload-icon{height:25px;width:25px}.upload-prompt p{font-size:.8em}.upload-button{font-size:.8em;padding:6px 12px}}@-webkit-keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :after,.ReactCrop :before{-webkit-box-sizing:border-box;box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-height:inherit;max-width:100%}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{-ms-touch-action:none;touch-action:none}.ReactCrop__crop-mask{bottom:0;height:calc(100% + .5px);left:0;pointer-events:none;position:absolute;right:0;top:0;width:calc(100% + .5px)}.ReactCrop__crop-selection{cursor:move;left:0;position:absolute;top:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);bottom:-1px;content:"";left:-1px;opacity:.3;pointer-events:none;position:absolute;right:-1px;top:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){-webkit-animation:marching-ants 1s;animation:marching-ants 1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-play-state:running;animation-play-state:running;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-image:-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444));background-image:linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(90deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0),linear-gradient(180deg,#fff 50%,#444 0);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;color:#fff}.ReactCrop__crop-selection:focus{outline:2px solid #08f;outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{background-color:#fff6;content:"";display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-vt:before{height:100%;width:1px}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:after,.ReactCrop__rule-of-thirds-hz:before{height:1px;width:100%}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{background-color:#0003;background-color:var(--rc-drag-handle-bg-colour);border:1px solid #ffffffb3;border:1px solid var(--rc-border-color);height:12px;height:var(--rc-drag-handle-size);position:absolute;width:12px;width:var(--rc-drag-handle-size)}.ReactCrop__drag-handle:focus{background:#08f;background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;left:0}.ReactCrop .ord-n,.ReactCrop .ord-nw{top:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;left:50%}.ReactCrop .ord-ne{cursor:ne-resize;top:0}.ReactCrop .ord-e,.ReactCrop .ord-ne{right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%}.ReactCrop .ord-se{bottom:0;cursor:se-resize;right:0;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;left:50%}.ReactCrop .ord-s,.ReactCrop .ord-sw{bottom:0;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;left:0}.ReactCrop .ord-w{cursor:w-resize;left:0;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{height:6px;height:var(--rc-drag-bar-size);left:0;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:100%}.ReactCrop__drag-bar.ord-e{height:100%;right:0;top:0;-webkit-transform:translate(50%);transform:translate(50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop__drag-bar.ord-s{bottom:0;height:6px;height:var(--rc-drag-bar-size);left:0;-webkit-transform:translateY(50%);transform:translateY(50%);width:100%}.ReactCrop__drag-bar.ord-w{height:100%;left:0;top:0;-webkit-transform:translate(-50%);transform:translate(-50%);width:6px;width:var(--rc-drag-bar-size)}.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w,.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle{display:none}@media (pointer:coarse){.ReactCrop .ord-e,.ReactCrop .ord-n,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{height:24px;height:var(--rc-drag-handle-mobile-size);width:24px;width:var(--rc-drag-handle-mobile-size)}}.image-cropper{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.image-cropper-content{background:#fff;border-radius:8px;max-height:95vh;max-width:95vw;overflow:auto;padding:20px}.crop-container{background:#fff;display:block}.ReactCrop,.crop-container{margin:0 auto;max-width:100%}.ReactCrop__image{max-height:70vh;object-fit:contain}.cropper-buttons{display:flex;gap:10px;justify-content:center;margin-top:20px}.cropper-buttons .btn{background:#2d233b;border:none;border-radius:4px;color:#fff;cursor:pointer;margin:0;padding:8px 16px;transition:background-color .3s}.cropper-buttons .btn:hover{background:#3d3150}.create{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;color:#555;margin:40px auto;max-width:600px;padding:30px}.create h2.page-title{color:#2d233b;margin-bottom:30px;text-align:center}.create label{display:block;margin-bottom:20px}.create label span{color:#333;display:block;font-weight:500;margin:20px 0 10px}.create input,.create textarea{border:1px solid #ddd;border-radius:4px;font-size:1em;padding:10px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.create input:focus,.create textarea:focus{border-color:#2d233b;box-shadow:0 0 0 2px #2d233b33;outline:none}.create textarea{min-height:100px;resize:vertical}.create p{color:#666;font-size:.9em;margin-top:10px}.create button{background-color:#2d233b;border:0;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:1em;margin:10px 10px 10px 0;padding:8px 20px;text-decoration:none;transition:background-color .3s ease;width:auto}.create button:hover{background-color:#3d3150}.create button:disabled{background-color:#95a5a6;cursor:not-allowed}.image-options{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.toggle-manual-btn{background-color:#3498db}.toggle-manual-btn:hover{background-color:#2980b9}.upload-image-btn{background-color:#27ae60}.upload-image-btn:hover{background-color:#219653}.image-input-section,.image-uploader-section{background-color:#f9f9f9;border:1px solid #eee;border-radius:6px;margin-bottom:20px;padding:15px}.image-uploader-section h3{color:#2d233b;font-size:1.1em;margin-bottom:15px;margin-top:0}.loading-message{background-color:#f8f9fa;border-radius:4px;color:#2d233b;margin:10px 0;padding:10px;text-align:center}.submit-btn{background-color:#2d233b;font-weight:500;margin-top:0;padding:10px 24px}.discard-btn{background-color:#dc3545;color:#fff}.discard-btn:hover{background-color:#c82333}.form-buttons{display:flex;gap:15px;justify-content:center;margin-top:20px}.image-source-selection{box-sizing:border-box;width:100%}.image-source-selection label{flex-direction:row}@media (max-width:768px){.create{margin:30px 15px;padding:20px}.create h2.page-title{font-size:1.6rem}.create label span{font-size:.95em;margin:15px 0 8px}.create input,.create textarea{font-size:.95em;padding:8px}.create button{font-size:.9em;padding:8px 15px}.image-options{flex-direction:column}.image-options button{margin:5px 0;width:100%}}@media (max-width:600px){.image-source-selection{box-sizing:border-box;margin:14px 0;padding:12px;width:100%}.image-source-selection .radio-group label{white-space:normal}}@media (max-width:480px){.create{margin:20px 10px;padding:15px}.create h2.page-title{font-size:1.4rem;margin-bottom:20px}.create label span{font-size:.9em}.create input,.create textarea{font-size:.9em;padding:6px}.create button{font-size:.85em;margin:8px 8px 8px 0;padding:6px 12px}.ingredients{align-items:flex-start;flex-direction:column}.ingredients button{margin:8px 8px 0 0}.selected-image{padding:10px}.add-btn,.remove-btn{font-size:16px;height:25px;width:25px}.submit-btn{margin-top:15px;width:100%}}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{margin-left:-4px;position:absolute;width:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border:8px solid #0000;box-sizing:initial;content:"";height:0;left:-8px;position:absolute;width:1px;z-index:-1}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-bottom-color:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{margin-top:-8px;top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#f0f0f0;border-top:none}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#aeaeae;top:-1px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{bottom:0;margin-bottom:-8px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-bottom:none;border-top-color:#fff}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after{bottom:0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{border-top-color:#aeaeae;bottom:-1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0;width:100%}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;position:relative}.react-datepicker--time-only .react-datepicker__triangle{left:35px}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__triangle{left:50px;position:absolute}.react-datepicker-popper{z-index:1}.react-datepicker-popper[data-placement^=bottom]{padding-top:10px}.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle,.react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle{left:auto;right:50px}.react-datepicker-popper[data-placement^=top]{padding-bottom:10px}.react-datepicker-popper[data-placement^=right]{padding-left:8px}.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle{left:auto;right:42px}.react-datepicker-popper[data-placement^=left]{padding-right:8px}.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle{left:42px;right:auto}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 2px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-72px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day-names,.react-datepicker__week{white-space:nowrap}.react-datepicker__day-names{margin-bottom:-8px}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__month--in-range,.react-datepicker__month--in-selecting-range,.react-datepicker__month--selected,.react-datepicker__quarter--in-range,.react-datepicker__quarter--in-selecting-range,.react-datepicker__quarter--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__month--in-range:hover,.react-datepicker__month--in-selecting-range:hover,.react-datepicker__month--selected:hover,.react-datepicker__quarter--in-range:hover,.react-datepicker__quarter--in-selecting-range:hover,.react-datepicker__quarter--selected:hover{background-color:#1d5d90}.react-datepicker__month--disabled,.react-datepicker__quarter--disabled{color:#ccc;pointer-events:none}.react-datepicker__month--disabled:hover,.react-datepicker__quarter--disabled:hover{background-color:initial;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted:hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--selected:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__year-text--in-range:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--selected:hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#2579ba;border-radius:.3rem;color:#fff}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:initial}.react-datepicker__month-text.react-datepicker__month--in-range:hover,.react-datepicker__month-text.react-datepicker__month--selected:hover,.react-datepicker__month-text.react-datepicker__quarter--in-range:hover,.react-datepicker__month-text.react-datepicker__quarter--selected:hover,.react-datepicker__quarter-text.react-datepicker__month--in-range:hover,.react-datepicker__quarter-text.react-datepicker__month--selected:hover,.react-datepicker__quarter-text.react-datepicker__quarter--in-range:hover,.react-datepicker__quarter-text.react-datepicker__quarter--selected:hover{background-color:#216ba5}.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover{background-color:#f0f0f0}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.recipe{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;box-sizing:border-box;margin:20px auto;max-width:1000px;padding:30px;position:relative;text-align:center}.recipe-image-container{cursor:pointer;flex:0 1 60%;margin:0;min-width:0;width:60%}.recipe-image-container .cropped-preview,.recipe-image-container img{border-radius:8px;height:auto;transition:transform .3s ease;width:100%}.recipe-image-container .cropped-preview canvas,.recipe-image-container img.recipe-img{border-radius:8px;box-shadow:0 4px 8px #0000001a;height:400px;object-fit:cover;width:100%}.recipe-image-container:hover .cropped-preview canvas,.recipe-image-container:hover img{transform:scale(1.02)}.image-button{background:none;border:none;border-radius:8px;box-shadow:0 4px 8px #0000001a;cursor:pointer;display:block;overflow:hidden;padding:0;width:100%}.recipe-image-container img{border-radius:8px;display:block;height:auto;max-height:350px;max-width:100%;object-fit:cover;transition:transform .3s ease}.image-button:hover img{transform:scale(1.05)}.image-button:focus{outline:2px solid #2d233b;outline-offset:2px}.planning-section{align-items:center;display:flex;flex:0 1 40%;flex-direction:column;min-width:0;width:40%}.planning-title{color:#2d233b;font-size:1.3rem;margin-bottom:15px;text-align:center}.meal-plan-buttons{display:flex;flex-direction:column;gap:10px;max-width:200px;width:100%}.meal-plan-button{background-color:#2d233b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;padding:10px 16px;transition:background-color .3s ease;width:100%}.meal-plan-button:hover{background-color:#3d3150}.notification{margin-bottom:20px}.recipe-details{margin:30px 0}.recipe-details h3{border-bottom:2px solid #f0f0f0;color:#2d233b;margin-bottom:15px;padding-bottom:8px;text-align:left}.recipe ul{display:block;margin:20px 0;padding:0;text-align:left}.recipe li{border-bottom:1px solid #f0f0f0;color:#555;list-style-type:none;padding:5px 0;text-align:left}.recipe li:after{content:","}.recipe li:last-child{border-bottom:none}.recipe li:last-child:after{content:"."}.method{color:#333;line-height:1.6em;margin:20px 0;text-align:left}.orgLink{color:#666;margin-top:30px;text-align:center}.orgLink a{border-bottom:1px dotted #2d233b;color:#2d233b;text-decoration:none;transition:border-bottom .3s ease}.orgLink a:hover{border-bottom:1px solid #2d233b}.btn{background:#e2e2e2;color:#555;display:block;font-size:.9em;margin:20px auto 0;padding:8px;text-align:center;text-decoration:none;width:120px}.btn:hover{background:#d5d5d5}.date-picker-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.date-picker-container{background:#fff;border-radius:8px;box-shadow:0 4px 15px #0003;max-width:350px;padding:20px;width:100%}.date-picker-container h3{color:#2d233b;margin-bottom:15px;margin-top:0;text-align:center}.date-picker-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:15px}.date-picker-buttons .btn{margin:0;padding:8px 16px;width:auto}.date-picker-buttons .save{background-color:#2d233b;color:#fff}.date-picker-buttons .save:hover{background-color:#3d3150}.image-modal-overlay{align-items:center;background:#000c;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.image-modal{cursor:default;max-height:90vh;max-width:90%;position:relative}.image-modal img{border-radius:4px;box-shadow:0 5px 15px #0000004d;max-height:90vh;max-width:100%;object-fit:contain}.modal-close-btn{align-items:center;background:#2d233b;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:30px;justify-content:center;position:absolute;right:-15px;top:-15px;width:30px;z-index:1001}.modal-close-btn:hover{background:#3d3150}.page-title{box-sizing:border-box;margin:0 auto 25px;padding-right:65px;position:relative;text-align:center;width:100%}.back-button{align-items:center;background:#0000;border:1px solid #2d233b;border-radius:4px;color:#2d233b;cursor:pointer;display:inline-flex;font-size:.85rem;min-width:0;padding:4px 8px;position:absolute;right:20px;top:20px;transition:all .2s ease;white-space:nowrap;width:auto;z-index:10}.back-button:focus,.back-button:hover{background:#2d233b;color:#fff;outline:none}@media (max-width:992px){.recipe{margin:30px 15px;padding:30px}.recipe-header h2{font-size:1.6rem}.recipe-header img{max-height:200px;max-width:200px}}@media (max-width:768px){.recipe{margin:15px 10px;padding:20px}.back-button{font-size:.8rem;padding:3px 6px;right:15px;top:15px}.page-title{font-size:1.4rem;margin-bottom:20px;padding-right:50px}.recipe-layout{flex-wrap:wrap;gap:15px}.recipe-image-container{width:65%}.planning-section{width:35%}.recipe-image-container .cropped-preview canvas,.recipe-image-container img.recipe-img{height:300px}.modal-close-btn{font-size:16px;height:25px;right:-10px;top:-10px;width:25px}}@media (max-width:480px){.recipe{margin:10px 5px;padding:10px}.back-button{font-size:.85rem;padding:5px 10px;right:8px;top:10px}.page-title{font-size:1.2rem;margin-bottom:15px;padding-right:70px}.recipe-layout{flex-wrap:wrap;gap:10px}.recipe-image-container{width:60%}.planning-section{width:40%}.recipe-image-container .cropped-preview canvas,.recipe-image-container img.recipe-img{height:250px}.planning-title{font-size:1rem}.meal-plan-button{font-size:.8em;padding:8px}.method,.recipe li{font-size:.9em}}.recipe-layout{align-items:flex-start;display:flex;flex-wrap:nowrap;gap:30px;justify-content:center;margin-bottom:20px;width:100%}.recipe-dates-info{color:#555;font-size:.9em;margin:20px 0;text-align:center}.recipe-dates-info p{margin:5px 0}.custom-day-container{align-items:center;display:flex;flex-direction:column;height:100%;padding-bottom:12px;position:relative}.date-indicator{background-color:#f44;border-radius:50%;bottom:2px;height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.edit{background:#fff;border-radius:8px;box-shadow:0 4px 8px #0000001a;color:#555;margin:40px auto;max-width:600px;padding:30px}.edit h2.page-title{color:#2d233b;margin-bottom:30px;text-align:center}.edit label{display:block;margin-bottom:20px}.edit label span{color:#333;display:block;font-weight:500;margin:20px 0 10px}.edit input,.edit textarea{border:1px solid #ddd;border-radius:4px;font-size:1em;padding:10px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.edit input:focus,.edit textarea:focus{border-color:#2d233b;box-shadow:0 0 0 2px #2d233b33;outline:none}.edit textarea{min-height:100px;resize:vertical}.edit p{color:#666;font-size:.9em;margin-top:10px}.edit button{border:0;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:1em;margin:10px 10px 10px 0;padding:8px 20px;text-decoration:none;transition:background-color .3s ease;width:auto}.edit button:hover{background-color:#3d3150}.edit-buttons{display:flex;justify-content:space-between;margin-top:20px}.save-btn{background-color:#2d233b}.save-btn:hover{background-color:#3d3150}.delete-btn:disabled,.save-btn:disabled{background-color:#95a5a6;cursor:not-allowed}.ingredients{align-items:center;display:flex}.ingredients button{margin:0 0 0 10px}.ingredients-editor{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.ingredient-item{align-items:flex-start;display:flex;gap:10px}.ingredient-item input,.ingredient-textarea{flex:1 1}.ingredient-textarea{font-family:inherit;line-height:1.4;min-height:38px;resize:vertical}.add-ingredient{align-items:center;display:flex;gap:10px;margin-top:5px}.add-ingredient input{flex:1 1}.add-btn,.remove-btn{align-items:center;background-color:#2d233b;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:30px;justify-content:center;line-height:1;padding:0;width:30px}.remove-btn{background-color:#e74c3c}.remove-btn:hover{background-color:#c0392b}.add-btn:hover{background-color:#3d3150}.ingredients-actions{display:flex;justify-content:flex-end;margin-bottom:15px}.bulk-add-toggle{background-color:#3498db;font-size:.9em}.bulk-add-toggle:hover{background-color:#2980b9}.bulk-add-container{background-color:#f9f9f9;border:1px solid #eee;border-radius:6px;margin-bottom:15px;padding:15px}.bulk-add-info{color:#666;font-size:.9em;margin-bottom:10px}.bulk-ingredients-input{border:1px solid #ddd;border-radius:4px;font-size:1em;margin-bottom:10px;min-height:80px;padding:10px;resize:vertical;width:100%}.warning{margin-top:10px}.error,.warning{background-color:#e74c3c1a;border-radius:4px;color:#e74c3c;font-weight:700;padding:8px}.error{margin-bottom:15px}.selected-image{background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;margin:15px 0;padding:15px}.selected-image p{font-weight:500;margin-bottom:10px}.selected-image img{border-radius:4px;box-shadow:0 2px 4px #0000001a;display:block;margin:0 auto;max-width:100%}.image-source-selection{align-items:flex-start;background:#f7f7fa;border-radius:8px;box-shadow:0 2px 8px #2c233b0a;display:flex;flex-direction:column;margin:20px 0 18px;padding:16px 18px}.image-source-selection h3{color:#2d233b;font-size:1.1rem;margin:0 0 10px}.image-source-selection .radio-group{display:flex;flex-direction:column;gap:8px}.image-source-selection .radio-group label{align-items:center;display:flex;margin:0;padding:4px 0}.image-source-selection .radio-group input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;border:2px solid #2d233b;border-radius:50%;cursor:pointer;flex-shrink:0;height:18px;margin:0 8px 0 0;position:relative;width:18px}.image-source-selection .radio-group input[type=radio]:checked{background-color:#2d233b;border-color:#2d233b}.image-source-selection .radio-group input[type=radio]:checked:after{background-color:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.image-source-selection label{align-items:center;color:#333;display:flex;font-size:1rem;gap:6px}@media (max-width:600px){.image-source-selection{box-sizing:border-box;margin:14px 0;padding:12px;width:100%}.image-source-selection .radio-group{box-sizing:border-box;flex-direction:column;gap:10px;min-width:0;width:100%}.image-source-selection .radio-group label{min-width:0;white-space:normal;width:auto}.image-source-selection label{box-sizing:border-box;font-size:.98rem;gap:8px;justify-content:flex-start;padding:6px 8px;text-align:left;width:100%;word-break:break-word}.image-source-selection h3{font-size:1rem;margin-bottom:7px}}.radio-group{display:flex;gap:20px}.radio-group label{align-items:center;cursor:pointer;display:flex;gap:8px}.radio-group input[type=radio]{cursor:pointer;margin:0}.delete-confirm-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}.delete-confirm-modal{background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-width:500px;padding:25px;width:90%}.delete-confirm-modal h3{color:#e74c3c;margin-bottom:15px;margin-top:0}.delete-confirm-modal p{line-height:1.5;margin-bottom:20px}.delete-confirm-buttons{display:flex;gap:15px;justify-content:flex-end}.cancel-btn{background-color:#95a5a6}.cancel-btn:hover{background-color:#7f8c8d}.confirm-delete-btn{background-color:#e74c3c}.confirm-delete-btn:hover{background-color:#c0392b}.image-previews{background:#f9f9f9;border-radius:8px;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:1rem 0;padding:1rem}.preview-section{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;flex:1 1;max-width:500px;min-width:280px;padding:1rem}.preview-section h4{border-bottom:2px solid #f0f0f0;color:#333;font-size:1.1rem;margin-bottom:1rem;padding-bottom:.5rem}.preview-section canvas,.preview-section img{border-radius:8px;box-shadow:0 2px 4px #0000001a;height:auto;max-width:100%}@media (max-width:768px){.edit{margin:30px 15px;padding:20px}.edit h2.page-title{font-size:1.6rem}.edit label span{font-size:.95em;margin:15px 0 8px}.edit input,.edit textarea{font-size:.95em;padding:8px}.edit button{font-size:.9em;padding:8px 15px}.delete-confirm-modal{padding:20px;width:95%}}@media (max-width:480px){.edit{margin:20px 10px;padding:15px}.edit h2.page-title{font-size:1.4rem;margin-bottom:20px}.edit label span{font-size:.9em}.edit input,.edit textarea{font-size:.9em;padding:6px}.edit button{font-size:.85em;margin:8px 8px 8px 0;padding:6px 12px}.ingredients{align-items:flex-start;flex-direction:column}.ingredients button{margin:8px 8px 0 0}.selected-image{padding:10px}.add-btn,.remove-btn{font-size:16px;height:25px;width:25px}.edit-buttons{flex-direction:column}.delete-btn,.save-btn{margin:5px 0;width:100%}.delete-confirm-modal{padding:15px}.delete-confirm-buttons{flex-direction:column}.cancel-btn,.confirm-delete-btn{margin:5px 0;width:100%}}.recipe-selector-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.recipe-selector{background:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1200px;overflow:hidden;overflow-x:hidden;width:100%}.recipe-selector-header{align-items:center;background-color:#2d233b;color:#fff;display:flex;justify-content:space-between;padding:15px 20px}.recipe-selector-header h3{font-size:1.2em;margin:0}.close-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5em;line-height:1;padding:0}.search-container{border-bottom:1px solid #eee;padding:15px 20px}.search-container input{border:1px solid #ddd;border-radius:4px;font-size:1em;padding:10px;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.search-container input:focus{border-color:#2d233b;box-shadow:0 0 0 2px #2d233b33;outline:none}.recipe-list-container{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:0 20px}.loading,.no-results{color:#666;padding:20px;text-align:center}.section-header{border-bottom:2px solid #2d233b;color:#2d233b;font-weight:600;margin-bottom:10px;padding:15px 0 5px}.unselected-header{border-bottom-color:#ddd;color:#666;margin-top:10px}.section-divider{margin:10px 0}.recipe-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:15px 0}.recipe-item{border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;font-size:.9em;height:180px;overflow:hidden;transition:all .2s ease}.recipe-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.recipe-item.selected{background-color:#2d233b0d;border-color:#2d233b}.recipe-image{height:120px;overflow:hidden;width:100%}.recipe-image .cropped-preview,.recipe-image img{height:100%;object-fit:cover;width:100%}.recipe-image .cropped-preview{margin:0}.recipe-details{flex:1 1;height:40px;margin:0;padding:8px}.recipe-details h4{color:#333;font-size:.75em;line-height:1.2;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-details p{color:#666;font-size:.8em;margin:0}.recipe-actions{align-items:center;border-top:1px solid #eee;display:flex;gap:8px;justify-content:space-between;padding:8px}.recipe-actions input[type=checkbox]{height:16px;margin:0;min-width:16px;order:-1;width:16px}.recipe-actions .open-btn{background-color:#2d233b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8em;margin-left:auto;padding:5px 10px;transition:background-color .2s;white-space:nowrap}.recipe-selector-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding:15px 20px}.btn{border:none;border-radius:4px;cursor:pointer;font-size:1em;padding:8px 16px;transition:background-color .3s ease}.btn.cancel{background-color:#f5f5f5;color:#333}.btn.cancel:hover{background-color:#e5e5e5}.btn.save{background-color:#2d233b;color:#fff}.btn.save:hover{background-color:#3d3150}@media (max-width:992px){.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (max-width:768px){.recipe-selector{width:95%}.recipe-selector-header h3{font-size:1.1em}.recipe-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.recipe-item{flex-direction:column;height:200px}.recipe-image{height:120px;width:100%}.recipe-details{padding:6px;text-align:center}.recipe-actions{align-items:center;flex-direction:row;gap:8px;justify-content:space-between;margin-top:auto;padding:4px 8px}.recipe-actions input[type=checkbox]{height:14px;min-width:14px;width:14px}.open-btn{font-size:.75em;margin-left:auto;padding:4px 8px}.btn{font-size:.9em;padding:6px 12px}}@media (max-width:480px){.recipe-selector-overlay{padding:8px}.recipe-selector{border-radius:8px;margin:auto;max-height:85vh;width:95%}.recipe-selector-header{padding:8px}.recipe-selector-header h3{font-size:1em;line-height:1.2;padding-right:8px;word-break:break-word}.search-container{padding:8px}.search-container input{font-size:.9em;padding:6px}.recipe-list-container{padding:0 4px}.section-header{font-size:.9em;margin-bottom:8px;padding:8px 0 4px}.recipe-grid{gap:6px;grid-template-columns:repeat(2,1fr);padding:6px}.recipe-item{height:160px;margin:0;min-width:0;width:160px}.recipe-image{height:80px}.recipe-details{height:32px;padding:4px}.recipe-details h4{box-sizing:border-box;font-size:.7em;line-height:1.1;margin:0;padding:0 2px;width:100%}.recipe-actions{gap:8px;padding:4px}.recipe-actions input[type=checkbox]{height:14px;min-width:14px;width:14px}.open-btn{font-size:.7em;margin-left:auto;padding:3px 6px}.recipe-selector-footer{padding:6px 8px}.btn{font-size:.7em;min-width:0;padding:4px 8px}@media screen and (max-height:667px){.recipe-selector{max-height:100vh}.recipe-item{height:150px;width:150px}.recipe-image{height:80px}.recipe-details h4{font-size:.7em}.recipe-actions{padding:2px}.open-btn{padding:2px 4px}}}@media (max-width:375px){.recipe-selector-overlay{padding:6px}.recipe-selector{margin:10vh auto;max-height:80vh;width:92%}.recipe-grid{gap:4px;grid-template-columns:repeat(2,1fr);padding:4px}.recipe-item{height:120px;width:120px}.recipe-image{height:65px}.recipe-details{height:28px;padding:3px}.recipe-details h4{font-size:.65em;line-height:1.1}.recipe-actions{padding:2px 4px}.recipe-actions .open-btn{font-size:.65em;padding:2px 4px}}@media (max-width:360px){.recipe-selector-header h3{font-size:.8em}.recipe-grid{gap:4px;grid-template-columns:repeat(2,1fr);padding:4px}.recipe-item{height:120px;width:120px}.recipe-image{height:70px}.recipe-details h4{font-size:.65em}.recipe-actions{gap:6px;padding:4px 6px}.recipe-actions input[type=checkbox]{height:12px;min-width:12px;width:12px}.open-btn{font-size:.65em;padding:2px 4px}}.date-options-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.date-options-container{background:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-width:400px;padding:20px;width:90%}.date-options-container h3{color:#2d233b;margin-bottom:20px;margin-top:0;text-align:center}.cancel{background-color:#f5f5f5;color:#333}.cancel:hover{background-color:#e5e5e5}@media (max-width:768px){.date-options-container{padding:15px;width:95%}.date-options-buttons .btn{font-size:.9em;padding:10px}}@media (max-width:480px){.date-options-container{padding:12px;width:100%}.date-options-buttons .btn{font-size:.85em;padding:8px}}.note-input-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.note-input-container{background:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-width:400px;padding:20px;width:90%}.note-input-container h3{color:#2d233b;margin-bottom:20px;margin-top:0;text-align:center}.note-input-buttons .delete{background-color:#e74c3c;color:#fff;margin-right:auto}.note-input-buttons .delete:hover{background-color:#c0392b}@media (max-width:768px){.note-input-container{padding:15px;width:95%}.note-textarea{min-height:100px}.note-input-buttons .btn{font-size:.85em;padding:6px 12px}}@media (max-width:480px){.note-input-container{padding:12px;width:100%}.note-textarea{font-size:.9em;min-height:80px}.note-input-buttons .btn{font-size:.8em;padding:5px 10px}}.meal-planner{display:flex;flex-direction:column;height:100vh;margin:0;max-width:100%;padding:10px}.planner-header{display:flex;justify-content:center;margin-bottom:5px;padding:5px 10px}.planner-header .page-title{font-size:1.6rem;margin:0}.view-buttons{align-items:center;display:flex;gap:10px;justify-content:space-between;max-width:600px;width:100%}.view-buttons .btn{align-items:center;background-color:#2d233b;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-flex;font-size:1em;justify-content:center;min-width:-webkit-fit-content;min-width:fit-content;padding:8px 16px;transition:background-color .3s ease;white-space:nowrap}.view-buttons .btn:hover{background-color:#3d3150}.view-buttons .today-btn{background-color:#3498db}.view-buttons .today-btn:hover{background-color:#2980b9}.meal-planner .page-title{margin:20px 0}.notification{animation:fadeIn .3s,fadeOut .3s 2.7s;background-color:#4caf50;border-radius:4px;color:#fff;margin-bottom:15px;padding:10px;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.calendar{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;flex:1 1;flex-direction:column;height:calc(100vh - 80px);overflow:hidden}.row{display:flex;flex-direction:row;flex-wrap:wrap;margin:0;padding:0;width:100%}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-start{justify-content:flex-start;text-align:left}.col-center{justify-content:center;text-align:center}.col-end{justify-content:flex-end;text-align:right}.header{background-color:#2d233b;color:#fff;flex-wrap:nowrap;font-size:1.1em;font-weight:700;padding:12px 0}.header,.header .col{align-items:center;display:flex}.header .col{flex:0 0 auto}.header .col-center{flex:1 1;justify-content:center;min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.header .icon{align-items:center;border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;padding:8px;transition:background-color .2s ease;-webkit-user-select:none;user-select:none;width:32px}.header .icon:hover{background-color:#fff3}.header .col-start .icon:before{transform:rotate(270deg)}.header .col-end .icon:before,.header .col-start .icon:before{border-bottom:12px solid #fff;border-left:8px solid #0000;border-right:8px solid #0000;content:"";display:inline-block}.header .col-end .icon:before{transform:rotate(90deg)}.days{background-color:#f5f5f5;border-bottom:1px solid #ddd;font-size:.85em;font-weight:600;letter-spacing:.5px;padding:8px 0;text-transform:uppercase}.body{flex:1 1;overflow-y:auto}.body,.cell{position:relative}.cell{background:#fff;border-bottom:1px solid #eee;border-right:1px solid #eee;cursor:pointer;display:flex;flex-direction:column;height:calc(16.66667vh - 30px);overflow:hidden;transition:.25s ease-out}.cell:hover{background:#f9f9f9}.cell-header{background-color:#f9f9f9;border-bottom:1px solid #eee;padding:5px;text-align:right}.date-number{border-radius:50%;color:#555;font-size:.9em;font-weight:600;padding:2px 5px}.disabled{background-color:#f9f9f9;pointer-events:none}.disabled,.disabled .date-number{color:#ccc}.selected .cell-header{background-color:#2d233b1a}.selected .date-number{align-items:center;background-color:#2d233b;border-radius:50%;color:#fff;display:inline-flex;height:24px;justify-content:center;width:24px}.recipes-container{flex:1 1;overflow-y:auto;padding:8px 5px}.note-tag,.recipe-tag{align-items:center;border-radius:4px;box-shadow:0 1px 3px #0000001a;cursor:grab;display:flex;font-size:.7em;margin:2px 0;overflow:hidden;padding:3px 6px;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.recipe-tag{background-color:#2d233b;color:#fff}.recipe-tag:hover{background-color:#3d3150;box-shadow:0 2px 5px #00000026;transform:translateY(-1px)}.item-content{flex:1 1;width:100%}.item-content,.note-tag{overflow:hidden;text-overflow:ellipsis}.note-tag{align-items:center;background-color:#3498db;border-radius:4px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:grab;display:flex;font-size:.7em;justify-content:space-between;margin:2px 0;padding:3px 6px;transition:all .2s ease;white-space:nowrap}.note-tag:hover{background-color:#2980b9;box-shadow:0 2px 5px #00000026;transform:translateY(-1px)}.date-options-overlay,.note-input-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.date-options-container,.note-input-container{background:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-width:400px;padding:20px;width:90%}.date-options-container h3,.note-input-container h3{color:#2d233b;margin-bottom:20px;margin-top:0;text-align:center}.date-options-buttons{display:flex;flex-direction:column;gap:10px}.date-options-buttons .btn{border:none;border-radius:4px;cursor:pointer;font-size:1em;padding:12px;text-align:center;transition:background-color .3s ease;width:100%}.delete-btn{background-color:#e74c3c;color:#fff}.delete-btn:hover{background-color:#c0392b}.recipe-btn{background-color:#2d233b;color:#fff}.recipe-btn:hover{background-color:#3d3150}.note-btn{background-color:#3498db;color:#fff}.note-btn:hover{background-color:#2980b9}.note-textarea{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:1em;margin-bottom:15px;min-height:120px;padding:10px;resize:vertical;width:100%}.note-textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.note-input-buttons{display:flex;gap:10px;justify-content:flex-end}.note-input-buttons .btn{border:none;border-radius:4px;cursor:pointer;font-size:.9em;padding:8px 16px;transition:background-color .3s ease}.note-input-buttons .cancel{background-color:#f5f5f5;color:#333}.note-input-buttons .cancel:hover{background-color:#e5e5e5}.note-input-buttons .save{background-color:#3498db;color:#fff}.note-input-buttons .save:hover{background-color:#2980b9}.note-input-buttons .save:disabled{background-color:#95a5a6;cursor:not-allowed}.recipe-tag.dragging{cursor:grabbing;opacity:.5}.cell.drag-over{background-color:#2d233b1a}@media (min-width:1600px){.cell{height:140px}.recipe-tag{font-size:.8em;padding:4px 8px}}@media (max-width:992px){.header{font-size:1em;padding:10px 0}.cell{height:100px}.calendar{height:calc(100vh - 160px)}}@media (max-width:768px){.view-buttons{gap:5px;max-width:100%}.view-buttons .btn{font-size:.8em;padding:5px 10px}.date-options-container,.note-input-container{padding:15px;width:95%}.date-options-buttons .btn{font-size:.9em;padding:10px}.note-textarea{min-height:100px}.meal-planner{padding:5px}.planner-header{align-items:center;flex-direction:row;gap:10px;justify-content:space-between;margin-bottom:10px}.planner-header .page-title{font-size:1.4rem;margin:0}.view-toggle{margin-bottom:0}.view-toggle .btn{font-size:.8em;padding:5px 10px}.header{display:flex;flex-wrap:nowrap;padding:8px 0}.week-view-vertical .header.row{flex-direction:row!important;flex-wrap:nowrap!important}.header .col{flex:0 0 auto}.header .col-center{flex:1 1;min-width:0;overflow:hidden;padding:0 4px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.header .icon{height:28px;padding:6px;width:28px}.header .col-end,.header .col-start{z-index:1}.header .col-end .icon:before,.header .col-start .icon:before{border-bottom:10px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000}.days{font-size:.75em}.cell{height:calc(16.66667vh - 26.66667px)}.date-number{font-size:.8em}.note-tag,.recipe-tag{font-size:.6em;margin:1px 0;min-height:22px;padding:2px 4px}.item-content{max-width:calc(100% - 20px)}.delete-item{font-size:.9em;min-width:16px;padding:0 0 0 2px}.calendar{height:calc(100vh - 70px)}.week-view-vertical .row{flex-direction:column}.week-view-vertical .days{display:none}.week-view-vertical .cell{border-bottom:1px solid #eee;border-right:none;height:auto;min-height:80px;padding-bottom:10px}.week-view-vertical .cell-header{align-items:center;display:flex;padding:8px;text-align:left}.week-view-vertical .cell-header:before{content:attr(data-day);font-size:.9em;font-weight:600;margin-right:10px}.week-view-vertical .date-number{margin-left:auto}.calendar:not(.week-view-vertical) .note-tag,.calendar:not(.week-view-vertical) .recipe-tag{align-items:stretch;box-sizing:border-box;flex-direction:column;height:auto;margin:3px 0;min-height:48px;padding:4px 6px;position:relative;white-space:normal;width:100%}.calendar:not(.week-view-vertical) .item-content{box-sizing:border-box;display:block;left:0;line-height:1.2;max-height:32px;max-width:100%;overflow:hidden;padding:0;position:relative;right:0;text-align:left;text-overflow:ellipsis;white-space:normal;width:100%}.calendar:not(.week-view-vertical) .delete-item{align-items:center;background-color:#fff3;border-radius:50%;bottom:2px;display:flex;font-size:.9em;height:16px;justify-content:center;left:50%;opacity:.8;padding:0;position:absolute;transform:translateX(-50%);width:16px}.calendar:not(.week-view-vertical) .cell{padding-bottom:5px}.calendar:not(.week-view-vertical) .recipes-container{padding:4px 3px}}@media (max-width:480px){.view-buttons .btn{font-size:.7em;padding:4px 8px}.date-options-container,.note-input-container{padding:12px;width:100%}.date-options-buttons .btn{font-size:.85em;padding:8px}.note-textarea{font-size:.9em;min-height:80px}.note-input-buttons .btn{font-size:.8em;padding:6px 12px}.meal-planner{padding:2px}.planner-header .page-title{font-size:1.2rem}.view-toggle .btn{font-size:.7em;padding:4px 8px}.header{display:flex;flex-wrap:nowrap;padding:6px 0}.week-view-vertical .header.row{flex-direction:row!important;flex-wrap:nowrap!important}.header .col{flex:0 0 auto}.header .col-center{flex:1 1;font-size:.9em;min-width:0;overflow:hidden;padding:0 2px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.header .icon{height:24px;padding:4px;width:24px}.header .col-end .icon:before,.header .col-start .icon:before{border-bottom:8px solid #fff;border-left:5px solid #0000;border-right:5px solid #0000}.cell{height:calc(16.66667vh - 23.33333px)}.note-tag,.recipe-tag{font-size:.55em;margin:1px 0;min-height:20px;padding:1px 3px}.item-content{max-width:calc(100% - 16px)}.delete-item{font-size:.8em;min-width:14px}.cell-header{padding:2px}.calendar{height:calc(100vh - 60px)}.week-view-vertical .cell{min-height:70px}.week-view-vertical .cell-header{padding:5px}.week-view-vertical .cell-header:before{font-size:.8em}.week-view-vertical .note-tag .item-content,.week-view-vertical .recipe-tag .item-content{display:inline-block;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis}.calendar:not(.week-view-vertical) .note-tag,.calendar:not(.week-view-vertical) .recipe-tag{align-items:stretch;display:flex;flex-direction:column;font-size:.6em;min-height:42px;padding:3px 5px}.calendar:not(.week-view-vertical) .item-content{word-wrap:break-word;display:block;flex:1 1;line-height:1.1;max-height:28px;overflow-wrap:break-word;width:100%}.calendar:not(.week-view-vertical) .delete-item{align-items:center;background-color:#fff3;border-radius:50%;bottom:2px;display:flex;font-size:.9em;height:16px;justify-content:center;left:50%;opacity:.8;padding:0;position:absolute;transform:translateX(-50%);width:16px;z-index:1}}.week-view-vertical .note-tag,.week-view-vertical .recipe-tag{box-sizing:border-box;width:calc(100% - 10px)}.loading-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.loading-spinner{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.confirm-dialog-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1100}.confirm-dialog{background:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;max-width:400px;padding:20px;width:90%}.confirm-dialog h3{color:#e74c3c;margin-bottom:15px;margin-top:0}.confirm-dialog p{line-height:1.5;margin-bottom:20px}.confirm-dialog-buttons{display:flex;gap:10px;justify-content:flex-end}.confirm-dialog-buttons .btn{border:none;border-radius:4px;cursor:pointer;font-size:.9em;padding:8px 16px;transition:background-color .3s ease}.confirm-dialog-buttons .cancel-btn{background-color:#95a5a6;color:#fff}.confirm-dialog-buttons .cancel-btn:hover{background-color:#7f8c8d}.confirm-dialog-buttons .confirm-btn{background-color:#e74c3c;color:#fff}.confirm-dialog-buttons .confirm-btn:hover{background-color:#c0392b}@media (max-width:480px){.confirm-dialog{padding:15px;width:95%}.confirm-dialog-buttons .btn{font-size:.8em;padding:6px 12px}}.firestore-debugger{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px auto;max-width:800px;padding:20px}.firestore-debugger h2{color:#2d233b;margin-bottom:20px;margin-top:0;text-align:center}.debugger-section{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000000d;margin-bottom:20px;padding:15px}.debugger-section h3{color:#2d233b;font-size:1.2rem;margin-bottom:15px;margin-top:0}.firestore-debugger select{border:1px solid #ddd;border-radius:4px;font-size:1em;margin-bottom:10px;padding:8px 12px;width:100%}.firestore-debugger pre{background-color:#f5f5f5;border-radius:4px;font-size:.9em;line-height:1.5;max-height:400px;overflow-x:auto;overflow-y:auto;padding:15px}.error-message{background-color:#f8d7da;border-radius:4px;color:#721c24;margin-bottom:15px;padding:10px 15px}@media (max-width:768px){.firestore-debugger{margin:15px;padding:15px}.debugger-section{padding:10px}.firestore-debugger pre{font-size:.8em;padding:10px}}.App{display:flex;flex-direction:column;min-height:100%;position:relative}.App,.container{overflow-x:hidden;width:100%}.container{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:0 15px}@media (min-width:1400px){.container{padding:0 30px}}@media (max-width:768px){.container{max-width:100vw;padding:0 10px}}
/*# sourceMappingURL=main.08d34b97.css.map*/