.app-container{min-height:100vh;display:flex;flex-direction:column;background-color:var(--primary-bg, #ffffff);color:var(--text-primary, #212529);transition:all .3s ease}:root{--primary-bg: #ffffff;--secondary-bg: #f8f9fa;--card-bg: #ffffff;--text-primary: #212529;--text-secondary: #6c757d;--text-muted: #adb5bd;--border-color: #dee2e6;--border-light: #e9ecef;--hover-bg: rgba(0, 0, 0, .05);--shadow: 0 2px 10px rgba(0, 0, 0, .1);--shadow-hover: 0 4px 20px rgba(0, 0, 0, .15);--focus-color: #007bff;--success-color: #28a745;--warning-color: #ffc107;--error-color: #dc3545;--info-color: #17a2b8;--header-bg: #202020;--header-text: #ffffff;--btn-primary-bg: #007bff;--btn-primary-text: #ffffff;--btn-secondary-bg: #6c757d;--btn-secondary-text: #ffffff;--recipe-card-bg: #ffffff;--recipe-card-border: #e9ecef;--recipe-card-shadow: 0 2px 8px rgba(0, 0, 0, .1);--input-bg: #ffffff;--input-border: #ced4da;--input-text: #495057;--input-placeholder: #6c757d}[data-theme=dark]{--primary-bg: #121212;--secondary-bg: #1e1e1e;--card-bg: #2d2d2d;--text-primary: #ffffff;--text-secondary: #b3b3b3;--text-muted: #808080;--border-color: #404040;--border-light: #333333;--hover-bg: rgba(255, 255, 255, .1);--shadow: 0 2px 10px rgba(0, 0, 0, .3);--shadow-hover: 0 4px 20px rgba(0, 0, 0, .4);--focus-color: #66b3ff;--success-color: #4caf50;--warning-color: #ff9800;--error-color: #f44336;--info-color: #2196f3;--header-bg: #202020;--header-text: #ffffff;--btn-primary-bg: #0d6efd;--btn-primary-text: #ffffff;--btn-secondary-bg: #6c757d;--btn-secondary-text: #ffffff;--recipe-card-bg: #2d2d2d;--recipe-card-border: #404040;--recipe-card-shadow: 0 2px 8px rgba(0, 0, 0, .4);--input-bg: #333333;--input-border: #555555;--input-text: #ffffff;--input-placeholder: #b3b3b3}*,*:before,*:after{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}body{background-color:var(--primary-bg);color:var(--text-primary)}.card,.recipe-card{background-color:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow)}.card:hover,.recipe-card:hover{box-shadow:var(--shadow-hover)}input,textarea,select{background-color:var(--input-bg);border:1px solid var(--input-border);color:var(--input-text)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--secondary-bg)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.recipe-img{object-fit:cover;height:200px;width:300px;border-radius:10px}.recipe-p{padding:0 15px;position:absolute;bottom:0;text-overflow:ellipsis;overflow:hidden;white-space:no-wrap;height:80px;z-index:3;border-radius:10px;width:300px;letter-spacing:1px}.recipe-card-container{display:flex;flex-direction:column;object-fit:cover;object-position:center;position:relative;border-radius:10px;transition:all .1s ease-in-out;cursor:pointer;margin:20px 0;color:#fff;animation:fade-in .3s linear}@keyframes fade-in{0%{top:40px;opacity:0}to{top:0;opacity:1}}.recipe-card-container:hover{transform:scale(.97)}.recipe-gradient{height:200px;width:300px;position:absolute;border-radius:10px;background:linear-gradient(#0000,#000000e6)}.splide__arrow.splide__arrow--prev{left:1230px;top:-25px}.splide__arrow.splide__arrow--next{right:10px;top:-25px}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports (outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports (outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}.veggie-container{margin:20px 0;position:relative}.veggie-container h1{margin-bottom:20px;color:#333;font-size:2rem}.veggie-container .splide{margin:0 60px;position:relative}.veggie-container .splide__arrow--prev{position:absolute!important;left:-50px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;background:#fffffff2!important;border:2px solid #e0e0e0!important;border-radius:50%!important;width:45px!important;height:45px!important;box-shadow:0 3px 10px #00000026!important;opacity:1!important}.veggie-container .splide__arrow--next{position:absolute!important;right:-50px!important;left:auto!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;background:#fffffff2!important;border:2px solid #e0e0e0!important;border-radius:50%!important;width:45px!important;height:45px!important;box-shadow:0 3px 10px #00000026!important;opacity:1!important}.veggie-container .splide__arrow svg{fill:#555!important;width:18px!important;height:18px!important}.veggie-container .splide__arrow:hover{background:#fff!important;transform:translateY(-50%) scale(1.05)!important;box-shadow:0 5px 15px #00000040!important;border-color:#bbb!important}.veggie-container .splide__arrow:disabled{opacity:.3!important;cursor:not-allowed!important;background:#ffffff80!important}@media (max-width: 768px){.veggie-container .splide{margin:0 50px}.veggie-container .splide__arrow--prev{left:-40px!important;width:40px!important;height:40px!important}.veggie-container .splide__arrow--next{right:-40px!important;width:40px!important;height:40px!important}.veggie-container .splide__arrow svg{width:16px!important;height:16px!important}}@media (max-width: 480px){.veggie-container .splide{margin:0 35px}.veggie-container .splide__arrow--prev{left:-30px!important;width:35px!important;height:35px!important}.veggie-container .splide__arrow--next{right:-30px!important;width:35px!important;height:35px!important}.veggie-container .splide__arrow svg{width:14px!important;height:14px!important}}[data-theme=dark] .veggie-container h1{color:#fff!important}.popular-container{margin:20px 0;position:relative}.popular-container h1{margin-bottom:20px;color:#333;font-size:2rem}.popular-container .splide{margin:0 60px;position:relative}.popular-container .splide__arrow--prev{position:absolute!important;left:-50px!important;right:auto!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;background:#fffffff2!important;border:2px solid #e0e0e0!important;border-radius:50%!important;width:45px!important;height:45px!important;box-shadow:0 3px 10px #00000026!important;opacity:1!important}.popular-container .splide__arrow--next{position:absolute!important;right:-50px!important;left:auto!important;top:50%!important;transform:translateY(-50%)!important;z-index:10!important;background:#fffffff2!important;border:2px solid #e0e0e0!important;border-radius:50%!important;width:45px!important;height:45px!important;box-shadow:0 3px 10px #00000026!important;opacity:1!important}.popular-container .splide__arrow svg{fill:#555!important;width:18px!important;height:18px!important}.popular-container .splide__arrow:hover{background:#fff!important;transform:translateY(-50%) scale(1.05)!important;box-shadow:0 5px 15px #00000040!important;border-color:#bbb!important}.popular-container .splide__arrow:disabled{opacity:.3!important;cursor:not-allowed!important;background:#ffffff80!important}@media (max-width: 768px){.popular-container .splide{margin:0 50px}.popular-container .splide__arrow--prev{left:-40px!important;width:40px!important;height:40px!important}.popular-container .splide__arrow--next{right:-40px!important;width:40px!important;height:40px!important}.popular-container .splide__arrow svg{width:16px!important;height:16px!important}}@media (max-width: 480px){.popular-container .splide{margin:0 35px}.popular-container .splide__arrow--prev{left:-30px!important;width:35px!important;height:35px!important}.popular-container .splide__arrow--next{right:-30px!important;width:35px!important;height:35px!important}.popular-container .splide__arrow svg{width:14px!important;height:14px!important}}[data-theme=dark] .popular-container h1{color:#fff!important}.home-container{display:flex;flex-direction:column;gap:30px}.cuisine-container,.cuisine-skeleton{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:10px;margin-top:40px}.cuisine-skltn{border-radius:20px}.searched-container{padding:2rem 1rem;max-width:1200px;margin:0 auto}.search-header{text-align:center;margin-bottom:2rem}.search-header h2{font-size:1.8rem;margin-bottom:1rem;color:var(--text-primary, #333);font-weight:600}.cuisine-highlight{color:#ff6b35;font-weight:700}.filter-badge{display:inline-flex;align-items:center;gap:.5rem;background-color:#ff6b351a;border:1px solid rgba(255,107,53,.3);padding:.5rem 1rem;border-radius:20px;margin-top:.5rem}.filter-label{font-size:.9rem;color:var(--text-secondary, #666)}.filter-value{font-size:.9rem;font-weight:700;color:#ff6b35}.results-grid{margin-top:2rem}.results-count{text-align:center;margin-bottom:1.5rem;font-size:1.1rem;color:var(--text-secondary, #666);font-weight:500}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:1rem}.cuisine-skeleton{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.no-results{text-align:center;padding:3rem 1rem;max-width:600px;margin:0 auto}.no-results-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.no-results h3{font-size:1.8rem;margin-bottom:1rem;color:var(--text-primary, #333);font-weight:600}.no-results p{font-size:1.1rem;line-height:1.6;margin-bottom:2rem;color:var(--text-secondary, #666)}.no-results strong{color:var(--text-primary, #333)}.suggestions{background-color:var(--secondary-bg, #f8f9fa);border:1px solid var(--border-color, #e9ecef);border-radius:8px;padding:1.5rem;text-align:left;margin-top:2rem}.suggestions h4{margin-bottom:1rem;color:var(--text-primary, #333);font-size:1.1rem}.suggestions ul{list-style:none;padding:0;margin:0}.suggestions li{color:var(--text-secondary, #666);position:relative;padding:.5rem 0 .5rem 1.5rem}.suggestions li:before{content:"•";color:#ff6b35;font-weight:700;position:absolute;left:0}[data-theme=dark] .search-header h2,[data-theme=dark] .no-results h3,[data-theme=dark] .no-results strong,[data-theme=dark] .suggestions h4{color:var(--text-primary)}[data-theme=dark] .filter-badge{background-color:#ff6b3526;border-color:#ff6b3566}[data-theme=dark] .filter-label,[data-theme=dark] .results-count,[data-theme=dark] .no-results p,[data-theme=dark] .suggestions li{color:var(--text-secondary)}[data-theme=dark] .suggestions{background-color:var(--secondary-bg);border-color:var(--border-color)}[data-theme=light] .search-header h2,[data-theme=light] .no-results h3,[data-theme=light] .no-results strong,[data-theme=light] .suggestions h4{color:var(--text-primary)}[data-theme=light] .filter-badge{background-color:#ff6b351a;border-color:#ff6b354d}[data-theme=light] .filter-label,[data-theme=light] .results-count,[data-theme=light] .no-results p,[data-theme=light] .suggestions li{color:var(--text-secondary)}[data-theme=light] .suggestions{background-color:var(--secondary-bg);border-color:var(--border-color)}@media (max-width: 768px){.searched-container{padding:1rem .5rem}.search-header h2{font-size:1.5rem;line-height:1.3}.recipe-grid,.cuisine-skeleton{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.filter-badge{flex-direction:column;gap:.25rem;text-align:center}.no-results{padding:2rem .5rem}.no-results-icon{font-size:3rem}.no-results h3{font-size:1.5rem}.no-results p{font-size:1rem}}@media (max-width: 480px){.recipe-grid,.cuisine-skeleton{grid-template-columns:1fr}.search-header h2{font-size:1.3rem}.suggestions{padding:1rem}.suggestions li{padding:.4rem 0 .4rem 1.2rem}}.recipe-container{display:flex;text-align:justify;gap:20px}.recipe-title-with-favorite{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.recipe-title-with-favorite h1{margin:0;flex:1;color:var(--text-primary)}.recipe-favorite-btn{flex-shrink:0}.recipe-imgs{height:300px;width:500px}.instructions{text-align:justify}.btn-container{display:flex;gap:20px;margin-bottom:20px}.btn-container button{background-color:#202020;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;transition:all .3s ease;font-weight:500}.btn-container button:hover{background-color:#333;transform:translateY(-1px)}.btn-container button:disabled{background-color:#ff6b35!important;color:#fff!important;cursor:default;opacity:1}[data-theme=dark] .btn-container button{background-color:#333;color:#fff;border:1px solid #555}[data-theme=dark] .btn-container button:hover{background-color:#444;border-color:#666}[data-theme=dark] .btn-container button:disabled{background-color:#ff6b35!important;color:#fff!important;border-color:#ff6b35!important}[data-theme=light] .btn-container button{background-color:#202020;color:#fff;border:1px solid #202020}[data-theme=light] .btn-container button:hover{background-color:#333;border-color:#333}[data-theme=light] .btn-container button:disabled{background-color:#ff6b35!important;color:#fff!important;border-color:#ff6b35!important}.recipe-right-main{display:flex;flex-direction:column;gap:20px;line-height:30px}.recipe-right-main,.summary,.instructions,.steps{color:var(--text-primary)}.summary h2,.instructions h2{margin-bottom:20px;color:var(--text-primary)}.steps h1{color:var(--text-primary)}.steps{display:flex;flex-direction:column;gap:20px}.step{display:flex;flex-direction:column;gap:10px}.step h2,.step h4,.step p{color:var(--text-primary)}.recipe-shimmer-container{display:flex;gap:20px}.recipe-shimmer-left{width:40%}.recipe-shimmer-right{width:60%;margin-top:15px}.btn-shimmer-right{display:flex;gap:30px}.text-container-shimmer{display:flex;flex-direction:column;gap:-20px}.ingredients-h3{display:flex;justify-content:space-between;color:var(--text-primary)}.ingredient-bar h3,.ingredient-bar p{color:var(--text-primary)}.recipe-container-main{background-color:var(--primary-bg);color:var(--text-primary);transition:all .3s ease}@media (max-width: 768px){.recipe-title-with-favorite{flex-direction:column;align-items:flex-start;gap:15px}.recipe-container{flex-direction:column;gap:15px}.recipe-imgs{width:100%;height:250px}.btn-container{flex-wrap:wrap;gap:10px}}@media (max-width: 480px){.recipe-title-with-favorite h1{font-size:1.5rem}.recipe-imgs{height:200px}.btn-container button{font-size:.8rem;padding:8px 12px}}.favorite-button-container{position:relative;display:inline-block}.favorite-button{position:relative;background:#ffffffe6;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0003;z-index:10}.favorite-button:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 12px #0000004d}.favorite-button:active{transform:scale(.95)}.favorite-btn-small{width:32px;height:32px;padding:6px}.favorite-btn-small .heart-icon{width:16px;height:16px}.favorite-btn-medium{width:40px;height:40px;padding:8px}.favorite-btn-medium .heart-icon{width:20px;height:20px}.favorite-btn-large{width:48px;height:48px;padding:10px}.favorite-btn-large .heart-icon{width:24px;height:24px}.heart-icon{transition:all .3s ease;pointer-events:none}.favorite-button.favorited .heart-icon{fill:#ff6b35!important;stroke:#ff6b35!important;transform:scale(1.1)}.favorite-button.animating .heart-icon{animation:heartBeat .3s ease-in-out}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(1.1)}75%{transform:scale(1.15)}to{transform:scale(1.1)}}.heart-pulse{position:absolute;top:50%;left:50%;width:100%;height:100%;border-radius:50%;background:#ff6b354d;transform:translate(-50%,-50%);animation:heartPulse .6s ease-out;pointer-events:none}@keyframes heartPulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.7}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.login-prompt-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;white-space:nowrap;margin-bottom:8px;z-index:1000;animation:tooltipFadeIn .3s ease}.login-prompt-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#333}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.favorite-toast{position:fixed;top:20px;right:20px;background:#ff6b35;color:#fff;padding:12px 20px;border-radius:6px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #00000026;z-index:10000;transform:translate(100%);transition:transform .3s ease}.favorite-toast.show{transform:translate(0)}@media (max-width: 768px){.favorite-btn-medium{width:36px;height:36px;padding:6px}.favorite-btn-medium .heart-icon{width:18px;height:18px}.login-prompt-tooltip{font-size:11px;padding:6px 10px}.favorite-toast{top:10px;right:10px;padding:10px 16px;font-size:13px}}.favorite-button:focus{outline:2px solid #ff6b35;outline-offset:2px}.favorite-button:focus:not(:focus-visible){outline:none}.star-rating{display:flex;align-items:center;gap:8px}.stars-container{display:flex;gap:2px}.star{background:none;border:none;padding:0;margin:0;cursor:default;transition:all .2s ease;font-size:inherit;line-height:1;display:flex;align-items:center;justify-content:center}.star.interactive{cursor:pointer}.star.interactive:hover{transform:scale(1.1)}.star.interactive:active{transform:scale(.95)}.star.empty{color:#ddd}.star.filled{color:#ff6b35}.star.interactive:hover{color:#ff6b35!important}.star.readonly.empty{color:#ddd}.star.readonly.filled{color:#ff6b35}.star-rating.small .star{font-size:16px}.star-rating.medium .star{font-size:20px}.star-rating.large .star{font-size:24px}.rating-number{font-weight:600;font-size:.9rem;color:var(--text-primary);min-width:30px;margin-left:4px}.star.interactive:focus{outline:2px solid #ff6b35;outline-offset:2px;border-radius:2px}[data-theme=light] .star.empty{color:#ddd;-webkit-text-stroke:1px #000000;text-stroke:1px #000000}[data-theme=light] .star.filled{color:#ff6b35;-webkit-text-stroke:1px #000000;text-stroke:1px #000000}[data-theme=light] .star.interactive:hover{color:#ff6b35!important;-webkit-text-stroke:1px #000000;text-stroke:1px #000000}[data-theme=light] .star.interactive.empty{color:#ddd;-webkit-text-stroke:1px #000000;text-stroke:1px #000000}[data-theme=dark] .star.empty{color:#555}[data-theme=dark] .star.filled{color:#ff6b35}[data-theme=dark] .star.interactive:hover{color:#ff6b35!important}@media (max-width: 768px){.star-rating.large .star{font-size:20px}.star-rating.medium .star{font-size:18px}.star-rating.small .star{font-size:14px}.rating-number{font-size:.8rem}}.review-form-container{background:var(--card-bg);border:2px solid var(--form-border-color);border-radius:12px;padding:24px;margin:20px 0;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.review-form h3{margin:0 0 20px;color:var(--text-primary);font-size:1.4rem;font-weight:600}.form-group{margin-bottom:20px}.form-label{color:var(--text-primary)!important;font-weight:600;font-size:1rem;margin-bottom:8px;display:block}[data-theme=light] .form-label{color:#333!important}[data-theme=dark] .form-label{color:#fff!important}.rating-input{padding:8px 0}.review-textarea{width:100%;min-height:100px;padding:12px;border:2px solid var(--textarea-border-color);border-radius:8px;font-family:inherit;font-size:.95rem;color:var(--text-primary);background:var(--input-bg);resize:vertical;transition:all .3s ease}.review-textarea:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a}.review-textarea.error{border-color:#e74c3c}.review-textarea::placeholder{color:var(--text-secondary)}.textarea-footer{display:flex;justify-content:flex-end;margin-top:4px}.character-count{font-size:.8rem;color:var(--text-secondary)}.error-message{display:block;margin-top:4px;color:#e74c3c;font-size:.85rem;font-weight:500}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--form-border-color)}.btn-cancel,.btn-submit{padding:10px 20px;border-radius:8px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .3s ease;border:none;min-width:100px}.btn-cancel{background:var(--secondary-bg);color:var(--text-primary);border:1px solid var(--border-color)}.btn-cancel:hover:not(:disabled){background:var(--hover-bg);transform:translateY(-1px)}.btn-submit{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;box-shadow:0 2px 8px #ff6b354d}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#e55a2e,#e0841a);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b3566}.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-text{display:flex;align-items:center;gap:8px}.loading-text:after{content:"";width:12px;height:12px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}[data-theme=light]{--card-bg: #ffffff;--border-color: #ff6b35;--form-border-color: #ff6b35;--textarea-border-color: #ff6b35;--input-bg: #ffffff;--secondary-bg: #f5f5f5;--hover-bg: #eeeeee}[data-theme=dark]{--card-bg: #2a2a2a;--border-color: #ff6b35;--form-border-color: #ff6b35;--textarea-border-color: #ff6b35;--input-bg: #333333;--secondary-bg: #333333;--hover-bg: #404040}@media (max-width: 768px){.review-form-container{padding:20px;margin:15px 0}.review-form h3{font-size:1.2rem}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}@media (max-width: 480px){.review-form-container{padding:16px}.review-textarea{font-size:.9rem}}.reply-item{background:var(--reply-bg);border:2px solid var(--reply-border-color);border-radius:8px;padding:12px;margin:8px 0 8px 40px;transition:all .3s ease;position:relative}.reply-item:hover{box-shadow:0 2px 8px #0000001a}.reply-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.reply-user-info{display:flex;gap:8px;align-items:center;flex:1}.reply-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;flex-shrink:0}.reply-avatar-image{width:100%;height:100%;object-fit:cover;object-position:center}.reply-avatar-initials{width:100%;height:100%;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem}.reply-details{flex:1}.reply-user-name{margin:0 0 2px;color:var(--text-primary);font-size:.85rem;font-weight:600}.reply-date{color:var(--text-secondary);font-size:.75rem}.reply-actions{position:relative}.reply-action-menu-btn{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-secondary);border-radius:4px;transition:all .2s ease}.reply-action-menu-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.reply-dots-icon{width:16px;height:16px;fill:currentColor}.reply-action-menu{position:absolute;top:100%;right:0;background:var(--card-bg);border:1px solid var(--reply-border-color);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:10;min-width:100px;overflow:hidden}.reply-action-btn{width:100%;padding:6px 10px;border:none;background:none;text-align:left;cursor:pointer;font-size:.8rem;color:var(--text-primary);display:flex;align-items:center;gap:6px;transition:all .2s ease}.reply-action-btn:hover:not(:disabled){background:var(--hover-bg)}.reply-action-btn:disabled{opacity:.6;cursor:not-allowed}.reply-action-btn.edit-btn:hover{color:#3498db}.reply-action-btn.delete-btn:hover{color:#e74c3c}.edit-icon,.delete-icon{width:12px;height:12px;fill:currentColor}.reply-content{margin-top:4px}.reply-text{color:var(--text-primary);line-height:1.5;margin:0;font-size:.85rem}[data-theme=light]{--reply-bg: #f9f9f9;--card-bg: #ffffff;--border-color: #ff6b35;--reply-border-color: #ff6b35;--hover-bg: #f5f5f5}[data-theme=dark]{--reply-bg: #2a2a2a;--card-bg: #2a2a2a;--border-color: #404040;--reply-border-color: #404040;--hover-bg: #333333}@media (max-width: 768px){.reply-item{margin:8px 0 8px 20px;padding:10px}.reply-user-info{gap:6px}.reply-avatar{width:24px;height:24px}.reply-avatar-initials{font-size:.6rem}.reply-user-name{font-size:.8rem}.reply-date{font-size:.7rem}.reply-text{font-size:.8rem}}.reply-form-container{background:var(--reply-form-bg);border:2px solid var(--reply-form-border-color);border-radius:8px;padding:16px;margin:12px 0 12px 40px;box-shadow:0 2px 6px #00000014;transition:all .3s ease}.reply-form{display:flex;flex-direction:column;gap:12px}.reply-form-header h4{margin:0;color:var(--text-primary);font-size:1rem;font-weight:600}.reply-form-group{display:flex;flex-direction:column;gap:4px}.reply-textarea{width:100%;min-height:80px;padding:10px;border:2px solid var(--reply-textarea-border-color);border-radius:6px;font-family:inherit;font-size:.9rem;color:var(--text-primary);background:var(--input-bg);resize:vertical;transition:all .3s ease}.reply-textarea:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a}.reply-textarea.error{border-color:#e74c3c}.reply-textarea::placeholder{color:var(--text-secondary)}.reply-textarea-footer{display:flex;justify-content:flex-end;margin-top:2px}.reply-character-count{font-size:.75rem;color:var(--text-secondary)}.reply-error-message{display:block;margin-top:4px;color:#e74c3c;font-size:.8rem;font-weight:500}.reply-form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--reply-form-border-color)}.reply-btn-cancel,.reply-btn-submit{padding:8px 16px;border-radius:6px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .3s ease;border:none;min-width:80px}.reply-btn-cancel{background:var(--secondary-bg);color:var(--text-primary);border:1px solid var(--reply-form-border-color)}.reply-btn-cancel:hover:not(:disabled){background:var(--hover-bg);transform:translateY(-1px)}.reply-btn-submit{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;box-shadow:0 2px 6px #ff6b354d}.reply-btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#e55a2e,#e0841a);transform:translateY(-1px);box-shadow:0 3px 8px #ff6b3566}.reply-btn-submit:disabled,.reply-btn-cancel:disabled{opacity:.6;cursor:not-allowed;transform:none}.reply-loading-text{display:flex;align-items:center;gap:6px}.reply-loading-text:after{content:"";width:10px;height:10px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}[data-theme=light]{--reply-form-bg: #f9f9f9;--border-color: #ff6b35;--reply-form-border-color: #ff6b35;--reply-textarea-border-color: #ff6b35;--input-bg: #ffffff;--secondary-bg: #f5f5f5;--hover-bg: #eeeeee}[data-theme=dark]{--reply-form-bg: #1f1f1f;--border-color: #404040;--reply-form-border-color: #404040;--reply-textarea-border-color: #404040;--input-bg: #333333;--secondary-bg: #333333;--hover-bg: #404040}@media (max-width: 768px){.reply-form-container{padding:12px;margin:12px 0 12px 20px}.reply-form-actions{flex-direction:column-reverse}.reply-btn-cancel,.reply-btn-submit{width:100%}}@media (max-width: 480px){.reply-form-container{padding:10px}.reply-textarea{font-size:.85rem}}.review-item{background:var(--card-bg);border:2px solid var(--review-item-border-color);border-radius:12px;padding:20px;margin-bottom:16px;transition:all .3s ease}.review-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.reviewer-info{display:flex;gap:12px;align-items:center;flex:1}.reviewer-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0}.avatar-image{width:100%;height:100%;object-fit:cover;object-position:center}.avatar-initials{width:100%;height:100%;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.reviewer-details{flex:1}.reviewer-name{margin:0 0 4px;color:var(--text-primary);font-size:1rem;font-weight:600}.review-meta{display:flex;align-items:center;gap:12px}.review-date{color:var(--text-secondary);font-size:.85rem}.review-edited{color:var(--text-secondary);font-size:.8rem;font-style:italic}.review-actions{position:relative}.action-menu-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:4px;transition:all .2s ease}.action-menu-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.dots-icon{width:20px;height:20px;fill:currentColor}.action-menu{position:absolute;top:100%;right:0;background:var(--card-bg);border:1px solid var(--review-item-border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10;min-width:120px;overflow:hidden}.action-btn{width:100%;padding:8px 12px;border:none;background:none;text-align:left;cursor:pointer;font-size:.9rem;color:var(--text-primary);display:flex;align-items:center;gap:8px;transition:all .2s ease}.action-btn:hover:not(:disabled){background:var(--hover-bg)}.action-btn:disabled{opacity:.6;cursor:not-allowed}.edit-btn:hover{color:#3498db}.delete-btn:hover{color:#e74c3c}.edit-icon,.delete-icon{width:16px;height:16px;fill:currentColor}.review-content{margin-bottom:12px}.review-comment{color:var(--text-primary);line-height:1.6;margin:0;font-size:.95rem}.review-recipe-info{padding-top:12px;border-top:1px solid var(--review-item-border-color);font-size:.9rem}.recipe-link-text{color:var(--text-secondary)}.recipe-title{color:var(--text-primary);font-weight:600}.recipe-title-link{text-decoration:none;transition:all .3s ease}.recipe-title-link:hover{text-decoration:underline}.recipe-title-link:hover .recipe-title{color:#ff6b35!important}.review-reply-section{margin-top:12px;padding-top:8px;border-top:1px solid var(--review-item-border-color)}.reply-btn{background:none;border:1px solid var(--reply-btn-border-color);color:var(--text-secondary);padding:6px 12px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:6px}.reply-btn:hover:not(:disabled){background:var(--hover-bg);color:#ff6b35;border-color:#ff6b35}.reply-btn:disabled{opacity:.6;cursor:not-allowed}.reply-icon{width:14px;height:14px;fill:currentColor}.replies-section{margin-top:16px}[data-theme=light]{--card-bg: #ffffff;--border-color: #ff6b35;--review-item-border-color: #ff6b35;--reply-btn-border-color: #ff6b35;--hover-bg: #f5f5f5}[data-theme=dark]{--card-bg: #2a2a2a;--border-color: #404040;--review-item-border-color: #404040;--reply-btn-border-color: #404040;--hover-bg: #333333}[data-theme=light] .recipe-title{color:#333!important}[data-theme=dark] .recipe-title{color:#fff!important}@media (max-width: 768px){.review-item{padding:16px}.reviewer-info{gap:10px}.reviewer-avatar{width:36px;height:36px}.avatar-initials{font-size:.8rem}.reviewer-name{font-size:.95rem}.review-meta{gap:8px}.review-date{font-size:.8rem}.action-menu{min-width:100px}.action-btn{padding:6px 10px;font-size:.85rem}}@media (max-width: 480px){.review-header{flex-direction:column;align-items:flex-start;gap:8px}.review-actions{align-self:flex-end}}.review-section{margin-top:40px;padding:24px 0;border-top:2px solid var(--section-border-color);position:relative}.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.reviews-header h2{margin:0;color:var(--text-primary);font-size:1.8rem;font-weight:600}.reviews-summary{display:flex;align-items:center;gap:16px}.average-rating{display:flex;align-items:center;gap:8px}.rating-text{color:var(--text-secondary);font-size:.9rem;font-weight:500}.write-review-section{margin-bottom:24px}.write-review-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #ff6b354d}.write-review-btn:hover:not(:disabled){background:linear-gradient(135deg,#e55a2e,#e0841a);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3566}.write-review-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.write-icon{width:18px;height:18px;fill:currentColor}.login-prompt{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:24px;text-align:center}.login-prompt p{margin:0;color:var(--text-secondary);font-size:.95rem}.login-link{color:#ff6b35;text-decoration:none;font-weight:600;transition:all .3s ease}.login-link:hover{color:#e55a2e;text-decoration:underline}.reviews-list{margin-top:24px}.no-reviews{text-align:center;padding:40px 20px;color:var(--text-secondary)}.no-reviews-icon{width:48px;height:48px;fill:currentColor;opacity:.5;margin-bottom:16px}.no-reviews h3{margin:0 0 8px;color:var(--text-primary);font-size:1.2rem;font-weight:600}.no-reviews p{margin:0;font-size:.95rem}[data-theme=light]{--card-bg: #ffffff;--border-color: #ff6b35;--section-border-color: #ff6b35}[data-theme=dark]{--card-bg: #2a2a2a;--border-color: #ff6b35;--section-border-color: #ff6b35}@media (max-width: 768px){.review-section{margin-top:30px;padding:20px 0}.reviews-header{flex-direction:column;align-items:flex-start;gap:12px}.reviews-header h2{font-size:1.5rem}.write-review-btn{width:100%;justify-content:center;padding:14px 24px}.no-reviews{padding:30px 15px}.no-reviews-icon{width:40px;height:40px}.no-reviews h3{font-size:1.1rem}}@media (max-width: 480px){.review-section{margin-top:24px;padding:16px 0}.reviews-header h2{font-size:1.3rem}.write-review-btn{font-size:.95rem;padding:12px 20px}.write-icon{width:16px;height:16px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:0}.login-form{background:transparent;padding:0;border-radius:0;box-shadow:none;width:100%;max-width:100%;border:none;position:relative;animation:fadeInUp .6s ease-out}.login-form h2{text-align:center;margin-bottom:2.5rem;color:#fff;font-size:1.8rem;font-weight:700;position:relative;white-space:nowrap}.login-form h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:50px;height:3px;background:linear-gradient(90deg,#ff6b35,#f7931e);border-radius:2px}.login-btn{width:100%;padding:1.2rem;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:0 4px 15px #ff6b354d}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.login-btn:hover{background:linear-gradient(135deg,#e55a2b,#e8871a);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566}.login-btn:hover:before{left:100%}.login-btn:active{transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 4px 15px #ff6b3533}.login-btn:disabled:hover{transform:none}.login-btn.loading{position:relative}.login-btn.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.welcome-message{background:#e8f5e833;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#4caf50;padding:1rem;border-radius:10px;margin-bottom:1.5rem;text-align:center;font-size:.9rem;font-weight:500;border:1px solid rgba(195,230,203,.3)}@media (max-width: 768px){.login-form h2{font-size:1.6rem;margin-bottom:2rem;white-space:normal}.form-group{margin-bottom:1.5rem}.form-group input{padding:1rem;font-size:16px}.login-btn{padding:1rem;font-size:1rem}}@media (max-width: 480px){.login-form h2{font-size:1.4rem}.form-group input,.login-btn{padding:.9rem}}.login-btn:focus-visible,.auth-links a:focus-visible,.auth-links button:focus-visible{outline:2px solid #ff6b35;outline-offset:2px}.register-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:0}.register-form{background:transparent;padding:0;border-radius:0;box-shadow:none;width:100%;max-width:100%;border:none;position:relative;animation:fadeInUp .6s ease-out}.register-form h2{text-align:center;margin-bottom:2.5rem;color:#fff;font-size:1.8rem;font-weight:700;position:relative}.register-form h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#ff6b35,#f7931e);border-radius:2px}.form-group{margin-bottom:2rem;position:relative}.password-input-container{position:relative}.password-input-container:before{display:none}.password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffffb3;cursor:pointer;padding:.25rem;border-radius:4px;transition:color .3s ease;font-size:1.1rem;display:flex;align-items:center;justify-content:center;z-index:10}.password-toggle:hover{color:#ff6b35}.password-toggle:focus{outline:2px solid #ff6b35;outline-offset:2px}.password-strength{margin-top:.5rem;font-size:.85rem}.strength-bar{height:4px;background:#fff3;border-radius:2px;margin:.5rem 0;overflow:hidden}.strength-fill{height:100%;transition:all .3s ease;border-radius:2px}.strength-weak .strength-fill{width:33%;background:#f44336}.strength-medium .strength-fill{width:66%;background:#ff9800}.strength-strong .strength-fill{width:100%;background:#4caf50}.strength-text{color:#fffc;font-weight:500}.strength-text.weak{color:#f44336}.strength-text.medium{color:#ff9800}.strength-text.strong{color:#4caf50}.register-btn{width:100%;padding:1.2rem;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:0 4px 15px #ff6b354d}.register-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.register-btn:hover:not(:disabled){background:linear-gradient(135deg,#e55a2b,#e8871a);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566}.register-btn:hover:before{left:100%}.register-btn:active{transform:translateY(0)}.register-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 4px 15px #ff6b3533}.register-btn:disabled:hover{transform:none}.auth-links{text-align:center}.auth-links a,.auth-links button{color:#ff6b35;text-decoration:none;font-weight:600;transition:all .3s ease;position:relative}.auth-links p{margin:1.5rem 0 .5rem;color:#fffc;font-size:.95rem}.success-message{background:#e8f5e833;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#4caf50;padding:1rem;border-radius:10px;margin-bottom:1.5rem;text-align:center;font-size:.9rem;font-weight:500;border:1px solid rgba(195,230,203,.3)}.register-btn.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.register-form h2{font-size:1.6rem;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group input{padding:1rem;font-size:16px}.register-btn{padding:1rem;font-size:1rem}}@media (max-width: 480px){.register-form h2{font-size:1.4rem}.form-group input,.register-btn{padding:.9rem}}.register-btn:focus-visible,.auth-links a:focus-visible,.auth-links button:focus-visible{outline:2px solid #ff6b35;outline-offset:2px}.forgot-password-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:0}.forgot-password-form{background:transparent;padding:0;border-radius:0;box-shadow:none;width:100%;max-width:100%;border:none;position:relative;animation:fadeInUp .6s ease-out;text-align:center}.forgot-password-form:after{content:"🔐";position:absolute;top:-60px;left:50%;transform:translate(-50%);font-size:2.5rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0003;border:2px solid rgba(255,255,255,.2)}.forgot-password-form h2{text-align:center;margin:2rem 0 1rem;color:#fff;font-size:1.8rem;font-weight:700;position:relative}.forgot-password-form h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#ff6b35,#f7931e);border-radius:2px}.forgot-password-description{color:#fffc;font-size:1rem;line-height:1.6;margin-bottom:2.5rem;padding:0 1rem}.form-group{margin-bottom:2rem;position:relative;text-align:left}.form-group input{width:100%;padding:1.2rem 1rem;border:2px solid rgba(255,255,255,.2);border-radius:12px;font-size:1rem;transition:all .3s ease;background:#ffffff1a;color:#fff;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group input::placeholder{color:#ffffffb3;transition:color .3s ease}.form-group input:focus::placeholder{color:#ffffff80}.form-group:has(input[type=email]):before{content:"📧";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem;opacity:.5;z-index:1;pointer-events:none}.reset-btn{width:100%;padding:1.2rem;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:0 4px 15px #ff6b354d}.reset-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.reset-btn:hover:not(:disabled){background:linear-gradient(135deg,#e55a2b,#e8871a);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566}.reset-btn:hover:before{left:100%}.reset-btn:active{transform:translateY(0)}.reset-btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 4px 15px #ff6b3533}.reset-btn:disabled:hover{transform:none}.auth-links{text-align:center;margin-top:1rem}.auth-links a,.auth-links button{color:#ff6b35;text-decoration:none;font-weight:600;transition:all .3s ease;position:relative;display:inline-flex;align-items:center;gap:.5rem}.auth-links a:before,.auth-links button:before{content:"←";font-size:1.2rem;transition:transform .3s ease}.auth-links a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:#ff6b35;transition:width .3s ease}.auth-links a:hover,.auth-links button:hover{color:#e55a2b}.auth-links a:hover:before,.auth-links button:hover:before{transform:translate(-3px)}.auth-links a:hover:after{width:100%}.error-message{background:#ffe6e633;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ff6b6b;padding:1rem;border-radius:10px;margin-bottom:1.5rem;text-align:center;font-size:.9rem;font-weight:500;border:1px solid rgba(255,205,210,.3);animation:shake .5s ease-in-out;position:relative}.error-message:before{content:"⚠️";margin-right:.5rem}.success-message{background:#e8f5e833;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#4caf50;padding:1.2rem;border-radius:10px;margin-bottom:1.5rem;text-align:center;font-size:.9rem;font-weight:500;border:1px solid rgba(195,230,203,.3);position:relative;line-height:1.5}.success-message:before{content:"✅";margin-right:.5rem;font-size:1.1rem}.success-state{animation:successPulse .6s ease-out}.success-state .reset-btn{background:linear-gradient(135deg,#4caf50,#45a049);box-shadow:0 4px 15px #4caf504d}.success-state .reset-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40)}.reset-btn.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.forgot-password-form:after{font-size:2rem;width:60px;height:60px;top:-50px}.forgot-password-form h2{font-size:1.6rem;margin:1.5rem 0 1rem}.forgot-password-description{font-size:.9rem;margin-bottom:2rem;padding:0 .5rem}.form-group{margin-bottom:1.5rem}.form-group input{padding:1rem;font-size:16px}.reset-btn{padding:1rem;font-size:1rem}}@media (max-width: 480px){.forgot-password-form:after{font-size:1.8rem;width:50px;height:50px;top:-40px}.forgot-password-form h2{font-size:1.4rem}.forgot-password-description{font-size:.85rem}.form-group input,.reset-btn{padding:.9rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.reset-btn:focus-visible,.auth-links a:focus-visible,.auth-links button:focus-visible{outline:2px solid #ff6b35;outline-offset:2px}.auth-page{min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#2d2d2d,#1a1a1a);display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(255,107,53,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(247,147,30,.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(255,107,53,.08) 0%,transparent 50%);opacity:.6}.auth-container{max-width:900px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;position:relative;z-index:1}.auth-brand{text-align:center;color:#fff;animation:slideInLeft .8s ease-out}.auth-brand h1{font-size:2.8rem;margin-bottom:1rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);background:linear-gradient(45deg,#fff,#fff8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;white-space:nowrap}.auth-brand p{font-size:1.2rem;opacity:.95;line-height:1.6;margin-bottom:2rem;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.auth-brand .brand-features{display:flex;justify-content:center;gap:2rem;margin-top:2rem;flex-wrap:wrap}.brand-feature{display:flex;align-items:center;gap:.5rem;font-size:1rem;opacity:.9}.brand-feature span{font-size:1.2rem}.auth-content{background:#ffffff14;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:2.5rem;box-shadow:0 25px 50px #00000040,inset 0 1px #fff3,0 0 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.15);animation:slideInRight .8s ease-out;position:relative;max-width:420px}.auth-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ff6b35,#f7931e);border-radius:20px 20px 0 0}@media (max-width: 968px){.auth-container{grid-template-columns:1fr;gap:2.5rem;max-width:450px}.auth-brand{order:2}.auth-content{order:1;padding:2rem}.auth-brand h1{font-size:2.2rem;white-space:normal}.auth-brand p{font-size:1.1rem}.brand-features{gap:1rem}}@media (max-width: 768px){.auth-page{padding:1rem}.auth-container{gap:2rem}.auth-content{padding:2rem}.auth-brand h1{font-size:2rem}.brand-features{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.auth-content{padding:1.5rem;border-radius:16px}.auth-brand h1{font-size:1.8rem}.auth-brand p{font-size:1rem}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.my-favorites-container{max-width:1200px;margin:0 auto;padding:2rem;min-height:80vh}.favorites-header{text-align:center;margin-bottom:3rem}.favorites-header h1{font-size:2.5rem;font-weight:700;color:#333;margin-bottom:.5rem;background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.favorites-subtitle{font-size:1.1rem;color:#666;margin:0}.favorites-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #ff6b35;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.favorites-loading p{color:#666;font-size:1.1rem}.empty-favorites{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;min-height:400px}.empty-icon{width:80px;height:80px;margin-bottom:2rem;opacity:.5;color:#ff6b35}.empty-icon svg{width:100%;height:100%}.empty-favorites h2{font-size:2rem;font-weight:600;color:#555;margin-bottom:1rem}.empty-favorites p{font-size:1.1rem;color:#777;margin-bottom:2rem;max-width:500px;line-height:1.6}.browse-recipes-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;padding:12px 24px;border-radius:25px;text-decoration:none;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #ff6b354d}.browse-recipes-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.favorite-recipe-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 4px 20px #0000001a;transition:all .3s ease;height:fit-content;border:2px solid transparent}[data-theme=light] .favorite-recipe-card{border:2px solid #ff6b35}[data-theme=dark] .favorite-recipe-card{border:2px solid transparent;background:#2d2d2d;color:#fff}.favorite-recipe-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}[data-theme=light] .favorite-recipe-card:hover{border-color:#f7931e}[data-theme=dark] .favorite-recipe-card:hover{border-color:transparent}.recipe-card-inner{height:100%;display:flex;flex-direction:column}.recipe-image-container{position:relative;height:200px;overflow:hidden}.recipe-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.favorite-recipe-card:hover .recipe-image{transform:scale(1.05)}.recipe-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1.5rem 1rem 1rem}.recipe-title{color:#fff;font-size:1.2rem;font-weight:600;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.5)}.recipe-card-content{padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;flex-grow:1}.recipe-info{flex-grow:1}.recipe-card-title{font-size:1.1rem;font-weight:600;color:#333;margin:0 0 .5rem;line-height:1.3}[data-theme=dark] .recipe-card-title{color:#fff}.recipe-summary{color:#666;font-size:.9rem;line-height:1.5;margin:0 0 1rem}[data-theme=dark] .recipe-summary{color:#ccc}.recipe-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.date-added{font-size:.8rem;color:#999;font-style:italic}[data-theme=dark] .date-added{color:#888}.recipe-actions{display:flex;justify-content:flex-end;align-items:center}.recipe-link{text-decoration:none;color:inherit}@media (max-width: 768px){.my-favorites-container{padding:1rem}.favorites-header h1{font-size:2rem}.favorites-grid{grid-template-columns:1fr;gap:1.5rem}.recipe-image-container{height:180px}.recipe-card-content{padding:1rem}.empty-favorites{padding:2rem 1rem}.empty-icon{width:60px;height:60px}.empty-favorites h2{font-size:1.5rem}.empty-favorites p{font-size:1rem}}@media (max-width: 480px){.favorites-header{margin-bottom:2rem}.favorites-header h1{font-size:1.8rem}.favorites-subtitle{font-size:1rem}.recipe-card-content{padding:.8rem}.recipe-card-title{font-size:1rem}.recipe-summary{font-size:.85rem}}.favorite-recipe-card{animation:fadeInUp .5s ease forwards}.favorite-recipe-card:nth-child(1){animation-delay:.1s}.favorite-recipe-card:nth-child(2){animation-delay:.2s}.favorite-recipe-card:nth-child(3){animation-delay:.3s}.favorite-recipe-card:nth-child(4){animation-delay:.4s}.my-reviews-container{max-width:800px;margin:0 auto;padding:20px 40px 20px 60px;background-color:var(--primary-bg);color:var(--text-primary);min-height:calc(100vh - 140px);position:relative}.page-header{background:var(--card-bg);border-radius:12px;padding:24px;margin-bottom:32px;border:1px solid var(--border-color);box-shadow:0 2px 8px #0000001a}[data-theme=light] .page-header{border:2px solid #ff6b35}[data-theme=dark] .page-header{border:1px solid var(--border-color)}.header-content h1{margin:0 0 8px;color:var(--text-primary);font-size:2rem;font-weight:600}.page-description{margin:0 0 20px;color:var(--text-secondary);font-size:1rem;line-height:1.5}.user-stats{display:flex;align-items:center;gap:20px;padding-top:16px;border-top:1px solid var(--border-color)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-number{font-size:1.5rem;font-weight:700;color:#ff6b35}.stat-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.stat-divider{width:1px;height:30px;background:var(--border-color)}.average-rating-display{display:flex;align-items:center;gap:4px}.edit-form-section{margin-bottom:32px}.edit-form-section h2{margin:0 0 16px;color:var(--text-primary);font-size:1.3rem;font-weight:600}.reviews-content{position:relative}.reviews-list-title{margin:0 0 24px;color:var(--text-primary);font-size:1.4rem;font-weight:600}.reviews-list{display:flex;flex-direction:column;gap:16px}.no-reviews-state{text-align:center;padding:60px 20px;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color)}[data-theme=light] .no-reviews-state{border:2px solid #ff6b35}[data-theme=dark] .no-reviews-state{border:1px solid var(--border-color)}.no-reviews-icon{margin-bottom:20px}.no-reviews-icon .icon{width:64px;height:64px;fill:var(--text-secondary);opacity:.5}.no-reviews-state h2{margin:0 0 12px;color:var(--text-primary);font-size:1.5rem;font-weight:600}.no-reviews-state p{margin:0 0 24px;color:var(--text-secondary);font-size:1rem;line-height:1.5}.explore-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #ff6b354d}.explore-btn:hover{background:linear-gradient(135deg,#e55a2e,#e0841a);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b3566}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-state p{color:var(--text-secondary);font-size:1rem}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:8px}[data-theme=dark] .loading-overlay{background:#000c}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid #ff6b35;border-radius:50%;animation:spin 1s linear infinite}[data-theme=light]{--primary-bg: #f8f9fa;--card-bg: #eeeeee;--border-color: #e0e0e0;--text-primary: #333333;--text-secondary: #666666}[data-theme=dark] .page-header,[data-theme=dark] .no-reviews-state{border:1px solid #666666}[data-theme=dark] .review-item{border:1px solid #666666!important}[data-theme=dark] .edit-form-section{border:1px solid #666666}[data-theme=dark]{--primary-bg: #1a1a1a;--card-bg: #2a2a2a;--border-color: #666666;--text-primary: #ffffff;--text-secondary: #cccccc}[data-theme=light] .page-header,[data-theme=light] .no-reviews-state{background:#eee;border:2px solid #ff6b35}[data-theme=light] .review-item{background:#eee!important;border:2px solid #ff6b35!important}[data-theme=dark] .review-item{border:1px solid var(--border-color)!important}[data-theme=light] .edit-form-section{background:#eee;border-radius:12px;padding:20px;border:2px solid #ff6b35}[data-theme=dark] .edit-form-section{border:1px solid var(--border-color)}@media (max-width: 768px){.my-reviews-container{padding:16px 20px}.page-header{padding:20px;margin-bottom:24px}.header-content h1{font-size:1.6rem}.user-stats{gap:16px}.stat-number{font-size:1.3rem}.stat-label{font-size:.8rem}.reviews-list-title{font-size:1.2rem}.no-reviews-state{padding:40px 16px}.no-reviews-icon .icon{width:48px;height:48px}.no-reviews-state h2{font-size:1.3rem}}@media (max-width: 480px){.my-reviews-container{padding:12px 16px}.page-header{padding:16px}.header-content h1{font-size:1.4rem}.user-stats{flex-direction:column;gap:12px}.stat-divider{width:30px;height:1px}.no-reviews-state{padding:30px 12px}.explore-btn{width:100%;padding:14px 20px}}.category-container{display:flex;gap:50px;justify-content:center}.category-container a{display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#202020;color:#fff;border-radius:50%;padding:10px;height:80px;width:80px;cursor:pointer;transition:all .1s ease-in-out;text-decoration:none}.category-container a:hover{transform:scale(.95)}.active{background-color:#f77121!important;color:#fff!important}[data-theme=light] .category-container a{background-color:#202020;color:#fff}[data-theme=dark] .category-container a{background-color:#c7c6c3;color:#000}.category-container a[href="/cuisine/American"] p{font-size:.9em}.search-container{display:flex;flex-direction:column;justify-content:center;align-items:center;margin:20px 0;gap:1rem}.search-form{display:flex;align-items:center;gap:.5rem;position:relative}.cuisine-filter-container{position:relative}.cuisine-select{height:40px;width:150px;outline:none;padding:0 10px;background:linear-gradient(35deg,#494949,#313131);color:#fff;border-radius:5px 0 0 5px;border:none;font-size:14px;cursor:pointer;transition:all .3s ease}.cuisine-select:hover{background:linear-gradient(35deg,#5a5a5a,#404040)}.cuisine-select:focus{outline:2px solid #ff6b35;outline-offset:1px}.cuisine-select option{background-color:#313131;color:#fff;padding:5px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-field{height:40px;width:400px;outline:none;padding-left:40px;background:linear-gradient(35deg,#494949,#313131);color:#fff;border-radius:0 5px 5px 0;border:none;font-size:17px}.search-field::placeholder{color:#ccc;opacity:.8}.search-input-wrapper svg{position:absolute;color:#fff;top:50%;left:10px;font-size:20px;transform:translateY(-50%);z-index:10}.filter-indicator{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(35deg,#ff6b3533,#ff6b351a);border:1px solid rgba(255,107,53,.4);border-radius:8px;gap:1rem;max-width:550px;width:100%}.filter-text{font-size:.9rem;color:var(--text-primary, white)}.filter-text strong{color:#ff6b35}.clear-filter{padding:.25rem .75rem;background-color:transparent;color:#ff6b35;border:1px solid #ff6b35;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .3s ease}.clear-filter:hover{background-color:#ff6b35;color:#fff}[data-theme=dark] .cuisine-select,[data-theme=dark] .search-field{background:linear-gradient(35deg,var(--secondary-bg, #494949),var(--tertiary-bg, #313131));color:var(--text-primary, white);border:1px solid white}[data-theme=dark] .search-field::placeholder{color:var(--text-secondary, #cccccc)}[data-theme=dark] .filter-text{color:var(--text-primary, white)}[data-theme=light] .cuisine-select,[data-theme=light] .search-field{background:linear-gradient(35deg,#f0f0f0,#e0e0e0);color:var(--text-primary, #333);border:1px solid black}[data-theme=light] .search-field::placeholder{color:var(--text-secondary, #666)}[data-theme=light] .search-input-wrapper svg{color:var(--text-primary, #333)}[data-theme=light] .filter-text{color:var(--text-primary, #333)}[data-theme=light] .cuisine-select option{background-color:#fff;color:#333}@media (max-width: 768px){.search-form{flex-direction:column;gap:0;width:100%;max-width:400px}.cuisine-filter-container{width:100%}.cuisine-select{width:100%;border-radius:5px 5px 0 0;border-bottom:none}.search-input-wrapper{width:100%}.search-field{width:100%;border-radius:0 0 5px 5px;padding-left:40px}.filter-indicator{flex-direction:column;gap:.5rem;text-align:center;margin-top:.5rem}}@media (max-width: 480px){.search-container{margin:15px 0;padding:0 1rem}.search-field{width:300px;font-size:15px}.cuisine-select{font-size:13px}.filter-indicator{padding:.5rem;font-size:.8rem}}.header-container{margin:-50px -100px 30px;padding:10px 20px;background-color:#202020;color:#fff;position:sticky;top:0;z-index:999;box-shadow:0 0 3px 1px #000;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.header-container h1{font-family:Satisfy;display:flex;align-items:center;gap:5px;color:#fff;transition:all .3s ease}.header-container a{text-decoration:none}.header-nav{display:flex;gap:20px;margin-left:auto;margin-right:auto;align-items:center}.nav-link{color:#fff;text-decoration:none;font-weight:500;font-size:1rem;padding:8px 16px;border-radius:20px;transition:all .3s ease;position:relative;display:flex;align-items:center;gap:8px}.nav-link:hover{color:#ff6b35;background:#ff6b351a}.nav-spacer{width:140px}.favorites-link{position:relative}.favorites-text{margin-right:4px}.favorites-icon{position:relative;display:flex;align-items:center}.heart-icon{width:18px;height:18px;color:#ff6b35;transition:all .3s ease}.favorites-link:hover .heart-icon{transform:scale(1.2);color:#ff5252}.favorites-count{position:absolute;top:-8px;right:-8px;background:#ff6b35;color:#fff;font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:10px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite;line-height:1}.reviews-link{position:relative}.reviews-text{margin-right:4px}.reviews-icon{position:relative;display:flex;align-items:center}.review-icon{width:18px;height:18px;color:#ff6b35;transition:all .3s ease}.reviews-link:hover .review-icon{transform:scale(1.2);color:#ff5252}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.header-right-section{display:flex;align-items:center;gap:15px}.header-right-section .toggle-label{color:#fff!important;font-weight:500}.header-right-section .theme-toggle{color:#fff}.header-right-section .theme-icon{color:#fff!important}.user-img{font-size:30px;cursor:pointer;transition:all .3s ease}.user-img:hover{color:#ff6b35;transform:scale(1.1)}.user-avatar-header:hover{transform:scale(1.1)!important;box-shadow:0 4px 15px #ff6b3580!important}[data-theme=dark] .header-container{box-shadow:0 0 5px 1px #00000080}[data-theme=light] .header-container{box-shadow:0 0 3px 1px #0000004d}[data-theme=dark] .nav-link:hover{background:#ff6b3526}[data-theme=light] .nav-link:hover{background:#ff6b351a}@media (max-width: 768px){.header-container{padding:8px 15px;margin:-50px -100px 20px}.header-nav{gap:20px}.nav-link{font-size:.9rem;padding:6px 12px}.favorites-text,.reviews-text{display:none}.heart-icon,.review-icon{width:16px;height:16px}.favorites-count{font-size:.6rem;padding:1px 4px;min-width:14px;height:14px;top:-6px;right:-6px}.nav-spacer{display:none}}@media (max-width: 480px){.header-container{padding:6px 10px}.header-nav{gap:15px}.nav-link{font-size:.8rem;padding:4px 8px}.heart-icon,.review-icon{width:14px;height:14px}}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .3s ease-out}.settings-modal{width:100%;max-width:500px;max-height:90vh;background:#1e1e1ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;animation:slideInUp .4s ease-out;box-shadow:0 20px 40px #0000004d}.settings-header{padding:2rem 2rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#ff6b351a,#f7931e1a)}.settings-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.settings-close{background:none;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease}.settings-close:hover{color:#ff6b35;background:#ff6b351a;transform:rotate(90deg)}.settings-form{padding:2rem;max-height:calc(90vh - 120px);overflow-y:auto}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#fff;font-weight:500;margin-bottom:.5rem;font-size:.95rem}.form-group input{width:100%;padding:1rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:1rem;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box}.form-group input:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b3533;transform:translateY(-2px);background:#ffffff26}.form-group input::placeholder{color:#fff9}.password-display{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.password-display span{color:#ffffffb3;font-size:1.2rem;letter-spacing:2px}.change-password-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.change-password-btn:hover{background:linear-gradient(135deg,#e55a2b,#e8871a);transform:translateY(-2px);box-shadow:0 4px 12px #ff6b354d}.field-hint{display:block;color:#ffffff80;font-size:.8rem;margin-top:.3rem;font-style:italic}.form-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.cancel-btn{flex:1;padding:1rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fffc;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#ffffff26;border-color:#ffffff4d;color:#fff}.save-btn{flex:1;padding:1rem;background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:12px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.save-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#e55a2b,#e8871a);transform:translateY(-2px);box-shadow:0 6px 20px #ff6b3566}.save-btn:hover:before{left:100%}.save-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.save-btn.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:#ffe6e633;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ff6b6b;padding:1rem;border-radius:10px;margin-bottom:1.5rem;text-align:center;font-size:.9rem;font-weight:500;border:1px solid rgba(255,205,210,.3);animation:shake .5s ease-in-out}.success-message{background:#e8f5e833;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#4caf50;padding:1rem;border-radius:10px;margin-bottom:1.5rem;text-align:center;font-size:.9rem;font-weight:500;border:1px solid rgba(195,230,203,.3);line-height:1.4}@media (max-width: 768px){.settings-overlay{padding:1rem}.settings-modal{max-width:100%}.settings-header{padding:1.5rem 1.5rem 1rem}.settings-header h2{font-size:1.3rem}.settings-form{padding:1.5rem}.form-group{margin-bottom:1.2rem}.form-actions{flex-direction:column}.cancel-btn,.save-btn{width:100%}}@media (max-width: 480px){.settings-overlay{padding:.5rem}.settings-header,.settings-form{padding:1rem}.form-group input,.password-display{padding:.9rem}.change-password-btn{padding:.4rem .8rem;font-size:.8rem}}@keyframes slideInUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.settings-close:focus-visible,.change-password-btn:focus-visible,.cancel-btn:focus-visible,.save-btn:focus-visible{outline:2px solid #ff6b35;outline-offset:2px}.form-group input:focus-visible{outline:none;box-shadow:0 0 0 3px #ff6b354d}.image-cropper-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:3000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.image-cropper-modal{background:#1e1e1ef2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px #0000004d;max-width:90vw;max-height:90vh;overflow:hidden;animation:slideInScale .3s ease-out}.cropper-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.cropper-header h3{color:#fff;margin:0;font-size:1.3rem;font-weight:600}.close-btn{background:none;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#ff6b35;background:#ff6b351a;transform:rotate(90deg)}.cropper-content{padding:2rem;display:flex;gap:2rem;align-items:flex-start}.canvas-container{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0000004d}.crop-canvas{display:block;cursor:grab;border-radius:12px}.crop-canvas:active{cursor:grabbing}.crop-controls{min-width:200px;color:#fff}.control-group{margin-bottom:1.5rem}.control-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#ffffffe6}.scale-slider{width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-bottom:.5rem}.scale-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#ff6b35,#f7931e);cursor:pointer;box-shadow:0 2px 10px #ff6b354d;transition:all .3s ease}.scale-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 15px #ff6b3580}.scale-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#ff6b35,#f7931e);cursor:pointer;border:none;box-shadow:0 2px 10px #ff6b354d;transition:all .3s ease}.scale-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 4px 15px #ff6b3580}.scale-value{display:inline-block;background:#ff6b351a;color:#ff6b35;padding:.3rem .6rem;border-radius:6px;font-size:.9rem;font-weight:600;border:1px solid rgba(255,107,53,.3)}.crop-instructions{background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;margin-top:1rem}.crop-instructions p{margin:.3rem 0;font-size:.9rem;color:#ffffffb3;line-height:1.4}.cropper-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.1);background:#0003}.cancel-btn{background:#ffffff0d;color:#fffc;border:1px solid rgba(255,255,255,.2);padding:.7rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.cancel-btn:hover{background:#ffffff1a;color:#fff;transform:translateY(-1px)}.crop-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;padding:.7rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;box-shadow:0 4px 15px #ff6b354d}.crop-btn:hover{background:linear-gradient(135deg,#e55a2b,#e8841a);transform:translateY(-1px);box-shadow:0 6px 20px #ff6b3566}.crop-btn:active{transform:translateY(0)}@media (max-width: 768px){.image-cropper-modal{margin:1rem;max-width:calc(100vw - 2rem)}.cropper-content{flex-direction:column;padding:1rem;gap:1rem}.crop-canvas{width:100%;height:auto;max-width:300px}.crop-controls{min-width:auto;width:100%}.cropper-header{padding:1rem 1.5rem}.cropper-header h3{font-size:1.1rem}.cropper-actions{padding:1rem 1.5rem;flex-direction:column-reverse}.cancel-btn,.crop-btn{width:100%;padding:.8rem}}@media (max-width: 480px){.crop-canvas{max-width:250px}.cropper-content{padding:.5rem}.crop-instructions{padding:.7rem}.crop-instructions p{font-size:.8rem}}@keyframes slideInScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.close-btn:focus-visible,.cancel-btn:focus-visible,.crop-btn:focus-visible,.scale-slider:focus-visible{outline:2px solid #ff6b35;outline-offset:2px}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:2000;display:flex;justify-content:flex-end;animation:fadeIn .3s ease-out}.user-sidebar{width:350px;height:100vh;background:#141414f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;animation:slideInRight .3s ease-out;overflow-y:auto}.sidebar-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#fff9;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease;z-index:10}.sidebar-close:hover{color:#ff6b35;background:#ff6b351a;transform:rotate(90deg)}.user-profile{padding:3rem 2rem 2rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.user-avatar-large-wrapper{position:relative;display:inline-block;margin:0 auto 1rem;padding:10px}.user-avatar-large{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,#ff6b35,#f7931e);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #ff6b354d;animation:pulse 2s infinite;transition:all .3s ease;overflow:hidden;position:relative}.profile-image{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;display:block}.user-initials-large{color:#fff;font-weight:700;font-size:3.8rem;letter-spacing:1px}.add-picture-btn{position:absolute;top:50%;right:-5px;transform:translateY(-50%);width:25px;height:25px;background:linear-gradient(135deg,#ff6b35,#f7931e);border:2px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;opacity:0;animation:slideInButton .3s ease forwards;box-shadow:0 2px 10px #ff6b3566;z-index:10}.add-picture-btn:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 4px 15px #ff6b3599}.camera-icon{font-size:.8rem}.remove-picture-btn{position:absolute;top:5px;left:-5px;width:25px;height:25px;background:#ff6464e6;border:2px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;opacity:0;animation:slideInButton .3s ease forwards .1s;box-shadow:0 2px 10px #ff646466;z-index:10}.remove-picture-btn:hover{transform:scale(1.1);box-shadow:0 4px 15px #ff646499;background:#ff6464}.remove-icon{font-size:.7rem}.image-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000c;border-radius:50%;display:flex;align-items:center;justify-content:center}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ff6b35;border-radius:50%;animation:spin 1s linear infinite}.user-info{margin-top:1rem}.user-name{color:#fff;font-size:1.4rem;font-weight:600;margin:0 0 .5rem;line-height:1.2;word-break:break-word}.user-email{color:#ffffffb3;font-size:.9rem;margin:0;word-break:break-word}.sidebar-menu{flex:1;padding:1rem 0}.menu-item{width:100%;background:none;border:none;color:#fffc;padding:1.2rem 2rem;text-align:left;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1rem;font-size:1rem;font-weight:500;position:relative}.menu-item:hover{background:#ff6b351a;color:#ff6b35;padding-left:2.5rem}.menu-item:active{background:#ff6b3533}.menu-icon{font-size:1.2rem;min-width:24px}.menu-arrow{margin-left:auto;font-size:1.1rem;opacity:.6;transition:all .3s ease}.menu-item:hover .menu-arrow{opacity:1;transform:translate(5px)}.logout-item{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);color:#ff6464cc}.logout-item:hover{background:#ff64641a;color:#ff6464}.sidebar-footer{padding:1rem 2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center}.sidebar-footer p{color:#ffffff80;font-size:.8rem;margin:0}@media (max-width: 768px){.user-sidebar{width:100%}.user-profile{padding:2.5rem 1.5rem 1.5rem}.user-avatar-large{width:50px;height:50px}.user-initials-large,.user-name{font-size:1.2rem}.menu-item{padding:1rem 1.5rem}.menu-item:hover{padding-left:2rem}.add-picture-btn,.remove-picture-btn{width:20px;height:20px}.add-picture-btn{right:-8px}.remove-picture-btn{left:-8px}}@media (max-width: 480px){.user-avatar-large{width:45px;height:45px}.user-initials-large,.user-name{font-size:1.1rem}.menu-item{padding:.9rem 1rem;font-size:.95rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 4px 20px #ff6b354d}50%{transform:scale(1.05);box-shadow:0 6px 25px #ff6b3566}}@keyframes slideInButton{0%{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}.sidebar-close:focus-visible,.menu-item:focus-visible,.add-picture-btn:focus-visible,.remove-picture-btn:focus-visible{outline:2px solid #ff6b35;outline-offset:2px}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:all .3s ease;display:flex;align-items:center;gap:8px}.theme-toggle:hover{background:var(--hover-bg, rgba(0, 0, 0, .1))}.theme-toggle:focus{outline:2px solid var(--focus-color, #007bff);outline-offset:2px}.toggle-container{display:flex;align-items:center;gap:8px}.toggle-switch{position:relative;width:50px;height:26px;background:#ccc;border-radius:13px;transition:all .3s ease;cursor:pointer}.toggle-switch.dark{background:#4a90e2}.toggle-switch.light{background:gold}.toggle-handle{position:absolute;top:2px;left:2px;width:22px;height:22px;background:#fff;border-radius:50%;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.toggle-switch.dark .toggle-handle{transform:translate(24px);background:#2c3e50}.toggle-switch.light .toggle-handle{transform:translate(0);background:#fff}.theme-icon{width:14px;height:14px;transition:all .3s ease}.theme-icon.sun{color:orange}.theme-icon.moon{color:#f1c40f}.toggle-label{font-size:.9rem;font-weight:500;color:var(--text-color);min-width:40px;text-align:left}.header-container .toggle-label,.header-right-section .toggle-label,.header-container .theme-icon,.header-right-section .theme-icon{color:#fff!important}.header-container .theme-icon.sun,.header-right-section .theme-icon.sun{color:orange!important}.header-container .theme-toggle:hover,.header-right-section .theme-toggle:hover{background:#ffffff1a!important}.theme-toggle.transitioning .toggle-switch{transform:scale(.95)}@media (max-width: 768px){.toggle-label{display:none}.toggle-container{gap:0}.theme-toggle{padding:6px}}[data-theme=dark] .theme-toggle:hover{background:#ffffff1a}[data-theme=light] .theme-toggle:hover{background:#0000000d}.app-footer{margin:30px 0 0;padding:15px 20px;background-color:#202020;color:#fff;position:fixed;bottom:0;left:0;right:0;z-index:999;box-shadow:0 0 3px 1px #000;display:flex;justify-content:center;align-items:center;width:100%;box-sizing:border-box}.footer-content{display:flex;justify-content:center;align-items:center;width:100%}.footer-text{margin:0;font-size:.9rem;font-weight:400;color:#fff;text-align:center}@media (max-width: 768px){.app-footer{padding:12px 15px;position:fixed;bottom:0;left:0;right:0;width:100%;box-sizing:border-box}.footer-text{font-size:.8rem}}@media (max-width: 480px){.app-footer{padding:10px;position:fixed;bottom:0;left:0;right:0;width:100%;box-sizing:border-box}.footer-text{font-size:.75rem}}.meal-planner-container{max-width:1400px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--primary-bg, #ffffff);color:var(--text-primary, #333333);min-height:80vh;transition:all .3s ease}.meal-planner-header{text-align:center;margin-bottom:3rem}.meal-planner-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.meal-planner-subtitle{font-size:1.1rem;color:var(--text-secondary, #666666);margin:0;opacity:.8}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color, #f3f3f3);border-top:4px solid #ff6b35;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p{color:var(--text-secondary, #666666);font-size:1.1rem}.meal-planner-content{display:flex;flex-direction:column;gap:3rem}.days-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;margin-bottom:2rem}.day-column{background:var(--day-column-bg, #ffffff);border:2px solid var(--day-column-border, #ff6b35);border-radius:16px;padding:1rem;min-height:200px;max-height:250px;box-shadow:0 4px 12px #0000000d;transition:all .3s ease;position:relative;overflow:hidden}[data-theme=light] .day-column{border:2px solid #ff6b35}[data-theme=dark] .day-column{border:2px solid #404040}.day-column:hover{border-color:#fb923c;box-shadow:0 6px 20px #ff6b3526;transform:translateY(-2px)}[data-theme=light] .day-column:hover{border-color:#fb923c}[data-theme=dark] .day-column:hover{border-color:#555}.day-column.drag-over{border-color:#fb923c;background-color:var(--day-column-hover-bg, #fff5f2);transform:scale(1.02)}[data-theme=light] .day-column.drag-over{border-color:#fb923c}[data-theme=dark] .day-column.drag-over{border-color:#555}.day-title{font-size:1.1rem;font-weight:600;margin:0 0 1rem;text-align:center;color:var(--day-title-color, #333333);padding-bottom:.5rem;border-bottom:2px solid var(--day-title-border, #ff6b35)}.drop-zone{min-height:140px;max-height:170px;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;margin-top:.75rem;padding-top:.25rem}.empty-day-message{display:flex;align-items:center;justify-content:center;height:100%;color:var(--empty-message-color, #999999);font-style:italic;text-align:center;border:2px dashed var(--empty-day-border, #ff6b35);border-radius:12px;padding:1rem .5rem;transition:all .3s ease;font-size:.9rem}.day-column:hover .empty-day-message{border-color:#fb923c;color:#fb923c}.recipe-item{background:var(--recipe-item-bg, #ffffff);border:1px solid var(--recipe-item-border, #ff6b35);border-radius:12px;padding:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.4rem;transition:all .3s ease;box-shadow:0 2px 8px #0000000d;cursor:grab;min-height:45px}[data-theme=light] .recipe-item{border:1px solid #ff6b35}[data-theme=dark] .recipe-item{border:1px solid #404040}.recipe-item:hover{border-color:#fb923c;box-shadow:0 4px 12px #ff6b3526;transform:translateY(-1px)}[data-theme=light] .recipe-item:hover{border-color:#fb923c}[data-theme=dark] .recipe-item:hover{border-color:#555}.recipe-item:active{cursor:grabbing}.recipe-item-content{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.recipe-item-image{width:30px;height:30px;border-radius:6px;object-fit:cover;flex-shrink:0}.recipe-item-title{font-size:.8rem;font-weight:500;color:var(--text-primary, #333333);line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.recipe-item-title-link{text-decoration:none;color:inherit;flex:1;min-width:0;pointer-events:auto}.recipe-item-title-link:hover .recipe-item-title{color:#ff6b35;text-decoration:underline}.remove-btn{background:#e74c3c;color:#fff;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;transition:all .3s ease;flex-shrink:0}.remove-btn:hover{background:#c0392b;transform:scale(1.1)}.saved-recipes-section{background:var(--saved-recipes-bg, #f8f9fa);border-radius:20px;padding:2rem;border:2px solid var(--saved-recipes-border, #ff6b35)}[data-theme=light] .saved-recipes-section{border:2px solid #ff6b35}[data-theme=dark] .saved-recipes-section{border:2px solid #404040}.saved-recipes-title{font-size:1.8rem;font-weight:600;margin:0 0 1.5rem;text-align:center;color:var(--text-primary, #333333)}.empty-favorites-message{text-align:center;padding:3rem 2rem;color:var(--text-secondary, #666666)}.empty-favorites-message p{margin:.5rem 0;font-size:1.1rem}.empty-favorites-message a{color:#ff6b35;text-decoration:none;font-weight:600}.empty-favorites-message a:hover{text-decoration:underline}.saved-recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;max-height:400px;overflow-y:auto;padding:1rem}.saved-recipes-grid::-webkit-scrollbar{width:8px}.saved-recipes-grid::-webkit-scrollbar-track{background:var(--scrollbar-track, #f1f1f1);border-radius:4px}.saved-recipes-grid::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #c1c1c1);border-radius:4px}.saved-recipes-grid::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #a8a8a8)}.saved-recipe-card{background:var(--saved-card-bg, #ffffff);border:2px solid var(--saved-card-border, #ff6b35);border-radius:16px;overflow:hidden;cursor:grab;transition:all .3s ease;box-shadow:0 4px 12px #0000000d}[data-theme=light] .saved-recipe-card{border:2px solid #ff6b35}[data-theme=dark] .saved-recipe-card{border:2px solid #404040}.saved-recipe-card:hover{border-color:#fb923c;box-shadow:0 8px 25px #ff6b3533;transform:translateY(-4px)}[data-theme=light] .saved-recipe-card:hover{border-color:#fb923c}[data-theme=dark] .saved-recipe-card:hover{border-color:#555}.saved-recipe-card:active{cursor:grabbing;transform:translateY(-2px) scale(.98)}.saved-recipe-card.dragging{opacity:.5;transform:rotate(5deg) scale(.95)}.saved-recipe-image-container{position:relative;height:120px;overflow:hidden}.saved-recipe-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.saved-recipe-card:hover .saved-recipe-image{transform:scale(1.05)}.saved-recipe-info{padding:1rem;text-align:center}.saved-recipe-title{font-size:.95rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary, #333333);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em}.saved-recipe-title-link{text-decoration:none;color:inherit}.saved-recipe-title-link:hover .saved-recipe-title{color:#ff6b35;text-decoration:underline}[data-theme=light]{--day-column-bg: #fff8f5;--day-column-border: #ff6b35;--day-column-hover-bg: #fff4ed;--day-title-color: #7c2d12;--day-title-border: #ff6b35;--saved-recipes-bg: #fff8f5;--saved-recipes-border: #ff6b35;--saved-card-bg: #ffffff;--saved-card-border: #ff6b35;--recipe-item-bg: #ffffff;--recipe-item-border: #ff6b35;--empty-day-border: #ff6b35;--empty-message-color: #c2410c;--scrollbar-track: #ffedd5;--scrollbar-thumb: #fdba74;--scrollbar-thumb-hover: #fb923c}[data-theme=dark] .meal-planner-container{background-color:var(--primary-bg, #1a1a1a);color:var(--text-primary, #ffffff)}[data-theme=dark] .day-column{background:var(--day-column-bg, #2d2d2d);border:2px solid #666666}[data-theme=dark] .day-column:hover{background-color:var(--day-column-hover-bg, #3a3a3a);border-color:#777}[data-theme=dark] .day-column.drag-over{border-color:#777}[data-theme=dark] .day-title{color:var(--day-title-color, #ffffff);border-color:var(--day-title-border, #ff6b35)}[data-theme=dark] .saved-recipes-section{background:var(--saved-recipes-bg, #2d2d2d);border:2px solid #666666}[data-theme=dark] .saved-recipe-card{background:var(--saved-card-bg, #2d2d2d);border:2px solid #666666}[data-theme=dark] .saved-recipe-card:hover{border-color:#777}[data-theme=dark] .recipe-item{background:var(--recipe-item-bg, #3a3a3a);border:1px solid #ff6b35}[data-theme=dark] .recipe-item:hover{border-color:#fb923c}[data-theme=dark] .empty-day-message{border-color:var(--empty-day-border, #ff6b35);color:var(--empty-message-color, #888888)}@media (max-width: 1200px){.days-row{grid-template-columns:repeat(4,1fr);gap:1rem}.saved-recipes-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width: 768px){.meal-planner-container{padding:1rem}.meal-planner-title{font-size:2rem}.days-row{grid-template-columns:repeat(2,1fr);gap:.75rem}.day-column{min-height:180px;max-height:220px;padding:.75rem}.saved-recipes-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;max-height:300px}.saved-recipe-image-container{height:100px}}@media (max-width: 480px){.days-row{grid-template-columns:1fr}.day-column{min-height:160px;max-height:200px}.meal-planner-title{font-size:1.8rem}.saved-recipes-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.saved-recipe-card{animation:fadeInUp .5s ease forwards}.saved-recipe-card:nth-child(1){animation-delay:.1s}.saved-recipe-card:nth-child(2){animation-delay:.2s}.saved-recipe-card:nth-child(3){animation-delay:.3s}.saved-recipe-card:nth-child(4){animation-delay:.4s}.saved-recipe-card:nth-child(5){animation-delay:.5s}.saved-recipe-card:nth-child(6){animation-delay:.6s}*{box-sizing:border-box;margin:0;padding:0;font-family:Poppins}.app-container{padding:50px 100px}
