*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #fafafa;--card: #fff;--border: #eee;--text: #333;--text2: #888;--text3: #bbb;--primary: #1a1a1a;--accent: #0066ff;--success: #00b578;--warn: #ff8f1f;--danger: #ff3b30;--radius: 12px;--shadow: 0 1px 3px rgba(0,0,0,.06)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}button{cursor:pointer;border:none;font-family:inherit;font-size:14px;outline:none}input,select,textarea{font-family:inherit;font-size:14px;outline:none}a{color:inherit;text-decoration:none}.app{max-width:1200px;margin:0 auto;padding:0 20px 40px}.page-title{font-size:22px;font-weight:600;margin:28px 0 20px;color:var(--primary)}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:8px;position:sticky;top:0;background:var(--bg);z-index:100;gap:20px}.header .logo{font-size:22px;font-weight:700;letter-spacing:1px;white-space:nowrap}.header nav{display:flex;gap:2px}.header nav a{padding:8px 18px;border-radius:8px;font-size:14px;color:var(--text2);transition:all .2s;cursor:pointer;white-space:nowrap}.header nav a:hover{background:var(--border);color:var(--text)}.header nav a.active{background:var(--primary);color:#fff}.header .cart-badge{position:relative}.header .cart-badge:after{content:attr(data-count);position:absolute;top:2px;right:6px;background:var(--danger);color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center}.header .cart-badge[data-count="0"]:after{display:none}.hero{background:linear-gradient(135deg,#1a1a1a,#333);border-radius:16px;padding:60px 48px;margin:24px 0 32px;color:#fff;display:flex;align-items:center;justify-content:space-between}.hero .hero-text h1{font-size:36px;font-weight:700;letter-spacing:2px;margin-bottom:12px}.hero .hero-text p{font-size:16px;opacity:.7;line-height:1.8;max-width:400px}.hero .hero-icon{font-size:80px}@media (max-width: 600px){.hero{padding:36px 24px;flex-direction:column;text-align:center;gap:20px}.hero .hero-text h1{font-size:26px}}.cat-bar{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.cat-bar .cat-btn{padding:8px 20px;border-radius:20px;background:var(--card);border:1px solid var(--border);color:var(--text2);font-size:14px;transition:all .2s}.cat-bar .cat-btn:hover{border-color:var(--text3);color:var(--text)}.cat-bar .cat-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 900px){.products{grid-template-columns:repeat(2,1fr)}}@media (max-width: 500px){.products{grid-template-columns:1fr}}.product-card{background:var(--card);border-radius:var(--radius);padding:20px;border:1px solid var(--border);transition:all .2s;cursor:pointer}.product-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.product-card .emoji{font-size:48px;text-align:center;margin-bottom:12px}.product-card .name{font-size:16px;font-weight:600;margin-bottom:4px}.product-card .desc{font-size:13px;color:var(--text2);margin-bottom:8px}.product-card .meta{display:flex;align-items:center;justify-content:space-between}.product-card .price{font-size:20px;font-weight:700;color:var(--danger)}.product-card .stock{font-size:12px;color:var(--text3)}.product-card .btn-add{width:100%;margin-top:12px;padding:10px;border-radius:8px;background:var(--primary);color:#fff;font-weight:500;transition:opacity .2s}.product-card .btn-add:hover{opacity:.85}.product-card .btn-add:disabled{opacity:.3;cursor:not-allowed}.cart-empty{text-align:center;padding:60px 0;color:var(--text3);font-size:15px}.cart-empty .empty-icon{font-size:64px;margin-bottom:16px;display:block}.cart-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.cart-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--card);border-radius:var(--radius);border:1px solid var(--border)}.cart-item .item-emoji{font-size:32px}.cart-item .item-info{flex:1}.cart-item .item-name{font-weight:600;font-size:15px}.cart-item .item-price{color:var(--danger);font-weight:600;font-size:15px}.cart-item .item-actions{display:flex;align-items:center;gap:6px}.cart-item .qty-btn{width:30px;height:30px;border-radius:6px;border:1px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}.cart-item .qty-btn:hover{border-color:var(--primary)}.cart-item .qty{width:40px;text-align:center;font-weight:600}.cart-item .btn-remove{margin-left:12px;color:var(--text3);background:none;font-size:13px;padding:4px 8px}.cart-item .btn-remove:hover{color:var(--danger)}.cart-checkout{background:var(--card);border-radius:var(--radius);padding:24px;border:1px solid var(--border)}.cart-checkout .checkout-title{font-size:16px;font-weight:600;margin-bottom:16px}.checkout-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.checkout-form .full{grid-column:1 / -1}.checkout-form input{padding:10px 14px;border:1px solid var(--border);border-radius:8px;width:100%}.checkout-form input:focus{border-color:var(--accent)}.checkout-total{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border)}.checkout-total .total-label{font-size:16px;color:var(--text2)}.checkout-total .total-price{font-size:28px;font-weight:700;color:var(--danger)}.btn-checkout{width:100%;margin-top:16px;padding:14px;border-radius:8px;background:var(--primary);color:#fff;font-weight:600;font-size:16px;transition:opacity .2s}.btn-checkout:hover{opacity:.85}.btn-checkout:disabled{opacity:.3;cursor:not-allowed}.order-filters{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.order-filters .filter-btn{padding:6px 16px;border-radius:20px;background:var(--bg);border:1px solid var(--border);color:var(--text2);font-size:13px;transition:all .2s}.order-filters .filter-btn:hover{border-color:var(--text3)}.order-filters .filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.order-filters .search-input{margin-left:auto;padding:6px 14px;border:1px solid var(--border);border-radius:20px;width:220px}.order-filters .search-input:focus{border-color:var(--accent)}.order-progress{display:flex;align-items:center;justify-content:center;gap:0;margin:16px 0}.order-progress .step{display:flex;align-items:center;gap:8px;color:var(--text3);font-size:13px}.order-progress .step .dot{width:24px;height:24px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.order-progress .step.active{color:var(--accent)}.order-progress .step.active .dot{background:var(--accent)}.order-progress .step.done{color:var(--success)}.order-progress .step.done .dot{background:var(--success)}.order-progress .line{width:40px;height:2px;background:var(--border);margin:0 4px}.order-progress .line.done{background:var(--success)}.order-card{background:var(--card);border-radius:var(--radius);padding:20px;border:1px solid var(--border);margin-bottom:12px;transition:box-shadow .2s}.order-card:hover{box-shadow:var(--shadow)}.order-card .order-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.order-card .order-id{font-weight:700;font-size:16px;font-family:monospace}.order-card .order-items{font-size:13px;color:var(--text2);margin-bottom:8px}.order-card .order-footer{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text2);flex-wrap:wrap;gap:4px}.order-card .order-total{font-size:18px;font-weight:700;color:var(--danger)}.order-card .order-info{font-size:12px;color:var(--text3);margin-top:4px}.order-card .order-actions{display:flex;gap:8px;margin-top:12px}.btn-small{padding:6px 16px;border-radius:6px;font-size:13px;font-weight:500;transition:opacity .2s}.btn-small:hover{opacity:.85}.btn-primary{background:var(--accent);color:#fff}.btn-success{background:var(--success);color:#fff}.btn-outline{background:#fff;color:var(--text);border:1px solid var(--border)}.btn-ghost{background:transparent;color:var(--text2)}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.badge-pending_payment{background:#fff3e0;color:#e65100}.badge-paid{background:#e3f2fd;color:#1565c0}.badge-shipped{background:#e8f5e9;color:#2e7d32}.badge-completed{background:#f3e5f5;color:#7b1fa2}.toast{position:fixed;top:24px;left:50%;transform:translate(-50%);padding:12px 28px;border-radius:8px;font-size:14px;font-weight:500;z-index:1000;animation:toastIn .3s ease}.toast-success{background:#e8f5e9;color:#2e7d32}.toast-error{background:#ffebee;color:#c62828}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pay-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:999}.pay-modal .modal-card{background:#fff;border-radius:16px;padding:36px;min-width:380px;max-width:460px;text-align:center}.pay-modal .modal-icon{font-size:60px;margin-bottom:16px}.pay-modal .modal-title{font-size:20px;font-weight:700;margin-bottom:8px}.pay-modal .modal-amount{font-size:32px;font-weight:700;color:var(--danger);margin-bottom:8px}.pay-modal .modal-desc{font-size:14px;color:var(--text2);margin-bottom:24px}.pay-modal .modal-methods{display:flex;gap:10px;justify-content:center;margin-bottom:24px;flex-wrap:wrap}.pay-modal .method-btn{padding:12px 20px;border-radius:10px;border:2px solid var(--border);background:#fff;font-size:14px;transition:all .2s}.pay-modal .method-btn:hover{border-color:var(--accent)}.pay-modal .method-btn.selected{border-color:var(--accent);background:#eef5ff}.pay-modal .btn-pay{width:100%;padding:14px;border-radius:10px;background:var(--accent);color:#fff;font-size:16px;font-weight:600;transition:opacity .2s}.pay-modal .btn-pay:hover{opacity:.85}.pay-modal .btn-cancel{margin-top:10px;color:var(--text2);background:none;font-size:14px}.pay-modal .btn-cancel:hover{color:var(--text)}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.detail-modal{background:#fff;border-radius:20px;width:560px;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.detail-modal{width:92vw;border-radius:16px}}.detail-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:#0000000d;color:var(--text2);display:flex;align-items:center;justify-content:center;font-size:16px;z-index:1}.detail-close:hover{background:#0000001a;color:var(--text)}.detail-hero{text-align:center;padding:36px 20px 16px;background:linear-gradient(135deg,#f8f8f8,#fff)}.detail-emoji{font-size:80px}.detail-body{padding:20px 28px 28px}.detail-category{font-size:12px;color:var(--text3);text-transform:uppercase;margin-bottom:4px}.detail-name{font-size:22px;font-weight:700;margin-bottom:6px;color:var(--primary)}.detail-desc{font-size:14px;color:var(--text2);margin-bottom:16px}.detail-price-box{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.detail-price{font-size:32px;font-weight:700;color:var(--danger)}.detail-stock{font-size:13px;color:var(--text3)}.detail-section{margin-bottom:20px}.detail-section h4{font-size:15px;font-weight:600;margin-bottom:10px;color:var(--primary)}.detail-section p{font-size:14px;color:var(--text2);line-height:1.8}.spec-table{border-radius:10px;overflow:hidden;border:1px solid var(--border)}.spec-row{display:flex;border-bottom:1px solid var(--border)}.spec-row:last-child{border-bottom:none}.spec-key{width:100px;padding:10px 14px;background:#fafafa;font-size:13px;color:var(--text2);font-weight:500;flex-shrink:0}.spec-val{flex:1;padding:10px 14px;font-size:13px;color:var(--text)}.detail-add-btn{width:100%;margin-top:8px;padding:14px;border-radius:10px;background:var(--primary);color:#fff;font-weight:600;font-size:16px;transition:opacity .2s}.detail-add-btn:hover{opacity:.85}.detail-add-btn:disabled{opacity:.3;cursor:not-allowed}.product-card{cursor:pointer}.product-card:hover{box-shadow:0 2px 12px #00000014}.product-card:hover .name{color:var(--accent)}.product-card:active{transform:scale(.98)}.site-footer{text-align:center;padding:32px 0 16px;margin-top:40px;border-top:1px solid var(--border)}.site-footer a{font-size:13px;color:var(--text3);transition:color .2s}.site-footer a:hover{color:var(--text2)}
