:root {
    --primary-color: #2e7d32;
    --primary-light: rgba(46, 125, 50, 0.08);
    --primary-hover: #1b5e20;
    --primary-active: #154618;
    --bg-global: #f8fafc;
    --text-main: #1e293b;
    --text-secondary: #475569;
    --text-muted: #64748b;
    --border-color: #e2e8f0;
    --card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
    --card-shadow-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.08);
    --border-radius: 6px;
    --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

body {
    padding-top: 50px;
    font-size: 14px;
    background-color: var(--bg-global);
    color: var(--text-main);
    font-family: var(--font-sans);
}
ul,li,dl,dt,dd{padding:0;margin:0;list-style:none;}
textarea{resize:none;}
td,p{word-break:break-all;}
h2{font-size:20px;}
.org{color:#f58211;}
.prompt12 {color:#ed641a;font-size:12px;}
.clear:after,.rowItem:after{display:block;clear:both;content:".";visibility:hidden;height:0;}

/* 全局按钮设计优化 */
.btn {
    border-radius: var(--border-radius);
    font-weight: 500;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-primary {
    background: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
}
.btn-primary:hover, .btn.disabled:hover, .btn[disabled]:hover, fieldset[disabled] .btn:hover {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
    color: #fff;
}
.btn-primary:active:hover, .open>.dropdown-toggle.btn-primary.focus, .open>.dropdown-toggle.btn-primary:focus, .open>.dropdown-toggle.btn-primary:hover {
    background-color: var(--primary-active);
    border-color: var(--primary-active);
    color: #fff;
}
.btn-primary.focus, .btn-primary:focus {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: #fff;
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.25);
}
.btn-default {
    border-color: var(--border-color);
    color: var(--text-secondary);
    background: #fff;
}
.btn-default:hover, .btn-default[disabled]:hover {
    background: var(--primary-light);
    border-color: var(--primary-color);
    color: var(--primary-color);
}

.nav-sidebar dt.glyphicon:before {padding: 0 6px 0 0;color: var(--primary-color);}
.pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}
.pagination>li>a, .pagination>li>span {
    color: var(--text-secondary);
}
.pagination>li>a:hover {
    color: var(--primary-color);
    background-color: var(--primary-light);
}
.totalCountOfPaginator {margin-left:10px;display:block;float:right;color: var(--text-muted);line-height:74px;}
@media screen and (max-width:1500px) {
    .btn-block {display:inline-block;width:auto;}
}
@media screen and (max-width:1300px) {
    .set-nav>li>a{width: 95px!important;}
}
.page{padding-right:20px;overflow:hidden;}
.btn-w120{width:120px;}
.pad-bot-30{padding-bottom:30px;}

.form-control[readonly] {background-color: white;}

/* bootstrap override */
a, a:focus {
    color: var(--primary-color);
    cursor: pointer;
    outline: none !important;
    text-decoration: none;
    transition: color 0.2s;
}
a:hover {
    color: var(--primary-hover);
    text-decoration: none;
}
a:focus, a:active, a:focus-visible, button:focus, button:active, button:focus-visible {
    outline:none !important;
    text-decoration:none;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}
table tbody tr { color: var(--text-main); }
.page .pagination>li>a { border-radius: var(--border-radius); }


.glyphicon-record:before { content: ""; }
.glyphicon-record { width: 22px; height: 22px; background: url(../images/icon20-icon.png) 0 -69px no-repeat; display: block; float: left; margin-top: -4px; }
.active .glyphicon-record, .main-tlt .glyphicon-record { background-position: 0 -48px; }
.glyphicon-exclamation-sign { color: #eec563; }
.container-fluid { padding: 0px; }
.modal-content .nav-tabs { width: 100%; }
.controls .glyphicon-pencil { color: var(--primary-color); }
.controls .glyphicon-pencil:hover { color: var(--primary-hover); }
.modal-header .modal-note { color: #e13232; float: left; font-size: 12px; width: 700px; }

span>label { font-weight: normal; padding-right: 15px; }

/* 输入框焦点优化 */
.form-control {
    border-radius: var(--border-radius);
    border-color: var(--border-color);
    box-shadow: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.15);
    background: #fff;
    outline: 0;
}
ul.dropdown-menu { right: 0px; }
.btn-lg { font-size: 14px; }
.navbar-header { overflow: hidden; }
.navbar-header .set-logo-line+a { float: left; display: block; }
/**bootstrap end**/

/**头部 开始**/
.navbar{min-height:60px;}
.navbar.navbar-set{margin-bottom:0px;}
.navbar-set {background: #ffffff !important;color: #000;box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.02), 0 1px 6px -1px rgba(0, 0, 0, 0.01);border-bottom: 1px solid rgba(0, 0, 0, 0.06);}
.navbar-set .container-fluid {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    padding: 0 20px;
}
.navbar-set .container-fluid::before,
.navbar-set .container-fluid::after {
    display: none !important;
}
.navbar-set .navbar-header {
    float: none !important;
    display: flex !important;
    align-items: center;
    flex-shrink: 0;
}
.navbar-set .set-logo{height:20px;width:161px;float:none !important;display:block !important;margin:0 !important;background:url(../images/logo-main.png) 0 0 no-repeat;}
.navbar-set em{font-style:normal;font-size:18px;margin:0 0 0 12px !important;float:none !important;display:block;}

/**头部导航 开始**/
.navbar-set .set-nav{
    margin-bottom:0px;
    margin:0 24px;
    float:none;
    display:flex;
    align-items:center;
    height:60px;
    flex:1;
    min-width:0; /* 限制最小宽度以在 Flex 容器中正常收缩并触发 overflow-x */
    overflow-x:auto;
    overflow-y:hidden; /* 禁用垂直滚动，消除垂直滚动条 */
    white-space:nowrap;
    scrollbar-width:thin; /* Firefox 下使用细滚动条 */
    scrollbar-color:rgba(0, 0, 0, 0.15) transparent; /* Firefox 滚动条配色 */
}
.navbar-set .set-nav::-webkit-scrollbar {
    height: 4px;
    display: block;
}
.navbar-set .set-nav::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.15);
    border-radius: 2px;
}
.navbar-set .set-nav::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.3);
}
.navbar-set .set-nav::-webkit-scrollbar-track {
    background: transparent;
}
/* 当 hover 任意菜单项时，临时隐藏横向滚动条，防止 4px 滚动条原生组件阻断鼠标移入二级巨幕菜单的事件 */
.navbar-set .set-nav:has(> li:hover)::-webkit-scrollbar {
    height: 0;
    display: none;
}
.navbar-set .set-nav:has(> li:hover) {
    scrollbar-width: none;
}
.set-nav>li{float:none;display:inline-flex;align-items:center;flex-shrink:0;margin:10px 4px;height:40px;line-height:40px;text-align:center;cursor:pointer;position:relative;border-radius:6px;transition: all 0.25s;}
.set-nav>li>a{font-size:15px;color:#595959;text-decoration:none;display:inline-block;height:40px;line-height:40px;width:auto;padding:0 16px;border-radius:6px;transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1);font-weight:600;}
.set-nav>li>a:focus, .set-nav>li>a:active {outline:none !important;}
.set-nav>li>a:hover{color:#262626;background-color:rgba(0, 0, 0, 0.04);text-decoration:none;}
.set-nav li.atv{border-bottom:none;}
.set-nav>li.atv>a{color:#55a722;font-weight:700;background-color:rgba(85, 167, 34, 0.06);}
.set-nav>li.atv::after{content:'';position:absolute;bottom:-10px;left:16px;right:16px;height:2px;background-color:#55a722;border-radius:2px;animation:navSlideIn 0.25s cubic-bezier(0.25, 1, 0.5, 1);}
@keyframes navSlideIn {
  from { transform: scaleX(0.5); opacity: 0; }
  to { transform: scaleX(1); opacity: 1; }
}
.set-nav-right{float:none;display:flex;align-items:center;padding-top:0;height:60px;margin-right:0;flex-shrink:0;}
.login-user-container {position: relative;float: left;z-index: 1002;}
.login-user-trigger {display: flex;align-items: center;cursor: pointer;height: 40px;padding: 0 10px;border-radius: 6px;transition: all 0.25s;}
.login-user-trigger:hover {background-color: rgba(0, 0, 0, 0.04);}
.login-user-trigger .avatar {width: 24px;height: 24px;border-radius: 50%;margin-right: 8px;border: 1px solid rgba(0,0,0,0.06);box-shadow: 0 2px 8px rgba(0,0,0,0.04);transition: all 0.3s;}
.login-user-trigger:hover .avatar {transform: scale(1.08);}
.login-user-trigger .username {font-size: 14px;color: #595959;font-weight: 500;}
.caret-icon {width: 0;height: 0;border-left: 4px solid transparent;border-right: 4px solid transparent;border-top: 4px solid #8c8c8c;margin-left: 8px;transition: transform 0.25s;}
.user-dropdown-menu {position: absolute;top: 45px;right: 0;width: 220px;background: #ffffff;border-radius: 8px;box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.02);border: 1px solid rgba(0, 0, 0, 0.06);padding: 6px 0;margin: 0;display: none;z-index: 1001;transform-origin: top right;animation: dropdownFadeIn 0.2s cubic-bezier(0.25, 1, 0.5, 1);}
.user-dropdown-menu::before {content: '';position: absolute;top: -10px;left: 0;right: 0;height: 10px;background: transparent;}
@keyframes dropdownFadeIn {from { opacity: 0; transform: scale(0.95) translateY(-5px); }to { opacity: 1; transform: scale(1) translateY(0); }}
.login-user-container:hover .user-dropdown-menu {display: block;}
.login-user-container:hover .caret-icon {transform: rotate(180deg);}
.user-dropdown-menu .dropdown-header {padding: 8px 16px 4px 16px;font-size: 12px;color: #bfbfbf;word-break: break-all;line-height: 1.4;white-space: normal;}
.user-dropdown-menu .dropdown-divider {height: 1px;background-color: rgba(0, 0, 0, 0.06);margin: 4px 0;list-style: none;}
.user-dropdown-menu li a.logout-link {display: block;padding: 8px 16px;color: #595959 !important;font-size: 13px;transition: all 0.2s;text-decoration: none;line-height: normal;text-align: left;background: transparent;border: none;margin: 0;width: 100%;}
.user-dropdown-menu li a.logout-link:hover {background-color: rgba(255, 77, 79, 0.05);color: #ff4d4f !important;}
.user-dropdown-menu li a.logout-link i {margin-right: 8px;font-size: 12px;}

.agent2 .login-user-trigger:hover {background-color: rgba(255, 255, 255, 0.15) !important;}
.agent2 .login-user-trigger .username {color: #ffffff !important; transition: color 0.25s;}
.agent2 .login-user-trigger:hover .username {color: #ffffff !important;}
.agent2 .caret-icon {border-top-color: #ffffff !important; transition: border-color 0.25s;}
.agent2 .login-user-trigger:hover .caret-icon {border-top-color: #ffffff !important;}

/*二代-开始*/
.agent2 .navbar-set{background:#87c74d !important;color:#fff;box-shadow: 0 2px 8px rgba(0,0,0,0.06);border-bottom:none !important;}
.agent2 .navbar-set .set-logo{background:url(../images/logo-white.png) 0 0 no-repeat !important;}
.agent2 .navbar-set .set-nav > li{margin:0 4px;height:60px;line-height:60px;position:static;}
.agent2 .navbar-set .set-nav > li > a{color:#ffffff !important;float:left;display:block;height:40px !important;line-height:40px !important;border-radius:6px;width:auto;padding:0 16px;font-size:15px;font-weight:600;transition: all 0.25s ease;opacity: 0.9;}
.agent2 .navbar-set .set-nav li.atv{border-bottom:none;}
.agent2 .navbar-set .set-nav>li.atv>a{background-color:#ffffff !important;color:#87c74d !important;font-weight:700 !important;opacity: 1;}
.agent2 .navbar-set .set-nav>li.atv::after {display: none !important;}
.agent2 .navbar-set .set-nav > li:hover>a{background-color:rgba(255,255,255,0.18) !important;color:#ffffff !important;opacity: 1;}
.agent2 .navbar-set .set-nav .set-menu-line{height: 18px;width: 1px;background-color: #9ed968;margin: 21px 0;float:none;display:inline-block;flex-shrink:0;}

/* 下拉面板美化及横向多列布局（Mega Menu）重构，彻底解决超长滚动问题 */
.agent2 .navbar-set .set-nav .dropdown-menu{
    position: absolute;
    top: 60px;
    left: auto;
    transform: none;
    width: max-content; /* 宽度随列数自适应，杜绝不必要的右侧大白边 */
    min-width: 180px; /* 起步最小宽度，保障单列分类时的协调美观 */
    max-width: 95vw;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    margin-top: 0px; /* 无缝对齐导航栏底边，彻底杜绝真空盲区 */
    margin-left: -20px; /* 略微向左偏移，使得左边缘对齐更加流畅美观 */
    padding: 20px 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.02);
    border-radius: 12px; /* 更柔和的高级大圆角 */
    border: 1px solid rgba(0, 0, 0, 0.05);
    background-color: #ffffff;
}

/* 响应式媒体查询：根据屏幕视口宽度动态梯次限制巨幕菜单最大宽度，迫使其按比例折行，完美消除小屏下右侧被遮挡的问题 */
@media (max-width: 1300px) {
    .agent2 .navbar-set .set-nav .dropdown-menu {
        max-width: 720px; /* 最多展示 4 列，其余流式换行 */
    }
}
@media (max-width: 1024px) {
    .agent2 .navbar-set .set-nav .dropdown-menu {
        max-width: 530px; /* 最多展示 3 列，其余流式换行 */
    }
}
@media (max-width: 768px) {
    .agent2 .navbar-set .set-nav .dropdown-menu {
        max-width: 340px; /* 最多展示 2 列，其余流式换行 */
    }
}

/* 物理热区桥接：填补主菜单与二级巨幕菜单之间的空隙，防止鼠标移入时意外触发mouseleave关闭菜单 */
.agent2 .navbar-set .set-nav .dropdown-menu::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    height: 10px;
    background: transparent;
    pointer-events: auto;
}

/* 将主 ul 容器设为 Flex 排开，支持小屏流式折行 */
.agent2 .navbar-set .set-nav .dropdown-menu > ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px 36px; /* 行间距 24px，列间距 36px */
    padding: 0;
    margin: 0;
    list-style: none;
}

/* 每一个一级大分类作为一列 Column 自适应排布 */
.agent2 .navbar-set .set-nav .dropdown-menu li {
    flex: 0 0 auto;
    width: max-content;
    min-width: 140px;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
}

.agent2 .navbar-set .set-nav .dropdown-menu .menuOpenIcon{
    display: none; /* 去除无用的小箭头 */
}

/* 一级分类大标题样式 */
.agent2 .navbar-set .set-nav .dropdown-menu>ul>li>a{
    cursor: default;
    font-size: 15px; /* 字号由 13.5px 调大至 15px，更清晰醒目 */
    color: #0f172a; /* 精致深邃黑 */
    font-weight: 700;
    display: block;
    margin: 0 0 10px 0;
    padding: 0 0 8px 0;
    line-height: 1.5;
    border-bottom: 2px solid #f1f5f9; /* 高级的分栏底部装饰细线 */
}

/* 二级菜单包裹容器，从行内环绕变为垂直排列 */
.agent2 .navbar-set .set-nav .dropdown-menu .submenu {
    margin-left: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px; /* 子菜单选项垂直方向的高级呼吸间距 */
    line-height: normal;
}

/* 二级菜单具体链接选项 */
.agent2 .navbar-set .set-nav .dropdown-menu .submenu>a{
    cursor: pointer;
    color: #475569; /* 经典深灰色 */
    font-size: 14px; /* 字号由 13px 调大至 14px，更符合主导航菜单的可读性 */
    margin: 0;
    padding: 3px 0;
    display: block; /* 垂直整齐纵向排列 */
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    font-weight: 500;
}

.agent2 .navbar-set .set-nav .dropdown-menu .submenu>a:hover{
    color: #87c74d;
    transform: translateX(2px); /* 悬浮时平滑向右微移 2px */
}

.agent2 .navbar-set .set-nav .dropdown-menu .submenu>a.active{
    color: #87c74d;
    font-weight: 600;
}
/*二代-结束*/

@keyframes mymove {
    from {left:40px;}
to {left:5px;}
}
@keyframes myshow
{
from {opacity:0;}
to {opacity:1;}
}
/**头部导航 结束**/
/**头部 结束**/

/**左侧 开始**/
.sidebar{position:fixed;top:60px;bottom:0;left:0;z-index:1000;display:block;padding:0;overflow-x:hidden;overflow-y:hidden;width:200px;background:#fff;color:#262626;border-right:1px solid #f0f0f0;box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.015);transition: all 0.2s;}
.sidebar:hover{overflow-y:auto;}

/**左侧导航 开始**/
.nav-sidebar dt{font-size:14px;font-weight:600;color:#8c8c8c;text-transform:uppercase;letter-spacing:1px;padding:16px 24px 8px;line-height:normal;}
.nav-sidebar dd{margin:4px 12px;border-radius:6px;overflow:hidden;transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);}
.nav-sidebar dd a{font-size:14px;padding-left:28px;line-height:40px;display:block;color:#595959;text-decoration:none;border-radius:6px;transition: all 0.2s;}
.nav-sidebar dd a:focus, .nav-sidebar dd a:active {outline:none !important;}
.nav-sidebar .active a, .nav-sidebar .active a:hover{font-weight:600;color:#55a722 !important;background:rgba(85, 167, 34, 0.08) !important;border-right:none;position:relative;}
.nav-sidebar .active a::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;background-color:#55a722;border-radius:0 4px 4px 0;}
.nav-sidebar dd a:hover{background:#f5f5f5;color:#262626;text-decoration:none;}
.nav-sidebar dd>a>span {color: #ff4d4f;font-weight: 600;}/**提交给我的报告 菜单后 未点评数字 红色*/

/**左侧导航 结束**/
/**左侧 结束**/

/**右侧主体 开始**/
.set-main{padding:10px 0 0 200px;width:auto;background:#f2f2f2;overflow:hidden;position:relative;}
.set-main>.main-bd{padding:0;min-height:855px;}
.set-main>.main-bd:after{display:block;clear:both;content:".";visibility:hidden;height:0;}
.main-tlt{font-size:16px;padding:5px 0;background:#fff;padding:25px;}
.main-tlt .cn{width:200px;font-weight:700;font-size:20px;letter-spacing:2px;}
.form-horizontal:after{display:block;clear:both;content:".";visibility:hidden;height:0;}
.form-horizontal .control-label{line-height:34px;padding-top:0px;color: rgba(0,0,0,0.65);font-weight: 500;text-align: right;margin-left: -15px;padding-right: 10px;}
.form-horizontal .control-label::after{content:"：";}
.form-horizontal .qm-control-label::after{content:"";}
.form-horizontal .control-label + div, .form-horizontal .control-label-content{padding-left:0;}
.form-horizontal .form-group{margin-left:0;margin-right:0;}
.set-main .page{padding:20px;overflow:hidden;}
.set-main .page .pagination{float:right;}
.set-row{padding:15px 0;}
.form-group div p{padding-top:7px;margin:0px;color:#262626;font-weight:500;}
.col-mid-font{text-align:center;font-size: 24px;}
.tlt-h1{width:103%;border-bottom:1px solid #55a722;margin:10px 0 0px -10px;}
.tlt-h1 b{font-size:14px;padding:4px 15px;background:#55a722;color:#fff;display:inline-block;margin-left:20px;border-radius:2px 2px 0 0;}
.tlt-h1 .btn-tlt{font-size:14px;padding:3px 5px;background:#064738;position:absolute;right:20px;top:-11px;border:1px solid #064738;border-radius:2px;cursor:pointer;color:#fff;}
.tlt-h1 .btn-tlt:hover{background:#0e6450;}
.red{color:#ff4d4f;}

/*查询条件区域*/
.set-main>.main-bd .search-params{background:#fff;margin:25px 0;padding-top:25px;padding-bottom:20px;}

/*汇总信息区域*/
.set-main>.main-bd .summary-info{background:#fff;margin:0 0 25px 0;padding:20px 0;}

/**表格主体 开始**/
.table-block {
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 12px rgba(0, 0, 0, 0.015);
    margin-top: 16px !important;
}
.table-block .table-title{padding:0 0 16px 0;font-size:15px;font-weight:600;color:#262626;}
.table-mn{position:relative;overflow-x:auto;width:100%;}
.table-mn thead tr {
    background: #fafafa;
    border-bottom: 1px solid #f0f0f0;
}
.table-mn .table thead tr th {
    border: none;
    font-weight: 600;
    color: #595959;
    font-size: 13px;
    padding: 10px 8px;
    background: #fafafa;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.table-mn .table>tbody>tr {
    position: relative;
    transition: background-color 0.2s ease;
}
table>tbody>tr:has(.ui-select-container.open) {
    position: relative;
    z-index: 11;
}
.table-mn .table>tbody>tr>td {
    padding: 10px 8px;
    border-top: 1px solid #f0f0f0;
    font-size: 13px;
    color: #2d3748;
    vertical-align: middle;
    transition: color 0.2s ease;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
table>tbody>tr>td:has(.ui-select-container.open) {
    overflow: visible !important;
}
.table-mn .table>tbody>tr>td[colspan] {
    color: #8c8c8c;
    font-style: italic;
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}
.table-mn .table>tbody>tr>td:first-child {
    position: relative;
}
/* 鼠标移入行时，在最左侧 td 滑出精致的垂直高亮强调绿线 */
.table-mn .table>tbody>tr>td:first-child::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, #87c74d 0%, #55a722 100%);
    opacity: 0;
    transform: scaleY(0.4);
    transition: opacity 0.2s ease, transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    border-radius: 0 2px 2px 0;
    z-index: 10;
}
.table-mn .table>tbody>tr:hover>td:first-child::before {
    opacity: 1;
    transform: scaleY(1);
}
.table-mn .table>tbody>tr:hover {
    background-color: rgba(85, 167, 34, 0.04);
}
.table-mn .table>tbody>tr:hover>td {
    color: #000000;
}
.table-mn a {
    cursor: pointer;
    color: #55a722;
    text-decoration: none;
    position: relative;
    transition: color 0.2s ease;
    display: inline-block;
}
/* 链接下方悬停自左向右横向滑出展开的自定义高级下划线 */
.table-mn a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1.5px;
    bottom: -1px;
    left: 0;
    background-color: #387b13;
    transition: width 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.table-mn a:hover {
    color: #387b13;
}
.table-mn a:hover::after {
    width: 100%;
}
.table-mn .table{margin-bottom:0px;}
.table-mn .glyphicon {
    margin-right: 8px;
    color: #8c8c8c;
    cursor: pointer;
    transition: transform 0.2s ease, color 0.2s ease;
    display: inline-block;
}
.table-mn .glyphicon:hover {
    transform: scale(1.15);
    color: #55a722;
}
.table-mn .glyphicon-trash:hover {
    color: #ff4d4f;
}
.table-mn .glyphicon:last-child{margin-right:0px;}
.table-mn th em{display:inline-block;font-size:12px;font-style:normal;font-weight: 100;}
.table-mn th i{display:inline-block;font-size:12px;font-style:normal;font-weight: 100;}
.table-mn .tlt-cn{height:30px;overflow:hidden;line-height:30px;position:absolute;left:0px;top:-30px;}
.table-mn .tlt-l{float:left;padding:0 0 0 10px;color:#fff;font-size:14px;background:#68b92e;}
.table-mn .tlt-r{height:30px;width:14px;background:url(../images/triangle-set.png) 0 -20px no-repeat;float:left;}
.table-top-btn{float:right;}
.table-top-btn .btn-block {width:100%;}
.table-top-btn01{margin-bottom:-18px;text-align:right;}
.table-top-btn02{width:100%;margin-bottom:-28px;}
.table-top-btn02:after{display:block;clear:both;content:".";visibility:hidden;height:0;}
.table-top-btn02 .col-btn{float:right;margin-right:20px;text-align:center;}
.table-top-btn02 .col-btn:first-child{margin-right:0px;}
.table-top-btn02 .col-xs-1 a{position:absolute;display:block;right:14px;width:100px;text-align:right;}
.table-top-btn02 >.col-btn >.btn,.table-top-btn02 >.col-btn >.btn-group{width:100%;}
.table-top-btn02 .col-btn .main-tlt .cn{text-align:left;}
/*.table-top-btn03{margin-bottom:12px;}*/
.table-top-btn04{margin-bottom:-90px;}
.table-top-btn05{text-align:right;margin-bottom:4px;}
.table-mn-row{border-bottom:1px solid #ddd;border-left:1px solid #ddd;border-top:0px;border-right: 1px solid #ddd;}
.row-table {overflow: hidden;}
.row-table > div {border-top: 1px solid #ddd;line-height:36px;}
.table-mn-row>div:nth-child(odd){background:#f4f4f4;}
.table-mn-row>div:hover{background:#f7f7f7;}
.btnGroup {
    display: inline-flex !important;
    align-items: center;
    border: 1px solid #d9d9d9 !important; /* 统一为全局按钮边框色 */
    border-radius: 6px;
    overflow: hidden !important;
    height: 32px !important;
    background: #ffffff !important;
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    vertical-align: middle !important;
}

.btnGroup:hover {
    border-color: #55a722 !important;
}

.btnGroup .btn {
    float: none !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(0, 0, 0, 0.65) !important;
    border-radius: 0;
    box-shadow: none;
    transition: color 0.2s;
    line-height: 30px !important; /* 扣除上下 1px 边框的垂直对齐 */
}

.btnGroup .btn:hover {
    color: #55a722 !important;
}

.downTemp {
    float: none;
    display: inline-flex;
    width: 32px;
    height: 100%;
    border-left: 1px solid #d9d9d9;
    padding: 0;
    margin-top: 0;
    background: url(../images/icon-filedownload.png) center no-repeat;
    transition: all 0.2s;
}

.btnGroup:hover .downTemp {
    border-left-color: #55a722 !important;
}

.downTemp:hover {
    background-color: rgba(85, 167, 34, 0.05);
}
/**表格主体 结束**/

/**  angular-ui 选项卡  开始   **/
.top-breadcrumbs-wrapper .nav-tabs {
    background: #fff;
    font-size: 14px;
    width: 100%;
    border-bottom: 1px solid #f0f0f0;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    margin: 0;
}
.modal-content .nav-tabs,.modal-content .main-tlt{margin:0 0 10px 0;}
.top-breadcrumbs-wrapper .nav-tabs>li {
    display: flex;
    align-items: center;
    float: left;
}
.top-breadcrumbs-wrapper .nav-tabs>li::after {
    content: '/';
    color: #d9d9d9;
    font-size: 14px;
    margin-left: 4px;
    margin-right: 12px;
}
.top-breadcrumbs-wrapper .nav-tabs>li:last-child::after {
    display: none;
}
.top-breadcrumbs-wrapper .nav-tabs>li>a {
    color: #8c8c8c;
    font-size: 14px;
    font-weight: 500;
    padding: 6px 8px;
    border-radius: 4px;
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    border: none;
    background: transparent;
    display: inline-flex;
    align-items: center;
}
.top-breadcrumbs-wrapper .nav-tabs>li>a:hover {
    color: #262626;
    background-color: rgba(0, 0, 0, 0.04) !important;
    text-decoration: none;
}
.top-breadcrumbs-wrapper .nav-tabs>li.active>a, 
.top-breadcrumbs-wrapper .nav-tabs>li.active>a:focus, 
.top-breadcrumbs-wrapper .nav-tabs>li.active>a:hover {
    color: #262626 !important;
    background-color: transparent !important;
    font-weight: 600;
    border: none !important;
}
.top-breadcrumbs-wrapper .nav-tabs>li .tab-line {
    display: none;
}
.top-breadcrumbs-wrapper .nav-tabs>li>a .closetab-icon {
    color: #bfbfbf;
    margin-left: 6px;
    transition: all 0.2s;
    font-size: 16px;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    line-height: 14px;
    text-align: center;
    display: inline-block;
}
.top-breadcrumbs-wrapper .nav-tabs>li>a .closetab-icon:hover {
    background-color: rgba(0, 0, 0, 0.06);
    color: #ff4d4f;
}
.top-breadcrumbs-wrapper .nav-tabs>li.active>a .closetab-icon {
    cursor: pointer;
}

div[active=activeTab] .nav-tabs {
    padding: 0 0 0 16px;
    background: transparent;
    border-bottom: 1px solid #f0f0f0;
}
div[active=activeTab] .nav-tabs>li {
    margin-right: 6px;
    padding: 0;
    float: left;
}
div[active=activeTab] .nav-tabs>li>a {
    color: #595959;
    background-color: #fafafa !important;
    border: 1px solid #f0f0f0 !important;
    border-bottom: none !important;
    padding: 8px 16px;
    border-radius: 6px 6px 0 0;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
    display: block;
}
div[active=activeTab] .nav-tabs>li>a:hover {
    color: #55a722;
    background-color: #f5f5f5 !important;
    text-decoration: none;
}
div[active=activeTab] .nav-tabs>li.active>a, 
div[active=activeTab] .nav-tabs>li.active>a:focus {
    color: #55a722 !important;
    background-color: #ffffff !important;
    border: 1px solid #f0f0f0 !important;
    border-bottom: 2px solid #ffffff !important;
    margin-bottom: -1px;
    font-weight: 600;
}
div[active=activeTab] .nav-tabs>li.active>a a.ng-scope{color:#55a722;}
div[active=activeTab] .nav>li>a a.ng-scope{color:#999;}

.tab-content .nav-tabs,
.agent-detail-tab-wrapper .nav-tabs {
    display: inline-flex;
    width: auto;
    background: rgba(0, 0, 0, 0.04);
    padding: 3px;
    border-radius: 8px;
    border-bottom: none;
    margin-bottom: 12px;
    align-items: center;
}
.tab-content .nav-tabs::before,
.tab-content .nav-tabs::after,
.agent-detail-tab-wrapper .nav-tabs::before,
.agent-detail-tab-wrapper .nav-tabs::after {
    display: none;
}
.tab-content .nav-tabs>li::after,
.agent-detail-tab-wrapper .nav-tabs>li::after {
    display: none;
}
.tab-content .nav-tabs>li,
.agent-detail-tab-wrapper .nav-tabs>li {
    margin: 0;
    padding: 0;
    float: none;
    display: inline-block;
}
.tab-content .nav-tabs>li>a,
.agent-detail-tab-wrapper .nav-tabs>li>a {
    font-size: 13px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.55);
    padding: 6px 18px;
    margin: 0;
    background: transparent;
    border: none;
    border-radius: 6px;
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    display: block;
    text-align: center;
    line-height: 20px;
}
.tab-content .nav-tabs>li>a:hover,
.agent-detail-tab-wrapper .nav-tabs>li>a:hover {
    color: #55a722 !important;
    text-decoration: none;
}
.tab-content .nav-tabs>li.active>a, 
.tab-content .nav-tabs>li.active>a:focus, 
.tab-content .nav-tabs>li.active>a:hover,
.agent-detail-tab-wrapper .nav-tabs>li.active>a, 
.agent-detail-tab-wrapper .nav-tabs>li.active>a:focus, 
.agent-detail-tab-wrapper .nav-tabs>li.active>a:hover {
    background: #ffffff !important;
    color: #55a722 !important;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.02);
    border: none !important;
}
.tab-content .nav-tabs>li.active::after,
.agent-detail-tab-wrapper .nav-tabs>li.active::after {
    display: none !important;
}
.tab-content .nav-tabs>li>a i,
.tab-content .nav-tabs>li.active>a i,
.agent-detail-tab-wrapper .nav-tabs>li>a i,
.agent-detail-tab-wrapper .nav-tabs>li.active>a i {
    display:none;
}
.tab-content .tab-content { padding-top: 0; margin: 0; }

.tab-content .tab-pane .row.search-params,
.tab-content>form>.row.search-params,
.tab-content>.form-horizontal>.row.search-params,
.tab-content>.row.search-params {
    margin-top: 0;
    margin-bottom: 0; /* 强制下外边距为 0，防止撑大与下方表格卡片的距离 */
    border-radius: 6px;
    border: 1px solid #f0f0f0;
    background: #fff;
    padding: 24px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02), 0 4px 12px rgba(0, 0, 0, 0.015);
}
/**  angular-ui 选项卡  结束   **/

/*详情页面*/
.tab-content{margin:16px;}

#tabContent {
    margin-bottom: 0px !important;
}
/* 对内容区 panel 实施 1px 细描边、10px 现代大圆角、多层级微阴影效果，鼠标悬浮时仅有阴影过渡，保持静止不发生位移 */
.tab-content .panel {
    margin-bottom: 16px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    background: #ffffff;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 12px rgba(0, 0, 0, 0.015);
    padding: 0;
    width: 100%;
    overflow: visible;
    transition: box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.tab-content .panel:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.02), 0 12px 24px rgba(0, 0, 0, 0.03);
}
/* 模态框 panel 保持相同圆角与质感，但剔除位移动效以防晃动 */
.modal-content .panel {
    margin-bottom: 16px;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    background: #ffffff;
    border-radius: 10px;
    padding: 0 !important;
    width: 100%;
    overflow: visible !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 12px rgba(0, 0, 0, 0.015);
}
.tab-content .panel:after,.modal-content .panel:after {display: block;clear: both;content: ".";visibility: hidden;height: 0;}
.panel .sales-panel-head {
    line-height: 36px;
    background: linear-gradient(90deg, #fdfdfd 0%, #ffffff 100%);
    padding: 8px 16px;
    margin: 0;
    font-size: 15px;
    font-weight: normal;
    color: #1a1a1a;
    border-bottom: 1px solid #f5f5f5;
    position: relative;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
/* 标题左侧极具质感的翡翠色高亮强调线条 */
.panel .sales-panel-head::before {
    content: '';
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 4px;
    background: linear-gradient(180deg, #87c74d 0%, #55a722 100%);
    border-radius: 0 4px 4px 0;
    transition: all 0.3s ease;
}
/* 鼠标悬停面板时，强调竖线条产生高亮拉长和增粗的微互动反馈 */
.tab-content .panel:hover .sales-panel-head::before {
    top: 9px;
    bottom: 9px;
    width: 5px;
}
.panel-body.sales-panel-body {
    padding: 16px !important;
}
.panel label{font-weight:normal;color:#595959;}

/**  经销商签约进度条  开始   **/
/* 使非 tab-content 包裹下的 row.search-params 也应用精致卡片化设计 */
.row.search-params {
    margin: 16px 0;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    background: #ffffff;
    padding: 16px 24px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 4px 12px rgba(0, 0, 0, 0.015);
}

.agency-tabs {
    width: 380px;
    margin: 15px auto;
    height: 40px;
    position: relative;
    z-index: 9;
    background: rgba(0, 0, 0, 0.03);
    border-radius: 24px;
    padding: 3px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
}

.agency-tabs .line {
    display: none;
}

.agency-tabs .tabs-list {
    width: 100%;
    height: 100%;
    overflow: visible;
    display: flex;
    padding: 0;
    margin: 0;
    list-style: none;
}

.agency-tabs .tabs-list li {
    flex: 1;
    height: 32px;
    line-height: 32px;
    font-size: 13px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.55);
    background: transparent;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.agency-tabs .tabs-list li span {
    display: inline;
    float: none;
    width: auto;
    height: auto;
    line-height: inherit;
}

.agency-tabs .tabs-list li i {
    display: none;
}

.agency-tabs .tabs-list li em {
    display: none;
}

.agency-tabs .tabs-list li:hover {
    color: #1a1a1a;
}

.agency-tabs .tabs-list li.active {
    background: linear-gradient(135deg, #87c74d 0%, #55a722 100%);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(85, 167, 34, 0.3), 0 2px 4px rgba(85, 167, 34, 0.1);
}

.agency-tabs .tabs-list li:last-child {
    margin-left: 0;
}
/**  经销商签约进度条  结束   **/

/**  产品信息嵌入表格  开始   **/

.embed{margin-bottom:30px;line-height:35px;}
.embed:first-child{margin-top:60px;}
.embed-bd .table-mn{margin-top:0px;color:#666;}
.embed-bd .table-mn table thead tr,.embed-bd .table-mn table thead tr:hover{color:#fff;background:#666;}
.embed-bd .table-mn table tbody{background:#f7f7f7;}
.embed-bd .table-mn table tbody tr:first-child{font-weight:bold;background:#fff;color:#222;}
.embed-bd .table-mn .dsf-table tbody tr:first-child{font-weight:inherit;background:inherit;color:inherit;}
.embed-bd .table-mn table tr a:hover{color:#222;}
/*// .embed-bd div:nth-child(3){margin-top:40px;}*/
.embed-bd th,.embed-bd .table>tbody>tr>td{text-align:center;vertical-align:middle;}
.embed-bd .tlt{font-size:16px;font-weight:bold;padding-left:20px;color:#68b92e;}
.embed-bd .settle{width:900px;padding-top:30px;}
.embed-bd .settle em{font-style:normal;padding-right:40px;overflow:hidden;float:left;display:block;}
.embed-bd .settle b{color:#e77817;width:140px;}
.embed-bd .settle textarea{width:320px;height:30px;line-height:30px;display:block;float:left;}
.embed-bd .settle cite{font-style:normal;line-height:30px;display:block;float:left;text-align:right;width:120px;}
.embed-bd .settle p{overflow:hidden;}
.embed-bd .settle:after{display:block;clear:both;content:".";visibility:hidden;height:0;}
/* .embed-k 的原定义已被移除，统一在文件尾部“高端现代 SaaS 风格 Empty State”中进行高级重设计 */
/**  产品信息嵌入表格  结束   **/

/*订单中地址，省市区下拉项的样式*/
.addressOption {width:125px;float:left;}
.address_detail{width:375px;}
/**右侧主体 结束**/


/**控件：抄送人搜索之类---start**/
.fw_agtlist {width: 195px;border: solid 1px #E2E5E7;background: #FFF;position: absolute;z-index: 2000;}
.fw_agtlist dl {padding: 2px 1px 3px;font-size: 12px;}
.fw_agtlist dl dt {height: 23px;line-height: 21px;color: #c9cacc;padding-left: 5px;}
.fw_agtlist dl dt:after {content: "\e014";float: right;color: red;font-size: 12px; font-family: 'Glyphicons Halflings'}
.fw_agtlist dl dd:hover, .fw_agtlist dl .on, .fw_agtlist dl .hover {background: #E6EAED;cursor: pointer;}
.fw_agtlist dl .agt_cate_line {border-top:1px dashed #E2E5E7;}
.fw_agtlist dl dd {height: 50px;overflow: hidden;padding-left: 5px;}
.fw_agtlist dl dd .fw_agtlist_ddright {width:153px;height:40px;float:left;position:relative;padding-top:5px;overflow:hidden;}
.fw_agtlist dl dd .fw_agtlist_ddright .fw_agtlist_sname {display:block;height:20px;color:#007fba;position:absolute;left:5px;top:5px;}
.fw_agtlist dl dd .fw_agtlist_ddright .fw_agtlist_sdepartment {display: block;height: 20px;color: #595c6d;position: absolute;left: 85px;top: 5px;white-space: nowrap;}
.fw_agtlist dl dd .fw_agtlist_ddright .fw_agtlist_semail {display: block;height: 20px;color: #bbb;position: absolute;left: 5px;top: 25px;font-size: 10px;}
.selected-user {background-color: #ccc;height: 28px;line-height: 28px;display: inline-block;margin-right: 10px; margin-top: -5px;}
.searchInput {width: 10px;border: none;max-width: 200px;}
.inputAndSearch {display: inline-block;position: relative;}
/**控件：抄送人搜索之类---end**/

/**变更-合作伙伴---start**/
.fuRight {float:right;}
.maLeft15 {margin-left:15px;}
.maRight20 {margin-right: 20px;}
.maTop20{margin-top:20px;}
.customChangeDiv .table-mn > .table > thead > tr > th{text-align:center;}
.customChangeDiv .table-mn > .table > tbody > tr > td {text-align: center;}
.customChangeDiv .content-text-left {text-align: left !important;}
.error{color:red;}
.importBtn>span.btn{width:100%;}
.customChangeDiv{ width:100%;}
.customChangeDiv table {width:100%;border-collapse: collapse;}
.customChangeDiv .table-mn .glyphicon {margin-right:0 !important;}
/**变更-合作伙伴---end**/

/*客户详情表单样式**/
.detail-head {
    line-height: 36px;
    background: #fff;
    margin: 12px 0;
    overflow: hidden;
    text-align: left;
    border-radius: 4px;
    padding: 24px 24px 20px 24px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.detail-head h2 {
    display: inline-block;
    margin: 0 16px 0 0;
    font-size: 20px;
    font-weight: 600;
    color: #303133;
    vertical-align: middle;
}
.detail-head .detail-title-area {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.detail-head span {
    display: inline-block;
    margin-left: 12px;
    padding: 4px 10px;
    background: #f4f4f5;
    color: #909399;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    vertical-align: middle;
    border: 1px solid #e9e9eb;
}
.detail-head .detail-badge {
    line-height: 18px;
    border: 1px solid transparent;
    transition: all 0.2s ease;
}
.detail-head .detail-badge.badge-responsible {
    background: #f5f7fa;
    color: #5e6d82;
    border-color: #e4e7ed;
}
.detail-head .detail-badge.badge-responsible:hover {
    background: #e4e7ed;
    color: #333333;
}
.detail-head .detail-badge.badge-level {
    background: #f0f2f5;
    color: #303133;
    border-color: #dcdfe6;
}
.detail-head .detail-badge.badge-level:hover {
    background: #dcdfe6;
    color: #111111;
}
.detail-head p {
    display: inline-block;
    float: right;
}
/* 统合详情页 Tab 选项卡与其下方子内容之间的垂直边距，消除由子卡片 margin-top 引起的不对称现象 */
.agent-detail-tab-wrapper .nav-tabs {
    margin-bottom: 16px;
}
.agent-detail-tab-wrapper .table-block {
    margin-top: 0 !important;
}
.sales-panel-head .operate{float:right;margin-top:-2px;}
.sales-panel-head .operate label,.sales-panel-head .operate input{font-weight:100;font-size:12px;height:25px;}
.sales-panel-head .operate .btn{padding:2px 10px;}
.sales-panel-body ul li {line-height:30px;}
.sales-panel-body ul li div {/*overflow:hidden;*/}
.sales-panel-body ul li div span.dataTitle {display:inline-block;width:190px;float:left;font-weight:700;}
.sales-panel-body ul li div p.dataValue {display:inline-block;width:calc(100% - 230px);float:left;min-height:30px}
.prompt-span {display:inline-block;font-size:12px;color:red;font-style:normal;}

/*客户编辑遮盖样式*/
.isEditDiv {height:245px;position:absolute;top:0;left:0;background:#fff;opacity:0.1;z-index:100;cursor:not-allowed;}
/*模糊搜索list样式----start*/
.listCommon {position: absolute;z-index: 1000;width: calc( 100% - 15px );max-height: 150px;overflow-y: scroll;border: 1px solid #aaaaaa;border-radius: 5px;background-color: white;}
.listCommon > span {display: inline-block;padding: 4px 12px;}
.listCommon > ul {height: auto;border: 0;}
.listCommon > ul > li {border-bottom: 1px dashed #E2E5E7;padding: 4px 12px;}
.listCommon > ul > li:hover {background-color: #E6EAED;cursor: pointer;}
.listCommon > ul > li:last-child {border-bottom: 0 dashed #E2E5E7;}
/*模糊搜索list样式----end*/
/*说明样式----start*/
.explain {
    width: 100%;
    font-size: 13px;
    color: rgba(0, 0, 0, 0.65);
    background: #fafafa; /* 精致轻灰底 */
    border: 1px solid #f0f0f0;
    border-left: 4px solid #55a722; /* 主题绿提示条 */
    border-radius: 6px;
    padding: 16px 20px;
    margin: 24px 0;
    box-sizing: border-box;
}
.explain:after {
    display: block;
    clear: both;
    content: ".";
    visibility: hidden;
    height: 0;
}
.explain dd {
    padding-left: 0; /* 移出原本多余的大缩进，保持整洁对齐 */
    line-height: 22px;
    margin-bottom: 6px;
    color: rgba(0, 0, 0, 0.6);
}
.explain dd:last-child {
    margin-bottom: 0;
}
.explain dt {
    font-size: 14px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}
.explain dt .glyphicon {
    margin-right: 8px !important;
    color: #55a722 !important;
    font-size: 14px !important;
    vertical-align: middle !important;
}
/* 强化的红色说明文本美化为雅致的高级警示橙红 */
.explain dd[style*="color:red"],
.explain dd[style*="color: red"] {
    color: #e05e00;
    font-weight: 500;
}
/*说明样式----end*/
/*产品筛选----start*/
.filter-pr{width:100%;font-size:14px;}
.filter-pr li:after,.filter-pr dl:after,.filter-cn:after{display:block;clear:both;content:".";visibility:hidden;height:0;}
.filter-pr li{position:relative;padding:10px 0;line-height:30px;}
.filter-pr li .pr-tlt{width:120px;text-align:right;position:absolute;left:0px;top:10px;overflow:hidden;font-weight:bold;}
.filter-pr li .pr-tlt p{float:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:110px;}
.filter-pr li .pr-tlt em{display:block;float:right;font-style:normal;width:5px;}
.filter-pr dl{padding-left:130px;}
.filter-pr dd{float:left;width:120px;text-align:center;color:#666;cursor:pointer;line-height:30px;}
.filter-pr dd:first-child{width:60px;}
.filter-pr.filter-pr01 dd:first-child{width:120px;}
.filter-pr dd:hover,.filter-pr dd.act{color:#68b92e;font-weight:bold;}
.filter-cn{width:100%;padding-left:30px;}
.filter-cn li{float:left;width:120px;height:60px;margin:30px 30px 0 0;padding:10px;cursor:pointer;border:1px solid #eee;text-align:center;background:#f6f7e7;border-radius:4px;display: -webkit-flex;display: flex;-webkit-align-items:center; align-items:center;-webkit-justify-content:center;justify-content:center;}
.filter-cn li:hover{box-shadow: 0px 0px 5px #bbb;}
/*产品筛选----end*/
/*产品详情----start*/
.tag-pr{overflow:hidden;}
.tag-pr li{float:left;border:1px solid #e77817;padding:0 10px;background:#fdebdb;border-radius:2px;line-height:24px;margin:5px 10px 0 0;color:#e77817;}
.product-suit{width:100%;padding-left:30px;overflow:hidden;}
.product-suit li{float:left;width:220px;margin:30px 30px 0 0;cursor:pointer;border:1px solid #ccc;text-align:center;background:#fff;border-radius:4px;}
.product-suit li:hover{box-shadow: 0px 0px 5px #98a191;border:1px solid #68b92e;}
.product-suit li span{display:block;width:120px;text-align:center;margin:0 auto;cursor:pointer;background:#f0fce7;color:#68b92e;border:1px solid #68b92e;border-bottom:0;line-height:30px;border-radius:4px 4px 0 0;}
.product-suit li:hover span{background:#68b92e;color:#fff;}
.product-suit li span:hover{background:#7ac843;}
.product-suit li h3{width:200px;padding:20px 0 10px 0;margin:0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;}
.product-suit li p{width:220px;padding:0 10px;text-align:center;color:#666;font-size:12px;height:34px;line-height:18px;overflow:hidden;margin-bottom:10px;}
/*产品详情----end*/
/*产品模型----start*/
.model{overflow:hidden;padding:20px;background:#fff;}
.model-tlt{overflow:hidden;width:100%;padding:0 20px;}
.model-tlt h1{float:left;font-size:30px;}
.model label{font-weight:inherit;}
.model ul li h3{line-height:32px;padding:0 10px;font-size:18px;cursor:pointer;margin:15px 0 0 0;border-radius:4px 4px 0 0;}
.model ul li h3 span{font-size:12px;padding-left:10px;color:#f27c1c;vertical-align:bottom;}
.model ul li h3 i{float:left;display:block;margin:5px 5px 0 0;font-size:12px;color:#fff;background:#55a722;padding:3px;}
.model ul li{padding-left:20px;line-height:30px;}
.model ul li p{padding:0 10px;margin-bottom:0px;}
.model ul li p input{margin-right:10px;}
.model > ul{background:#fff;padding:20px 0;}
.model > ul > li{padding:10px;border:2px solid #bdd596;margin-bottom:40px;}
.model > ul > li > h3{background:#fff;margin:-26px 0 0 30px;width:auto;float:left;font-size:20px;color:#55a722;}
.model > ul > li > h3 i{background:none;color:#55a722;}
.model > ul > li >h3 + ul > li:first-child >div:first-child{margin-top:10px;}
.model-filter{overflow:hidden;padding:20px 0 10px 10px;}
.model-filter dt{float:left;font-weight:inherit;color:#999;}
.model-filter dd{float:left;margin-left:10px;padding:0 10px;color:#555;cursor:pointer;line-height:24px;}
.model-filter dd p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0px;}
.model-filter dd:hover{color:#222;}
.model-filter dd.act{background:#55a722;color:#fff;}
.model-btn{width:120px;margin:0 auto;}
.dropdown-menu>li>a{cursor:pointer;}
.bom-checked{font-weight:bold;color:#222;}
.bom-checked label{font-weight:bold;}
.bom-over{width:100%;text-align:center;color:#999;font-size:20px;padding:40px 0;}
/*产品模型----end*/

/*设置客户和合作伙伴详情的联系人模块滚动-----start*/
.scrollY423 {height: 423px;overflow-y: scroll;}
/*设置客户和合作伙伴详情的联系人模块滚动-----end*/

/*日期之间的波浪线--start*/
.bolang {text-align: center;line-height: 34px;font-size: 24px;}
/*日期之间的波浪线--end*/

/*查询结果提示语样式----start*/
.resultTip {text-align: center;font-size: 20px;padding: 50px 0;}
/*查询结果提示语样式----end*/

/*表格-表格内文本框去掉边框-----start*/
.table_textNoBorder {border-bottom:1px solid #ccc;border-left:1px solid #ccc;border-right:1px solid #ccc;}
.table_textNoBorder tr td {height:40px;}
.table_textNoBorder tr td:first-child {border-right:1px solid #ccc;width:160px;}
.table_textNoBorder tr td textarea {height:50px;border:none;}
/*表格-表格内文本框去掉边框-----end*/

/**  公共弹窗样式  开始   **/
.modal-header{background:#eee;color:#555;border-radius:5px 5px 0 0;font-weight:700;}
.pop-item{padding:5px 0;}
.pop-item .td{text-align:right;line-height:30px;}
.pop-item .dd{line-height:30px;}
.pop-item .dd label.ng-binding{margin:0px;padding-left:10px;font-weight:100;}
.pop-item .input-list input{display:inline-block;width:120px;margin-bottom:15px;}
.pop-item .input-list .btn-default{border-radius:4px;}
/**  公共弹窗样式  结束   **/




/*时间插件宽度----start*/
.table-condensed{width:220px;}
/*时间插件宽度----end*/

/*三级选项卡---start*/
.tabs-third{margin:0 20px;}
.tabs-third .tlt{width:100%;}
.tabs-third .tlt button{color:#555;background:#ddd;border-color:#ddd;border-radius:2px 2px 0 0;margin-top:1px;}
.tabs-third .tlt button.act{background:#fff;margin-bottom:-1px;border-bottom: 1px solid #fff;}
tabs-third .tlt button:focus{border-color:#ddd;border-bottom: 1px solid #fff;}
.tabs-third .tabs-third-content{border:1px solid #ddd;overflow:hidden;}
/*三级选项卡---end*/

/*滑动条样式修改-----开始*/
div::-webkit-scrollbar {width:12px;height:12px;}
div::-webkit-scrollbar-track {background: rgb(239, 239, 239);border-radius: 2px;}
div::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:12px;}
div::-webkit-scrollbar-thumb:hover {background:#999;}
div::-webkit-scrollbar-corner {background:#179a16;}
/**滑动条样式修改 end**/

/*sweetalert-----开始*/
.sweet-alert p.lead{font-size:16px !important;text-align: center;}
/**sweetalert end**/
/**左侧icon 开始**/
dl.nav-sidebar dd a em{font-style:normal;}
dl.nav-sidebar dd a i{width:18px;height:18px;display:block;float:left;margin:12px 10px 0 0;background:url(../images/icon-16_16.png) 0 0 no-repeat;}
dl.nav-sidebar dd a i.iconleft-01{background-position:0 0;}
dl.nav-sidebar dd a i.iconleft-02{background-position:0 -20px;}
dl.nav-sidebar dd a i.iconleft-03{background-position:0 -40px;}
dl.nav-sidebar dd a i.iconleft-04{background-position:0 -60px;}
dl.nav-sidebar dd a i.iconleft-05{background-position:0 -80px;}
dl.nav-sidebar dd a i.iconleft-06{background-position:0 -100px;}
dl.nav-sidebar dd a i.iconleft-07{background-position:0 -120px;}
dl.nav-sidebar dd a i.iconleft-08{background-position:0 -140px;}
dl.nav-sidebar dd a i.iconleft-09{background-position:0 -160px;}
dl.nav-sidebar dd a i.iconleft-10{background-position:0 -180px;}
dl.nav-sidebar dd a i.iconleft-11{background-position:0 -200px;}
dl.nav-sidebar dd a i.iconleft-12{background-position:0 -220px;}
dl.nav-sidebar dd a i.iconleft-13{background-position:0 -240px;}
dl.nav-sidebar dd a i.iconleft-14{background-position:0 -260px;}
dl.nav-sidebar dd a i.iconleft-15{background-position:0 -280px;}
dl.nav-sidebar dd a i.iconleft-16{background-position:0 -300px;}
dl.nav-sidebar dd a i.iconleft-17{background-position:0 -320px;}
dl.nav-sidebar dd a i.iconleft-18{background-position:0 -340px;}
dl.nav-sidebar dd a i.iconleft-19{background-position:0 -360px;}
dl.nav-sidebar dd a i.iconleft-20{background-position:0 -380px;}
dl.nav-sidebar dd a i.iconleft-21{background-position:0 -400px;}
/**左侧icon 结束**/

/*产品选购-----开始*/
.trade-nav, .tradeDet-tag { margin-bottom: 15px; background: #fff; margin-top: 0; padding: 12px 20px; }
.trade-nav li{float:left;padding:10px 20px;color:#555;}
.trade-nav li a{color:#666;text-decoration:none;}
.trade-nav li a:hover{color:#222;}
.trade-nav li.active{color:#fff;background:#55a722;}
.trade-nav li.active a{color:#fff;}
.trade-iteam{padding:0 0 20px 0;}
.trade-iteam .tlt{background:#e0f2d6;color:#55a722;padding:0 0 0 15px;line-height:46px;font-weight:bold;}
.trade-iteam .tlt .warn{margin-left: 20px;font-size: 12px;color: #ff9900;}

.trade-iteam-cn li{float:left;background:#f2f2f2;color:#555;width:12.9%;cursor:pointer;margin:20px 0 0 1.2%;padding:15px;}
.trade-iteam-cn li:hover{box-shadow:0 0 6px #999;}
.trade-iteam-cn li b{display:block;font-size:18px;font-weight:bold;}
.trade-iteam-cn li p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:24px;}

.tradeDet-tag li{padding:5px 0;}
.tradeDet-tag li span{display:inline-block;background:#e77817;line-height:20px;color:#fff;padding:0 5px;margin:0 10px 0 0;}
/*.tradeDet-tlt{background:#f2f2f2;color:#55a722;padding:0 0 0 15px;line-height:46px;font-weight:bold;border-left:5px solid #55a722;}
.tradeDet-tlt>b{padding-top:4px;display: inline-block;}
.tradeDet-tlt .tlt-from{float:right;width:320px;margin:5px 15px 0 0;}
.tradeDet-tlt .tlt-from p{float:left;color:#999;font-weight:initial;margin-right:10px;}
.tradeDet-tlt .tlt-from select.form-control{width:230px;margin-top:5px;}
.tradeDet-tlt .tlt-from div.input-group{margin-top:5px;}*/
.tradeDet-tlt>b{padding-top:4px;display: inline-block;}
.panel .sales-panel-head .tlt-from{float:right;width:320px;margin-left:20px;}
.panel .sales-panel-head .tlt-from p{float:left;color:#999;font-weight:initial;margin-right:10px;margin-top:-3px}
.panel .sales-panel-head .tlt-from select.form-control{width:230px;}

.tradeDet-list li{float:left;border:1px solid #e9e9e9;cursor:pointer;background:#fff;padding:20px 2px 15px 8px;margin:0 0 15px 0.8%;width:19.2%;overflow:hidden;position:relative;}
.tradeDet-list li:hover{box-shadow:0 0 6px #999;}
.tradeDet-list li span{background:#55a722;color:#fff;display:block;top:-3px;left:-19px;transform:rotate(-43deg);width:56px;text-align:center;position:absolute;padding-top:8px;font-size:12px;}
.tradeDet-list li h3{font-size:18px;margin:0 0 6px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tradeDet-list li p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:14px;font-size:12px;}
.tradeDet-list li.middle span{background:#d6c538;}
.tradeDet-list li.inactive span{background:#c4c4c4;}
.tradeDet-list li.inactive{color:#bebebe;}
.tradeDet-nav{padding:15px 0 0 20px}
.tradeDet-nav li{line-height:30px;}
.tradeDet-nav li .tlt{float:left;color:#999;margin-right:20px;}
.tradeDet-nav li .cn{float:left;color:#555;}
.tradeDet-nav li .cn span{display:inline-block;padding-right:10px;cursor:pointer;}
.tradeDet-nav li .cn span:hover{color:#222;}
.tradeDet-nav li .cn span.act{color:#55a722;font-weight:bold;}
.subject{font-size:22px;position:relative;}
.box-icon {position: absolute;border-top: 40px solid #55a722; border-right: 40px solid transparent;}
.box-icon.middle{border-top-color:#d6c538;}
.box-icon.inactive{border-top-color:#bebebe;}
.box-icon.stop{border-top-color:#eb3d3d;}
.box-icon .text{ position: absolute;top: -59px;left: 12px;color: #fff;width: 70px;height: 70px;transform: rotate(-45deg);font-size: 14px;font-weight: 300;}
.subject .title {font-weight: 500;margin-left:50px;}
.desc{margin-top:25px;}
.desc-item {margin-top: 25px;font-size: 16px; font-weight: bold;}
.txttype {color: #ff5a4d; font-weight: bold; font-size: 20px;}
.model-status-icon {background-color: #55a722; color:#fff;width:50px;}
.model-status-icon.middle{background-color:#d6c538;}
.model-status-icon.inactive{background-color:#bebebe;}

/**产品选购 end**/
/*首页样式修改-----开始*/
.index-tlt01 {height: 55px;font-size: 16px;line-height: 55px;color: #444;overflow: hidden;border-bottom: 1px solid #f2f2f2;}
.index-tlt01 a{display:block;float:right;margin:20px 20px 0 0;font-size:14px;color:#84c75a;text-decoration:none;}
.index-tlt01 a:hover{color:#448b18;}
.index-tlt01 em{border-left:3px solid #87c74d;padding: 0 10px;margin-left:10px;font-style:normal;}
.chart-iteam {border:1px solid #eee;padding: 0px;width:100%;height:430px;overflow:hidden;border-radius:2px;background:#fff;position:relative;margin-bottom:10px;}
.chart-iteam.no-border{border:none;}
.chart-iteam .iteam-bd{padding:0 20px;}
.chart-iteam .iteam-bd li{border-bottom:1px solid #f2f2f2;padding: 0 15px;height:40px;line-height:40px;}
.chart-iteam .iteam-bd li a{text-overflow: ellipsis; white-space: nowrap; overflow: hidden;float:left;}
.chart-iteam .iteam-bd li span.new{content:url(/App/images/icon-new.png);vertical-align:middle;}
.chart-iteam .iteam-bd li span{display:block;float:right;color: rgba(0,0,0,0.65);font-size: 14px;}
.chart-iteam .data-Over{text-align:center;color:#ccc;font-size:20px;line-height:120px;}
.bd-left{float:left;width:800px;}
.bd-right{float:right;width:calc(100% - 825px);margin-left:25px;}
.bd-left .chart-iteam img{width:100%;height:430px;}
.chart-iteam.left-down, .chart-iteam.right-down{margin-top:25px;}
.chart-iteam.right-down .msg-status{display:inline-block;float:right;width:90px;}
.chart-iteam.right-down .msg-status .status{display:inline-block;width:12px;height:12px;margin-right:5px; -moz-border-radius: 5em;-webkit-border-radius: 5em;border-radius: 5em;border: 4px solid #ccc;background-color:#aaa;}
.chart-iteam.right-down .msg-status .status1{border-color:#d7edb9;background-color:#9ad251;}
.chart-iteam.right-down .msg-status .status2{background:#f74c2f; border-color:#fcb7ac;}
.chart-iteam.right-down .msg-status .status3{background:#53b1f9; border-color:#bae0fd;}
.chart-iteam.right-down .message-more{background:url(/App/images/icon-message.png) no-repeat;width:20px;height:15px;}
.chart-iteam.right-down .message-more span{width:10px;height:10px;background-color:red;display: block;margin: -3px 13px; -moz-border-radius: 5em;-webkit-border-radius: 5em;border-radius: 5em;}
/*首页样式修改-----结束*/
/*浮动客服-----开始*/
.services-kf{position:fixed;right:-238px;bottom:100px;animation:closefirst 1s;z-index:10000 !important;}
.services-kf.open{right:0;animation: openfirst 1s;}
.services-kf .icon{float:left;cursor:pointer;overflow:hidden;position:absolute;left:-55px;width: 56px;height: 56px; background: #2891F0; border-radius: 28px 0px 0px 28px;}
.services-kf .icon .service-icon-bg {width: 46px; height: 46px; background: #FFFFFF; border-radius: 50%; margin: 5px 4px;}
.services-kf .icon img{margin-top: 2px;height:44px;width:44px;}
.services-kf .txt{background:#fff;float:left;line-height:30px;color:rgba(0,0,0,0.85);}
.services-kf .txt b{font-size:16px;padding:0 1px;letter-spacing:2px}
.close-kf{display:block;position:absolute;left:-20px;top:-23px;width: 20px;height: 20px; background: #FFFFFF; border: 1px solid #2891F0; border-radius: 10px;}
.services-kf.open  .close-kf{display:none;}
.services-kf .service-header{width: 238px;height: 56px;background: #2891F0;color:#fff;padding:13px 0 0 38px;line-height: 35px;font-size: 18px;}
.services-kf .service-header .jiantou-icon-div{width: 20px;height: 20px;float: right;margin-top:7px;margin-right:10px;}
.services-kf .service-header .jiantou-icon{position:relative;top: 5px;left: 5px;width: 10px;height: 10px;border-top: 2px solid #fff;border-right: 2px solid #fff;transform:rotate(45deg);}
.services-kf .service-body { padding: 13px 16px;width: 238px; height: 200px; background: #FFFFFF;border: 3px solid #2891F0;border-radius: 0px 0px 0px 9px;border-top: 0;border-right: 0;}
.services-kf .service-body p:first-child{margin-top: 4px;margin-bottom: 12px;line-height: 23px;font-size:16px;font-weight:bold;color:#2891F0;text-align:center;position:relative;}
.services-kf .service-body .firstP::after{content:' ';width: 120px; height: 11px; background: #4fa9ff;border-radius: 2px;display: inline-block;position: absolute;top: 13px;left: 37px;opacity: 0.1;}
.services-kf .service-body p:not(:first-child){margin-bottom: 0;line-height:22px;text-align:center;color:#000; font-family: 'MicrosoftYaHei';font-weight: 400;}
.services-kf .service-body .lxr{font-size:16px;text-align:center;font-weight: 600;position: relative;margin-top: 16px;}
.services-kf .service-body .lxr::after{content:' ';width: 120px; height: 11px; background: #4fa9ff;border-radius: 2px;display: inline-block;position: absolute;top: 17px;left: 42px;opacity: 0.1;}
.services-kf .service-body .lxr-label{color:#2891F0;font-weight:900;}
.services-kf .service-body .lxr-name{color:#FF8843;margin-left: -4px;font-weight:900;}
.services-kf .service-body .lxfs{color:#000;font-size:16px;text-align:center;margin-top:11px;font-family: 'MicrosoftYaHei';font-weight: 400;}
.services-kf .service-body .lxfs img{width:12px;height:12px;margin-top: -1px;}
.services-kf .service-body .lxfs .lxfs-phone{display:inline-block;margin-right:10px;}
.services-kf .service-body .lxfs .lxfs-telephone{display:inline-block;}
@keyframes openfirst {
    from {right:-238px;}
    to {right:0px;}
}@keyframes closefirst
{
    from {right:0px;}
    to {right:-238px;}
}
/*浮动客服-----end*/
/*新窗口打开的单页面-开始*/
.single-page{margin-top:-46px;}
.single-page p{margin:0;}
.single-page .title{background:#fff;height:50px;width:100%;position:fixed;top:0;line-height:50px;-moz-box-shadow:0px 6px 10px #ddd; -webkit-box-shadow:0px 6px 10px #ddd; box-shadow:0px 6px 10px #ddd;}
.single-page .title .logo{height:20px;width:161px;float:left;display:inline;margin:16px 20px 0 25px;background:url(../images/logo-main.png) 0 0 no-repeat;}
.single-page .title  span{font-size:24px;font-weight:500;}
.single-page .search{background:#fff;margin-top:50px;padding:40px 0;}
.single-page .search .search-bd{width:850px;margin:0 auto;}
.single-page .search .search-key {display: inline-block;float: left;font-size: 18px;margin:5px  0;}
.single-page .search .search-input {float: left;width:700px;margin:0 15px;}
.single-page .content{padding:25px;}
.single-page .content .notice{background-color:#fff;padding:20px;}
.single-page .content .notice .notice-item{padding:20px 10px;border-bottom:1px solid #f2f5f0;margin-bottom:20px;}
.single-page .content .notice .notice-title{font-size:18px;line-height:20px;}
.single-page .content .notice .notice-title span{display:block;float:right;font-size:14px;color:#999;margin:0 10px;}
.single-page .content .notice .notice-content{font-size:14px;margin-top:10px;}
.single-page .content .notice .file-item{width:40px;height:40px;margin:10px 20px 0 0;display:inline-block;background:url(/App/images/icon-default.png?v=2.0) no-repeat;}
.single-page .content .notice .file-item.pdf{background:url(/App/images/icon-pdf.png) no-repeat;}
.single-page .content .message{width:239px;padding:20px;display:inline-block;background-color:#fff;margin:10px;}
.single-page .content .message .message-title{height:40px;line-height:40px;border-bottom:1px solid #f2f5f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} 
.single-page .content .message .message-status{height:20px;line-height:20px;font-weight:700;border-left:3px solid #f2f5f0;margin:10px 0;padding-left:10px;}
.single-page .content .message .status1{border-left-color:#9ad251;}
.single-page .content .message .status2{border-left-color:#f74c2f;}
.single-page .content .message .status3{border-left-color:#53b1f9;}
.single-page .content .message .message-time{height:40px;line-height:40px;color:#999;}
.single-page .content .btn-more{width:850px;margin:0 auto;background:#999;border:#f0f0f0;-moz-border-radius: 5em;-webkit-border-radius: 5em;border-radius: 5em;}
.single-page .page .pagination {float: right;}
/*新窗口打开的单页面-结束*/
/*switch指令样式-开始*/
.weui-switch {
    display: inline-block;
    position: relative;
    width: 38px;
    height: 23px;
    border: 1px solid #DFDFDF;
    outline: 0;
    border-radius: 16px;
    box-sizing: border-box;
    background-color: #DFDFDF;
    transition: background-color 0.1s, border 0.1s;
    cursor: pointer;
}
.weui-switch.disabled{
    opacity: 0.6;
    cursor: not-allowed;
}

.weui-switch:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 15px;
    background-color: #FDFDFD;
    transition: transform 0.35s cubic-bezier(0.45, 1, 0.4, 1);
}

.weui-switch:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 56%;
    height: 97%;
    border-radius: 15px;
    background-color: #FFFFFF;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    transition: transform 0.35s cubic-bezier(0.4, 0.4, 0.25, 1.35);
}

.weui-switch-on {
    border-color: #1AAD19;
    background-color: #1AAD19;
}

.weui-switch-on:before {
    border-color: #1AAD19;
    background-color: #1AAD19;
}

.weui-switch-on:after {
    transform: translateX(77%);
}
/*switch指令样式-结束*/
/*日报样式-开始*/
.nav-screen { padding: 30px 0px 15px; position: relative; background: rgb(255, 255, 255); border-radius: 4px; margin-bottom: 16px; }
.nav-screen .item { line-height: 45px; height: 45px; }
.nav-screen .item.btn-pos { padding: 6px 0px 0px; }
.nav-screen .item::after, .nav-screen .item .dd::after { display: block; clear: both; content: " "; height: 0px; }
.nav-screen .item .td { float: left; text-align: right; width: 168px; color: rgba(0, 0, 0, 0.65); }
.nav-screen .item .td span { width: 14px; height: 14px; }
.nav-screen .item .td span > img { width: 14px; height: 14px; }
.nav-screen .item .dd { float: left; overflow: hidden; width: calc(100% - 168px); }
.nav-screen .item .dd > li { float: left; margin-right: 14px; }
.nav-screen .item .dd > li .form-control { height: 24px; width: 120px; padding: 0px 5px; margin-top: 4px; }
.nav-screen .item .dd > li label { font-weight: 400; margin-bottom: 0px; color: rgba(0, 0, 0, 0.85); }
.nav-screen .item .dd > li.inline-block input, .nav-screen .item .dd li.inline-block i { display: inline-block; }
.nav-screen .item .dd > li label input[type="checkbox"], .nav-screen .item .dd li label input[type="radio"] { margin: 0px 5px 0px 0px; vertical-align: middle; margin-top: -3px; }
.nav-screen .col-md-1.btn-c { margin: 20px 0px 0px 30px; }
.nav-screen .col-md-1.btn-c:nth-child(1) { margin: 20px 0px 0px 120px; }
.nav-screen .col-md-1.btn-c .btn { width: 100%; }
.nav-screen .item .controlLine { padding-left: 0px; padding-top: 6px; }
.nav-screen .item .controlLine2 { padding-top: 6px; }

.daily-bd { background-color: rgb(255, 255, 255); border-radius: 4px; }
.daily-bd .item { border-bottom: 1px solid rgb(226, 226, 226); }
.daily-bd .item .tlt { color: rgb(93, 93, 93); overflow: hidden; padding: 16px 0px 0px; }
.daily-bd .item .tlt .reportTit { position: relative; border-left: 5px solid rgb(85, 167, 34); padding-left: 10px; line-height: 19px; }
.daily-bd .item .tlt .reportTit .reportTit-1 { font-size: 20px; color: rgba(0, 0, 0, 0.85); margin-bottom: 0px; }
.daily-bd .item .tlt .reportBtns { position: absolute; top: 0px; right: 16px; color: rgb(85, 167, 34); }
.daily-bd .item .tlt .reportBtns a { float: right; margin-left: 10px; color: rgb(85, 167, 34); }
.daily-bd .item .tlt .reportBtns a > img { margin-top: -3px; margin-left: -2px; }
.daily-bd .item .tlt em { display: inline-block; color: rgba(0, 0, 0, 0.45); font-style: normal; font-size: 14px; margin-top: 2px; }
.daily-bd .item .tlt .btn { width: 60px; padding: 3px 0px; font-size: 12px; float: right; margin-left: 10px; }
.daily-bd .item .table-mn { margin: 16px auto;width:98%; border: 1px solid rgb(232, 232, 232); border-radius: 4px; }
.daily-bd .item .table-mn .table > thead { background-color: rgb(250, 250, 250); }
.daily-bd .item .table-mn .table > thead > tr > th { border-bottom: 1px solid rgb(232, 232, 232); font-weight: 500; color: rgba(0, 0, 0, 0.85); }
.daily-bd .item .table-mn .table > tbody > tr { color: rgba(0, 0, 0, 0.65); }
.daily-bd .item .reviewSumDiv { height: 39px; position: relative; line-height: 38px; background-color: rgb(245, 245, 245); margin: 0px 16px; }
.daily-bd .item .reviewSumDiv-mb10 { margin-bottom: 10px; }
.daily-bd .item .reviewCount { cursor: pointer; height: 39px; background-color: rgb(255, 255, 255); line-height: 36px; }
.daily-bd .item .reviewCount-open { border-radius: 0px 0px 0px 17px; }
.daily-bd .item .reviewCount img { margin-top: -3px; }
.daily-bd .item .reviewCount > a { color: rgb(85, 167, 34); display: inline-block; }
.daily-bd .item .tips { font-size: 12px; padding-bottom: 5px; color: rgb(153, 153, 153); }
.daily-bd .item .tips b { display: inline-block; margin-right: 10px; font-size: 14px; color: rgb(0, 0, 0); }
.daily-bd .item .reply-cn { border: 0px; background: rgb(232, 232, 232); margin: 10px 0px 0px 20px; padding: 5px 15px; line-height: 32px; }
.daily-bd .item .reply-cm { border-bottom: 1px solid rgb(204, 204, 204); padding: 16px 36px 22px; margin: 0px -16px; }
.daily-bd .item .review { padding: 16px 16px 0px; font-size: 14px; overflow: hidden; margin: 0px 16px 16px; background-color: rgb(245, 245, 245); }
.daily-bd .item .review .form-control { width: 60%; height: 30px; padding: 3px 10px; display: inline-block; }
.daily-bd .item .review .btn { margin-left: 16px; margin-right: 16px; width: 80px; height: 32px; font-size: 14px; line-height: 14px; background-color: rgb(245, 245, 245); border: 1px solid rgb(220, 220, 220); color: rgb(221, 221, 221); }
.daily-bd .item .review .deepBtn { background: rgb(85, 167, 34); border-color: rgb(85, 167, 34); color: rgb(255, 255, 255); }
.daily-bd .item .weekly { overflow: hidden; padding: 20px 0px 10px; font-size: 14px; }
.daily-bd .item .weekly:nth-child(2) { padding-top: 0px; }
.daily-bd .item .weekly:nth-last-child(3) { padding-bottom: 40px; }
.daily-bd .item .weekly .td { float: left; width: 120px; text-align: right; color: rgba(0, 0, 0, 0.65); }
.daily-bd .item .weekly .dd { float: left; }
.daily-bd .item .weekly .dd .weekly-content { border: none; background: none; padding: 0px; margin-bottom: 7px; line-height: 21px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; color: rgba(0, 0, 0, 0.85); }
.loading-more { padding: 30px 0px; }
.loading-more .cn{height:auto;width:100%;background:#eee;position:relative;}
.loading-more .cn .tlt{font-size:14px;color:#666;width:260px;text-align:center;left:50%;top:-10px;margin-left:-120px;position:absolute;line-height:30px;}
.loading-more .cn .tlt i{display:block;background:url(../images/loading.gif) 0 0 no-repeat;background-size:20px 20px;height:20px;width:20px;margin:0 auto;}
/* 全局通用“加载更多/收起更多”微胶囊按钮组件 */
.loading-mr,
.bom-loadmore-wrapper {
    margin: 12px 0 16px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-align: center;
    background: transparent;
    height: auto;
    line-height: normal;
    border: none;
    cursor: pointer;
}

.loading-mr .loadmore-inner-btn,
.bom-loadmore-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 7px 24px;
    font-size: 12.5px;
    font-weight: 500;
    color: #475569;
    background: #ffffff;
    border: 1px dashed #cbd5e1;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
    user-select: none;
}

.loading-mr:hover .loadmore-inner-btn,
.loading-mr .loadmore-inner-btn:hover,
.bom-loadmore-btn:hover {
    color: #16a34a;
    background: #f0fdf4;
    border-color: #86efac;
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.12);
}

.loading-mr .loadmore-icon,
.bom-loadmore-btn .bom-loadmore-icon {
    font-size: 11px;
    transition: transform 0.25s ease;
}

.loading-mr:hover .glyphicon-chevron-down,
.loading-mr .loadmore-inner-btn:hover .glyphicon-chevron-down,
.bom-loadmore-btn:hover .glyphicon-chevron-down {
    transform: translateY(2px);
}

.loading-mr:hover .glyphicon-chevron-up,
.loading-mr .loadmore-inner-btn:hover .glyphicon-chevron-up,
.bom-loadmore-btn:hover .glyphicon-chevron-up {
    transform: translateY(-2px);
}
/*日报样式-结束*/
/*特价申请业务机会-开始*/
.special-bus { background-color: #f0f9eb;border-color: #e1f3d8;color: #67c23a;padding: 4px 10px;margin-right: 10px;}
.special-bus > a { color: #67c23a;top: 2px;margin-left: 5px;}
/*特价申请业务机会-结束*/


.el-tag { background-color: #f0f9eb; border-color: #e1f3d8; display: inline-block; height: 32px; padding: 0 10px; line-height: 30px; font-size: 12px; color: #67C23A; border-width: 1px; border-style: solid; border-radius: 2px; box-sizing: border-box; white-space:}

.action-link {margin: 0 5px; }/* 调整间距 */

/* ==========================================
   全局业务表格深度重构：超长省略、强制不换行、极简呼吸感（Retool / Stripe 高级风格）
   ========================================== */
.table-mn .table {
    table-layout: auto; /* 自适应布局，结合 max-width 实现弹性 */
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background-color: #ffffff;
}

/* 极致清雅表头 */
.table-mn .table>thead>tr>th {
    background: #fafafa;             /* 极为清爽淡雅的表头背景 */
    color: rgba(0, 0, 0, 0.55);      /* 适度加深表头字色，与页面整体形成明确扫视焦点 */
    font-size: 12px;                 /* 稍微比数据字小，国际流行高级设计 */
    font-weight: 600;                /* 强字重 */
    letter-spacing: 1px;             /* 拉开字间距，呈现类似专业仪表盘的雅致感 */
    border-bottom: 1px solid rgba(0, 0, 0, 0.06); /* 几乎隐形的淡底边分隔线 */
    border-top: none;
    border-left: none;
    border-right: none;
}

/* 典雅数据单元格 */
.table-mn .table>tbody>tr>td {
    color: rgba(0, 0, 0, 0.8);        /* 加深文字颜色为高对比度炭黑色，极大缓解长时间审视表格时的眼部疲劳 */
    border-bottom: 1px solid rgba(0, 0, 0, 0.04); /* 几近透明的淡底分隔线，消除黑硬感 */
    border-top: none;
    border-left: none;
    border-right: none;
    transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1); /* 平滑过渡所有属性 */
}

/* 禁用 AngularJS 动画对数据表格行的处理，避免数据刷新时因 Transition 延迟销毁而导致数据“先增多再减少”的物理重叠闪烁 */
.table-mn .table>tbody>tr.ng-enter,
.table-mn .table>tbody>tr.ng-leave,
.table-mn .table>tbody>tr.ng-move,
.table-mn .table>tbody>tr.ng-enter>td,
.table-mn .table>tbody>tr.ng-leave>td,
.table-mn .table>tbody>tr.ng-move>td {
    transition: none;
    animation: none;
}

/* 横向扁平呼吸感布局与经典 13px 字号 */
.table-mn .table>thead>tr>th,
.table-mn .table>tbody>tr>td {
    white-space: nowrap;        /* 强制不换行 */
    overflow: hidden;           /* 溢出隐藏 */
    text-overflow: ellipsis;    /* 溢出显示省略号 */
    max-width: 240px;                      /* 设置最大宽度上限，触发省略 */
    padding: 11px 16px;         /* 扁平宽拉伸内边距 */
    vertical-align: middle;      /* 垂直居中对齐 */
    font-size: 13px;            /* 经典 13px 现代比例 */
    height: 42px;               /* 精准行高控制 */
    line-height: normal;
}

/* 边缘对齐美学：表格两端（首列左边与末列右边）与大卡片 24px padding 完美垂直对齐 */
.table-mn .table>thead>tr>th:first-child,
.table-mn .table>tbody>tr>td:first-child {
    padding-left: 24px;
}
.table-mn .table>thead>tr>th:last-child,
.table-mn .table>tbody>tr>td:last-child {
    padding-right: 24px;
}

/* 优雅平滑的整行 Hover 动态响应与字色高亮反馈 */
.table-mn .table>tbody>tr:hover>td {
    background-color: #fafcf9;  /* 极淡的乳灰绿，契合绿盟主色并显得温润 */
    color: #000000;             /* 悬停行数据文字加深为纯黑，交互反馈更加强烈 */
}

/* 表格内超链接高级感样式（移除古板下划线，改用平滑位移过渡） */
.table-mn .table a {
    color: #55a722;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease-in-out;
    display: inline-block;
}
.table-mn .table a:hover {
    color: #387b11;
    transform: translateY(-0.5px); /* 悬浮时微弱向上腾空 0.5px，极富现代物理动效感 */
}

/* ==========================================
   内容页面及弹出框专属表格风格：精细外边框、四角圆角与轻量卡片感
   ========================================== */
.table-mn-content,
.panel-body .table-mn,
.modal-body .table-mn {
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.02);
    margin-bottom: 16px;
    background-color: #ffffff;
}
.table-mn-content .table,
.panel-body .table-mn .table,
.modal-body .table-mn .table {
    margin-bottom: 0;
    border: none;
}
.table-mn-content .table>thead>tr>th,
.panel-body .table-mn .table>thead>tr>th,
.modal-body .table-mn .table>thead>tr>th {
    background-color: #fafafa;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
    border-top: none;
    border-left: none;
    border-right: none;
}
.table-mn-content .table>tbody>tr>td,
.panel-body .table-mn .table>tbody>tr>td,
.modal-body .table-mn .table>tbody>tr>td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    border-top: none;
    border-left: none;
    border-right: none;
}
.table-mn-content .table>tbody>tr:last-child>td,
.panel-body .table-mn .table>tbody>tr:last-child>td,
.modal-body .table-mn .table>tbody>tr:last-child>td {
    border-bottom: none; /* 移除最后一行多余的底线，避免和外边框重叠 */
}
.table-mn-content .table-striped>tbody>tr:nth-of-type(odd),
.panel-body .table-mn .table-striped>tbody>tr:nth-of-type(odd),
.modal-body .table-mn .table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #ffffff; /* 消除弹出框和内容表格中可能混用的斑马纹背景 */
}

/* ==========================================
   特定业务逻辑行级颜色标记高级化与豁免规则
   ========================================== */
/* 待处理订单中的“已确认”标蓝行 -> 升级为 Ant Design 风格高雅天蓝色，并保留业务标记 */
.table-mn .table>tbody>tr[style*="blue"]>td,
.table-mn .table>tbody>tr[style*="rgb(0, 0, 255)"]>td {
    color: #1890ff;
    font-weight: 500;
    background-color: rgba(24, 144, 255, 0.02); /* 降低背景对比度，提升融合高雅感 */
}
/* 标蓝行在鼠标 Hover 悬停时的品牌互动反馈 */
.table-mn .table>tbody>tr[style*="blue"]:hover>td,
.table-mn .table>tbody>tr[style*="rgb(0, 0, 255)"]:hover>td {
    background-color: rgba(24, 144, 255, 0.05); /* 悬浮时淡蓝底色稍微加深，更具交互质感 */
    color: #096dd9;
}
/* 标蓝行内的超链接同步颜色高级化 */
.table-mn .table>tbody>tr[style*="blue"] a,
.table-mn .table>tbody>tr[style*="rgb(0, 0, 255)"] a {
    color: #1890ff;
}
.table-mn .table>tbody>tr[style*="blue"] a:hover,
.table-mn .table>tbody>tr[style*="rgb(0, 0, 255)"] a:hover {
    color: #096dd9;
}

/* 我的订单中的合同异常“标红”行 -> 升级为现代高雅珊瑚红，并保留警告业务标记 */
.table-mn .table>tbody>tr[style*="red"]>td,
.table-mn .table>tbody>tr[style*="rgb(255, 0, 0)"]>td {
    color: #ff4d4f;
    font-weight: 500;
    background-color: rgba(255, 77, 79, 0.01);  /* 降低背景对比度，更显精致 */
}
/* 标红行在鼠标 Hover 悬停时的品牌互动反馈 */
.table-mn .table>tbody>tr[style*="red"]:hover>td,
.table-mn .table>tbody>tr[style*="rgb(255, 0, 0)"]:hover>td {
    background-color: rgba(255, 77, 79, 0.04);  /* 悬浮时粉红底色稍微加深 */
    color: #cf1322;
}
/* 标红行内的超链接同步颜色高级化 */
.table-mn .table>tbody>tr[style*="red"] a,
.table-mn .table>tbody>tr[style*="rgb(255, 0, 0)"] a {
    color: #ff4d4f;
}
.table-mn .table>tbody>tr[style*="red"] a:hover,
.table-mn .table>tbody>tr[style*="rgb(255, 0, 0)"] a:hover {
    color: #cf1322;
}

/* 签约人员信息中的“绿色”标识行 -> 统一为精致的品牌化高档浅绿，并保留逻辑 */
.table-mn .table>tbody>tr[style*="#68b92e"]>td,
.table-mn .table>tbody>tr[style*="rgb(104, 185, 46)"]>td,
.table-mn .table>tbody>tr[style*="green"]>td {
    color: #52c41a;
}

/* 允许具有 width 属性或特定宽度的单元格不受 max-width 干扰 */
.table-mn .table th[width],
.table-mn .table td[width] {
    max-width: none;
}

/* 操作列（通常放置图标或按钮）一般较窄且无需限制最大宽度 */
.table-mn .table td:last-child {
    max-width: none;
}


/* ==========================================
   全局及容器滚动条美化（高级感 8px 现代扁平设计 - 兼顾高可控易用性）
   ========================================== */
/* 明确对左侧菜单栏、全局主体、模态框以及任何滚动区域应用 8px 扁平滚动条，平衡视觉极简与鼠标点击抓取的可用性 */
.sidebar::-webkit-scrollbar,
.set-main::-webkit-scrollbar,
body::-webkit-scrollbar,
html::-webkit-scrollbar,
.modal-body::-webkit-scrollbar,
.table-mn::-webkit-scrollbar,
.table-mn-content::-webkit-scrollbar,
::-webkit-scrollbar {
    width: 8px;  /* 纵向滚动条宽度设为 8px，鼠标极易抓取 */
    height: 8px; /* 横向滚动条高度设为 8px */
}

/* 滚动条轨道 */
.sidebar::-webkit-scrollbar-track,
.set-main::-webkit-scrollbar-track,
body::-webkit-scrollbar-track,
html::-webkit-scrollbar-track,
.modal-body::-webkit-scrollbar-track,
.table-mn::-webkit-scrollbar-track,
.table-mn-content::-webkit-scrollbar-track,
::-webkit-scrollbar-track {
    background: transparent; /* 轨道完全透明，保持清爽 */
    border-radius: 4px;
}

/* 滚动条滑块 */
.sidebar::-webkit-scrollbar-thumb,
.set-main::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-thumb,
.modal-body::-webkit-scrollbar-thumb,
.table-mn::-webkit-scrollbar-thumb,
.table-mn-content::-webkit-scrollbar-thumb,
::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.16) !important; /* 柔和的半透明浅灰滑块，稍微加深便于识别 */
    border-radius: 4px;
    border: none !important;                     /* 取消裁剪，滑块完全占满 8px，热区面积翻倍 */
    background-clip: border-box !important;
    transition: background-color 0.2s ease;
}

/* 滑块悬浮状态 */
.sidebar::-webkit-scrollbar-thumb:hover,
.set-main::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover,
html::-webkit-scrollbar-thumb:hover,
.modal-body::-webkit-scrollbar-thumb:hover,
.table-mn::-webkit-scrollbar-thumb:hover,
.table-mn-content::-webkit-scrollbar-thumb:hover,
::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.3) !important;  /* 悬停时明显加深，提供极佳的抓取回馈 */
    border: none !important;
    background-clip: border-box !important;
}

/* ==========================================
   全局表单元素高级化重构（现代扁平 32px 高度与 6px 圆角）
   ========================================== */

/* 1. 统一输入框、下拉框、文本域基础样式 */
.form-control,
input[type="text"].form-control,
input[type="password"].form-control,
input[type="email"].form-control,
input[type="number"].form-control,
select.form-control,
textarea.form-control,
.ui-select-bootstrap .ui-select-toggle,
.ui-select-bootstrap .ui-select-search {
    height: 32px !important;
    padding: 5px 12px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: rgba(0, 0, 0, 0.85) !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    border-radius: 6px;
    box-shadow: none;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

/* 文本域 (textarea) 豁免高度限制，但保留圆角和过渡效果 */
textarea.form-control {
    height: auto !important;
    /*min-height: 80px !important;*/
}

/* 2. 状态微动效（Hover & Focus-Halo 绿盟绿光晕） */
.form-control:hover,
input[type="text"].form-control:hover,
input[type="password"].form-control:hover,
input[type="email"].form-control:hover,
input[type="number"].form-control:hover,
select.form-control:hover,
textarea.form-control:hover,
.ui-select-bootstrap .ui-select-toggle:hover,
.ui-select-bootstrap .ui-select-search:hover {
    border-color: #55a722 !important;
}

.form-control:focus,
input[type="text"].form-control:focus,
input[type="password"].form-control:focus,
input[type="email"].form-control:focus,
input[type="number"].form-control:focus,
select.form-control:focus,
textarea.form-control:focus,
.ui-select-bootstrap .ui-select-toggle:focus,
.ui-select-bootstrap .ui-select-search:focus,
.ui-select-bootstrap.open > .ui-select-toggle {
    border-color: #55a722 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 2px rgba(85, 167, 34, 0.15);
    background-color: #ffffff !important;
}

/* 3. 只读与禁用状态高级化（淡灰色底，禁止悬停变绿） */
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    background-color: #f5f5f5 !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: rgba(0, 0, 0, 0.25) !important;
    cursor: not-allowed;
    box-shadow: none;
}

.form-control[disabled]:hover,
.form-control[readonly]:hover,
.form-control[disabled]:focus,
.form-control[readonly]:focus {
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: none;
}

/* 4. 原生 select 控件的高级美化（替换生硬的系统小剪头） */
select.form-control {
    padding-right: 28px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='12' height='12' fill='none' stroke='rgba%280%2C0%2C0%2C0.45%29' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}
/* IE/Edge 消除默认箭头 */
select.form-control::-ms-expand {
    display: none !important;
}

/* 5. 针对 ui-select 下拉框组件的微调适配 */
.ui-select-bootstrap .ui-select-toggle {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    text-align: left !important;
}
.ui-select-bootstrap .ui-select-toggle > .ui-select-match-text {
    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-right: 12px !important;
}
.ui-select-bootstrap .ui-select-toggle > .caret {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    margin-top: -2px !important;
    border-top: 4px dashed rgba(0, 0, 0, 0.45) !important;
    border-right: 4px solid transparent !important;
    border-left: 4px solid transparent !important;
}
.ui-select-multiple.ui-select-bootstrap {
    height: auto !important;
    min-height: 32px !important;
    padding: 3px 6px !important;
    border-radius: 6px;
    border: 1px solid #d9d9d9 !important;
    background: #ffffff !important;
    display: block !important;
    max-width: 100%;
}
.ui-select-multiple.ui-select-bootstrap > div:first-child,
.ui-select-multiple.ui-select-bootstrap .ui-select-match {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 6px;
    min-width: 0;
    max-width: 100%;
}
.ui-select-multiple.ui-select-bootstrap > div:first-child {
    width: 100%;
}
.ui-select-multiple.ui-select-bootstrap.open {
    border-color: #55a722 !important;
    box-shadow: 0 0 0 3px rgba(85, 167, 34, 0.08);
}
/* 多选已选项标签 - 莫兰迪冷灰圆角卡片 */
.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
    margin: 2px 0 !important;
    padding: 0 8px !important;
    height: 26px !important;
    background-color: #f0f2f5 !important;
    border: 1px solid #e4e7ed !important;
    border-radius: 6px;
    color: rgba(0, 0, 0, 0.65) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    box-shadow: none;
    text-shadow: none !important;
    max-width: 100%;
    min-width: 0;
}

/* 强行利用 flex-order 将左侧叉号调换至右侧，实现现代化的“标签名 ×”布局 */
.ui-select-multiple.ui-select-bootstrap .ui-select-match-item > span:not(.close) {
    order: 1 !important;
    line-height: 24px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ui-select-multiple.ui-select-bootstrap .ui-select-match-item .close {
    order: 2 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    color: rgba(0, 0, 0, 0.35) !important;
    margin-left: 6px !important;
    margin-right: 0 !important;
    float: none !important;
    opacity: 1 !important;
    transition: color 0.15s ease;
    outline: none !important;
    cursor: pointer;
    margin-top: 0 !important;
}

.ui-select-multiple.ui-select-bootstrap input.ui-select-search {
    height: 26px !important;
    border: none !important;
    box-shadow: none;
    margin: 2px 0 !important;
    padding: 0 4px !important;
    font-size: 13px !important;
    background: transparent !important;
    flex: 1 1 80px;
    min-width: 40px;
    max-width: 100%;
}

/* 6. 表单 Label 标签与输入控件的像素级垂直同轴对齐 */
.form-horizontal .control-label {
    height: 32px !important;
    line-height: 32px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
    color: rgba(0, 0, 0, 0.65) !important;
}
label {
    font-weight: 500 !important;
    color: rgba(0, 0, 0, 0.65) !important;
    font-size: 13px !important;
}

/* 7. 主/次按钮的高档化设计与交互微动效 */
.btn {
    height: 32px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 6px;
    line-height: 30px !important; /* 扣除 2px border */
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);
    outline: none !important;
}

/* 主按钮高级重写 */
.btn-primary {
    color: #ffffff !important;
    background-color: #55a722 !important;
    border: 1px solid #55a722 !important;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12) !important;
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: #64b730 !important; /* hover 稍微提亮，显得更具生气 */
    border-color: #64b730 !important;
    color: #ffffff !important;
    transform: translateY(-0.5px) !important;
    box-shadow: 0 4px 10px rgba(85, 167, 34, 0.2);
}
.btn-primary:active {
    background-color: #49931d !important;
    border-color: #49931d !important;
    transform: translateY(0.5px) !important;
    box-shadow: none;
}

/* 次按钮高级重写 */
.btn-default {
    color: rgba(0, 0, 0, 0.65) !important;
    background-color: #ffffff !important;
    border: 1px solid #d9d9d9 !important;
}
.btn-default:hover,
.btn-default:focus {
    color: #55a722 !important;
    background-color: rgba(85, 167, 34, 0.02) !important; /* 清雅的淡绿底色 */
    border-color: #55a722 !important;
    transform: translateY(-0.5px) !important;
    box-shadow: 0 4px 10px rgba(85, 167, 34, 0.08);
}
.btn-default:active {
    background-color: rgba(85, 167, 34, 0.05) !important;
    border-color: #49931d !important;
    color: #49931d !important;
    transform: translateY(0.5px) !important;
    box-shadow: none;
}

/* 带图标的按钮对齐微调 */
.btn > .glyphicon,
.btn > .fa,
.btn > span {
    margin-right: 6px !important;
    line-height: 1 !important;
}
.btn > .glyphicon:only-child,
.btn > .fa:only-child {
    margin-right: 0 !important;
}

/* 8. “展开/收起更多”按钮的高级化重构 */
.more-v {
    clear: both;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    margin-top: 16px;
    position: relative;
}
.more-v.more-v-expanded {
    border-top: none;
    margin-top: 36px;
}
.more-v span {
    cursor: pointer;
    width: 120px;
    line-height: 28px;
    margin: 0 auto;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-top: none;
    margin-top: -1px;
    background: #ffffff;
    color: rgba(0, 0, 0, 0.45);
    font-size: 12px;
    text-align: center;
    display: block;
    text-decoration: none;
    border-radius: 0 0 6px 6px;
    transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}
.more-v span:hover {
    background: #ffffff;
    color: #55a722;
    border-color: rgba(85, 167, 34, 0.3);
    box-shadow: 0 4px 8px rgba(85, 167, 34, 0.05);
}
.more-v span i {
    margin-left: 4px;
    font-size: 10px;
    transition: transform 0.2s ease;
}

/* 9. 时间范围组件波浪号垂直居中微调 */
.bolang {
    text-align: center;
    line-height: 32px;
    height: 32px;
    font-size: 14px;
    color: rgba(0, 0, 0, 0.45);
    padding: 0;
}

/* 10. 全局分页组件（Pagination）高级卡片化与 Flex 布局升级 */
.page {
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background-color: transparent;
    margin-top: 12px;
    clear: both;
}

/* 当分页组件被移入白色卡片 .table-block 内部时，消除左右及底部的多余内边距以保证对齐 */
.table-block .page {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
}

/* 废除传统的 float 右浮动 */
.set-main .page .pagination,
.single-page .page .pagination {
    float: none !important;
    margin: 0 !important;
    display: inline-flex !important;
}

/* 拆解合并边框的页码，重构为独立的圆角卡片 */
.pagination > li {
    display: inline-block !important;
    margin: 0 3px !important;
}

.pagination > li > a,
.pagination > li > span {
    float: none !important;
    position: relative !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 6px !important;
    font-size: 13px !important;
    color: rgba(0, 0, 0, 0.65) !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    border-radius: 6px;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    text-decoration: none;
}

/* 页码悬停反馈 */
.pagination > li > a:hover,
.pagination > li > span:hover {
    color: #55a722 !important;
    border-color: #55a722 !important;
    background-color: rgba(85, 167, 34, 0.02) !important;
}

/* 激活的当前页码高亮与发光阴影 */
.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
    z-index: 2 !important;
    color: #ffffff !important;
    background-color: #55a722 !important;
    border-color: #55a722 !important;
    box-shadow: 0 2px 8px rgba(85, 167, 34, 0.2);
}

/* 禁用状态（例如第一页的“上一页”，尾页的“下一页”） */
.pagination > .disabled > a,
.pagination > .disabled > a:focus,
.pagination > .disabled > a:hover,
.pagination > .disabled > span,
.pagination > .disabled > span:focus,
.pagination > .disabled > span:hover {
    color: rgba(0, 0, 0, 0.25) !important;
    background-color: #f5f5f5 !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    cursor: not-allowed;
}

/* 页码省略号无边框扁平化 */
.pagination > li.disabled:not([id*="Prev"]):not([id*="Next"]) > span,
.pagination > li.disabled:not([id*="prev"]):not([id*="next"]) > span {
    border-color: transparent !important;
    background-color: transparent !important;
}

/* 11. 页码总数展示与每页行数下拉框高级重塑 */
.totalCountOfPaginator {
    margin-left: 0;
    margin-right: 16px;
    order: -1; /* 利用 order 将总数移到分页左侧，形成左右高档分布 */
    display: inline-flex;
    align-items: center;
    color: rgba(0, 0, 0, 0.45);
    font-size: 13px;
    line-height: 32px;
    height: 32px;
    float: none;
}

/* 每页显示数量下拉框高级美化 */
.totalCountOfPaginator .pageSize {
    display: inline-flex;
    align-items: center;
    margin-right: 8px;
}

.totalCountOfPaginator .pageSize select {
    height: 32px !important;
    padding: 0 24px 0 10px !important;
    font-size: 13px !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    border-radius: 6px;
    background-color: #ffffff !important;
    color: rgba(0, 0, 0, 0.65) !important;
    margin: 0 6px !important;
    outline: none !important;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    /* 替换为定制的 SVG 箭头 */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='12' height='12' fill='none' stroke='rgba%280%2C0%2C0%2C0.45%29' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

/* 状态交互 */
.totalCountOfPaginator .pageSize select:hover {
    border-color: #55a722 !important;
}

.totalCountOfPaginator .pageSize select:focus {
    border-color: #55a722 !important;
    box-shadow: 0 0 0 2px rgba(85, 167, 34, 0.15);
}

/* ==========================================
   more-params-front 查询条件折叠指令高级布局美化
   ========================================== */

/* 1. 全局及内部 clear 行升级为现代 Flexbox 对齐，避免 float 塌陷与高低参差 */
more-params-front, 
.search-params more-params-front {
    display: block;
    width: 100%;
}

more-params-front .clear {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center; /* 保持子项垂直中线完美对齐 */
}

/* 2. 移除 float 属性，移交 flex 布局管理 */
more-params-front .clear > .form-group {
    float: none !important;
    margin-bottom: 0 !important; /* 默认未展开时，常驻两个输入框无底部 margin */
}

/* 3. 当展开状态下，为常驻的第一排参数引入 16px 底部间距，并强制其平分 50% 宽度以防换行被挤 */
more-params-front .clear > .form-group.col-sm-6 {
    margin-bottom: 16px !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
}

/* 更多参数展开网格容器 */
more-params-front div[ng-transclude="more"] {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center;
}

more-params-front div[ng-transclude="more"] .form-group {
    float: none !important;
    margin-bottom: 16px !important;
}

/* 4. 按钮列在未展开与展开状态下的高级对齐 */

/* 未展开时：按钮占据 col-sm-2，靠右对齐并与输入框垂直居中 */
more-params-front div[ng-transclude="button"].col-sm-2 {
    float: none !important;
    padding-left: 0 !important;
    padding-right: 15px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    height: 32px !important; /* 对齐 32px input 高度 */
    margin-bottom: 0 !important;
}

/* 展开时：按钮占据 col-sm-12，居中展示，并在上方添加清丽的虚线分割线和顶部外边距 */
more-params-front div[ng-transclude="button"].col-sm-12 {
    float: none !important;
    width: 100% !important;
    margin-top: 12px !important;
    padding-top: 20px !important;
    border-top: 1px dashed rgba(0, 0, 0, 0.06) !important; /* 虚线分割，雅致清爽 */
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 12px !important; /* 主次按钮间距 */
}

/* 查询与清空按钮组合包裹器微调 */
more-params-front search-button {
    display: inline-flex !important;
    gap: 10px !important;
}

/* 5. 解决 Angular 自定义指令/插槽标签作为 flex 子项时的宽度坍缩与 Bootstrap 伪元素干扰问题 */
.clear > [ng-transclude="first"] > *,
.clear > [ng-transclude="second"] > *,
[ng-transclude="more"] > .form-group > * {
    display: block !important;
    width: 100% !important;
}

.clear::before,
.clear::after,
div[ng-transclude="more"]::before,
div[ng-transclude="more"]::after {
    display: none !important;
}


/* ==========================================
   全局及局部微交互与高端动效重塑
   ========================================== */

/* 1. 展开参数面板的高端淡入与轻质重力下落位移动效 */
@keyframes slideDownFadeIn {
    0% {
        opacity: 0;
        transform: translateY(-8px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

div[ng-transclude="more"]:not(.ng-hide) {
    animation: slideDownFadeIn 0.35s cubic-bezier(0.23, 1, 0.32, 1) both;
}

/* 2. 展开/收起更多按钮箭头的平滑旋转过渡 */
.more-v span i {
    display: inline-block; /* 维持 inline-block，才能支持 transition 旋转 */
    transition: transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    vertical-align: middle;
    margin-top: -2px;
}

/* 处于折叠状态 */
.more-v span i {
    transform: rotate(0deg);
}

/* 处于展开状态 */
.more-v.more-v-expanded span i {
    transform: rotate(180deg);
}

/* 3. 输入框 Focus-Halo 发光光晕弱呼吸灯动效 (内敛微弱，赋予系统高级生命力) */
@keyframes focusGlowPulse {
    0% {
        box-shadow: 0 0 0 2px rgba(85, 167, 34, 0.15);
    }
    50% {
        box-shadow: 0 0 0 4px rgba(85, 167, 34, 0.25);
    }
    100% {
        box-shadow: 0 0 0 2px rgba(85, 167, 34, 0.15);
    }
}

.form-control:focus,
input[type="text"].form-control:focus,
input[type="password"].form-control:focus,
input[type="email"].form-control:focus,
input[type="number"].form-control:focus,
select.form-control:focus,
textarea.form-control:focus,
.ui-select-bootstrap .ui-select-toggle:focus,
.ui-select-bootstrap .ui-select-search:focus,
.ui-select-bootstrap.open > .ui-select-toggle {
    animation: focusGlowPulse 3s infinite ease-in-out;
}

/* 4. 按钮内部图标悬停微距变化反馈 */
.btn > .glyphicon,
.btn > .fa,
.btn > span {
    transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.btn:hover > .glyphicon,
.btn:hover > .fa {
    transform: scale(1.15) !important; /* 微弱放大，增强点击意图 */
}

/* 5. 结果列表中合同警告（标红、标蓝）行的极慢速平滑呼吸背景色 */
@keyframes rowBluePulse {
    0% { background-color: rgba(24, 144, 255, 0.02) !important; }
    50% { background-color: rgba(24, 144, 255, 0.05) !important; }
    100% { background-color: rgba(24, 144, 255, 0.02) !important; }
}

@keyframes rowRedPulse {
    0% { background-color: rgba(255, 77, 79, 0.01) !important; }
    50% { background-color: rgba(255, 77, 79, 0.04) !important; }
    100% { background-color: rgba(255, 77, 79, 0.01) !important; }
}

/* 标蓝行慢速渐变呼吸 */
.table-mn .table>tbody>tr[style*="blue"]>td,
.table-mn .table>tbody>tr[style*="rgb(0, 0, 255)"]>td {
    animation: rowBluePulse 6s infinite ease-in-out;
}

/* 标红行慢速渐变呼吸 */
.table-mn .table>tbody>tr[style*="red"]>td,
.table-mn .table>tbody>tr[style*="rgb(255, 0, 0)"]>td {
    animation: rowRedPulse 6s infinite ease-in-out;
}

/* 特殊行在 Hover 时打断呼吸，直接加深显示 */
.table-mn .table>tbody>tr[style*="blue"]:hover>td,
.table-mn .table>tbody>tr[style*="rgb(0, 0, 255)"]:hover>td {
    animation: none;
    background-color: rgba(24, 144, 255, 0.06);
}

.table-mn .table>tbody>tr[style*="red"]:hover>td,
.table-mn .table>tbody>tr[style*="rgb(255, 0, 0)"]:hover>td {
    animation: none;
    background-color: rgba(255, 77, 79, 0.05);
}

/* 强制隐藏做辅助切换 Tab 用的 hack 按钮，避免其在页面左上角意外显现 */
.clidkdk {
    display: none;
}

/* ==========================================
   SweetAlert 提示弹窗现代高档重构样式 (Figma / Radix 风格)
   ========================================== */

/* 全局背景磨砂毛玻璃遮罩 */
.sweet-overlay {
    backdrop-filter: blur(8px) saturate(140%);
    -webkit-backdrop-filter: blur(8px) saturate(140%);
    background-color: rgba(0, 0, 0, 0.25);
}

/* 提示框现代轻量卡片容器 */
.sweet-alert {
    position: fixed;
    left: 50%;
    top: 50%;
    margin-left: 0;
    margin-top: 0;
    transform: translate(-50%, -50%);
    width: 370px;
    padding: 24px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 20px 48px -10px rgba(0, 0, 0, 0.16);
    overflow: visible;
}

/* 苹果/Win11 式柔和位移滑入动画 */
@keyframes modernShowSwal {
    0% {
        opacity: 0;
        transform: translate(-50%, -46%) scale(0.96);
    }
    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}
@keyframes modernHideSwal {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -53%) scale(0.95);
    }
}
.showSweetAlert {
    animation: modernShowSwal 0.32s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.hideSweetAlert {
    animation: modernHideSwal 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* 提示标题 */
.sweet-alert h2 {
    font-size: 16.5px;
    font-weight: 600;
    color: #1a1a1a;
    margin: 12px 0 6px 0;
    line-height: 1.4;
}

/* 提示正文描述 */
.sweet-alert p.lead,
.sweet-alert p {
    font-size: 13.5px;
    font-weight: 400;
    color: #262626;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 20px;
}

/* --- 精巧的圆形微光徽章状态图标 --- */
.sweet-alert .sa-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    margin: 8px auto 12px auto;
    box-sizing: border-box;
    transform: none;
}

/* 1. 成功 (Success) */
.sweet-alert .sa-icon.sa-success {
    border: 1.5px solid #52c41a;
    background-color: rgba(82, 196, 26, 0.08);
}
.sweet-alert .sa-icon.sa-success::before,
.sweet-alert .sa-icon.sa-success::after,
.sweet-alert .sa-icon.sa-success .sa-fix,
.sweet-alert .sa-icon.sa-success .sa-placeholder {
    display: none;
}
.sweet-alert .sa-icon.sa-success .sa-line {
    height: 2px;
    background-color: #52c41a;
    border-radius: 1px;
    position: absolute;
    z-index: 2;
}
.sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
    width: 10px;
    left: 10px;
    top: 22px;
    transform: rotate(45deg);
}
.sweet-alert .sa-icon.sa-success .sa-line.sa-long {
    width: 18px;
    right: 9px;
    top: 18px;
    transform: rotate(-45deg);
}

/* 2. 错误 (Error) */
.sweet-alert .sa-icon.sa-error {
    border: 1.5px solid #ff4d4f;
    background-color: rgba(255, 77, 79, 0.08);
}
.sweet-alert .sa-icon.sa-error .sa-x-mark {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}
.sweet-alert .sa-icon.sa-error .sa-line {
    position: absolute;
    height: 2px;
    width: 16px;
    background-color: #ff4d4f;
    top: 19px;
    border-radius: 1px;
}
.sweet-alert .sa-icon.sa-error .sa-line.sa-left {
    transform: rotate(45deg);
    left: 12px;
}
.sweet-alert .sa-icon.sa-error .sa-line.sa-right {
    transform: rotate(-45deg);
    right: 12px;
}

/* 3. 警告 (Warning) */
.sweet-alert .sa-icon.sa-warning {
    border: 1.5px solid #faad14;
    background-color: rgba(250, 173, 20, 0.08);
}
.sweet-alert .sa-icon.sa-warning .sa-body {
    width: 2.5px;
    height: 12px;
    background-color: #faad14;
    left: 50%;
    top: 10px;
    margin-left: -1.25px;
    border-radius: 1px;
    position: absolute;
}
.sweet-alert .sa-icon.sa-warning .sa-dot {
    width: 2.5px;
    height: 2.5px;
    background-color: #faad14;
    left: 50%;
    bottom: 10px;
    margin-left: -1.25px;
    border-radius: 50%;
    position: absolute;
}

/* 4. 信息 (Info) */
.sweet-alert .sa-icon.sa-info {
    border: 1.5px solid #1890ff;
    background-color: rgba(24, 144, 255, 0.08);
}
.sweet-alert .sa-icon.sa-info::before {
    content: "";
    position: absolute;
    width: 2.5px;
    height: 10px;
    left: 50%;
    bottom: 11px;
    border-radius: 1px;
    margin-left: -1.25px;
    background-color: #1890ff;
}
.sweet-alert .sa-icon.sa-info::after {
    content: "";
    position: absolute;
    width: 2.5px;
    height: 2.5px;
    border-radius: 50%;
    margin-left: -1.25px;
    left: 50%;
    top: 11px;
    background-color: #1890ff;
}

/* 按钮容器弹性化与精致紧致排列 */
.sweet-alert .sa-button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}
.sweet-alert .sa-confirm-button-container {
    display: inline-block;
    margin: 0;
}

/* 按钮基础高品质重塑 */
.sweet-alert button {
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    padding: 0 20px;
    height: 35px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    outline: none;
    margin: 0;
    border: none;
}

/* 确认按钮高品质渐变与微弱发光阴影 */
.sweet-alert button.confirm {
    background: linear-gradient(180deg, #5fc325 0%, #4ea91b 100%);
    border: 1px solid #459318;
    color: #ffffff;
}
.sweet-alert button.confirm:hover {
    background: linear-gradient(180deg, #6fd335 0%, #59b925 100%);
    box-shadow: 0 4px 12px rgba(85, 167, 34, 0.25);
}

/* 取消按钮纯白质感与极简微黑边框 */
.sweet-alert button.cancel {
    background-color: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    color: #595959;
}
.sweet-alert button.cancel:hover {
    background-color: #f6f6f6;
    color: #262626;
    border-color: rgba(0, 0, 0, 0.18);
}

/* ==========================================
   Bootstrap Modal 弹出对话框现代高级重构样式
   ========================================== */

/* 全局模态框背景磨砂毛玻璃遮罩 */
.modal-backdrop {
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    background-color: rgba(15, 23, 42, 0.45) !important; /* 高级深蓝灰色背景，不透明度 45% */
    transition: all 0.3s ease;
}
.modal-backdrop.in {
    opacity: 1 !important;
}

/* 弹出框面板高档卡片化重塑 */
.modal-content {
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.18);
    background: #ffffff !important;
    overflow: hidden !important;
}
/* 针对局部视图模板自包裹 .modal-content 时，清除嵌套以兼容外壳统一样式 */
.modal-content .modal-content {
    box-shadow: none;
    border: none !important;
    padding: 0 !important;
    border-radius: 0;
    background: transparent !important;
}

/* 弹出框头部极致精美纯白去底色 */
.modal-header {
    position: relative !important;
    background-color: #ffffff !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    padding: 18px 24px !important;
    border-radius: 16px 16px 0 0;
    display: block !important;
}

/* 模态框标题 */
.modal-header .modal-title {
    font-size: 16.5px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    line-height: 1.4 !important;
    display: inline-block !important;
    margin: 0 !important;
}

/* 极简精致关闭按钮 (采用绝对定位以兼容靠左/居中标题且完美居右) */
.modal-header .close {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    color: #8c8c8c !important;
    font-size: 22px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    opacity: 0.6 !important;
    text-shadow: none !important;
    transition: all 0.2s ease, transform 0.2s ease;
    outline: none !important;
}
.modal-header .close:hover {
    color: #ff4d4f !important;
    opacity: 1 !important;
    transform: translateY(-50%) scale(1.15) !important;
}

/* 弹出框主体内容区 */
.modal-body {
    padding: 24px !important;
    background-color: #ffffff !important; /* 增加白色底色作为双重安全垫，防止在部分非标准HTML模态框中发生断层和背景透明碎片化的缺陷 */
}

/* 弹出框底部按钮区 */
.modal-footer {
    background-color: #ffffff !important;
    border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
    padding: 16px 24px !important;
    border-radius: 0 0 16px 16px;
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    gap: 10px !important;
}

/* 消除浮动和清除边距以配合 flex */
.modal-footer::before,
.modal-footer::after {
    display: none !important;
}

/* 底部按钮精致重塑 */
.modal-footer .btn {
    border-radius: 8px;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    padding: 0 20px !important;
    height: 36px !important;
    line-height: 34px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    outline: none !important;
    margin: 0 !important;
}

/* 底部确定按钮高级微立体渐变 */
.modal-footer .btn-primary {
    background: linear-gradient(180deg, #5fc325 0%, #4ea91b 100%) !important;
    border: 1px solid #459318 !important;
    color: #ffffff !important;
}
.modal-footer .btn-primary:hover {
    background: linear-gradient(180deg, #6fd335 0%, #59b925 100%) !important;
    box-shadow: 0 4px 12px rgba(85, 167, 34, 0.25);
}

/* 底部取消按钮纯白质感与极简微黑边框 */
.modal-footer .btn-default {
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    color: #595959 !important;
}
.modal-footer .btn-default:hover {
    background-color: #f6f6f6 !important;
    color: #262626 !important;
    border-color: rgba(0, 0, 0, 0.18) !important;
}

/* 弹出动画：顺滑的从下方微位移淡入 */
.modal.fade .modal-dialog {
    transform: translate3d(0, 20px, 0) scale(0.97) !important;
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.modal.in .modal-dialog {
    transform: translate3d(0, 0, 0) scale(1) !important;
    opacity: 1 !important;
}

/* 解决 ui-select 自带 form-control 时外壳产生双重边框的 Bug */
.ui-select-bootstrap.form-control:not(.ui-select-multiple) {
    border: none !important;
    padding: 0 !important;
    height: auto !important;
    background: transparent !important;
    box-shadow: none;
}

/* 解决 bootstrap-select (selectpicker) 自带 form-control 时外壳产生双重边框的 Bug */
.bootstrap-select.form-control {
    border: none !important;
    padding: 0 !important;
    height: auto !important;
    background: transparent !important;
    box-shadow: none;
}

/* 兜底限制下拉框的实际弹出菜单最大宽度，防止测量偏差或旧缓存导致其全屏拉伸 */
.bootstrap-select .dropdown-menu {
    max-width: 550px !important;
}

.bootstrap-select.form-control > .btn,
.bootstrap-select.form-control > .btn.btn-default {
    height: 32px !important;
    padding: 5px 12px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: rgba(0, 0, 0, 0.85) !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    border-radius: 6px;
    box-shadow: none;
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.bootstrap-select.form-control > .btn:hover,
.bootstrap-select.form-control > .btn.btn-default:hover {
    border-color: #55a722 !important;
}

.bootstrap-select.form-control > .btn:focus,
.bootstrap-select.form-control > .btn.btn-default:focus,
.bootstrap-select.form-control.open > .btn,
.bootstrap-select.form-control.open > .btn.btn-default {
    border-color: #55a722 !important;
    outline: 0 !important;
    box-shadow: 0 0 0 2px rgba(85, 167, 34, 0.15); /* 绿盟绿光晕 */
}

/* 修复客户联系人 input-group 的布局为 flex 排版，避免 table 布局导致的折行和高度对齐问题 */
.form-group .col-sm-9 > .input-group {
    display: flex !important;
    width: 100%;
}

.form-group .col-sm-9 > .input-group > .bootstrap-select.form-control {
    flex: 1 !important;
    width: 100% !important;
}

.form-group .col-sm-9 > .input-group > addcontact-directive,
.form-group .col-sm-9 > .input-group > [addcontact-directive],
.form-group .col-sm-9 > .input-group > div:not(.bootstrap-select):not(.btn-group):not(.input-group-addon) {
    display: flex !important;
    align-items: center;
    margin-left: 8px; /* 按钮与输入框之间的优雅间距 */
}

.form-group .col-sm-9 > .input-group > addcontact-directive button,
.form-group .col-sm-9 > .input-group > div:not(.bootstrap-select):not(.btn-group):not(.input-group-addon) button {
    height: 32px !important; /* 确保新建按钮与下拉输入框高度完美一致 */
    padding: 0 14px !important;
    border-radius: 6px;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px !important;
    background-color: #55a722 !important; /* 翡翠绿 */
    border: 1px solid #55a722 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 4px rgba(85, 167, 34, 0.16);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    outline: none !important;
}

.form-group .col-sm-9 > .input-group > addcontact-directive button:hover,
.form-group .col-sm-9 > .input-group > div:not(.bootstrap-select):not(.btn-group):not(.input-group-addon) button:hover {
    background-color: #438e16 !important;
    border-color: #438e16 !important;
    box-shadow: 0 4px 8px rgba(85, 167, 34, 0.24);
    transform: translateY(-0.5px) !important;
}

.form-group .col-sm-9 > .input-group > addcontact-directive button:active,
.form-group .col-sm-9 > .input-group > div:not(.bootstrap-select):not(.btn-group):not(.input-group-addon) button:active {
    transform: translateY(0) !important;
    box-shadow: 0 1px 2px rgba(85, 167, 34, 0.12);
}

/* 针对 directive 内的编辑铅笔图标进行高阶环状呼吸式美化 */
.form-group .col-sm-9 > .input-group > addcontact-directive .glyphicon-pencil,
.form-group .col-sm-9 > .input-group > div .glyphicon-pencil {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 28px !important;
    background-color: #f0fdf4 !important; /* 轻透极淡绿 */
    border: 1px solid rgba(85, 167, 34, 0.15) !important;
    border-radius: 50%;
    color: #55a722 !important;
    font-size: 12px !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
}

.form-group .col-sm-9 > .input-group > addcontact-directive .glyphicon-pencil:hover,
.form-group .col-sm-9 > .input-group > div .glyphicon-pencil:hover {
    background-color: #55a722 !important;
    color: #ffffff !important;
    border-color: #55a722 !important;
    box-shadow: 0 3px 6px rgba(85, 167, 34, 0.28);
    transform: scale(1.08) !important;
}

/* 确保所有卡片及其正文容器始终允许内容溢出，防止任何本地渲染的下拉菜单被裁剪截断 */
.panel,
.panel-body,
.sales-panel-body {
    overflow: visible;
}

/* 当卡片内部元素获得焦点时（如展开下拉选择列表），临时将其定位和层级提到最高，解决溢出内容被相邻卡片遮挡的问题 */
.panel:focus-within {
    position: relative !important;
    z-index: 10 !important;
}

/* ==========================================================================
   经销商签约底部动作栏 (.signing-action-bar) 精致化现代重构
   ========================================================================== */
.signing-action-bar {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
    padding: 24px 0 16px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    width: 100%;
}

/* 直接使用项目全局的统一按钮样式，此处仅做布局对齐和外边距微调 */
.signing-action-bar .btn {
    min-width: 110px !important;
    margin: 0 !important; /* 消除 Bootstrap 默认的侧边距干扰 */
}


/* ==========================================================================
   Panel 头部结构现代 Flexbox 适配与按钮移位支持
   ========================================================================== */
.panel .sales-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.panel-head-btn-group {
    display: inline-flex !important;
    align-items: center;
    gap: 8px !important;
}

/* ==========================================================================
   提示与说明板块 (.prompt12 & .shuoming) 的全站统一样式映射
   ========================================================================== */
.prompt12 {
    color: #e05e00; /* 精致温和的警示橙色 */
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    margin: 8px 0;
}

.prompt12::before {
    content: "\e086"; /* Bootstrap 信息提示图标 */
    font-family: 'Glyphicons Halflings';
    margin-right: 6px;
    font-size: 12px;
    vertical-align: middle;
}

.shuoming {
    color: rgba(0, 0, 0, 0.65);
    font-size: 13px;
    background: #fafafa;
    border: 1px solid #f0f0f0;
    border-left: 4px solid #55a722;
    border-radius: 6px;
    padding: 12px 16px;
    margin: 16px 0;
    display: block;
}

/* 警告/防错级别的 Notice 提示卡片 (.explain-warning) */
.explain-warning {
    background: #fffbe6; /* Ant Design 经典金黄色提示背景 */
    border: 1px solid #ffe58f;
    border-left: 4px solid #faad14; /* 警告金黄指示竖线 */
}

.explain-warning dt {
    color: rgba(0, 0, 0, 0.85);
}

.explain-warning dt .glyphicon {
    color: #faad14 !important; /* 警告图标设为亮黄色 */
}

.explain-warning dd {
    color: rgba(0, 0, 0, 0.65);
}

/* 警告卡片内的重要警示文本，改用高对比度深橙色以确保可读性 */
.explain-warning dd[style*="color:red"],
.explain-warning dd[style*="color: red"],
.explain-warning dd[style*="color:#e05e00"] {
    color: #d46b08;
    font-weight: 500;
}

/* 只读详情查看弹窗高级化重构样式 */
.info-view-modal.form-horizontal .modal-body {
    padding: 24px 32px !important;
    background-color: #f8f9fa !important; /* 让底色呈现微灰色，托起纯白卡片的精致度 */
    max-height: 75vh;
    overflow-y: auto;
}
.info-view-modal.form-horizontal .panel {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.05) !important;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02), 0 8px 16px rgba(0, 0, 0, 0.02);
    padding: 0 !important;
    margin-bottom: 20px !important;
}
.info-view-modal.form-horizontal .panel-heading.sales-panel-head {
    text-align: left !important; /* 强行靠左，屏蔽一切可能的右对齐污染，并直接承接项目统一的渐变背景、底线与绿条样式 */
}
.info-view-modal.form-horizontal .panel-body.sales-panel-body {
    padding: 20px 24px !important;
}
/* 只读信息描述网格对齐，彻底修复原本高低不平对不齐的问题 */
.info-view-modal.form-horizontal .form-group {
    margin-bottom: 14px !important;
    display: flex !important;
    align-items: flex-start;
}
.info-view-modal.form-horizontal .form-group .control-label {
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
    color: rgba(0, 0, 0, 0.45) !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    text-align: right !important;
}
.info-view-modal.form-horizontal .form-group p {
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    font-size: 13px !important;
    color: rgba(0, 0, 0, 0.85) !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    word-break: break-all !important;
}
/* 对弹窗内部表格进行细节优化以对齐高级感 */
.info-view-modal.form-horizontal .table-mn-content {
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    overflow: hidden;
}
.info-view-modal.form-horizontal .table {
    margin-bottom: 0 !important;
}
.info-view-modal.form-horizontal .table>thead>tr>th {
    background: #fafafa !important;
    color: rgba(0, 0, 0, 0.85) !important;
    font-weight: 600 !important;
    border-bottom: 1px solid #f0f0f0 !important;
}
.info-view-modal.form-horizontal .table>tbody>tr>td {
    border-bottom: 1px solid #f0f0f0 !important;
    color: rgba(0, 0, 0, 0.65) !important;
}
.info-view-modal.form-horizontal .table>tbody>tr:last-child>td {
    border-bottom: none !important;
}

/* 弹窗只读附件卡片精致对齐列表 */
.info-view-modal .attachment-list {
    display: flex;
    flex-direction: column;
    gap: 12px; /* 每一项之间有 12px 的垂直空隙，均匀而呼吸感十足 */
    padding: 8px 0;
}
.info-view-modal .attachment-item {
    display: flex;
    align-items: center;
    line-height: 22px;
}
.info-view-modal .attachment-label {
    width: 240px; /* 固定 240px 宽度，让冒号和后面的文件名链接完美左对齐 */
    text-align: right;
    font-size: 13px;
    color: rgba(0, 0, 0, 0.45);
    font-weight: 500;
    padding-right: 16px; /* 留出 16px 的右内边距，使冒号离文件名有舒适的间距 */
}
.info-view-modal .attachment-value {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.info-view-modal .attachment-link {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f5f7fa; /* 精致芯片卡片背景 */
    padding: 4px 12px;
    border-radius: 6px;
    border: 1px solid #e4e7ed;
    transition: all 0.2s ease;
}
.info-view-modal .attachment-link:hover {
    background: #ecf5ff;
    border-color: #d9ecff;
}
.info-view-modal .attachment-link i {
    color: rgba(0, 0, 0, 0.4);
    font-size: 12px;
}
.info-view-modal .attachment-link a {
    color: #409eff;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}
.info-view-modal .attachment-link:hover a {
    color: #66b1ff;
}
.info-view-modal .text-muted {
    color: rgba(0, 0, 0, 0.25);
    font-size: 13px;
    font-style: italic;
}

/* ==========================================
   我的流程 - 极简中性灰统计面板 (Dashboard Grayscale Cards)
   ========================================== */
.tab-content .summary-info {
    background: transparent;
    margin: 0 -8px 20px -8px;
    display: flex;
    gap: 16px;
    padding: 0;
}
.tab-content .summary-info .form-group {
    flex: 1;
    background: linear-gradient(180deg, #fafbfc 0%, #ffffff 100%);
    border: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.01), 0 2px 6px rgba(0, 0, 0, 0.01);
    padding: 16px 12px;
    margin: 0;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.tab-content .summary-info .form-group:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02), 0 6px 16px rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}
/* 标题字色调优 */
.tab-content .summary-info .label-w {
    font-size: 13px;
    color: rgba(0, 0, 0, 0.45);
    font-weight: normal;
    margin-top: 6px;
    margin-bottom: 0;
    padding: 0;
    display: block;
}
/* 数字容器 */
.tab-content .summary-info .p-w {
    display: flex;
    align-items: baseline;
    justify-content: center;
    margin: 0;
    line-height: 1.1;
}
/* 数字主字号 */
.tab-content .summary-info .p-w .num-val {
    font-size: 24px;
    font-weight: 600;
}
/* 单位小字号 */
.tab-content .summary-info .p-w .num-unit {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.35);
    margin-left: 2px;
    font-weight: normal;
}
/* 流程总数：低饱和雅致蓝 */
.tab-content .summary-info .form-group:nth-child(1) .num-val {
    color: #2e74ff !important;
}
/* 审批通过：低饱和清新绿 */
.tab-content .summary-info .form-group:nth-child(2) .num-val {
    color: #4fa123 !important;
}
/* 审批中：低饱和落日橙 */
.tab-content .summary-info .form-group:nth-child(3) .num-val {
    color: #df9300 !important;
}
/* 审批拒绝：低饱和雅致红 */
.tab-content .summary-info .form-group:nth-child(4) .num-val {
    color: #cf3a3a !important;
}


/* ==========================================
   检索表单控件高档化（Flex 日期组与聚焦光晕）
   ========================================== */

/* 输入框和下拉框通用提升 */
.tab-content input.form-control,
.tab-content select.form-control {
    border-radius: 6px;
    border: 1px solid #d9d9d9 !important;
    height: 32px !important;
    padding: 4px 12px !important;
    font-size: 13px !important;
    transition: all 0.2s ease;
}
.tab-content input.form-control:hover,
.tab-content select.form-control:hover {
    border-color: #55a722 !important;
}
.tab-content input.form-control:focus,
.tab-content select.form-control:focus {
    border-color: #55a722 !important;
    box-shadow: 0 0 0 3px rgba(85, 167, 34, 0.08);
}

/* 时间范围联合选择框 */
.flex-time-range {
    display: flex;
    align-items: center;
    width: 100%;
    background: #ffffff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    padding: 0 8px;
    transition: all 0.2s ease;
}
.flex-time-range:hover {
    border-color: #55a722;
}
.flex-time-range:focus-within {
    border-color: #55a722 !important;
    box-shadow: 0 0 0 3px rgba(85, 167, 34, 0.08);
}
.flex-time-range input.form-control {
    border: none !important;
    box-shadow: none;
    background: transparent !important;
    padding: 4px 2px !important;
    height: 30px !important;
    text-align: center !important;
    font-size: 13px !important;
    cursor: pointer;
}
.flex-time-range .range-connector {
    color: rgba(0, 0, 0, 0.3);
    padding: 0 4px;
    font-size: 13px;
    user-select: none;
}


/* ==========================================
   表格及莫兰迪状态胶囊与气泡按钮
   ========================================== */

/* 表头微调 */
.table-mn-content table thead th {
    background: #fafbfc;
    color: rgba(0, 0, 0, 0.65);
    font-weight: 600;
    font-size: 13px;
    border-bottom: 1px solid #f0f0f0;
    padding: 12px 16px;
}
/* 数据行微调 */
.table-mn-content table tbody tr {
    transition: background-color 0.15s ease;
}
.table-mn-content table tbody tr:hover {
    background-color: #f8fafc;
}
.table-mn-content table tbody td {
    padding: 12px 16px;
    font-size: 13px;
    color: rgba(0, 0, 0, 0.75);
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}

/* 莫兰迪状态胶囊 */
.status-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    border: 1px solid transparent;
}
.status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
}

/* 审批中：淡雅莫兰迪橙 */
.status-tag.status-approving {
    background-color: #fff7e6;
    color: #d46b08;
    border-color: #ffd591;
}
.status-tag.status-approving .status-dot {
    background-color: #fa8c16;
}

/* 审批通过：淡雅莫兰迪绿 */
.status-tag.status-approved {
    background-color: #f6ffed;
    color: #389e0d;
    border-color: #b7eb8f;
}
.status-tag.status-approved .status-dot {
    background-color: #52c41a;
}

/* 审批拒绝：淡雅莫兰迪红 */
.status-tag.status-rejected {
    background-color: #fff1f0;
    color: #cf1322;
    border-color: #ffa39e;
}
.status-tag.status-rejected .status-dot {
    background-color: #f5222d;
}

/* 暂存/草稿/默认：淡雅莫兰迪灰 */
.status-tag.status-draft {
    background-color: #f5f5f5;
    color: rgba(0, 0, 0, 0.55);
    border-color: #d9d9d9;
}
.status-tag.status-draft .status-dot {
    background-color: #8c8c8c;
}

/* 操作列圆圈气泡式微按钮组 */
.action-btn-group {
    display: flex !important;
    align-items: center;
    gap: 8px !important;
}
.action-btn-wrapper {
    display: inline-block !important;
}
.action-btn-group .action-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50%;
    background: #f5f5f5 !important;
    color: rgba(0, 0, 0, 0.45) !important;
    font-size: 12px !important;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
    text-decoration: none;
    margin: 0 !important;
}
/* 催办 Hover (柔和暖橙) */
.action-btn-group .action-btn-warn:hover {
    background: #fff7e6 !important;
    color: #fa8c16 !important;
    box-shadow: 0 2px 6px rgba(250, 140, 22, 0.12);
    transform: scale(1.05) !important;
}
/* 查看原因 Hover (雅致冷蓝) */
.action-btn-group .action-btn-info:hover {
    background: #e6f7ff !important;
    color: #1890ff !important;
    box-shadow: 0 2px 6px rgba(24, 144, 255, 0.12);
    transform: scale(1.05) !important;
}

/* ==========================================
   编辑表单操作提交栏美化与垂直左对齐
   ========================================== */
.flex-action-buttons {
    display: flex;
    gap: 12px;
    align-items: center;
}
.flex-action-buttons .btn {
    width: 90px !important;
    height: 34px !important;
    border-radius: 6px;
    font-size: 13px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
.flex-action-buttons .btn-primary {
    background: linear-gradient(180deg, #62b52e 0%, #4fa123 100%) !important;
    border-color: #4fa123 !important;
    box-shadow: 0 2px 4px rgba(85, 167, 34, 0.12);
    font-weight: 500 !important;
}
.flex-action-buttons .btn-primary:hover {
    background: linear-gradient(180deg, #71cc39 0%, #5bb92b 100%) !important;
    border-color: #5bb92b !important;
    box-shadow: 0 4px 12px rgba(85, 167, 34, 0.2);
}

/* ==========================================================================
   首页高级自适应重构布局 (Dashboard Home Refactor)
   ========================================================================== */
.dashboard-home {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 20px;
    width: 100%;
    min-height: 500px; /* 防止在极矮分辨率下卡片被压扁 */
    height: calc(100vh - 90px); /* 扣除顶部高度，完美充满一屏幕，底部保留极小安全边隙 */
    padding: 10px 20px;
    box-sizing: border-box;
    background: transparent;
    overflow: hidden;
    margin: auto;
}

/* 高级悬浮卡片 (基于项目原生 Panel) */
.dashboard-home .panel.chart-iteam {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.045);
    border-radius: 16px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.008);
    height: 100%; /* 等高充满 Grid 单元 */
    min-height: 0; /* 锁死最小高度，防止 Grid 单元被子元素撑大 */
    box-sizing: border-box;
    position: relative;
    margin-bottom: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column; /* 使 panel-body 能够自适应 */
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.dashboard-home .panel.chart-iteam:hover {
    transform: none; /* 鼠标移入不晃动/不位移 */
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.012);
    border-color: rgba(85, 167, 34, 0.18);
}

/* 轮播卡片自适应 Grid */
.dashboard-home .chart-iteam.no-border {
    padding: 0;
    border: none;
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    min-height: 0; /* 锁死最小高度，防止轮播图片切换时撑高容器 */
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.02);
}

.dashboard-home .chart-iteam.no-border:hover {
    transform: none;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.03);
}

/* 轮播图内部完美撑满 */
.dashboard-home .carousel, 
.dashboard-home .carousel-inner, 
.dashboard-home .carousel-inner .item {
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
}

.dashboard-home .carousel-inner .item img {
    height: 100%;
    width: 100%;
    object-fit: fill; /* 改为 fill 确保图片内容（如文字与二维码）完整展现不被裁剪 */
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.dashboard-home .chart-iteam.no-border:hover img {
    transform: scale(1.02);
}

/* 圆胶囊指示器 */
.dashboard-home .carousel-indicators {
    bottom: 14px;
}

.dashboard-home .carousel-indicators li {
    background-color: rgba(255, 255, 255, 0.35);
    border: none;
    width: 6px;
    height: 6px;
    border-radius: 3px;
    margin: 0 4px;
    transition: all 0.3s ease;
}

.dashboard-home .carousel-indicators li.active {
    background-color: #55a722;
    width: 18px;
    height: 6px;
    border-radius: 3px;
    margin: 0 4px;
}

/* Panel Heading 继承公司官网与项目经典风格 (42px 窄高度) */
.dashboard-home .panel-heading {
    background: linear-gradient(180deg, #fbfcfd 0%, #f5f7fa 100%);
    border-bottom: 1px solid #eef1f6;
    padding: 10px 20px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    position: relative;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    flex-shrink: 0; /* 防止标题栏被压缩 */
}

/* Panel Title 草绿指示条 */
.dashboard-home .panel-title {
    font-size: 14px;
    font-weight: 600;
    color: #1a2736;
    letter-spacing: 0.5px;
    padding-left: 10px;
    line-height: 1;
    display: inline-block;
    position: relative;
}

.dashboard-home .panel-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    bottom: -1px;
    width: 3px;
    background: #55a722;
    border-radius: 2px;
}

/* “更多”操作点气泡定位微调 */
.dashboard-home .more-btn {
    display: inline-flex;
    gap: 3px;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: #e9ecf0;
    border-radius: 50%;
    position: absolute;
    right: 20px;
    top: 8px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
    cursor: pointer;
}

.dashboard-home .more-btn .dot {
    width: 3.5px;
    height: 3.5px;
    background-color: #7f8c8d;
    border-radius: 50%;
    transition: background-color 0.3s;
}

.dashboard-home .more-btn:hover {
    background: #eef7e8;
    transform: scale(1.05);
}

.dashboard-home .more-btn:hover .dot {
    background-color: #55a722;
}

/* Panel Body 伸缩自适应 */
.dashboard-home .panel-body {
    padding: 12px 16px; /* 缩小内边距以让列表内容更饱满紧凑 */
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* 隐藏多出的一整屏高度 */
    box-sizing: border-box;
}

/* 列表行微雕与溢出屏蔽 */
.dashboard-home .iteam-bd {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 2px; /* 减小行间距 */
    flex: 1;
    overflow-y: auto; /* 开启局部垂直滚动 */
}

/* 优雅精致的隐藏式窄边滚动条美化 */
.dashboard-home .iteam-bd::-webkit-scrollbar {
    width: 5px;
}
.dashboard-home .iteam-bd::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.12);
    border-radius: 3px;
}
.dashboard-home .iteam-bd::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.22);
}
.dashboard-home .iteam-bd::-webkit-scrollbar-track {
    background: transparent;
}

.dashboard-home .iteam-bd li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px; /* 减小行内距，提供紧凑排版 */
    border-bottom: none;
    border-radius: 8px;
    height: auto;
    line-height: normal;
    transition: all 0.25s ease;
    margin-bottom: 0;
}

.dashboard-home .iteam-bd li:hover {
    background: #f5f7fa;
}

.dashboard-home .iteam-bd li a {
    display: flex;
    align-items: center;
    color: #4a5568;
    font-size: 13px; /* 字号略微缩小以配合紧凑布局 */
    font-weight: 500;
    text-decoration: none;
    max-width: 80%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    transition: color 0.25s ease;
    float: none;
}

/* 小圆点前缀 */
.dashboard-home .iteam-bd li a::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    background: #cbd5e0;
    border-radius: 50%;
    margin-right: 10px;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.dashboard-home .iteam-bd li:hover a::before {
    background: #55a722;
    transform: scale(1.3);
}

.dashboard-home .iteam-bd li:hover a {
    color: #55a722;
}

/* New 标签莫兰迪红章 */
.dashboard-home .iteam-bd li a span.new {
    background: #fff1f0;
    color: #ff4d4f;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 600;
    padding: 1px 4px;
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    content: "";
}

.dashboard-home .iteam-bd li a span.new::after {
    content: "NEW";
}

/* 右侧日期等宽字 */
.dashboard-home .iteam-bd li span {
    font-family: "Consolas", "Monaco", monospace;
    font-size: 11.5px;
    color: #a0aec0;
    float: none;
    flex-shrink: 0;
}

/* 艺术性空状态卡片 */
.dashboard-home .empty-state-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    text-align: center;
    flex: 1;
    height: 100%;
}

.dashboard-home .empty-icon {
    color: #cbd5e0;
    margin-bottom: 12px;
    background: #f7fafc;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dashboard-home .empty-title {
    font-size: 14px;
    font-weight: 600;
    color: #718096;
    margin: 0 0 4px 0;
}

.dashboard-home .empty-desc {
    font-size: 12px;
    color: #a0aec0;
    margin: 0;
}

/* ==========================================================================
   高级现代 Loading 加载动画与毛玻璃遮罩 (Premium Modern Spinner & Glass Overlay)
   ========================================================================== */
/* 强制覆盖 spin.js 产生的菊花图容器，将其改造为极简流光旋转圆弧 */
[role="progressbar"]:not(.progress-bar) {
    width: 38px !important;
    height: 38px !important;
    border: 3px solid rgba(85, 167, 34, 0.08) !important;
    border-top-color: #55a722 !important;
    border-radius: 50%;
    animation: modern-spin 0.75s cubic-bezier(0.55, 0.15, 0.35, 0.85) infinite;
    box-shadow: 0 4px 12px rgba(85, 167, 34, 0.05);
    background: transparent !important;
    /* 强制居中 */
    transform: translate(-50%, -50%) !important;
    left: 50% !important;
    top: 50% !important;
    position: absolute !important;
}

/* 隐藏原有 spin.js 生成的多余黑小点 div 元素 */
[role="progressbar"]:not(.progress-bar) > div {
    display: none !important;
}

/* 纯 CSS 注入“数据加载中”呼吸文字 */
[role="progressbar"]:not(.progress-bar)::after {
    content: "数据加载中" !important;
    position: absolute !important;
    top: 48px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    white-space: nowrap;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #55a722 !important;
    letter-spacing: 0.5px !important;
    opacity: 0.85 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9) !important;
    animation: modern-pulse 1.5s ease-in-out infinite;
}

.modern-loading-parent-relative {
    position: relative;
}

.modern-loading-container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 2002;
    pointer-events: none;
}

/* 当作用在 body (全局全屏加载) 时 */
body > .modern-loading-container {
    position: fixed;
}

.modern-loading-spinner {
    width: 38px;
    height: 38px;
    border: 3px solid rgba(85, 167, 34, 0.08);
    border-top-color: #55a722;
    border-radius: 50%;
    animation: modern-spin 0.75s cubic-bezier(0.55, 0.15, 0.35, 0.85) infinite;
    box-shadow: 0 4px 12px rgba(85, 167, 34, 0.05);
}

.modern-loading-text {
    margin-top: 12px;
    font-size: 12.5px;
    font-weight: 600;
    color: #55a722;
    letter-spacing: 0.5px;
    opacity: 0.85;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9);
    animation: modern-pulse 1.5s ease-in-out infinite;
}

/* 高端扁平接口请求加载遮罩层 */
.blockOverlay {
    background-color: rgba(255, 255, 255, 0.65); /* 纯白柔和半透明，参考市面主流 SaaS 加载遮罩 */
    opacity: 1; /* 维持 1 以确保完全由背景色掌控真实通透度 */
    backdrop-filter: none; /* 彻底移除模糊滤镜，消除因频繁虚化与闪烁导致的眼睛眩晕 */
    -webkit-backdrop-filter: none;
    transition: opacity 0.25s ease;
}

/* 全局加载遮罩与页面内容层级规整，确保在全局全屏加载时，遮罩能够覆盖所有的弹出模态框（如 Bootstrap Modal 1050+, uploadModal 1060）以阻止操作，且加载指示器层级最高可见 */
body > .blockUI.blockOverlay {
    z-index: 2000 !important;
}
body > .blockUI.blockPage {
    z-index: 2001 !important;
}

@keyframes modern-spin {
    to { transform: rotate(360deg); }
}

@keyframes modern-pulse {
    0%, 100% { opacity: 0.45; }
    50% { opacity: 0.9; }
}

/* ==========================================================================
   高级警告提示（Alerts）样式重构
   ========================================================================== */

/* 全局 Alert 容器高级重塑 */
.alert {
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.6;
    border-width: 1px;
    border-style: solid;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

/* 浅橙色高档警告卡片样式 */
.alert-danger {
    color: #f58211;
    background-color: #fef0e2;
    border-color: transparent;
    border-left: 4px solid #f58211;
}

/* 浅蓝色高档信息说明卡片样式 */
.alert-info {
    color: #0369a1;
    background-color: #f0f9ff;
    border-color: transparent;
    border-left: 4px solid #0284c7;
}

/* ==========================================================================
   子面包屑/子视图标题样式（重塑为真实面包屑级联路径）
   ========================================================================== */

/* 1. 容器样式：彻底去除任何滑块、卡片或胶囊背景，变为极简的条状，提高选择器权重以压制可能存在的任何其它 nav-tabs 样式覆盖 */
.tab-content .sub-breadcrumbs-wrapper .nav-tabs,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs {
    background: transparent;
    padding: 4px 8px; /* 减小内边距，使容器更加紧凑 */
    border-bottom: 1px solid #f0f0f0; /* 细线分隔面包屑与内容 */
    margin-bottom: 10px; /* 减小底部外边距，使内容卡片紧随其后 */
    display: flex;
    align-items: center;
    width: 100%;
    border-radius: 0;
    box-shadow: none;
    height: auto;
}

/* 2. 列表项样式重置：清除滑块选项卡的行高和浮动等影响 */
.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
    float: left;
}

/* 3. 面包屑斜杠分隔符：更小更紧凑 */
.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li::after,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li::after {
    content: '/';
    display: inline-block;
    color: #d9d9d9;
    font-size: 12px;
    margin-left: 6px;
    margin-right: 6px;
}
.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li:last-child::after,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li:last-child::after {
    display: none;
}

/* 4. 链接文本样式：字号加大，边距缩小，重塑为纯文本样式 */
.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li>a,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li>a {
    font-size: 13.5px; /* 字体加大，使之更清晰、大方 */
    font-weight: 500;
    color: #8c8c8c; /* 非活动项清雅中灰色 */
    background: transparent;
    border: none;
    border-radius: 4px;
    padding: 2px 6px; /* 缩小项本身的 padding，更紧凑 */
    margin: 0;
    line-height: 1.3;
    box-shadow: none;
    transition: all 0.2s ease;
}

.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li>a:hover,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li>a:hover {
    color: #262626 !important;
    background-color: rgba(0, 0, 0, 0.04) !important; /* hover时轻微浅灰底色 */
    text-decoration: none;
}

/* 5. 活动项样式：变为黑色加粗文本，无背景，无边框和投影 */
.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li.active>a,
.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li.active>a:hover,
.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li.active>a:focus,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li.active>a,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li.active>a:hover,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li.active>a:focus {
    background: transparent !important;
    color: #262626 !important; /* 激活项深黑色 */
    font-weight: 600 !important;
    border: none !important;
    box-shadow: none;
}

/* 6. 右侧关闭按钮（×）样式优化，使其更加轻巧高雅 */
.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li>a .closetab-icon,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li>a .closetab-icon {
    color: #bfbfbf;
    margin-left: 4px;
    font-size: 13px; /* 关闭按钮大小与字体匹配 */
    cursor: pointer;
    display: inline-block;
    transition: all 0.2s ease;
    background-color: transparent;
    border-radius: 0;
    width: auto;
    height: auto;
    line-height: 1;
    text-align: center;
}

.tab-content .sub-breadcrumbs-wrapper .nav-tabs>li>a .closetab-icon:hover,
.tab-content .sub-breadcrumbs-wrapper ul.nav-tabs>li>a .closetab-icon:hover {
    background-color: transparent; /* 面包屑上的叉叉直接Hover变红，无需繁杂的背景圆圈 */
    color: #ff4d4f;
}


/* ==========================================================================
   标准产品选购页面（OrderEdit_ProductSelect）高级化设计样式
   ========================================================================== */

/* 1. 主控制头面板（显示方式与检索合并为双端对齐控制条） */
.product-select-form .product-select-header-control {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    padding: 12px 20px;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    margin-bottom: 16px;
    margin-top: 0px;
}

/* 控制面板左侧（显示方式选择） */
.product-select-form .control-left-part {
    display: flex;
    align-items: center;
}

.product-select-form .control-label-text {
    font-size: 13px;
    color: rgba(0, 0, 0, 0.6);
    font-weight: 500;
    margin-right: 12px;
}

.product-select-form .select-compact {
    width: 110px;
    height: 32px;
    padding: 4px 10px;
    font-size: 13px;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    color: rgba(0, 0, 0, 0.8);
    background-color: #ffffff;
    transition: all 0.2s;
}

.product-select-form .select-compact:focus {
    border-color: #55a722;
    box-shadow: 0 0 0 2px rgba(85, 167, 34, 0.1);
    outline: none;
}

/* 控制面板右侧（产品检索搜索框） */
.product-select-form .control-right-part {
    width: 280px;
}

.product-select-form .search-group-compact {
    display: flex;
    align-items: center;
}

.product-select-form .search-group-compact .form-control {
    height: 32px;
    font-size: 13px;
    border: 1px solid #d9d9d9;
    border-right: none;
    border-radius: 6px 0 0 6px;
    box-shadow: none;
}

.product-select-form .search-group-compact .form-control:focus {
    border-color: #55a722;
    box-shadow: 0 0 0 2px rgba(85, 167, 34, 0.1);
    outline: none;
}

.product-select-form .button-search-addon {
    background-color: #55a722;
    border: 1px solid #55a722;
    color: #ffffff;
    font-size: 12px;
    padding: 0 14px;
    height: 32px;
    line-height: 30px;
    border-radius: 0 6px 6px 0;
    cursor: pointer;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.product-select-form .button-search-addon:hover {
    background-color: #64b730;
    border-color: #64b730;
}

/* 2. 一级分类 Tab 导航样式（高雅的 iOS/SaaS 胶囊滑块样式微调） */
.product-select-form .trade-nav-tabs {
    display: inline-flex;
    background: rgba(0, 0, 0, 0.03); /* 降低一点背景灰度，更清透 */
    padding: 4px;
    border-radius: 10px; /* 稍微增加一点圆角 */
    margin-bottom: 20px; /* 增加底部外边距 */
    list-style: none;
    align-items: center;
}

.product-select-form .trade-nav-tabs>li {
    margin: 0;
    padding: 0;
}

.product-select-form .trade-nav-tabs>li>a {
    font-size: 13.5px; /* 字号微调变大 */
    font-weight: 500;
    color: rgba(0, 0, 0, 0.6);
    padding: 8px 20px; /* 增加点击区域和呼吸感 */
    background: transparent;
    border: none;
    border-radius: 6px;
    display: block;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1);
    text-decoration: none;
}

.product-select-form .trade-nav-tabs>li>a:hover {
    color: #438e16;
}

.product-select-form .trade-nav-tabs>li.active>a {
    background: #ffffff;
    color: #55a722;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.02); /* 更细腻的选中态阴影 */
}

/* 3. 通用 panel 布局头部微调 (与项目通用的 .sales-panel-head 对齐但保证布局) */
.product-select-form .sales-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    line-height: normal;
    height: 52px;
    padding: 0 16px 0 20px;
}

/* 局部快速查询（重塑为极简高端绿色放大镜实体按钮） */
.product-select-form .quick-search-box {
    display: flex;
    align-items: center;
}

.product-select-form .quick-search-input-group {
    width: 200px;
    display: flex;
}

.product-select-form .quick-search-input-group .form-control {
    height: 32px;
    font-size: 12.5px;
    padding: 4px 10px;
    border: 1px solid #d9d9d9;
    border-right: none;
    border-radius: 6px 0 0 6px;
    box-shadow: none;
    color: rgba(0, 0, 0, 0.8);
}

.product-select-form .quick-search-input-group .form-control:focus {
    border-color: #55a722;
    box-shadow: 0 0 0 2px rgba(85, 167, 34, 0.1);
    outline: none;
}

/* 高级化后的实体绿色放大镜按钮 */
.product-select-form .quick-search-btn {
    background-color: #55a722;
    border: 1px solid #55a722;
    color: #ffffff;
    font-size: 12px;
    padding: 0 12px;
    height: 32px;
    line-height: 30px;
    border-radius: 0 6px 6px 0;
    cursor: pointer;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.product-select-form .quick-search-btn:hover {
    background-color: #64b730;
    border-color: #64b730;
    color: #ffffff;
}

.product-select-form .quick-search-btn i {
    font-size: 13px;
    color: #ffffff;
}

/* 4. 面板主体内的各分组版块 (Group Section) 与白色背景 */
.product-select-form .product-panel-body {
    background-color: #ffffff; 
    padding: 20px; /* 增加呼吸空间 */
}

.product-select-form .product-group-section {
    margin-bottom: 24px; /* 增加分组间距 */
}

.product-select-form .product-group-section:last-child {
    margin-bottom: 0;
}

/* 分组标题栏：统一的极简高级 SaaS 排版风格 */
.product-select-form .group-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: transparent; 
    border-left: none; 
    padding: 0 0 10px 0; 
    margin-bottom: 16px; 
    border-radius: 0; 
    box-shadow: none; 
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.product-select-form .group-title-text {
    font-size: 16px; 
    font-weight: 600;
    color: #1a1a1a; 
    line-height: 1.4;
    letter-spacing: 0.5px; 
    display: flex;
    align-items: center;
}

.product-select-form .group-title-text::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 16px;
    background: linear-gradient(180deg, #64b730 0%, #438e16 100%);
    border-radius: 4px;
    margin-right: 12px;
}

/* 隐藏横穿细线 */
.product-select-form .group-title-line {
    display: none;
}

/* 腾讯产品合作提示徽章 */
.product-select-form .group-warn-badge {
    margin-left: 12px;
    font-size: 12px;
    color: #d46b08;
    background-color: #fff7e6;
    border: 1px solid #ffd591;
    border-radius: 6px;
    padding: 4px 12px;
    font-weight: 500;
    flex-shrink: 0;
}

/* 5. 产品网格布局 */
.product-select-form .product-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); 
    gap: 16px; /* 间距由 12px 放大至 16px，提升空间感 */
    padding: 0;
    margin: 0;
    list-style: none;
}

/* 6. 产品卡片项：保留原版结构，优化投影与边距 */
.product-select-form .product-card-item {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06); /* 稍微加深基础边框 */
    border-left: 4px solid rgba(85, 167, 34, 0.25); /* 左侧指示条稍微加粗加深 */
    border-radius: 8px;
    padding: 16px 18px; /* 增加卡片内部 padding */
    cursor: pointer;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03); /* 基础状态也增加微光阴影 */
}

/* Hover状态：更平滑的微动效与柔和阴影 */
.product-select-form .product-card-item:hover {
    transform: translateY(-3px); /* 上浮幅度调小，更沉稳 */
    background-color: #fcfdfa; 
    border-color: rgba(85, 167, 34, 0.3); 
    border-left-color: #55a722; 
    box-shadow: 0 8px 20px rgba(85, 167, 34, 0.12), 0 3px 6px rgba(0, 0, 0, 0.02); /* 更柔和均匀的翡翠绿投影 */
}

/* 彻底隐藏 product-card-tag */
.product-select-form .product-card-tag {
    display: none;
}

/* 产品简称 (NodeName) */
.product-select-form .product-card-code {
    display: block;
    font-size: 14.5px; /* 稍微加大标题字号 */
    font-weight: 700;
    color: #262626; /* 使用更柔和的深黑色 */
    margin-bottom: 8px; 
    transition: color 0.2s;
    line-height: 1.3;
    max-width: 100%; 
}

.product-select-form .product-card-item:hover .product-card-code {
    color: #55a722;
}

/* 产品全称及描述 (Description) */
.product-select-form .product-card-desc {
    font-size: 12.5px; 
    color: #8c8c8c; /* 颜色微调为中灰色 */
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 38px; 
    transition: color 0.2s;
}

.product-select-form .product-card-item:hover .product-card-desc {
    color: #595959; 
}

/* 7. 树状视图容器高级对齐（防御性地对 ng-hide 加上 display: none !important，解决因高权重 !important 强行暴露的缺陷） */
.product-select-form .tree-view-container {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.015);
    padding: 24px;
    display: flex;
    margin-bottom: 20px;
}

.product-select-form .tree-view-container.ng-hide {
    display: none; /* 彻底覆盖并重写隐藏 */
}

.product-select-form .pdt_intro_muen {
    border-right: 1px solid #f0f0f0;
    padding-right: 20px;
    margin-right: 20px;
}

/* 8. 模态弹出框检索表格微调 */
#model_modal .modal-content {
    border-radius: 10px;
    overflow: hidden !important;
}

#model_modal .modal-header {
    background: #f7f7f7 !important;
    border-bottom: 1px solid #eaeaea !important;
}

#model_modal .modal-title {
    font-weight: 700 !important;
    color: #262626 !important;
}

#model_modal .model-status-badge span {
    display: inline-block !important;
    padding: 2px 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 4px;
    color: #ffffff !important;
    background-color: #55a722 !important; /* 受控默认 */
}

#model_modal .model-status-badge.middle span {
    background-color: #f58211 !important; /* 受控 */
}

#model_modal .model-status-badge.inactive span {
    background-color: #bfbfbf !important; /* 下市 */
}

/* ==========================================================================
   11. 智能BOM组件选配台（OrderEdit_BomSelect）革命性SaaS控制台样式
   ========================================================================== */

/* 大页面容器级联，避免污染全局 */
.bom-configurator-console {
    padding: 16px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* 顶部 SaaS Hero Banner */
.bom-configurator-console .bom-product-hero-banner {
    background: linear-gradient(135deg, #f3faf1 0%, #ffffff 100%);
    border: 1px solid rgba(85, 167, 34, 0.15);
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 24px;
    box-shadow: 0 4px 20px rgba(85, 167, 34, 0.03);
}

.bom-configurator-console .bom-product-hero-banner .banner-top-row {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

/* 状态标签 Chip */
.bom-configurator-console .status-tag-chip {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 700;
    margin-right: 12px;
    line-height: normal;
    border: 1px solid transparent;
}

.bom-configurator-console .status-tag-chip.active {
    background-color: #e6f7ff;
    color: #1890ff;
    border-color: #91d5ff;
}
.bom-configurator-console .status-tag-chip.middle {
    background-color: #fff7e6;
    color: #fa8c16;
    border-color: #ffd591;
}
.bom-configurator-console .status-tag-chip.inactive {
    background-color: #f5f5f5;
    color: rgba(0, 0, 0, 0.45);
    border-color: #d9d9d9;
}

.bom-configurator-console .status-tag-chip .dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: currentColor;
    margin-right: 6px;
}

/* 产品型号大标题 */
.bom-configurator-console .product-hero-title {
    font-size: 20px;
    font-weight: 700;
    color: #1f1f1f;
    margin: 0;
    display: inline-flex;
    align-items: center;
}

.bom-configurator-console .model-code-badge {
    font-size: 13px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.45);
    background: rgba(0, 0, 0, 0.04);
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 10px;
}

/* 时间排版网格 */
.bom-configurator-console .banner-dates-grid {
    margin-bottom: 12px;
}

.bom-configurator-console .date-info-chip {
    font-size: 12.5px;
    color: rgba(0, 0, 0, 0.55);
    display: inline-flex;
    align-items: center;
}

.bom-configurator-console .date-info-chip i {
    margin-right: 6px;
    color: rgba(0, 0, 0, 0.3);
}

/* 选配说明区 */
.bom-configurator-console .banner-desc-area {
    border-top: 1px dashed rgba(0, 0, 0, 0.06);
    padding-top: 12px;
    margin-top: 12px;
}

.bom-configurator-console .config-read-note,
.bom-configurator-console .config-discount-note {
    font-size: 13px;
    color: rgba(0, 0, 0, 0.7);
    line-height: 1.6;
    margin-bottom: 8px;
}

.bom-configurator-console .config-read-note strong {
    color: #e35c5c; /* 警告强力色 */
}

/* 附件下载列表 */
.bom-configurator-console .config-attachments {
    display: flex;
    align-items: center;
    font-size: 13px;
}

.bom-configurator-console .attach-title {
    color: rgba(0, 0, 0, 0.45);
    font-weight: 500;
}

.bom-configurator-console .attach-list {
    display: flex;
    gap: 12px;
}

.bom-configurator-console .attach-link {
    color: #55a722;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dashed rgba(85, 167, 34, 0.4);
}

.bom-configurator-console .attach-link:hover {
    color: #64b730;
    border-bottom-color: #64b730;
}

/* 关联规则提示 */
.bom-configurator-console .banner-relate-rules {
    background-color: #fffbe6;
    border: 1px solid #ffe58f;
    color: #d46b08;
    border-radius: 6px;
    padding: 10px 16px;
    margin-top: 16px;
    margin-bottom: 0;
    font-size: 12.5px;
}

/* 递归选配树样式重绘 */
.bom-configurator-console .bom-configurator-tree {
    background: transparent;
    padding: 0;
}

.bom-configurator-console .config-root-ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* 舱体卡片式模块容器 */
.bom-configurator-console .config-module-cabin {
    background: #ffffff;
    border: 1px solid #e8e8e8;
    border-left: 4px solid #55a722; /* 左侧活性强调绿条 */
    border-radius: 8px;
    margin-bottom: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.015);
    padding: 16px 20px;
    list-style: none;
    transition: all 0.25s;
}

.bom-configurator-console .config-module-cabin:hover {
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
    border-color: #dcdfe6;
    border-left-color: #55a722;
}

/* 一级标题舱体头部 (Cabin Header) */
.bom-configurator-console .cabin-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding-bottom: 12px;
    border-bottom: 1px solid #f2f2f2;
    margin-bottom: 12px;
}

.bom-configurator-console .cabin-title-left {
    display: flex;
    align-items: center;
}

/* 优雅平滑旋转折叠箭头 */
.bom-configurator-console .fold-arrow {
    font-size: 11px;
    color: rgba(0, 0, 0, 0.35);
    margin-right: 10px;
    transition: transform 0.2s ease;
    transform: rotate(0deg);
}

.bom-configurator-console .fold-arrow.expanded {
    transform: rotate(90deg); /* 展开时旋转90度 */
}

.bom-configurator-console .cabin-title-text {
    font-size: 14.5px;
    font-weight: 700;
    color: #262626;
}

.bom-configurator-console .cabin-title-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 莫兰迪必选/互斥小标签芯片 */
.bom-configurator-console .tag-required {
    background-color: #fff2e8;
    color: #ff5a4d;
    border: 1px solid #ffbb96;
    font-size: 11px;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 4px;
    line-height: normal;
}

.bom-configurator-console .tag-mutually-exclusive {
    background-color: #f9f0ff;
    color: #722ed1;
    border: 1px solid #d3adf7;
    font-size: 11px;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 4px;
    line-height: normal;
}

.bom-configurator-console .cabin-remark-icon {
    color: rgba(0, 0, 0, 0.25);
    font-size: 13px;
    cursor: pointer;
    transition: color 0.2s;
}

.bom-configurator-console .cabin-remark-icon:hover {
    color: #55a722;
}

/* 子级物料配置递归列表 (递归缩进与边框消除) */
.bom-configurator-console .config-child-ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bom-configurator-console .config-child-ul.sub-level {
    padding-left: 16px; /* 递归缩进 */
}

/* 叶子物料选项行 (Spec Option Row) */
.bom-configurator-console .spec-option-row {
    background: #ffffff;
    border: 1px solid #eaeaea;
    border-radius: 6px;
    padding: 10px 16px;
    margin-bottom: 8px;
    list-style: none;
    transition: all 0.2s ease;
}

/* 物料行 Hover 反馈 */
.bom-configurator-console .spec-option-row:hover {
    background-color: #fafafa;
    border-color: #d9d9d9;
}

/* 勾选高亮态：背景平滑过渡为极柔绿，描边点亮为半透绿 */
.bom-configurator-console .spec-option-row.row-checked {
    background-color: #f4faf2; /* 极轻翠绿底 */
    border-color: rgba(85, 167, 34, 0.3); /* 半透绿描边 */
}

.bom-configurator-console .option-row-left {
    display: flex;
    align-items: center;
    width: 100%;
    flex-wrap: wrap;
}

.bom-configurator-console .custom-checkbox-wrapper {
    margin-right: 12px;
    display: flex;
    align-items: center;
}

/* 高雅自定义的 checkbox 控制 */
.bom-configurator-console .custom-config-checkbox {
    width: 15px;
    height: 15px;
    cursor: pointer;
    accent-color: #55a722; /* 主题绿勾选颜色 */
}

.bom-configurator-console .option-row-label {
    margin: 0;
    cursor: pointer;
    font-size: 12.5px;
    color: rgba(0, 0, 0, 0.75);
    display: inline-flex;
    align-items: center;
    flex: 1;
}

.bom-configurator-console .option-node-name {
    font-weight: 700;
    color: #262626;
}

.bom-configurator-console .option-node-code {
    color: rgba(0, 0, 0, 0.4);
    font-size: 11.5px;
    margin-left: 4px;
}

.bom-configurator-console .option-node-desc {
    color: rgba(0, 0, 0, 0.6);
}

/* 关联约束展示芯片 */
.bom-configurator-console .option-relations-chips {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto; /* 居右对齐 */
    flex-shrink: 0;
}

.bom-configurator-console .relation-chip {
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 4px;
}

.bom-configurator-console .limit-range-chip {
    background-color: #fff7e6;
    color: #d46b08;
    border: 1px solid #ffd591;
}

.bom-configurator-console .weak-relation,
.bom-configurator-console .strong-relation {
    display: inline-flex;
    align-items: center;
    font-size: 11.5px;
}

.bom-configurator-console .relation-label {
    color: rgba(0, 0, 0, 0.45);
    margin-right: 4px;
}

.bom-configurator-console .relation-code-link {
    color: #1890ff;
    text-decoration: underline;
    cursor: pointer;
    margin-left: 4px;
}
.bom-configurator-console .relation-code-link.strong {
    color: #ff4d4f;
}

/* 问号小图标微调 */
.bom-configurator-console .inline-tag {
    margin-left: 8px;
}


/* 右侧常驻配置结算舱样式 (Summary Sticky Card) */
.bom-configurator-console .configurator-right-part {
    padding-left: 12px;
}

.bom-configurator-console .summary-floating-card {
    position: sticky;
    top: 20px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 10px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
    backdrop-filter: blur(8px); /* 毛玻璃质感 */
    overflow: hidden;
}

.bom-configurator-console .card-header-summary {
    background: linear-gradient(135deg, #f9fbf8 0%, #ffffff 100%);
    padding: 16px 20px;
    border-bottom: 1px solid #f0f0f0;
}

.bom-configurator-console .summary-title {
    font-size: 15px;
    font-weight: 700;
    color: #438e16;
    margin: 0 0 4px 0;
    display: flex;
    align-items: center;
}

.bom-configurator-console .summary-title i {
    margin-right: 8px;
}

.bom-configurator-console .summary-subtitle {
    font-size: 11px;
    color: rgba(0, 0, 0, 0.4);
    margin: 0;
}

.bom-configurator-console .card-body-summary {
    padding: 16px 20px;
    max-height: 400px;
    overflow-y: auto;
}

/* 结算舱滚动条美化 */
.bom-configurator-console .card-body-summary::-webkit-scrollbar {
    width: 5px;
}
.bom-configurator-console .card-body-summary::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 3px;
}

/* 结算输入参数模块 */
.bom-configurator-console .summary-input-group {
    margin-bottom: 14px;
}

.bom-configurator-console .summary-input-label {
    font-size: 12.5px;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.65);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
}

.bom-configurator-console .summary-input-label i {
    margin-right: 6px;
    color: rgba(0, 0, 0, 0.35);
}

.bom-configurator-console .badge-sn-tips {
    background-color: #ff4d4f;
    color: #ffffff;
    font-size: 10px;
    padding: 1px 4px;
    border-radius: 3px;
    margin-left: 6px;
    cursor: help;
}

/* 序列号及时间输入框 SaaS 风格精细化 */
.bom-configurator-console .summary-form-control {
    height: 32px;
    font-size: 12.5px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    box-shadow: none;
    color: rgba(0, 0, 0, 0.8);
    transition: all 0.2s;
}

.bom-configurator-console .summary-form-control:focus {
    border-color: #55a722;
    box-shadow: 0 0 0 2px rgba(85, 167, 34, 0.1);
    outline: none;
}

/* 双日期区间选择 */
.bom-configurator-console .summary-date-picker-range {
    display: flex;
    align-items: center;
    gap: 8px;
}

.bom-configurator-console .synStart {
    flex: 1;
}

.bom-configurator-console .range-tilde {
    color: rgba(0, 0, 0, 0.3);
    font-size: 14px;
}

/* 必买关联列表 */
.bom-configurator-console .relate-list-compact {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
}

.bom-configurator-console .relate-item {
    display: flex;
    align-items: center;
    background-color: rgba(255, 82, 77, 0.03);
    border: 1px solid rgba(255, 82, 77, 0.1);
    border-radius: 4px;
    padding: 6px 10px;
    font-size: 11.5px;
}

.bom-configurator-console .relate-type {
    color: rgba(0, 0, 0, 0.45);
    margin-right: 8px;
}

.bom-configurator-console .relate-code-link {
    color: #ff524d;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.bom-configurator-console .relate-status-badge {
    margin-left: auto;
    font-size: 10px;
    padding: 1px 4px;
    background-color: #f5f5f5;
    color: rgba(0, 0, 0, 0.35);
    border-radius: 3px;
}

.bom-configurator-console .relate-status-badge.selected {
    background-color: #f6ffed;
    color: #52c41a;
}

/* 结算舱底部按钮区 */
.bom-configurator-console .card-footer-summary {
    background: #ffffff;
    padding: 16px 20px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* 主提交按钮：活性亮绿色 */
.bom-configurator-console .btn-summary-primary {
    background-color: #55a722;
    border: 1px solid #55a722;
    color: #ffffff;
    font-weight: 600;
    font-size: 13.5px;
    height: 36px;
    border-radius: 6px;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-shadow: 0 2px 6px rgba(85, 167, 34, 0.15);
}

.bom-configurator-console .btn-summary-primary:hover {
    background-color: #64b730;
    border-color: #64b730;
    color: #ffffff;
}

/* 次提交按钮：边框微绿 */
.bom-configurator-console .btn-summary-secondary {
    background-color: #ffffff;
    border: 1px solid rgba(85, 167, 34, 0.4);
    color: #55a722;
    font-weight: 600;
    font-size: 13px;
    height: 34px;
    border-radius: 6px;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.bom-configurator-console .btn-summary-secondary:hover {
    background-color: rgba(85, 167, 34, 0.03);
    border-color: #55a722;
    color: #55a722;
}

/* 兼容 ui-select 样式统一 */
.bom-configurator-console .ui-select-match-text {
    font-size: 12.5px;
}
.bom-configurator-console .ui-select-toggle {
    height: 32px;
    line-height: 30px;
    padding: 0 10px;
    border-radius: 4px;
}
.bom-configurator-console .ui-select-choices {
    font-size: 12.5px;
}

/* ==========================================
   专属产品列表表格重构：紧凑、左对齐与现代卡片质感
   ========================================== */
.sales-product-group {
    margin-bottom: 28px;
}

/* 升级版高质感左侧绿色竖条分类标题 */
.sales-product-title {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    color: #2c3e50;
    margin: 20px 0 12px 0;
    padding-left: 10px;
    border-left: 3.5px solid #55a722; /* 项目经典的品牌绿高亮 */
    letter-spacing: 0.5px;
}

/* 扁平化圆角细边框滚动卡片容器 */
.sales-product-table-wrap {
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 10px;
    overflow-x: auto; /* 支持超长表格自适应横向滚动，不破宽 */
    box-shadow: 0 4px 18px -4px rgba(0, 0, 0, 0.02), 0 2px 6px -2px rgba(0, 0, 0, 0.02);
    background-color: #ffffff;
}

/* 专属产品表格卡片的外壳精致滚动条美化 */
.sales-product-table-wrap::-webkit-scrollbar {
    height: 10px; /* 物理高度扩充至 10px，提供充足的鼠标点击对准热区，彻底解决不好选中的痛点 */
    width: 10px;
}

.sales-product-table-wrap::-webkit-scrollbar-track {
    background: transparent; /* 轨道背景完全透明，融于网页底色 */
    border-radius: 10px;
}

.sales-product-table-wrap::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.12); /* 常规下为柔和淡灰色滑块 */
    border: 2px solid transparent;   /* 关键：四周留出 2px 透明保护区 */
    background-clip: padding-box;    /* 关键：限制背景仅在内容区渲染，视觉上滑块呈现为 6px 黄金纤细度，保持极简感 */
    border-radius: 10px;
    transition: background 0.2s ease, border-width 0.2s ease; /* 平滑缓动过渡 */
}

.sales-product-table-wrap::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.24); /* 悬浮时轻微加深中性灰色 */
    border-width: 0px;               /* 悬浮时缩减透明保护区，滑块平滑膨胀至完整的 10px 宽度，方便极易选中和拖拽 */
}

.sales-product-table {
    margin-bottom: 0;
    border: none;
    width: 100%;
    min-width: max-content; /* 关键：用内容撑开表格，超出容器时允许横向滚动 */
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* 极致清雅左对齐表头 - 释放紧凑度 */
.sales-product-table > thead > tr > th {
    background-color: #eaecee; /* 加深底色，强化表头层次 */
    color: #2c3e50;            /* 更深的雅致墨蓝色文字 */
    font-size: 13px;            /* 表头字号由12px放大至13px */
    font-weight: 600;            /* 字重微调为600，保证文字大一号时也足够清爽清晰 */
    text-align: left; /* 统一左对齐 */
    padding: 10px 12px; /* 释放紧凑度，增大内边距 */
    border-bottom: 1px solid rgba(0, 0, 0, 0.08); /* 稍加深表头底部分割线 */
    border-top: none;
    border-left: none;
    border-right: none;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 260px;
}

/* 高雅释放数据行 - 释放紧凑度 */
.sales-product-table > tbody > tr > td {
    text-align: left; /* 统一左对齐，去除了强制 !important，允许定制对齐类覆盖 */
    padding: 8px 12px; /* 释放紧凑度，增大行高内边距 */
    font-size: 12px; /* 微调字体大小更显精致 */
    color: #374151;
    border-bottom: 1px solid rgba(0, 0, 0, 0.035);
    border-top: none;
    border-left: none;
    border-right: none;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 260px;
    transition: background-color 0.15s ease;
}

/* 允许 text-center / text-right 显式覆盖表格单元格的对齐方式 */
.sales-product-table > tbody > tr > td.text-center,
.sales-product-table > thead > tr > th.text-center {
    text-align: center;
}
.sales-product-table > tbody > tr > td.text-right,
.sales-product-table > thead > tr > th.text-right {
    text-align: right;
}

/* 型号/部件编码专属列：完全展示，不缩略截断，允许内容完整撑开 */
.sales-product-table .model-code-cell {
    max-width: none;
    min-width: 180px; /* 设定最小安全宽度 */
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
}

/* 序列号专属列：通过内部 div 限制最大宽度，实现 table-layout: auto 下的稳定超长省略 */
.sales-product-table .sn-cell .sn-wrapper {
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* 具有 width 属性的单元格不受最大宽度限制 */
.sales-product-table th[width],
.sales-product-table td[width] {
    max-width: none;
}

/* 重置 Bootstrap 默认对 tbody + tbody 强制添加的 2px 粗黑边框，解决多产品间的边框重叠和突兀感 */
.sales-product-table > tbody + tbody {
    border-top: none;
}

/* 产品大组（tbody）之间的边界：让每个 tbody 最后一行的分割线略微清晰，作为不同产品间的隔离 */
.sales-product-table > tbody > tr:last-child > td {
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* 主产品（首行）样式 */
.sales-product-table > tbody.main-row-group > tr:first-child > td {
    font-weight: 500;
    background-color: #ffffff;
    color: #111827;
}

/* 平滑行 hover 视觉交互反馈 */
.sales-product-table > tbody.main-row-group > tr:first-child:hover > td {
    background-color: #f6faf4;
}

/* 子物料（Children）行样式：极淡微绿乳灰底色，字色柔和 */
.sales-product-table > tbody > tr.child-row > td {
    background-color: #f9fbf8;
    color: #6b7280;
}
.sales-product-table > tbody > tr.child-row:hover > td {
    background-color: #f1f6ef;
}

/* 子物料名称缩进与层级示意字符 */
.sales-product-table > tbody > tr.child-row > td.product-name-cell {
    padding-left: 20px;
    position: relative;
}
.sales-product-table > tbody > tr.child-row > td.product-name-cell::before {
    content: '├─';
    color: rgba(0, 0, 0, 0.18);
    margin-right: 6px;
    font-weight: normal;
}

/* 兼容表格内各表单控键的紧凑化与高级定制 */
.sales-product-table .form-control {
    height: 28px;
    padding: 3px 8px;
    font-size: 12px;
    border-radius: 5px;
    display: inline-block;
    border: 1px solid #e2e8f0;
    background-color: #f8fafc;
    color: #334155;
    box-shadow: none;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.sales-product-table .form-control:focus {
    border-color: #55a722;
    background-color: #ffffff;
    box-shadow: 0 0 0 2.5px rgba(85, 167, 34, 0.12);
}

.sales-product-table select.form-control {
    padding-right: 20px;
}
.sales-product-table input[type="text"].form-control {
    width: 100%;
}
.sales-product-table .input-group-addon {
    padding: 3px 8px;
    font-size: 12px;
    border-radius: 0 5px 5px 0;
    border: 1px solid #e2e8f0;
    border-left: none;
    background-color: #f1f5f9;
    color: #64748b;
}
.sales-product-table .ui-select-multiple.ui-select-bootstrap {
    min-height: 28px;
    padding: 1px 4px;
}
.sales-product-table .ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
    height: 22px;
    margin: 1px 0;
}
.sales-product-table .btn-group > a {
    padding: 4px 10px;
}

/* 高级化链接按钮样式 */
.sales-product-table a {
    color: #55a722;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.15s ease;
    margin-right: 8px;
}
.sales-product-table a:hover {
    color: #3d7e17;
}
.sales-product-table a.delSpan {
    color: #e05e5e;
}
.sales-product-table a.delSpan:hover {
    color: #c53030;
}

/* 解决产品列表表格与上方浮动按钮的重叠错位问题 */
.table-top-btn02 + .sales-product-group,
.table-top-btn02 + .embed-k + .sales-product-group {
    margin-top: 20px !important;
}

.table-top-btn03 + .sales-product-group,
.table-top-btn03 + .embed-k + .sales-product-group {
    margin-top: 0 !important;
}

/* ==========================================
   高端现代 SaaS 风格 Empty State (空状态) 重设计
   ========================================== */

/* 1. 容器卡片化与精致虚线边框 */
.embed-k,
.bom-over {
    width: 100%;
    text-align: center;
    border: 1.5px dashed rgba(85, 167, 34, 0.18); /* 精细品牌绿虚线 */
    border-radius: 12px;
    background-color: #fafbf9; /* 雅致淡绿乳灰底色 */
    padding: 30px 24px; /* 移除图标后微调内边距，保持比例自然 */
    margin-top: 40px;
    margin-bottom: 24px;
    box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.01);
    box-sizing: border-box;
}

/* 3. 主标题样式升级 */
.embed-k > div,
.bom-over {
    font-size: 14px;
    font-weight: 500; /* 调整为中等字重，更加清雅 */
    color: #64748b;    /* 调整为温和沉稳的莫兰迪蓝灰色，避免黑色太突兀 */
    margin: 0;
    line-height: 1.5;
}


/* ==========================================
   高端现代 SaaS 风格 UI-Select 多选下拉框重设计
   ========================================== */

/* 1. 多选框外层容器高级化 */
.ui-select-multiple.ui-select-bootstrap {
    min-height: 30px !important;
    height: auto !important;
    padding: 3px 6px 0 6px !important;
    border: 1px solid #e2e8f0 !important;
    background-color: #f8fafc !important; /* 与form-control统一的轻微灰底 */
    border-radius: 5px;
    box-shadow: none;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 聚焦与打开状态的绿色呼吸外发光 */
.ui-select-multiple.ui-select-bootstrap.ui-select-focus,
.ui-select-multiple.ui-select-bootstrap.open {
    border-color: #55a722 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 2.5px rgba(85, 167, 34, 0.12);
}

/* 2. 选中的胶囊标签小巧化与翡翠绿轻量卡片化 */
.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
    height: 22px !important;
    line-height: 20px !important;
    margin: 0 4px 3px 0 !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border-radius: 4px;
    background-color: rgba(85, 167, 34, 0.08) !important; /* 翡翠绿淡透底色 */
    border: 1px solid rgba(85, 167, 34, 0.18) !important;
    color: #438e16 !important; /* 精致中深绿字色 */
    box-shadow: none;
    outline: none !important;
    display: inline-flex !important;
    align-items: center;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match-item:hover {
    background-color: rgba(85, 167, 34, 0.12) !important;
    border-color: rgba(85, 167, 34, 0.25) !important;
}

/* 胶囊内的文本 */
.ui-select-multiple.ui-select-bootstrap .ui-select-match-item > span:not(.close) {
    display: inline-block !important;
    max-width: 140px !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 3. 关闭小叉叉微调 */
.ui-select-multiple.ui-select-bootstrap .ui-select-match-item .close {
    font-size: 14px !important;
    line-height: 1 !important;
    margin-left: 6px !important;
    margin-top: 0 !important;
    opacity: 0.55 !important;
    color: #94a3b8 !important;
    text-shadow: none !important;
    transition: all 0.15s ease;
}

.ui-select-multiple.ui-select-bootstrap .ui-select-match-item .close:hover {
    color: #e05e5e !important; /* 悬浮危险红 */
    opacity: 0.9 !important;
    transform: scale(1.1) !important;
}

/* 4. 输入搜索框紧凑自适应 */
.ui-select-multiple.ui-select-bootstrap input.ui-select-search {
    height: 22px !important;
    line-height: 22px !important;
    margin: 0 0 3px 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    color: #334155 !important;
}

/* 修复下拉列表选项的对齐与文字大小 */
.ui-select-bootstrap .ui-select-choices-row > span {
    padding: 6px 16px !important;
    font-size: 13px !important;
    color: #334155 !important;
}
.ui-select-bootstrap .ui-select-choices-row.active > span {
    background-color: #55a722 !important; /* 下拉项激活为标志绿 */
    color: #ffffff !important;
}


/* ==========================================================================
   继续下单环境 - 库存分配专属重构样式 (高端 SaaS 级质感)
   ========================================================================== */

/* 表头单元格 */
.stock-match-header-cell {
    background-color: #f8fafc;
    border-bottom: 2px solid #e2e8f0;
    padding: 10px 12px;
    vertical-align: middle;
}

.stock-match-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.stock-match-header span {
    flex: 1;
    text-align: center;
}

.stock-match-header span:first-child {
    text-align: left;
}

.stock-match-header span:last-child {
    text-align: right;
    padding-right: 15px;
}

/* 门户端专用的表头 Flex */
.stock-match-header-portal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
    width: 100%;
}

.portal-hdr-left {
    flex: 1.2;
    text-align: left;
}

.portal-hdr-right {
    flex: 1.8;
    text-align: right;
    padding-right: 10px;
}

/* 数据行单元格 */
.stock-match-data-cell {
    padding: 8px 12px;
    vertical-align: middle;
    background-color: #fafbfc;
    border-left: 1px dashed rgba(0,0,0,0.06);
    border-right: 1px dashed rgba(0,0,0,0.06);
}

/* 库存信息卡片容器 */
.stock-match-container {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 100%;
}

/* 库存匹配单行卡片 */
.stock-match-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 6px 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02);
    transition: all 0.2s ease;
}

.stock-match-row:hover {
    border-color: #cbd5e1;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    background-color: #fdfdfd;
}

/* 库存档位标签 */
.stock-gear-price {
    flex: 1.1;
    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.stock-gear-price i {
    color: #94a3b8;
    font-size: 11px;
}

/* 可用库存数量标签 */
.stock-avail-num {
    flex: 0.9;
    font-size: 12px;
    color: #64748b;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-align: center;
}

.stock-avail-num i {
    color: #cbd5e1;
    font-size: 11px;
}

/* 数量输入框包裹器 */
.stock-input-wrapper {
    flex: 1 !important;
    display: flex !important;
    justify-content: flex-end;
}

/* 数量输入框 */
.stock-use-input {
    width: 84px !important;
    height: 28px !important;
    padding: 2px 8px !important;
    font-size: 12px !important;
    text-align: center !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px;
    background-color: #ffffff !important;
    color: #1e293b !important;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.03);
    transition: all 0.15s ease-in-out;
}

.stock-use-input:focus {
    border-color: #80bdff !important;
    outline: 0 !important;
    box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25), inset 0 1px 2px rgba(0,0,0,0.03);
}

.stock-use-input:disabled {
    background-color: #f1f5f9 !important;
    color: #94a3b8 !important;
    border-color: #e2e8f0 !important;
}

/* 暂无库存匹配时的提示 */
.stock-no-match {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    background-color: #f8fafc;
    border: 1px dashed #e2e8f0;
    border-radius: 6px;
    text-align: center;
}

.stock-no-match span {
    font-size: 12px;
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ==========================================================================
   门户端专属 (SalesPortal) 库存主列与软件明细样式
   ========================================================================== */

.portal-stock-main-row {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.portal-stock-selector {
    display: inline-flex !important;
    align-items: center;
    gap: 6px !important;
}

.portal-stock-selector .action-label {
    font-size: 12px !important;
    color: #64748b !important;
    font-weight: 500 !important;
}

.stock-use-select {
    width: 110px !important;
    height: 30px !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px;
}

.portal-stock-qty {
    display: inline-flex;
    align-items: center;
}

.stock-qty-card {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    padding: 3px 8px;
    border-radius: 6px;
}

.qty-label {
    font-size: 12px;
    color: #166534;
    font-weight: 500;
}

.portal-stock-software-tip {
    font-size: 12px;
}

.portal-stock-detail-container {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}

.portal-stock-detail-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 6px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.01);
    transition: all 0.2s ease;
}

.portal-stock-detail-card:hover {
    border-color: #cbd5e1;
    background-color: #fdfdfd;
}

.detail-card-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 4px;
}

.detail-item-num {
    font-family: Menlo, Monaco, Consolas, monospace;
    font-weight: 600;
    color: #334155;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.detail-item-num i {
    color: #94a3b8;
    font-size: 11px;
}

.detail-match-rate {
    color: #059669;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.detail-match-rate i {
    color: #a7f3d0;
    font-size: 11px;
}

.detail-card-amounts {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #64748b;
}

.detail-amt-total b, .detail-amt-use b {
    font-family: Menlo, Monaco, Consolas, monospace;
}

/* ==========================================
   全局必填项与提示小图标精致化美化
   ========================================== */
/* 必填星号（如 <i class="red">*</i> 或 <span class="red">*</span>）美化 */
label i.red, 
label span.red,
.control-label i.red,
.control-label span.red,
.form-group label i.red,
i.red {
    font-style: normal !important;
    font-size: 14px !important;
    font-family: SimSun, sans-serif !important; /* 强制使用宋体，使星号呈现规整五角星形 */
    color: #ff4d4f !important; /* 高阶珊瑚红（AntD同款），代替以往生硬刺眼的正红色 */
    margin-right: 4px !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -2px !important; /* 相对基线上移，对齐汉字的中部偏上位置，消除沉底感 */
    display: inline-block !important;
    line-height: 1 !important;
    font-weight: bold !important;
}

/* 标签文字后面感叹号提示图标（如 glyphicon-exclamation-sign）美化 */
.glyphicon-exclamation-sign,
label .glyphicon-exclamation-sign,
.control-label .glyphicon-exclamation-sign {
    color: #ff4d4f !important; /* 统一颜色为优雅红，通过 !important 覆盖内联的 style="color:red" */
    margin-left: 6px !important; /* 拉开同左侧汉字文字的合理物理距离，避免拥挤 */
    margin-right: 2px !important;
    font-size: 13px !important;
    vertical-align: middle !important;
    position: relative !important;
    top: -1.5px !important; /* 相对基线上移，使圆圈感叹号提示图标与左侧汉字垂直中心精确对齐 */
    cursor: pointer;
    opacity: 0.85 !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-block !important;
}

.glyphicon-exclamation-sign:hover,
label .glyphicon-exclamation-sign:hover,
.control-label .glyphicon-exclamation-sign:hover {
    opacity: 1 !important;
    transform: scale(1.18) !important; /* 精致悬浮微缩放，展现交互活力 */
    filter: drop-shadow(0 2px 4px rgba(255, 77, 79, 0.2)) !important;
}

/* ==========================================
   全局 Radio (单选框) 高端扁平化美化
   ========================================== */
input[type="radio"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 15px !important;
    height: 15px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 50%;
    outline: none !important;
    background-color: #ffffff !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: relative !important;
    vertical-align: middle !important;
    margin: 0 4px 0 0 !important;
    transition: all 0.2s ease;
}

input[type="radio"]:hover:not(:disabled) {
    border-color: #55a722 !important;
    box-shadow: 0 0 0 3px rgba(85, 167, 34, 0.08);
}

input[type="radio"]:checked {
    border-color: #55a722 !important;
    background-color: #ffffff !important;
}

input[type="radio"]:checked::after {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50%;
    background-color: #55a722 !important;
    display: block !important;
}

input[type="radio"]:disabled {
    background-color: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    cursor: not-allowed;
    opacity: 0.65 !important;
}

input[type="radio"]:disabled:checked::after {
    background-color: #94a3b8 !important;
}

/* ==========================================
   全局 Checkbox (复选框) 高端扁平化美化
   ========================================== */
input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 15px !important;
    height: 15px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px;
    outline: none !important;
    background-color: #ffffff !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: relative !important;
    vertical-align: middle !important;
    margin: 0 4px 0 0 !important;
    transition: all 0.2s ease;
}

input[type="checkbox"]:hover:not(:disabled) {
    border-color: #55a722 !important;
    box-shadow: 0 0 0 3px rgba(85, 167, 34, 0.08);
}

input[type="checkbox"]:checked {
    border-color: #55a722 !important;
    background-color: #55a722 !important;
}

input[type="checkbox"]:checked::after {
    content: "" !important;
    width: 4px !important;
    height: 8px !important;
    border: solid #ffffff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
    margin-bottom: 2px !important;
    display: block !important;
}

input[type="checkbox"]:disabled {
    background-color: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    cursor: not-allowed;
    opacity: 0.65 !important;
}

input[type="checkbox"]:disabled:checked {
    background-color: #cbd5e1 !important;
    border-color: #cbd5e1 !important;
}

/* ==========================================
   全局输入框附加组 (input-group) 高端扁平化无缝合并
   ========================================== */
.input-group {
    display: flex !important;
    align-items: stretch;
    width: 100%;
}

.input-group .form-control {
    flex: 1 1 auto !important;
    width: auto !important;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    margin-right: -1px !important;
}

/* 解决 form-control 的强制圆角导致 input-group 裂开的全局问题 */
.input-group > .form-control:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-addon:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.input-group > .form-control:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-addon:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.input-group .input-group-addon {
    display: inline-flex !important; /* 配合父级 display: flex */
    align-items: center;
    justify-content: center;
    flex-shrink: 0 !important; /* 关键：强制不允许任何形式的挤压收缩 */
    width: auto !important; /* 关键：消除 Bootstrap 默认的 width: 1% 属性，使基准宽度不受影响 */
    min-width: 52px !important; /* 关键：保证即使是一个字的单位也有舒适且足够宽的物理宽度支撑 */
    height: 32px !important; /* 强制与输入框高度平齐 */
    background-color: #f1f5f9 !important; /* 升级为质感更好的莫兰迪轻灰底色 */
    border: 1px solid #cbd5e1 !important;
    border-left: none !important;
    color: #374151 !important; /* 略深字色，提高易读性 */
    padding: 0 16px !important; /* 更加宽绰、呼吸感更强的左右内边距 */
    font-size: 13px !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.input-group .input-group-addon:hover {
    color: #55a722 !important;
    background-color: #f1f5f9 !important;
}

/* ==========================================
   全局 Radio & Checkbox 容器 (inline-wrap & inline) 公共对齐样式
   ========================================== */
.radio-inline-wrap,
.checkbox-inline-wrap {
    display: inline-flex !important;
    align-items: center;
    min-height: 34px !important;
}

.radio-inline,
.checkbox-inline {
    display: inline-flex !important;
    align-items: center;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-left: 0 !important;
    margin-right: 20px !important;
    font-weight: normal !important;
    color: #334155 !important;
    cursor: pointer;
    min-height: 34px !important;
}

.radio-inline input[type="radio"],
.checkbox-inline input[type="checkbox"] {
    margin: 0 6px 0 0 !important;
    position: static !important; /* 清除 Bootstrap 默认绝对定位偏移，改走 flex 排布 */
    accent-color: #55a722 !important;
    cursor: pointer;
}

/* ==========================================
   全局表格智能自适应重构：零硬编码，内容驱动宽度与滚动
   ========================================== */
.table-mn,
.panel-body .table-mn,
.modal-body .table-mn {
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}
.table-mn:has(.ui-select-container.open),
.panel-body .table-mn:has(.ui-select-container.open),
.modal-body .table-mn:has(.ui-select-container.open),
.table-mn-content:has(.ui-select-container.open),
.table-responsive:has(.ui-select-container.open),
.sales-product-table-wrap:has(.ui-select-container.open) {
    overflow: visible;
}
.table-mn > table,
.table-mn > div > table {
    width: auto;
    min-width: 100%; /* 关键：默认撑满100%，超出时通过 width: auto 随内容撑大以触发横向滚动 */
}
.table-mn th,
.table-mn td {
    white-space: nowrap; /* 默认单元格数据绝不换行，保持规整 */
    vertical-align: middle;
}
/* 兼容特殊长文本列的智能折行排版 */
.table-mn td.wrap-cell,
.table-mn td.desc-cell,
.table-mn td.remark-cell {
    white-space: normal;
    word-break: break-all;
    min-width: 220px;
}

/* ==========================================
   全局模态框表单输入控件精致美化（高阶 SaaS 轻灰质感）
   ========================================== */
.modal-body .form-control {
    background-color: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: none;
    border-radius: 6px;
    transition: all 0.25s ease;
}
.modal-body .form-control:hover {
    border-color: #55a722 !important;
}
.modal-body .form-control:focus {
    background-color: #ffffff !important;
    border-color: #55a722 !important;
    box-shadow: 0 0 0 2.5px rgba(85, 167, 34, 0.12);
}
.modal-body .ui-select-multiple.ui-select-bootstrap input.ui-select-search,
.modal-body .ui-select-multiple.ui-select-bootstrap input.ui-select-search:hover,
.modal-body .ui-select-multiple.ui-select-bootstrap input.ui-select-search:focus {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}
/* 调整 modal-body 内部的行垂直间距与布局，保证居中对齐 */
.modal-body .form-horizontal .form-group {
    margin-bottom: 18px !important;
    display: flex !important;
    align-items: center;
}
.modal-body .form-horizontal .control-label {
    padding-top: 0 !important;
    font-size: 13.5px !important;
    color: #4b5563 !important;
}

/* ==========================================
   高阶附件上传指令（uploadFiles / uploadFilesData）美化样式
   ========================================== */

/* 解决多重模态框 z-index 层级遮挡问题（确保附件上传在顶层） */
.uploadModal {
    z-index: 1060 !important;
}

/* 模态框细节美化 */
.uploadModal .modal-content {
    border: none !important;
    border-radius: 12px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.uploadModal .modal-header {
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 18px 24px !important;
}

.uploadModal .modal-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    display: flex;
    align-items: center;
}

.uploadModal .modal-body {
    padding: 24px !important;
}

.uploadModal .modal-footer {
    border-top: 1px solid #f1f5f9 !important;
    padding: 16px 24px !important;
}

/* 拖拽上传区域 Dropzone */
.upload-dropzone {
    position: relative;
    border: 2px dashed #cbd5e1;
    border-radius: 10px;
    background-color: #f8fafc;
    padding: 32px 20px;
    text-align: center;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    overflow: hidden;
}

.upload-dropzone:hover {
    border-color: #55a722;
    background-color: #f0fdf4;
}

.upload-dropzone.disabled {
    cursor: not-allowed;
    opacity: 0.6;
    background-color: #f1f5f9;
    border-color: #e2e8f0;
}

.upload-dropzone-inner i {
    font-size: 36px;
    color: #94a3b8;
    margin-bottom: 12px;
    transition: color 0.25s ease;
}

.upload-dropzone:hover .upload-dropzone-inner i {
    color: #55a722;
}

.upload-dropzone-inner .title {
    font-size: 14px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 4px;
}

.upload-dropzone-inner .sub-title {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 0;
}

/* 真正起作用的隐藏 Input */
.upload-input {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer;
    z-index: 10 !important;
}

.upload-dropzone.disabled .upload-input {
    cursor: not-allowed;
    pointer-events: none;
}

/* 待上传文件列表 */
.upload-file-list-container {
    margin-top: 24px;
}

.upload-list-title {
    font-size: 13.5px;
    font-weight: 600;
    color: #475569;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
}

.upload-file-list {
    max-height: 280px;
    overflow-y: auto;
    padding-right: 4px;
}

/* 微型文件卡片 */
.upload-file-item {
    position: relative;
    display: flex;
    align-items: center;
    padding: 12px 16px;
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 10px;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.upload-file-item:hover {
    border-color: #55a722;
    box-shadow: 0 4px 12px rgba(85, 167, 34, 0.05);
    transform: translateY(-1px);
}

/* 左侧文件图标 */
.file-icon-wrapper {
    width: 38px;
    height: 38px;
    background-color: #f1f5f9;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 14px;
    transition: all 0.2s ease;
}

.upload-file-item:hover .file-icon-wrapper {
    background-color: #f0fdf4;
}

.file-icon-wrapper i {
    font-size: 18px;
    color: #64748b;
    transition: color 0.2s ease;
}

.upload-file-item:hover .file-icon-wrapper i {
    color: #55a722;
}

/* 文件信息 */
.file-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.file-name {
    font-size: 13.5px;
    font-weight: 500;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%;
}

.file-size {
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
}

/* 状态展示 */
.file-status {
    font-size: 12px;
    margin-left: 16px;
    margin-right: 20px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.file-status i {
    margin-right: 4px;
    font-size: 13.5px;
}

/* 文件微进度条 */
.file-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background-color: #f1f5f9;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

.progress-bar-mini {
    height: 100%;
    background-color: #55a722;
    transition: width 0.15s ease-out;
}

/* 独立按钮操作组 */
.file-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-shrink: 0;
}

.btn-action {
    width: 28px !important;
    height: 28px !important;
    border-radius: 6px;
    border: none !important;
    background: transparent !important;
    color: #64748b !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-action:disabled {
    opacity: 0.3 !important;
    cursor: not-allowed;
}

.btn-action-upload:hover:not(:disabled) {
    background-color: #f0fdf4 !important;
    color: #55a722 !important;
}

.btn-action-cancel:hover:not(:disabled) {
    background-color: #fffbeb !important;
    color: #d97706 !important;
}

.btn-action-delete:hover:not(:disabled) {
    background-color: #fef2f2 !important;
    color: #dc2626 !important;
    transform: scale(1.08);
}

/* 底部总控卡片 */
.upload-summary-card {
    margin-top: 24px;
    padding: 16px 20px;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.progress-section {
    flex: 1;
    min-width: 240px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.progress-text {
    font-size: 12px;
    font-weight: 600;
    color: #475569;
}

.progress-section .progress {
    background-color: #e2e8f0;
    box-shadow: none;
}

.progress-section .progress-bar {
    background-color: #55a722;
    box-shadow: none;
}

.actions-section {
    display: flex;
    gap: 10px;
    margin-left: auto;
}

.actions-section .btn {
    padding: 7px 14px !important;
    font-size: 13px !important;
    border-radius: 6px;
    display: inline-flex !important;
    align-items: center;
    gap: 6px !important;
    font-weight: 500 !important;
}

/* 错误提示框美化 */
.error-alert-box {
    margin-top: 16px;
    margin-bottom: 0;
    border-radius: 8px;
    font-size: 13px;
    padding: 12px 16px;
    border: 1px solid rgba(239, 68, 68, 0.15);
    background-color: rgba(239, 68, 68, 0.04);
    color: #b91c1c;
}

/* ==========================================
   已上传附件列表美化与行内流式标签化改造
   ========================================== */
.uploaded-files-list {
    list-style: none;
    padding-left: 0;
    margin: 12px 0 6px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.uploaded-files-list > li,
.uploaded-files-list > div {
    display: inline-flex;
    align-items: center;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 13px;
    color: #334155;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: 0; /* 覆盖原有 margin-bottom */
}

.uploaded-files-list > li:hover,
.uploaded-files-list > div:hover {
    border-color: #55a722;
    background-color: #f0fdf4;
    transform: translateY(-0.5px);
    box-shadow: 0 2px 4px rgba(85, 167, 34, 0.04);
}

.uploaded-files-list > li span, 
.uploaded-files-list > li a,
.uploaded-files-list > div span, 
.uploaded-files-list > div a {
    color: #475569;
    text-decoration: none;
    margin-right: 8px;
    font-weight: 500;
    max-width: 280px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    transition: color 0.2s ease;
}

.uploaded-files-list > li span:hover,
.uploaded-files-list > li a:hover,
.uploaded-files-list > div span:hover,
.uploaded-files-list > div a:hover {
    color: #55a722;
}

.uploaded-files-list > li button,
.uploaded-files-list > div button {
    border: none;
    background: transparent;
    color: #ef4444;
    font-size: 12px;
    cursor: pointer;
    padding: 2px 6px;
    border-radius: 4px;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    font-weight: normal;
    outline: none;
    margin-left: 4px;
    line-height: 1;
}

.uploaded-files-list > li button:hover,
.uploaded-files-list > div button:hover {
    background-color: #fef2f2;
    color: #b91c1c;
}

/* 兼容未包含在 span/a 内的纯文本文件名排版 */
.uploaded-files-list > li {
    line-height: 1.5;
}

/* ==========================================
   发货详情循环批次卡片化及徽章设计样式
   ========================================== */
.delivery-batch-card {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 24px;
    margin-bottom: 28px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.015);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    display: block;
    width: 100%;
}

.delivery-batch-card:hover {
    border-color: #55a722;
    box-shadow: 0 8px 20px rgba(85, 167, 34, 0.04);
    transform: translateY(-0.5px);
}

.delivery-batch-header {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 14px;
}

.delivery-batch-badge {
    background-color: #f0fdf4;
    color: #55a722;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 6px;
    border: 1px solid rgba(85, 167, 34, 0.15);
    letter-spacing: 0.5px;
    display: inline-block;
}

/* ==========================================
   发货批次接收时间确认区极简 Flex 样式
   ========================================== */
.delivery-receive-section {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px dashed #e2e8f0;
}

.receive-input-wrapper {
    display: flex !important;
    align-items: center;
    gap: 8px !important;
}

.receive-label {
    font-size: 13.5px;
    font-weight: 500;
    color: #4b5563;
    margin-bottom: 0;
    white-space: nowrap;
}

.receive-input-container {
    position: relative !important;
    display: inline-block !important;
}

.receive-date-input {
    height: 36px !important;
    width: 220px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px;
    padding: 0 12px !important;
    font-size: 13.5px !important;
    background-color: #ffffff !important;
    cursor: pointer;
    box-shadow: none;
    transition: all 0.2s ease;
}

.receive-date-input:hover {
    border-color: #55a722 !important;
}

.receive-confirm-btn {
    height: 36px !important;
    padding: 0 20px !important;
    font-size: 13.5px !important;
    border-radius: 6px;
    font-weight: 500 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(85, 167, 34, 0.15);
    transition: all 0.2s ease;
}

.receive-confirm-btn:hover {
    box-shadow: 0 4px 12px rgba(85, 167, 34, 0.2);
    transform: translateY(-0.5px);
}

/* ==========================================
   统一详情页顶部操作按钮栏
   ========================================== */
.detail-actions-bar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    margin-bottom: 16px;
    margin-top: 8px;
    clear: both;
}

.detail-actions-bar .btn {
    min-width: 88px;
    height: 34px;
    padding: 0 16px;
    font-size: 13.5px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    transition: all 0.2s ease;
    margin: 0; /* 统一由 gap 控制间距 */
}

.detail-actions-bar .btn:hover {
    transform: translateY(-0.5px);
}

/* ==========================================
   全局表格超长溢出文本：可选中与可复制悬浮浮层 (Tooltip)
   ========================================== */
.global-table-tooltip {
    position: fixed;
    z-index: 99999;
    display: none;
    max-width: 480px;
    background: #1e293b;
    color: #f8fafc;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 12px;
    line-height: 1.5;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.25), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
    word-break: break-all;
    white-space: normal;
    user-select: text; /* 允许文本框选复制 */
    -webkit-user-select: text;
    pointer-events: auto;
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.global-table-tooltip-inner {
    display: flex;
    align-items: center;
    gap: 8px;
}

.global-table-tooltip-text {
    flex: 1;
    max-height: 160px;
    overflow-y: auto;
    color: #f1f5f9;
}

.global-table-tooltip-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: rgba(255, 255, 255, 0.12);
    border: none;
    border-radius: 4px;
    color: #cbd5e1;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.global-table-tooltip-copy:hover {
    background: rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

.global-table-tooltip-copy.copied {
    background: #22c55e;
    color: #ffffff;
}

/* Tooltip 底部与顶部小三角 */
.global-table-tooltip-arrow {
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
}
.global-table-tooltip.arrow-bottom .global-table-tooltip-arrow {
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px 6px 0 6px;
    border-color: #1e293b transparent transparent transparent;
}
.global-table-tooltip.arrow-top .global-table-tooltip-arrow {
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 0 6px 6px 6px;
    border-color: transparent transparent #1e293b transparent;
}

/* 伪元素隐形响应桥：连接 Tooltip 与单元格之间的空白间隙，防止鼠标划向 Tooltip 时误切 */
.global-table-tooltip::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 14px;
    pointer-events: auto;
}
.global-table-tooltip.arrow-bottom::before {
    bottom: -14px;
}
.global-table-tooltip.arrow-top::before {
    top: -14px;
}
