.navbar{z-index:1000;background:var(--surface-container-lowest);border-bottom:1px solid var(--outline-variant);position:sticky;top:0;overflow:visible;box-shadow:0 4px 12px #0000000d}.navbar-inner{justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.navbar-brand{align-items:center;display:flex}.navbar-logo-img{object-fit:contain;width:auto;height:48px;margin-left:4px;display:block}.navbar-icon-btn{border-radius:var(--radius-md);width:40px;height:40px;transition:var(--transition);color:var(--on-surface);justify-content:center;align-items:center;display:flex;position:relative}.navbar-icon-btn:hover{background:var(--surface-container-low)}.navbar-right{align-items:center;gap:4px;display:flex}.navbar-cart-badge{background:var(--secondary-container);color:var(--on-secondary);border-radius:var(--radius-full);justify-content:center;align-items:center;width:18px;height:18px;font-family:Plus Jakarta Sans,sans-serif;font-size:.6rem;font-weight:800;display:flex;position:absolute;top:2px;right:2px}.navbar-search-bar{background:var(--surface-container-high);border-radius:var(--radius-xl);cursor:pointer;transition:var(--transition);align-items:center;gap:10px;margin:-16px 16px 12px;padding:12px 16px;display:flex}.navbar-search-bar:hover{background:var(--surface-container-highest)}.search-icon{color:var(--on-surface-variant);font-size:1.2rem}.navbar-search-link{color:var(--on-surface-variant);flex:1;font-size:.9rem}.navbar-login-btn{background:var(--secondary-container);color:var(--on-secondary);border-radius:var(--radius-full);transition:var(--transition);align-items:center;gap:4px;padding:6px 12px;font-family:Plus Jakarta Sans,sans-serif;font-size:.75rem;font-weight:700;display:flex}.navbar-login-btn:hover{opacity:.9}.drawer-overlay{z-index:200;background:#0006;animation:.2s fadeIn;position:fixed;inset:0}@keyframes fadeIn{to{opacity:1}}.drawer{background:var(--surface-container-lowest);flex-direction:column;width:280px;height:100%;animation:.25s cubic-bezier(.4,0,.2,1) slideRight;display:flex;position:absolute;top:0;left:0;overflow-y:auto}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid var(--outline-variant);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.drawer-logo{width:auto;height:200px;margin:-50px 0}.drawer-close{border-radius:var(--radius-md);width:40px;height:40px;color:var(--on-surface-variant);justify-content:center;align-items:center;display:flex}.drawer-nav{flex-direction:column;gap:2px;padding:12px 8px;display:flex}.drawer-item{border-radius:var(--radius-md);color:var(--on-surface);transition:var(--transition);align-items:center;gap:14px;padding:12px 16px;font-size:.95rem;font-weight:600;display:flex;position:relative}.drawer-item:hover{background:var(--surface-container)}.drawer-item .material-symbols-outlined{color:var(--on-surface-variant);font-size:1.3rem}.drawer-badge{background:var(--secondary-container);color:var(--on-secondary);border-radius:var(--radius-full);margin-left:auto;padding:2px 7px;font-size:.65rem;font-weight:800}.drawer-divider{background:var(--outline-variant);height:1px;margin:8px 16px}.drawer-balance{padding:16px}.balance-box{background:var(--surface-container-low);border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:16px;display:flex}.balance-item{align-items:center;gap:12px;display:flex}.balance-item .material-symbols-outlined{color:var(--primary);font-size:1.5rem}.balance-text{flex-direction:column;display:flex}.balance-label{color:var(--on-surface-variant);font-size:.75rem;font-weight:600}.balance-value{color:var(--on-surface);font-size:1rem;font-weight:800}.navbar-user-profile{width:40px;height:40px;color:var(--on-surface-variant);justify-content:center;align-items:center;display:flex}.bottom-nav{z-index:100;background:var(--surface-container-lowest);justify-content:space-around;align-items:center;width:100%;max-width:480px;padding:6px 0 10px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -2px 12px #1a1c1c0f}.bottom-nav-item{border-radius:var(--radius-lg);transition:var(--transition);flex-direction:column;align-items:center;gap:2px;padding:4px 16px;display:flex;position:relative}.bottom-nav-item:before{content:"";background:var(--primary-container);border-radius:0 0 var(--radius-full) var(--radius-full);width:0;height:3px;transition:var(--transition);position:absolute;top:0;left:50%;transform:translate(-50%)}.bottom-nav-item.active:before{width:32px}.bottom-nav-icon{color:var(--on-surface-variant);transition:var(--transition);font-size:1.4rem}.bottom-nav-item.active .bottom-nav-icon{color:var(--primary-container);font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24}.bottom-nav-label{color:var(--on-surface-variant);transition:var(--transition);font-family:Manrope,sans-serif;font-size:.7rem;font-weight:600}.bottom-nav-item.active .bottom-nav-label{color:var(--primary-container);font-weight:700}.product-card{background:var(--surface-container-lowest);border-radius:var(--radius-xl);transition:var(--transition);flex-direction:column;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md)}.product-card-image-wrap{aspect-ratio:4/3;background:var(--surface-container-low);width:100%;position:relative;overflow:hidden}.product-card-image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.product-card:hover .product-card-image{transform:scale(1.04)}.product-badge{background:var(--tertiary-fixed);color:var(--tertiary);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px;padding:4px 10px;font-family:Plus Jakarta Sans,sans-serif;font-size:.65rem;font-weight:700;position:absolute;top:10px;left:10px}.product-discount{background:var(--error);color:var(--on-error);border-radius:var(--radius-full);padding:3px 8px;font-family:Plus Jakarta Sans,sans-serif;font-size:.7rem;font-weight:700;position:absolute;top:10px;right:10px}.product-card-body{flex-direction:column;flex:1;gap:4px;padding:14px;display:flex}.product-card-name{color:var(--on-surface);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.product-card-desc{color:var(--on-surface-variant);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.product-card-footer{justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:8px;display:flex}.product-card-pricing{flex-direction:column;gap:0;display:flex}.product-card-price{color:var(--primary-container);font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:800}.product-card-original{color:var(--outline);font-size:.75rem;text-decoration:line-through}.product-card-add{border-radius:var(--radius-full);background:var(--secondary-container);width:36px;height:36px;color:var(--on-secondary);transition:var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.product-card-add:hover{box-shadow:var(--shadow-md);transform:scale(1.1)}.product-card-add .material-symbols-outlined{font-size:1.2rem}.home-page{padding-bottom:16px}.promo-slider-container{background:var(--surface);border-radius:0 0 var(--radius-xl) var(--radius-xl);width:100%;margin-bottom:8px;position:relative;overflow:hidden}.promo-slides-wrapper{width:100%;transition:transform .5s ease-in-out;display:flex}.promo-slide{justify-content:center;align-items:center;min-width:100%;height:200px;display:flex}.promo-image{object-fit:cover;width:100%;height:100%}.promo-indicators{gap:8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.promo-dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s}.promo-dot.active{background:var(--primary);transform:scale(1.2)}.section{padding:20px 16px 0}.section-header{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.section-title{color:var(--on-surface);font-size:1.15rem;font-weight:800}.section-subtitle{color:var(--on-surface-variant);margin-top:2px;font-size:.8rem}.section-link{color:var(--secondary-container);white-space:nowrap;font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;font-weight:600}.category-scroll{grid-template-columns:repeat(4,1fr);gap:12px;transition:all .3s;display:grid}.category-scroll.expanded{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding:4px 4px 12px;display:flex;overflow-x:auto}.category-scroll.expanded::-webkit-scrollbar{height:4px}.category-scroll.expanded::-webkit-scrollbar-track{background:var(--surface-container-low);border-radius:var(--radius-full)}.category-scroll.expanded::-webkit-scrollbar-thumb{background:var(--primary-fixed-dim);border-radius:var(--radius-full)}.category-scroll.expanded .category-item{scroll-snap-align:start;flex-shrink:0;width:72px}.category-item{flex-direction:column;align-items:center;gap:6px;display:flex}.category-icon-wrap{border-radius:var(--radius-full);width:52px;height:52px;transition:var(--transition);justify-content:center;align-items:center;display:flex}.category-icon-wrap .material-symbols-outlined{color:var(--primary-container);font-size:1.3rem}.category-item:hover .category-icon-wrap{box-shadow:var(--shadow-md);transform:scale(1.08)}.category-label{color:var(--on-surface);text-align:center;font-size:.68rem;font-weight:600;line-height:1.2}.product-list{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.usp-banner{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-container) 100%);border-radius:var(--radius-xl);margin:24px 16px 0;padding:28px 24px;position:relative;overflow:hidden}.usp-banner:after{content:"";background:var(--primary-fixed-dim);opacity:.1;border-radius:var(--radius-full);width:120px;height:120px;position:absolute;bottom:-30px;right:-30px}.usp-title{color:var(--on-primary);margin-bottom:8px;font-size:1.5rem;font-weight:800}.usp-desc{color:#fffc;max-width:260px;margin-bottom:16px;font-size:.85rem;line-height:1.5}.usp-cta{background:var(--secondary-container);color:var(--on-secondary);border-radius:var(--radius-full);transition:var(--transition);padding:10px 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:700;display:inline-block}.usp-cta:hover{opacity:.9}.kurir-section{padding-bottom:16px}.kurir-card{background:var(--secondary-fixed);border-radius:var(--radius-xl);align-items:center;gap:14px;padding:20px;display:flex}.kurir-icon{color:var(--secondary);font-size:2rem}.kurir-title{color:var(--on-surface);margin-bottom:2px;font-size:.95rem;font-weight:700}.kurir-desc{color:var(--on-surface-variant);font-size:.8rem;line-height:1.4}.detail-page{padding-bottom:160px}.detail-topbar{background:var(--surface-container-lowest);z-index:50;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.detail-back{border-radius:var(--radius-md);width:40px;height:40px;color:var(--on-surface);justify-content:center;align-items:center;display:flex}.detail-topbar-title{color:var(--on-surface);font-size:1rem;font-weight:700}.detail-topbar-actions{gap:4px;display:flex}.detail-topbar-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--on-surface);justify-content:center;align-items:center;display:flex}.detail-image-wrap{aspect-ratio:1;background:linear-gradient(180deg, var(--surface-container-high) 0%, var(--surface-container-low) 100%);width:100%;position:relative;overflow:hidden}.detail-image{object-fit:contain;width:100%;height:100%;padding:20px}.detail-badge{background:var(--secondary-container);color:var(--on-secondary);border-radius:var(--radius-full);padding:6px 14px;font-family:Plus Jakarta Sans,sans-serif;font-size:.72rem;font-weight:700;position:absolute;top:16px;right:16px}.new-badge{color:#fff;background:#ff3b30}.detail-info{padding:20px 16px 0}.detail-category{color:var(--on-surface-variant);letter-spacing:1px;margin-bottom:6px;font-size:.7rem;font-weight:700;display:block}.detail-name{color:var(--on-surface);margin-bottom:8px;font-size:1.4rem;font-weight:800;line-height:1.3}.detail-meta{color:var(--on-surface-variant);flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:20px;font-size:.8rem;display:flex}.detail-rating{color:var(--on-surface);font-weight:700}.detail-reviews,.detail-sold{color:var(--on-surface-variant)}.detail-price-card{background:var(--surface-container-low);border-radius:var(--radius-lg);margin-bottom:16px;padding:16px}.detail-price-label{color:var(--on-surface-variant);margin-bottom:4px;font-size:.78rem;display:block}.detail-price-row{align-items:center;gap:10px;display:flex}.detail-price{color:var(--on-surface);font-family:Plus Jakarta Sans,sans-serif;font-size:1.6rem;font-weight:800}.detail-original{color:var(--outline);font-size:.9rem;text-decoration:line-through}.detail-discount-chip{background:var(--error);color:var(--on-error);border-radius:var(--radius-full);padding:2px 8px;font-size:.7rem;font-weight:700}.detail-qty{border:1px solid var(--outline-variant);border-radius:var(--radius-md);align-items:center;gap:0;width:fit-content;margin-bottom:24px;display:flex}.qty-btn{width:40px;height:40px;color:var(--on-surface-variant);transition:var(--transition);justify-content:center;align-items:center;display:flex}.qty-btn:hover{background:var(--surface-container-low)}.qty-value{text-align:center;width:40px;color:var(--on-surface);font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700}.detail-desc-section{margin-bottom:16px}.detail-desc-title{color:var(--on-surface);align-items:center;gap:6px;margin-bottom:8px;font-size:.95rem;font-weight:700;display:flex}.detail-desc-title .material-symbols-outlined{color:var(--primary-container);font-size:1.1rem}.detail-desc-text{color:var(--on-surface-variant);font-size:.88rem;line-height:1.6}.detail-safety{background:var(--surface-container-low);border-radius:var(--radius-lg);align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.detail-safety strong{color:var(--on-surface);margin-bottom:2px;font-size:.85rem;display:block}.detail-safety p{color:var(--on-surface-variant);font-size:.78rem}.detail-bottom{background:var(--surface-container-lowest);z-index:50;gap:10px;width:100%;max-width:480px;padding:12px 16px;display:flex;position:fixed;bottom:72px;left:50%;transform:translate(-50%);box-shadow:0 -4px 20px #1a1c1c14}.detail-btn-buy,.detail-btn-cart{border-radius:var(--radius-lg);transition:var(--transition);flex:1;justify-content:center;align-items:center;gap:6px;padding:14px;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:700;display:flex}.detail-btn-buy{background:var(--primary-container);color:var(--on-primary)}.detail-btn-buy:hover{background:var(--primary)}.detail-btn-buy:disabled,.detail-btn-cart:disabled{opacity:.4;cursor:not-allowed}.detail-btn-cart{background:var(--secondary-container);color:var(--on-secondary)}.detail-btn-cart:hover{opacity:.9}.detail-btn-buy .material-symbols-outlined,.detail-btn-cart .material-symbols-outlined{font-size:1.1rem}.detail-empty{text-align:center;color:var(--on-surface-variant);padding:80px 20px}.detail-empty .material-symbols-outlined{margin-bottom:12px;font-size:3rem;display:block}.detail-back-link{color:var(--secondary-container);margin-top:12px;font-weight:600;display:inline-block}.cart-page{padding:20px 16px 16px}.cart-title{margin-bottom:4px;font-size:1.4rem;font-weight:800}.cart-subtitle{color:var(--on-surface-variant);align-items:center;gap:6px;margin-bottom:20px;font-size:.82rem;display:flex}.cart-empty{text-align:center;color:var(--on-surface-variant);padding:60px 20px}.cart-empty .material-symbols-outlined{color:var(--outline-variant);margin-bottom:12px;font-size:3.5rem;display:block}.cart-empty h2{color:var(--on-surface);margin-bottom:4px;font-size:1.2rem}.cart-empty p{margin-bottom:20px;font-size:.88rem}.cart-shop-btn{background:var(--secondary-container);color:var(--on-secondary);border-radius:var(--radius-full);transition:var(--transition);align-items:center;gap:6px;padding:12px 24px;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:700;display:inline-flex}.cart-items{flex-direction:column;gap:16px;display:flex}.cart-item{border-bottom:1px solid var(--surface-container);gap:12px;padding-bottom:16px;display:flex}.cart-item-img{border-radius:var(--radius-md);object-fit:cover;background:var(--surface-container-low);flex-shrink:0;width:64px;height:64px}.cart-item-info{flex:1;min-width:0}.cart-item-badge{border-radius:var(--radius-full);background:var(--tertiary-fixed);color:var(--tertiary);text-transform:uppercase;margin-bottom:4px;padding:2px 8px;font-size:.6rem;font-weight:700;display:inline-block}.cart-item-name{color:var(--on-surface);font-size:.9rem;font-weight:700;line-height:1.3}.cart-item-unit{color:var(--on-surface-variant);margin-bottom:8px;font-size:.75rem}.cart-item-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.cart-qty{border:1px solid var(--outline-variant);border-radius:var(--radius-sm);align-items:center;display:flex}.cart-qty-btn{width:30px;height:30px;color:var(--on-surface-variant);justify-content:center;align-items:center;display:flex}.cart-qty-btn .material-symbols-outlined{font-size:1rem}.cart-qty-val{text-align:center;width:28px;font-family:Plus Jakarta Sans,sans-serif;font-size:.85rem;font-weight:700}.cart-remove{color:var(--error);align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:flex}.cart-remove .material-symbols-outlined{font-size:.9rem}.cart-item-price{color:var(--on-surface);white-space:nowrap;align-self:flex-start;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:800}.cart-continue{border:1px solid var(--outline-variant);border-radius:var(--radius-lg);color:var(--on-surface-variant);transition:var(--transition);justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:14px;font-size:.88rem;font-weight:600;display:flex}.cart-continue:hover{background:var(--surface-container-low)}.cart-summary{background:var(--surface-container-low);border-radius:var(--radius-xl);margin-top:24px;padding:20px}.cart-summary-title{margin-bottom:14px;font-size:1rem;font-weight:800}.cart-summary-row{color:var(--on-surface-variant);justify-content:space-between;margin-bottom:10px;font-size:.85rem;display:flex}.cart-promo-tip{background:var(--tertiary-fixed);color:var(--tertiary);border-radius:var(--radius-md);align-items:center;gap:8px;margin:8px 0;padding:10px 14px;font-size:.78rem;font-weight:600;display:flex}.cart-promo-tip .material-symbols-outlined{font-size:1rem}.cart-summary-total{border-top:1px solid var(--outline-variant);justify-content:space-between;align-items:center;padding-top:14px;font-size:.95rem;font-weight:700;display:flex}.cart-total-price{color:var(--on-surface);font-family:Plus Jakarta Sans,sans-serif;font-size:1.3rem;font-weight:800}.cart-promo-code{gap:8px;margin-top:16px;display:flex}.cart-promo-input{background:var(--surface-container-high);border-radius:var(--radius-md);color:var(--on-surface);flex:1;padding:12px 16px;font-size:.88rem}.cart-promo-input::placeholder{color:var(--on-surface-variant)}.cart-promo-btn{background:var(--error);color:var(--on-error);border-radius:var(--radius-md);padding:12px 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:.82rem;font-weight:700}.cart-checkout{background:var(--secondary-container);width:100%;color:var(--on-secondary);border-radius:var(--radius-lg);transition:var(--transition);justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:16px;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700;display:flex}.cart-checkout:hover{opacity:.9}.cart-secure{color:var(--on-surface-variant);justify-content:center;align-items:center;gap:4px;margin-top:10px;font-size:.75rem;display:flex}.orders-page{padding:20px 16px 80px}.orders-title{margin-bottom:6px;font-size:1.4rem;font-weight:800}.orders-subtitle{color:var(--on-surface-variant);margin-bottom:24px;font-size:.85rem;line-height:1.5}.orders-section{margin-bottom:28px}.orders-section-title{color:var(--on-surface);margin-bottom:14px;padding-bottom:8px;font-size:1rem;font-weight:700}.orders-active-list{flex-direction:column;gap:14px;display:flex}.order-card{background:var(--surface-container-lowest);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:18px}.order-card-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.order-id{color:var(--on-surface-variant);font-size:.78rem;font-weight:600}.order-status{border-radius:var(--radius-full);text-transform:uppercase;padding:4px 10px;font-family:Plus Jakarta Sans,sans-serif;font-size:.68rem;font-weight:700}.order-status.shipped{background:var(--tertiary-fixed);color:var(--tertiary)}.order-status.processing{background:var(--secondary-fixed);color:var(--secondary)}.order-card-title{margin-bottom:2px;font-size:1rem;font-weight:700}.order-card-date{color:var(--on-surface-variant);margin-bottom:12px;font-size:.78rem}.order-card-bottom{justify-content:space-between;align-items:flex-end;display:flex}.order-card-total{color:var(--primary-container);font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:800}.order-eta{text-align:right}.order-eta-label{color:var(--on-surface-variant);font-size:.7rem;display:block}.order-eta-value{color:var(--primary-container);font-size:.82rem;font-weight:700}.orders-history-list{flex-direction:column;gap:0;display:flex}.history-item{align-items:center;gap:12px;padding:14px 0;display:flex}.history-item+.history-item{border-top:1px solid var(--surface-container)}.history-icon-wrap{border-radius:var(--radius-md);background:var(--surface-container-low);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.history-icon-wrap .material-symbols-outlined{color:var(--primary-container);font-size:1.3rem}.history-info{flex:1}.history-title{font-size:.9rem;font-weight:700}.history-meta{color:var(--on-surface-variant);font-size:.75rem}.history-status{color:var(--on-surface-variant);background:var(--surface-container);border-radius:var(--radius-full);padding:4px 10px;font-size:.72rem;font-weight:600}.orders-empty{text-align:center;color:var(--on-surface-variant);padding:80px 20px}.orders-empty .material-symbols-outlined{color:var(--outline);margin-bottom:16px;font-size:3.5rem;display:block}.orders-empty h2{color:var(--on-surface);margin-bottom:8px;font-size:1.1rem;font-weight:700}.orders-empty p{font-size:.88rem}.search-page{padding:8px 16px 80px}.search-input-wrap{background:var(--surface-container-high);border-radius:var(--radius-xl);align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;display:flex}.search-input-icon{color:var(--on-surface-variant);font-size:1.2rem}.search-input{color:var(--on-surface);background:0 0;flex:1;font-size:.95rem}.search-input::placeholder{color:var(--on-surface-variant)}.search-clear{border-radius:var(--radius-full);width:28px;height:28px;color:var(--on-surface-variant);justify-content:center;align-items:center;display:flex}.search-clear .material-symbols-outlined{font-size:1.1rem}.search-cats{-ms-overflow-style:none;scrollbar-width:none;gap:8px;padding-bottom:12px;display:flex;overflow-x:auto}.search-cats::-webkit-scrollbar{display:none}.search-cat-chip{white-space:nowrap;border-radius:var(--radius-full);background:var(--surface-container);color:var(--on-surface-variant);transition:var(--transition);align-items:center;gap:4px;padding:8px 14px;font-family:Manrope,sans-serif;font-size:.78rem;font-weight:600;display:flex}.search-cat-chip.active{background:var(--primary-container);color:var(--on-primary)}.search-count{color:var(--on-surface-variant);margin-bottom:14px;font-size:.82rem}.search-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.search-empty{text-align:center;color:var(--on-surface-variant);padding:60px 20px}.search-empty .material-symbols-outlined{color:var(--outline-variant);margin-bottom:12px;font-size:3rem;display:block}.search-empty h3{color:var(--on-surface);margin-bottom:4px;font-size:1.1rem}.login-page{background:linear-gradient(180deg, var(--primary) 0%, var(--primary-container) 40%, var(--surface-container-low) 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px 16px;display:flex}.login-card{background:var(--surface-container-lowest);border-radius:var(--radius-xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);padding:36px 24px}.login-header{text-align:center;margin-bottom:28px}.login-logo{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-container) 100%);justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 14px;display:flex}.login-logo .material-symbols-outlined{color:var(--on-primary);font-size:1.6rem}.login-title{color:var(--on-surface);margin-bottom:4px;font-size:1.4rem;font-weight:800}.login-subtitle{color:var(--on-surface-variant);font-size:.85rem}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{margin-bottom:0}.login-label{color:var(--on-surface);margin-bottom:6px;font-family:Manrope,sans-serif;font-size:.82rem;font-weight:700;display:block}.login-input-wrap{background:var(--surface-container-high);border-radius:var(--radius-md);transition:var(--transition);border:2px solid #0000;align-items:center;gap:10px;padding:12px 14px;display:flex}.login-input-wrap:focus-within{background:var(--surface-container-lowest);border-color:var(--primary-container)}.login-input-icon{color:var(--on-surface-variant);font-size:1.1rem}.login-input{color:var(--on-surface);background:0 0;flex:1;font-size:.95rem}.login-input::placeholder{color:var(--on-surface-variant)}.login-toggle-pw{color:var(--on-surface-variant);align-items:center;display:flex}.login-toggle-pw .material-symbols-outlined{font-size:1.1rem}.login-error{color:var(--error);background:var(--error-container);border-radius:var(--radius-md);align-items:center;gap:6px;padding:10px 14px;font-size:.82rem;font-weight:600;display:flex}.login-error .material-symbols-outlined{font-size:1rem}.login-submit{background:var(--secondary-container);width:100%;color:var(--on-secondary);border-radius:var(--radius-lg);transition:var(--transition);justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:14px;font-family:Plus Jakarta Sans,sans-serif;font-size:1rem;font-weight:700;display:flex}.login-submit:hover{opacity:.9}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-submit .material-symbols-outlined{font-size:1.1rem}.login-spinner{border:3px solid #ffffff4d;border-top-color:var(--on-secondary);border-radius:var(--radius-full);width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-hint{background:var(--surface-container-low);border-radius:var(--radius-md);color:var(--on-surface-variant);align-items:flex-start;gap:8px;margin-top:20px;padding:12px;font-size:.78rem;display:flex}.login-hint strong{color:var(--primary-container)}.admin-page{background:var(--surface-container-low);min-height:100vh;display:flex}.admin-sidebar{background:var(--surface-container-lowest);flex-direction:column;flex-shrink:0;width:220px;padding:20px 0;display:flex}.admin-sidebar-brand{border-bottom:1px solid var(--surface-container);align-items:center;gap:10px;margin-bottom:12px;padding:0 20px 20px;display:flex}.admin-sidebar-brand .material-symbols-outlined{color:var(--primary-container);font-size:1.6rem}.admin-brand-text{color:var(--primary-container);font-family:Plus Jakarta Sans,sans-serif;font-size:1.3rem;font-weight:800}.admin-nav{flex-direction:column;flex:1;gap:2px;padding:0 10px;display:flex}.admin-nav-item{border-radius:var(--radius-md);color:var(--on-surface-variant);cursor:pointer;transition:var(--transition);align-items:center;gap:10px;padding:11px 14px;font-family:Manrope,sans-serif;font-size:.88rem;font-weight:500;display:flex}.admin-nav-item:hover{background:var(--surface-container-low);color:var(--primary-container)}.admin-nav-item.active{background:var(--primary-container);color:var(--on-primary);font-weight:700}.admin-nav-item .material-symbols-outlined{font-size:1.2rem}.admin-sidebar-footer{border-top:1px solid var(--surface-container);margin-top:auto;padding:12px 10px 0}.admin-logout{border-radius:var(--radius-md);width:100%;color:var(--error);transition:var(--transition);align-items:center;gap:10px;padding:11px 14px;font-family:Manrope,sans-serif;font-size:.88rem;font-weight:600;display:flex}.admin-logout:hover{background:var(--error-container)}.admin-logout .material-symbols-outlined{font-size:1.2rem}.admin-mobile-header{display:none}.admin-main{flex:1;max-width:720px;padding:24px;overflow-y:auto}.admin-target{background:var(--surface-container-lowest);border-radius:var(--radius-lg);margin-bottom:20px;padding:16px 20px}.admin-target-info{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.admin-target-label{color:var(--on-surface-variant);font-size:.82rem;font-weight:600}.admin-target-value{color:var(--primary-container);font-family:Plus Jakarta Sans,sans-serif;font-size:.88rem;font-weight:700}.admin-target-bar{background:var(--surface-container);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.admin-target-fill{background:linear-gradient(90deg, var(--primary-container) 0%, var(--tertiary-fixed-dim) 100%);border-radius:var(--radius-full);height:100%;transition:width .6s}.admin-welcome{margin-bottom:20px}.admin-welcome-title{margin-bottom:4px;font-size:1.4rem;font-weight:800}.admin-welcome-sub{color:var(--on-surface-variant);font-size:.85rem;line-height:1.5}.admin-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.admin-stat-card{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:18px 16px;display:flex}.admin-stat-icon{font-size:1.6rem}.admin-stat-value{color:var(--on-surface);font-family:Plus Jakarta Sans,sans-serif;font-size:1.6rem;font-weight:800;line-height:1;display:block}.admin-stat-label{color:var(--on-surface-variant);margin-top:2px;font-size:.72rem;display:block}.admin-orders-section{background:var(--surface-container-lowest);border-radius:var(--radius-xl);margin-bottom:20px;padding:20px}.admin-orders-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-orders-title{font-size:1.1rem;font-weight:800}.admin-orders-count{color:var(--on-surface-variant);font-size:.75rem}.admin-quick-filters{gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.admin-filter{border-radius:var(--radius-full);background:var(--surface-container);color:var(--on-surface-variant);white-space:nowrap;transition:var(--transition);align-items:center;gap:6px;padding:8px 14px;font-family:Manrope,sans-serif;font-size:.78rem;font-weight:600;display:flex}.admin-filter.active{background:var(--primary-container);color:var(--on-primary)}.admin-filter .material-symbols-outlined{font-size:1rem}.admin-orders-list{flex-direction:column;display:flex}.admin-order-row{justify-content:space-between;align-items:flex-start;padding:14px 0;display:flex}.admin-order-row+.admin-order-row{border-top:1px solid var(--surface-container)}.admin-order-id{color:var(--on-surface-variant);margin-bottom:2px;font-size:.72rem;font-weight:600;display:block}.admin-order-customer{margin-bottom:2px;font-size:.9rem;font-weight:700}.admin-order-items{color:var(--on-surface-variant);font-size:.78rem}.admin-order-right{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.admin-order-total{color:var(--on-surface);font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:700}.admin-order-status{border-radius:var(--radius-full);text-transform:uppercase;padding:3px 10px;font-size:.65rem;font-weight:700}.admin-order-status.new{background:var(--secondary-fixed);color:var(--secondary)}.admin-order-status.processing{color:#1565c0;background:#e3f2fd}.admin-order-status.shipped{background:var(--tertiary-fixed);color:var(--tertiary)}.admin-order-status.done{background:var(--surface-container);color:var(--on-surface-variant)}.admin-order-time{color:var(--outline);font-size:.68rem}.admin-back-shop{background:var(--surface-container-lowest);border-radius:var(--radius-lg);color:var(--primary-container);transition:var(--transition);justify-content:center;align-items:center;gap:8px;padding:14px;font-family:Plus Jakarta Sans,sans-serif;font-size:.9rem;font-weight:700;display:flex}.admin-back-shop:hover{background:var(--surface-container-low)}.admin-mobile-header-left{align-items:center;gap:8px;display:flex}.admin-hamburger-btn{display:none}.admin-sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:110;background:#0006;animation:.2s ease-out fadeIn;position:fixed;inset:0}@media (width<=600px){.admin-sidebar{z-index:120;border-right:1px solid var(--surface-container);height:100vh;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:-240px;box-shadow:0 4px 30px #00000026}.admin-sidebar.open{left:0}.admin-mobile-header{justify-content:space-between;align-items:center;margin-bottom:8px;padding:14px 0;display:flex}.admin-mobile-brand{color:var(--primary-container);align-items:center;gap:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.1rem;font-weight:800;display:flex}.admin-mobile-brand .material-symbols-outlined{font-size:1.4rem}.admin-hamburger-btn{cursor:pointer;border-radius:var(--radius-md);width:40px;height:40px;color:var(--primary-container);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.admin-hamburger-btn:hover{background:var(--surface-container)}.admin-logout-mobile{border-radius:var(--radius-md);width:40px;height:40px;color:var(--error);justify-content:center;align-items:center;display:flex}.admin-main{padding:16px}.admin-stats{grid-template-columns:1fr}.admin-stat-card{gap:14px}}.wishlist-page{padding:20px 16px 100px}.wishlist-title{margin-bottom:20px;font-size:1.4rem;font-weight:800}.wishlist-empty{text-align:center;color:var(--on-surface-variant);padding:60px 20px}.wishlist-empty .material-symbols-outlined{color:var(--outline);margin-bottom:12px;font-size:3.5rem;display:block}.wishlist-empty h2{margin-bottom:6px;font-size:1.1rem}.wishlist-empty p{margin-bottom:20px;font-size:.88rem}.wishlist-shop-btn{background:var(--primary-container);color:var(--on-primary);border-radius:var(--radius-full);padding:10px 24px;font-size:.9rem;font-weight:700;display:inline-block}.wishlist-list{flex-direction:column;gap:12px;display:flex}.wishlist-item{background:var(--surface-container-lowest);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px;display:flex}.wishlist-item-img-wrap{flex-shrink:0}.wishlist-item-img{object-fit:cover;border-radius:var(--radius-md);width:72px;height:72px}.wishlist-item-info{flex:1;min-width:0}.wishlist-item-cat{color:var(--on-surface-variant);letter-spacing:.5px;text-transform:uppercase;font-size:.65rem;font-weight:700}.wishlist-item-name{color:var(--on-surface);white-space:nowrap;text-overflow:ellipsis;margin:2px 0;font-size:.9rem;font-weight:700;overflow:hidden}.wishlist-item-price{color:var(--on-surface);font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:800}.wishlist-item-stock{color:var(--on-surface-variant);font-size:.75rem}.wishlist-item-actions{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.wishlist-remove,.wishlist-add-cart{border-radius:var(--radius-md);background:var(--surface-container);width:38px;height:38px;transition:var(--transition);justify-content:center;align-items:center;display:flex}.wishlist-add-cart{background:var(--primary-container);color:var(--on-primary)}.wishlist-add-cart:disabled{opacity:.4;cursor:not-allowed}.wishlist-add-cart .material-symbols-outlined,.wishlist-remove .material-symbols-outlined{font-size:1.1rem}.profile-guest{text-align:center;color:var(--on-surface-variant);padding:80px 24px}.profile-guest .material-symbols-outlined{color:var(--outline);margin-bottom:16px;font-size:4rem;display:block}.profile-guest h2{color:var(--on-surface);margin-bottom:8px;font-size:1.2rem;font-weight:700}.profile-guest p{margin-bottom:24px;font-size:.88rem;line-height:1.5}.profile-login-btn{background:var(--secondary-container);color:var(--on-secondary);border-radius:var(--radius-full);padding:12px 32px;font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:700;display:inline-block}.profile-page{padding-bottom:0}.profile-hero{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-container) 100%);text-align:center;color:#fff;padding:40px 20px 32px}.profile-avatar .material-symbols-outlined{color:#ffffffe6;font-size:5rem}.profile-name{color:#fff;margin-top:8px;font-size:1.3rem;font-weight:800}.profile-phone{color:#ffffffbf;margin-top:4px;font-size:.88rem}.profile-role-badge{background:var(--secondary-container);color:var(--on-secondary);border-radius:var(--radius-full);letter-spacing:.5px;margin-top:10px;padding:4px 14px;font-size:.72rem;font-weight:700;display:inline-block}.profile-menu{background:var(--surface-container-lowest);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin:20px 16px 0;overflow:hidden}.profile-menu-item{color:var(--on-surface);transition:var(--transition);border-bottom:1px solid var(--surface-container);align-items:center;gap:14px;padding:16px 20px;font-size:.95rem;font-weight:600;display:flex}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item:hover{background:var(--surface-container-low)}.profile-menu-item .material-symbols-outlined{color:var(--primary-container);font-size:1.3rem}.profile-chevron{margin-left:auto;color:var(--outline)!important;font-size:1.2rem!important}.profile-logout{background:var(--error-container);width:calc(100% - 32px);color:var(--error);border-radius:var(--radius-xl);transition:var(--transition);justify-content:center;align-items:center;gap:8px;margin:20px 16px 0;padding:14px;font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:700;display:flex}.profile-logout:hover{opacity:.85}.splash{z-index:9999;background:#fff;flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s cubic-bezier(.16,1,.3,1),visibility .6s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.splash-fade{opacity:0;visibility:hidden}.splash-content{text-align:center;flex-direction:column;align-items:center;display:flex}.splash-logo-container{border-radius:var(--radius-xl);border:1px solid var(--surface-container);justify-content:center;align-items:center;width:130px;height:130px;margin-bottom:24px;animation:1.4s cubic-bezier(.16,1,.3,1) forwards logoFadeScale;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 30px #00000014}.splash-logo{object-fit:cover;width:100%;height:100%}.splash-divider{background:var(--primary);opacity:0;border-radius:99px;width:50px;height:3px;margin-bottom:20px;animation:.8s ease-out .4s forwards fadeIn}.splash-title{color:var(--primary);letter-spacing:1.5px;opacity:0;margin-bottom:8px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.45rem;font-weight:800;animation:.8s cubic-bezier(.16,1,.3,1) .3s forwards textSlideUp}.splash-tagline{color:var(--on-surface-variant);opacity:0;font-family:Manrope,sans-serif;font-size:.85rem;font-weight:600;animation:.8s cubic-bezier(.16,1,.3,1) .5s forwards textSlideUp}.splash-loading{background:var(--surface-container);border-radius:99px;width:120px;height:4px;position:absolute;bottom:60px;overflow:hidden}.splash-bar{background:var(--primary);border-radius:99px;width:40%;height:100%;animation:1.8s ease-in-out infinite splashLoad}@keyframes logoFadeScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes textSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes splashLoad{0%{transform:translate(-100%)}50%{transform:translate(250%)}to{transform:translate(-100%)}}:root{--primary:#00450d;--primary-container:#1b5e20;--on-primary:#fff;--on-primary-container:#90d689;--primary-fixed:#acf4a4;--primary-fixed-dim:#91d78a;--secondary:#8b5000;--secondary-container:#ff9800;--on-secondary:#fff;--on-secondary-container:#653900;--secondary-fixed:#ffdcbe;--secondary-fixed-dim:#ffb870;--tertiary:#264300;--tertiary-container:#365c00;--tertiary-fixed:#b9f474;--tertiary-fixed-dim:#9ed75b;--background:#f9f9f9;--surface:#f9f9f9;--surface-container:#eee;--surface-container-high:#e8e8e8;--surface-container-highest:#e2e2e2;--surface-container-low:#f3f3f3;--surface-container-lowest:#fff;--surface-variant:#e2e2e2;--on-background:#1a1c1c;--on-surface:#1a1c1c;--on-surface-variant:#41493e;--outline:#717a6d;--outline-variant:#c0c9bb;--error:#ba1a1a;--error-container:#ffdad6;--on-error:#fff;--inverse-surface:#2f3131;--inverse-on-surface:#f1f1f1;--inverse-primary:#91d78a;--shadow-sm:0 2px 8px #1a1c1c0a;--shadow-md:0 6px 20px #1a1c1c0f;--shadow-lg:0 12px 32px #1a1c1c0f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition:all .25s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--background);color:var(--on-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;color:var(--on-surface);font-family:Plus Jakarta Sans,sans-serif;line-height:1.3}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;outline:none}input,select,textarea{font-family:inherit;font-size:inherit;border:none;outline:none}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;vertical-align:middle}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}html:not(.fonts-loaded) .material-symbols-outlined{opacity:0!important;width:0!important;height:0!important;font-size:0!important;display:inline-block!important;overflow:hidden!important}.app-container{background:var(--surface-container-lowest);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative}.main-content{flex:1;padding-bottom:0}@media (width>=600px){body{background:var(--surface-container)}.app-container{border-radius:0;min-height:100vh;box-shadow:0 0 40px #1a1c1c1a}}.admin-app-wrapper{background:var(--surface-container-low);min-height:100vh}.container{max-width:480px;margin:0 auto;padding:0 16px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:var(--radius-full)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}
