:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#000000de;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#86bf40;text-decoration:inherit}a:hover{color:#119c15}body{margin:0;padding:0;min-width:320px;width:100%;height:100vh;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#86bf40}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#86bf40;background-color:#fff}a:hover{color:#86bf40}button{background-color:#f9f9f9}}.login-container{display:flex;min-height:100vh;width:100%;background:linear-gradient(135deg,#22c55e,#16a34a,#15803d);overflow:hidden;box-sizing:border-box}.welcome-section{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;min-height:100vh}.floating-elements{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.floating-element{position:absolute;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:float 6s ease-in-out infinite}.element-1{width:80px;height:80px;top:20%;left:10%;animation-delay:0s}.element-2{width:120px;height:120px;top:60%;left:80%;animation-delay:1s}.element-3{width:60px;height:60px;top:80%;left:20%;animation-delay:2s}.element-4{width:100px;height:100px;top:10%;left:70%;animation-delay:3s}.element-5{width:90px;height:90px;top:40%;left:5%;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-20px) rotate(180deg);opacity:1}}.welcome-content{text-align:center;color:#fff;z-index:2;max-width:500px;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.welcome-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;line-height:1.2}.title-part{display:block;font-size:2rem;font-weight:300;opacity:.9;animation:slideInLeft 1s ease-out .2s both}.title-brand{display:block;background:linear-gradient(45deg,#fff,#f0fdf4,#dcfce7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(255,255,255,.3);animation:slideInRight 1s ease-out .4s both}@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)}}.welcome-subtitle{font-size:1.25rem;opacity:.9;margin-bottom:2rem;font-weight:300;animation:fadeIn 1s ease-out .6s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.welcome-icons{display:flex;justify-content:center;gap:2rem;animation:fadeInUp 1s ease-out .8s both}.icon-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border-radius:16px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.icon-item:hover{transform:translateY(-5px);background:#fff3;box-shadow:0 10px 25px #0000001a}.icon{font-size:2rem;margin-bottom:.5rem;animation:bounce 2s ease-in-out infinite}.icon-item:nth-child(2) .icon{animation-delay:.2s}.icon-item:nth-child(3) .icon{animation-delay:.4s}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.icon-item span{font-size:.9rem;font-weight:500;opacity:.9}.login-form{background:#fff;padding:2rem;width:100%;max-width:400px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;box-shadow:-10px 0 30px #0000001a;animation:slideInFromRight .8s ease-out}@keyframes slideInFromRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.login-form h2{text-align:center;margin-bottom:1.5rem;color:#333;font-size:1.8rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input{width:100%;padding:.75rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#22c55e}.login-form button[type=submit]{width:100%;padding:.75rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:1rem}.login-form button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px)}.login-form button[type=submit]:disabled{background:#ccc;cursor:not-allowed}.link-button{background:none;border:none;color:#22c55e;cursor:pointer;text-decoration:underline;font-size:inherit}.link-button:hover:not(:disabled){color:#16a34a}.link-button:disabled{color:#ccc;cursor:not-allowed}.login-form p{text-align:center;color:#666}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fcc;font-size:.9rem}@media (max-width: 768px){.login-container{flex-direction:column;padding:0;min-height:100vh;max-height:100vh;overflow-y:auto;width:100%;box-sizing:border-box}.welcome-section{flex:none;min-height:35vh;max-height:40vh;padding:1rem;overflow-y:auto;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.welcome-title{font-size:2rem;margin-bottom:.4rem}.title-part{font-size:1.2rem}.welcome-subtitle{font-size:.9rem;margin-bottom:.8rem}.welcome-icons{gap:.6rem}.icon-item{padding:.5rem;min-width:calc(30% - .4rem)}.icon{font-size:1.2rem}.icon-item span{font-size:.7rem}.login-form{min-height:55vh;max-height:60vh;width:100%;max-width:100%;padding:1.2rem 1rem;box-shadow:0 -10px 30px #0000001a;border-radius:20px 20px 0 0;animation:slideInFromBottom .8s ease-out;overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-start;box-sizing:border-box;margin:0}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.floating-element{display:none}}@media (max-width: 480px){.login-container{min-height:100vh;max-height:100vh;overflow:hidden;width:100vw;padding:0;margin:0}.welcome-section{min-height:32vh;max-height:38vh;padding:.6rem;width:100%;box-sizing:border-box;overflow-y:auto}.welcome-title{font-size:1.6rem;margin-bottom:.2rem;line-height:1.1}.title-part{font-size:1rem}.welcome-subtitle{font-size:.8rem;margin-bottom:.6rem;line-height:1.2}.welcome-icons{flex-wrap:wrap;gap:.4rem;justify-content:center}.icon-item{padding:.3rem;min-width:calc(30% - .2rem);font-size:.75rem}.icon{font-size:1rem;margin-bottom:.1rem}.icon-item span{font-size:.65rem}.login-form{padding:.8rem .6rem;min-height:58vh;max-height:62vh;width:100%;max-width:100%;overflow-y:auto;border-radius:16px;box-sizing:border-box;margin:0}.login-form h2{font-size:1.3rem;margin-bottom:.8rem}.form-group{margin-bottom:.7rem}.form-group label{margin-bottom:.25rem;font-size:.85rem}.form-group input{padding:.6rem;font-size:.9rem}.login-form button[type=submit]{padding:.7rem;font-size:.9rem;margin-bottom:.6rem}.login-form p{font-size:.85rem;margin-top:.3rem}}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}.desktop-layout{display:flex;min-height:100vh;width:100%}.app-bar{z-index:1201;background:linear-gradient(135deg,#22c55e,#16a34a,#15803d)!important}.menu-button{margin-right:16px;color:#fff!important}.menu-button:hover{background-color:#ffffff1a!important}.drawer{width:240px;flex-shrink:0}.drawer-paper{width:240px;border-right:3px solid #15803d!important}.drawer-container{overflow:auto;background:linear-gradient(180deg,#f0fdf4,#dcfce7)}.content{flex-grow:1;padding:0;background-color:#f5f5f5;overflow-x:hidden;width:100%;height:100vh}.container{margin:0;padding:0;width:100%;height:100%}.drawer-paper:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#22c55e,#16a34a,#15803d);z-index:1}.drawer .MuiListItem-root.Mui-selected{background:linear-gradient(135deg,#22c55e1a,#15803d1a)!important;border-right:4px solid #15803d!important}.drawer .MuiListItem-root.Mui-selected .MuiListItemIcon-root{color:#15803d!important}.drawer .MuiListItem-root.Mui-selected .MuiListItemText-primary{color:#15803d!important;font-weight:600!important}@media screen and (min-width: 1600px){.content{padding:0}.container{margin:0;padding:0}}.mobile-layout{display:flex;flex-direction:column;min-height:100vh;width:100%}.title{flex-grow:1;text-align:center;font-size:1.25rem!important;background:linear-gradient(135deg,#22c55e,#16a34a,#15803d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600!important}.content{flex-grow:1;padding:0 0 80px;background-color:#f5f5f5;width:100%;box-sizing:border-box;overflow-x:hidden}.container{margin:0;width:100%;box-sizing:border-box;padding:0}.circular-nav-container{width:100%;position:fixed;bottom:24px;left:0;right:0;z-index:1000;display:flex;justify-content:space-between}.nav-button{width:72px!important;height:72px!important;background-color:#fff!important;box-shadow:0 3px 12px #00000040!important}.nav-button svg{font-size:28px!important}.left-button{border-radius:0 36px 36px 0!important;padding-left:16px!important;margin-left:0!important}.right-button{border-radius:36px 0 0 36px!important;padding-right:16px!important;margin-right:0!important}.bottom-nav-container,.bottom-nav{display:none}@media (max-width: 360px){.nav-button{width:64px!important;height:64px!important}.left-button{border-top-right-radius:32px!important;border-bottom-right-radius:32px!important}.right-button{border-top-left-radius:32px!important;border-bottom-left-radius:32px!important}}.scan-button{background:linear-gradient(135deg,#22c55e,#16a34a,#15803d)!important;box-shadow:0 4px 15px #22c55e4d!important;transition:all .3s ease!important;border:none!important}.scan-button:hover{background:linear-gradient(135deg,#16a34a,#15803d,#166534)!important;box-shadow:0 6px 20px #22c55e66!important;transform:translateY(-2px)!important}.scan-button:active{background:linear-gradient(135deg,#15803d,#166534,#14532d)!important;box-shadow:0 2px 8px #22c55e4d!important;transform:translateY(0)!important}.scan-button svg{color:#fff!important;font-size:1.75rem!important}.scan-button-pulse{animation:greenPulse 2s infinite}@keyframes greenPulse{0%{box-shadow:0 4px 15px #22c55e4d}50%{box-shadow:0 6px 25px #22c55e80}to{box-shadow:0 4px 15px #22c55e4d}}.scan-button{position:fixed!important;bottom:2rem!important;right:2rem!important;z-index:9999!important}@media screen and (max-width: 600px){.scan-button{position:fixed!important;bottom:2rem!important;left:50%!important;right:auto!important;transform:translate(-50%)!important;z-index:9999!important;pointer-events:auto!important}.scan-button:hover{transform:translate(-50%) translateY(-2px)!important}.scan-button:active{transform:translate(-50%) translateY(0)!important}}.scan-dialog .MuiButton-root{background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:#fff!important;border:none!important;transition:all .3s ease!important}.scan-dialog .MuiButton-root:hover{background:linear-gradient(135deg,#16a34a,#15803d)!important;box-shadow:0 3px 10px #22c55e4d!important}.scan-button-tooltip .MuiTooltip-tooltip{background:linear-gradient(135deg,#22c55e,#16a34a)!important;color:#fff!important;border:1px solid #15803d!important}.scan-button-tooltip .MuiTooltip-arrow{color:#22c55e!important}.search-container{position:relative;width:100%;max-width:600px;margin:0 auto;z-index:1}.selected-tags{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center}.search-input{position:relative}.search-input .MuiOutlinedInput-root{transition:all .2s ease-in-out;border:2px solid #e2e8f0}.search-input .MuiOutlinedInput-root:hover{box-shadow:0 2px 8px #22c55e1a;border-color:#22c55e}.search-input .MuiOutlinedInput-root.Mui-focused{box-shadow:0 4px 12px #22c55e26;border-color:#16a34a}.suggestions-dropdown{animation:fadeIn .2s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.suggestion-item{transition:all .15s ease-in-out;border-radius:0}.suggestion-item:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}.suggestion-item:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.suggestion-item:hover{transform:translate(2px);background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:4px solid #22c55e}@media (max-width: 768px){.search-container{position:sticky;top:0;margin:0 1rem;max-width:calc(100% - 2rem);background-color:#fff;padding:1rem 0;z-index:998;box-shadow:0 2px 8px #0000001a;border-radius:0 0 8px 8px}.suggestions-dropdown{margin:0 -1rem;border-radius:0;max-height:250px;position:absolute;left:0;right:0;width:100%;z-index:999;box-shadow:0 4px 12px #00000026}.suggestion-item{padding:.75rem 1rem}.selected-tags .MuiChip-root{margin-bottom:.25rem}@media (prefers-color-scheme: dark){.search-container{background-color:#fff0;box-shadow:0 2px 8px #fff0}}}@media (prefers-contrast: high){.search-input .MuiOutlinedInput-root{border-width:2px}.suggestions-dropdown{border-width:2px;-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion: reduce){.search-input .MuiOutlinedInput-root,.suggestion-item,.suggestions-dropdown{transition:none;animation:none}.suggestion-item:hover{transform:none}}.search-input .MuiOutlinedInput-input:focus{outline:none}.suggestion-item:focus{outline:2px solid currentColor;outline-offset:-2px}@media (prefers-color-scheme: dark){.suggestions-dropdown{background-color:#fff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.search-input .MuiOutlinedInput-root:hover{box-shadow:0 2px 8px #ffffff1a}.search-input .MuiOutlinedInput-root.Mui-focused{box-shadow:0 4px 12px #ffffff26}}.product-card{height:340px;display:flex;flex-direction:column;transition:all .3s ease;cursor:pointer;background:#fff!important;border:2px solid #e2e8f0!important;border-radius:16px!important;box-shadow:none!important;position:relative;overflow:hidden}.product-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#22c55e,#16a34a,#15803d);z-index:1}.product-card.compact{height:280px}.product-card:hover{transform:translateY(-4px);border-color:#cbd5e1}.product-card-content{flex-grow:1;padding:16px 16px 8px;overflow:hidden}.product-card-title{margin-bottom:16px;font-weight:700!important;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.product-card-title.compact{font-size:1.1rem}.product-card-description{margin-bottom:16px;height:3em;overflow:hidden;line-height:1.4}.product-card-description.compact{height:2em;font-size:.8rem}.product-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.product-card-tag{font-size:.75rem;height:24px;border-radius:8px!important;border:1px solid transparent!important;font-weight:500!important}.product-card-tag.compact{font-size:.65rem;height:20px}.product-card-tag-icon{font-size:.8rem}.product-card-tag-icon.compact{font-size:.7rem}.product-card-company{display:flex;align-items:center;gap:6px;margin-bottom:12px;padding:8px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.product-card-company-text{font-size:.8rem;font-weight:500;color:#64748b}.product-card-company-text.compact{font-size:.75rem}.product-card-ethical-rating{margin-bottom:12px;padding:12px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;border:1px solid #e2e8f0}.product-card-ethical-rating-container{display:flex;align-items:center;gap:12px;justify-content:center}.product-card-ethical-rating-progress{position:relative;display:inline-flex}.product-card-ethical-rating-background{color:#e0e0e0!important}.product-card-ethical-rating-value{position:absolute;left:0;transform:rotate(-90deg)!important}.product-card-ethical-rating-text{position:absolute;top:0;left:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center}.product-card-ethical-rating-label{font-size:.75rem}.product-card-ethical-rating-label.compact{font-size:.6rem}.product-card-barcode{display:block;font-size:.75rem}.product-card-barcode.compact{font-size:.6rem}.product-card-actions{justify-content:space-between;padding:0 16px 16px;gap:12px}.product-card-button{font-size:.875rem;border-radius:12px!important;padding:.75rem 1.5rem!important;font-weight:600!important;text-transform:none!important;border:2px solid #22c55e!important;transition:all .3s ease!important;background:transparent!important;color:#22c55e!important}.product-card-button:hover{transform:translateY(-2px);background:#22c55e!important;color:#fff!important;border-color:#22c55e!important}.product-card-button.compact{font-size:.75rem;padding:.5rem 1rem!important}.product-card-favorite-icon.compact{font-size:1.25rem}@media (max-width: 768px){.product-card{height:auto;min-height:320px}.product-card.compact{min-height:280px}.product-card-title{font-size:1rem;margin-bottom:12px}.product-card-description{font-size:.85rem;height:auto;max-height:4em;line-height:1.3}.product-card-content{padding:12px}.product-card-actions{padding:12px;flex-wrap:wrap}.product-card-button{font-size:.8rem;padding:.6rem 1.2rem!important}}@media (max-width: 480px){.product-card{height:auto;min-height:300px;margin-bottom:16px}.product-card.compact{min-height:260px}.product-card-content{padding:10px}.product-card-title{font-size:.95rem;margin-bottom:10px}.product-card-description{font-size:.8rem;height:auto;max-height:3.5em;margin-bottom:12px}.product-card-company{padding:6px 10px;margin-bottom:8px}.product-card-company-text{font-size:.75rem}.product-card-ethical-rating{padding:8px;margin-bottom:8px}.product-card-tags{gap:4px;margin-bottom:12px}.product-card-tag{font-size:.7rem;height:22px}.product-card-actions{padding:10px;gap:8px;flex-direction:column}.product-card-button{font-size:.75rem;padding:.5rem 1rem!important;width:100%}.product-card-barcode{font-size:.7rem}}.recommended-container{width:100%;padding:0}.recommended-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 8px}.recommended-header-left{display:flex;align-items:center;gap:8px}.recommended-title{font-size:1.5rem;font-weight:600;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.recommended-scroll-wrapper{position:relative;width:100%}.recommended-scroll-container{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;padding:8px 0 16px;scrollbar-width:none;-ms-overflow-style:none}.recommended-scroll-container::-webkit-scrollbar{display:none}.recommended-item-card{flex:0 0 280px;min-height:320px;border-radius:12px;border:1px solid #e0e0e0;transition:all .3s ease;background:#fff;box-shadow:0 2px 8px #0000001a;cursor:pointer;position:relative;overflow:hidden}.recommended-item-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026;border-color:#22c55e}.recommended-item-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#22c55e,#16a34a);opacity:0;transition:opacity .3s ease}.recommended-item-card:hover:before{opacity:1}.recommended-card-content{padding:16px;height:100%;display:flex;flex-direction:column;gap:12px}.recommended-item-title{font-size:1.1rem;font-weight:600;color:#1a1a1a;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:2.6em}.recommended-item-company{display:flex;align-items:center;gap:6px;color:#666;font-size:.9rem;font-weight:500}.recommended-item-description{color:#666;font-size:.9rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex:1}.recommended-item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.recommended-tag-chip{font-size:.75rem;height:24px;border-radius:12px;font-weight:500}.recommended-tag-matched{background-color:#dcfce7!important;color:#16a34a!important;border:1px solid #22c55e}.recommended-tag-regular{background-color:#f5f5f5!important;color:#666!important}.recommended-scroll-button{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #e0e0e0;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:2;box-shadow:0 2px 8px #0000001a}.recommended-scroll-button:hover{background:#22c55e;color:#fff;border-color:#22c55e;box-shadow:0 4px 16px #22c55e4d}.recommended-scroll-button:disabled{opacity:.3;cursor:not-allowed;background:#f5f5f5}.recommended-scroll-button:disabled:hover{background:#f5f5f5;color:#666;border-color:#e0e0e0;box-shadow:0 2px 8px #0000001a}.recommended-scroll-left{left:-20px}.recommended-scroll-right{right:-20px}.recommended-loading{display:flex;align-items:center;justify-content:center;padding:40px;gap:16px;color:#666}.recommended-error{display:flex;align-items:center;justify-content:center;padding:40px;text-align:center;color:#d32f2f;background-color:#ffeaea;border-radius:8px;margin:16px 0}.recommended-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;color:#666;background-color:#f9f9f9;border-radius:8px;margin:16px 0}.recommended-empty-title{font-size:1.1rem;font-weight:600;margin-bottom:8px;color:#333}.recommended-empty-description{font-size:.9rem;line-height:1.4;margin-bottom:16px}.recommended-refresh-button{color:#22c55e!important;transition:all .3s ease}.recommended-refresh-button:hover{background-color:#22c55e1a!important;transform:rotate(180deg)}@media (max-width: 768px){.recommended-item-card{flex:0 0 240px;min-height:280px}.recommended-title{font-size:1.3rem}.recommended-scroll-button{width:36px;height:36px}.recommended-scroll-left{left:-18px}.recommended-scroll-right{right:-18px}}@media (max-width: 480px){.recommended-item-card{flex:0 0 200px;min-height:260px}.recommended-title{font-size:1.2rem}.recommended-scroll-button{width:32px;height:32px}.recommended-scroll-left{left:-16px}.recommended-scroll-right{right:-16px}.recommended-card-content{padding:12px}.recommended-item-title{font-size:1rem}.recommended-item-description{font-size:.85rem}}.search-bar{margin-bottom:1.5rem;max-width:1200px;margin-left:auto;margin-right:auto}.search-bar-mobile{margin-bottom:2rem}.search-input{font-size:1rem}.search-input-mobile{font-size:1.1rem}.search-input-mobile .MuiOutlinedInput-input{padding:16px 14px}.search-icon{font-size:24px}.search-icon-mobile{font-size:28px}.section-title{margin-bottom:1rem;font-size:1.25rem;font-weight:600;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-title-mobile{margin-bottom:1.5rem;font-size:1.3rem;font-weight:600;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media screen and (min-width: 1600px){.section-title{font-size:1.5rem;margin-bottom:1.5rem}}.recently-viewed-container{margin-bottom:2rem;max-width:1600px;margin-left:auto;margin-right:auto}.recently-viewed-container-mobile{margin-bottom:2.5rem}.scrollable-container{display:flex;overflow-x:auto;gap:1rem;padding-bottom:.5rem}.scrollable-container-mobile{gap:1.5rem}.scrollable-container::-webkit-scrollbar{height:8px}.scrollable-container::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.product-item{text-align:center;min-width:80px;cursor:pointer}.product-item-mobile{min-width:100px}@media screen and (min-width: 1600px){.product-item{min-width:100px}.scrollable-container{gap:1.5rem}}.product-avatar{width:60px;height:60px;margin:0 auto;margin-bottom:.5rem;box-shadow:0 2px 8px #0000001a}.product-avatar-mobile{width:80px;height:80px;margin-bottom:.75rem}@media screen and (min-width: 1600px){.product-avatar{width:80px;height:80px;margin-bottom:.75rem}}.product-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-weight:500}.product-name-mobile{max-width:100px}@media screen and (min-width: 1600px){.product-name{max-width:100px;font-size:1rem}}.card{height:100%;box-shadow:0 2px 8px #0000001a;border-radius:8px;overflow:hidden;border:2px solid #e2e8f0;transition:all .3s ease;position:relative}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#22c55e,#16a34a,#15803d);opacity:0;transition:opacity .3s ease}.card:hover:before{opacity:1}.card:hover{transform:translateY(-4px);border-color:#22c55e}.card-mobile{box-shadow:0 4px 12px #00000026;border-radius:12px}.card-image{height:200px;background-size:cover;background-position:center}.card-image-mobile{height:220px}@media screen and (min-width: 1600px){.card-image{height:250px}}.card-content{padding:16px}.card-content-mobile{padding:16px 20px}@media screen and (min-width: 1600px){.card-content{padding:20px 24px}}.card-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;background:linear-gradient(135deg,#22c55e,#16a34a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-title-mobile{font-size:1.25rem}@media screen and (min-width: 1600px){.card-title{font-size:1.35rem;margin-bottom:.75rem}}.card-description{font-size:.875rem;color:#0009}.card-description-mobile{font-size:1rem}@media screen and (min-width: 1600px){.card-description{font-size:1rem}}@media screen and (max-width: 600px){.scrollable-container{overflow-x:hidden;flex-wrap:wrap;justify-content:space-between}.scrollable-container .product-item{flex:0 0 calc(33.333% - .5rem);min-width:auto}.card-image-mobile{height:auto;padding-top:56.25%;background-position:center}.card{margin-bottom:1rem}}@media (max-width: 768px){.main-content{padding-top:0}.main-container{scroll-behavior:smooth}.mobile-spacing{padding:0 1rem;margin-bottom:1rem}.scan-button-container{margin-top:2rem;padding:0 1rem}}@media (max-width: 480px){.search-container{margin:0 .75rem!important;max-width:calc(100% - 1.5rem)!important}}.profile-page{padding:1.5rem 0}.profile-header{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #e2e8f0;border-radius:16px;padding:2rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.profile-info-container{display:flex;align-items:center;gap:2rem}.profile-info-container.mobile{flex-direction:column;text-align:center}.avatar-container{position:relative}.profile-avatar{width:120px!important;height:120px!important;border:4px solid #ffffff;background:linear-gradient(135deg,#667eea,#764ba2)!important;font-size:2rem!important;position:relative}.profile-avatar:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);z-index:-1}.edit-avatar-button{position:absolute!important;bottom:0!important;right:0!important;min-width:36px!important;width:36px!important;height:36px!important;border-radius:50%!important;padding:0!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border:2px solid #ffffff!important}.profile-details{flex:1}.profile-details.mobile{text-align:center}.profile-name{font-size:2.5rem!important;font-weight:700!important;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem!important}.profile-email{color:#64748b!important;font-size:1.1rem!important;margin-bottom:1rem!important}.profile-meta{color:#64748b!important;font-size:.95rem!important;margin-bottom:.25rem!important}.profile-actions{margin-top:1.5rem!important;display:flex;gap:.75rem;flex-wrap:wrap}.profile-actions.mobile{justify-content:center}.action-button{border-radius:12px!important;padding:.75rem 1.5rem!important;font-weight:600!important;text-transform:none!important;border:2px solid transparent!important;transition:all .3s ease!important}.primary-action{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important}.primary-action:hover{transform:translateY(-2px);border-color:#667eea!important}.secondary-action{background:#fff!important;color:#667eea!important;border-color:#e2e8f0!important}.secondary-action:hover{border-color:#667eea!important;background:#f8fafc!important}.logout-action{background:#fff!important;color:#ef4444!important;border-color:#fecaca!important}.logout-action:hover{background:#fef2f2!important;border-color:#ef4444!important;transform:translateY(-2px)}.stats-container{margin-bottom:2rem}.stats-grid{display:flex;gap:1.5rem;flex-wrap:wrap}.stat-item{flex:1 1 300px;min-width:200px}.stat-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;transition:all .3s ease;overflow:hidden;position:relative}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb)}.stat-card:hover{transform:translateY(-4px);border-color:#cbd5e1}.stat-card-content{text-align:center!important;padding:2rem 1.5rem!important}.stat-icon{font-size:2.5rem!important;margin-bottom:1rem!important}.stat-title{font-size:1.1rem!important;font-weight:600!important;color:#475569!important;margin-bottom:.5rem!important}.stat-value{font-size:2.25rem!important;font-weight:700!important}.account-details{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:2rem;position:relative;overflow:hidden}.account-details:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669)}.account-details-title{font-size:1.5rem!important;font-weight:700!important;color:#1e293b!important;margin-bottom:1.5rem!important}.detail-item{margin-bottom:1.5rem}.detail-item:last-child{margin-bottom:0}.detail-label{font-size:.95rem!important;color:#64748b!important;margin-bottom:.25rem!important;font-weight:500!important}.detail-value{font-size:1.1rem!important;color:#1e293b!important;font-weight:600!important}.details-grid{display:flex;gap:1.5rem;flex-wrap:wrap}.detail-column{flex:1 1 250px}.loading-container{padding:3rem 0;display:flex;justify-content:center}.error-alert{margin:2rem 0;border-radius:12px!important;border:2px solid #fecaca!important;background:#fef2f2!important}@media (max-width: 600px){.profile-page{padding:1rem 0}.profile-header{padding:1.5rem;margin-bottom:1.5rem}.profile-name{font-size:2rem!important}.profile-actions{flex-direction:column;align-items:stretch}.action-button{width:100%}.account-details{padding:1.5rem}}@media (min-width: 1600px){.profile-header{padding:3rem}.profile-avatar{width:140px!important;height:140px!important;font-size:2.5rem!important}.profile-name{font-size:3rem!important}.account-details{padding:3rem}}.compare-dialog-content{min-width:600px;padding:24px}.compare-autocomplete-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:8px 12px}.compare-option-name{font-weight:500;color:#333}.compare-divider{margin:24px 0}.compare-product-header{text-align:center;position:relative;padding:8px}.compare-product-header-with-close{display:flex;flex-direction:column;align-items:center;position:relative}.compare-close-button{position:absolute;top:-8px;right:-8px;background-color:#fff;box-shadow:0 2px 4px #0000001a}.compare-close-button:hover{background-color:#ffebee}.compare-rating-container{display:flex;align-items:center;justify-content:center;gap:8px;flex-direction:column}.compare-tags-container{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.compare-tag{font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:500;display:inline-block}.compare-tag-current{background-color:#22c55e1f;color:#16a34a;border:1px solid rgba(34,197,94,.3)}.compare-tag-comparing{background-color:#9c27b01f;color:#9c27b0;border:1px solid rgba(156,39,176,.3)}@media (max-width: 768px){.compare-dialog-content{min-width:unset;padding:16px}.compare-product-header{padding:4px}.compare-rating-container{gap:4px}.compare-tag{font-size:.6rem;padding:1px 6px}.compare-close-button{top:-4px;right:-4px}}@media (max-width: 600px){.compare-dialog-content{padding:12px}.compare-divider{margin:16px 0}.compare-autocomplete-option{padding:6px 8px}.compare-tags-container{gap:2px}.hidden-scan-button{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}}.item-page{min-height:100vh;background-color:#f5f5f5}.item-image-placeholder{background:linear-gradient(135deg,#22c55e,#16a34a);display:flex;align-items:center;justify-content:center;height:300px;border-radius:8px 8px 0 0;color:#fff}.item-rating-container{display:flex;align-items:center;justify-content:center;padding:20px}.item-action-buttons{display:flex;justify-content:space-around;padding:16px 0;border-bottom:1px solid #e0e0e0}.item-barcode{background-color:#f8f9fa;padding:16px;text-align:center;border-radius:8px;margin-top:16px;border:2px dashed #ddd}.item-ingredients-list{max-height:300px;overflow-y:auto}.item-section-card{margin-bottom:24px;box-shadow:none;border:2px solid #e2e8f0;border-radius:12px;position:relative;overflow:hidden}.item-section-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#22c55e,#16a34a,#15803d)}.item-header{background:linear-gradient(135deg,#fff,#f8f9fa);padding:24px;border-radius:12px;margin-bottom:24px}.loading-container{display:flex;justify-content:center;align-items:center;min-height:50vh}@media (max-width: 768px){.item-header{padding:16px}.item-rating-container{flex-direction:column;gap:16px}.item-action-buttons{flex-wrap:wrap;gap:8px}}.scan-button-pulse{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #22c55eb3}70%{transform:scale(1.05);box-shadow:0 0 0 10px #22c55e00}to{transform:scale(1);box-shadow:0 0 #22c55e00}}.ingredient-item{transition:background-color .2s ease}.ingredient-item:hover{background-color:#f5f5f5}.allergen-warning{color:#ff9800}.ingredient-safe{color:#4caf50}#root{width:100%;height:100vh;margin:0;padding:0;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover,.logo.react:hover{filter:drop-shadow(0 0 2em #22c55e)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
