html,body{background: #eff2f4;color:#333333;font-family:"Microsoft Yahei" !important;font-size: 1.0625rem !important;}
.page{margin-bottom:60px;}
.page a{color: #c40c24;}
a{text-decoration:none;}
header a{ color: #c40c24 !important;}
.mui-btn-danger{border: 1px solid #c40c24;background-color: #c40c24 !important;}
.mui-btn-danger:active{border: 1px solid #eb0c2a;background-color: #eb0c2a !important;}
.empty{display:block;text-align: center;padding:100px 10px;font-size: 14px;color: #8f8f94;}
input:disabled {
    color: #333; /* 灰色文字 */
    background-color: #f5f5f5;
    cursor: not-allowed;
}
/* 更具体的样式 */
input[disabled] {
    color: #333; /* 深灰色文字 */
    background-color: #f5f5f5;
    opacity: 1; /* 覆盖浏览器默认的透明度 */
}
input[disabled="disabled"] {
    color: #333; /* 深灰色文字 */
    background-color: #f5f5f5;
    opacity: 1; /* 覆盖浏览器默认的透明度 */
}
/* 导航 */
.mui-content{}
.mui-content ul{background-color: #ffffff !important;}
.index .mui-content ul span.mui-icon{font-size: 34px;}
.page .mui-indicator {background: #ffffff;}
.page #gallery .mui-slider-indicator .mui-active.mui-indicator{background-color: #c40c24;}
/*首页轮播*/
.mui-slider{max-height: 220px;overflow: hidden;}
.mui-slider p {color:#fff;}
.mui-slider .mui-slider-indicator .mui-indicator{margin:1px 2px !important;}
.mui-slider .mui-slider-indicator .mui-indicator:last-child{margin-right:5px !important;}
.mui-slider .mui-slider-item img {
    object-fit: cover; /* 图片覆盖容器，保持比例裁剪 */
    /* 或者使用 contain 让图片完全显示但有留白 */
    /* object-fit: contain; */
}
/* 首页新闻 */
.mui-news {margin-top: 10px;}
.mui-news .top-title {margin: 30px 15px 10px;font-size: 1rem;}
.mui-news .top-title .left{font-size: 1rem;}
.mui-news .top-title .right{font-size: 0.7rem;float: right;}
.mui-news .mui-table-view .mui-media-object {width: 7rem;height: 5.3rem;max-width:7rem}
.mui-news .news-img{overflow: hidden;}
.mui-news .news-img img{height:100%;width: 100%;object-fit: cover;}
.mui-news .title{font-size: 1rem; font-weight: bold; color:#333333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mui-news .content{font-size:14px;color: #8f8f94;display:-webkit-box;-webkit-line-clamp: 2;-webkit-box-orient:vertical;overflow:hidden;white-space: break-spaces;margin-top: 5px;}
.mui-news .date{margin-top: 5px;font-size: 12px;color: #8f8f94;}
/*底部tabs切换区域*/
#footer {font-size: 24px;-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, .75);box-shadow: 0 0 2px rgba(0, 0, 0, .75);}
/*tabs自定义*/
#footer.mui-bar-tab .mui-table-view .mui-table-view-cell .mui-icon{padding:0;font-size:24px !important;}
#footer.mui-bar-tab .mui-table-view .mui-table-view-cell.mui-active .mui-icon{color: #c20808;}		
#footer .mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{font-size:14px !important;}
#footer .mui-table-view.mui-grid-view .mui-table-view-cell.mui-active .mui-media-body{color: #c20808;}
/*div切换改为a链接*/
#footer .mui-table-view.mui-grid-view{height: 50px;box-sizing: border-box;padding: 0;}
#footer .mui-table-view.mui-grid-view .mui-table-view-cell{margin-right: 0;height: 100%;padding: 5px 0 0;}
#footer .mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{margin-top: 0;font-size: 10px;}
/*页面结合微调*/
#footer .mui-table-view-cell:after{height: 0;background: #ffffff;}
#footer .mui-table-view.mui-grid-view{margin-bottom: 0;}

nav.mui-bar.mui-bar-tab {height:50px;background-color: #ffffff;}
nav#footer {max-width: 640px;margin: 0 auto;}
/*栅格自定义比例*/
.mui-col-xs-2,.mui-col-sm-2 {width: 20%;}
nav#footer .mui-table-view:before, nav#footer .mui-table-view:after{height: 0;}
.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){padding: 0;margin: 0;}

/* 注册登录 */
.login .mui-input-group:first-child {margin-top: 20px;}
.login .mui-input-group label {width: 6.1rem;text-align: justify;  /* 两端对齐 */text-align-last: justify; /* 最后一行两端对齐 */}
.login .mui-input-row{padding:5px 0;height:auto !important;}
.login .mui-input-row label~input {width: 13rem;float: left !important;}
.login .mui-input-row label~input#code{width:100%;float: left;}
.login .send-code{width: auto !important; margin-right:15px;}
.login .mui-btn {padding: 10px;}
.login .code-input{float: left;width:7.4rem;position: relative;}
.login .mui-input{padding:0 !important;}

.reg .mui-input-group:first-child {margin-top: 20px;}
.reg .mui-input-group label {width: 6.1rem;text-align: justify;  /* 两端对齐 */text-align-last: justify; /* 最后一行两端对齐 */}
.reg .mui-input-row{padding:5px 0;height:auto !important;}
.reg .mui-input-row label~input {width: 13rem;float: left !important;}
.reg .mui-input-row label~input#code{width:100%;float: left;}
.reg .send-code{width: auto !important; margin-right:15px;}
.reg .mui-btn {padding: 10px;}
.reg .code-input{float: left;width:8rem;position: relative;}
.reg .mui-input{padding:0 !important;}
/* 我的 */
.my .head {height: 50px;}
.my #head {line-height: 50px;}
.my .head-img {width: 50px;height: 50px;margin-right:10px;}
.my .mui-page .mui-table-view:first-child {margin-top: 15px;}
.my .mui-page .mui-table-view:last-child {margin-bottom: 30px;}
.my .mui-table-view {margin-top: 20px;}
.my .mui-table-view span.mui-pull-right {color: #999;}
.my .mui-table-view-divider {background-color: #efeff4;font-size: 14px;}
.my .mui-table-view-divider:before,
.my .mui-table-view-divider:after {height: 0;}
.my .mui-btn {padding: 10px;}
.my .phone {font-size:14px;color: #8f8f94;}
.my .mui-table-view .mui-icon {font-size: 20px;}
/* 新闻列表 */
.news{margin-top:45px;}
.news .mui-table-view .mui-media-object {width: 7rem;height: 5.3rem;max-width:7rem}
.news .news-img{overflow: hidden;}
.news .news-img img{height:100%;width: 100%;object-fit: cover;}
.news .title{font-size: 1rem; font-weight: bold; color:#333333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.news .content{font-size: 14px;color: #8f8f94;display:-webkit-box;-webkit-line-clamp: 2;-webkit-box-orient:vertical;overflow:hidden;white-space: break-spaces;margin-top: 5px;}
.news .date{margin-top: 5px;font-size: 12px;color: #8f8f94;}
.news .pagination{display: flex;justify-content: center;}
.news .pagination p{padding:0 12px;height:30px;line-height: 30px;font-size:14px;}
.news .pagination a{padding:0 12px;height:30px;line-height: 30px;font-size:14px;border:1px #ccc solid;}
.news .pagination .cur{background: #eb0c2a;border-color:#eb0c2a;color:#fff !important;}
.news .pagination a:hover {color:#eb0c2a;border-color:#eb0c2a;}
.news .pagination p:first-child{display: none;}
.news .pagination p:last-child{display: none;}
.news .pagination p:nth-last-child(2){display: none;}
.news .pagination a:first-child{display: none;}
.news .pagination a:nth-last-child(2){display: none;}
/* 新闻详情 */
.newsDetail .mui-content{background-color: #ffffff;}
.newsDetail .content h3.title{padding:10px;text-align: center;line-height: 30px;}
.newsDetail .content .date{display:grid;text-align: center;font-size: 12px;color: #8f8f94;}
.newsDetail .content .date p{margin:0!important;}
.newsDetail .content .detail{padding:10px;}
.newsDetail .content .detail img{width:100%;}
.newsDetail .content .detail video{width:100%;}
.newsDetail .content .detail p{margin: 0;line-height: normal;font-size: 16px;}

/* 活动/场馆列表 */
.huodong{margin-top:45px;}
.huodong .mui-table-view .mui-media-object {width: 7rem;height: 5.3rem;max-width:7rem}
.huodong .huodong-img{overflow: hidden;}
.huodong .huodong-img img{ width: 100%;height: 100%;object-fit: cover;object-position: center;}
.huodong .mui-media-body{height:5.3rem;position: relative;}
.huodong .mui-media-body .title{font-size: 1rem; font-weight: bold; color:#333333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.huodong .mui-media-body .content{font-size: 14px;color: #8f8f94;display:-webkit-box;-webkit-line-clamp: 2;-webkit-box-orient:vertical;overflow:hidden;white-space: break-spaces;margin-top: 5px;}
.huodong .mui-media-body .progress{position: absolute;width: 100%;bottom:0;display: flex;justify-content: flex-start;}
.huodong .mui-media-body .progress .pro-title{font-size:12px;color: #8f8f94;}
.huodong .mui-media-body .progress .layui-progress{background-color: #d1d1d1;width:80%;}
.huodong .mui-media-body .progress .layui-progress-big{height:15px;line-height: 15px;}
.huodong .mui-media-body .progress .layui-progress-bar{height:15px;line-height: 15px;}
.huodong .mui-media-body .progress .layui-progress-big .layui-progress-text {font-size: 12px;}
.huodong .empty{display:block;text-align: center;padding:100px 10px;font-size: 14px;color: #8f8f94;}
.huodong .pagination{display: flex;justify-content: center;}
.huodong .pagination p{padding:0 12px;height:30px;line-height: 30px;font-size:14px;}
.huodong .pagination a{padding:0 12px;height:30px;line-height: 30px;font-size:14px;border:1px #ccc solid;}
.huodong .pagination .cur{background: #eb0c2a;border-color:#eb0c2a;color:#fff !important;}
.huodong .pagination a:hover {color:#eb0c2a;border-color:#eb0c2a;}
.huodong .pagination p:first-child{display: none;}
.huodong .pagination p:last-child{display: none;}
.huodong .pagination p:nth-last-child(2){display: none;}
.huodong .pagination a:first-child{display: none;}
.huodong .pagination a:nth-last-child(2){display: none;}

/* 活动/场馆详情 */
.huodongDetail{margin-bottom:60px;}
.huodongDetail .mui-content{position: relative;}
.huodongDetail .mui-content .content{position: relative;}
.huodongDetail .content h3.title{padding:10px;text-align: center;background-color: #ffffff;margin:0;}
.huodongDetail .content .date{display:grid;text-align: center;font-size: 12px;color: #8f8f94;background-color: #ffffff;margin-bottom: 5px;}
.huodongDetail .content .date p{margin:0!important;}
.huodongDetail .date-range{background: #ffffff; text-align: center;padding:10px;margin-bottom: 5px;font-size: 0.8rem;}
.huodongDetail .mui-content .mui-row{background-color: #ffffff;margin-bottom: 5px; border: 1px solid #ccc;}
.huodongDetail .mui-content .mui-row li{list-style: none;text-align: center;}
.huodongDetail .mui-content .mui-row .line{border-right: 1px solid #ccc;}
.huodongDetail .mui-content .mui-row .num{font-weight: bold;font-size: 18px;}
.huodongDetail .detail{padding:10px;background-color: #ffffff;}
.huodongDetail .detail img{width:100%;}
.huodongDetail .detail video{width:100%;}
.huodongDetail .detail p{margin: 0;line-height: normal;font-size: 16px;}
.huodongDetail .mui-bar .mui-btn{font-size:16px !important;}
/*角标*/
.badgeT{
    font-size: 14px;
    line-height: 1;
    display: inline-block;
    padding: 3px 6px;
    color: #fff;
    background-color: rgba(0, 0, 0, .15);
    border-radius: 4px 4px 4px 0px;
    float: left;
    margin-right:5px;
}
.badge{
	position: absolute;
	top: 15px;
	left: 15px;
	/* -webkit-transform: translateY(-50%); 
	transform: translateY(-50%);*/
	font-size: 14px;
    line-height: 1;
    display: inline-block;
    padding: 3px 6px;
    color: #fff;
    background-color: rgba(0, 0, 0, .15);
    border-radius: 4px 4px 4px 0px;
}
.badgeyks{background-color: #5FB878;}
.badgewks{background-color: #FF5722;}
.badgeyjs{background-color: #bdbcbc;}
.badgefull{background-color: #1E9FFF;}
/* 新闻详情 */
.myOrder .mui-content{padding-top: 44px;}
.myOrder .mui-content>.mui-table-view:first-child{margin: 0;}
.myOrder .mui-content .mui-table h4,.mui-table h5,.mui-table .mui-h5,.mui-table .mui-h6,.mui-table p{margin-top: 0;}
.myOrder .mui-content .mui-table h4{line-height: 21px;font-weight: 500;}
.myOrder .mui-content .mui-table .oa-icon{position: absolute;right:0;bottom: 0;}
.myOrder .mui-content .mui-table .oa-icon-star-filled{color:#f14e41;}

/* 餐柜设备列表 */
.locker_list {
    padding: 10px;
    margin-top: 45px;
    .locker-item {
        background: #fff;
        margin-bottom: 10px;
        padding: 15px;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    .locker-item a {
        text-decoration: none;
        color: #333;
        display: block;
    }
    .locker-title {
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 8px;
        color: #333;
    }
    .locker-dev-sn {
        font-size: 14px;
        color: #333;
        margin-bottom: 8px;
    }
    .locker-address {
        font-size: 14px;
        color: #666;
        margin-bottom: 8px;
    }
    .locker-status-list{
        display: inline-block;
    }
    .locker-status {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 4px;
        font-size: 12px;
        margin-left: 8px;
    }
    .status-online {
        background: #d4edda;
        color: #155724;
    }
    .status-offline {
        background: #f8d7da;
        color: #721c24;
    }
    .status-abnormal {
        background: #fff3cd;
        color: #856404;
    }
    .locker-stats {
        margin-top: 10px;
        font-size: 14px;
        color: #333;
        display: flex;
        justify-content: space-between;
    }
    .total-count {
        font-weight: bold;
        color: #007aff;
    }
    .pagination-wrapper {
        padding: 15px 0;
        text-align: center;
    }
    .pagination-wrapper a, .pagination-wrapper span {
        display: inline-block;
        padding: 0px 12px;
        height:30px;
        line-height: 30px;
        border: 1px solid #ddd;
        text-decoration: none;
        color: #333;
        font-size: 14px;
        background: #ffffff;
    }
    .pagination-wrapper span.current {
        background: #eb0c2a;
        border-color: #eb0c2a;
        color: #fff;
    }
    .error-tip {
        background: #f8d7da;
        color: #721c24;
        padding: 15px;
        margin: 10px;
        border-radius: 8px;
        text-align: center;
    }
    .loading-tip {
        text-align: center;
        padding: 50px;
        color: #999;
    }
}

/* 餐柜列表 */
.locker {
    padding: 10px;
    margin-top: 45px;
    .info-bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px;
        background: #f8f9fa;
        border-radius: 8px;
        margin-bottom: 10px;
        font-size: 14px;
    }
    .info-bar .title{
        font-size:18px;
        font-weight:bold;
    }
    .info-bar .legend {
        display: flex;
        gap: 10px;
    }
    .info-bar .legend span {
        display: inline-block;
        width: 16px;
        height: 16px;
        border-radius: 3px;
        margin-right: 4px;
        vertical-align: middle;
    }
    .box-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 10px;
    }
    .box-item {
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        padding: 10px;
        text-align: center;
        cursor: pointer;
        transition: all 0.3s;
    }
    .box-item:active {
        background: #f5f5f5;
        transform: scale(0.98);
    }
    .box-number {
        font-size: 16px;
        font-weight: bold;
        margin-bottom: 8px;
        color: #333;
    }
    .box-status {
        font-size: 13px;
        padding: 2px 6px;
        border-radius: 4px;
        display: inline-block;
        margin-bottom: 5px;
    }
    .status-idle {
        background: #d4edda;
        color: #155724;
    }
    .status-using {
        background: #fff3cd;
        color: #856404;
    }
    .status-disabled {
        background: #f8d7da;
        color: #721c24;
    }
    .box-type {
        font-size: 12px;
        color: #666;
    }
    .error-tip, .loading-tip {
        text-align: center;
        padding: 30px;
        color: #999;
    }
    .error-tip {
        color: #dc3545;
    }
    .total-count {
        font-weight: bold;
        color: #007aff;
    }
    /* radio按钮样式优化 */
    .mui-popup-input-row input {
        border: 1px solid #ccc;
        border-radius: 4px;
    }
    #openBoxDialog input[type="radio"] {
        width: 18px;
        height: 18px;
        margin: 0;
        vertical-align: middle;
    }
    #openBoxDialog label {
        font-size: 15px;
        color: #333;
    }
    /* Loading样式 */
    .mui-loading {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.7);
        z-index: 9999;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

    .mui-loading .mui-loading-text {
        color: #fff;
        margin-top: 10px;
        font-size: 14px;
    }

    /* 一键开启按钮样式 */
    #openAllBtn {
        transition: all 0.3s ease;
    }

    #openAllBtn:active {
        background: #0056b3 !important;
        transform: scale(0.98);
    }
}


/*售货机页面*/
.vm_goods_list {
    margin-top: 45px;
    padding: 10px;

    .vm-goods-container {
        background: #f5f5f5;
        min-height: calc(100vh - 44px);
        padding-bottom: 20px;
    }

    .vm-header-info {
        background: #fff;
        border-radius: 8px;
        padding: 10px;
        margin-bottom: 10px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    }

    .vm-header-info .vm-title {
        font-size: 16px;
        font-weight: 500;
        color: #333;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .vm-header-info .vm-title .title-left {
        display: flex;
        align-items: center;
    }

    .vm-header-info .vm-title .title-right {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .vm-header-info .vm-status-tag {
        display: inline-block;
        padding: 2px 10px;
        border-radius: 10px;
        font-size: 12px;
        margin:0 5px;
    }

    .vm-header-info .vm-status-tag.online {
        background: #e6f7e6;
        color: #52c41a;
    }

    .vm-header-info .vm-status-tag.offline {
        background: #fff1f0;
        color: #ff4d4f;
    }

    .vm-header-info .vm-sub-info {
        font-size: 14px;
        color: #999;
        display: flex;
        align-items: center;
    }

    /* 扫码按钮样式 */
    .btn-scan {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, #07c160, #06ad56);
        color: #fff;
        border: none;
        border-radius: 20px;
        padding: 4px 14px;
        font-size: 13px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.3s;
        white-space: nowrap;
        gap: 4px;
    }

    .btn-scan:active {
        transform: scale(0.95);
        opacity: 0.8;
    }

    .btn-scan .icon {
        font-size: 16px;
    }

    .btn-scan.loading {
        opacity: 0.7;
        pointer-events: none;
    }

    .btn-scan.loading::after {
        content: '';
        display: inline-block;
        width: 14px;
        height: 14px;
        border: 2px solid #fff;
        border-top-color: transparent;
        border-radius: 50%;
        animation: spin 0.8s linear infinite;
        margin-left: 4px;
    }

    @keyframes spin {
        to { transform: rotate(360deg); }
    }

    /* 扫码页面样式 */
    .scan-page-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: calc(100vh - 120px);
        padding: 20px;
        text-align: center;
    }

    .scan-page-container .scan-icon {
        font-size: 80px;
        margin-bottom: 20px;
        color: #07c160;
    }

    .scan-page-container .scan-title {
        font-size: 22px;
        font-weight: 600;
        color: #333;
        margin-bottom: 10px;
    }

    .scan-page-container .scan-desc {
        font-size: 14px;
        color: #999;
        margin-bottom: 30px;
        line-height: 1.6;
    }

    .scan-page-container .btn-scan-large {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, #07c160, #06ad56);
        color: #fff;
        border: none;
        border-radius: 50px;
        padding: 10px 20px;
        font-size: 18px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s;
        gap: 10px;
        box-shadow: 0 4px 20px rgba(7, 193, 96, 0.4);
        min-width: 170px;
    }

    .scan-page-container .btn-scan-large:active {
        transform: scale(0.96);
        box-shadow: 0 2px 10px rgba(7, 193, 96, 0.3);
    }

    .scan-page-container .btn-scan-large .icon {
        font-size: 24px;
    }

    .scan-page-container .btn-scan-large.loading {
        opacity: 0.7;
        pointer-events: none;
    }

    .scan-page-container .btn-scan-large.loading::after {
        content: '';
        display: inline-block;
        width: 20px;
        height: 20px;
        border: 3px solid #fff;
        border-top-color: transparent;
        border-radius: 50%;
        animation: spin 0.8s linear infinite;
        margin-left: 8px;
    }

    .scan-page-container .scan-tip {
        margin-top: 20px;
        font-size: 13px;
        color: #aaa;
    }

    /* 手动输入框样式 */
    .manual-input-area {
        margin-top: 20px;
        width: 100%;
        max-width: 320px;
    }

    .manual-input-area .input-group {
        display: flex;
        gap: 10px;
        align-items: center;
    }

    .manual-input-area .input-group input {
        flex: 1;
        padding: 10px 14px;
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 16px;
        outline: none;
        background: #fff;
    }

    .manual-input-area .input-group input:focus {
        border-color: #07c160;
        box-shadow: 0 0 0 3px rgba(7, 193, 96, 0.15);
    }

    .manual-input-area .input-group .btn-manual {
        padding: 10px 24px;
        background: linear-gradient(135deg, #1890ff, #096dd9);
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 16px;
        cursor: pointer;
        white-space: nowrap;
        transition: all 0.3s;
    }

    .manual-input-area .input-group .btn-manual:active {
        transform: scale(0.96);
    }

    .manual-input-area .input-tip {
        text-align: left;
        margin-top: 6px;
        font-size: 12px;
        color: #aaa;
    }

    .goods-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .goods-item {
        background: #fff;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        border: 2px solid transparent;
        transition: border-color 0.3s;
    }

    .goods-item.selected {
        border-color: #1890ff;
    }

    .goods-item .goods-top {
        display: flex;
        padding: 12px 15px;
        gap: 12px;
        align-items: flex-start;
    }

    .goods-item .goods-image {
        width: 100px;
        height: 100px;
        flex-shrink: 0;
        background: #f0f2f5;
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 32px;
        color: #bfbfbf;
        overflow: hidden;
        position: relative;
    }

    .goods-item .goods-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .goods-item .goods-image .goods-badge {
        position: absolute;
        bottom: 2px;
        right: 2px;
        background: rgba(0, 0, 0, 0.7);
        color: #fff;
        font-size: 12px;
        padding: 2px 6px;
        border-radius: 8px;
    }

    .goods-item .goods-info {
        flex: 1;
        min-width: 0;
    }

    .goods-item .goods-info .goods-name {
        font-size: 16px;
        color: #333;
        font-weight: 500;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.4;
    }

    .goods-item .goods-info .goods-stock {
        font-size: 14px;
        color: #999;
        margin-top: 4px;
    }

    .goods-item .goods-info .goods-stock .stock-tag {
        display: inline-block;
        padding: 2px 8px;
        border-radius: 10px;
        font-size: 12px;
        margin-left: 4px;
    }

    .goods-item .goods-info .goods-stock .stock-tag.in-stock {
        background: #e6f7e6;
        color: #52c41a;
    }

    .goods-item .goods-info .goods-stock .stock-tag.out-stock {
        background: #fff1f0;
        color: #ff4d4f;
    }

    .goods-item .lane-select-area {
        padding: 8px 15px 10px;
        border-top: 1px solid #f0f0f0;
        background: #fafafa;
    }

    .goods-item .lane-select-area .lane-label {
        font-size: 14px;
        color: #999;
        margin-bottom: 6px;
        display: block;
    }

    .goods-item .lane-select-area .lane-options {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .goods-item .lane-select-area .lane-option {
        display: flex;
        align-items: center;
        background: #fff;
        padding: 5px 10px 5px 6px;
        border-radius: 4px;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.2s;
        border: 1px solid #e8e8e8;
    }

    .goods-item .lane-select-area .lane-option input[type="radio"] {
        margin-right: 4px;
        width: 14px;
        height: 14px;
        cursor: pointer;
        flex-shrink: 0;
    }

    .goods-item .lane-select-area .lane-option input[type="radio"]:disabled {
        cursor: not-allowed;
    }

    .goods-item .lane-select-area .lane-option .lane-status {
        font-size: 12px;
        margin-left: 4px;
    }

    .goods-item .lane-select-area .lane-option .lane-status.available {
        color: #52c41a;
    }

    .goods-item .lane-select-area .lane-option .lane-status.unavailable {
        color: #ff4d4f;
    }

    .goods-item .lane-select-area .lane-option.disabled {
        opacity: 0.6;
        cursor: not-allowed;
        background: #dddada;
    }

    .goods-item .lane-select-area .lane-option.selected-radio {
        background: #e6f7ff;
        border-color: #1890ff;
    }

    .goods-item .btn-buy-area {
        padding: 0 15px 12px;
        background: #fafafa;
    }

    .goods-item .btn-buy {
        width: 100%;
        padding: 8px 0;
        background: linear-gradient(135deg, #1890ff, #096dd9);
        color: #fff;
        border: none;
        border-radius: 6px;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.3s;
    }

    .goods-item .btn-buy:active {
        transform: scale(0.97);
    }

    .goods-item .btn-buy:disabled {
        background: #d9d9d9;
        cursor: not-allowed;
        transform: none;
    }

    .error-tip {
        background: #fff2f0;
        border: 1px solid #ffccc7;
        border-radius: 8px;
        padding: 20px;
        text-align: center;
        color: #ff4d4f;
        margin-top: 20px;
    }

    .goods-empty {
        text-align: center;
        padding: 60px 0;
        color: #999;
    }

    .goods-empty .empty-icon {
        font-size: 48px;
        margin-bottom: 10px;
        color: #d9d9d9;
    }

    /* 扫码结果弹窗 */
    .scan-result-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.6);
        z-index: 10000;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .scan-result-box {
        background: #fff;
        border-radius: 12px;
        padding: 25px 30px;
        max-width: 320px;
        width: 85%;
        text-align: center;
        animation: fadeInUp 0.3s ease;
    }

    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .scan-result-box .result-icon {
        font-size: 48px;
        margin-bottom: 10px;
    }

    .scan-result-box .result-title {
        font-size: 18px;
        font-weight: 600;
        color: #333;
        margin-bottom: 6px;
    }

    .scan-result-box .result-content {
        font-size: 14px;
        color: #666;
        word-break: break-all;
        max-height: 150px;
        overflow-y: auto;
        padding: 8px 0;
        border-top: 1px solid #f0f0f0;
        border-bottom: 1px solid #f0f0f0;
        margin: 8px 0;
        text-align: left;
        font-size: 13px;
        line-height: 1.6;
    }

    .scan-result-box .btn-close-scan {
        margin-top: 12px;
        padding: 8px 30px;
        background: #1890ff;
        color: #fff;
        border: none;
        border-radius: 6px;
        font-size: 14px;
        cursor: pointer;
    }

    .scan-result-box .btn-close-scan:active {
        transform: scale(0.97);
    }
}