/* ========== CRMEB Mobile Style ========== */
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    color: #353535; background: #f5f5f5; font-size: 14px;
    -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent;
    overflow: hidden;
}
a { text-decoration: none; color: inherit; }
img { max-width: 100%; vertical-align: middle; border: 0; }
input, button, select, textarea { font-family: inherit; font-size: inherit; outline: none; border: none; background: none; }
ul, li { list-style: none; }

/* ====== App Container ====== */
#app {
    height: 100vh; display: flex; flex-direction: column;
    max-width: 375px; margin: 0 auto;
    background: #f5f5f5; position: relative;
}

/* ====== Header ====== */
.app-header {
    height: 44px; min-height: 44px; background: #fff;
    display: flex; align-items: center; justify-content: center;
    padding: 0 12px; position: relative; z-index: 100;
    border-bottom: 0.5px solid #eee;
}
.app-header .title { font-size: 17px; font-weight: 600; color: #353535; }
.app-header .back-btn {
    position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
    font-size: 16px; color: #353535; padding: 4px 8px; display: flex; align-items: center; gap: 2px;
}
.app-header .back-btn::before { content: '<'; font-size: 18px; font-weight: 300; }
.app-header .header-right {
    position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
    display: flex; align-items: center; gap: 12px; font-size: 14px;
}

/* ====== Tab Bar ====== */
.tab-bar {
    height: 50px; min-height: 50px; background: #fff;
    display: flex; border-top: 0.5px solid #e5e5e5;
    padding-bottom: env(safe-area-inset-bottom);
}
.tab-item {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    font-size: 10px; color: #282828; position: relative;
    cursor: pointer; transition: color .2s;
}
.tab-item .tab-icon { font-size: 22px; margin-bottom: 2px; line-height: 1; }
.tab-item.active { color: #E93323; }
.tab-item .badge {
    position: absolute; top: 2px; left: 50%; margin-left: 10px;
    background: #f43530; color: #fff; font-size: 10px;
    min-width: 16px; height: 16px; line-height: 16px; text-align: center;
    border-radius: 8px; padding: 0 4px; transform: scale(0.85);
}

/* ====== Main Content ====== */
.page-content {
    flex: 1; overflow-y: auto; overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

/* ====== Search Bar ====== */
.search-bar {
    padding: 8px 12px; background: #fff;
}
.search-bar-inner {
    display: flex; align-items: center; height: 32px;
    background: #f7f7f7; border-radius: 16px; padding: 0 12px;
}
.search-bar-inner .search-icon { font-size: 14px; color: #999; margin-right: 6px; flex-shrink: 0; }
.search-bar-inner input {
    flex: 1; font-size: 13px; color: #353535; background: transparent;
}
.search-bar-inner input::placeholder { color: #ccc; }
.search-bar-inner .search-btn {
    background: #E93323; color: #fff; font-size: 12px; padding: 4px 14px;
    border-radius: 14px; flex-shrink: 0; cursor: pointer;
}

/* ====== Banner ====== */
.banner-wrap {
    margin: 10px 12px; border-radius: 8px; overflow: hidden; position: relative;
    height: 170px; background: #fff;
}
.banner-wrap .banner-track { display: flex; height: 100%; transition: transform .4s ease; }
.banner-wrap .banner-slide { min-width: 100%; height: 100%; }
.banner-wrap .banner-slide img { width: 100%; height: 100%; object-fit: cover; }
.banner-wrap .banner-dots {
    position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%);
    display: flex; gap: 6px;
}
.banner-wrap .banner-dots span {
    width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.5);
    transition: all .3s;
}
.banner-wrap .banner-dots span.active { width: 16px; border-radius: 3px; background: #fff; }

/* ====== Category Icons ====== */
.cate-icon-grid {
    display: grid; grid-template-columns: repeat(5,1fr);
    gap: 0; padding: 0 8px; background: #fff; margin: 0 12px;
    border-radius: 8px; padding-bottom: 12px;
}
.cate-icon-item {
    display: flex; flex-direction: column; align-items: center;
    padding: 12px 4px 4px; cursor: pointer;
}
.cate-icon-item .cate-icon-img {
    width: 44px; height: 44px; border-radius: 22px;
    background: #fef0ef; display: flex; align-items: center; justify-content: center;
    font-size: 22px; margin-bottom: 6px;
}
.cate-icon-item .cate-icon-name { font-size: 11px; color: #666; text-align: center; }

/* ====== Section ====== */
.section { margin: 10px 0; }
.section-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 12px 8px;
}
.section-header .section-title { font-size: 16px; font-weight: 600; color: #353535; }
.section-header .section-more { font-size: 12px; color: #999; }
.section-header .section-more::after { content: ' >'; }

/* ====== Seckill Section ====== */
.seckill-section {
    margin: 0 12px; background: linear-gradient(135deg, #ff5a3a, #E93323);
    border-radius: 10px; padding: 14px 12px; color: #fff;
}
.seckill-section .seckill-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 10px;
}
.seckill-section .seckill-header .seckill-title { font-size: 16px; font-weight: 600; }
.seckill-section .seckill-header .seckill-timer { font-size: 12px; }
.seckill-section .seckill-header .seckill-timer span {
    background: rgba(0,0,0,.3); padding: 2px 6px; border-radius: 4px; margin: 0 1px;
}
.seckill-list { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.seckill-list::-webkit-scrollbar { display: none; }
.seckill-item {
    flex-shrink: 0; width: 100px; background: #fff; border-radius: 6px;
    overflow: hidden; text-align: center;
}
.seckill-item .s-img { width: 100%; height: 100px; overflow: hidden; }
.seckill-item .s-img img { width: 100%; height: 100%; object-fit: cover; }
.seckill-item .s-info { padding: 6px; }
.seckill-item .s-name { font-size: 12px; color: #353535; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.seckill-item .s-price { color: #E93323; font-size: 14px; font-weight: 600; margin-top: 2px; }
.seckill-item .s-price .old { color: #999; font-size: 10px; text-decoration: line-through; margin-left: 4px; font-weight: 400; }

/* ====== Product Card ====== */
.product-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; padding: 0 12px; }
.product-card {
    background: #fff; border-radius: 8px; overflow: hidden;
    transition: transform .2s;
}
.product-card .p-img { width: 100%; height: 170px; overflow: hidden; background: #f8f8f8; }
.product-card .p-img img { width: 100%; height: 100%; object-fit: cover; }
.product-card .p-info { padding: 8px 10px 10px; }
.product-card .p-name {
    font-size: 13px; color: #353535; line-height: 1.4;
    overflow: hidden; text-overflow: ellipsis; display: -webkit-box;
    -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 36px;
}
.product-card .p-price {
    margin-top: 4px; font-size: 16px; font-weight: 600; color: #E93323;
}
.product-card .p-price .ot-price { font-size: 11px; color: #999; text-decoration: line-through; margin-left: 4px; font-weight: 400; }
.product-card .p-sales { font-size: 11px; color: #999; margin-top: 2px; }

/* ====== Category Page ====== */
.cate-page { display: flex; height: 100%; }
.cate-left {
    width: 90px; min-width: 90px; background: #f8f8f8;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
}
.cate-left-item {
    padding: 14px 8px; text-align: center; font-size: 13px; color: #666;
    position: relative; cursor: pointer;
}
.cate-left-item.active { color: #E93323; background: #fff; font-weight: 500; }
.cate-left-item.active::before {
    content: ''; position: absolute; left: 0; top: 25%; bottom: 25%; width: 3px;
    background: #E93323; border-radius: 0 2px 2px 0;
}
.cate-right { flex: 1; overflow-y: auto; background: #fff; padding: 12px; }
.cate-right-banner {
    width: 100%; height: 100px; border-radius: 6px; overflow: hidden; margin-bottom: 12px;
}
.cate-right-banner img { width: 100%; height: 100%; object-fit: cover; }
.cate-sub-title { font-size: 13px; color: #999; margin-bottom: 8px; }
.cate-sub-grid { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 0.5px solid #f0f0f0; }
.cate-sub-item { font-size: 12px; color: #666; background: #f8f8f8; padding: 5px 12px; border-radius: 12px; cursor: pointer; }

/* ====== Cart Page ====== */
.cart-empty { text-align: center; padding: 60px 20px; color: #999; }
.cart-empty .icon { font-size: 50px; margin-bottom: 12px; }
.cart-item {
    display: flex; align-items: center; padding: 10px 12px;
    background: #fff; margin-bottom: 1px;
}
.cart-item .cart-check { margin-right: 10px; width: 20px; height: 20px; }
.cart-item .cart-img { width: 80px; height: 80px; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.cart-item .cart-img img { width: 100%; height: 100%; object-fit: cover; }
.cart-item .cart-info { flex: 1; margin-left: 10px; min-width: 0; }
.cart-item .cart-name { font-size: 13px; color: #353535; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cart-item .cart-sku { font-size: 11px; color: #999; margin-top: 2px; }
.cart-item .cart-price-row { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
.cart-item .cart-price { color: #E93323; font-weight: 600; font-size: 15px; }
.cart-num-ctrl { display: flex; align-items: center; border: 0.5px solid #ddd; border-radius: 4px; }
.cart-num-ctrl button {
    width: 26px; height: 26px; display: flex; align-items: center; justify-content: center;
    font-size: 16px; color: #666; cursor: pointer; background: #f8f8f8;
}
.cart-num-ctrl input {
    width: 36px; height: 26px; text-align: center; font-size: 13px; color: #353535;
    border-left: 0.5px solid #ddd; border-right: 0.5px solid #ddd;
}
.cart-footer-bar {
    position: sticky; bottom: 0; background: #fff; border-top: 0.5px solid #eee;
    display: flex; align-items: center; padding: 8px 12px; justify-content: space-between;
}
.cart-footer-bar .total { font-size: 15px; font-weight: 600; }
.cart-footer-bar .total em { color: #E93323; font-style: normal; font-size: 17px; }
.cart-footer-bar .checkout-btn {
    background: #E93323; color: #fff; padding: 10px 24px; border-radius: 20px;
    font-size: 14px; font-weight: 500; cursor: pointer;
}

/* ====== Product Detail ====== */
.detail-img-wrap { position: relative; background: #fff; }
.detail-main-img { width: 100%; height: 375px; overflow: hidden; }
.detail-main-img img { width: 100%; height: 100%; object-fit: cover; }
.detail-img-dots {
    position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%);
    display: flex; gap: 6px;
}
.detail-img-dots span {
    width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.5);
}
.detail-img-dots span.active { background: #E93323; width: 14px; border-radius: 3px; }
.detail-info-box { background: #fff; padding: 0 12px; margin-bottom: 10px; }
.detail-name { font-size: 17px; font-weight: 600; padding: 12px 0 8px; line-height: 1.4; }
.detail-price-row {
    display: flex; align-items: baseline; padding: 8px 0; border-top: 0.5px solid #f0f0f0; border-bottom: 0.5px solid #f0f0f0;
}
.detail-price { color: #E93323; font-size: 24px; font-weight: 700; }
.detail-ot-price { color: #999; font-size: 13px; text-decoration: line-through; margin-left: 8px; }
.detail-sales { color: #999; font-size: 12px; margin-left: auto; }

.detail-sku-section { background: #fff; padding: 0 12px; margin-bottom: 10px; padding-bottom: 12px; }
.detail-sku-row { display: flex; align-items: center; padding: 10px 0; border-bottom: 0.5px solid #f0f0f0; }
.detail-sku-row .sku-label { width: 60px; font-size: 13px; color: #999; flex-shrink: 0; }
.detail-sku-row .sku-values { display: flex; flex-wrap: wrap; gap: 6px; flex: 1; }
.detail-sku-row .sku-values span {
    padding: 5px 14px; border: 0.5px solid #ddd; border-radius: 4px;
    font-size: 12px; color: #666; cursor: pointer; transition: all .2s;
}
.detail-sku-row .sku-values span.active { border-color: #E93323; color: #E93323; background: #fef0ef; }
.detail-num-row {
    display: flex; align-items: center; background: #fff; padding: 0 12px;
    margin-bottom: 10px; height: 44px; justify-content: space-between;
}
.detail-num-row .num-label { font-size: 13px; color: #999; }
.detail-num-row .stock-text { font-size: 12px; color: #999; }

.detail-desc { background: #fff; padding: 12px; margin-top: 10px; }
.detail-desc h3 { font-size: 15px; margin-bottom: 10px; padding-bottom: 8px; border-bottom: 0.5px solid #f0f0f0; }
.detail-desc-content { font-size: 13px; color: #666; line-height: 1.6; }
.detail-desc-content img { max-width: 100%; }

.detail-bottom-bar {
    position: sticky; bottom: 0; background: #fff; border-top: 0.5px solid #eee;
    display: flex; align-items: center; height: 50px; padding: 0 12px; gap: 8px;
}
.detail-bottom-bar .btn-icon {
    display: flex; flex-direction: column; align-items: center; font-size: 10px; color: #666;
    padding: 4px 8px; cursor: pointer; flex-shrink: 0;
}
.detail-bottom-bar .btn-icon .icn { font-size: 20px; }
.detail-bottom-bar .btn-cart {
    flex: 1; height: 36px; line-height: 36px; text-align: center;
    background: #fff; color: #E93323; border: 1px solid #E93323; border-radius: 18px;
    font-size: 14px; font-weight: 500; cursor: pointer;
}
.detail-bottom-bar .btn-buy {
    flex: 1; height: 36px; line-height: 36px; text-align: center;
    background: linear-gradient(90deg,#f76260,#E93323); color: #fff; border-radius: 18px;
    font-size: 14px; font-weight: 500; cursor: pointer;
}

/* ====== User Center ====== */
.user-header-bg {
    background: linear-gradient(135deg, #E93323, #f76260);
    padding: 20px 16px 24px; color: #fff; position: relative; overflow: hidden;
}
.user-header-bg::after {
    content: ''; position: absolute; right: -20px; top: -20px;
    width: 120px; height: 120px; border-radius: 50%;
    background: rgba(255,255,255,.08);
}
.user-info-row { display: flex; align-items: center; gap: 12px; position: relative; z-index: 1; }
.user-avatar { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; border: 2px solid rgba(255,255,255,.4); }
.user-avatar img { width: 100%; height: 100%; object-fit: cover; }
.user-nick { font-size: 18px; font-weight: 600; }
.user-balance { font-size: 12px; opacity: .9; margin-top: 4px; }
.user-orders-bar {
    background: #fff; margin: -10px 12px 0; border-radius: 10px;
    display: flex; padding: 14px 0; box-shadow: 0 2px 8px rgba(0,0,0,.06);
    position: relative; z-index: 2;
}
.user-order-item {
    flex: 1; display: flex; flex-direction: column; align-items: center;
    font-size: 11px; color: #666; cursor: pointer; position: relative;
}
.user-order-item .o-icon { font-size: 22px; margin-bottom: 4px; }
.user-order-item .o-badge {
    position: absolute; top: -2px; right: 25%; background: #f43530; color: #fff;
    font-size: 10px; min-width: 16px; height: 16px; line-height: 16px; text-align: center;
    border-radius: 8px; padding: 0 4px; transform: scale(.85);
}
.user-menu-group { background: #fff; border-radius: 10px; margin: 12px; overflow: hidden; }
.user-menu-item {
    display: flex; align-items: center; padding: 14px 16px;
    border-bottom: 0.5px solid #f7f7f7; cursor: pointer;
}
.user-menu-item:last-child { border-bottom: none; }
.user-menu-item .m-icon { font-size: 18px; margin-right: 12px; color: #E93323; width: 24px; text-align: center; }
.user-menu-item .m-name { flex: 1; font-size: 14px; color: #353535; }
.user-menu-item .m-arrow { color: #ccc; font-size: 14px; }

/* ====== Order List ====== */
.order-tabs {
    background: #fff; display: flex; border-bottom: 0.5px solid #eee;
    position: sticky; top: 0; z-index: 10;
}
.order-tabs .ot-item {
    flex: 1; text-align: center; padding: 12px 0; font-size: 13px; color: #666;
    cursor: pointer; position: relative;
}
.order-tabs .ot-item.active { color: #E93323; font-weight: 500; }
.order-tabs .ot-item.active::after {
    content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
    width: 24px; height: 2px; background: #E93323; border-radius: 1px;
}
.order-card { background: #fff; margin: 10px 12px; border-radius: 8px; overflow: hidden; }
.order-card .oc-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 10px 12px; border-bottom: 0.5px solid #f5f5f5; font-size: 12px; color: #999;
}
.order-card .oc-status { color: #E93323; }
.order-card .oc-item {
    display: flex; padding: 10px 12px; gap: 10px; align-items: center;
    border-bottom: 0.5px solid #f9f9f9;
}
.order-card .oc-item:last-child { border-bottom: none; }
.order-card .oc-img { width: 70px; height: 70px; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.order-card .oc-img img { width: 100%; height: 100%; object-fit: cover; }
.order-card .oc-info { flex: 1; min-width: 0; }
.order-card .oc-name { font-size: 13px; color: #353535; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-card .oc-sku { font-size: 11px; color: #999; margin-top: 2px; }
.order-card .oc-price { text-align: right; flex-shrink: 0; }
.order-card .oc-price .num { color: #E93323; font-weight: 600; }
.order-card .oc-footer {
    display: flex; justify-content: space-between; align-items: center;
    padding: 10px 12px; border-top: 0.5px solid #f5f5f5;
}
.order-card .oc-footer .total { font-size: 13px; color: #666; }
.order-card .oc-footer .total strong { color: #E93323; }
.order-card .oc-footer .actions { display: flex; gap: 8px; }
.order-card .oc-footer .actions .btn {
    padding: 5px 14px; border-radius: 14px; font-size: 12px; cursor: pointer;
}

/* ====== Address ====== */
.address-card {
    background: #fff; margin: 10px 12px; border-radius: 8px; padding: 14px;
    display: flex; justify-content: space-between; align-items: flex-start;
}
.address-card .addr-info { flex: 1; }
.address-card .addr-info .name-row { font-size: 14px; font-weight: 500; }
.address-card .addr-info .name-row .tag {
    display: inline-block; font-size: 10px; background: #fef0ef; color: #E93323;
    padding: 1px 6px; border-radius: 3px; margin-left: 6px; font-weight: 400;
}
.address-card .addr-info .detail { font-size: 12px; color: #999; margin-top: 4px; line-height: 1.4; }
.address-card .addr-actions { font-size: 13px; color: #999; cursor: pointer; flex-shrink: 0; }

/* ====== Checkout ====== */
.checkout-section { padding: 0 12px; }
.checkout-card { background: #fff; border-radius: 8px; padding: 14px; margin-top: 10px; }
.checkout-card h3 { font-size: 14px; font-weight: 600; margin-bottom: 10px; }
.checkout-product { display: flex; gap: 10px; padding: 10px 0; border-bottom: 0.5px solid #f0f0f0; align-items: center; }
.checkout-product .cp-img { width: 64px; height: 64px; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.checkout-product .cp-img img { width: 100%; height: 100%; object-fit: cover; }
.checkout-product .cp-info { flex: 1; min-width: 0; }
.checkout-product .cp-name { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.checkout-product .cp-price { color: #E93323; font-weight: 600; font-size: 14px; margin-top: 4px; }
.checkout-row { display: flex; justify-content: space-between; padding: 8px 0; font-size: 13px; }
.checkout-row.total { font-size: 16px; font-weight: 600; border-top: 0.5px solid #f0f0f0; margin-top: 6px; padding-top: 10px; }
.checkout-row.total .price { color: #E93323; }

/* ====== Favorites ====== */
.fav-item {
    display: flex; align-items: center; background: #fff; padding: 10px 12px;
    margin-bottom: 1px; gap: 10px;
}
.fav-item .fav-img { width: 80px; height: 80px; border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.fav-item .fav-img img { width: 100%; height: 100%; object-fit: cover; }
.fav-item .fav-info { flex: 1; min-width: 0; }
.fav-item .fav-name { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fav-item .fav-price { color: #E93323; font-weight: 600; font-size: 16px; margin-top: 6px; }
.fav-item .fav-actions { flex-shrink: 0; }
.fav-item .fav-actions a { font-size: 12px; color: #999; padding: 4px 10px; border: 0.5px solid #ddd; border-radius: 12px; }

/* ====== Modal ====== */
.modal-mask {
    display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,.5); z-index: 9999; align-items: flex-end; justify-content: center;
}
.modal-mask.show { display: flex; }
.modal-mask.center { align-items: center; }
.modal-box {
    background: #fff; width: 100%; max-width: 375px; max-height: 80vh;
    border-radius: 12px 12px 0 0; overflow-y: auto; padding: 20px 16px;
}
.modal-mask.center .modal-box { border-radius: 12px; margin: 0 20px; }
.modal-box h2 { text-align: center; font-size: 17px; font-weight: 600; margin-bottom: 20px; }
.modal-close {
    position: absolute; top: 16px; right: 16px; font-size: 22px;
    color: #999; cursor: pointer; z-index: 1;
}
.modal-box { position: relative; }

/* ====== Form ====== */
.form-group { margin-bottom: 14px; }
.form-group input, .form-group select, .form-group textarea {
    width: 100%; padding: 10px 12px; border: 0.5px solid #ddd; border-radius: 6px;
    font-size: 14px; transition: border .3s; background: #fff;
}
.form-group input:focus { border-color: #E93323; }
.form-group textarea { resize: vertical; min-height: 60px; }
.btn {
    display: inline-block; padding: 10px 24px; border-radius: 20px; font-size: 14px;
    cursor: pointer; transition: all .3s; text-align: center; border: none;
}
.btn-primary { background: #E93323; color: #fff; }
.btn-primary:active { background: #d42d1e; }
.btn-danger { background: #e64340; color: #fff; }
.btn-default { background: #f8f8f8; color: #353535; }
.btn-outline { background: #fff; color: #E93323; border: 1px solid #E93323; }
.btn-block { display: block; width: 100%; }
.btn-sm { padding: 5px 14px; font-size: 12px; }
.form-footer { text-align: center; padding-top: 10px; font-size: 13px; }
.form-footer a { color: #E93323; }

/* ====== Pagination ====== */
.pagination { display: flex; justify-content: center; gap: 6px; padding: 20px 0; }
.pagination span, .pagination a {
    display: inline-block; padding: 6px 12px; border: 0.5px solid #ddd;
    border-radius: 4px; font-size: 13px; cursor: pointer;
}
.pagination .active { background: #E93323; color: #fff; border-color: #E93323; }

/* ====== Toast ====== */
.toast {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%);
    background: rgba(0,0,0,.75); color: #fff; padding: 10px 20px;
    border-radius: 6px; z-index: 99999; font-size: 14px; animation: toastIn .3s ease;
    pointer-events: none; max-width: 70%; text-align: center;
}
@keyframes toastIn { from { opacity: 0; transform: translate(-50%,-50%) scale(.8); } to { opacity: 1; transform: translate(-50%,-50%) scale(1); } }

/* ====== Loading ====== */
.loading { text-align: center; padding: 40px; color: #999; font-size: 13px; }

/* ====== Order Status Colors ====== */
.st-0 { color: #E93323; }
.st-1 { color: #1890ff; }
.st-2 { color: #faad14; }
.st-3 { color: #52c41a; }
.st-4 { color: #999; }
.st--1 { color: #ccc; }

/* ====== Checkbox ====== */
input[type="checkbox"] { accent-color: #E93323; width: 18px; height: 18px; cursor: pointer; }

/* ====== Member price / VIP ====== */
.member-tag {
    display: inline-block; background: linear-gradient(90deg,#333,#555); color: #ffbe00;
    font-size: 10px; padding: 1px 5px; border-radius: 3px; margin-right: 4px;
}
