@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
@keyframes pulse{0%,to{box-shadow:0 4px 8px rgba(0,0,0,.15)}50%{box-shadow:0 4px 8px rgba(0,0,0,.15),0 0 0 8px rgba(42,157,143,.2)}}@keyframes shimmer{0%,to{background-position:0 0}50%{background-position:100% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.title{color:#111827;letter-spacing:-.025em;margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}@media (min-width:768px){.title{font-size:2rem}}@media (min-width:1024px){.title{font-size:2.5rem}}.subtitle{color:#4b5563;margin:0;font-size:.875rem;font-weight:400;line-height:1.5}@media (min-width:768px){.subtitle{font-size:1rem}}.header__left .subtitle{margin-top:.25rem}@media (min-width:641px){.header__left .subtitle{margin-top:0}}.button{text-align:center;box-sizing:border-box;cursor:pointer;white-space:nowrap;border:2px solid transparent;border-radius:.75rem;justify-content:center;align-items:center;min-height:44px;padding:calc(.75rem + 2px) calc(1.5rem + 2px);font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-flex}.button>*{align-items:center;line-height:1.2;display:inline-flex}.button:hover{text-decoration:none}.button:disabled{opacity:.5;cursor:not-allowed}.button--large{min-height:52px;padding:1rem 2rem;font-size:1rem;line-height:1.2}.button--large i{margin-right:.5rem}.button--small{min-width:100px;min-height:36px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.2}@media (max-width:640px){.button--small{min-width:90px;min-height:34px;padding:.4375rem .875rem;font-size:.8125rem}}@media (min-width:768px){.button--small{min-width:110px}}.button--full-width{justify-content:center;width:100%}.button--fixed-height{height:48px;min-height:48px}.button--primary{text-align:center;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:#fff;background-color:#264653;border:2px solid transparent;border-radius:.75rem;justify-content:center;align-items:center;min-height:44px;padding:calc(.75rem + 2px) calc(1.5rem + 2px);font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.button--primary>*{align-items:center;line-height:1.2;display:inline-flex}.button--primary:hover{text-decoration:none}.button--primary:disabled{opacity:.5;cursor:not-allowed}.button--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.button--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.button--primary:hover:not(:disabled){background-color:#23404c}.button--primary.button--selected{background-color:#2a9d8f}.button--primary.button--selected:hover:not(:disabled){background-color:#279084}.button--success{text-align:center;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:#fff;background-color:#2a9d8f;border:2px solid transparent;border-radius:.75rem;justify-content:center;align-items:center;min-height:44px;padding:calc(.75rem + 2px) calc(1.5rem + 2px);font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.button--success>*{align-items:center;line-height:1.2;display:inline-flex}.button--success:hover{text-decoration:none}.button--success:disabled{opacity:.5;cursor:not-allowed}.button--success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.button--success:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.button--success:hover:not(:disabled){background-color:#279084}.button--danger{text-align:center;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:#fff;background-color:#e76f51;border:2px solid transparent;border-radius:.75rem;justify-content:center;align-items:center;min-height:44px;padding:calc(.75rem + 2px) calc(1.5rem + 2px);font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.button--danger>*{align-items:center;line-height:1.2;display:inline-flex}.button--danger:hover{text-decoration:none}.button--danger:disabled{opacity:.5;cursor:not-allowed}.button--danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.button--danger:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.button--danger:hover:not(:disabled){background-color:#e45d3b}.button--secondary{text-align:center;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:#fff;background-color:#4b5563;border:2px solid transparent;border-radius:.75rem;justify-content:center;align-items:center;min-height:44px;padding:calc(.75rem + 2px) calc(1.5rem + 2px);font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.button--secondary>*{align-items:center;line-height:1.2;display:inline-flex}.button--secondary:hover{text-decoration:none}.button--secondary:disabled{opacity:.5;cursor:not-allowed}.button--secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.button--secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.button--secondary:hover:not(:disabled){background-color:#374151}.button--outline{text-align:center;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:#264653;min-height:44px;box-shadow:none;background-color:transparent;border:2px solid #264653;border-radius:.75rem;justify-content:center;align-items:center;padding:calc(.75rem + 2px) calc(1.5rem + 2px);font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-flex}.button--outline>*{align-items:center;line-height:1.2;display:inline-flex}.button--outline:hover{text-decoration:none}.button--outline:disabled{opacity:.5;cursor:not-allowed}.button--outline:hover:not(:disabled){color:#fff;background-color:#264653;transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.button--outline:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.button--outline.button--outline-gray{color:#4b5563;border-color:#9ca3af}.button--outline.button--outline-gray:hover:not(:disabled){color:#fff;background-color:#4b5563;border-color:#4b5563}.recommendation-section{box-sizing:border-box;background-color:#fff;border-radius:1rem;width:100%;max-width:100%;height:-moz-fit-content;height:fit-content;margin-bottom:1.5rem;padding:1rem;transition:box-shadow .2s,transform .2s;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.recommendation-section:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.recommendation-section--full-width{grid-column:1/-1}.recommendation-section--collapsed .recommendation-section__header{border-bottom:none;margin-bottom:0;padding-bottom:0}.recommendation-section--collapsed .recommendation-section__content{display:none}.recommendation-section__header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.recommendation-section__header--clickable{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;border-bottom:none;border-radius:.5rem;margin:-.5rem -.5rem .5rem;padding:.5rem;transition:opacity .2s,background-color .2s}.recommendation-section__header--clickable:hover{opacity:.9;background-color:#f9fafb}.recommendation-section__header-text{color:#1f2937;font-size:1rem;font-weight:600}@media (min-width:768px){.recommendation-section__header-text{font-size:1.125rem}}.recommendation-section__collapse-icon{color:#6b7280;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:auto;padding-left:.75rem;font-size:.875rem;transition:transform .3s,color .2s;display:flex}.recommendation-section__collapse-icon:hover{color:#374151}.recommendation-section__collapse-icon--collapsed{transform:rotate(0)}.recommendation-section__collapse-icon--expanded{transform:rotate(90deg)}.recommendation-section__content{transition:max-height .3s ease-out,opacity .2s;overflow:hidden}.recommendation-section__products-list{box-sizing:border-box;grid-template-columns:1fr;gap:1rem;width:100%;max-width:100%;display:grid}@media (min-width:768px){.recommendation-section__products-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (min-width:1024px){.recommendation-section__products-list{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}.recommendation-section__product-item{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-bottom:0}.recommendation-section__empty-state{text-align:center;padding:2rem 1rem}.recommendation-section__empty-text{color:#374151;margin-bottom:.5rem;font-size:1rem;font-weight:600}.recommendation-section__empty-description{color:#4b5563;max-width:24rem;margin:0 auto;font-size:.875rem;line-height:1.5}.product-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;flex-direction:column;flex:1;gap:1rem;min-height:140px;padding:1rem;transition:box-shadow .2s;display:flex;box-shadow:0 1px 2px rgba(0,0,0,.05)}.product-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.product-card__link{color:inherit;flex:1;min-height:0;text-decoration:none;display:flex}.product-card__link:hover{text-decoration:none}.product-card__main{flex:1;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.product-card__image{background-color:#f9fafb;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex;overflow:hidden}.product-card__image .product-image{object-fit:contain;width:100%;height:100%}@media (max-width:640px){.product-card__image{width:100px;height:100px}}.product-card__content{flex-direction:column;flex:1;justify-content:flex-start;gap:.5rem;min-width:0;display:flex;overflow:hidden}.product-card__title{color:#111827;text-overflow:ellipsis;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;width:100%;margin:0 0 .5rem;font-size:1.125rem;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.product-card__price-container{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.product-card__price-wrapper{flex-direction:column;gap:.25rem;display:flex}.product-card__price{color:#264653;font-size:2rem;font-weight:700;line-height:1}@media (min-width:768px){.product-card__price{font-size:2.5rem}}@media (min-width:1024px){.product-card__price{font-size:3rem}}.product-card__previous-price-container{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.product-card__previous-price{color:#6b7280;font-size:.875rem;font-weight:500;line-height:1.2;text-decoration:line-through}@media (min-width:768px){.product-card__previous-price{font-size:1rem}}.product-card__price-chip{border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}@media (min-width:768px){.product-card__price-chip{padding:.375rem .625rem;font-size:.875rem}}.product-card__price-chip--save{color:#2a9d8f;background-color:rgba(42,157,143,.1);border:1px solid rgba(42,157,143,.2)}.product-card__price-chip--more{color:#e76f51;background-color:rgba(231,111,81,.1);border:1px solid rgba(231,111,81,.2)}.product-card__best-price-badge{color:#fff;text-transform:uppercase;letter-spacing:.025em;background-color:#2a9d8f;border-radius:8px;align-self:flex-start;padding:.125rem .5rem;font-size:.625rem;font-weight:600;line-height:1.4;display:inline-block}@media (min-width:768px){.product-card__best-price-badge{padding:.25rem .625rem;font-size:.75rem}}.product-card__supplier-count{color:#4b5563;margin-top:.25rem;font-size:.75rem;font-weight:500}@media (min-width:768px){.product-card__supplier-count{font-size:.875rem}}.product-card__supplier{flex-shrink:0;align-items:center;display:flex}.product-card__supplier .supplier-logo{justify-content:center;align-items:center;width:70px;height:50px;display:flex}.product-card__supplier .supplier-logo img{object-fit:contain;border-radius:8px;width:auto;max-width:70px;height:50px}.product-card__supplier .supplier-logo .supplier-fallback{color:#374151;background-color:#f3f4f6;border-radius:6px;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:.5rem;font-size:.75rem;font-weight:600;display:flex}.product-card__supplier .supplier-logo .supplier-fallback.fallback-hidden{display:none}.product-card__suppliers{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.product-card__suppliers .product-card__supplier .supplier-logo{justify-content:center;align-items:center;width:60px;height:40px;display:flex}.product-card__suppliers .product-card__supplier .supplier-logo img{object-fit:contain;border-radius:6px;width:auto;max-width:60px;height:40px}.product-card__price-range{color:#6b7280;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;display:flex}.product-card__price-range .price-range-min{color:#2a9d8f}.product-card__price-range .price-range-separator{color:#9ca3af}.product-card__price-range .price-range-max{color:#e76f51}.product-card__no-price{color:#6b7280;margin:0;font-size:1rem;font-style:italic}.product-card__days{color:#4b5563;flex-shrink:0;font-size:.875rem;font-weight:500}.product-card__recommendation{border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:center;width:100%;margin-top:.5rem;padding-top:.75rem;display:flex}.form__group{margin-bottom:1rem}.form__label{color:#374151;margin-bottom:.25rem;font-size:.875rem;font-weight:500;display:block}.form__input{border:1px solid #d1d5db;border-radius:.5rem;width:100%;padding:.5rem .75rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form__input:focus{border-color:#264653;outline:none;box-shadow:0 0 0 3px rgba(38,70,83,.1)}.form__actions{text-align:center;margin-top:2rem}.input-container{width:100%;position:relative}.input-container .form__input{box-sizing:border-box;width:100%;padding-right:5.5rem}.input-container__icon{color:#9ca3af;pointer-events:none;font-size:1.25rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.input-container__scan-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#264653;border:none;border-radius:.375rem;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;transition:all .2s;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.input-container__scan-button:hover{background-color:#23404c;transform:translateY(-50%)translateY(-1px)}.input-container__scan-button:active{transform:translateY(-50%)}.supported-retailers{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.supported-retailers h4{color:#374151;text-align:center;margin-bottom:1rem;font-size:1rem;font-weight:600}.supported-retailers__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.supported-retailers__item{text-align:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;display:flex}.supported-retailers__item-icon{margin-bottom:.5rem;font-size:2rem}.supported-retailers__item-name{color:#374151;font-size:.875rem;font-weight:600}.supported-retailers__item-status{color:#2a9d8f;font-size:.75rem;font-weight:500}.barcode-scanner-modal{z-index:1000;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.barcode-scanner-modal__overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(0,0,0,.75);position:absolute;top:0;bottom:0;left:0;right:0}.barcode-scanner-modal__container{background-color:#fff;border-radius:1rem;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.barcode-scanner-modal__header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.barcode-scanner-modal__title{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.barcode-scanner-modal__close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:.25rem;font-size:1.5rem;line-height:1;transition:all .2s;display:flex}.barcode-scanner-modal__close:hover{color:#374151;background-color:#f3f4f6}.barcode-scanner-modal__content{flex-direction:column;flex:1;display:flex;overflow:hidden}.barcode-scanner-modal__video-container{aspect-ratio:4/3;background-color:#000;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.barcode-scanner-modal__video{object-fit:cover;width:100%;height:100%}.barcode-scanner-modal__overlay-indicator{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.barcode-scanner-modal__scanning-line{background:linear-gradient(90deg,transparent,#2a9d8f,transparent);height:2px;margin-bottom:1rem;animation:2s ease-in-out infinite scanning-line;position:absolute;left:10%;right:10%}.barcode-scanner-modal__scanning-text{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);background-color:rgba(0,0,0,.5);border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.barcode-scanner-modal__actions{border-top:1px solid #e5e7eb;justify-content:center;padding:1.5rem;display:flex}.barcode-scanner-modal__error{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:2rem;display:flex}.barcode-scanner-modal__error-icon{margin-bottom:1rem;font-size:3rem}.barcode-scanner-modal__error-message{color:#4b5563;margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}@keyframes scanning-line{0%{opacity:.3;top:20%}50%{opacity:1;top:80%}to{opacity:.3;top:20%}}.loading-container{text-align:center;padding:2rem 1rem}.loading-container__text{color:#6b7280;font-size:.875rem}.loading-container__spinner{border:3px solid #e5e7eb;border-top-color:#264653;border-radius:50%;width:3rem;height:3rem;margin:0 auto 1rem;animation:1s linear infinite spin}.loading-container__spinner--success{border-top-color:#2a9d8f}.error-container{text-align:center;background-color:rgba(231,111,81,.05);border:1px solid rgba(231,111,81,.2);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem}.error-container__text{color:#e76f51;margin-bottom:1rem;font-size:.875rem}.error-container__content{align-items:flex-start;gap:1rem;display:flex}.error-container__icon{flex-shrink:0;margin-top:.125rem;font-size:1.5rem}.error-container__details{text-align:left;flex:1}.error-container__title{color:#e76f51;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.error-container__message{color:#374151;margin:0;font-size:.875rem;line-height:1.4}.error-container__dismiss{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;padding:.25rem;font-size:1.25rem;transition:all .2s}.error-container__dismiss:hover{color:#4b5563;background-color:rgba(156,163,175,.1)}.error-container__dismiss:focus{outline:none;box-shadow:0 0 0 2px rgba(231,111,81,.2)}.empty-state{text-align:center;padding:2rem 1rem}.empty-state__icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.empty-state__text{color:#374151;margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.empty-state__description{color:#4b5563;max-width:24rem;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;font-size:.875rem}.empty-state__actions{flex-direction:column;align-items:center;gap:.75rem;display:flex}@media (min-width:480px){.empty-state__actions{flex-direction:row;justify-content:center}}.empty-state__actions-row{flex-direction:column;align-items:center;gap:.75rem;display:flex}@media (min-width:480px){.empty-state__actions-row{flex-direction:row;justify-content:center}}.message{border-radius:.5rem;margin-top:1.5rem;padding:1rem}.message--success{color:#2a9d8f;background-color:rgba(42,157,143,.1);border:1px solid rgba(42,157,143,.2)}.message--error{color:#e76f51;background-color:rgba(231,111,81,.1);border:1px solid rgba(231,111,81,.2)}.message__content{align-items:center;gap:.5rem;display:flex}.message__icon{flex-shrink:0;font-size:1.25rem}.message__text{font-weight:500}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:.75rem;width:calc(100% - 2rem);max-width:400px;display:flex;position:fixed;bottom:1rem;left:1rem}@media (max-width:480px){.toast-container{width:auto;max-width:none;bottom:.75rem;left:.75rem;right:.75rem}}.toast{pointer-events:auto;background-color:#fff;border-radius:.5rem;padding:1rem;transition:opacity .3s ease-out,transform .3s ease-out;animation:.3s ease-out slideInLeft;box-shadow:0 4px 16px rgba(0,0,0,.2)}.toast--exiting{opacity:0;animation:.3s ease-in slideOutLeft;transform:translate(-100%)}.toast--success{color:#2a9d8f;background-color:#eaf5f4;border:1px solid #d4ebe9}.toast--success .toast__icon{color:#2a9d8f}.toast--error{color:#e76f51;background-color:#fdf1ee;border:1px solid #fae2dc}.toast--error .toast__icon{color:#e76f51}.toast__content{align-items:flex-start;gap:.75rem;display:flex}.toast__icon{flex-shrink:0;margin-top:.125rem;font-size:1.25rem;line-height:1}.toast__message{color:inherit;flex:1;font-size:.875rem;font-weight:600;line-height:1.4}.toast__dismiss{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;font-size:1.125rem;line-height:1;transition:all .2s;display:flex}.toast__dismiss:hover{opacity:1;background-color:rgba(0,0,0,.05)}.toast__dismiss:focus{outline:none;box-shadow:0 0 0 2px rgba(38,70,83,.2)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.product-info__details{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}@media (min-width:768px){.product-info__details{gap:2rem}}@media (min-width:1024px){.product-info__details{gap:3rem}}.product-info__image-container{background-color:#f9fafb;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex;overflow:hidden}@media (max-width:640px){.product-info__image-container{width:80px;height:80px}}.product-info__image{object-fit:contain;width:100%;height:100%}.product-info__price-section{flex-shrink:0}@media (max-width:640px){.product-info__price-section{min-width:0}}.product-info__price-primary{color:#264653;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}@media (min-width:768px){.product-info__price-primary{font-size:2.5rem}}@media (min-width:1024px){.product-info__price-primary{font-size:3rem}}.product-info__price-meta{color:#4b5563;font-size:.8125rem}@media (min-width:768px){.product-info__price-meta{font-size:.875rem}}.product-info__price-days{color:#1f2937;margin-top:.25rem;font-size:1rem;font-weight:600;display:block}@media (min-width:768px){.product-info__price-days{font-size:1.25rem}}.product-info__price-average-days{color:#4b5563;margin-top:.25rem;font-size:.875rem;font-weight:500;display:block}@media (min-width:768px){.product-info__price-average-days{font-size:1rem}}.product-info__no-price{color:#6b7280;font-size:1.25rem;font-style:italic}.product-info__price-recommendation{flex:1;justify-content:center;align-items:center;display:flex}.product-info__suppliers-list{flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;display:flex}.product-info__supplier-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:1rem;padding:1rem;display:flex;position:relative}.product-info__supplier-item--cheapest{border-width:2px;border-color:#2a9d8f}@media (max-width:640px){.product-info__supplier-item{flex-wrap:wrap;gap:.75rem;padding:2.5rem .875rem .875rem}.product-info__supplier-item>.product-info__image-container{flex:none;order:1}.product-info__supplier-item>.product-info__price-section{flex:1;order:2;min-width:0}.product-info__supplier-item>.product-info__supplier-info{flex:none;order:3;align-self:center}.product-info__supplier-item>.product-info__price-recommendation{flex:100%;order:4;justify-content:center;width:100%;margin-top:.25rem}}.product-info__supplier-logo-link{justify-content:center;align-items:center;text-decoration:none;transition:opacity .2s;display:flex}.product-info__supplier-logo-link:hover{opacity:.8}.product-info__supplier-logo-link .supplier-logo{justify-content:center;align-items:center;width:80px;height:60px;display:flex}@media (max-width:640px){.product-info__supplier-logo-link .supplier-logo{width:80px;height:80px}}.product-info__supplier-logo-link .supplier-logo img{object-fit:contain;border-radius:8px;width:auto;max-width:80px;height:60px}@media (max-width:640px){.product-info__supplier-logo-link .supplier-logo img{max-width:80px;height:80px}}.product-info__supplier-info{text-align:center;color:#4b5563;flex-direction:column;flex-shrink:0;align-items:center;gap:.75rem;width:200px;margin-left:auto;font-size:.875rem;display:flex}@media (max-width:640px){.product-info__supplier-info{flex-direction:row;gap:.5rem;width:auto;margin-left:0}}.product-info__supplier-info .supplier-logo{justify-content:center;align-items:center;height:60px;display:flex}.product-info__supplier-info .supplier-logo img{object-fit:contain;border-radius:8px;width:auto;height:60px}.product-info__supplier-logo{justify-content:center;align-items:center;height:80px;display:flex}.product-info__supplier-logo img{object-fit:contain;border-radius:8px;width:auto;height:80px}.product-info__supplier-fallback{color:#1f2937;font-size:.75rem;font-weight:600}.product-info__supplier-fallback--hidden{display:none}.product-info__supplier-link{color:#fff;text-align:center;white-space:nowrap;background-color:#f4a261;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}@media (max-width:640px){.product-info__supplier-link{display:none}}.product-info__supplier-link:hover{background-color:#f4a261;transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.product-info__supplier-link:active{transform:translateY(0)}.product-info__meta{color:#6b7280;justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.supplier-selector{margin-bottom:1.5rem}.supplier-selector__tabs{border-bottom:2px solid #e5e7eb;flex-wrap:wrap;gap:.75rem;padding-bottom:.5rem;display:flex}@media (max-width:640px){.supplier-selector__tabs{gap:.5rem}}.supplier-selector__tab{color:#374151;cursor:pointer;background:#fff;border:2px solid #d1d5db;border-radius:.5rem;align-items:center;gap:.5rem;min-height:44px;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;position:relative}@media (max-width:640px){.supplier-selector__tab{gap:.375rem;padding:.625rem .75rem;font-size:.8125rem}}.supplier-selector__tab:hover:not(.supplier-selector__tab--active){color:#264653;border-color:#264653;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.supplier-selector__tab--active{color:#fff;background:#264653;border-color:#264653;box-shadow:0 2px 8px rgba(38,70,83,.3)}.supplier-selector__tab--active .supplier-selector__name{color:#fff}.supplier-selector__tab:focus{outline:none;box-shadow:0 0 0 3px rgba(38,70,83,.2)}.supplier-selector__logo{flex-shrink:0;justify-content:center;align-items:center;height:24px;display:flex}.supplier-selector__logo img{object-fit:contain;width:auto;height:24px}@media (max-width:640px){.supplier-selector__logo{height:20px}.supplier-selector__logo img{width:auto;height:20px}}.supplier-selector__name{white-space:nowrap;font-weight:600}@media (max-width:640px){.supplier-selector__name{font-size:.75rem}}.supplier-selector__badge{color:#fff;text-transform:uppercase;letter-spacing:.025em;z-index:1;background:#2a9d8f;border-radius:8px;padding:.125rem .375rem;font-size:.625rem;font-weight:700;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 4px rgba(0,0,0,.2)}@media (max-width:640px){.supplier-selector__badge{padding:.125rem .25rem;font-size:.5625rem;top:-6px;right:-6px}}.price-chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-top:1rem;padding:24px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.price-chart__chart-stats{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;display:flex}@media (max-width:640px){.price-chart__chart-stats{flex-direction:column;align-items:flex-start;gap:.75rem}}.price-chart__stat-item{align-items:center;gap:.5rem;font-size:.875rem;display:flex}@media (min-width:768px){.price-chart__stat-item{font-size:1rem}}.price-chart__stat-emoji{font-size:1.25rem}.price-chart__stat-label{color:#4b5563;font-weight:500}.price-chart__stat-value{color:#111827;font-weight:600}.price-chart__chart-legend{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;padding:1rem;display:flex}@media (max-width:640px){.price-chart__chart-legend{gap:.75rem;padding:.75rem}}.price-chart__legend-item{flex-shrink:0;align-items:center;gap:.5rem;font-size:.875rem;display:flex}@media (min-width:768px){.price-chart__legend-item{font-size:1rem}}.price-chart__legend-item .supplier-logo.supplier-logo-small{flex-shrink:0;justify-content:center;align-items:center;width:60px;height:32px;display:flex}.price-chart__legend-item .supplier-logo.supplier-logo-small img{object-fit:contain;width:auto;max-width:60px;height:32px}@media (max-width:640px){.price-chart__legend-item .supplier-logo.supplier-logo-small img{max-width:50px;height:28px}}.price-chart__legend-color{border:1px solid rgba(0,0,0,.1);border-radius:.25rem;flex-shrink:0;width:24px;height:24px}.price-chart__legend-label{color:#374151;font-weight:500}.price-chart__chart-container{flex-direction:column;width:100%;display:flex;overflow-x:auto}.price-chart__chart-bars{justify-content:center;align-items:flex-end;gap:.5rem;width:100%;height:25vh;min-height:200px;max-height:400px;padding:1rem 0;display:flex}@media (min-width:768px){.price-chart__chart-bars{gap:.75rem;height:30vh}}@media (min-width:1024px){.price-chart__chart-bars{gap:1rem;height:35vh}}.price-chart__chart-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:50px;max-width:80px;height:100%;display:flex}@media (min-width:768px){.price-chart__chart-column{min-width:60px;max-width:100px}}@media (min-width:1024px){.price-chart__chart-column{min-width:70px;max-width:120px}}.price-chart__price-label{color:#1f2937;text-align:center;justify-content:center;align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:flex}.price-chart__price-label .supplier-indicator{align-items:center;display:inline-flex}.price-chart .supplier-logo.supplier-logo-small{justify-content:center;align-items:center;width:40px;height:32px;display:flex}.price-chart .supplier-logo.supplier-logo-small img{object-fit:contain;width:auto;max-width:40px;height:32px}.price-chart__price-bar{background-color:var(--bar-color,#f4a261);width:100%;min-height:40px;height:var(--bar-height,0%);border-radius:.25rem .25rem 0 0;transition:height .3s}.price-chart__date-label{color:#374151;text-align:center;margin-top:.5rem;font-size:.75rem;font-weight:500}.price-chart__days-label{color:#4b5563;text-align:center;margin-top:.25rem;font-size:.625rem}.recommendation-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-size:16px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 8px rgba(0,0,0,.15)}.recommendation-badge:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,.2)}.recommendation-badge--buy-now{background:#2a9d8f;animation:2s infinite pulse}.recommendation-badge--consider{background:#e9c46a}.recommendation-badge--wait{background:#e76f51}.recommendation-badge--stable{background:#264653}.recommendation-badge--loading,.recommendation-badge--error,.recommendation-badge--default{background-color:#6b7280}.recommendation-badge__icon{font-size:20px}.recommendation-badge__text{font-size:14px}.status-badge{border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.status-badge--success{color:#2a9d8f;background-color:rgba(42,157,143,.1);border:1px solid rgba(42,157,143,.2)}.cheapest-badge{color:#fff;z-index:1;background:#2a9d8f;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;position:absolute;top:.5rem;left:.5rem}@media (max-width:640px){.cheapest-badge{padding:.25rem .625rem;font-size:.6875rem;top:.375rem;left:.375rem}}.buy-recommendation__loading{text-align:center;color:#6b7280;padding:40px 20px;font-size:14px}.buy-recommendation__error{text-align:center;color:#e76f51;background:rgba(231,111,81,.1);border:1px solid rgba(231,111,81,.2);border-radius:8px;padding:20px;font-size:14px}.buy-recommendation__stable-price-container{text-align:center;background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.buy-recommendation__stable-price-indicator{justify-content:center;align-items:center;gap:12px;margin-bottom:12px;display:flex}.buy-recommendation__stable-price-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:24px}.buy-recommendation__stable-price-text{color:#1f2937;letter-spacing:.025em;font-size:18px;font-weight:700}.buy-recommendation__stable-price-note{color:#6b7280;font-size:14px;font-weight:500;line-height:1.5}.buy-recommendation__analysis-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.buy-recommendation__recommendation-section{border-bottom:1px solid #f3f4f6;padding:24px}.buy-recommendation__recommendation-text{color:#374151;margin-bottom:20px;font-size:16px;line-height:1.5}.buy-recommendation__range-visualization{margin-top:16px}.buy-recommendation__range-bar{background:linear-gradient(90deg,#2a9d8f 0%,#e9c46a 50%,#e76f51 100%);border-radius:4px;width:100%;height:8px;margin:0 0 12px;position:relative;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.buy-recommendation__range-indicator{z-index:2;width:16px;height:16px;top:-4px;left:var(--indicator-position,50%);border:3px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%);box-shadow:0 2px 4px rgba(0,0,0,.2)}.buy-recommendation__range-indicator--buy-now{background-color:#2a9d8f}.buy-recommendation__range-indicator--consider{background-color:#e9c46a}.buy-recommendation__range-indicator--wait{background-color:#e76f51}.buy-recommendation__range-indicator--stable{background-color:#264653}.buy-recommendation__range-indicator--default{background-color:#6b7280}.buy-recommendation__range-labels{color:#6b7280;justify-content:space-between;width:100%;margin-bottom:8px;font-size:12px;display:flex}.buy-recommendation__range-label{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;padding:2px 6px;font-weight:600}.buy-recommendation__range-zones{justify-content:space-between;width:100%;font-size:11px;font-weight:500;display:flex}.buy-recommendation__zone{text-align:center;flex:1}.buy-recommendation__zone--buy{color:#2a9d8f}.buy-recommendation__zone--consider{color:#e9c46a}.buy-recommendation__zone--wait{color:#e76f51}.buy-recommendation__insights-section{background:#f9fafb;padding:20px 24px}.buy-recommendation__confidence-info{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.buy-recommendation__confidence-badge{color:#fff;white-space:nowrap;background-color:#264653;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.buy-recommendation__confidence-reasoning{color:#6b7280;font-size:13px;line-height:1.4}.buy-recommendation__price-stats{flex-direction:column;gap:8px;display:flex}.buy-recommendation__stat-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.buy-recommendation__stat-row:last-child{border-bottom:none}.buy-recommendation__stat-label{color:#6b7280;font-size:14px;font-weight:500}.buy-recommendation__stat-value{color:#111827;font-size:14px;font-weight:600}.buy-recommendation__supplier-context{background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.buy-recommendation__supplier-context-label{color:#4b5563;font-weight:500}.buy-recommendation__supplier-context-name{color:#111827;font-weight:600}.buy-recommendation__supplier-context-price{color:#264653;margin-left:auto;font-size:15px;font-weight:700}@media (max-width:640px){.buy-recommendation__supplier-context{padding:10px 12px;font-size:13px}.buy-recommendation__supplier-context-price{width:100%;margin-left:0;font-size:14px}.buy-recommendation__recommendation-section,.buy-recommendation__insights-section{padding:16px}.buy-recommendation__confidence-info{flex-direction:column;align-items:flex-start;gap:8px}.buy-recommendation__stat-row{flex-direction:column;align-items:flex-start;gap:4px}}.header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}@media (max-width:640px){.header{flex-direction:column;align-items:stretch;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1rem}}.header__left{flex-flow:wrap;flex:1;align-items:center;gap:1rem;min-width:0;display:flex}@media (max-width:640px){.header__left{flex-direction:column;align-items:flex-start;gap:.75rem}}.header__right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}@media (max-width:640px){.header__right{justify-content:center;width:100%}}.header__right:empty{display:none}.header__nav-buttons{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}@media (max-width:640px){.header__nav-buttons{justify-content:center;gap:.5rem;width:100%}}@media (min-width:768px){.header__nav-buttons{gap:1rem}}.back-link{color:#264653;white-space:nowrap;cursor:pointer;background-color:rgba(38,70,83,.08);border:1px solid rgba(38,70,83,.2);border-radius:.5rem;align-items:center;gap:.5rem;padding:.625rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.back-link[type=button],.back-link:not(a){-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(38,70,83,.08);border:1px solid rgba(38,70,83,.2)}.back-link:before{content:"←";visibility:visible;opacity:1;flex-shrink:0;margin-right:.25rem;font-size:1rem;font-weight:700;line-height:1;transition:transform .2s cubic-bezier(.4,0,.2,1);display:inline-block}.back-link:hover{color:#fff;background-color:#264653;border-color:#264653;transform:translate(-2px);box-shadow:0 2px 8px rgba(38,70,83,.25)}.back-link:hover:before{transform:translate(-2px)}.back-link:active{transform:translate(0);box-shadow:0 1px 4px rgba(38,70,83,.2)}.back-link:focus-visible{outline-offset:2px;background-color:rgba(38,70,83,.12);outline:2px solid #264653}@media (max-width:640px){.back-link{padding:.5rem .875rem;font-size:.8125rem}.back-link:before{font-size:.9375rem}}.main{background-color:#f9fafb;min-height:100vh;padding:1rem}@media (min-width:768px){.main{padding:1.5rem}}@media (min-width:1024px){.main{padding:2rem}}.container{max-width:28rem;margin:0 auto}@media (min-width:768px){.container{max-width:48rem}}@media (min-width:1024px){.container{max-width:64rem}}@media (min-width:1280px){.container{max-width:80rem}}.section{background-color:#fff;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}.section__title{color:#1f2937;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.125rem;font-weight:600;display:flex}@media (min-width:768px){.section__title{font-size:1.5rem}}@media (min-width:1024px){.section__title{font-size:1.75rem}}.section__icon{font-size:1.25rem}@media (min-width:768px){.section__icon{font-size:1.5rem}}@media (min-width:1024px){.section__icon{font-size:1.75rem}}.section__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}@media (max-width:640px){.section__header{flex-direction:column;align-items:flex-start;gap:.5rem}}.section__header .section__title{margin-bottom:0}.section__subtitle{color:#4b5563;margin:-.5rem 0 1rem;font-size:.875rem;font-style:normal;font-weight:400;line-height:1.5}@media (min-width:768px){.section__subtitle{margin:-.75rem 0 1.25rem;font-size:.9375rem}}@media (max-width:640px){.section__subtitle{margin:-.375rem 0 1rem;font-size:.8125rem}}.section__meta{align-items:center;gap:.5rem;display:flex}@media (max-width:640px){.section__meta{width:100%}}.section__meta .product-count{color:#6b7280;background-color:#f3f4f6;border-radius:1rem;padding:.25rem .75rem;font-size:.875rem}.section__meta .user-count{color:#2a9d8f;background-color:rgba(42,157,143,.1);border-radius:1rem;padding:.25rem .75rem;font-size:.875rem}.section__meta-subtitle{color:#4b5563;margin:0;font-size:.875rem;font-weight:400;line-height:1.5}@media (min-width:768px){.section__meta-subtitle{font-size:1rem}}.products-grid{grid-template-columns:1fr;align-items:stretch;gap:1.5rem;display:grid}@media (min-width:768px){.products-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.products-grid{grid-template-columns:repeat(3,1fr)}}.products-grid__item{flex-direction:column;gap:.75rem;height:100%;min-height:200px;display:flex}.products-grid__actions{flex-shrink:0;justify-content:center;min-height:48px;display:flex}.actions-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:480px){.actions-grid{grid-template-columns:repeat(2,1fr)}}.login__page{justify-content:center;align-items:center;min-height:calc(100vh - 2rem);padding:2rem 1rem;display:flex}@media (min-width:768px){.login__page{padding:3rem 1.5rem}}.login__page .container{width:100%;max-width:28rem}.login__container{background:linear-gradient(135deg,#fff 0%,#f9fafb 100%);border-radius:1.5rem;padding:3rem 2rem;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 4px 6px -1px rgba(0,0,0,.05),0 0 0 1px rgba(0,0,0,.05)}.login__container:before{content:"";background:linear-gradient(90deg,#264653 0%,#2a9d8f 50%,#264653 100%) 0 0/200% 100%;height:4px;animation:3s ease-in-out infinite shimmer;position:absolute;top:0;left:0;right:0}@media (max-width:640px){.login__container{border-radius:1rem;padding:2rem 1.5rem}}.login__header{text-align:center;margin-bottom:2.5rem}.login__icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));margin-bottom:1.5rem;font-size:4rem;animation:3s ease-in-out infinite float;display:inline-block}.login__title{color:#111827;background:linear-gradient(135deg,#264653 0%,#2a9d8f 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.75rem;font-size:2rem;font-weight:700}@media (max-width:640px){.login__title{font-size:1.75rem}}.login__subtitle{color:#4b5563;max-width:24rem;margin:0 auto;font-size:1rem;line-height:1.6}@media (max-width:640px){.login__subtitle{font-size:.9375rem}}.login__features{background:linear-gradient(135deg,rgba(42,157,143,.05) 0%,rgba(38,70,83,.05) 100%);border:1px solid rgba(42,157,143,.1);border-radius:1rem;justify-content:center;gap:2rem;margin-bottom:2.5rem;padding:1.5rem;display:flex}@media (max-width:640px){.login__features{flex-direction:column;gap:1rem;padding:1.25rem}}.login__feature{text-align:center;flex-direction:column;flex:1;align-items:center;gap:.5rem;display:flex}@media (max-width:640px){.login__feature{text-align:left;flex-direction:row;justify-content:flex-start}}.login__feature-icon{margin-bottom:.25rem;font-size:1.75rem;display:block}@media (max-width:640px){.login__feature-icon{margin-bottom:0;margin-right:.75rem}}.login__feature-text{color:#374151;font-size:.875rem;font-weight:500;line-height:1.4}.login__loading{background-color:#f9fafb;justify-content:center;align-items:center;min-height:100vh;display:flex}.login__loading-content{text-align:center}.login__loading-spinner{border:3px solid rgba(38,70,83,.1);border-top-color:#264653;border-radius:50%;width:3rem;height:3rem;margin:0 auto 1rem;animation:.8s linear infinite spin}.login__loading-text{color:#4b5563;margin:0;font-size:1rem}.auth-options{flex-direction:column;gap:1rem;margin:2rem 0;display:flex}.auth-icon{flex-shrink:0;width:20px;height:20px}button .auth-icon{margin-right:.5rem}.auth-footer{text-align:center;border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.auth-disclaimer{color:#4b5563;margin:0;font-size:.875rem;line-height:1.5}.auth-link{color:#264653;font-weight:500;text-decoration:none;transition:color .2s}.auth-link:hover{color:#23404c;text-decoration:underline}.dashboard__header{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-top:2px;padding-bottom:1.5rem;position:relative;overflow:hidden}.dashboard__header:before{content:"";background:linear-gradient(90deg,#264653 0%,#2a9d8f 50%,#264653 100%) 0 0/200% 100%;height:3px;animation:3s ease-in-out infinite shimmer;position:absolute;bottom:0;left:0;right:0}.dashboard__title{color:#111827;letter-spacing:-.025em;background:linear-gradient(135deg,#264653 0%,#2a9d8f 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}@media (min-width:768px){.dashboard__title{font-size:2rem}}@media (min-width:1024px){.dashboard__title{font-size:2.5rem}}.dashboard__subtitle{color:#4b5563;margin:0;font-size:.875rem;font-weight:400;line-height:1.5}@media (min-width:768px){.dashboard__subtitle{font-size:1rem}}.header__left .dashboard__subtitle{margin-top:.25rem}@media (min-width:641px){.header__left .dashboard__subtitle{margin-top:0}}.dashboard__stats{background:linear-gradient(135deg,#fff 0%,#f9fafb 100%);border-radius:1rem;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem;padding:1.5rem;display:grid;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}@media (max-width:640px){.dashboard__stats{gap:1rem;padding:1rem}}.dashboard__stat{text-align:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;transition:transform .2s,box-shadow .2s}.dashboard__stat:hover{transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.dashboard__stat-value{color:#264653;margin-bottom:.5rem;font-size:2rem;font-weight:700;line-height:1}@media (min-width:768px){.dashboard__stat-value{font-size:2.5rem}}.dashboard__stat-label{color:#4b5563;font-size:.875rem;font-weight:500}.dashboard__loading{text-align:center;background-color:#fff;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;margin-bottom:2rem;padding:3rem 2rem;display:flex;box-shadow:0 1px 2px rgba(0,0,0,.05)}.dashboard__loading-spinner{border:3px solid rgba(38,70,83,.1);border-top-color:#264653;border-radius:50%;width:3rem;height:3rem;margin-bottom:1rem;animation:.8s linear infinite spin}.dashboard__loading-text{color:#4b5563;margin:0;font-size:1rem}.dashboard__error{text-align:center;background-color:rgba(231,111,81,.05);border:1px solid rgba(231,111,81,.2);border-radius:1rem;flex-direction:column;align-items:center;margin-bottom:2rem;padding:2rem;display:flex;box-shadow:0 1px 2px rgba(0,0,0,.05)}@media (min-width:768px){.dashboard__error{text-align:left;flex-direction:row;align-items:flex-start}}.dashboard__error-icon{flex-shrink:0;margin-bottom:1rem;font-size:2.5rem}@media (min-width:768px){.dashboard__error-icon{margin-bottom:0;margin-right:1.5rem}}.dashboard__error-content{flex:1;margin-bottom:1.5rem}@media (min-width:768px){.dashboard__error-content{margin-bottom:0;margin-right:1.5rem}}.dashboard__error-title{color:#e76f51;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.dashboard__error-message{color:#374151;margin:0;font-size:.875rem;line-height:1.5}.dashboard__empty{text-align:center;background:linear-gradient(135deg,#fff 0%,#f9fafb 100%);border-radius:1rem;flex-direction:column;align-items:center;margin-bottom:2rem;padding:3rem 2rem;display:flex;box-shadow:0 1px 2px rgba(0,0,0,.05)}.dashboard__empty-icon{opacity:.6;margin-bottom:1.5rem;font-size:4rem}.dashboard__empty-title{color:#111827;margin:0 0 .75rem;font-size:1.5rem;font-weight:700}@media (min-width:768px){.dashboard__empty-title{font-size:1.75rem}}.dashboard__empty-description{color:#4b5563;max-width:28rem;margin:0 0 2rem;font-size:1rem;line-height:1.6}.dashboard__empty-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.recommendations-grid{box-sizing:border-box;grid-template-columns:1fr;gap:1.5rem;width:100%;max-width:100%;margin-bottom:1.5rem;display:grid}@media (min-width:1024px){.recommendations-grid{grid-template-columns:repeat(3,1fr)}}.recommendations-grid .recommendation-section{min-width:0;margin-bottom:0}.form-container{background-color:#fff;border-radius:1rem;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.form-container__header{text-align:center;margin-bottom:2rem}.form-container__icon{margin-bottom:1rem;font-size:3rem}.form-container__title{color:#111827;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.form-container__subtitle{color:#4b5563;font-size:1rem;line-height:1.5}.success-container{text-align:center;background-color:#fff;border-radius:1rem;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}@media (max-width:640px){.success-container{padding:1.5rem 1rem}}.success-container__header{margin-bottom:2rem}.success-container__icon{margin-bottom:1rem;font-size:4rem}.success-container__title{color:#111827;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.success-container__subtitle{color:#4b5563;font-size:1.125rem;line-height:1.5}.success-container__actions{flex-direction:column;align-items:center;gap:1rem;display:flex}@media (max-width:640px){.success-container__actions{gap:.5rem}}.success-container__action-buttons{justify-content:center;gap:.75rem;width:100%;margin-top:1rem;display:flex}@media (max-width:640px){.success-container__action-buttons{flex-direction:column;gap:.5rem;margin-top:0}.success-container__action-buttons .button{width:100%}}.success-container .product-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;min-height:auto;margin-top:1.5rem;padding:1.5rem;display:block}@media (max-width:640px){.success-container .product-card{padding:1rem}}.success-container .product-card:hover{box-shadow:none}.success-container .product-info{justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.success-container .product-info .product-info__details{text-align:center}.success-container .product-info .product-info__details .product-info__meta{flex-direction:column;align-items:center;gap:1rem;display:flex}.success-container__product-name{color:#111827;margin-bottom:1rem;font-size:1.5rem;font-weight:700;line-height:1.3}.success-container .product-info .success-container__product-name{margin:0}.success-container__product-name-price{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.success-container__product-price-container{flex-shrink:0;align-items:baseline;gap:.75rem;display:flex}.success-container__product-price{color:#264653;font-size:2rem;font-weight:700}@media (min-width:768px){.success-container__product-price{font-size:2.5rem}}@media (min-width:1024px){.success-container__product-price{font-size:3rem}}.form__divider{text-align:center;align-items:center;margin:1.5rem 0;display:flex}.form__divider:before,.form__divider:after{content:"";background-color:#d1d5db;flex:1;height:1px}.form__divider-text{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;padding:0 1rem;font-size:.875rem;font-weight:500}.search-container{background-color:#fff;border-radius:1rem;margin-bottom:2rem;padding:1.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.search-container__input-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.search-container__input-container{flex:1;min-width:200px;position:relative}.search-container__input-container .form__input{box-sizing:border-box;width:100%;padding:.75rem 1rem}.search-container__input-icon{color:#9ca3af;pointer-events:none;font-size:1.25rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.search-container__input-icon .icon-search:before{content:"🔍";margin-right:0;font-size:1rem;font-style:normal}.search-container__divider{color:#6b7280;white-space:nowrap;font-size:.875rem;font-weight:500}.search-container__meta{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;display:flex}.search-container__results{color:#4b5563;font-size:.875rem;font-weight:500}.pagination-container{justify-content:center;margin-top:2rem;display:flex}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.pagination__pages{align-items:center;gap:.25rem;display:flex}.pagination__button{text-align:center;box-sizing:border-box;cursor:pointer;white-space:nowrap;color:#374151;background-color:#fff;border:2px solid #d1d5db;border-radius:.75rem;justify-content:center;align-items:center;min-width:44px;height:44px;min-height:44px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 1px 2px rgba(0,0,0,.05)}.pagination__button>*{align-items:center;line-height:1.2;display:inline-flex}.pagination__button:hover{text-decoration:none}.pagination__button:hover:not(:disabled){color:#264653;background-color:#f9fafb;border-color:#264653;transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.pagination__button:active:not(:disabled){transform:translateY(0)}.pagination__button--active{color:#fff;background-color:#264653;border-color:#264653;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.pagination__button--active:hover:not(:disabled){color:#fff;background-color:#23404c;border-color:#23404c}.pagination__button--prev,.pagination__button--next{min-width:auto;padding:.5rem 1rem}.pagination__button:disabled{opacity:.4;cursor:not-allowed}.pagination__button:disabled:hover{transform:none;box-shadow:0 1px 2px rgba(0,0,0,.05)}.pagination__ellipsis{color:#6b7280;-webkit-user-select:none;-moz-user-select:none;user-select:none;justify-content:center;align-items:center;min-width:44px;height:44px;font-weight:600;display:flex}@media (max-width:640px){.pagination{gap:.25rem}.pagination__button{min-width:36px;height:36px;padding:.375rem .75rem;font-size:.8125rem}.pagination__button--prev,.pagination__button--next{padding:.375rem .75rem;font-size:.75rem}.pagination__ellipsis{min-width:36px;height:36px;font-size:.875rem}}.profile-info{flex-direction:column;gap:2rem;display:flex}.profile-info__avatar-section{background:linear-gradient(135deg,#f9fafb 0%,#fff 100%);border:1px solid #e5e7eb;border-radius:1rem;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex}@media (min-width:768px){.profile-info__avatar-section{text-align:left;flex-direction:row;align-items:center}}.profile-info__avatar{flex-shrink:0;justify-content:center;display:flex}.profile-info__image{object-fit:cover;border:4px solid #fff;border-radius:50%;width:7.5rem;height:7.5rem;transition:transform .3s;box-shadow:0 8px 16px -4px rgba(0,0,0,.1),0 4px 8px -2px rgba(0,0,0,.06)}.profile-info__image:hover{transform:scale(1.05)}.profile-info__placeholder{color:#fff;background:linear-gradient(135deg,#264653,#2a9d8f);border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:7.5rem;height:7.5rem;font-size:2.5rem;font-weight:700;transition:transform .3s;display:flex;box-shadow:0 8px 16px -4px rgba(0,0,0,.1),0 4px 8px -2px rgba(0,0,0,.06)}.profile-info__placeholder:hover{transform:scale(1.05)}.profile-info__name-section{text-align:center;flex:1}@media (min-width:768px){.profile-info__name-section{text-align:left}}.profile-info__name{color:#111827;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}@media (min-width:768px){.profile-info__name{font-size:1.75rem}}.profile-info__email{color:#4b5563;margin:0;font-size:.875rem}.profile-info__details{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.detail-row{border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.875rem 1rem;transition:background-color .2s;display:flex}.detail-row:hover{background-color:#f9fafb}@media (min-width:768px){.detail-row{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}}.detail-row__label{color:#374151;align-items:center;gap:.5rem;min-width:8rem;font-size:.875rem;font-weight:600;display:flex}.detail-row__icon{opacity:.7;font-size:1rem}.detail-row__value{color:#111827;text-align:right;font-size:.875rem;font-weight:500}@media (max-width:767px){.detail-row__value{text-align:left}}.actions-grid{flex-direction:column;gap:1rem;display:flex}.actions-grid__icon{margin-right:.5rem;font-size:1rem}.button--full{justify-content:center;width:100%}.email-preferences{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem}.email-preferences__toggle{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.email-preferences__toggle-label{flex-direction:column;flex:1;gap:.25rem;display:flex}.email-preferences__toggle-title{color:#111827;font-size:1rem;font-weight:600}.email-preferences__toggle-description{color:#4b5563;font-size:.875rem}.email-preferences__days{border-top:1px solid #e5e7eb;margin-bottom:1.5rem;padding-top:1.5rem}.email-preferences__days-label{color:#374151;margin:0 0 1rem;font-size:.875rem;font-weight:600}.email-preferences__days-grid{grid-template-columns:repeat(7,1fr);gap:.5rem;display:grid}.email-preferences__day-checkbox{cursor:pointer;background-color:#fff;border:2px solid #e5e7eb;border-radius:.5rem;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .5rem;transition:all .2s;display:flex;position:relative}.email-preferences__day-checkbox input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.email-preferences__day-checkbox span{color:#374151;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.875rem;font-weight:500}.email-preferences__day-checkbox:hover:not(.email-preferences__day-checkbox--disabled){background-color:#f9fafb;border-color:#264653}.email-preferences__day-checkbox--checked{background-color:rgba(38,70,83,.1);border-color:#264653}.email-preferences__day-checkbox--checked span{color:#264653;font-weight:600}.email-preferences__day-checkbox:has(input:disabled){opacity:.5;cursor:not-allowed}.email-preferences__actions{border-top:1px solid #e5e7eb;justify-content:flex-end;padding-top:1rem;display:flex}.toggle-switch{flex-shrink:0;width:3.5rem;height:2rem;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch input:checked+.toggle-switch__slider{background-color:#264653}.toggle-switch input:checked+.toggle-switch__slider:before{transform:translate(1.5rem)}.toggle-switch input:disabled+.toggle-switch__slider{opacity:.5;cursor:not-allowed}.toggle-switch__slider{cursor:pointer;background-color:#d1d5db;border-radius:2rem;transition:all .3s;position:absolute;top:0;bottom:0;left:0;right:0}.toggle-switch__slider:before{content:"";background-color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;transition:all .3s;position:absolute;bottom:.25rem;left:.25rem;box-shadow:0 2px 4px rgba(0,0,0,.2)}.admin-error-container__content{align-items:flex-start;gap:1rem;display:flex}.admin-error-container__icon{flex-shrink:0;font-size:1.5rem}.admin-error-container__details{flex:1}.admin-error-container__title{color:#e76f51;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.admin-error-container__message{color:#374151;margin:0;font-size:1rem}.admin-form-container{background-color:#fff;border-radius:1rem;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.admin-form-container__header{text-align:center;margin-bottom:2rem}.admin-form-container__icon{margin-bottom:1rem;font-size:3rem}.admin-form-container__title{color:#111827;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.admin-form-container__subtitle{color:#4b5563;font-size:1rem;line-height:1.5}.admin-section{background-color:#fff;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}.admin-section__header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.admin-section__title{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.admin-section__form-group{margin-bottom:1rem}.admin-section__form-group p{color:#374151;margin-bottom:1.5rem;font-size:1rem;line-height:1.5}.admin-section__actions{text-align:center;margin-top:2rem}.admin-profile-info{flex-direction:column;gap:1.5rem;display:flex}.admin-profile-info__detail-row{flex-direction:column;gap:.25rem;display:flex}@media (min-width:768px){.admin-profile-info__detail-row{border-bottom:1px solid #f3f4f6;flex-direction:row;justify-content:space-between;align-items:center;padding:.75rem 0}.admin-profile-info__detail-row:last-child{border-bottom:none}}.admin-profile-info__detail-label{color:#4b5563;min-width:8rem;font-size:.875rem;font-weight:500}.admin-profile-info__detail-value{color:#111827;font-size:.875rem;font-weight:500}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}
:root{--background:#fff;--foreground:#171717}@theme inline{--color-background: var(--background); --color-foreground: var(--foreground); --font-sans: var(--font-geist-sans); --font-mono: var(--font-geist-mono);}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}
