*{margin:0;padding:0;box-sizing:border-box;}
.announcement-dialog .el-dialog__body{padding:20px;}
.announcement-content{max-height:500px;overflow-y:auto;}
.announcement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f0f0f0;}
.announcement-meta{display:flex;align-items:center;gap:8px;}
.highlight-badge{background:linear-gradient(45deg,#ff6b6b,#ff8e8e);color:white;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:bold;animation:pulse 2s infinite;}
@keyframes pulse{0%{transform:scale(1);}50%{transform:scale(1.05);}100%{transform:scale(1);}}
.announcement-time{color:#999;font-size:12px;}
.announcement-body{line-height:1.6;font-size:14px;color:#333;margin-bottom:20px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap;}
.announcement-body div{word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;}
.announcement-body.highlight-text{color:#d32f2f;font-weight:500;}
.announcement-footer{display:flex;justify-content:center;align-items:center;padding-top:15px;border-top:1px solid #f0f0f0;}
.announcement-pagination{display:flex;align-items:center;gap:15px;}
.pagination-info{color:#666;font-size:12px;min-width:60px;text-align:center;}
.announcement-dialog .el-tag--info{background-color:#e1f5fe;color:#0277bd;border-color:#b3e5fc;}
.announcement-dialog .el-tag--warning{background-color:#fff3e0;color:#f57c00;border-color:#ffcc02;}
.announcement-dialog .el-tag--success{background-color:#e8f5e8;color:#2e7d32;border-color:#a5d6a7;}
.announcement-dialog .el-tag--danger{background-color:#ffebee;color:#c62828;border-color:#ef9a9a;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Microsoft YaHei",sans-serif;background:#f3f4f6;color:#1f2933;min-height:100vh;}
#app{min-height:100vh;position:relative;z-index:1;}
.email-verify-row{display:flex;align-items:center;gap:10px;width:100%;padding:6px;background:#f8fbff;border:1px solid #e6eef7;border-radius:10px;}
.email-verify-row .el-input{flex:1;}
.email-send-btn{height:40px;padding:0 16px;border-radius:8px;border-color:#c6d8ee;background:#ffffff;color:#1f4d7a;font-weight:500;transition:all .2s ease;}
.email-send-btn:hover{border-color:#8fb3d9;color:#0f3f6d;background:#f4f9ff;}
.email-send-btn.is-disabled,.email-send-btn.is-disabled:hover{color:#94a3b8;background:#f1f5f9;border-color:#dbe3ee;}
.email-send-btn .el-icon{font-size:14px;}
.layout-container{display:flex;min-height:100vh;}
.sidebar{width:220px;background:#fff;border-right:1px solid #e5e7eb;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:2px 0 8px rgba(0,0,0,.04);display:flex;flex-direction:column;position:relative;z-index:10;}
.sidebar::before{content:'';position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent,#e5e7eb 20%,#e5e7eb 80%,transparent);}
.collapsed{width:64px;}
.sidebar.collapsed .sidebar-header h2{font-size:18px;}
.sidebar.collapsed .el-menu-item{padding:0 20px!important;}
.sidebar.collapsed .el-menu-item .el-icon{margin-right:0!important;font-size:20px;}
.sidebar.collapsed .el-badge{display:none;}
.sidebar-header{padding:24px 20px;text-align:center;border-bottom:1px solid #f0f0f0;background:linear-gradient(180deg,#fff 0%,#fafafa 100%);position:relative;}
.sidebar-header::after{content:'';position:absolute;bottom:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,#e5e7eb 50%,transparent);}
.sidebar-header h2{color:#1890ff;font-size:20px;font-weight:700;letter-spacing:-.5px;margin:0;transition:all .3s ease;}
.sidebar-header h2:hover{transform:scale(1.05);cursor:pointer;}
.el-menu{border-right:none!important;background:transparent!important;flex:1;padding:12px 0;overflow-y:auto;}
.el-menu::-webkit-scrollbar{width:4px;}
.el-menu::-webkit-scrollbar-track{background:transparent;}
.el-menu::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px;}
.el-menu::-webkit-scrollbar-thumb:hover{background:#d1d5db;}
.el-menu-item{color:#595959!important;margin:4px 12px;border-radius:8px!important;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);font-size:14px;height:44px;line-height:44px;padding:0 16px!important;position:relative;overflow:hidden;}
.el-menu-item::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:#1890ff;border-radius:0 2px 2px 0;transition:height .25s ease;}
.el-menu-item:hover{color:#1890ff!important;background:linear-gradient(90deg,#e6f7ff 0%,#f0f9ff 100%);transform:translateX(4px);box-shadow:0 2px 8px rgba(24,144,255,.08);}
.el-menu-item:hover::before{height:20px;}
.el-menu-item.is-active{background:linear-gradient(90deg,#1890ff 0%,#2563eb 100%);color:#ffffff!important;box-shadow:0 4px 12px rgba(24,144,255,.3);transform:translateX(4px);font-weight:600;}
.el-menu-item.is-active::before{height:24px;background:#ffffff;}
.el-menu-item .el-icon{color:inherit;margin-right:12px;font-size:18px;transition:transform .25s ease;}
.el-menu-item:hover .el-icon{transform:scale(1.1);}
.el-menu-item.is-active .el-icon{transform:scale(1.15);}
.el-badge{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:2;}
.el-badge .el-badge__content{background:#ff4d4f;border:2px solid #fff;box-shadow:0 2px 4px rgba(255,77,79,.3);font-size:11px;height:18px;line-height:18px;min-width:18px;padding:0 5px;}
.sidebar-footer{padding:16px 20px;border-top:1px solid #f0f0f0;background:#fafafa;}
.sidebar-footer::before{content:'';position:absolute;top:0;left:20px;right:20px;height:1px;background:linear-gradient(90deg,transparent,#e5e7eb 50%,transparent);}
.sidebar-footer .el-button{width:100%;border-radius:8px;height:40px;font-weight:500;transition:all .25s ease;}
.sidebar-footer .el-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(24,144,255,.2);}
.sidebar-version-info{padding:12px 14px;margin:8px 12px 14px;border-radius:10px;background:#f8fbff;border:1px solid #e6eef7;color:#4b5563;line-height:1.5;}
.sidebar-version-info .version-title{font-size:12px;color:#6b7280;}
.sidebar-version-info .version-text{font-size:13px;font-weight:600;color:#1f2937;margin-top:2px;}
.sidebar-version-info .version-notes{font-size:12px;color:#6b7280;margin-top:4px;word-break:break-word;}
.main-content{flex:1;
    padding: 24px;
    overflow-x: hidden;
    background:#f5f7fa;}
.order-page-container{max-width:1440px;min-height:900px;margin:0;background:#f5f7fa;padding:0;border-radius:0;box-shadow:none;}
.order-page-header{margin-bottom:24px;}
.order-page-title{font-size:24px;font-weight:700;color:#1a1a1a;font-family:'Source Han Sans SC','PingFang SC',sans-serif;position:relative;display:inline-block;margin-bottom:8px;}
.order-page-title::after{content:'';position:absolute;bottom:-4px;left:0;width:40px;height:3px;background:linear-gradient(90deg,#409eff,#66b1ff);border-radius:2px;}
.order-page-subtitle{font-size:14px;color:#666;font-family:'Source Han Sans SC','PingFang SC',sans-serif;}
.order-content-wrapper{display:flex;gap:16px;margin-top:20px;}
.order-main-section{width:1040px;flex-shrink:0;}
.order-tab-bar{display:flex;margin-bottom:24px;border-bottom:1px solid #e5e7eb;}
.order-tab{padding:12px 24px;font-size:16px;font-weight:500;color:#666;cursor:pointer;border-bottom:2px solid transparent;transition:all .3s ease;position:relative;}
.order-tab:hover{color:#409eff;transform:translateY(-1px);}
.order-tab.active{color:#409eff;border-bottom-color:#409eff;font-weight:600;}
.order-tab.active::after{content:'';position:absolute;bottom:-2px;left:24px;right:24px;height:2px;background:#409eff;border-radius:1px;}
/* 卡片式布局 */
.order-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    border: 1px solid #e5e7eb;
    box-shadow: none;
margin-bottom:16px;}
.order-card-title{font-size:16px;font-weight:600;color:#303133;margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.order-type-options{display:flex;gap:32px;}
.order-type-option{display:flex;align-items:center;gap:10px;cursor:pointer;padding:12px 24px;border-radius:10px;transition:all .3s ease;border:2px solid #f0f0f0;}
.order-type-option:hover{background:#f8f9fa;border-color:#e6f7ff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08);}
.order-type-option.active{background:#ecf5ff;border-color:#409eff;box-shadow:0 4px 12px rgba(64,158,255,.2);}
.order-type-radio{width:20px;height:20px;border:2px solid #dcdfe6;border-radius:50%;position:relative;transition:all .3s;}
.order-type-option.active .order-type-radio{border-color:#409eff;}
.order-type-option.active .order-type-radio::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#409eff;border-radius:50%;}
.order-type-text{font-size:15px;color:#606266;font-weight:500;}
.order-type-option.active .order-type-text{color:#409eff;font-weight:600;}
.add-product-btn{display:flex;align-items:center;gap:10px;padding:16px;border:2px dashed #dcdfe6;border-radius:10px;background:#f8f9fa;cursor:pointer;transition:all .3s ease;margin-bottom:16px;}
.add-product-btn:hover{border-color:#409eff;background:#ecf5ff;}
.product-list{display:flex;flex-direction:column;gap:16px;}
.product-item{display:flex;align-items:flex-start;justify-content:space-between;padding:20px;background:#f8f9fa;border-radius:10px;border:1px solid #e9ecef;}
.product-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:50%;}
.product-actions :deep(.el-tag){height:auto;padding:4px 12px;display:inline-flex;align-items:center;gap:4px;}
.product-actions :deep(.el-tag .el-icon){font-size:14px;}
.product-info{flex:1;}
.product-name{font-size:15px;color:#303133;font-weight:500;margin-bottom:8px;}
.product-price{font-size:16px;color:#ff4d4f;font-weight:600;}

.product-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* 智能地址识别 */
.smart-address-input{margin-bottom:12px;}
.smart-address-actions{display:flex;gap:12px;}
.smart-address-btn{flex:1;}
.order-form{display:flex;flex-direction:column;gap:24px;}
.order-form-item{display:flex;align-items:flex-start;gap:16px;}
.order-form-item textarea{margin-top:4px;}
.order-form-label{font-size:14px;color:#606266;font-weight:500;display:flex;align-items:center;gap:8px;width:80px;flex-shrink:0;}
.order-form-label.required::before{content:'*';color:#ff4d4f;margin-right:4px;}
.order-input{width:100%;}

/* ==================== Ant 风格：订单管理（浅色）==================== */
.admin-orders-page{
    background:#f7fbff;
    border:1px solid #dbeafe;
    border-radius:12px;
    padding:20px 20px 10px 20px;
    margin-top:8px;
}
.admin-orders-page > h2{
    margin:0 0 16px 0!important;
    font-size:20px;
    font-weight:700;
    color:#1f2937;
    letter-spacing:-.2px;
}
.admin-orders-page .el-form{
    margin-bottom:14px;
}
.admin-orders-page .el-alert{
    border-radius:10px;
}
.admin-orders-page .el-table{
    border:1px solid #cfe0ff;
    border-radius:12px;
    overflow:hidden;
}
.admin-orders-page .el-table th{
    background:#eef4ff!important;
    color:#111827!important;
    font-weight:700!important;
    border-bottom:1px solid #cfe0ff!important;
}
.admin-orders-page .el-table td{
    color:#111827!important;
    background:#ffffff!important;
}
.admin-orders-page .el-table__row{
    background:#ffffff!important;
    transition:background .15s ease;
}
.admin-orders-page .el-table__row:hover{
    background:#e6f0ff!important;
}
.admin-orders-page .el-tag{
    border-radius:10px!important;
    padding:0 10px;
}
.admin-orders-page .el-pagination{
    margin-top:16px!important;
}
.admin-orders-page .el-pagination .btn-prev,
.admin-orders-page .el-pagination .btn-next{
    border-radius:8px;
}

.order-input :deep(.el-input__inner),.order-input :deep(.el-textarea__inner){height:44px;padding:0 16px;border-radius:8px;border:1px solid #dcdfe6;font-size:14px;font-family:'Source Han Sans SC','PingFang SC',sans-serif;transition:all .3s ease;}
.order-input :deep(.el-input__inner:hover),.order-input :deep(.el-textarea__inner:hover){border-color:#c0c4cc;}
.order-input :deep(.el-input__inner:focus),.order-input :deep(.el-textarea__inner:focus){border-color:#409eff;box-shadow:0 0 0 2px rgba(64,158,255,.2);}
.order-input :deep(.el-textarea__inner){height:auto;min-height:80px;padding:12px 16px;resize:vertical;}
.order-total{display:flex;justify-content:flex-end;align-items:center;gap:16px;}
.order-total-label{font-size:16px;color:#606266;}
.order-total-amount{font-size:20px;font-weight:700;color:#ff4d4f;font-family:'Source Han Sans SC','PingFang SC',sans-serif;}
.order-submit-section{display:flex;justify-content:flex-end;margin-top:32px;}
.submit-order-btn{width:160px;height:48px;background:linear-gradient(135deg,#409eff 0%,#66b1ff 100%);border:none;border-radius:8px;font-size:16px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px rgba(64,158,255,.3);}
.submit-order-btn:hover{background:linear-gradient(135deg,#66b1ff 0%,#409eff 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgba(64,158,255,.4);}
.submit-order-btn:active{transform:translateY(0);box-shadow:0 4px 12px rgba(64,158,255,.3);}
.submit-order-btn:disabled{background:#c0c4cc;box-shadow:none;cursor:not-allowed;}
.order-sidebar{width:360px;flex-shrink:0;}
.order-sidebar-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e5e7eb;box-shadow:none;margin-bottom:16px;transition:all .3s ease;}

.order-sidebar-card:hover {
    box-shadow: none;
    transform: none;
}

.order-sidebar-title{font-size:16px;font-weight:600;color:#303133;margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.order-sidebar-content{font-size:14px;color:#606266;font-family:'Source Han Sans SC','PingFang SC',sans-serif;}
.order-summary-item{display:flex;justify-content:space-between;margin-bottom:12px;}
.order-sidebar-divider{height:1px;background:#e5e7eb;margin:16px 0;}
.order-summary-total{display:flex;justify-content:space-between;align-items:center;}
.order-summary-amount{font-size:18px;font-weight:700;color:#ff4d4f;font-family:'Source Han Sans SC','PingFang SC',sans-serif;}
.order-delivery-item{margin-bottom:12px;}
.order-payment-item{margin-bottom:12px;}
@media(max-width:1440px){.order-page-container{max-width:1200px;}.order-main-section{width:calc(100% - 320px);}.order-sidebar{width:320px;}}
@media(max-width:1200px){.order-content-wrapper{flex-direction:column;}.order-main-section{width:100%;}.order-sidebar{width:100%;}}
@media(max-width:768px){.order-page-container{padding:16px;}.order-card{padding:16px;}.order-type-options{flex-direction:column;gap:16px;}.order-type-option{padding:10px 20px;}.submit-order-btn{width:100%;}}
@media(max-width:768px){html,body{overflow-x:hidden;}.el-table{width:100%;overflow-x:auto;display:block;}.el-table__header-wrapper,.el-table__body-wrapper{overflow-x:auto;}.el-table .el-table__row .el-button{margin-bottom:8px;margin-right:8px;font-size:12px;padding:4px 8px;}.el-table .el-table__row .el-select{margin-bottom:8px;margin-right:8px;width:100px;}.el-table .el-table__row .el-table__cell{padding:8px;font-size:12px;}.el-table .el-table__row .el-table__cell:last-child{white-space:normal;word-break:break-all;min-width:200px;}.layout-container{overflow-x:hidden;}.sidebar{position:fixed;left:-220px;top:0;bottom:0;z-index:1000;}.sidebar.mobile-open{left:0;}.main-content{padding:10px;position:relative;z-index:1;}.order-page-container{max-width:100%;min-height:auto;padding:0;}.mobile-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;}.mobile-overlay.show{display:block;}.announcement-dialog .el-dialog{width:95%!important;max-width:95%!important;margin:3vh auto!important;}.announcement-dialog .el-dialog__header{padding:12px 12px 8px 12px!important;word-wrap:break-word;word-break:break-word;}.announcement-dialog .el-dialog__title{
        font-size: 15px !important;
        line-height: 1.4 !important;
        word-wrap: break-word;
        word-break: break-word;
        white-space: normal;
        max-width: 100%;
    }

    .announcement-dialog .el-dialog__body{padding:12px!important;max-height:65vh;overflow-y:auto;overflow-x:hidden;width:100%;box-sizing:border-box;}
    .announcement-dialog .el-dialog__footer{padding:8px 12px!important;}
    .announcement-content{max-height:none;width:100%;overflow-x:hidden;box-sizing:border-box;}
    .announcement-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px;padding-bottom:10px;width:100%;overflow-x:hidden;}
    .announcement-meta{flex-wrap:wrap;gap:6px;max-width:100%;}
    .announcement-meta .el-tag{font-size:11px!important;}
    .announcement-time{font-size:11px;width:100%;word-wrap:break-word;}
    .announcement-body{font-size:13px!important;line-height:1.8!important;margin-bottom:12px;word-wrap:break-word!important;word-break:break-word!important;overflow-wrap:break-word!important;white-space:pre-wrap!important;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box;}
    .announcement-body div{word-wrap:break-word!important;word-break:break-word!important;overflow-wrap:break-word!important;white-space:pre-wrap!important;max-width:100%;overflow-x:hidden;}
    .announcement-body.highlight-text{font-size:13px!important;}
    .announcement-footer{padding-top:10px;width:100%;overflow-x:hidden;}
    .announcement-pagination{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:6px;width:100%;}
    .announcement-pagination .el-button{flex:1;min-width:0;padding:6px 8px;font-size:12px;}
    .announcement-pagination .el-button .el-icon{font-size:12px;}
    .pagination-info{flex:0 0 auto;min-width:45px;text-align:center;font-size:12px;}
    .announcement-dialog .el-dialog__footer{display:flex;justify-content:center;gap:10px;}
    .announcement-dialog .el-dialog__footer .el-button{flex:1;max-width:120px;font-size:14px;}
    .highlight-badge{font-size:11px;padding:3px 6px;}
}
.header-bar{background:#fff;padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e7eb;margin-bottom:20px;}
.page-card{background:#fff;border-radius:10px;padding:24px;border:1px solid #e5e7eb;}
.order-page-container{max-width:1440px;margin:0;padding:24px;min-height:900px;background:#f5f7fa;}

.order-page-header {
    margin-bottom: 24px;
}
.order-page-title{font-size:24px;font-weight:600;color:#1a1a1a;position:relative;display:inline-block;margin-bottom:8px;}
.order-page-title::after{content:'';position:absolute;bottom:-4px;left:0;width:40px;height:3px;background:linear-gradient(90deg,#409eff,#66b1ff);border-radius:2px;}
.order-page-subtitle{font-size:14px;color:#909399;margin-top:12px;}
.order-content-wrapper{display:flex;gap:24px;}
.order-main-content{flex:1;max-width:1040px;}
.order-sidebar{width:360px;flex-shrink:0;}
.order-card{background:#fff;border-radius:12px;padding:24px;border:1px solid #e4e7ed;box-shadow:0 2px 12px 0 rgba(0,0,0,.04);margin-bottom:20px;}
.order-card-title{font-size:16px;font-weight:600;color:#303133;margin-bottom:20px;display:flex;align-items:center;gap:8px;}
.order-type-tabs{display:flex;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e4e7ed;}
.order-type-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .3s;font-size:14px;color:#606266;border:1px solid transparent;}
.order-type-tab:hover{background:#f5f7fa;}
.order-type-tab.active{background:#ecf5ff;color:#409eff;border-color:#409eff;}
.order-form-item{margin-bottom:20px;}
.order-form-label{font-size:14px;color:#606266;margin-bottom:8px;display:block;font-weight:500;}
.order-form-label.required::before{content:'*';color:#f56c6c;margin-right:4px;}
.order-input{width:100%;}
.order-input :deep(.el-input__inner),.order-input :deep(.el-textarea__inner){height:44px;padding:0 16px;border-radius:8px;border:1px solid #dcdfe6;transition:all .3s;}
.order-input :deep(.el-input__inner:focus),.order-input :deep(.el-textarea__inner:focus){border-color:#409eff;box-shadow:0 0 0 2px rgba(64,158,255,.1);}
.order-input :deep(.el-textarea__inner){height:auto;padding:12px 16px;min-height:88px;}
.smart-address-section{background:#f5f7fa;border-radius:8px;padding:16px;margin-bottom:20px;}
.smart-address-title{font-size:14px;color:#606266;margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.smart-address-actions{display:flex;gap:12px;margin-top:12px;}
.product-list{margin-bottom:20px;}
.product-item{display:flex;align-items:center;padding:16px;background:#f5f7fa;border-radius:8px;margin-bottom:12px;border:1px solid #e4e7ed;}
.product-info{flex:1;}
.product-name{font-size:14px;color:#303133;font-weight:500;margin-bottom:4px;}
.product-price{font-size:13px;color:#f56c6c;font-weight:600;}
.product-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.order-summary-card{background:#fff;border-radius:12px;padding:20px;
border:1px solid #e4e7ed;box-shadow:0 2px 12px 0 rgba(0,0,0,.04);position:sticky;top:24px;}
.summary-title{font-size:16px;font-weight:600;color:#303133;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e4e7ed;}
.summary-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;color:#606266;}
.summary-item.total{margin-top:16px;padding-top:16px;border-top:1px solid #e4e7ed;}
.summary-item.total .price{font-size:24px;color:#f56c6c;font-weight:600;}
.submit-order-btn{width:100%;height:48px;background:linear-gradient(135deg,#409eff 0%,#66b1ff 100%);border:none;border-radius:8px;font-size:16px;font-weight:500;margin-top:20px;transition:all .3s;}
.submit-order-btn:hover{background:linear-gradient(135deg,#66b1ff 0%,#409eff 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(64,158,255,.3);}
.submit-order-btn:active{transform:translateY(0);}
.add-product-btn{width:100%;height:44px;border:1px dashed #409eff;color:#409eff;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .3s;margin-bottom:16px;}
.add-product-btn:hover{background:#ecf5ff;border-style:solid;}
.delivery-info-card{background:#f5f7fa;border-radius:8px;padding:16px;margin-top:16px;}
.delivery-info-title{font-size:14px;font-weight:500;color:#303133;margin-bottom:12px;}
.delivery-info-item{font-size:13px;color:#606266;margin-bottom:8px;display:flex;align-items:flex-start;gap:8px;}
.delivery-info-item .label{color:#909399;min-width:60px;}
@media(max-width:1200px){.order-content-wrapper{flex-direction:column;}.order-sidebar{width:100%;}.order-summary-card{position:static;}}
.order-form-card{background:#fff;border-radius:10px;padding:24px;border:1px solid #e5e7eb;}
.order-type-section{margin-bottom:32px;}
.order-type-title{font-size:16px;color:#303133;margin-bottom:16px;font-weight:600;}
.order-type-options{display:flex;gap:32px;}
.order-type-option{display:flex;align-items:center;gap:10px;cursor:pointer;padding:12px 24px;border-radius:10px;transition:all .3s ease;border:2px solid #f0f0f0;}
.order-type-option:hover{background:#f8f9fa;border-color:#e6f7ff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.08);}
.order-type-option.active{background:#ecf5ff;border-color:#409eff;box-shadow:0 4px 12px rgba(64,158,255,.2);}
.order-type-radio{width:20px;height:20px;border:2px solid #dcdfe6;border-radius:50%;position:relative;transition:all .3s;}
.order-type-option.active .order-type-radio{border-color:#409eff;}
.order-type-option.active .order-type-radio::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#409eff;border-radius:50%;}
.order-type-text{font-size:15px;color:#606266;font-weight:500;}
.order-type-option.active .order-type-text{color:#409eff;font-weight:600;}
.smart-address-section{margin-bottom:32px;padding:24px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef;}
.smart-address-title{font-size:15px;color:#303133;margin-bottom:12px;font-weight:600;display:flex;align-items:center;gap:8px;}
.smart-address-input{width:100%;margin-bottom:16px;}
.smart-address-input :deep(.el-input__inner){height:90px;padding:16px 20px;border-radius:10px;border:1px solid #dcdfe6;font-size:14px;resize:none;font-family:inherit;}
.smart-address-input :deep(.el-input__inner:focus){border-color:#409eff;box-shadow:0 0 0 2px rgba(64,158,255,.1);}
.smart-address-actions{display:flex;gap:16px;
}

.smart-address-btn{height:40px;font-size:14px;padding:0 20px;border-radius:8px;}
.order-form-section{margin-top:32px;}
.order-form-item{margin-bottom:24px;}
.order-form-label{font-size:15px;color:#303133;margin-bottom:12px;display:flex;align-items:center;gap:8px;font-weight:600;}
.order-form-label.required::before{content:'*';color:#f56c6c;margin-right:6px;font-size:16px;}
.order-input{width:100%;}
.order-input :deep(.el-input__inner),.order-input :deep(.el-textarea__inner){height:44px;padding:0 16px;border-radius:8px;border:1px solid #d1d5db;font-size:14px;font-family:'Source Han Sans SC','PingFang SC',sans-serif;transition:all .3s ease;}
.order-input :deep(.el-input__inner:focus),.order-input :deep(.el-textarea__inner:focus){border-color:#409eff;box-shadow:0 0 0 2px rgba(64,158,255,.1);}
.order-input :deep(.el-textarea__inner){height:auto;min-height:80px;padding:12px 16px;resize:vertical;}
.order-form-actions{display:flex;justify-content:flex-end;margin-top:40px;padding-top:24px;border-top:1px solid #f0f0f0;}
.submit-order-btn{width:160px;height:48px;background:linear-gradient(135deg,#409eff 0%,#66b1ff 100%);border:none;border-radius:8px;font-size:16px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px rgba(64,158,255,.3);}
.submit-order-btn:hover{background:linear-gradient(135deg,#66b1ff 0%,#409eff 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgba(64,158,255,.4);}
.submit-order-btn:active{transform:translateY(0);box-shadow:0 4px 12px rgba(64,158,255,.3);}
.submit-order-btn:disabled{background:#c0c4cc;box-shadow:none;cursor:not-allowed;}





/* 页面标题样式 */
.page-title{font-size:28px;font-weight:700;color:#303133;margin-bottom:8px;display:flex;align-items:center;gap:12px;}
.page-subtitle{font-size:16px;color:#909399;margin-bottom:32px;}
.product-section{margin-bottom:32px;}
.product-section-title{font-size:16px;color:#303133;margin-bottom:16px;font-weight:600;}
.add-product-btn{width:100%;height:56px;border:2px dashed #dcdfe6;color:#409eff;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all .3s ease;font-size:15px;font-weight:500;}
.add-product-btn:hover{background:#ecf5ff;border-color:#409eff;border-style:solid;}
.product-list{margin-top:20px;}
.product-item{display:flex;align-items:center;justify-content:space-between;padding:20px;background:#f8f9fa;border-radius:10px;margin-bottom:16px;border:1px solid #e9ecef;transition:all .3s ease;}
.product-item:hover{background:#ffffff;box-shadow:0 4px 12px rgba(0,0,0,.05);}
.product-info{flex:1;}
.product-name{font-size:15px;color:#303133;font-weight:600;margin-bottom:8px;}
.product-price{font-size:16px;color:#f56c6c;font-weight:700;}
.product-actions{display:flex;align-items:center;gap:20px;}
.quantity-control{display:flex;align-items:center;gap:8px;}

.quantity-btn{width:32px;height:32px;border:1px solid #dcdfe6;background:#ffffff;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all .3s ease;}
.quantity-btn:hover{border-color:#409eff;color:#409eff;}
.quantity-input{width:60px;text-align:center;border:1px solid #dcdfe6;border-radius:6px;padding:4px 8px;font-size:14px;}
.login-container{display:flex;min-height:100vh;background:#f0f4ff;align-items:center;justify-content:center;padding:20px;}
.login-card{width:100%;max-width:450px;padding:50px;background:white;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.08);}

.logo-title{text-align:center;margin-bottom:40px;}
.logo-title h1{font-size:28px;color:#3b82f6;margin-bottom:8px;font-weight:700;letter-spacing:1px;}
.logo-title p{color:#64748b;font-size:14px;}
.login-card .el-tabs__item{font-size:14px!important;font-weight:500!important;color:#64748b!important;}
.login-card .el-tabs__item.is-active{color:#3b82f6!important;}
.login-card .el-tabs__active-bar{background-color:#3b82f6!important;height:2px!important;}
.login-card .el-tabs__nav-wrap::after{background-color:#e2e8f0!important;}
@media (max-width:768px){.login-card{padding:30px 20px;}}
.sidebar-header{padding:24px 16px;text-align:center;border-bottom:1px solid #f0f0f0;
}

.sidebar-header h2{color:#1890ff;font-size:20px;font-weight:700;letter-spacing:-.5px;}
.el-menu{border-right:none!important;background:transparent!important;}
.el-menu-item{color:#595959!important;margin:4px 8px;border-radius:6px!important;font-weight:500;transition:all .3s ease;font-size:14px;}
.el-menu-item:hover{color:#1890ff!important;background:#e6f7ff!important;}
.el-menu-item.is-active{background:#1890ff!important;color:#ffffff!important;box-shadow:0 2px 8px rgba(24,144,255,.3);}
.el-menu-item .el-icon{color:inherit;}
.balance-display{background:linear-gradient(135deg,#1890ff 0%,#096dd9 100%);color:#fff;padding:20px 16px;border-radius:8px;margin:16px 8px;text-align:center;box-shadow:0 4px 12px rgba(24,144,255,.25);}
.balance-display .label{font-size:12px;opacity:.9;margin-bottom:6px;font-weight:500;letter-spacing:.5px;position:relative;z-index:1;}
.balance-display .amount{font-size:28px;font-weight:700;position:relative;z-index:1;}
.points-display{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff;padding:20px 16px;border-radius:8px;margin:16px 8px;text-align:center;box-shadow:0 4px 12px rgba(240,147,251,.25);}
.points-display .label{font-size:12px;opacity:.9;margin-bottom:6px;font-weight:500;letter-spacing:.5px;}
.points-display .amount{font-size:28px;font-weight:700;}
.stat-card{background:#ffffff;border-radius:10px;padding:22px;border:1px solid #e5e7eb;}
.stat-card .icon{font-size:48px;margin-bottom:16px;color:#1890ff;}
.stat-card .value{font-size:36px;font-weight:700;margin-bottom:8px;color:#262626;}
.stat-card .label{color:#8c8c8c;font-size:15px;font-weight:500;}
.el-button--primary{background:#2563eb!important;border-color:#2563eb!important;box-shadow:none!important;}
.el-button--primary:hover{background:#1d4ed8!important;border-color:#1d4ed8!important;}
.el-card{background:#ffffff!important;border-radius:10px!important;border:1px solid #e5e7eb!important;box-shadow:none!important;}
.el-table{background:transparent!important;}
.el-table th{background:#f9fafb!important;color:#111827!important;font-weight:600!important;border-bottom:1px solid #e5e7eb!important;}
.el-table tr:hover{background:#f3f4ff!important;}

.el-input__wrapper{border-radius:8px!important;border:1px solid #d1d5db!important;box-shadow:none!important;}
.el-input__wrapper:hover{border-color:#2563eb!important;}
.el-input__wrapper.is-focus{border-color:#2563eb!important;box-shadow:0 0 0 1px rgba(37,99,235,.3)!important;}
.login-card .el-input__wrapper{background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:8px!important;}
.login-card .el-input__wrapper:hover{border-color:#cbd5e1!important;}
.login-card .el-input__wrapper.is-focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px rgba(59,130,246,.1)!important;}
.login-card .el-button--primary{background:#3b82f6!important;border:none!important;border-radius:8px!important;font-weight:500!important;box-shadow:none!important;transition:all .2s ease;}
.login-card .el-button--primary:hover{background:#2563eb!important;}

.el-dialog{background:#ffffff!important;border-radius:12px!important;box-shadow:0 18px 45px rgba(15,23,42,.16)!important;}
h2{color:#262626;font-weight:700;position:relative;padding-left:16px;}
h2::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;background:#1890ff;border-radius:2px;}
.el-tabs__item{color:#595959!important;font-weight:500!important;}
.el-tabs__item.is-active{color:#1890ff!important;}
.el-tabs__active-bar{background-color:#1890ff!important;}
.el-dropdown-link{display:flex;align-items:center;color:#262626;font-weight:500;}
.el-avatar{background:#1890ff!important;}
.el-form-item__label{color:#595959!important;font-weight:500!important;}
.el-tag{border-radius:4px!important;}
.el-tag--success{background:#f6ffed!important;border-color:#b7eb8f!important;color:#52c41a!important;}
.el-tag--warning{background:#fffbe6!important;border-color:#ffe58f!important;color:#faad14!important;}
.el-tag--danger{background:#fff2f0!important;border-color:#ffccc7!important;color:#ff4d4f!important;}
.el-tag--info{background:#f0f5ff!important;border-color:#adc6ff!important;color:#1890ff!important;}
.el-pagination.is-background .el-pager li:not(.is-disabled).is-active{background-color:#1890ff!important;}
.el-switch.is-checked .el-switch__core{background-color:#1890ff!important;}

.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px;}
.el-button{border-radius:6px!important;}
.el-button--default:hover{color:#1890ff!important;border-color:#1890ff!important;}
.agreement-content{max-height:400px;overflow-y:auto;padding-right:10px;line-height:1.6;}
.signature-wrapper{margin-top:20px;}
.signature-canvas{width:100%;max-width:600px;height:200px;border:1px dashed #909399;background-color:#ffffff;touch-action:none;}
.signature-actions{margin-top:10px;}
.site-closed-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7ff,#fdfbff);
}

.site-closed-card{background:#ffffff;border-radius:16px;box-shadow:0 18px 45px rgba(15,23,42,.08);padding:40px 48px;max-width:520px;width:90%;text-align:center;position:relative;overflow:hidden;}
.site-closed-card::before{content:'';position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(64,158,255,.06);top:-80px;right:-100px;z-index:-1;}
.site-closed-icon{width:64px;height:64px;border-radius:50%;background:#ecf5ff;display:flex;align-items:center;justify-content:center;margin:0 auto 20px auto;color:#409EFF;font-size:30px;}
.site-closed-title{font-size:22px;font-weight:600;color:#1f2933;margin-bottom:10px;}
.site-closed-desc{font-size:14px;color:#6b7280;line-height:1.8;margin-bottom:18px;
}

.site-closed-message {
    font-size: 15px;
    color:#374151;line-height:1.9;padding:14px 18px;border-radius:10px;background:#f9fafb;border:1px dashed #e5e7eb;cursor:pointer;user-select:none;transition:background .2s,transform .1s;}
.site-closed-message:hover{background:#f3f4ff;}
.site-closed-message:active{transform:scale(.98);}
.site-closed-tip{margin-top:10px;font-size:12px;color:#9ca3af;}

/* ==================== 全局页面外壳：浅色后台/前台统一风格 ==================== */
.app-page{
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:12px;
    padding:20px;
    margin-top:8px;
}

/* 下单页面已有自己布局背景，不覆盖 */
.order-page-container.app-page{
    background:#f5f7fa!important;
    border:none!important;
    border-radius:0!important;
    padding:0!important;
    margin-top:0!important;
}

/* 不覆盖订单管理已有的 Ant 风格 */
.admin-orders-page.app-page{
    background:#f7fbff!important;
    border:1px solid #dbeafe!important;
    border-radius:12px!important;
    padding:20px 20px 10px 20px!important;
    margin-top:8px!important;
}

/* 积分页沿用 content-wrapper 结构，但补齐外壳视觉 */
.content-wrapper.app-page{
    background:#ffffff!important;
    border:1px solid #e5e7eb!important;
    border-radius:12px!important;
    padding:20px!important;
    margin-top:8px!important;
}

/* 表格统一 Ant Pro 风格（防止被全局 el-table 规则抢走） */
.app-page .el-table{
    background:#ffffff!important;
    border:1px solid #cfe0ff!important;
    border-radius:12px!important;
    overflow:hidden!important;
}
.app-page .el-table th{
    background:#eef4ff!important;
    color:#111827!important;
    font-weight:700!important;
    border-bottom:1px solid #cfe0ff!important;
}
.app-page .el-table tr:hover,
.app-page .el-table__row:hover{
    background:#e6f0ff!important;
}

/* ==================== Ant Pro：弹窗/提醒/侧边栏细节 ==================== */

/* 容器与主区域底色（更接近 Ant Pro 的“内容灰”） */
.main-content{
    background:#f0f2f5!important;
}
.sidebar-header{
    background:#ffffff!important;
}

/* Element Plus Dialog（包括 el-dialog） */
.el-dialog{
    border:1px solid #f0f0f0!important;
    box-shadow:0 18px 45px rgba(15,23,42,.12)!important;
}
.el-dialog__header{
    padding:16px 20px!important;
    border-bottom:1px solid #f0f0f0!important;
    background:#ffffff!important;
}
.el-dialog__title{
    font-size:16px!important;
    font-weight:700!important;
    color:#1f2937!important;
}
.el-dialog__body{
    padding:20px!important;
}
.el-dialog__footer{
    padding:12px 20px!important;
    border-top:1px solid #f0f0f0!important;
    background:#fafafa!important;
}
.el-dialog__headerbtn .el-dialog__close{
    color:#6b7280!important;
    font-size:16px!important;
}

/* Element Plus MessageBox（this.$confirm / ElMessageBox 等） */
.el-message-box{
    border:1px solid #f0f0f0!important;
    border-radius:12px!important;
    box-shadow:0 18px 45px rgba(15,23,42,.12)!important;
}
.el-message-box__header{
    padding:16px 20px!important;
    border-bottom:1px solid #f0f0f0!important;
    background:#ffffff!important;
}
.el-message-box__title{
    font-size:16px!important;
    font-weight:700!important;
    color:#1f2937!important;
}
.el-message-box__content{
    padding:20px!important;
    color:#374151!important;
}
.el-message-box__btns{
    padding:12px 20px!important;
    border-top:1px solid #f0f0f0!important;
    background:#fafafa!important;
}
.el-message-box__btns .el-button{
    border-radius:8px!important;
    height:34px!important;
    min-width:86px!important;
}

/* Element Plus Notification / Message */
.el-notification{
    border:1px solid #f0f0f0!important;
    border-radius:12px!important;
    box-shadow:0 18px 45px rgba(15,23,42,.10)!important;
}
.el-notification__title{
    font-weight:700!important;
    color:#1f2937!important;
}
.el-notification__content{
    color:#374151!important;
}
.el-message{
    border-radius:10px!important;
}

/* Element Plus Alert（提醒条） */
.el-alert{
    border-radius:10px!important;
}

/* 全局圆角统一（按钮/卡片） */
.el-button{
    border-radius:8px!important;
}
.el-card{
    border-radius:12px!important;
}

/* 下单页：商品下拉（让样式与输入框一致） */
.order-product-select .el-select__wrapper{
    height:44px!important;
    border-radius:8px!important;
    border:1px solid #dcdfe6!important;
    padding:0 12px!important;
}
.order-product-select .el-select__wrapper:hover{
    border-color:#c0c4cc!important;
}
.order-product-select .el-select__wrapper.is-focus{
    border-color:#409eff!important;
    box-shadow:0 0 0 2px rgba(64,158,255,.15)!important;
}


/* ==================== 下单页最终统一（防重复覆盖） ==================== */
.order-page-container.app-page.user-page{
    background:#f0f2f5!important;
    border:none!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:24px!important;
    margin-top:0!important;
}

.order-page-container .order-page-header{
    margin-bottom:18px!important;
}

.order-page-container .order-content-wrapper{
    display:flex!important;
    gap:20px!important;
    margin-top:18px!important;
}

.order-page-container .order-card{
    background:#ffffff!important;
    border:1px solid #e5e7eb!important;
    border-radius:12px!important;
    padding:20px!important;
    box-shadow:none!important;
    margin-bottom:16px!important;
}

.order-page-container .order-card-title{
    font-size:16px!important;
    font-weight:700!important;
    color:#1f2937!important;
    margin-bottom:14px!important;
}

.order-page-container .order-total{
    margin-top:8px!important;
}

.order-page-container .order-total-label{
    color:#374151!important;
    font-weight:600!important;
}

.order-page-container .order-total-amount{
    color:#ff4d4f!important;
    font-weight:800!important;
}

.order-page-container .order-sidebar-card{
    background:#ffffff!important;
    border:1px solid #e5e7eb!important;
    border-radius:12px!important;
    padding:20px!important;
    margin-bottom:16px!important;
    box-shadow:none!important;
}

.order-page-container .order-sidebar-title{
    color:#1f2937!important;
    font-weight:700!important;
    margin-bottom:14px!important;
}

.order-page-container .order-form{
    gap:16px!important;
}

.order-page-container .order-form-item{
    margin-bottom:16px!important;
}

.order-page-container .order-form-label{
    color:#374151!important;
    font-weight:600!important;
}

.order-page-container .order-input .el-input__wrapper,
.order-page-container .order-input .el-textarea__wrapper{
    height:44px!important;
    border-radius:8px!important;
    border:1px solid #dcdfe6!important;
    box-shadow:none!important;
    background:#ffffff!important;
}

.order-page-container .order-input .el-input__wrapper.is-focus,
.order-page-container .order-input .el-textarea__wrapper.is-focus{
    border-color:#409eff!important;
    box-shadow:0 0 0 2px rgba(64,158,255,.15)!important;
}

.order-page-container .smart-address-input .el-textarea__inner{
    border-radius:8px!important;
}

.order-page-container .order-product-select{
    width:100%!important;
}

.order-page-container .order-submit-section{
    margin-top:20px!important;
}

.order-page-container .submit-order-btn{
    border-radius:10px!important;
    height:48px!important;
    font-weight:700!important;
}

