:root{--color-primary:#005bff;--color-primary-hover:#0049cc;--color-primary-light:#e8f0fe;--color-danger:#ff3b30;--color-white:#fff;--color-bg:#f2f5f9;--color-bg-white:#fff;--color-text:#181818;--color-text-secondary:#6c757d;--color-border:#e5e5e5;--color-star:#ffa800;--bottom-nav-height:56px}html{overflow-x:hidden}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:var(--bottom-nav-height);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;line-height:1.4;overflow-x:hidden}#app{background:var(--color-bg);width:100%;min-height:100vh;margin:0 auto}a{color:var(--color-primary);text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}input{font-family:inherit}.desktop-container{width:100%;max-width:480px;margin:0 auto}@media (width>=768px){.desktop-container{max-width:720px}}@media (width>=1024px){.desktop-container{max-width:960px}}@media (width>=1280px){.desktop-container{max-width:1200px}}@media (width>=768px){body{padding-bottom:0}}.header[data-v-42a5a26c]{background:var(--color-bg-white);z-index:100;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:sticky;top:0}.header__left[data-v-42a5a26c]{align-items:center;gap:32px;display:flex}.header__logo[data-v-42a5a26c]{color:var(--color-primary);cursor:pointer;letter-spacing:-.5px;flex-shrink:0;font-size:22px;font-weight:700}.header__nav[data-v-42a5a26c]{display:none}@media (width>=768px){.header__nav[data-v-42a5a26c]{align-items:center;gap:4px;display:flex}}.header__nav-link[data-v-42a5a26c]{color:var(--color-text);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.header__nav-link[data-v-42a5a26c]:hover{background:var(--color-bg)}.header__nav-link--active[data-v-42a5a26c]{color:var(--color-primary);background:var(--color-primary-light)}.header__actions[data-v-42a5a26c]{align-items:center;gap:12px;display:flex}.header__icon[data-v-42a5a26c]{width:36px;height:36px;color:var(--color-text);border-radius:8px;justify-content:center;align-items:center;transition:background .15s;display:flex}.header__icon[data-v-42a5a26c]:hover{background:var(--color-bg)}.header__icon--notif[data-v-42a5a26c]{position:relative}.header__notif-badge[data-v-42a5a26c]{background:var(--color-danger);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;display:flex;position:absolute;top:-2px;right:-2px}.header__notif-wrap[data-v-42a5a26c]{position:relative}.notif-dropdown[data-v-42a5a26c]{background:var(--color-bg-white);z-index:150;border-radius:16px;flex-direction:column;width:320px;max-height:400px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #0000001f}.notif-dropdown__header[data-v-42a5a26c]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notif-dropdown__title[data-v-42a5a26c]{color:var(--color-text);font-size:15px;font-weight:600}.notif-dropdown__read-all[data-v-42a5a26c]{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:500}.notif-dropdown__list[data-v-42a5a26c]{flex:1;overflow-y:auto}.notif-dropdown__empty[data-v-42a5a26c]{text-align:center;color:var(--color-text-secondary);padding:24px;font-size:14px}.notif-dropdown__item[data-v-42a5a26c]{border-bottom:1px solid var(--color-border);cursor:pointer;padding:12px 16px;transition:background .15s}.notif-dropdown__item[data-v-42a5a26c]:hover{background:var(--color-bg)}.notif-dropdown__item--unread[data-v-42a5a26c]{background:#f0f7ff}.notif-dropdown__item--unread[data-v-42a5a26c]:hover{background:#e0efff}.notif-dropdown__item-title[data-v-42a5a26c]{color:var(--color-text);margin-bottom:2px;font-size:13px;font-weight:600}.notif-dropdown__item-msg[data-v-42a5a26c]{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.notif-dropdown__item-time[data-v-42a5a26c]{color:var(--color-text-secondary);margin-top:4px;font-size:11px}.notif-dropdown__footer[data-v-42a5a26c]{text-align:center;color:var(--color-primary);border-top:1px solid var(--color-border);padding:12px;font-size:13px;font-weight:500;text-decoration:none}.bottom-nav[data-v-303da951]{width:100%;max-width:480px;height:var(--bottom-nav-height);background:var(--color-bg-white);border-top:1px solid var(--color-border);z-index:100;padding-bottom:env(safe-area-inset-bottom);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav__item[data-v-303da951]{color:#999;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;transition:color .15s;display:flex}.bottom-nav__item--active[data-v-303da951]{color:var(--color-primary)}.bottom-nav__icon[data-v-303da951]{justify-content:center;align-items:center;display:flex}.bottom-nav__label[data-v-303da951]{font-size:11px;line-height:1}@media (width>=768px){.bottom-nav[data-v-303da951]{display:none}}.toast-container[data-v-de36bb0b]{z-index:200;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:320px;display:flex;position:fixed;top:16px;right:16px}@media (width>=768px){.toast-container[data-v-de36bb0b]{width:auto;max-width:400px;top:24px;right:24px}}.toast[data-v-de36bb0b]{background:var(--color-bg-white);color:var(--color-text);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;animation:.3s slideIn-de36bb0b;display:flex;box-shadow:0 4px 16px #0000001f}.toast--success[data-v-de36bb0b]{border-left:4px solid #34c759}.toast--error[data-v-de36bb0b]{border-left:4px solid var(--color-danger)}.toast--info[data-v-de36bb0b]{border-left:4px solid var(--color-primary)}.toast__message[data-v-de36bb0b]{flex:1;line-height:1.4}.toast__close[data-v-de36bb0b]{color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}@keyframes slideIn-de36bb0b{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-enter-active[data-v-de36bb0b],.toast-leave-active[data-v-de36bb0b]{transition:all .3s}.toast-enter-from[data-v-de36bb0b],.toast-leave-to[data-v-de36bb0b]{opacity:0;transform:translate(100%)}.product-card[data-v-4d6a2348]{background:var(--color-bg-white);cursor:pointer;border-radius:12px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.product-card[data-v-4d6a2348]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.product-card__image[data-v-4d6a2348]{aspect-ratio:1;justify-content:center;align-items:center;display:flex;position:relative}.product-card__img[data-v-4d6a2348]{object-fit:cover;width:100%;height:100%;display:block}.product-card__image-letter[data-v-4d6a2348]{color:#0000001f;-webkit-user-select:none;user-select:none;font-size:40px;font-weight:700}.product-card__heart[data-v-4d6a2348]{width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;transition:color .15s;display:flex;position:absolute;top:8px;right:8px}.product-card__heart--active[data-v-4d6a2348]{color:#ff4242}.product-card__body[data-v-4d6a2348]{flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.product-card__price[data-v-4d6a2348]{color:var(--color-text);font-size:17px;font-weight:700;line-height:1}.product-card__name[data-v-4d6a2348]{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:34px;font-size:13px;display:-webkit-box;overflow:hidden}.product-card__cart-btn[data-v-4d6a2348]{background:var(--color-primary-light);color:var(--color-primary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:6px 0;font-size:13px;font-weight:500;transition:background .15s;display:flex}.product-card__cart-btn[data-v-4d6a2348]:hover{background:#d4e4ff}.product-card__cart-btn[data-v-4d6a2348]:disabled{opacity:.5;cursor:not-allowed}.search-bar[data-v-fa95861a]{background:var(--color-bg-white);padding:8px 12px}.search-bar__input-wrapper[data-v-fa95861a]{background:var(--color-bg);border-radius:12px;align-items:center;height:40px;padding:0 12px;display:flex}.search-bar__icon[data-v-fa95861a]{flex-shrink:0;margin-right:8px}.search-bar__input[data-v-fa95861a]{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:15px}.search-bar__input[data-v-fa95861a]::placeholder{color:#aaa}.category-chips[data-v-6ed105a7]{background:var(--color-bg-white);scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:8px;min-height:45px;padding:8px 12px;display:flex;overflow-x:auto}.category-chips[data-v-6ed105a7]::-webkit-scrollbar{display:none}.category-chips__chip[data-v-6ed105a7]{background:var(--color-bg);color:var(--color-text);white-space:nowrap;border:none;border-radius:20px;flex-shrink:0;padding:6px 14px;font-size:13px;transition:background .15s,color .15s}.category-chips__chip--active[data-v-6ed105a7]{background:var(--color-primary);color:var(--color-white)}.category-chips__chip--skeleton[data-v-6ed105a7]{background:var(--color-bg);width:60px;min-height:29px;animation:1.5s ease-in-out infinite chip-skeleton-pulse-6ed105a7}@keyframes chip-skeleton-pulse-6ed105a7{0%,to{opacity:1}50%{opacity:.5}}.promo-banner[data-v-afcae361]{background:var(--color-bg-white);padding:8px 12px}.promo-banner__track[data-v-afcae361]{scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;gap:10px;display:flex;overflow-x:auto}.promo-banner__track[data-v-afcae361]::-webkit-scrollbar{display:none}.promo-banner__card[data-v-afcae361]{scroll-snap-align:start;color:#fff;border-radius:12px;flex:0 0 85%;align-items:center;min-height:100px;padding:20px 16px;display:flex}.promo-banner__title[data-v-afcae361]{font-size:18px;font-weight:700}.promo-banner__subtitle[data-v-afcae361]{opacity:.9;margin-top:4px;font-size:13px}.skeleton-card[data-v-61894465]{background:var(--color-bg-white);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.skeleton-card__image[data-v-61894465]{aspect-ratio:1;border-radius:0}.skeleton-card__body[data-v-61894465]{flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.skeleton-card__price[data-v-61894465]{border-radius:4px;width:60%;height:17px}.skeleton-card__name[data-v-61894465]{border-radius:4px;width:90%;height:15px}.skeleton-card__name.skeleton--short[data-v-61894465]{width:55%}.skeleton-card__btn[data-v-61894465]{border-radius:8px;width:100%;height:29px;margin-top:4px}.home[data-v-b8399343]{background:var(--color-bg)}.home__section[data-v-b8399343]{padding:12px}.home__filters[data-v-b8399343]{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.home__sort-select[data-v-b8399343]{border:1px solid var(--color-border);background:var(--color-bg-white);width:100%;color:var(--color-text);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:10px;padding:10px 12px;font-size:14px}.home__price-filter[data-v-b8399343]{align-items:center;gap:8px;display:flex}.home__price-input[data-v-b8399343]{border:1px solid var(--color-border);background:var(--color-bg-white);min-width:0;color:var(--color-text);border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.home__price-input[data-v-b8399343]::placeholder{color:var(--color-text-secondary)}.home__price-sep[data-v-b8399343]{color:var(--color-text-secondary);font-size:14px}.home__price-btn[data-v-b8399343]{background:var(--color-primary);color:var(--color-white);border:none;border-radius:10px;flex-shrink:0;padding:10px 16px;font-size:14px;font-weight:500}@media (width>=768px){.home__filters[data-v-b8399343]{flex-direction:row;align-items:center}.home__sort-select[data-v-b8399343]{width:auto;min-width:220px}.home__price-filter[data-v-b8399343]{flex:1;justify-content:flex-end}}.home__section-title[data-v-b8399343]{color:var(--color-text);margin-bottom:10px;font-size:18px;font-weight:700}.home__grid[data-v-b8399343]{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width>=768px){.home__grid[data-v-b8399343]{grid-template-columns:repeat(3,1fr);gap:12px}.home__section[data-v-b8399343]{padding:16px}}@media (width>=1024px){.home__grid[data-v-b8399343]{grid-template-columns:repeat(4,1fr);gap:16px}}@media (width>=1280px){.home__grid[data-v-b8399343]{grid-template-columns:repeat(5,1fr);gap:16px}}.home__loading[data-v-b8399343]{text-align:center;color:var(--color-text-secondary);padding:16px;font-size:14px}.home__loading-more[data-v-b8399343]{justify-content:center;padding:16px;display:flex}.home__spinner[data-v-b8399343]{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite home-spinner-b8399343}@keyframes home-spinner-b8399343{to{transform:rotate(360deg)}}.home__empty[data-v-b8399343]{text-align:center;color:var(--color-text-secondary);padding:40px 20px;font-size:15px}.home__load-more[data-v-b8399343]{background:var(--color-bg-white);width:100%;color:var(--color-primary);border-radius:12px;margin-top:12px;padding:12px;font-size:15px;font-weight:500;transition:background .15s;display:block}.home__load-more[data-v-b8399343]:hover{background:#e8f0fe}.home__rating-filter[data-v-b8399343]{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.home__rating-label[data-v-b8399343]{color:var(--color-text-secondary);margin-right:4px;font-size:14px}.home__rating-btn[data-v-b8399343]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text-secondary);border-radius:20px;padding:6px 12px;font-size:13px;transition:all .15s}.home__rating-btn--active[data-v-b8399343]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.home__rating-clear[data-v-b8399343]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text-secondary);border-radius:20px;padding:6px 10px;font-size:13px}.home__header-row[data-v-b8399343]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.home__count[data-v-b8399343]{color:var(--color-text-secondary);font-size:14px}.home__load-trigger[data-v-b8399343]{height:20px;margin-top:8px}.auth-page[data-v-27d01fa2]{background:var(--color-bg);min-height:100vh;padding:24px 16px 40px}.auth-card[data-v-27d01fa2]{background:var(--color-bg-white);border-radius:16px;max-width:420px;margin:0 auto;padding:28px 20px}.auth-title[data-v-27d01fa2]{color:var(--color-text);margin-bottom:4px;font-size:24px;font-weight:700}.auth-subtitle[data-v-27d01fa2]{color:var(--color-text-secondary);margin-bottom:24px;font-size:14px}.auth-form[data-v-27d01fa2]{flex-direction:column;gap:16px;display:flex}.field[data-v-27d01fa2]{flex-direction:column;gap:6px;display:flex}.field-label[data-v-27d01fa2]{color:var(--color-text);font-size:14px;font-weight:500}.required[data-v-27d01fa2]{color:var(--color-danger)}.field-input[data-v-27d01fa2]{border:1px solid var(--color-border);background:var(--color-bg-white);border-radius:10px;width:100%;padding:12px 14px;font-size:15px;transition:border-color .15s}.field-input[data-v-27d01fa2]:focus{border-color:var(--color-primary);outline:none}.field-input--error[data-v-27d01fa2]{border-color:var(--color-danger)}.field-input-wrapper[data-v-27d01fa2]{position:relative}.field-input-wrapper .field-input[data-v-27d01fa2]{padding-right:44px}.field-toggle[data-v-27d01fa2]{color:var(--color-text-secondary);background:0 0;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.field-error[data-v-27d01fa2]{color:var(--color-danger);font-size:12px}.auth-submit[data-v-27d01fa2]{background:var(--color-primary);color:#fff;border-radius:12px;width:100%;margin-top:4px;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s}.auth-submit[data-v-27d01fa2]:disabled{opacity:.6;cursor:not-allowed}.auth-error[data-v-27d01fa2]{color:var(--color-danger);text-align:center;background:#fff0f0;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:14px}.auth-divider[data-v-27d01fa2]{color:var(--color-text-secondary);align-items:center;gap:12px;margin:20px 0;font-size:14px;display:flex}.auth-divider[data-v-27d01fa2]:before,.auth-divider[data-v-27d01fa2]:after{content:"";background:var(--color-border);flex:1;height:1px}.oauth-buttons[data-v-27d01fa2]{gap:10px;display:flex}.oauth-button[data-v-27d01fa2]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.oauth-button[data-v-27d01fa2]:hover{background:var(--color-bg)}.auth-footer[data-v-27d01fa2]{text-align:center;color:var(--color-text-secondary);margin-top:20px;font-size:14px}@media (width>=768px){.auth-page[data-v-27d01fa2]{justify-content:center;align-items:center;padding:40px 20px;display:flex}.auth-card[data-v-27d01fa2]{width:100%;box-shadow:0 4px 20px #00000014}}.autocomplete[data-v-d70473da]{position:relative}.autocomplete__dropdown[data-v-d70473da]{z-index:50;border:1px solid var(--color-border);background:#fff;border-radius:10px;max-height:260px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.autocomplete__item[data-v-d70473da]{cursor:pointer;border-bottom:1px solid #f0f0f0;padding:10px 12px;font-size:14px;transition:background .1s}.autocomplete__item[data-v-d70473da]:last-child{border-bottom:none}.autocomplete__item[data-v-d70473da]:hover,.autocomplete__item--active[data-v-d70473da]{background:var(--color-primary-light);color:var(--color-primary)}.autocomplete__dropdown--empty[data-v-d70473da]{color:var(--color-text-secondary);text-align:center;padding:12px;font-size:13px}.autocomplete__loading[data-v-d70473da]{align-items:center;gap:6px;display:inline-flex}.address-form[data-v-3a120940]{flex-direction:column;gap:10px;display:flex}.address-form__header[data-v-3a120940]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.address-form__label[data-v-3a120940]{color:var(--color-text);font-size:14px;font-weight:600}.address-form__grid[data-v-3a120940]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.address-field[data-v-3a120940]{flex-direction:column;gap:4px;display:flex}.address-field--wide[data-v-3a120940]{grid-column:span 2}.address-field__label[data-v-3a120940]{color:var(--color-text);font-size:13px;font-weight:500}.address-field__input[data-v-3a120940]{border:1px solid var(--color-border);background:var(--color-bg-white);border-radius:10px;width:100%;padding:10px 12px;font-size:15px;transition:border-color .15s}.address-field__input[data-v-3a120940]:focus{border-color:var(--color-primary);outline:none}.required[data-v-3a120940]{color:var(--color-danger)}@media (width>=768px){.address-form__grid[data-v-3a120940]{grid-template-columns:1fr 1fr}}.skeleton-cart-item[data-v-55a37bf3]{background:var(--color-bg-white);border-radius:14px;align-items:flex-start;gap:12px;padding:12px;display:flex}.skeleton-cart-item__image[data-v-55a37bf3]{border-radius:10px;flex-shrink:0;width:72px;height:72px}.skeleton-cart-item__info[data-v-55a37bf3]{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.skeleton-cart-item__name[data-v-55a37bf3]{border-radius:4px;width:80%;height:14px}.skeleton-cart-item__name.skeleton--short[data-v-55a37bf3]{width:50%}.skeleton-cart-item__bottom[data-v-55a37bf3]{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.skeleton-cart-item__qty[data-v-55a37bf3]{border-radius:10px;width:80px;height:32px}.skeleton-cart-item__total[data-v-55a37bf3]{border-radius:4px;width:60px;height:18px}.cart[data-v-33a21d93]{max-width:800px;padding:12px 12px calc(100px + var(--bottom-nav-height,56px));margin:0 auto}@media (width>=768px){.cart[data-v-33a21d93]{padding:20px 20px 40px}}.cart__header[data-v-33a21d93]{padding:8px 0 16px}.cart__title[data-v-33a21d93]{color:var(--color-text);align-items:center;gap:8px;font-size:22px;font-weight:700;display:flex}.cart__count[data-v-33a21d93]{color:var(--color-text-secondary);background:var(--color-bg);border-radius:12px;padding:2px 10px;font-size:15px;font-weight:500}.cart__loading[data-v-33a21d93]{text-align:center;color:var(--color-text-secondary);padding:60px 20px}.cart__loading .spinner[data-v-33a21d93]{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.8s linear infinite spin-33a21d93}@keyframes spin-33a21d93{to{transform:rotate(360deg)}}.cart__empty[data-v-33a21d93]{text-align:center;padding:60px 20px}.cart__empty-icon[data-v-33a21d93]{color:var(--color-border);margin-bottom:16px}.cart__empty-text[data-v-33a21d93]{color:var(--color-text-secondary);margin-bottom:20px;font-size:16px}.cart__empty-btn[data-v-33a21d93]{background:var(--color-primary);color:#fff;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:500;display:inline-block}.cart__items[data-v-33a21d93]{flex-direction:column;gap:10px;display:flex}.cart-item[data-v-33a21d93]{background:var(--color-bg-white);border-radius:14px;align-items:flex-start;gap:12px;padding:12px;transition:transform .2s;display:flex;position:relative;overflow:hidden}.cart-item--swiped[data-v-33a21d93]{transform:translate(-80px)}.cart-item__image[data-v-33a21d93]{cursor:pointer;background:var(--color-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.cart-item__img[data-v-33a21d93]{object-fit:cover;width:100%;height:100%}.cart-item__placeholder[data-v-33a21d93]{color:#0000001f;font-size:24px;font-weight:700}.cart-item__info[data-v-33a21d93]{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.cart-item__name[data-v-33a21d93]{color:var(--color-text);cursor:pointer;word-break:break-word;font-size:14px;font-weight:500;line-height:1.3}.cart-item__price-per-unit[data-v-33a21d93]{color:var(--color-text-secondary);font-size:13px}.cart-item__bottom[data-v-33a21d93]{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.cart-item__qty[data-v-33a21d93]{border:1px solid var(--color-border);border-radius:10px;align-items:center;gap:2px;display:flex;overflow:hidden}.cart-item__qty-btn[data-v-33a21d93]{background:var(--color-bg-white);width:32px;height:32px;color:var(--color-text);justify-content:center;align-items:center;transition:background .15s;display:flex}.cart-item__qty-btn[data-v-33a21d93]:disabled{opacity:.4;cursor:not-allowed}.cart-item__qty-btn[data-v-33a21d93]:active:not(:disabled){background:var(--color-bg)}.cart-item__qty-value[data-v-33a21d93]{text-align:center;min-width:32px;color:var(--color-text);font-size:14px;font-weight:600}.cart-item__total[data-v-33a21d93]{color:var(--color-text);font-size:16px;font-weight:700}.cart-item__stock-warning[data-v-33a21d93]{color:var(--color-danger);font-size:12px}.cart-item__remove-desktop[data-v-33a21d93]{width:36px;height:36px;color:var(--color-text-secondary);background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:none}.cart-item__remove-desktop[data-v-33a21d93]:hover{color:var(--color-danger);background:#fff0f0}@media (width>=640px){.cart-item__remove-desktop[data-v-33a21d93]{display:flex}}.cart-item__delete-bg[data-v-33a21d93]{background:var(--color-danger);color:#fff;z-index:-1;border:none;border-radius:0 14px 14px 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:80px;font-size:12px;font-weight:500;display:flex;position:absolute;top:0;bottom:0;right:0}@media (width>=640px){.cart-item__delete-bg[data-v-33a21d93]{display:none}}.cart__summary[data-v-33a21d93]{flex-direction:column;gap:12px;margin-top:20px;display:flex}@media (width>=768px){.cart__summary[data-v-33a21d93]{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}}.cart__summary-section[data-v-33a21d93]{background:var(--color-bg-white);border-radius:14px;padding:16px}.cart__summary-title[data-v-33a21d93]{color:var(--color-text);margin-bottom:14px;font-size:16px;font-weight:700}.cart__summary-row[data-v-33a21d93]{color:var(--color-text);justify-content:space-between;align-items:center;padding:6px 0;font-size:14px;display:flex}.cart__summary-free[data-v-33a21d93]{color:#0d7a3e;font-weight:500}.cart__delivery-list[data-v-33a21d93]{flex-direction:column;gap:8px;display:flex}.cart__delivery-option[data-v-33a21d93]{border:2px solid var(--color-border);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px;transition:border-color .2s;display:flex}.cart__delivery-option--active[data-v-33a21d93]{border-color:var(--color-primary)}.cart__delivery-radio[data-v-33a21d93]{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}.cart__delivery-info[data-v-33a21d93]{flex-direction:column;flex:1;gap:2px;display:flex}.cart__delivery-name[data-v-33a21d93]{color:var(--color-text);font-size:14px;font-weight:600}.cart__delivery-days[data-v-33a21d93]{color:var(--color-text-secondary);font-size:12px}.cart__delivery-price[data-v-33a21d93]{color:var(--color-text);white-space:nowrap;font-size:14px;font-weight:600}.cart__summary-divider[data-v-33a21d93]{background:var(--color-border);height:1px;margin:8px 0}.cart__summary-row--total[data-v-33a21d93]{color:var(--color-text);font-size:18px;font-weight:700}.cart__checkout-bar[data-v-33a21d93]{width:100%;max-width:800px;padding:12px 16px calc(12px + var(--bottom-nav-height,56px));background:var(--color-bg-white);border-top:1px solid var(--color-border);z-index:50;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@media (width>=768px){.cart__checkout-bar[data-v-33a21d93]{border:none;border-radius:14px;margin-top:20px;padding:16px;position:static;transform:none;box-shadow:0 4px 20px #00000014}}.cart__checkout-info[data-v-33a21d93]{flex-direction:column;gap:2px;display:flex}.cart__checkout-label[data-v-33a21d93]{color:var(--color-text-secondary);font-size:13px}.cart__checkout-price[data-v-33a21d93]{color:var(--color-text);font-size:20px;font-weight:700}.cart__checkout-btn[data-v-33a21d93]{background:var(--color-primary);color:#fff;border-radius:12px;flex:1;max-width:220px;padding:14px 20px;font-size:15px;font-weight:600;transition:opacity .15s}.cart__checkout-btn[data-v-33a21d93]:disabled{cursor:not-allowed;background:#ccc}@media (width>=768px){.cart__checkout-btn[data-v-33a21d93]{max-width:240px;font-size:16px}}.skeleton-order[data-v-25224dd1]{border:1px solid var(--color-border);background:var(--color-bg-white);border-radius:12px;padding:16px}.skeleton-order__header[data-v-25224dd1]{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.skeleton-order__id[data-v-25224dd1]{border-radius:4px;width:100px;height:16px}.skeleton-order__date[data-v-25224dd1]{border-radius:4px;width:80px;height:14px}.skeleton-order__divider[data-v-25224dd1]{background:var(--color-border);height:1px;margin-bottom:10px}.skeleton-order__row[data-v-25224dd1]{border-radius:4px;width:70%;height:14px;margin-bottom:8px}.skeleton-order__row.skeleton--short[data-v-25224dd1]{width:45%;margin-bottom:0}.orders-container[data-v-21e41863]{max-width:800px;margin:0 auto;padding:1rem}@media (width>=768px){.orders-container[data-v-21e41863]{padding:2rem}}.loading[data-v-21e41863],.error[data-v-21e41863],.empty[data-v-21e41863]{text-align:center;padding:2rem}.error[data-v-21e41863]{color:#e53e3e;background-color:#fff5f5;border:1px solid #feb2b2;border-radius:8px}.orders-list[data-v-21e41863]{flex-direction:column;gap:10px;display:flex}.order-card[data-v-21e41863]{background:var(--color-bg-white);color:var(--color-text);border-radius:14px;padding:16px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:block}.order-card[data-v-21e41863]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.order-header[data-v-21e41863]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;display:flex}.order-id[data-v-21e41863]{color:var(--color-text);font-size:16px;font-weight:700}.order-date[data-v-21e41863]{color:var(--color-text-secondary);font-size:13px}.order-body[data-v-21e41863]{flex-direction:column;gap:8px;display:flex}.order-row[data-v-21e41863]{justify-content:space-between;align-items:center;gap:12px;display:flex}.order-label[data-v-21e41863]{color:var(--color-text-secondary);font-size:14px}.order-value[data-v-21e41863]{color:var(--color-text);font-size:14px;font-weight:500}.order-value--address[data-v-21e41863]{text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.status-badge[data-v-21e41863]{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.status-badge--pending[data-v-21e41863]{color:#b28704;background:#fff8e1}.status-badge--paid[data-v-21e41863]{color:#005bff;background:#e8f0fe}.status-badge--shipped[data-v-21e41863]{color:#06c;background:#e3f2fd}.status-badge--delivered[data-v-21e41863]{color:#0d7a3e;background:#e6f7ed}.status-badge--cancelled[data-v-21e41863]{color:var(--color-danger);background:#fff0f0}.order-row--action[data-v-21e41863]{justify-content:flex-end;margin-top:8px}.order-pay-btn[data-v-21e41863]{background:var(--color-primary);color:#fff;text-align:center;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.order-cancel-btn[data-v-21e41863]{color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;text-align:center;background:0 0;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:500;display:inline-block}.order-cancel-btn[data-v-21e41863]:hover{color:var(--color-danger);background:#fff0f0;border-color:#ffcdd2}.order-footer[data-v-21e41863]{border-top:1px solid var(--color-border);text-align:right;margin-top:12px;padding-top:10px}.order-detail-link[data-v-21e41863]{color:var(--color-primary);font-size:14px;font-weight:500}button[data-v-21e41863]{background-color:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.5rem 1rem}.skeleton-profile[data-v-1f96cb40]{flex-direction:column;gap:12px;display:flex}@media (width>=768px){.skeleton-profile[data-v-1f96cb40]{grid-template-columns:300px 1fr;align-items:start;gap:16px;display:grid}}.skeleton-profile__card[data-v-1f96cb40]{background:var(--color-bg-white);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.skeleton-profile__avatar[data-v-1f96cb40]{border-radius:50%;width:64px;height:64px;margin:0 auto}.skeleton-profile__name[data-v-1f96cb40]{border-radius:4px;width:60%;height:16px;margin:0 auto}.skeleton-profile__email[data-v-1f96cb40]{border-radius:4px;width:80%;height:14px;margin:0 auto}.skeleton-profile__title[data-v-1f96cb40]{border-radius:4px;width:50%;height:16px;margin-bottom:6px}.skeleton-profile__row[data-v-1f96cb40]{justify-content:space-between;align-items:center;gap:12px;display:flex}.skeleton-profile__label[data-v-1f96cb40],.skeleton-profile__value[data-v-1f96cb40]{border-radius:4px;width:40%;height:14px}.profile-page[data-v-0eddd1bb]{background:var(--color-bg);min-height:100vh;padding:16px 12px 80px}.profile-header[data-v-0eddd1bb]{padding:10px 0 16px}.profile-title[data-v-0eddd1bb]{color:var(--color-text);font-size:22px;font-weight:700}.profile-loading[data-v-0eddd1bb]{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.spinner[data-v-0eddd1bb]{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-0eddd1bb}@keyframes spin-0eddd1bb{to{transform:rotate(360deg)}}.profile-error[data-v-0eddd1bb]{text-align:center;color:var(--color-danger);padding:40px 20px;font-size:14px}.retry-btn[data-v-0eddd1bb]{background:var(--color-primary);color:#fff;border-radius:10px;margin-top:12px;padding:10px 20px;font-size:14px;font-weight:500}.profile-content[data-v-0eddd1bb]{flex-direction:column;gap:12px;display:flex}.profile-card[data-v-0eddd1bb]{background:var(--color-bg-white);border-radius:14px;padding:18px}.profile-card--avatar[data-v-0eddd1bb]{align-items:center;gap:16px;padding:20px 18px;display:flex}.avatar[data-v-0eddd1bb]{background:var(--color-primary-light);width:64px;height:64px;color:var(--color-primary);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex;overflow:hidden}.avatar__img[data-v-0eddd1bb]{object-fit:cover;width:100%;height:100%}.avatar-info[data-v-0eddd1bb]{min-width:0}.avatar-name[data-v-0eddd1bb]{color:var(--color-text);word-break:break-word;font-size:17px;font-weight:600;line-height:1.3}.avatar-email[data-v-0eddd1bb]{color:var(--color-text-secondary);margin-top:2px;font-size:14px}.card-title[data-v-0eddd1bb]{color:var(--color-text);margin-bottom:14px;font-size:16px;font-weight:600}.detail-list[data-v-0eddd1bb]{flex-direction:column;gap:12px;display:flex}.detail-item[data-v-0eddd1bb]{justify-content:space-between;align-items:center;gap:12px;display:flex}.detail-label[data-v-0eddd1bb]{color:var(--color-text-secondary);font-size:14px}.detail-value[data-v-0eddd1bb]{color:var(--color-text);text-align:right;font-size:14px;font-weight:500}.role-badge[data-v-0eddd1bb]{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.role-badge.user[data-v-0eddd1bb]{color:#06c;background:#e8f4fd}.role-badge.admin[data-v-0eddd1bb]{color:#0d7a3e;background:#e6f7ed}.role-badge.supplier[data-v-0eddd1bb]{color:#7c3aed;background:#f3e8ff}.action-list[data-v-0eddd1bb]{flex-direction:column;gap:6px;display:flex}.action-btn[data-v-0eddd1bb]{color:var(--color-text);text-align:left;background:0 0;border-radius:10px;align-items:center;gap:12px;padding:12px;font-size:15px;font-weight:500;transition:background .15s;display:flex}.action-btn[data-v-0eddd1bb]:hover{background:var(--color-bg)}.action-btn--primary[data-v-0eddd1bb]{color:var(--color-primary)}.action-btn--danger[data-v-0eddd1bb]{color:var(--color-danger)}.action-chevron[data-v-0eddd1bb]{color:var(--color-text-secondary);margin-left:auto}.profile-empty[data-v-0eddd1bb]{text-align:center;color:var(--color-text-secondary);padding:60px 20px;font-size:15px}@media (width>=768px){.profile-page[data-v-0eddd1bb]{padding:24px 20px 40px}.profile-content[data-v-0eddd1bb]{grid-template-columns:300px 1fr;align-items:start;gap:16px;display:grid}.profile-card--avatar[data-v-0eddd1bb]{text-align:center;flex-direction:column;grid-column:1;padding:28px 20px}.avatar[data-v-0eddd1bb]{width:80px;height:80px;font-size:28px}.profile-card[data-v-0eddd1bb]:not(.profile-card--avatar){grid-column:2}}.profile-edit-page[data-v-bd67a847]{background:var(--color-bg);min-height:100vh;padding:16px 12px 80px}.profile-edit-header[data-v-bd67a847]{align-items:center;gap:8px;padding:10px 0 16px;display:flex}.back-btn[data-v-bd67a847]{width:36px;height:36px;color:var(--color-text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-edit-title[data-v-bd67a847]{color:var(--color-text);text-align:center;flex:1;font-size:18px;font-weight:600}.header-spacer[data-v-bd67a847]{flex-shrink:0;width:36px}.profile-edit-loading[data-v-bd67a847]{color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;font-size:14px;display:flex}.spinner[data-v-bd67a847]{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin-bd67a847}@keyframes spin-bd67a847{to{transform:rotate(360deg)}}.profile-edit-content[data-v-bd67a847]{flex-direction:column;gap:12px;display:flex}.edit-card[data-v-bd67a847]{background:var(--color-bg-white);border-radius:14px;padding:20px}.edit-card--avatar[data-v-bd67a847],.avatar-section[data-v-bd67a847]{flex-direction:column;align-items:center;gap:12px;display:flex}.avatar-preview[data-v-bd67a847]{background:var(--color-primary-light);width:96px;height:96px;color:var(--color-primary);-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:36px;font-weight:700;display:flex;overflow:hidden}.avatar-preview__img[data-v-bd67a847]{object-fit:cover;width:100%;height:100%}.avatar-upload-btn[data-v-bd67a847]{background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.avatar-upload-btn[data-v-bd67a847]:hover{background:var(--color-border)}.avatar-progress[data-v-bd67a847]{align-items:center;gap:10px;width:100%;max-width:200px;display:flex}.avatar-progress__bar[data-v-bd67a847]{background:var(--color-border);border-radius:3px;flex:1;height:6px;overflow:hidden}.avatar-progress__fill[data-v-bd67a847]{background:var(--color-primary);border-radius:3px;height:100%;transition:width .2s}.avatar-progress__text[data-v-bd67a847]{color:var(--color-primary);text-align:right;min-width:36px;font-size:12px;font-weight:600}.edit-card-title[data-v-bd67a847]{color:var(--color-text);margin-bottom:16px;font-size:16px;font-weight:600}.edit-form[data-v-bd67a847]{flex-direction:column;gap:14px;display:flex}.field[data-v-bd67a847]{flex-direction:column;gap:6px;display:flex}.field-label[data-v-bd67a847]{color:var(--color-text);font-size:14px;font-weight:500}.required[data-v-bd67a847]{color:var(--color-danger)}.field-input[data-v-bd67a847]{border:1px solid var(--color-border);background:var(--color-bg-white);border-radius:10px;width:100%;padding:12px 14px;font-size:15px;transition:border-color .15s}.field-input[data-v-bd67a847]:focus{border-color:var(--color-primary);outline:none}.field-input--error[data-v-bd67a847]{border-color:var(--color-danger)}.field-input-wrapper[data-v-bd67a847]{position:relative}.field-input-wrapper .field-input[data-v-bd67a847]{padding-right:44px}.field-toggle[data-v-bd67a847]{color:var(--color-text-secondary);background:0 0;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.field-error[data-v-bd67a847]{color:var(--color-danger);font-size:12px}.save-btn[data-v-bd67a847]{background:var(--color-primary);color:#fff;border-radius:12px;width:100%;margin-top:4px;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s}.save-btn[data-v-bd67a847]:disabled{opacity:.6;cursor:not-allowed}.success-msg[data-v-bd67a847]{color:#0d7a3e;text-align:center;background:#e6f7ed;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:14px}.error-msg[data-v-bd67a847]{color:var(--color-danger);text-align:center;background:#fff0f0;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:14px}@media (width>=768px){.profile-edit-page[data-v-bd67a847]{padding:24px 20px 40px}.profile-edit-content[data-v-bd67a847]{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}}.auth-page[data-v-f0117fea]{background:var(--color-bg);min-height:100vh;padding:24px 16px 40px}.auth-card[data-v-f0117fea]{background:var(--color-bg-white);border-radius:16px;max-width:420px;margin:0 auto;padding:28px 20px}.auth-title[data-v-f0117fea]{color:var(--color-text);margin-bottom:4px;font-size:24px;font-weight:700}.auth-subtitle[data-v-f0117fea]{color:var(--color-text-secondary);margin-bottom:24px;font-size:14px}.auth-form[data-v-f0117fea]{flex-direction:column;gap:16px;display:flex}.field[data-v-f0117fea]{flex-direction:column;gap:6px;display:flex}.field-label[data-v-f0117fea]{color:var(--color-text);font-size:14px;font-weight:500}.required[data-v-f0117fea]{color:var(--color-danger)}.field-input[data-v-f0117fea]{border:1px solid var(--color-border);background:var(--color-bg-white);border-radius:10px;width:100%;padding:12px 14px;font-size:15px;transition:border-color .15s}.field-input[data-v-f0117fea]:focus{border-color:var(--color-primary);outline:none}.field-input--error[data-v-f0117fea]{border-color:var(--color-danger)}.field-input-wrapper[data-v-f0117fea]{position:relative}.field-input-wrapper .field-input[data-v-f0117fea]{padding-right:44px}.field-toggle[data-v-f0117fea]{color:var(--color-text-secondary);background:0 0;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.field-error[data-v-f0117fea]{color:var(--color-danger);font-size:12px}.password-strength[data-v-f0117fea]{align-items:center;gap:8px;display:flex}.password-strength__bar[data-v-f0117fea]{background:var(--color-border);border-radius:2px;flex:1;height:4px;overflow:hidden}.password-strength__fill[data-v-f0117fea]{border-radius:2px;height:100%;transition:width .2s,background .2s}.password-strength__text[data-v-f0117fea]{font-size:12px;font-weight:500}.auth-submit[data-v-f0117fea]{background:var(--color-primary);color:#fff;border-radius:12px;width:100%;margin-top:4px;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s}.auth-submit[data-v-f0117fea]:disabled{opacity:.6;cursor:not-allowed}.auth-error[data-v-f0117fea]{color:var(--color-danger);text-align:center;background:#fff0f0;border-radius:10px;margin-top:12px;padding:10px 12px;font-size:14px}.auth-divider[data-v-f0117fea]{color:var(--color-text-secondary);align-items:center;gap:12px;margin:20px 0;font-size:14px;display:flex}.auth-divider[data-v-f0117fea]:before,.auth-divider[data-v-f0117fea]:after{content:"";background:var(--color-border);flex:1;height:1px}.oauth-buttons[data-v-f0117fea]{gap:10px;display:flex}.oauth-button[data-v-f0117fea]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.oauth-button[data-v-f0117fea]:hover{background:var(--color-bg)}.auth-footer[data-v-f0117fea]{text-align:center;color:var(--color-text-secondary);margin-top:20px;font-size:14px}.role-selector[data-v-f0117fea]{gap:8px;display:flex}.role-option[data-v-f0117fea]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text-secondary);border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.role-option--active[data-v-f0117fea]{border-color:var(--color-primary);color:var(--color-primary);background:#e8f0fe}@media (width>=768px){.auth-page[data-v-f0117fea]{justify-content:center;align-items:center;padding:40px 20px;display:flex}.auth-card[data-v-f0117fea]{width:100%;box-shadow:0 4px 20px #00000014}}.callback-container[data-v-ba78c2dc]{text-align:center;max-width:400px;margin:0 auto;padding:2rem}.skeleton-pdp[data-v-ef6dc031]{flex-direction:column;gap:16px;display:flex}@media (width>=768px){.skeleton-pdp[data-v-ef6dc031]{flex-direction:row;gap:20px;padding:20px}}.skeleton-pdp__gallery[data-v-ef6dc031]{flex-direction:column;gap:12px;display:flex}@media (width>=768px){.skeleton-pdp__gallery[data-v-ef6dc031]{flex:0 0 45%;max-width:500px}}.skeleton-pdp__image[data-v-ef6dc031]{aspect-ratio:1;border-radius:12px}@media (width>=768px){.skeleton-pdp__image[data-v-ef6dc031]{aspect-ratio:4/3}}.skeleton-pdp__thumbs[data-v-ef6dc031]{gap:8px;display:flex}.skeleton-pdp__thumb[data-v-ef6dc031]{border-radius:8px;width:56px;height:56px}.skeleton-pdp__info[data-v-ef6dc031]{flex-direction:column;flex:1;gap:14px;padding:0 12px;display:flex}.skeleton-pdp__price[data-v-ef6dc031]{border-radius:6px;width:40%;height:32px}.skeleton-pdp__rating[data-v-ef6dc031]{border-radius:4px;width:30%;height:20px}.skeleton-pdp__actions[data-v-ef6dc031]{gap:10px;display:flex}.skeleton-pdp__btn[data-v-ef6dc031]{border-radius:12px;flex:1;height:48px}.skeleton-pdp__btn.skeleton--small[data-v-ef6dc031]{flex:0 0 48px}.skeleton-pdp__section[data-v-ef6dc031]{background:var(--color-bg-white);border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.skeleton-pdp__section-title[data-v-ef6dc031]{border-radius:4px;width:40%;height:16px;margin-bottom:4px}.skeleton-pdp__text[data-v-ef6dc031]{border-radius:4px;width:100%;height:12px}.skeleton-pdp__text[data-v-ef6dc031]:nth-child(3){width:70%}.product-detail[data-v-c6640339]{background:var(--color-bg);min-height:100vh;padding-bottom:20px}.product-detail__header[data-v-c6640339]{background:var(--color-bg-white);z-index:50;border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.product-detail__back[data-v-c6640339]{width:36px;height:36px;color:var(--color-text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.product-detail__title[data-v-c6640339]{color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;font-size:16px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.product-detail__fav-btn[data-v-c6640339]{width:36px;height:36px;color:var(--color-text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}.product-detail__fav-btn--active[data-v-c6640339]{color:#ff4242}.product-detail__main[data-v-c6640339]{flex-direction:column;display:flex}.product-detail__gallery[data-v-c6640339]{background:var(--color-bg-white);padding:16px}.product-detail__image[data-v-c6640339]{aspect-ratio:1;border-radius:12px;justify-content:center;align-items:center;display:flex}.product-detail__img[data-v-c6640339]{object-fit:cover;border-radius:12px;width:100%;height:100%}.product-detail__thumbs[data-v-c6640339]{gap:8px;margin-top:12px;display:flex;overflow-x:auto}.product-detail__thumb[data-v-c6640339]{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;padding:0;overflow:hidden}.product-detail__thumb img[data-v-c6640339]{object-fit:cover;width:100%;height:100%}.product-detail__thumb--active[data-v-c6640339]{border-color:var(--color-primary)}.product-detail__image-letter[data-v-c6640339]{color:#0000001f;-webkit-user-select:none;user-select:none;font-size:80px;font-weight:700}.product-detail__info[data-v-c6640339]{flex-direction:column;gap:16px;padding:16px 12px;display:flex}.product-detail__price[data-v-c6640339]{color:var(--color-text);font-size:28px;font-weight:700;line-height:1}.product-detail__rating[data-v-c6640339]{align-items:center;gap:8px;display:flex}.product-detail__stars[data-v-c6640339]{gap:2px;display:flex}.product-detail__rating-text[data-v-c6640339]{color:var(--color-text-secondary);font-size:14px}.product-detail__actions[data-v-c6640339]{gap:10px;display:flex}.product-detail__cart-btn[data-v-c6640339]{background:var(--color-primary);color:#fff;border-radius:12px;flex:1;padding:14px;font-size:16px;font-weight:600;transition:opacity .15s}.product-detail__cart-btn[data-v-c6640339]:disabled{opacity:.6;cursor:not-allowed}.product-detail__section[data-v-c6640339]{background:var(--color-bg-white);border-radius:12px;padding:14px}.product-detail__section-title[data-v-c6640339]{color:var(--color-text);margin-bottom:10px;font-size:16px;font-weight:600}.product-detail__description[data-v-c6640339]{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.product-detail__reviews-wrapper[data-v-c6640339]{padding:0 12px}.product-detail__review-form[data-v-c6640339]{border-bottom:1px solid var(--color-border);flex-direction:column;gap:10px;margin-bottom:16px;padding-bottom:16px;display:flex}.product-detail__rating-input[data-v-c6640339]{gap:4px;display:flex}.product-detail__star-btn[data-v-c6640339]{padding:2px}.product-detail__review-textarea[data-v-c6640339]{border:1px solid var(--color-border);resize:vertical;border-radius:10px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.product-detail__review-textarea[data-v-c6640339]:focus{border-color:var(--color-primary);outline:none}.product-detail__review-submit[data-v-c6640339]{background:var(--color-primary);color:#fff;border-radius:10px;align-self:flex-start;padding:10px 20px;font-size:14px;font-weight:500}.product-detail__review-submit[data-v-c6640339]:disabled{opacity:.5;cursor:not-allowed}.product-detail__empty[data-v-c6640339]{text-align:center;color:var(--color-text-secondary);padding:20px;font-size:14px}.product-detail__reviews-list[data-v-c6640339]{flex-direction:column;gap:12px;display:flex}.product-detail__review[data-v-c6640339]{background:var(--color-bg);border-radius:10px;padding:10px}.product-detail__review-header[data-v-c6640339]{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.product-detail__review-stars[data-v-c6640339]{gap:2px;display:flex}.product-detail__review-date[data-v-c6640339]{color:var(--color-text-secondary);font-size:12px}.product-detail__review-text[data-v-c6640339]{color:var(--color-text);font-size:14px;line-height:1.4}@media (width>=768px){.product-detail__main[data-v-c6640339]{flex-direction:row;gap:20px;padding:20px}.product-detail__gallery[data-v-c6640339]{border-radius:16px;flex:0 0 45%;max-width:500px;padding:24px}.product-detail__image[data-v-c6640339]{aspect-ratio:4/3}.product-detail__info[data-v-c6640339]{flex:1;padding:0}.product-detail__price[data-v-c6640339]{font-size:32px}.product-detail__reviews-wrapper[data-v-c6640339]{padding:0 20px}}.favorites[data-v-efc1949b]{background:var(--color-bg);min-height:100vh;padding:12px}.favorites__header[data-v-efc1949b]{padding:10px 0 16px}.favorites__title[data-v-efc1949b]{color:var(--color-text);font-size:22px;font-weight:700}.favorites__loading[data-v-efc1949b]{text-align:center;color:var(--color-text-secondary);padding:40px;font-size:14px}.favorites__empty[data-v-efc1949b]{text-align:center;color:var(--color-text-secondary);padding:60px 20px;font-size:15px}.favorites__empty p[data-v-efc1949b]{margin-bottom:16px}.favorites__link[data-v-efc1949b]{background:var(--color-primary);color:#fff;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:500;display:inline-block}.favorites__grid[data-v-efc1949b]{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width>=768px){.favorites[data-v-efc1949b]{padding:16px}.favorites__grid[data-v-efc1949b]{grid-template-columns:repeat(3,1fr);gap:12px}}@media (width>=1024px){.favorites__grid[data-v-efc1949b]{grid-template-columns:repeat(4,1fr);gap:16px}}@media (width>=1280px){.favorites__grid[data-v-efc1949b]{grid-template-columns:repeat(5,1fr);gap:16px}}.modal-overlay[data-v-aa53257f]{z-index:200;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=640px){.modal-overlay[data-v-aa53257f]{align-items:center}}.modal[data-v-aa53257f]{background:var(--color-bg-white);width:100%;max-width:480px;max-height:90vh;padding:20px 16px calc(24px + var(--bottom-nav-height,60px));border-radius:20px 20px 0 0;overflow-y:auto}@media (width>=640px){.modal[data-v-aa53257f]{border-radius:16px;padding:24px}}.modal__header[data-v-aa53257f]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal__title[data-v-aa53257f]{color:var(--color-text);font-size:18px;font-weight:700}.modal__close[data-v-aa53257f]{background:var(--color-bg);width:32px;height:32px;color:var(--color-text);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.modal__form[data-v-aa53257f]{flex-direction:column;gap:14px;display:flex}.field[data-v-aa53257f]{flex-direction:column;gap:4px;display:flex}.field__label[data-v-aa53257f]{color:var(--color-text);font-size:14px;font-weight:500}.field__input[data-v-aa53257f]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text);border-radius:10px;width:100%;padding:12px 14px;font-size:15px}.field__input[data-v-aa53257f]:focus{border-color:var(--color-primary);outline:none}.field__input--textarea[data-v-aa53257f]{resize:vertical;min-height:80px}.field-row[data-v-aa53257f]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.required[data-v-aa53257f]{color:var(--color-danger)}.checkbox[data-v-aa53257f]{color:var(--color-text);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox input[data-v-aa53257f]{width:18px;height:18px;accent-color:var(--color-primary)}.form-error[data-v-aa53257f]{color:var(--color-danger);background:#fff0f0;border-radius:10px;padding:10px 12px;font-size:14px}.modal__submit[data-v-aa53257f]{background:var(--color-primary);color:#fff;border:none;border-radius:12px;width:100%;margin-top:4px;padding:14px;font-size:16px;font-weight:600}.modal__submit[data-v-aa53257f]:disabled{opacity:.6}.image-grid[data-v-aa53257f]{flex-wrap:wrap;gap:8px;display:flex}.image-thumb[data-v-aa53257f]{border:1px solid var(--color-border);border-radius:10px;width:72px;height:72px;position:relative;overflow:hidden}.image-thumb img[data-v-aa53257f]{object-fit:cover;width:100%;height:100%}.image-thumb__remove[data-v-aa53257f]{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;display:flex;position:absolute;top:2px;right:2px}.image-upload[data-v-aa53257f]{border:2px dashed var(--color-border);width:72px;height:72px;color:var(--color-text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.image-upload[data-v-aa53257f]:hover{border-color:var(--color-primary);color:var(--color-primary)}.upload-progress[data-v-aa53257f]{align-items:center;gap:10px;margin-top:8px;display:flex}.upload-progress__bar[data-v-aa53257f]{background:var(--color-border);border-radius:3px;flex:1;height:6px;overflow:hidden}.upload-progress__fill[data-v-aa53257f]{background:var(--color-primary);border-radius:3px;height:100%;transition:width .2s}.upload-progress__text[data-v-aa53257f]{color:var(--color-primary);text-align:right;min-width:36px;font-size:12px;font-weight:600}.supplier-products[data-v-974c25aa]{background:var(--color-bg);min-height:100vh;padding:16px}.supplier-products__header[data-v-974c25aa]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.supplier-products__title[data-v-974c25aa]{color:var(--color-text);font-size:20px;font-weight:700}.supplier-products__add[data-v-974c25aa]{background:var(--color-primary);color:#fff;border:none;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.supplier-products__loading[data-v-974c25aa],.supplier-products__empty[data-v-974c25aa]{text-align:center;color:var(--color-text-secondary);padding:40px 20px}.supplier-products__add-empty[data-v-974c25aa]{background:var(--color-primary);color:#fff;border:none;border-radius:12px;margin-top:12px;padding:12px 20px;font-size:15px;font-weight:500}.supplier-products__list[data-v-974c25aa]{flex-direction:column;gap:10px;display:flex}.supplier-product-card[data-v-974c25aa]{background:var(--color-bg-white);border-radius:14px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.supplier-product-card--inactive[data-v-974c25aa]{opacity:.7}.supplier-product-card__info[data-v-974c25aa]{flex:1;min-width:0}.supplier-product-card__name[data-v-974c25aa]{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:15px;font-weight:600;overflow:hidden}.supplier-product-card__price[data-v-974c25aa]{color:var(--color-primary);margin-bottom:2px;font-size:14px;font-weight:600}.supplier-product-card__stock[data-v-974c25aa]{color:var(--color-text-secondary);font-size:13px}.supplier-product-card__badge[data-v-974c25aa]{color:#888;background:#f0f0f0;border-radius:6px;margin-top:6px;padding:2px 8px;font-size:12px;display:inline-block}.supplier-product-card__actions[data-v-974c25aa]{flex-shrink:0;gap:8px;display:flex}.supplier-product-card__btn[data-v-974c25aa]{border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.supplier-product-card__btn--edit[data-v-974c25aa]{color:var(--color-primary);background:#e8f0fe}.supplier-product-card__btn--delete[data-v-974c25aa]{color:var(--color-danger);background:#fff0f0}.skeleton-admin[data-v-c5d5d868]{flex-direction:column;gap:16px;display:flex}.skeleton-admin__header[data-v-c5d5d868]{justify-content:space-between;align-items:center;display:flex}.skeleton-admin__title[data-v-c5d5d868]{border-radius:4px;width:200px;height:20px}.skeleton-admin__btn[data-v-c5d5d868]{border-radius:8px;width:120px;height:36px}.skeleton-admin__table-wrapper[data-v-c5d5d868]{background:var(--color-bg-white);border-radius:12px;padding:16px;overflow-x:auto}.skeleton-admin__row[data-v-c5d5d868]{border-bottom:1px solid var(--color-border);grid-template-columns:60px 1fr 1fr 100px;align-items:center;gap:12px;padding:12px 0;display:grid}.skeleton-admin__row--head[data-v-c5d5d868]{margin-bottom:4px;padding-bottom:8px}.skeleton-admin__row--head .skeleton[data-v-c5d5d868]{height:13px}.skeleton-admin__cell[data-v-c5d5d868]{border-radius:4px;height:14px}.skeleton-admin__row:not(.skeleton-admin__row--head) .skeleton-admin__cell[data-v-c5d5d868]:last-child{width:70%}.admin[data-v-5406b741]{background:var(--color-bg);min-height:100vh;padding:16px}.admin__title[data-v-5406b741]{color:var(--color-text);margin-bottom:20px;font-size:20px;font-weight:700}.admin__tabs[data-v-5406b741]{gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.admin__tab[data-v-5406b741]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text-secondary);white-space:nowrap;cursor:pointer;border-radius:10px;padding:8px 16px;font-size:14px;font-weight:500}.admin__tab--active[data-v-5406b741]{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.admin__kpi-grid[data-v-5406b741]{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px;display:grid}@media (width>=768px){.admin__kpi-grid[data-v-5406b741]{grid-template-columns:repeat(4,1fr)}}.admin__kpi-card[data-v-5406b741]{background:var(--color-bg-white);border-radius:16px;flex-direction:column;padding:16px;display:flex}.admin__kpi-icon[data-v-5406b741]{width:36px;height:36px;color:var(--color-primary);border-radius:10px;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.admin__kpi-value[data-v-5406b741]{color:var(--color-text);font-size:22px;font-weight:700;line-height:1.2}.admin__kpi-label[data-v-5406b741]{color:var(--color-text-secondary);margin-top:4px;font-size:12px}.admin__charts-row[data-v-5406b741]{gap:16px;margin-bottom:16px;display:grid}@media (width>=1024px){.admin__charts-row[data-v-5406b741]{grid-template-columns:2fr 1fr}}.admin__chart[data-v-5406b741]{padding:8px 0}.admin__chart-bars[data-v-5406b741]{justify-content:space-between;align-items:flex-end;gap:8px;height:160px;padding-bottom:24px;display:flex;position:relative}.admin__chart-bar-wrap[data-v-5406b741]{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.admin__chart-bar-track[data-v-5406b741]{background:var(--color-bg);border-radius:6px 6px 0 0;justify-content:center;align-items:flex-end;width:100%;height:140px;display:flex;overflow:hidden}.admin__chart-bar[data-v-5406b741]{background:var(--color-primary);border-radius:6px 6px 0 0;width:60%;min-height:4px;transition:height .3s}.admin__chart-label[data-v-5406b741]{color:var(--color-text-secondary);white-space:nowrap;font-size:11px;position:absolute;bottom:0}.admin__chart-tooltip[data-v-5406b741]{background:var(--color-text);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:12px;transition:opacity .15s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-4px)}.admin__chart-bar-wrap:hover .admin__chart-tooltip[data-v-5406b741]{opacity:1}.admin__top-products[data-v-5406b741]{flex-direction:column;gap:12px;display:flex}.admin__top-product[data-v-5406b741]{background:var(--color-bg);border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.admin__top-product-rank[data-v-5406b741]{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:flex}.admin__top-product-info[data-v-5406b741]{flex:1;min-width:0}.admin__top-product-name[data-v-5406b741]{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.admin__top-product-meta[data-v-5406b741]{color:var(--color-text-secondary);margin-top:2px;font-size:12px}.admin__top-product-revenue[data-v-5406b741]{color:var(--color-text);white-space:nowrap;font-size:14px;font-weight:600}.admin__section[data-v-5406b741]{background:var(--color-bg-white);border-radius:16px;padding:16px}.admin__section-header[data-v-5406b741]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin__section-title[data-v-5406b741]{color:var(--color-text);font-size:16px;font-weight:600}.admin__loading[data-v-5406b741],.admin__empty[data-v-5406b741]{text-align:center;color:var(--color-text-secondary);padding:40px 20px}.admin__table-wrapper[data-v-5406b741]{overflow-x:auto}.admin__table[data-v-5406b741]{border-collapse:collapse;width:100%;font-size:14px}.admin__table th[data-v-5406b741],.admin__table td[data-v-5406b741]{text-align:left;border-bottom:1px solid var(--color-border);padding:12px}.admin__table th[data-v-5406b741]{color:var(--color-text-secondary);font-size:13px;font-weight:600}.admin__table-actions[data-v-5406b741]{white-space:nowrap;width:1%}.admin__role-badge[data-v-5406b741]{border-radius:6px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-block}.admin__role-badge--admin[data-v-5406b741]{color:#1a73e8;background:#e8f0fe}.admin__role-badge--supplier[data-v-5406b741]{color:#e65100;background:#fff3e0}.admin__role-badge--user[data-v-5406b741]{color:#2e7d32;background:#e6f5e6}.admin__status-badge[data-v-5406b741]{border-radius:6px;padding:3px 8px;font-size:12px;font-weight:500;display:inline-block}.admin__status-badge--active[data-v-5406b741]{color:#2e7d32;background:#e6f5e6}.admin__status-badge--inactive[data-v-5406b741]{color:#c62828;background:#fff0f0}.admin__status-badge--pending[data-v-5406b741]{color:#e65100;background:#fff3e0}.admin__status-badge--paid[data-v-5406b741]{color:#1a73e8;background:#e8f0fe}.admin__status-badge--shipped[data-v-5406b741]{color:#2e7d32;background:#e6f5e6}.admin__status-badge--delivered[data-v-5406b741]{color:#00695c;background:#e0f2f1}.admin__status-badge--cancelled[data-v-5406b741]{color:#c62828;background:#fce4ec}.admin__filter-select[data-v-5406b741]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:14px}.admin__btn[data-v-5406b741]{cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:500}.admin__btn--primary[data-v-5406b741]{background:var(--color-primary);color:#fff}.admin__btn--small[data-v-5406b741]{padding:6px 12px;font-size:13px}.admin__btn--danger[data-v-5406b741]{color:var(--color-danger);background:#fff0f0}.admin__btn--success[data-v-5406b741]{color:#2e7d32;background:#e6f5e6}.admin__btn[data-v-5406b741]:disabled{opacity:.6;cursor:not-allowed}.admin__icon-btn[data-v-5406b741]{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-right:6px;display:inline-flex}.admin__icon-btn--edit[data-v-5406b741]{color:var(--color-primary);background:#e8f0fe}.admin__icon-btn--delete[data-v-5406b741]{color:var(--color-danger);background:#fff0f0}.modal-overlay[data-v-5406b741]{z-index:200;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=640px){.modal-overlay[data-v-5406b741]{align-items:center}}.modal[data-v-5406b741]{background:var(--color-bg-white);width:100%;max-width:480px;max-height:90vh;padding:20px 16px calc(24px + var(--bottom-nav-height,60px));border-radius:20px 20px 0 0;overflow-y:auto}@media (width>=640px){.modal[data-v-5406b741]{border-radius:16px;padding:24px}}.modal__header[data-v-5406b741]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal__header h3[data-v-5406b741]{color:var(--color-text);font-size:18px;font-weight:700}.modal__close[data-v-5406b741]{background:var(--color-bg);width:32px;height:32px;color:var(--color-text);cursor:pointer;border:none;border-radius:50%;font-size:20px}.modal__form[data-v-5406b741]{flex-direction:column;gap:14px;display:flex}.field[data-v-5406b741]{flex-direction:column;gap:4px;display:flex}.field__label[data-v-5406b741]{color:var(--color-text);font-size:14px;font-weight:500}.field__input[data-v-5406b741]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text);border-radius:10px;width:100%;padding:12px 14px;font-size:15px}.field__input[data-v-5406b741]:focus{border-color:var(--color-primary);outline:none}.field__input--textarea[data-v-5406b741]{resize:vertical;min-height:80px}.required[data-v-5406b741]{color:var(--color-danger)}.form-error[data-v-5406b741]{color:var(--color-danger);background:#fff0f0;border-radius:10px;padding:10px 12px;font-size:14px}.modal__submit[data-v-5406b741]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px;font-size:16px;font-weight:600}.modal__submit[data-v-5406b741]:disabled{opacity:.6}.order-detail[data-v-272d91a6]{max-width:800px;padding:12px 12px calc(20px + var(--bottom-nav-height,56px));margin:0 auto}@media (width>=768px){.order-detail[data-v-272d91a6]{padding:20px 20px 40px}}.order-detail__header[data-v-272d91a6]{align-items:center;gap:8px;padding:8px 0 16px;display:flex}.order-detail__back[data-v-272d91a6]{width:36px;height:36px;color:var(--color-text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.order-detail__title[data-v-272d91a6]{color:var(--color-text);font-size:20px;font-weight:700}.order-detail__loading[data-v-272d91a6],.order-detail__error[data-v-272d91a6]{text-align:center;color:var(--color-text-secondary);padding:60px 20px}.order-detail__loading .spinner[data-v-272d91a6]{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.8s linear infinite spin-272d91a6}@keyframes spin-272d91a6{to{transform:rotate(360deg)}}.order-detail__content[data-v-272d91a6]{flex-direction:column;gap:12px;display:flex}.order-detail__card[data-v-272d91a6]{background:var(--color-bg-white);border-radius:14px;padding:16px}.order-detail__section-title[data-v-272d91a6]{color:var(--color-text);margin-bottom:14px;font-size:16px;font-weight:700}.timeline[data-v-272d91a6]{flex-direction:column;gap:0;display:flex}.timeline__step[data-v-272d91a6]{align-items:flex-start;gap:12px;padding-bottom:20px;display:flex;position:relative}.timeline__step[data-v-272d91a6]:last-child{padding-bottom:0}.timeline__dot[data-v-272d91a6]{background:var(--color-bg);border:2px solid var(--color-border);width:24px;height:24px;color:var(--color-text-secondary);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.timeline__step--completed .timeline__dot[data-v-272d91a6]{color:#0d7a3e;background:#e6f7ed;border-color:#0d7a3e}.timeline__step--current .timeline__dot[data-v-272d91a6]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.timeline__dot-inner[data-v-272d91a6]{background:currentColor;border-radius:50%;width:8px;height:8px}.timeline__info[data-v-272d91a6]{flex-direction:column;gap:2px;padding-top:2px;display:flex}.timeline__label[data-v-272d91a6]{color:var(--color-text-secondary);font-size:14px;font-weight:500}.timeline__step--completed .timeline__label[data-v-272d91a6],.timeline__step--current .timeline__label[data-v-272d91a6]{color:var(--color-text);font-weight:600}.timeline__current[data-v-272d91a6]{color:var(--color-primary);font-size:12px;font-weight:500}.timeline__line[data-v-272d91a6]{background:var(--color-border);width:2px;position:absolute;top:24px;bottom:0;left:11px}.timeline__step--completed .timeline__line[data-v-272d91a6]{background:#0d7a3e}.info-list[data-v-272d91a6]{flex-direction:column;gap:10px;display:flex}.info-row[data-v-272d91a6]{justify-content:space-between;align-items:center;gap:12px;display:flex}.info-label[data-v-272d91a6]{color:var(--color-text-secondary);font-size:14px}.info-value[data-v-272d91a6]{color:var(--color-text);text-align:right;font-size:14px;font-weight:500}.status-badge[data-v-272d91a6]{border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.status-badge--pending[data-v-272d91a6]{color:#b28704;background:#fff8e1}.status-badge--paid[data-v-272d91a6]{color:#005bff;background:#e8f0fe}.status-badge--shipped[data-v-272d91a6]{color:#06c;background:#e3f2fd}.status-badge--delivered[data-v-272d91a6]{color:#0d7a3e;background:#e6f7ed}.status-badge--cancelled[data-v-272d91a6]{color:var(--color-danger);background:#fff0f0}.info-row--action[data-v-272d91a6]{justify-content:flex-end;margin-top:12px}.order-pay-btn[data-v-272d91a6]{background:var(--color-primary);color:#fff;text-align:center;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.order-cancel-btn[data-v-272d91a6]{color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;text-align:center;background:0 0;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:500;display:inline-block}.order-cancel-btn[data-v-272d91a6]:hover{color:var(--color-danger);background:#fff0f0;border-color:#ffcdd2}.order-items[data-v-272d91a6]{flex-direction:column;gap:10px;display:flex}.order-item[data-v-272d91a6]{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.order-item[data-v-272d91a6]:last-child{border-bottom:none}.order-item__info[data-v-272d91a6]{flex-direction:column;gap:2px;display:flex}.order-item__name[data-v-272d91a6]{color:var(--color-text);font-size:14px;font-weight:500}.order-item__meta[data-v-272d91a6]{color:var(--color-text-secondary);font-size:13px}.order-item__total[data-v-272d91a6]{color:var(--color-text);flex-shrink:0;font-size:15px;font-weight:700}.order-detail__total[data-v-272d91a6]{border-top:1px solid var(--color-border);color:var(--color-text);justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;font-size:18px;font-weight:700;display:flex}.delivery-days[data-v-272d91a6]{color:var(--color-text-secondary);font-size:13px}.checkout[data-v-91bd3749]{max-width:480px;padding:16px 16px calc(24px + var(--bottom-nav-height,56px));background:var(--color-bg);min-height:100vh;margin:0 auto}.checkout__header[data-v-91bd3749]{align-items:center;gap:12px;margin-bottom:20px;display:flex}.checkout__back[data-v-91bd3749]{background:var(--color-bg-white);width:36px;height:36px;color:var(--color-text);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;display:flex}.checkout__title[data-v-91bd3749]{color:var(--color-text);font-size:18px;font-weight:700}.checkout__card[data-v-91bd3749]{background:var(--color-bg-white);border-radius:16px;margin-bottom:12px;padding:16px}.checkout__section-title[data-v-91bd3749]{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px;font-size:13px;font-weight:600}.checkout__amount[data-v-91bd3749]{color:var(--color-text);font-size:28px;font-weight:700;line-height:1.2}.checkout__items-count[data-v-91bd3749]{color:var(--color-text-secondary);margin-top:4px;font-size:14px}.checkout__row[data-v-91bd3749]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field[data-v-91bd3749]{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field__label[data-v-91bd3749]{color:var(--color-text);font-size:13px;font-weight:500}.field__input[data-v-91bd3749]{border:1px solid var(--color-border);background:var(--color-bg-white);color:var(--color-text);letter-spacing:1px;border-radius:10px;width:100%;padding:12px 14px;font-family:monospace;font-size:16px}.field__input[data-v-91bd3749]:focus{border-color:var(--color-primary);outline:none}.checkout__security[data-v-91bd3749]{color:#1a73e8;background:#e8f0fe;border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:12px;font-size:13px;display:flex}.checkout__pay-btn[data-v-91bd3749]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:14px;width:100%;margin-bottom:10px;padding:16px;font-size:17px;font-weight:600}.checkout__pay-btn[data-v-91bd3749]:disabled{opacity:.5;cursor:not-allowed}.checkout__cancel[data-v-91bd3749]{width:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:14px;padding:14px;font-size:15px;font-weight:500}.checkout__loading[data-v-91bd3749],.checkout__error[data-v-91bd3749]{text-align:center;color:var(--color-text-secondary);padding:40px 20px}.checkout__error[data-v-91bd3749]{color:var(--color-danger)}.checkout__retry[data-v-91bd3749]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:12px;padding:10px 20px;font-size:15px}.checkout__delivery-info[data-v-91bd3749]{border-top:1px solid var(--color-border);margin-top:12px;padding-top:12px}.checkout__delivery-row[data-v-91bd3749]{color:var(--color-text);justify-content:space-between;align-items:center;font-size:14px;display:flex}.checkout__delivery-days[data-v-91bd3749]{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.notifications-page[data-v-c084ca51]{background:var(--color-bg);max-width:640px;min-height:100vh;margin:0 auto;padding:16px}.notifications-page__header[data-v-c084ca51]{align-items:center;gap:12px;margin-bottom:20px;display:flex}.notifications-page__back[data-v-c084ca51]{background:var(--color-bg-white);width:36px;height:36px;color:var(--color-text);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;display:flex}.notifications-page__title[data-v-c084ca51]{color:var(--color-text);flex:1;font-size:18px;font-weight:700}.notifications-page__read-all[data-v-c084ca51]{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:500}.notifications-page__loading[data-v-c084ca51],.notifications-page__empty[data-v-c084ca51]{text-align:center;color:var(--color-text-secondary);padding:60px 20px}.notifications-page__empty svg[data-v-c084ca51]{color:var(--color-text-secondary);margin-bottom:12px}.notification-item[data-v-c084ca51]{background:var(--color-bg-white);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:14px 16px;transition:background .15s;display:flex}.notification-item[data-v-c084ca51]:hover{background:var(--color-bg)}.notification-item--unread[data-v-c084ca51]{background:#f0f7ff}.notification-item--unread[data-v-c084ca51]:hover{background:#e0efff}.notification-item__dot[data-v-c084ca51]{background:var(--color-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notification-item__content[data-v-c084ca51]{flex:1;min-width:0}.notification-item__title[data-v-c084ca51]{color:var(--color-text);margin-bottom:2px;font-size:14px;font-weight:600}.notification-item__message[data-v-c084ca51]{color:var(--color-text-secondary);font-size:13px;line-height:1.4}.notification-item__time[data-v-c084ca51]{color:var(--color-text-secondary);margin-top:4px;font-size:12px}.notification-item__delete[data-v-c084ca51]{width:28px;height:28px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.notification-item__delete[data-v-c084ca51]:hover{color:var(--color-danger);background:#fff0f0}
