.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-box{background:#fff;border-radius:10px;padding:40px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.login-box h1{text-align:center;margin-bottom:30px;color:#333}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:16px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.btn-primary{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:500;cursor:pointer;transition:opacity .3s}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:5px;margin-bottom:20px;border:1px solid #fcc}.ga-qr-section{text-align:center;margin-bottom:20px;padding:20px;background-color:#f9f9f9;border-radius:5px}.ga-qr-code{width:200px;height:200px;margin:15px auto;display:block}.ga-tip{color:#666;font-size:14px;margin-top:10px}.admin-container{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.page-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.page-header h1{margin:0;color:#333;font-size:24px}.btn-secondary{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:5px;cursor:pointer;margin-top:20px}.btn-secondary:hover{background:#5a6268}.admin-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.dashboard-card,.info-card{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.dashboard-card h2{margin-top:0;color:#667eea}.info-card h3{margin-top:0;color:#333;border-bottom:2px solid #667eea;padding-bottom:10px}.info-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee}.info-item .label{font-weight:500;color:#666}.info-item .value{color:#333}.loading{text-align:center;padding:50px;font-size:18px;color:#666}.action-card{background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.action-card h3{margin-top:0;color:#333;border-bottom:2px solid #667eea;padding-bottom:10px}.btn-action{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:16px;font-weight:500;cursor:pointer;transition:opacity .3s}.btn-action:hover{opacity:.9}.error-message{background-color:#fee;color:#c33;padding:20px;border-radius:10px;text-align:center;margin:50px auto;max-width:500px;border:1px solid #fcc}.api-document{padding:20px;max-width:1200px;margin:0 auto}.document-header{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e8e8e8}.document-header h1{margin:0;color:#333;font-size:32px;font-weight:600}.document-content{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 8px #0000001a;line-height:1.8;color:#333}.document-content h1{font-size:28px;margin-top:40px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e8e8e8;color:#333}.document-content h2{font-size:24px;margin-top:35px;margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid #e8e8e8;color:#444}.document-content h3{font-size:20px;margin-top:30px;margin-bottom:12px;color:#555}.document-content h4{font-size:18px;margin-top:25px;margin-bottom:10px;color:#666}.document-content h5{font-size:16px;margin-top:20px;margin-bottom:8px;color:#777}.document-content h6{font-size:14px;margin-top:15px;margin-bottom:6px;color:#888}.document-content p{margin-bottom:16px;line-height:1.8}.document-content ul,.document-content ol{margin-bottom:16px;padding-left:30px}.document-content li{margin-bottom:8px}.document-content code{background-color:#f4f4f4;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;color:#e83e8c}.document-content pre{background-color:#f8f8f8;border:1px solid #e8e8e8;border-radius:4px;padding:16px;overflow-x:auto;margin-bottom:16px}.document-content pre code{background-color:transparent;padding:0;color:#333;font-size:14px}.document-content blockquote{border-left:4px solid #ddd;padding-left:16px;margin-left:0;margin-bottom:16px;color:#666;font-style:italic}.document-content table{width:100%;border-collapse:collapse;margin-bottom:16px}.document-content table th,.document-content table td{border:1px solid #ddd;padding:12px;text-align:left}.document-content table th{background-color:#f5f5f5;font-weight:600;color:#333}.document-content table tr:nth-child(2n){background-color:#f9f9f9}.document-content a{color:#1890ff;text-decoration:none}.document-content a:hover{text-decoration:underline}.document-content hr{border:none;border-top:2px solid #e8e8e8;margin:30px 0}.document-content strong{font-weight:600;color:#333}.document-content em{font-style:italic}.loading{text-align:center;padding:40px;color:#999;font-size:16px}.error-message{background-color:#fee;color:#c33;padding:20px;border-radius:5px;margin:20px;border:1px solid #fcc;text-align:center}@media (max-width: 768px){.api-document{padding:10px}.document-content{padding:20px}.document-header h1{font-size:24px}.document-content h1{font-size:22px}.document-content h2{font-size:20px}}.image-replace-container{position:relative}.image-replace-hint{position:absolute;bottom:4px;right:4px;background:#0009;color:#fff;font-size:10px;padding:2px 6px;border-radius:2px;opacity:0;transition:opacity .2s ease;pointer-events:none}.image-replace-container:hover .image-replace-hint{opacity:1}.editable-text{position:relative;user-select:none;-webkit-user-select:none;-ms-user-select:none}.editable-text:hover:after{content:"双击修改";position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000c;color:#fff;font-size:12px;padding:4px 8px;border-radius:4px;white-space:nowrap;margin-bottom:4px;z-index:1000;pointer-events:none}.editable-text:hover:before{content:"";position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#000c;z-index:1000;pointer-events:none}.payment-page{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.payment-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:500px;padding:40px}.payment-header{text-align:center;margin-bottom:30px}.payment-header h1{margin:0;color:#333;font-size:28px;font-weight:600}.payment-content{display:flex;flex-direction:column;gap:30px}.order-info{display:flex;flex-direction:column;gap:20px;padding:20px;background:#f8f9fa;border-radius:8px}.info-item{display:flex;justify-content:space-between;align-items:center}.info-item .label{color:#666;font-size:14px}.info-item .value{color:#333;font-size:16px;font-weight:500}.info-item .value.amount{color:#e74c3c;font-size:24px;font-weight:600}.countdown-section{text-align:center;padding:20px;background:#fff3cd;border-radius:8px;border:2px solid #ffc107}.countdown-label{color:#856404;font-size:14px;margin-bottom:10px}.countdown-time{color:#e74c3c;font-size:36px;font-weight:700;font-family:Courier New,monospace;letter-spacing:2px}.payment-button-section{text-align:center}.preparing-pay{padding:16px;text-align:center}.preparing-text{color:#666;font-size:16px;display:flex;align-items:center;justify-content:center;gap:10px}.preparing-text:before{content:"";width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pay-button{width:100%;padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.pay-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.pay-button:active:not(:disabled){transform:translateY(0)}.pay-button:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.paid-status{text-align:center;padding:40px 20px}.paid-icon{width:80px;height:80px;margin:0 auto 20px;background:#28a745;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:48px;font-weight:700}.paid-text{color:#28a745;font-size:24px;font-weight:600}.expired-status{text-align:center;padding:40px 20px}.expired-icon{width:80px;height:80px;margin:0 auto 20px;background:#dc3545;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:48px}.expired-text{color:#dc3545;font-size:24px;font-weight:600;margin-bottom:10px}.expired-desc{color:#666;font-size:14px}.loading{text-align:center;padding:40px;color:#666;font-size:16px}.error-message{text-align:center;padding:40px;color:#dc3545;font-size:16px}@media (max-width: 600px){.payment-container{padding:30px 20px}.payment-header h1{font-size:24px}.countdown-time{font-size:28px}}.banner-carousel-wrapper{position:relative;width:100%;overflow:hidden}.banner-item{min-width:100%;width:100%;height:100%;position:absolute;top:0;left:0;opacity:0;transition:opacity .5s ease-in-out}.banner-item img{width:100%;height:100%;object-fit:contain;display:block;object-position:center}.banner-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background .3s}.banner-nav-btn:hover{background:#000000b3}.banner-nav-prev{left:15px}.banner-nav-next{right:15px}.banner-indicators{position:absolute;bottom:.9375rem;left:50%;transform:translate(-50%);display:flex;gap:.5rem;z-index:10}.indicator.active{background-color:#fff;width:1.25rem;border-radius:.25rem}.banner-carousel-template1,.banner-carousel-template1 .banner-item img{background:#f5f5f5}.banner-carousel-wrapper .adm-swiper,.banner-carousel-wrapper .adm-swiper-item,.banner-carousel-wrapper .adm-swiper-track{height:auto!important}.template1-new{width:100%;max-width:780px;margin:0 auto;background:#f5f5f5;min-height:100vh;transform-origin:top center;--homepage-width: 780px;--icon-size: calc(var(--homepage-width) * 15% * .8);--scale-factor: 1;--header-height: 5.0625rem;box-sizing:border-box;overflow-x:hidden}.template1-header{display:flex;align-items:center;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e5e5e5;position:fixed;top:0;left:0;right:0;z-index:100;width:100%;max-width:780px;margin:0 auto;height:5.0625rem;box-sizing:border-box;gap:.5rem}.header-logo{flex-shrink:0;margin-right:.5rem;height:100%;display:flex;align-items:center}.header-logo img{height:100%;max-width:5rem;width:auto;object-fit:contain}.header-search{flex:1;display:flex;align-items:center;min-width:0;gap:.5rem}.search-input-wrapper{flex:1;display:flex;align-items:center;min-height:2.25rem;background:#ebebeb;border-radius:1.25rem;padding:0 .75rem;gap:.5rem;box-sizing:border-box;min-width:0;font-size:16px}.search-icon{color:#999;font-size:1rem;flex-shrink:0}.search-input{flex:1;height:100%;border:none;background:transparent;font-size:.875rem;outline:none;color:#333;padding:0;box-sizing:border-box}.search-input::placeholder{color:#999}.search-input:focus{color:#333}.search-autocomplete{flex:1;height:100%;width:100%}.search-autocomplete.ant-select{border:none!important;background:transparent!important;box-shadow:none!important}.search-autocomplete.ant-select-outlined{border:none!important}.search-autocomplete .ant-select-content{border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important;height:100%!important;border-radius:0!important;display:flex!important;align-items:center!important}.search-autocomplete .ant-select-input{border:none!important;background:transparent!important;box-shadow:none!important;outline:none!important;padding:0!important;height:100%!important;font-size:16px!important;color:#333!important;line-height:2.25rem!important;top:0!important;bottom:0!important;inset-block-start:0!important;inset-block-end:0!important;margin:auto 0!important}.search-autocomplete .ant-select-input:focus{border:none!important;box-shadow:none!important;outline:none!important}.search-autocomplete .ant-select-placeholder{color:#999!important;font-size:16px!important;line-height:2.25rem!important;padding:0!important}.search-autocomplete .ant-select-selector{border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important;height:100%!important;border-radius:0!important}.search-autocomplete .ant-select-selection-search{height:100%!important;left:0!important;right:0!important}.search-autocomplete .ant-select-selection-placeholder{color:#999!important;font-size:16px!important;line-height:2.25rem!important;left:0!important}.search-autocomplete .ant-select-selection-item{line-height:2.25rem!important;font-size:16px!important;color:#333!important;padding:0!important;left:0!important}.search-autocomplete .ant-select-selection-search-input{height:100%!important;font-size:16px!important;color:#333!important;padding:0!important}.search-autocomplete.ant-select-focused,.search-autocomplete.ant-select-focused .ant-select-content,.search-autocomplete.ant-select-focused .ant-select-selector{border:none!important;box-shadow:none!important;outline:none!important}.search-autocomplete:hover,.search-autocomplete:hover .ant-select-content,.search-autocomplete:hover .ant-select-selector{border:none!important}.search-autocomplete .ant-select-arrow{display:none!important}.search-history-dropdown{max-height:300px}.search-history-dropdown .ant-select-item{padding:8px 12px!important;font-size:.875rem!important}.search-history-footer{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-top:1px solid #f0f0f0;background:#fafafa}.search-history-label{font-size:.75rem;color:#999}.clear-history-btn{padding:0!important;height:auto!important;font-size:.75rem!important;color:#999!important}.clear-history-btn:hover{color:#e60012!important}.search-button{min-height:2.25rem;padding:0 1rem;background:#e60012;color:#fff;border:none;border-radius:1.25rem;font-size:.875rem;cursor:pointer;white-space:nowrap;box-sizing:border-box;transition:background .3s;flex-shrink:0}.search-button:active{background:#a3000c}.search-button:hover{background:#c5000f}.category-tabs-wrapper{margin-top:var(--header-height, 5.0625rem);background:#fff}.category-tabs-wrapper .ant-tabs{margin:0}.category-tabs-wrapper .ant-tabs-nav{margin:0;padding:0 1rem}.category-tabs-wrapper .ant-tabs-tab{padding:.5rem 1rem;font-size:1rem;margin:0 .25rem 0 0}.category-tabs-wrapper .ant-tabs-tab-btn{font-size:1rem;font-weight:400}.category-tabs-wrapper .ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:700!important;color:#e60012!important}.category-tabs-wrapper .ant-tabs-tab.ant-tabs-tab-active,.category-tabs-wrapper .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#e60012!important}.category-tabs-wrapper .ant-tabs-ink-bar{background:#e60012!important}.category-tabs-wrapper .ant-tabs .ant-tabs-tab.ant-tabs-tab-active,.category-tabs-wrapper .ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#e60012!important}.category-tabs-wrapper .ant-tabs .ant-tabs-tab-active>.ant-tabs-tab-btn{color:#e60012!important}.category-tabs-wrapper .ant-tabs .ant-tabs-ink-bar{background:#e60012!important}.category-tabs-wrapper .ant-tabs-tab:hover .ant-tabs-tab-btn{color:#e60012}.category-tabs-wrapper .ant-tabs-content-holder{display:none}.quick-section{padding:1rem;background:#fff;margin-bottom:.5rem}.quick-section-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.quick-section-item{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .2s}.quick-section-item:active{transform:scale(.95)}.quick-section-icon{width:15vw;max-width:117px;aspect-ratio:1;border-radius:.5rem;overflow:hidden;margin-bottom:.5rem;background:#f5f5f5;flex-shrink:0}.quick-section-icon img{width:100%;height:100%;object-fit:cover}.quick-section-name{font-size:1.25rem;color:#555;text-align:center;line-height:1.4}@media (max-width: 480px){.quick-section-name{font-size:1rem}}@media (min-width: 1024px){.quick-section-name{font-size:1.75rem}}.custom-section{padding:1rem;background:#fff;margin-bottom:.5rem}.custom-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.custom-section-title-group{flex:1}.custom-section-title{font-size:1.125rem;font-weight:700;color:#333;margin:0 0 .25rem}.custom-section-subtitle{font-size:.875rem;color:#999;margin:0}.custom-section-more{font-size:.875rem;color:#e60012;cursor:pointer;flex-shrink:0}.custom-section-products{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.custom-section-product{display:flex;flex-direction:column;cursor:pointer;transition:transform .2s}.custom-section-product:active{transform:scale(.95)}.custom-product-image{width:100%;aspect-ratio:1;border-radius:.25rem;overflow:hidden;background:#f5f5f5;margin-bottom:.5rem}.custom-product-image img{width:100%;height:100%;object-fit:cover}.custom-product-price{font-size:.875rem;color:#e60012;font-weight:700;text-align:center}.custom-section-products-carousel-wrapper{width:100%;overflow:hidden;position:relative}.custom-section-products-carousel{display:flex;gap:.75rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.5rem}.custom-section-products-carousel::-webkit-scrollbar{display:none}.custom-section-products-carousel .custom-section-product{flex:0 0 calc(25% - .5625rem);min-width:calc(25% - .5625rem);scroll-snap-align:start}@media (max-width: 480px){.custom-section-products-carousel .custom-section-product{flex:0 0 calc(33.333% - .5rem);min-width:calc(33.333% - .5rem)}}.recommend-section{padding:1rem;background:#fff;margin-bottom:.5rem}.recommend-section-title{font-size:1.125rem;font-weight:700;color:#333;margin:0 0 .75rem}.recommend-products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.recommend-product{display:flex;flex-direction:column;background:#fff;border-radius:.5rem;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s}.recommend-product:active{transform:scale(.98)}.recommend-product-image{width:100%;aspect-ratio:1;background:#f5f5f5;overflow:hidden}.recommend-product-image img{width:100%;height:100%;object-fit:cover}.recommend-product-info{padding:.75rem}.recommend-product-name{font-size:.875rem;color:#333;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;min-height:2.8em}.recommend-product-price{font-size:1rem;color:#e60012;font-weight:700}@media (max-width: 780px){.template1-new{transform:scale(1);width:100%;max-width:100%;--scale-factor: calc(100vw / 780);--header-height: 4rem}.template1-header{padding:.5rem .75rem;height:4rem;max-width:100%;left:0;transform:none}.header-logo{height:100%}.header-logo img{height:100%;max-width:4rem}.search-button{padding:0 .75rem;font-size:.8125rem}}@media (min-width: 781px){.template1-new{transform:scale(min(calc(100vw / 780),calc(100vh / 1280)));transform-origin:top center;width:780px;--scale-factor: min(calc(100vw / 780), calc(100vh / 1280))}}.shop-home{min-height:100vh;background:#f5f5f5;position:relative}.shop-banner{position:relative;width:100%;height:400px;overflow:hidden;background:#f5f5f5}.banner-carousel{width:100%;height:100%;position:relative;display:flex;overflow:hidden}.banner-carousel::-webkit-scrollbar{display:none}.banner-item{min-width:100%;width:100%;height:100%;position:absolute;top:0;left:0}.banner-item{opacity:0;transition:opacity .5s ease-in-out}.banner-item.active{opacity:1}.banner-item img{width:100%;height:100%;object-fit:cover;display:block}.banner-indicators{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.indicator{width:8px;height:8px;border-radius:50%;background-color:#ffffff80;cursor:pointer;transition:all .3s}.indicator.active{background-color:#fff;width:20px;border-radius:4px}.shop-container{max-width:1200px;margin:0 auto;padding:40px 20px}.section-title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:40px;color:#333}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;margin-bottom:40px}.product-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;cursor:pointer;width:100%;max-width:100%}.product-card:hover{transform:translateY(-5px);box-shadow:0 4px 16px #00000026}.product-image{width:100%!important;height:300px!important;min-height:300px!important;overflow:hidden;background:#f5f5f5;position:relative;display:block;flex-shrink:0;box-sizing:border-box}.product-image img{width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover;transition:transform .3s;display:block;box-sizing:border-box}.product-card:hover .product-image img{transform:scale(1.05)}.product-info{padding:20px;flex:1;display:flex!important;flex-direction:column!important;width:100%;box-sizing:border-box}.product-info>.product-name,.product-info>.product-description,.product-info>.buy-button{display:block;width:100%;box-sizing:border-box}.product-info>.product-price{width:100%;box-sizing:border-box}.product-name{font-size:1.25rem;font-weight:700;margin:0 0 10px;color:#333;line-height:1.4;width:100%;box-sizing:border-box}.product-description{font-size:.875rem;color:#666;margin:0 0 15px;line-height:1.5;flex:1;width:100%;box-sizing:border-box}.product-price{display:flex;align-items:center;gap:12px;margin-bottom:15px;width:100%;box-sizing:border-box;flex-shrink:0}.current-price{font-size:1.5rem;font-weight:700;color:#ff4d4f}.original-price{font-size:1rem;color:#999;text-decoration:line-through}.buy-button{width:100%;padding:12px;background:#1890ff;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s;box-sizing:border-box;flex-shrink:0}.buy-button:hover{background:#40a9ff}.buy-button:active{background:#096dd9}.loading,.error-message{text-align:center;padding:60px 20px;font-size:1.125rem;color:#999}@media (min-width: 1200px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(280px,320px));justify-content:center}}@media (max-width: 768px){.shop-banner{height:300px}.banner-title{font-size:2rem}.banner-subtitle{font-size:1.125rem}.products-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.shop-container{padding:20px 15px}.section-title{font-size:1.5rem;margin-bottom:30px}}@media (max-width: 480px){.products-grid{grid-template-columns:1fr}.banner-title{font-size:1.5rem}.banner-subtitle{font-size:1rem}}.bottom-navbar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e8e8e8;display:flex;justify-content:space-around;align-items:center;padding:8px 0;box-shadow:0 -2px 8px #0000001a;z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:5px 15px;transition:color .3s;flex:1;min-width:0}.nav-icon{font-size:1.5rem;margin-bottom:4px}.nav-item:hover .nav-label{color:#1890ff}.shop-home{padding-bottom:60px}.shop-page-container{width:100%;max-width:780px;margin:0 auto;background:#f5f5f5;min-height:100vh}.order-submit{min-height:100vh;background:#f5f5f5;padding:20px 0}.order-container{max-width:1200px;margin:0 auto;padding:0 20px}.order-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.store-info{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e8e8e8}.store-label{color:#666;margin-right:8px}.store-name{color:#333;font-weight:500}.product-info{display:flex;flex-direction:row;align-items:flex-start;gap:15px}.product-image-small{width:120px;height:120px;flex-shrink:0;border:1px solid #e8e8e8;border-radius:4px;overflow:hidden;background:#f5f5f5}.product-image-small img{width:100%;height:100%;object-fit:cover;display:block}.product-details{flex:1}.product-name{font-size:16px;color:#333;margin-bottom:10px;line-height:1.5}.product-specs{display:flex;gap:20px;margin-bottom:10px;font-size:14px;color:#666}.product-specs span{display:inline-block}.product-tags{margin-bottom:10px}.tag{display:inline-block;padding:2px 8px;background:#fff7e6;color:#fa8c16;border:1px solid #ffe7ba;border-radius:2px;font-size:12px;margin-right:8px}.shipping-time{font-size:14px;color:#666}.price-details{margin-bottom:30px}.price-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:14px;color:#666}.price-row:last-child{border-bottom:none}.price-row.discount{color:#ff4d4f}.price-row.total{font-size:16px;font-weight:500;color:#333;padding-top:15px;border-top:1px solid #e8e8e8;margin-top:10px}.price-row .highlight{color:#ff4d4f;font-weight:500}.price-row label{display:flex;align-items:center;gap:8px;cursor:pointer}.price-row input[type=checkbox]{cursor:pointer}.order-options{border-top:1px solid #e8e8e8;padding-top:20px}.option-item{display:flex;align-items:flex-start;margin-bottom:15px;font-size:14px;color:#333;cursor:pointer}.option-item input[type=checkbox]{margin-right:8px;margin-top:2px;cursor:pointer}.option-item textarea{width:100%;padding:8px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;resize:vertical;margin-top:8px;font-family:inherit}.option-item textarea:focus{outline:none;border-color:#40a9ff;box-shadow:0 0 0 2px #1890ff33}.char-count{display:block;text-align:right;font-size:12px;color:#999;margin-top:4px}.coin-info{color:#999;font-size:12px;margin-left:8px}.discount-amount{color:#ff4d4f;margin-left:auto;font-weight:500}.buyer-section{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.buyer-info{flex:1}.buyer-info>div{margin-bottom:10px;font-size:14px;color:#333}.buyer-info .label{color:#666;margin-right:8px}.submit-section{display:flex;flex-direction:column;align-items:flex-end;gap:15px;min-width:200px}.final-price{display:flex;align-items:center;gap:10px;font-size:16px;color:#333}.final-price .label{color:#666}.final-price .price{font-size:24px;font-weight:700;color:#ff4d4f}.submit-button{padding:12px 60px;background:#ff4d4f;color:#fff;border:none;border-radius:4px;font-size:18px;font-weight:500;cursor:pointer;transition:background .3s}.submit-button:hover{background:#ff7875}.submit-button:active{background:#cf1322}.loading,.error-message{text-align:center;padding:60px 20px;font-size:18px;color:#999}@media (max-width: 768px){.order-container{padding:0 15px}.order-section{padding:15px}.product-info{flex-direction:column}.product-image{width:80px;height:80px}.buyer-section{flex-direction:column}.submit-section{width:100%;align-items:stretch}.submit-button{width:100%}}.alert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-in-out}.alert-dialog{background:#fff;border-radius:8px;width:90%;max-width:400px;box-shadow:0 4px 20px #00000026;animation:slideUp .3s ease-out;overflow:hidden}.alert-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:24px auto 16px}.alert-success .alert-icon{background-color:#f6ffed;color:#52c41a}.alert-error .alert-icon{background-color:#fff2f0;color:#ff4d4f}.alert-warning .alert-icon{background-color:#fffbe6;color:#faad14}.alert-info .alert-icon{background-color:#e6f7ff;color:#1890ff}.alert-content{padding:0 24px;text-align:center}.alert-message{font-size:16px;color:#333;line-height:1.5;margin-bottom:24px;word-wrap:break-word}.alert-footer{display:flex;justify-content:center;padding:0 24px 24px;gap:10px}.alert-btn{min-width:80px;height:36px;padding:0 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s;display:flex;align-items:center;justify-content:center}.alert-btn-primary{background-color:#1890ff;color:#fff}.alert-btn-primary:hover{background-color:#40a9ff}.alert-btn-secondary{background-color:#d9d9d9;color:#333}.alert-btn-secondary:hover{background-color:#bfbfbf}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:#fff;border-radius:8px;width:90%;max-width:420px;box-shadow:0 4px 20px #00000026;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-header{padding:20px 24px 0;border-bottom:1px solid #f0f0f0}.confirm-title{margin:0;font-size:18px;font-weight:600;color:#333}.confirm-content{padding:24px;text-align:center}.confirm-icon{width:48px;height:48px;border-radius:50%;background-color:#fffbe6;color:#faad14;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:0 auto 16px}.confirm-message{font-size:16px;color:#333;line-height:1.5;word-wrap:break-word}.confirm-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:20px 24px;border-top:1px solid #f0f0f0}.confirm-btn{width:80px;min-width:80px;max-width:80px;height:36px;padding:0;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.confirm-btn-primary{background-color:#1890ff;color:#fff}.confirm-btn-primary:hover{background-color:#40a9ff}.confirm-btn-secondary{background-color:#d9d9d9;color:#333}.confirm-btn-secondary:hover{background-color:#bfbfbf}.default-product-name-management{padding:20px}.filter-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a}.filter-group{display:flex;align-items:center}.filter-group label{margin-right:8px;font-weight:500;color:#333}.batch-actions{display:flex;gap:8px}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #eee;background-color:#fafafa}.pagination-info{display:flex;align-items:center;color:#666;font-size:14px}.pagination-buttons{display:flex;align-items:center}.error-message{padding:12px;background-color:#fee;color:#c33;border-radius:4px;margin-bottom:20px}.loading{text-align:center;padding:40px;color:#666}.config-table-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.config-table{width:100%;border-collapse:collapse}.config-table thead{background-color:#f5f5f5}.config-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.config-table td{padding:12px;border-bottom:1px solid #eee}.config-table tbody tr:hover{background-color:#f9f9f9}.config-table .empty-message{text-align:center;color:#999;padding:40px}.range-hint{color:#999;font-size:12px;margin-left:8px}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.enabled{background-color:#e6f7e6;color:#52c41a}.status-badge.disabled{background-color:#fff2e6;color:#fa8c16}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s}.btn-warning{background-color:#fa8c16;color:#fff}.btn-warning:hover{background-color:#ffa940}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 12px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-close{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.form-error{padding:12px;background-color:#fee;color:#c33;border-radius:4px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group input,.form-group select{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid #eee}.category-management{padding:20px}.page-header{margin-bottom:20px}.page-header h2{margin:0 0 16px;font-size:24px;color:#333}.page-header-actions{display:inline-block}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s}.btn-primary{background-color:#1890ff;color:#fff}.btn-primary:hover{background-color:#40a9ff}.btn-sm{padding:4px 8px;font-size:12px}.btn-link{background:none;color:#1890ff;border:none;padding:0;cursor:pointer;text-decoration:none;transition:color .3s}.btn-link:hover{color:#40a9ff}.btn-link-danger{color:#ff4d4f}.btn-link-danger:hover{color:#ff7875}.action-buttons{display:flex;gap:12px;align-items:center;white-space:nowrap}.btn-warning{background-color:#faad14;color:#fff}.btn-warning:hover{background-color:#ffc53d}.btn-danger{background-color:#ff4d4f;color:#fff}.btn-danger:hover{background-color:#ff7875}.btn-secondary{background-color:#d9d9d9;color:#333}.btn-secondary:hover{background-color:#bfbfbf}.error-message{padding:12px;background-color:#fff2f0;border:1px solid #ffccc7;border-radius:4px;color:#cf1322;margin-bottom:20px}.loading{text-align:center;padding:40px;color:#999}.category-table-container{background:#fff;border-radius:4px;overflow:hidden}.category-table{width:100%;border-collapse:collapse}.category-table thead{background-color:#fafafa}.category-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:1px solid #e8e8e8}.category-table td{padding:12px;border-bottom:1px solid #f0f0f0}.category-table tbody tr:hover{background-color:#fafafa}.empty-message{text-align:center;color:#999;padding:40px}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px}.status-badge.enabled{background-color:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-badge.disabled{background-color:#fff2e8;color:#fa8c16;border:1px solid #ffd591}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e8e8e8}.modal-header h3{margin:0;font-size:18px;color:#333}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:24px;height:24px;line-height:24px}.modal-close:hover{color:#333}.modal-body{padding:20px}.form-error{padding:8px 12px;background-color:#fff2f0;border:1px solid #ffccc7;border-radius:4px;color:#cf1322;margin-bottom:16px;font-size:14px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group .required{color:#ff4d4f;margin-left:4px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1px solid #d9d9d9;border-radius:4px;font-size:14px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#40a9ff}.form-group textarea{resize:vertical;min-height:60px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e8e8e8}.category-child-row{background-color:#fafafa!important}.category-child-row:hover{background-color:#f0f0f0!important}.category-child-row-hidden{display:none!important}/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor ul,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"•"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"☑"}.ql-editor ul[data-checked=false]>li:before{content:"☐"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0px}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0px;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.product-detail{min-height:100vh;background-color:#f5f5f5;padding-bottom:5rem}.product-detail-container{max-width:800px;margin:0 auto;background:#fff}.product-images{width:100%;background:#fff}.main-image{width:100%;height:400px;overflow:hidden;background:#f5f5f5}.main-image img{width:100%;height:100%;object-fit:contain}.product-info-section{padding:1.25rem;background:#fff;border-bottom:1px solid #e0e0e0}.product-name{font-size:1.25rem;font-weight:600;color:#333;margin:0 0 .75rem;line-height:1.4}.product-summary{font-size:.875rem;color:#666;margin-bottom:1rem;line-height:1.6}.product-price-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.current-price{font-size:1.75rem;font-weight:700;color:#ff4d4f}.price-range{font-size:1.25rem;color:#ff4d4f}.product-specs-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.product-specs-section h3,.product-skus-section h3,.quantity-section h3{font-size:1rem;font-weight:600;color:#333;margin:0 0 .75rem}.specs-list{display:flex;flex-direction:column;gap:.5rem}.spec-item{display:flex;gap:.75rem;font-size:.875rem}.spec-key{color:#666;min-width:80px}.spec-value{color:#333;font-weight:500}.product-skus-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.skus-list{display:flex;flex-wrap:wrap;gap:.625rem}.sku-item{padding:.5rem 1rem;border:1px solid #d9d9d9;border-radius:.25rem;background:#fff;color:#333;cursor:pointer;font-size:.875rem;transition:all .2s;position:relative}.sku-item:hover:not(:disabled){border-color:#667eea;color:#667eea}.sku-item.selected{border-color:#667eea;background-color:#667eea;color:#fff}.sku-item.out-of-stock{opacity:.5;cursor:not-allowed}.sku-item:disabled{cursor:not-allowed}.stock-tag{position:absolute;top:-.5rem;right:-.5rem;background:#ff4d4f;color:#fff;font-size:.625rem;padding:.125rem .375rem;border-radius:.625rem}.quantity-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.quantity-control{display:flex;align-items:center;gap:.75rem}.quantity-btn{width:2.25rem;height:2.25rem;border:1px solid #d9d9d9;border-radius:.25rem;background:#fff;color:#333;cursor:pointer;font-size:1.125rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.quantity-btn:hover:not(:disabled){border-color:#667eea;color:#667eea}.quantity-btn:disabled{opacity:.5;cursor:not-allowed}.quantity-control input{width:5rem;height:2.25rem;border:1px solid #d9d9d9;border-radius:.25rem;text-align:center;font-size:1rem}.quantity-control input:focus{outline:none;border-color:#667eea}.stock-info{margin-top:.5rem;font-size:.875rem;color:#666}.product-actions{margin-top:1.25rem}.btn-buy-now{width:100%;padding:.875rem;background-color:#ff4d4f;color:#fff;border:none;border-radius:.375rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:background-color .3s}.btn-buy-now:hover:not(:disabled){background-color:#ff7875}.btn-buy-now:disabled{background-color:#ccc;cursor:not-allowed}.product-tabs{display:flex;background:#fff;border-bottom:1px solid #e0e0e0;margin-top:1.25rem}.product-tabs button{flex:1;padding:1rem;border:none;background:#fff;color:#666;font-size:1rem;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.product-tabs button:hover{color:#667eea}.product-tabs button.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.tab-content{background:#fff;padding:1.25rem;min-height:18.75rem}.detail-content{line-height:1.8;color:#333}.detail-content img{max-width:100%;height:auto}.specs-content{padding:0}.specs-table{display:flex;flex-direction:column}.spec-row{display:flex;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.spec-row:last-child{border-bottom:none}.spec-label{width:120px;color:#666;font-size:.875rem}.spec-value{flex:1;color:#333;font-size:.875rem}.reviews-content{padding:0}.reviews-list{display:flex;flex-direction:column;gap:1.25rem}.review-item{padding:1rem;background:#f9f9f9;border-radius:.5rem}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.review-rating{color:#ffa940;font-size:1rem}.review-time{font-size:.75rem;color:#999}.review-content{font-size:.875rem;color:#333;line-height:1.6;margin-bottom:.75rem}.review-images{display:flex;gap:.5rem;flex-wrap:wrap}.review-images img{width:5rem;height:5rem;object-fit:cover;border-radius:.25rem}.no-content{text-align:center;padding:2.5rem;color:#999;font-size:.875rem}.loading,.error-message{text-align:center;padding:2.5rem;color:#999;font-size:1rem}.error-message{color:#ff4d4f}.btn-back{display:block;width:12.5rem;margin:1.25rem auto;padding:.625rem;background-color:#1890ff;color:#fff;border:none;border-radius:.375rem;cursor:pointer}.bottom-navbar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e8e8e8;display:flex;justify-content:space-around;align-items:center;padding:.5rem 0;box-shadow:0 -2px 8px #0000001a;z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:.3125rem .9375rem;transition:color .3s;flex:1;min-width:0}.nav-icon{font-size:1.5rem;margin-bottom:.25rem}.nav-label{font-size:.75rem;color:#666}.nav-item:hover .nav-label,.nav-item.active .nav-label{color:#1890ff}.product-detail-page{min-height:100vh;background:#f5f5f5;padding-bottom:140px}.product-detail-page .adm-card,.product-detail-page .adm-tabs{margin:0!important}.product-detail-page .adm-tabs-content{padding:0!important}.product-detail-page .adm-card .adm-button{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-sales{font-size:14px;color:#999;font-weight:400;white-space:nowrap}.product-detail-content-wrapper{padding-bottom:1rem}.product-main-image-container{width:100%;height:375px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.product-main-image-container .adm-swiper{width:100%;height:100%}.product-main-image-container .adm-swiper-item{width:100%;display:flex;align-items:center;justify-content:center}.product-image-indicator{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:10}.product-image-indicator .indicator-dot{width:6px;height:6px;border-radius:50%;background:#ffffff80;transition:all .3s}.product-image-indicator .indicator-dot.active{background:#fff;width:20px;border-radius:3px}.product-main-image{width:100%;height:100%;object-fit:contain;object-position:center;max-width:100%;max-height:100%}.product-detail-content{padding:12px;line-height:1.8;color:#333}.product-detail-content img{max-width:100%;height:auto;display:block;margin:0}.product-detail-content p{margin:8px 0}.product-detail-fallback{padding:20px}.product-detail-fallback-title{font-size:16px;font-weight:600;color:#333;margin-bottom:12px}.product-detail-fallback-content{font-size:14px;color:#666;line-height:1.8;white-space:pre-wrap;word-wrap:break-word}.product-detail-empty{text-align:center;padding:40px 20px;color:#999;font-size:14px}.product-detail-main-image{margin-top:20px;padding:20px;background:#fafafa;border-radius:8px;display:flex;align-items:center;justify-content:center}.product-detail-image{max-width:100%;max-height:500px;object-fit:contain;border-radius:4px}.product-detail-footer{position:fixed;bottom:3.5rem;left:0;right:0;padding:12px;background:#fff;border-top:1px solid #ebedf0;z-index:101;box-shadow:0 -2px 8px #0000001a}.product-buy-button{height:48px;width:100%!important;max-width:100%!important;font-size:.875rem;font-weight:500;background:#e60012!important;color:#fff!important;border:none!important;border-radius:1.25rem!important;transition:background .3s!important}.product-buy-button:hover:not(:disabled){background:#c5000f!important}.product-buy-button:active:not(:disabled){background:#a3000c!important}.product-buy-button:disabled{background:#ccc!important;cursor:not-allowed!important}.product-detail-page .adm-button{border-radius:1.25rem;font-weight:500;font-size:.875rem;transition:all .3s}.product-detail-page .adm-button-default{background:#fff;color:#e60012;border:1px solid #e60012}.product-detail-page .adm-button-default:hover:not(:disabled){background:#ffe6e6;border-color:#c5000f;color:#c5000f}.product-detail-page .adm-button-primary{background:#e60012;color:#fff;border:1px solid #e60012}.product-detail-page .adm-button-primary:hover:not(:disabled){background:#c5000f;border-color:#c5000f}.product-detail-page .adm-button:disabled{background:#f5f5f5;color:#ccc;border-color:#d9d9d9;cursor:not-allowed}.review-summary-card{transition:all .3s}.review-summary-card:active{background:#f5f5f5}.review-item{padding:12px 0;border-bottom:1px solid #f0f0f0}.review-item:last-child{border-bottom:none}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.review-user-name{font-size:15px;font-weight:500;color:#333;margin-bottom:4px}.review-rating{color:#ff9800;font-size:14px}.review-time{color:#999;font-size:12px;white-space:nowrap}.review-content{color:#333;font-size:14px;line-height:1.6;margin-bottom:8px}.review-images{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.review-image{width:80px;height:80px;object-fit:cover;border-radius:4px;cursor:pointer}@media (max-width: 768px){.product-main-image-container{height:300px}}@media (max-width: 480px){.product-main-image-container{height:250px}.product-detail-footer{padding:10px}.product-buy-button{height:44px;font-size:15px}}.captcha-container{width:100%}.captcha-image-wrapper{position:relative;display:flex;align-items:center;border:1px solid #d9d9d9;border-left:none;border-radius:0 6px 6px 0;background:#fff;overflow:hidden}.captcha-image{height:40px;width:auto;display:block;-webkit-user-select:none;user-select:none}.captcha-loading{padding:0 16px;color:#999;font-size:12px}.captcha-refresh-btn{height:40px;padding:0 8px;border-left:1px solid #d9d9d9;color:#666;display:flex;align-items:center;justify-content:center}.captcha-refresh-btn:hover{color:#e60012;background:#fff7f0}.customer-register-page{min-height:100vh;background:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:auto}.customer-register-page:before{content:"";position:absolute;top:0;left:0;right:0;height:1px}.customer-register-container{width:100%;max-width:420px;margin:0 auto}.customer-register-card{border-radius:16px;box-shadow:0 10px 40px #0003;overflow:hidden;background:#fff}.customer-register-header{text-align:center;padding:40px 20px 30px;background:#fff;border-bottom:1px solid #f0f0f0}.customer-register-logo{width:80px;height:80px;object-fit:contain;margin-bottom:16px;background:#f5f5f5;border-radius:12px;padding:8px}.customer-register-title{font-size:24px;font-weight:600;margin:0 0 8px;color:#333}.customer-register-subtitle{font-size:14px;margin:0;color:#999}.customer-register-form{padding:30px 24px}.customer-register-form .ant-input-affix-wrapper,.customer-register-form .ant-input{border-radius:8px;border:1px solid #e0e0e0;transition:all .3s}.customer-register-form .ant-input-affix-wrapper:hover,.customer-register-form .ant-input:hover{border-color:#e60012}.customer-register-form .ant-input-affix-wrapper-focused,.customer-register-form .ant-input:focus{border-color:#e60012;box-shadow:0 0 0 2px #e600121a}.customer-register-form .ant-input-prefix{color:#999;margin-right:8px}.customer-register-button{height:48px;border-radius:8px;font-size:16px;font-weight:600;background:#e60012;border:none;margin-top:8px;transition:all .3s}.customer-register-button:hover{background:#c5000f;transform:translateY(-1px);box-shadow:0 4px 12px #e6001266}.customer-register-button:active{transform:translateY(0)}.customer-register-footer{text-align:center;padding:20px 24px 30px;color:#666;font-size:14px;border-top:1px solid #f0f0f0}.customer-register-link{color:#e60012;font-weight:500;text-decoration:none;margin-left:4px;transition:color .3s}.customer-register-link:hover{color:#c5000f;text-decoration:underline}@media (max-width: 480px){.customer-register-page{padding:16px}.customer-register-header{padding:30px 20px 24px}.customer-register-logo{width:60px;height:60px;margin-bottom:12px}.customer-register-title{font-size:20px}.customer-register-form{padding:24px 20px}.customer-register-button{height:44px;font-size:15px}}.customer-login-page{min-height:100vh;background:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:auto}.customer-login-page:before{content:"";position:absolute;top:0;left:0;right:0;height:1px}.customer-login-container{width:100%;max-width:420px;margin:0 auto}.customer-login-card{border-radius:16px;box-shadow:0 10px 40px #0003;overflow:hidden;background:#fff}.customer-login-header{text-align:center;padding:40px 20px 30px;background:#fff;border-bottom:1px solid #f0f0f0}.customer-login-logo{width:80px;height:80px;object-fit:contain;margin-bottom:16px;background:#f5f5f5;border-radius:12px;padding:8px}.customer-login-title{font-size:24px;font-weight:600;margin:0 0 8px;color:#333}.customer-login-subtitle{font-size:14px;margin:0;color:#999}.customer-login-form{padding:30px 24px}.customer-login-form .ant-input-affix-wrapper,.customer-login-form .ant-input{border-radius:8px;border:1px solid #e0e0e0;transition:all .3s}.customer-login-form .ant-input-affix-wrapper:hover,.customer-login-form .ant-input:hover{border-color:#e60012}.customer-login-form .ant-input-affix-wrapper-focused,.customer-login-form .ant-input:focus{border-color:#e60012;box-shadow:0 0 0 2px #e600121a}.customer-login-form .ant-input-prefix{color:#999;margin-right:8px}.customer-login-button{height:48px!important;border-radius:8px!important;font-size:16px!important;font-weight:600!important;background:#e60012!important;border:none!important;margin-top:8px;transition:all .3s;color:#fff!important}.customer-login-button:hover{background:#c5000f!important;transform:translateY(-1px);box-shadow:0 4px 12px #e6001266!important;color:#fff!important}.customer-login-button:active{background:#a3000c!important;transform:translateY(0);color:#fff!important}.customer-login-button:focus{background:#e60012!important;border-color:#e60012!important;box-shadow:0 0 0 2px #e6001233!important;color:#fff!important}.customer-login-button:focus-visible{background:#e60012!important;border-color:#e60012!important;box-shadow:0 0 0 2px #e6001233!important;color:#fff!important;outline:none!important}.customer-login-footer{text-align:center;padding:20px 24px 30px;color:#666;font-size:14px;border-top:1px solid #f0f0f0}.customer-login-link{color:#e60012;font-weight:500;text-decoration:none;margin-left:4px;transition:color .3s}.customer-login-link:hover{color:#c5000f;text-decoration:underline}@media (max-width: 480px){.customer-login-page{padding:16px}.customer-login-header{padding:30px 20px 24px}.customer-login-logo{width:60px;height:60px;margin-bottom:12px}.customer-login-title{font-size:20px}.customer-login-form{padding:24px 20px}.customer-login-button{height:44px;font-size:15px}}.customer-checkout-page{min-height:100vh;background:#f5f5f5;display:flex;flex-direction:column;position:relative;padding:0;margin:0}.customer-checkout-container{width:100%;margin:0;flex:1;padding:0;box-sizing:border-box}.customer-checkout-content{background:#fff;width:100%;min-height:calc(100vh - 45px);padding-top:0;box-sizing:border-box}.checkout-section{padding:0 24px;margin:0 0 8px;border-bottom:none;background:#fff;border-radius:0}.checkout-section:last-of-type{margin-bottom:0}.checkout-section-title{font-size:16px;font-weight:600;margin:0;padding:10px 0 12px;color:#333;display:flex;align-items:center}.checkout-section-content{padding:10px 0}.product-info{display:flex;flex-direction:column;gap:12px;padding:10px 0}.product-name-row{display:flex;align-items:flex-start;gap:12px;width:100%}.product-image-small{width:120px;height:120px;object-fit:cover;border-radius:4px;flex-shrink:0;border:1px solid #f0f0f0}.product-name-wrapper{flex:1;min-width:0;display:flex;flex-direction:column}.product-name{font-size:14px;color:#333;margin-bottom:8px;line-height:1.5;word-break:break-word}.product-sku,.product-quantity,.product-unit-price{font-size:12px;color:#999;margin-bottom:8px}.product-price-info{width:100%;margin-top:8px;padding-top:12px;border-top:1px solid #f0f0f0}.price-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;font-size:14px;color:#666}.price-key{flex-shrink:0}.price-value{color:#333;font-weight:500;flex-shrink:0;text-align:right}.total-price{color:#e60012;font-size:18px;font-weight:600}.address-radio-group{width:100%;padding:10px 0}.address-item{display:flex;align-items:flex-start;gap:12px;padding:10px;margin-bottom:12px;border:1px solid #e8e8e8;border-radius:4px;cursor:pointer;transition:all .3s;background-color:#fff}.address-item:hover{border-color:#ff4d4f}.address-item.selected{border-color:#ff4d4f;background-color:#fff}.address-info{flex:1}.receiver-name{font-size:16px;font-weight:600;margin-bottom:8px;color:#333}.receiver-phone{margin-left:12px;color:#999;font-weight:400}.default-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:#e60012;color:#fff;border-radius:4px;font-size:12px;font-weight:400}.address-detail{color:#666;font-size:14px;line-height:1.6}.no-address{text-align:center;padding:40px 0;color:#999;margin:0 0 10px}.order-total{display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:600;color:#333}.checkout-submit{padding:20px 24px 30px;border-top:1px solid #f0f0f0}.submit-button{height:48px;border-radius:8px;font-size:16px;font-weight:600;background:#e60012;border:none;transition:all .3s}.submit-button:hover:not(:disabled){background:#c5000f;transform:translateY(-1px);box-shadow:0 4px 12px #e6001266}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{background:#ccc;cursor:not-allowed;transform:none}@media (max-width: 480px){.customer-checkout-page{padding:0}.customer-checkout-header{padding:24px 20px 16px}.customer-checkout-title{font-size:20px}.checkout-section{padding:0 24px}.product-image-wrapper{flex:0 0 33.33%;min-width:120px}.product-image-small{min-width:120px;aspect-ratio:1}.submit-button{height:44px;font-size:15px}}.review-modal .ant-modal-body,.review-modal .ant-modal-container{padding:12px}.review-modal-content{width:100%}.review-product-info{margin-bottom:12px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.review-product-name{font-size:16px;font-weight:500;color:#333}.review-rating-section{margin-bottom:12px;display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.review-label{font-size:14px;color:#666;font-weight:500;min-width:60px;flex-shrink:0}.review-rating-text{margin-left:4px;color:#999;font-size:14px;white-space:nowrap;flex-shrink:0}.review-content-section{margin-bottom:12px}.review-content-section .review-label{display:block;margin-bottom:8px}.review-images-section{margin-bottom:12px}.review-images-section .review-label{display:block;margin-bottom:8px}.review-images-display{display:flex;flex-wrap:wrap;gap:12px}.review-image-item{border:1px solid #f0f0f0;border-radius:4px;padding:4px}.review-no-images{color:#999;font-size:14px;padding:20px;text-align:center}.review-images-upload{width:100%}.review-images-preview{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.review-image-preview-item{position:relative;border:1px solid #f0f0f0;border-radius:4px;padding:4px}.review-image-remove-btn{position:absolute;top:-8px;right:-8px;background:#fff;border:1px solid #ff4d4f;color:#ff4d4f;border-radius:50%;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;z-index:1}.review-image-remove-btn:hover{background:#ff4d4f;color:#fff}.review-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0}.customer-orders{width:100%;min-height:100vh;background:#f5f5f5}.customer-orders-search{padding:16px;background:#fff;border-bottom:1px solid #f0f0f0}.customer-orders-search .ant-input{border-radius:20px}.customer-orders-search .ant-input-suffix{margin-right:8px}.customer-orders .customer-orders-list,.customer-orders .customer-orders-empty{margin:16px}.customer-orders .customer-orders-pagination{margin:0 16px 24px}.customer-orders-loading,.customer-orders-error{display:flex;justify-content:center;align-items:center;height:200px;color:#999}.customer-orders-empty{border-radius:8px;box-shadow:0 2px 8px #0000001a}.customer-orders-list{display:flex;flex-direction:column;gap:16px}.customer-order-card{border-radius:8px;box-shadow:0 2px 8px #0000001a}.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.order-no{font-size:14px;color:#666;font-weight:500}.order-content{margin-bottom:16px}.order-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.order-product-item{display:flex;align-items:flex-start;margin-bottom:12px;gap:12px}.order-product-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.order-product-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.order-product-name{cursor:pointer;color:#333;font-size:15px;font-weight:500;word-break:break-word;line-height:1.5;flex:1;min-width:0}.order-product-name:hover{color:#1890ff;text-decoration:underline}.order-amount-inline{color:#e60012;font-size:16px;font-weight:600;white-space:nowrap;flex-shrink:0}.order-product-sku{color:#999;font-size:12px;line-height:1.4;word-break:break-word;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.order-quantity-badge{color:#999;font-size:12px}.order-label{color:#666;font-size:14px;white-space:nowrap;flex-shrink:0}.order-product-image{width:60px;height:60px;object-fit:cover;border-radius:4px;cursor:pointer;flex-shrink:0;border:1px solid #f0f0f0;transition:all .3s}.order-product-image:hover{border-color:#1890ff;transform:scale(1.05)}.order-value{color:#333;font-size:14px;font-weight:500}.order-amount{color:#e60012;font-size:16px;font-weight:600}.order-time{color:#999;font-size:12px;margin-top:8px}.order-countdown{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding:8px 12px;background:#fff7e6;border:1px solid #ffd591;border-radius:4px}.countdown-label{color:#666;font-size:13px}.countdown-time{color:#ff4d4f;font-size:16px;font-weight:600;font-family:Courier New,monospace}.order-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #f0f0f0}.order-action-button{border-radius:6px!important;font-size:14px!important;border:1px solid #e0e0e0!important;color:#666!important}.order-action-button:hover{border-color:#e60012!important;color:#e60012!important}.order-action-button-primary{border-radius:6px!important;font-size:14px!important;background:#e60012!important;border:none!important;color:#fff!important}.order-action-button-primary:hover{background:#c5000f!important;color:#fff!important}.order-action-button-primary:focus{background:#e60012!important;border-color:#e60012!important;box-shadow:0 0 0 2px #e6001233!important;color:#fff!important}.customer-orders-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:24px;margin-bottom:24px}.pagination-button{border-radius:6px!important;font-size:14px!important;border:1px solid #e0e0e0!important;color:#666!important}.pagination-button:hover:not(:disabled){border-color:#e60012!important;color:#e60012!important}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:#666}.customer-orders-load-more{padding:20px;text-align:center}.customer-orders-no-more{padding:20px;text-align:center;color:#999;font-size:14px}.customer-profile-page{min-height:100vh;background:#f5f5f5;padding-bottom:20px}.customer-profile-menu-card{margin:12px 16px;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:0}.customer-profile-menu-list{padding:0;list-style:none;margin:0}.customer-profile-menu-item{padding:16px 20px;cursor:pointer;transition:background-color .3s;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}.customer-profile-menu-item:last-child{border-bottom:none}.customer-profile-menu-item:hover{background-color:#f5f5f5}.customer-profile-menu-item:active{background-color:#f0f0f0}.menu-item-content{display:flex;align-items:center;flex:1;min-width:0}.menu-item-icon{font-size:20px;color:#e60012;margin-right:12px;width:24px;text-align:center;flex-shrink:0}.menu-item-label{font-size:16px;color:#333;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-item-arrow{color:#ccc;font-size:14px;flex-shrink:0;margin-left:12px}.customer-profile-footer{padding:20px 16px}.customer-profile-logout-button{width:100%;height:48px;border-radius:8px;border:1px solid #e0e0e0;background:#fff;color:#666;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s}.customer-profile-logout-button:hover{border-color:#e60012;color:#e60012}.customer-profile-logout-button:active{background:#f5f5f5}@media (max-width: 768px){.customer-profile-menu-card{margin:12px}.customer-profile-menu-item{padding:14px 16px!important}.menu-item-label{font-size:15px}}.customer-profile-info{width:100%;min-height:100vh;background:#f5f5f5}.customer-profile-info .customer-profile-info-card{margin:16px}.customer-profile-info-loading{display:flex;justify-content:center;align-items:center;height:200px;color:#999}.customer-profile-info-card{border-radius:8px;box-shadow:0 2px 8px #0000001a}.customer-profile-info-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.customer-profile-info-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.customer-profile-info-content{margin-bottom:24px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f5f5f5}.info-item:last-child{border-bottom:none}.info-label{color:#666;font-size:14px}.info-value{color:#333;font-size:14px;font-weight:500}.customer-profile-info-actions{display:flex;flex-direction:column;gap:12px}.customer-profile-info-form{margin-top:20px}.customer-profile-info-form .ant-input-affix-wrapper,.customer-profile-info-form .ant-input{border-radius:8px;border:1px solid #e0e0e0;transition:all .3s}.customer-profile-info-form .ant-input-affix-wrapper:hover,.customer-profile-info-form .ant-input:hover{border-color:#e60012}.customer-profile-info-form .ant-input-affix-wrapper-focused,.customer-profile-info-form .ant-input:focus{border-color:#e60012;box-shadow:0 0 0 2px #e600121a}.customer-profile-info-form-actions{display:flex;gap:12px;margin-top:24px;align-items:center}.customer-profile-info-form-actions .ant-btn{flex:1;margin:0}.customer-profile-button-logout{height:48px!important;border-radius:8px!important;font-size:16px!important;border:1px solid #e0e0e0!important;color:#666!important}.customer-profile-button-logout:hover{border-color:#e60012!important;color:#e60012!important}.customer-addresses{width:100%;min-height:100vh;background:#f5f5f5}.customer-addresses .customer-addresses-header{margin:16px}.customer-addresses .customer-addresses-list{margin:0 16px}.customer-addresses-loading{display:flex;justify-content:center;align-items:center;height:200px;color:#999}.customer-addresses-header{margin-bottom:16px}.customer-addresses-add-button{height:48px!important;border-radius:8px!important;font-size:16px!important;font-weight:600!important;background:#e60012!important;border:none!important;color:#fff!important}.customer-addresses-add-button:hover{background:#c5000f!important;color:#fff!important}.customer-addresses-add-button:focus{background:#e60012!important;border-color:#e60012!important;box-shadow:0 0 0 2px #e6001233!important;color:#fff!important}.customer-addresses-empty{border-radius:8px;box-shadow:0 2px 8px #0000001a}.empty-content{text-align:center;padding:40px 20px;color:#999}.customer-addresses-list{display:flex;flex-direction:column;gap:16px}.customer-address-card{border-radius:8px;box-shadow:0 2px 8px #0000001a}.address-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.address-receiver{display:flex;align-items:center;gap:12px}.receiver-name{font-size:16px;font-weight:600;color:#333}.receiver-phone{font-size:14px;color:#666}.address-detail{color:#666;font-size:14px;line-height:1.6;margin-bottom:12px}.address-actions{display:flex;gap:8px;flex-wrap:wrap}.address-action-button{border-radius:6px!important;font-size:14px!important}.customer-addresses-form{margin-top:20px}.customer-addresses-form .ant-input,.customer-addresses-form .ant-input-affix-wrapper{border-radius:8px;border:1px solid #e0e0e0;transition:all .3s}.customer-addresses-form .ant-input:hover,.customer-addresses-form .ant-input-affix-wrapper:hover{border-color:#e60012}.customer-addresses-form .ant-input:focus,.customer-addresses-form .ant-input-affix-wrapper-focused{border-color:#e60012;box-shadow:0 0 0 2px #e600121a}.customer-addresses-form-actions{display:flex;gap:12px;margin-top:24px;align-items:center}.customer-addresses-form-actions .ant-btn{flex:1;display:flex;align-items:center;justify-content:center;margin:0!important}.customer-profile-button{height:48px!important;border-radius:8px!important;font-size:16px!important;font-weight:600!important;background:#e60012!important;border:none!important;color:#fff!important}.customer-profile-button-cancel{height:48px!important;border-radius:8px!important;font-size:16px!important;border:1px solid #e0e0e0!important;color:#666!important}.customer-profile-button-cancel:hover{border-color:#e60012!important;color:#e60012!important}.customer-change-password{width:100%;min-height:100vh;background:#f5f5f5}.customer-change-password .customer-change-password-card{margin:16px}.customer-change-password-card{border-radius:8px;box-shadow:0 2px 8px #0000001a}.customer-change-password-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.customer-change-password-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.customer-change-password-form{margin-top:20px}.customer-change-password-form .ant-input-affix-wrapper,.customer-change-password-form .ant-input{border-radius:8px;border:1px solid #e0e0e0;transition:all .3s}.customer-change-password-form .ant-input-affix-wrapper:hover,.customer-change-password-form .ant-input:hover{border-color:#e60012}.customer-change-password-form .ant-input-affix-wrapper-focused,.customer-change-password-form .ant-input:focus{border-color:#e60012;box-shadow:0 0 0 2px #e600121a}.customer-profile-button{height:48px!important;border-radius:8px!important;font-size:16px!important;font-weight:600!important;background:#e60012!important;border:none!important;color:#fff!important;margin-top:8px}.customer-profile-button:hover{background:#c5000f!important;color:#fff!important}.customer-profile-button:active{background:#a3000c!important;color:#fff!important}.customer-profile-button:focus{background:#e60012!important;border-color:#e60012!important;box-shadow:0 0 0 2px #e6001233!important;color:#fff!important}.customer-order-detail{min-height:100vh;background:#f5f5f5}.customer-order-detail .ant-card{border-radius:0}.customer-order-detail .ant-card-body{padding:16px}.customer-order-detail .ant-btn-primary{background:#e60012!important;border-color:#e60012!important}.customer-order-detail .ant-btn-primary:hover{background:#c5000f!important;border-color:#c5000f!important}.customer-order-detail .ant-btn-primary:focus{background:#e60012!important;border-color:#e60012!important;box-shadow:0 0 0 2px #e6001233!important}.category-list-page{min-height:100vh;background:#f5f5f5;padding-bottom:3.5rem}.category-list-container{padding:1rem;max-width:1200px;margin:0 auto}.category-search{margin-bottom:1rem;background:#fff;padding:1rem;border-radius:.5rem;box-shadow:0 2px 8px #0000000f}.category-loading,.category-error{display:flex;justify-content:center;align-items:center;min-height:50vh;padding:2rem}.category-empty{padding:3rem 1rem;background:#fff;border-radius:.5rem}.category-collapse-wrapper{background:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 2px 8px #0000000f}.category-collapse{background:transparent;border:none}.category-collapse .ant-collapse-item{border-bottom:1px solid #f0f0f0;border-radius:0!important}.category-collapse .ant-collapse-item:last-child{border-bottom:none}.category-collapse .ant-collapse-header{padding:1rem 1.25rem!important;background:#fff;transition:background .3s}.category-collapse .ant-collapse-header:hover{background:#fafafa}.category-collapse .ant-collapse-content{background:#fafafa;border-top:1px solid #f0f0f0}.category-collapse .ant-collapse-content-box{padding:0!important}.category-panel-header{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer}.category-header-content{display:flex;align-items:center;flex:1}.category-header-info{flex:1;min-width:0}.category-header-name{font-size:1rem;font-weight:600;color:#333;margin-bottom:.25rem}.category-header-desc{font-size:.875rem;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-enter-icon{color:#999;font-size:.875rem;transition:transform .3s,color .3s;flex-shrink:0;margin-left:.5rem}.category-panel-header:hover .category-enter-icon{color:#1890ff;transform:translate(4px)}.category-child-item{padding:.875rem 1.25rem!important;cursor:pointer;transition:background .3s;border-bottom:1px solid #f0f0f0}.category-child-item:last-child{border-bottom:none}.category-child-item:hover{background:#f5f5f5}.category-child-item .ant-list-item-meta{align-items:center}.category-child-name{font-size:.9375rem;font-weight:500;color:#333}.category-child-desc{font-size:.8125rem;color:#999;margin-top:.25rem}.category-child-arrow{color:#ccc;font-size:.75rem;transition:transform .3s,color .3s}.category-child-item:hover .category-child-arrow{color:#1890ff;transform:translate(4px)}.category-no-children{padding:2rem 1.25rem}@media (max-width: 768px){.category-list-container{padding:.75rem}.category-search{padding:.75rem;margin-bottom:.75rem}.category-collapse .ant-collapse-header{padding:.875rem 1rem!important}.category-header-name{font-size:.9375rem}.category-header-desc{font-size:.8125rem}.category-child-item{padding:.75rem 1rem!important}}@media (max-width: 480px){.category-header-name,.category-child-name{font-size:.875rem}}.product-crawler-container{padding:24px;min-height:100vh;display:flex;justify-content:center}.crawler-card{margin-bottom:24px;max-width:600px;width:100%}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;max-height:600px;overflow-y:auto;padding:16px 0}.product-card{cursor:pointer;transition:all .3s;border:2px solid transparent}.product-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.product-card.selected{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.product-image-container{position:relative;width:100%;height:200px;overflow:hidden;background:#f5f5f5;display:flex;align-items:center;justify-content:center}.product-image-container img{width:100%;height:100%;object-fit:cover}.image-placeholder{color:#999;font-size:14px}.checkbox-overlay{position:absolute;top:8px;right:8px;background:#ffffffe6;padding:4px;border-radius:4px}.product-title{font-size:14px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;min-height:30px;margin:0}.product-info{margin-top:8px;padding:0}.product-price{font-size:18px;font-weight:700;color:#ff4d4f;margin-bottom:0;padding:0 10px}.product-sales{font-size:12px;color:#999}.product-detail-button-container{margin:0;padding:0 10px}.product-detail-button-container .ant-btn-link{color:#1890ff;font-size:12px}.product-detail-button-container .ant-btn-link:hover{color:#40a9ff}.product-card .ant-card-meta-title{margin:0}.crawler-task-management{padding:24px}.crawler-task-management .ant-table{margin-top:16px}.bottom-navbar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e8e8e8;display:flex;justify-content:space-around;align-items:center;height:3.5rem;--bottom-navbar-height: 3.5rem;box-shadow:0 -2px 8px #0000001a;z-index:100;max-width:100%;box-sizing:border-box}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:.3125rem .9375rem;transition:color .3s;flex:1;min-width:0;-webkit-user-select:none;user-select:none}.nav-item:active{opacity:.7}.nav-item.active .nav-label,.nav-item.active .nav-icon{color:#e60012}.nav-icon{width:1.5rem;height:1.5rem;margin-bottom:.25rem;line-height:1;color:#666;transition:color .3s}.nav-label{font-size:.75rem;color:#666;line-height:1.2}.nav-item:hover .nav-label,.nav-item:hover .nav-icon{color:#e60012}.shop-layout-content{padding-bottom:var(--bottom-navbar-height, 3.5rem);min-height:calc(100vh - var(--bottom-navbar-height, 3.5rem));box-sizing:border-box}.icp-license-container{text-align:center;padding:.4rem 1rem;background:#f5f5f5;border-top:1px solid #e8e8e8;position:fixed;bottom:3.5rem;left:0;right:0;z-index:998}.icp-license-link{font-size:.6rem;color:#999;line-height:1.2;text-decoration:none;transition:color .3s}.icp-license-link:hover{color:#666}.shop-layout{width:100%;min-height:100vh;position:relative;box-sizing:border-box}.shop-layout-content{width:100%;min-height:calc(100vh - 4.5rem);padding-bottom:4.5rem;box-sizing:border-box}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;align-items:center;padding:20px}.container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:40px;max-width:600px;width:100%}h1{color:#333;text-align:center;margin-bottom:30px;font-size:28px}.content{margin-top:20px}.loading{text-align:center;padding:40px;color:#667eea;font-size:18px}.error{text-align:center;padding:20px;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33}.error button{margin-top:15px;padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .3s}.error button:hover{background:#5568d3}.data-card{background:#f8f9fa;border-radius:8px;padding:25px}.data-card h2{color:#333;margin-bottom:20px;font-size:20px;border-bottom:2px solid #667eea;padding-bottom:10px}.data-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e0e0e0}.data-item:last-child{border-bottom:none}.label{font-weight:600;color:#555;min-width:100px}.value{color:#333;text-align:right;flex:1}*{font-family:Microsoft YaHei,微软雅黑,sans-serif}html{overflow-x:hidden;width:100%;max-width:100%}body{margin:0;padding:0;font-family:Microsoft YaHei,微软雅黑,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%;max-width:100%;box-sizing:border-box}*{box-sizing:border-box}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}
