/* 96IDC Theme | Author: 96IDC | QQ: 2386214936 | Site: www.96idc.cn | v2.4.2 */
/* ==========================================================================
   设计令牌（与《统一设计规范 v2.4.2》逐值一致）
   全局可用：控制台 / 认证页 / 公共片段均依赖这组变量
   ========================================================================== */
:root {
	/* 品牌 */
	--idc-primary: #1267f5;
	--idc-primary-hover: #0b52d6;
	--idc-primary-active: #0a46b8;
	--idc-primary-soft: #e8f1ff;
	--idc-primary-soft-2: #f4f8ff;
	--idc-primary-border: #bcd4fb;
	--idc-accent: #22c7e8;
	--idc-accent-soft: #e6f9fd;
	--idc-brand-gradient: linear-gradient(180deg, #1267f5 0%, #22c7e8 100%);
	/* 语义 */
	--idc-success: #00a870;
	--idc-success-soft: #e3f9f0;
	--idc-warning: #ed7b2f;
	--idc-warning-soft: #fff1e9;
	--idc-danger: #e34d59;
	--idc-danger-soft: #ffeded;
	--idc-info: #1267f5;
	/* 文字与面 */
	--idc-text: #101828;
	--idc-text-heading: #131c2e;
	--idc-text-secondary: #4a5568;
	--idc-text-muted: #667085;
	--idc-text-placeholder: #9aa4b2;
	--idc-border: #e6eaf2;
	--idc-border-light: #f1f3f8;
	--idc-page-bg: #f6f8fc;
	--idc-card-bg: #ffffff;
	--idc-input-bg: #f6f8fc;
	--idc-hover-bg: #f4f8ff;
	/* 几何 */
	--idc-radius-sm: 4px;
	--idc-radius: 6px;
	--idc-radius-md: 10px;
	--idc-radius-lg: 14px;
	--idc-radius-pill: 999px;
	--idc-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	--idc-shadow-card: 0 1px 2px rgba(16, 24, 40, .03), 0 10px 26px rgba(18, 103, 245, .05);
	--idc-shadow-hover: 0 6px 16px rgba(18, 103, 245, .10), 0 16px 40px rgba(16, 24, 40, .06);
	--idc-shadow-menu: 0 10px 30px rgba(16, 24, 40, .12);
	/* 字号阶梯 */
	--idc-fs-caption: 12px;
	--idc-fs-body: 13px;
	--idc-fs-nav: 14px;
	--idc-fs-card-title: 15px;
	--idc-fs-page-title: 18px;
	--idc-fs-section: 22px;
	--idc-fs-display: 28px;
	/* 间距刻度 */
	--idc-space-1: 4px;
	--idc-space-2: 8px;
	--idc-space-3: 12px;
	--idc-space-4: 16px;
	--idc-space-5: 20px;
	--idc-space-6: 24px;
	--idc-space-7: 32px;
	--idc-space-8: 48px;
	/* 控件高度 */
	--idc-control-h: 36px;
	--idc-control-h-sm: 32px;
	--idc-control-h-lg: 44px;
	/* 骨架尺寸 */
	--idc-topbar-h: 60px;
	--idc-sidebar-w: 188px;
	--idc-sidebar-collapsed-w: 70px;
	--idc-cols-side-w: 450px;
}

:root {
	--blue(var(--bs-global));
}

/* 全站基础字体（app.min.css 用 Arial !important 锁定，故此处同样以 !important 覆盖） */
body {
	font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei",
		"Helvetica Neue", Helvetica, Arial, sans-serif !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.page-content {
	/* max-width: 1170px; */
}

body[data-sidebar=dark].vertical-collpsed {
	min-height: inherit;
}

/* body {
	padding-right: 17px !important;
} */

.hide,
.hidden {
	display: none !important;
}

.h100p {
	height: 100%;
}

.w100p {
	width: 100%;
}

.mw-250 {
	max-width: 250px;
}

.flex1 {
	flex: 1;
}

.fs-12 {
	font-size: 12px;
}

.fs-14 {
	font-size: 14px;
}

.fs-16 {
	font-size: 16px;
}

.fs-18 {
	font-size: 18px;
}

.fs-20 {
	font-size: 20px;
}

.fs-22 {
	font-size: 22px;
}

.fs-24 {
	font-size: 24px;
}

.fs-26 {
	font-size: 26px;
}

.fs-28 {
	font-size: 28px;
}

.fs-30 {
	font-size: 30px;
}

.fs-50 {
	font-size: 50px !important;
}

.fw-200 {
	font-weight: 200;
}

.fw-300 {
	font-weight: 300;
}

.fw-400 {
	font-weight: 400;
}

.fw-500 {
	font-weight: 500;
}

.fw-600 {
	font-weight: 600;
}

.color-999 {
	color: #999 !important;
}

.btn-default {
	background-color: #FFF;
	border-color: #ced4da;
}

.btn-default.active,
.btn-default:hover {
	transition: all .4s;
	background-color: #f8f9fa;
}

.form-control:disabled,
.form-control[readonly] {
	background-color: #FAFAFA;
}

.input-group-append {
	height: 36px;
}

.custom-control {
	display: flex;
	align-items: center;
	min-height: calc(1.5em + .94rem + 2px);
}

.custom-control>*:first-child {
	margin-right: 15px;
}

select.form-control {
	padding-top: 0;
	padding-bottom: 0;
	appearance: none;
	background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldhcnN0d2FfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgd2lkdGg9IjZweCIgaGVpZ2h0PSI2cHgiIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDYgNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiNCOUJEQzU7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNS41LDFoLTVDMC4yMiwxLDAsMS4yMiwwLDEuNVYyYzAsMC4xMywwLjA1LDAuMjYsMC4xNSwwLjM1bDIuNSwyLjVDMi43NCw0Ljk1LDIuODcsNSwzLDVzMC4yNi0wLjA1LDAuMzUtMC4xNQoJbDIuNS0yLjVDNS45NSwyLjI2LDYsMi4xMyw2LDJWMS41QzYsMS4yMiw1Ljc4LDEsNS41LDF6Ii8+Cjwvc3ZnPgo=);
	background-position-y: 50%;
	background-position-x: calc(100% - 11px);
	background-repeat: no-repeat;
	padding-right: 24px;
	-webkit-appearance: none;
}

.status {
	color: #FFF;
	padding: 4px 8px
}

.status:before {
	width: 8px;
	height: 8px;
	border: 0 none;
	border-radius: 50%;
	margin-right: 5px;
	display: inline-block;
}

.status-suspended {
	color: #fff;
	background-color: #e31519;
	border-color: #e31519;
	padding: 5px 10px;
}

.status-unpaid,
.status-pending {
	color: #fff;
	background-color: #fca426;
	border-color: #fca426;
	padding: 5px 10px;
}

.status-deleted {
	color: #fff;
	background-color: #2d2d2d;
	border-color: #2d2d2d;
	padding: 5px 10px;
}

.status-active,
.status-paid,
.status-refunded,
.status-cancelled,
.status-success {
	color: #fff;
	background-color: #3fbf70;
	border-color: #3fbf70;
	padding: 5px 10px;
}
/*已退款*/
.status-refunded{
	background-color: #999999;
	border-color: #999999;
}

.status-cancelled {
	background-color: #959799;
}

.security-header {
	border-radius: 15px;
	background-image: url(../img/security_top.png), linear-gradient(87deg, #006eff, #00a4ff);
	background-repeat: no-repeat;
	background-position: 100%;
}

.security-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 100px;
	border-radius: 50%;
	box-shadow: inset 0 0 0 10px #006eff, inset 0 0 0 20px #4d9dff;
}

.security-logo {
	width: 60px;
	height: 60px;
	font-size: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 6px 14px 2px rgba(0, 110, 255, 0.26);
}

.security-info {
	padding: 20px;
	border-radius: 4px;
	background-color: #006eff;
}

.security-username {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 15px;
	font-size: 18px;
}

.security-username .badge {
	font-size: 12px;
}

.security-label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 15px;
	color: #FFF;
	opacity: .5;
}

.security-text .progress {
	height: 2px;
	border-radius: 5px;
}

.security-meta .list-inline-item {
	margin-right: 15px;
	line-height: 38px;
}

.security-items {
	display: flex;
	flex-direction: column;
}

.security-items .security-item:hover {
	border-radius: 4px;
	box-shadow: 0 4px 20px 2px rgba(0, 110, 255, 0.08);
}

.security-items .security-item {
	padding: 15px 0px;
}

.security-item {
	padding: 15px 0;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	transition: all .3s ease;
}

.security-item:last-child {
	margin-bottom: 0;
}

.security-item-icon {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFF;
	border-radius: 50%;
	margin-right: 15px;
	font-size: 20px;
}

.security-item-info {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.security-item-title {
	color: #000;
	font-size: 14px;
	font-weight: 400;
}

.security-item-title small {
	margin-left: 15px;
	color: #999;
}

.security-item-title small i {
	color: #20b759;
}

.security-item-desc {
	color: #999;
	font-size: 12px;
}

.security-item-image {
	width: 100%;
	background-color: #fff;
	border-radius: 4px;
	height: calc(100% - 300px);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-image: url("../img/security_bottom_left.png");
	background-size: cover;
	display: none;
}

.not_certified_title {
	font-size: 28px;
	color: #333;
	text-align: center;
}

.not_certified_text {
	color: #70757d;
	margin-top: 15px;
	line-height: 30px;
	margin-bottom: 30px;
}

.type-item {
	padding: 50px 80px;
	border-radius: 4px;
	border: 1px solid #eff2f7;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.type-item a {
	width: 200px;
	white-space: nowrap;
}

.min-95 {
	min-height: 95px;
}

.type-icon {
	width: 49px;
	height: 36px;
	/* margin: 0 auto 30px; */
	background-size: cover;
}

.personal {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAqCAYAAADibUizAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eHA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NURDNzg3NUM4RjYzMTFFQThFQ0RCRUJDQjk3OUFERTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NURDNzg3NUQ4RjYzMTFFQThFQ0RCRUJDQjk3OUFERTgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDwveGhhY2tldCBiZWdpbj0iN3UvIiBpZD0iVnNWVk1FMTB3UTJWb2FVaDZjbVZUZWs1VVkzcHBYemxralo4K2lEVSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6bWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjipnoEAAAAbSSURBVHjaO3Fp7bFNWGG9v21bW7bW2b1qGxt7OMZjEDQaNQgo8YUiYHgkmpDgFEVRJBEFAyFGFBIE/QcUmQYFSYxEkaAGEZg4wVfIpmQ8xqDQja1r19fWx/r0d+ZpPbus7dYV1/rBL+fcc797e373e5zvHBDOPPGyICwP/jVrPJq5QBHACdJTOoHvgTPsoJghuQXNq4BQkP6yGdgNrAACgrDVQPIFNK/9T0iG5RlgI9+iaxmFBuB1wJCG5NTAUmA1vSbtW0CfGNbUoVNMb3iAeUdq6i3pwgzz5w81AlOA2YACKAfOEdeVM0qX0olkDPmV6UsHJCMqgQS+KEe/Wh5gBfT4WO5RJurjD4hH4DLE5dcBTwD5zC0X7h1G+yYIn00VE3MJkrwXzXka7Pm821nAYqAJeqvTligmfweabwENa0WgGTDz3r0d+i+mAlHxMElK0HwGyOiQm66/deG4hM49aHYANVRnG8a+w/1LUd4p4y1vicgHtCJKDlHIEqCSSVxzQKCeVcD1T5j8dHRPAxMBCSXydJR3ytiFPUE5GI/ocF13PtPfzyfJkHWgeYUZmpdWrgupYvqH4uiSwtoLZABaWFmND2AbRI/E97IR8riWbKIypt8TSxGkAiAXJkokE7ANokd09iSxMkqK67Yz/VvjTKCClmDheO5KJ9c9DoQ/4UqQ2QmL2KPormP6PxILp1PW3UN3NjK6OT+EiS4CiS5eSbgeqGWe+yROONz0rDssoiBkAJFN6G6iQzOAFox9QSslLbCAl7RO0bX3pklIGBLib1Jdlwg5iXgEuIteK3nWY4Ukn4XR3JaKk36cQSXABTmv2Nuf0MQBkZ8LcSGBQBgKU/RzAc6T4bmmcimTWhmVodnFkBzKRrgez60A2eNRvMRHXS/hrCv1ZyQv6+KFc+iB0/28W0bgGPA5XTv1g6y9R/H8WsF/JAEuIErIopTkQVrO9fsMsJfWtL/DKiGe/kR6ZvM8XUfJB92McTl0N/B0pfQQixUT9BKOa4vcptb15A6PKF0P9zMkO0jNS2raGEmL7GRW49kP0R6gNS+R9Rg7g/tfMeqkkHiX94qmwRJYuamkyi3p2+aUuqa7MzxKn8jHHZ18UiDzSfsUHnlzple2s7qjss4ldW+0BRx5apdy8XBcl0xWxZCcEYskj/A5NHfTiYdlF8gqY7tecEAKregaJy605R2+mtt+oUNtfNSR2aMmJMm9oDAocGW4pV1K87Sr2rbdv1ScMXlFviqQXIKxfXBjLq5FMaEH0NzHuOviaNutGGTteM8CSjYb0NEN+xv8WpcsEyS+emTOPoakwiK3XrTK7YVD+T17lkMLi57Ce2rFQXEtMray2FIU13WfY/qfYtINicQMnrsCsuRQ+W06VItrctQSjFfr2rLsfw6VZOTASOQTtud0fjTWUqQHyRMxXRcTIUnkYWZoxwiT4S7m8G0sMDXeA5jolm6FtSyRH/OL/EJztuXgpXw9Fy9GpzK7FRKbf4yEJT1GZWP7tnjPdMutq0bymz2yXpKwNsQjWsL0z/OXkASlkekXxVIcZx67CLEmG+4PKN3ZtlJz8ZMFdt1Jct0rc9bGS0atTMJoTtJa/jXJF7R/OpYiMufC4b4cZaBZ26uZUGkcZ75Q2Eoqrhm9UteYmERhwUaeBUYs9OilfogxVs5ek6I9JIzuVGqXypjbm1MJkr0tBZerTdnd/TsmZF0OcapJ5X8DjRgh26NwlJtKVXDJ5ZKAJMhX1DjVbWGSFwsu396pMjWiqMiM7G4EIXnKEhUFuQ6m39eap3eQgmCMtWARS1bTm6PPcaor/iHZOrNT3fUzKSAiFVGIE9xiLDPwiYpShajULz3y71rq0OU7tP0xrdcaviRkM/ySoLZHcz7HpRoPkl6QfOh6jvGYW+KRsO+R92X1hLOuixmvxPqpTQWiSCzvY5L+yBZJab5T58htRKXEEbIoBKap3MpJhCQSz+Ntms5v+sTeGwyl8GT1Z18h+T8MIHcd/UKmoH4HaBstkqh1/T9MOtkAEh9f0RmWoZyL3MOupBlLSA1cud99EbdPtWs66rABv+GIQRwUhUrMxWVw3avhgN8KbGcKhb2jHJ+C2c3TlyDWnrXKHfO7FZacyP4tu3sikstZWHYWioEVbZqOjYFBSBLJt+v2EZJsZnuPrNHASymTjAKinaKg6Lc8Ry62ZO5GkI7EHkq7CYAx1vNw86bJbdVLB6RwWvWsggvXoX2M7jBGVYT4A6KzzhW17KnoKq0xK6wNZGcS9zmstwX2vMNTDBPmDhhn/59RqguK/K3IwMtJDTtYPKqdqhasuSurOsuPJuMUcNTEoLm+Bs2aclNJNZLPPGy6S2F5JyzfBBxA8vJEe/ZvAQYAfI6/mqk2QpEAAAAASUVORK5CYII=");
}

.enterprises {
	background-image: url("data:image/png;base64,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");
}

.type-title {
	font-size: 22px;
	color: #333;
	margin-bottom: 15px;
	text-align: center;
	white-space: nowrap;
}

.type-desc {
	color: #70757d;
	text-align: center;
	margin-bottom: 25px;
	white-space: nowrap;
}

.type-info {
	margin-bottom: 40px;
	white-space: nowrap;
}

.type-info li {
	font-size: 14px;
	line-height: 40px;
}

.type-info li i {
	color: var(--bs-global);
}

.addfunds-payment {
	padding: 1rem;
	margin-bottom: 1.5rem;
	border: 1px solid #eff2f7;
	text-align: center;
}

.addfunds-payment.active,
.addfunds-payment:hover {
	cursor: pointer;
	border-color: var(--bs-global);
}

.addfunds-payment img {
	height: 30px;
}

.table-container,
.table-responsive,
.table-header {
	margin-bottom: 1rem;
}

.table-responsive {
	min-height: calc(100vh - 650px);
}

.table-container {
	position: relative;
}

.table-responsive {
	background: #fff;
	/*
    border-radius: 4px;
    border: 1px solid #ced4da;
*/
}

.table-responsive .table {
	margin-bottom: 0;
}

/*
.table-responsive thead th {
	border-top: 0 none;
	background-color: #f8f9fa;
}
.table-responsive tbody {
	
}
*/
.table-responsive tbody tr:hover td {
	transition: all .4s;
	background-color: var(--bs-global-2);
}

.table-responsive .custom-control {
	min-height: inherit;
}

.table-header,
.table-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.table-header>* {
	flex: 1;
}

.table-pagination {
	display: flex;
	align-items: center;
}

.table-pagination .pagination {
	margin-bottom: 0;
}

.no-data {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 150px;
}

.note-editor .note-toolbar {
	border-radius: 4px 4px 0 0;
	overflow: hidden;
}

.note-btn-group .note-btn {
	border-color: #ced4da !important;
}

.form-control-label {
	font-size: 14px;
	color: #999;
	font-weight: 400;
}

.ticket-item {
	border-radius: 4px;
	margin-bottom: 1.5rem;
	min-height: 90px;
	max-height: 120px;
	padding: 1.5rem;
	border: 1px solid #eff2f7;
	background-image: url("data:image/png;base64,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");
	background-position: right bottom;
	background-size: 91px 78px;
	background-repeat: no-repeat;
}

.ticket-item h4 {
	font-weight: 400;
}

.ticket-item p {
	margin-bottom: 0;
}

.ticket-item:hover {
	box-shadow: 0 4px 20px 2px rgba(0, 110, 255, 0.08);
}

.knowledgebase .card-title a {
	display: block;
	color: #666;
	font-weight: 400;
	padding-bottom: 15px;
	border-bottom: 1px solid #eff2f7;
}

.kb-items {
	margin-bottom: 0;
}

.kb-item {
	line-height: 28px;
}

.kb-item>* {
	flex: 1;
}

.kb-item:last-child {
	border-bottom: 0 none;
}

.kb-item .date {
	color: #999;
	text-align: right;
}

.kb-link {
	color: #666;
	font-size: 14px;
}

.ticket-reply .post-by {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 15px;
	/* background-color: #f0f2f6; */
}

.ticket-reply.admin .post-by {
	background-color: #f6faff;
}

.idcsmart.layui-layer {
	border-radius: 4px;
}

.idcsmart .layui-layer-title {
	display: flex;
	align-items: center;
	border-radius: 4px 4px 0 0;
}

.idcsmart .layui-layer-title:before {
	content: '';
	width: 2px;
	height: 14px;
	display: inline-block;
	background-color: #006eff;
	margin-right: 10px;
}

.idcsmart .layui-layer-btn {
	padding: 12px 15px;
	border-top: 1px solid #eee;
}

.idcsmart .layui-layer-btn>a {
	min-height: 34px;
	min-width: 80px;
	border-radius: 4px;
	margin-top: 0;
	line-height: 34px;
	text-align: center;
}

.idcsmart .layui-layer-btn .layui-layer-btn0 {
	color: #fff;
	background-color: #006eff;
	border-color: #006eff;
}

.idcsmart .layui-layer-btn .layui-layer-btn0:hover {
	color: #fff;
	background-color: #0058d4;
	border-color: #004dbb;
}

.idcsmart .layui-layer-setwin {
	top: 13px;
}

.pay-body {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.pay-title {
	color: #999;
	font-size: 14px;
}

.pay-amount {
	display: inline-block;
	margin-top: 18px;
	font-size: 20px;
	font-weight: 700;
	color: #333;
}

.pay-area {
	margin-top: 20px;
	margin-bottom: 60px;
	position: relative;
}

/* 支付成功卡片：占位与原二维码区一致（200×200），成功图标居中，移动端自适应不贴边 */
.pay-success {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 200px;
	min-height: 200px;
	max-width: 100%;
	padding: 20px 16px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid var(--idc-border, #e6eaf2);
	border-radius: var(--idc-radius-md, 10px);
	box-shadow: var(--idc-shadow, 0 1px 2px rgba(16, 24, 40, .04));
	text-align: center;
	box-sizing: border-box;
}

.pay-success img {
	width: 64px;
	height: 64px;
}

.pay-success h4 {
	margin: 12px 0 0;
	color: var(--idc-success, #00a870);
	font-size: 16px;
	font-weight: 600;
	line-height: 22px;
}


.pay-html,
.pay-jump {
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pay-html,
.pay-insert,
.pay-jump,
.pay-none,
.pay-url {
	width: 200px;
	height: 200px;
}

.pay-text {
	text-align: center;
}

.pay-tools .form-control {
	width: 200px;
}

.affiliates-item-title {
	font-size: 16px;
	font-weight: 400;
}

.affiliates-item-text {
	margin-bottom: 0;
	color: #999;
}

.bg-promote {
	color: #FFF;
	background-color: #006eff;
	box-shadow: 0 6px 14px 2px rgba(0, 110, 255, 0.2);
}

.aff-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	padding: 15px 20px;
}

.aff-item>* {
	flex: 1;
}

.aff-item-title {
	display: flex;
	align-items: center;
}

.aff-item-title>i {
	font-size: 18px;
}

.aff-item-num {
	font-size: 18px;
	text-align: right;
	font-family: DINCondensed-Bold;
	margin-top: 8px;
	line-height: 1;
}

.aff-amo-num {
	margin-top: 8px;
	font-family: DINCondensed-Bold;
	font-size: 22px;
	display: flex;
	align-items: baseline;
	line-height: 1;
}

.aff-amo-num small {
	font-size: 12px;
	margin-left: 5px;
}

.aff-amo-nums {
	margin-top: 0;
	font-size: 40px;
	line-height: 2;
	position: relative;
}

.aff-amo-nums:before {
	content: '';
	position: absolute;
	top: 10px;
	right: 20px;
	background-image: url("../img/withdrawal.svg");
	background-repeat: no-repeat;
	background-size: cover;
	width: 48px;
	height: 48px;
	opacity: 0.2;
}

.affs-nav.nav-tabs-custom .nav-item .nav-link {
	line-height: 32px;
}

.news-items {}

.news-item {
	padding: 1.5rem 0;
	border-bottom: 1px solid #f0f2f7;
}

.news-item a {
	color: #333;
}



/* 用户区头像：尺寸、圆角、配色统一由 96idc-console.css 第 44 节控制 */
.user-center_header {
	overflow: hidden;
}

.user-center_safety_wrapper {
	width: 200px;
}

.user-center_safety_wrapper .user-center_safety {
	width: 30px;
	height: 30px;
	background-color: #006eff;
	color: #fff;
	font-size: 20px;
	border-radius: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.user-center_name {
	max-width: 150px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
}

.user-center_product_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 12px 20px;
}

.user-center_product_grid .user-center_product {
	height: 52px;
	padding: 0 20px;
	cursor: pointer;
	background-color: #ffffff;
	border: 1px solid var(--light);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.user-center_h50 {
	height: 50px;
}

.user-center_h100 {
	height: 100px;
}

.user-center_h150 {
	height: 150px;
}

.user-center_h300 {
	height: 300px;
}

.user-center_h450 {
	height: 450px;
}

.user-center_h500 {
	height: 500px;
}

.user-center_calc {
	height: calc(100vh - 505px);
	min-height: 400px;
}

.user-center_notice_ul {
	height: calc(100% - 30px);
	overflow: auto;
}

.user-center_dot {
	width: 10px;
	height: 10px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	border-radius: 50%;
}

.user-center_resources {
	overflow-y: auto;
}

.user-center_notice_item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 30px;
}

.user-center_notice_item .notice_item_time {
	margin-right: 12px;
}

.user-center_notice_item .notice_item_title {
	font-weight: 500;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	word-break: keep-all;
	cursor: pointer;
}

.bx {
	line-height: 0.6;
}

.offset-3 {
	position: relative;
	top: -3px;
}

.pointer {
	cursor: pointer;
}

.note-editor.note-frame .note-editing-area .note-editable {
	color: #333;
}

.not-allowed {
	cursor: not-allowed;
}

/* 服务器内页 电源状态 */
.bx-loader {
	font-size: 24px;
	animation: rotate 2s linear infinite;
}

@keyframes rotate {
	0% {
		transform: rotateZ(0deg);
		/*从0度开始*/
	}

	100% {
		transform: rotateZ(360deg);
		/*360度结束*/
	}
}

.power-detail-box {
	min-height: 94px;
}

.powerimg {
	width: 50px;
	height: 50px;
	background-color: #edf0f5;
	box-shadow: 0 6px 14px 2px rgba(0, 110, 255, 0.26);
	border-radius: 4px;
}

.sprite {
	background-image: url("../img/status2.png");
	background-size: 48px;
	background-repeat: repeat-y;
	width: 48px;
	height: 48px;
	display: inline-block;
}

.sprite.start {
	background-position: 0px 0px;
}

.sprite.closed {
	background-position: 0px -55px;
}

.sprite.waitOn {
	background-position: 0px -218px;
}

.sprite.waitOff {
	background-position: 0px -272px;
}

.sprite.pause {
	background-position: 0px -485px;
}

.sprite.unknown {
	background-position: 0px -163px;
}

.sprite.waiting {
	background-position: 0px -859px;
}

.sprite2 {
	background-image: url("../img/status3.0.png");
	background-size: 48px;
	background-repeat: repeat-y;
	width: 48px;
	height: 48px;
	display: inline-block;
}

.sprite2.Pending {
	background-position: 0px 0px;
}

.sprite2.Fraud {
	background-position: 0px -230px;
}

.sprite2.Deleted {
	background-position: 0px -77px;
}

.sprite2.Cancelled {
	background-position: 0px -154px;
}

.sprite2.Active {
	background-position: 0px -307px;
}

.sprite2.Suspended {
	background-position: 0px 48px;
}

/* 取消任务按钮 */
.cancelBtn {
	background-color: rgba(255, 255, 255, 0.3);
	box-shadow: 0px 6px 14px 2px rgba(0, 110, 255, 0.26);
	border-radius: 4px;
	color: #fff;
	cursor: pointer;
	padding: 3px 10px;
	margin-left: 10px;
}

/* 菜单背景颜色 */
.vertical-menu {
	background: var(--white) !important;
}

.navbar-brand-box {
	background: var(--white) !important;
}

/* 续费弹窗周期样式 */
.btn-radio-bill {
	white-space: nowrap;
	padding: .47rem .2rem;
}

/* 评分插件数量隐藏 */
.badge.badge-info {
	display: none;
}


/* slider */
.irs--square .irs-handle {
	border: 2px solid #006eff !important;
	width: 12px !important;
	height: 12px !important;
	top: 26px !important;
}

.irs--square {
	width: 80%;
	float: left;
	margin-right: 20px;
}

/* selct2 */
.btn-light,
.btn-light:hover {
	background-color: #fff;
}

.dropdown-item {
	padding: 0.5rem 1rem;
}

/* 购物车注册登录方式切换样式更改 */
.cart-login .btn-primary,
.cart-login .btn-primary:not(:disabled):not(.disabled).active,
.cart-login .btn-primary:not(:disabled):not(.disabled):active,
.cart-register .btn-primary,
.cart-register .btn-primary:not(:disabled):not(.disabled).active {
	color: #333;
	background-color: #fff;
	border-color: #fff;
}

.cart-login .btn-primary:not(:disabled):not(.disabled).active,
.cart-register .btn-primary:not(:disabled):not(.disabled).active {
	border-bottom: 1px solid #006eff;
}

.cart-login .btn-primary.focus,
.cart-login .btn-primary:focus,
.cart-login .btn-primary:not(:disabled):not(.disabled).active:focus,
.cart-register .btn-primary.focus,
.cart-register .btn-primary:focus,
.cart-register .btn-primary:not(:disabled):not(.disabled).active:focus {
	box-shadow: none;
}

.bootstrap-select{
	position: relative;
}
.bootstrap-select::after{
	content: '';
	width: 0;
	height: 0;
	border-top: 4px solid rgb(185, 189, 197);
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	position: absolute;
	right: 10px;
	top: 16px;
}

.bootstrap-select .dropdown-menu {
	min-width: 100% !important;
}

.dropdown-menu {
	min-width: 10rem !important;
}

/* 修复：主内容区 overflow:hidden 会导致下拉菜单等绝对定位元素底部被截断 */
.main-content {
	overflow: visible !important;
}


.btn-group-toggle .btn-primary {
	background: #eaeaea;
	color: #666;
	border: 1px solid #eaeaea;
}

.btn-group-toggle.cart-login .btn-primary {
	background: none;
	border: none;
	padding: .25rem 2rem;
	border-radius: 0;
}



.btn-group-toggle .btn-primary input[type="radio"]:disabled::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #CED1E2;
	cursor: not-allowed;
	background-image: none;
	background-color: #FFF;
	border-color: #EBEEF5;
	box-shadow: none;

}

.btn-group-toggle .btn-primary.disabled {
	color: #CED1E2;
	cursor: not-allowed;
	background-image: none;
	background-color: #fff;
	border-color: #fff;
	box-shadow: none;
}

.btn-group-toggle .btn-sm {
	padding: .25rem .95rem;
}

.text-gray {
	color: #999;
}

.bg-gray {
	background-color: #F8F8FB !important;
}

/*取消模态对话框弹出隐藏滚动条操作*/
.modal-open {
	overflow: auto !important;
}

/*增加强制换行*/
.col-form-label {
	word-break: break-all;
}

.table td,
.table th {
  vertical-align: middle !important;
}

.label-color{
	color: #495057 !important;
}

/* ssl证书待验证 */
.status-verifiy_active{
	color: #fff;
	background-color: #fca426;
	border-color: #fca426;
	padding: 5px 10px;
}
/* ssl证书即将过期 */
.status-overdue_active{
	color: #fff;
	background-color: #006eff;
	border-color: #006eff;
	padding: 5px 10px;
}
/* ssl证书已签发 */
.status-issue_active{
	color: #fff;
	background-color: #3FBF70;
	border-color: #3FBF70;
	padding: 5px 10px;
}

.zd-cascader-wrap .zd-input__inner{
	height: 36px;
}

.zd-cascader-wrap.is-focus .zd-input .zd-input__inner{
	border-color: #ced4da  !important;
}

.zd-cascader-wrap:focus-within .zd-input__inner{
	border-color: #ced4da  !important;
}
.btn-light:not(:disabled):not(.disabled).active:focus, .btn-light:not(:disabled):not(.disabled):active:focus, .show > .btn-light.dropdown-toggle:focus{
	box-shadow: none  !important;
}
.btn-light:not(:disabled):not(.disabled).active, .btn-light:not(:disabled):not(.disabled):active, .show > .btn-light.dropdown-toggle{
	background-color: #fff !important;
	border-color: #ced4da !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
     -webkit-transition-delay: 99999s !important; 
     -webkit-transition: color 99999s ease-out, background-color 99999s ease-out !important; 
}

input:-webkit-autofill {
    box-shadow: none !important;
     -webkit-box-shadow: none !important;

}

/* ============================================
   96IDC 配置页样式 v4.0（统一圆角 + 间距优化）
   ============================================ */

/* --- CSS 变量 --- */
.configoption_form {
    --mc-main: #006eff;
    --mc-bg: #f8f9fb;
    --mc-border: #e5e7eb;
    --mc-radius: 6px;
    --mc-label-w: 120px;
}

/* 外层卡片包裹 */
.configoption_form {
    padding: 24px;
    background: #fff;
    border: 1px solid var(--mc-border);
    border-radius: 8px;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.03);
}

/* --- 表单行：flex 布局，label 固定宽度 --- */
.configoption_form .form-group.row.configureproduct,
.configoption_form .form-group.row {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    flex-direction: row !important;
    margin-bottom: 20px !important;
    align-items: flex-start !important;
}

/* 标签列 */
.configoption_form .col-md-2.col-form-label {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1f2937 !important;
    line-height: 38px !important;
    text-align: left !important;
    padding-right: 0 !important;
    flex: 0 0 var(--mc-label-w) !important;
    max-width: var(--mc-label-w) !important;
    width: 100% !important;
}

/* 内容列占满剩余 */
.configoption_form .form-group.row > div:not(.col-md-2):not(.col-form-label) {
    flex: 1 1 auto;
}

/* 隐藏原始 OS 下拉框容器 */
.configoption_form .os-type-col,
.configoption_form .os-version-col {
    display: none !important;
}

/* ============================================
   OS 配置区包裹容器（flex 行的内容列）
   ============================================ */
.configoption_form .os-config-wrapper {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

/* ============================================
   OS 横向滚动卡片（桌面端/移动端通用）
   ============================================ */
.configoption_form .os-scroll-container {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: visible;
    gap: 12px;
    width: 100%;
    padding: 4px 2px 14px;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    box-sizing: border-box;
}
.configoption_form .os-scroll-container::-webkit-scrollbar {
    height: 5px;
}
.configoption_form .os-scroll-container::-webkit-scrollbar-track {
    background: #f3f4f6;
    border-radius: 3px;
}
.configoption_form .os-scroll-container::-webkit-scrollbar-thumb {
    background: #c9cdd4;
    border-radius: 3px;
}
.configoption_form .os-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}

.configoption_form .os-scroll-container .os-card {
    flex: 0 0 auto;
    width: 88px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 14px 8px 12px;
    background: #fff;
    border: 1px solid var(--mc-border);
    border-radius: var(--mc-radius);
    cursor: pointer;
    transition: all 0.25s ease;
    scroll-snap-align: start;
    user-select: none;
}

.configoption_form .os-scroll-container .os-card-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
}

.configoption_form .os-scroll-container .os-card-icon .img_os {
    width: 28px;
    height: 28px;
    -webkit-filter: grayscale(1);
    opacity: 0.45;
    transition: all 0.25s ease;
}

.configoption_form .os-scroll-container .os-card-name {
    font-size: 12px;
    color: #4b5563;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    transition: color 0.25s ease;
}

.configoption_form .os-scroll-container .os-card:hover {
    border-color: var(--mc-main);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 110, 255, 0.1);
}
.configoption_form .os-scroll-container .os-card:hover .img_os {
    -webkit-filter: grayscale(0);
    opacity: 1;
}
.configoption_form .os-scroll-container .os-card:hover .os-card-name {
    color: var(--mc-main);
}

.configoption_form .os-scroll-container .os-card.active {
    border-color: var(--mc-main);
    background: linear-gradient(180deg, #f0f5ff 0%, #ffffff 100%);
    box-shadow: 0 4px 14px rgba(0, 110, 255, 0.15);
    transform: translateY(-2px);
}
.configoption_form .os-scroll-container .os-card.active .img_os {
    -webkit-filter: grayscale(0);
    opacity: 1;
}
.configoption_form .os-scroll-container .os-card.active .os-card-name {
    color: var(--mc-main);
    font-weight: 600;
}

/* ============================================
   版本面板（OS 下方独立区域）
   ============================================ */
.configoption_form .version-panel {
    margin-top: 12px;
    background: #fff;
    border: 1px solid var(--mc-border);
    border-radius: var(--mc-radius);
    overflow: hidden;
    transition: all 0.3s ease;
}

.configoption_form .version-panel-title {
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #4e5969;
    background: var(--mc-bg);
    border-bottom: 1px solid var(--mc-border);
}

.configoption_form .version-panel-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 14px;
}

.configoption_form .version-panel-list .version-item {
    padding: 6px 16px;
    font-size: 13px;
    color: #4b5563;
    background: #fff;
    border: 1px solid var(--mc-border);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    user-select: none;
}

.configoption_form .version-panel-list .version-item:hover {
    border-color: var(--mc-main);
    color: var(--mc-main);
    background: #f0f5ff;
}

.configoption_form .version-panel-list .version-item.active {
    background: var(--mc-main);
    border-color: var(--mc-main);
    color: #fff;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(0, 110, 255, 0.3);
}

/* ============================================
   网络类型下拉框（统一圆角）
   ============================================ */
.configoption_form .bootstrap-select {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    width: 100% !important;
}

.configoption_form .bootstrap-select::after {
    display: none !important;
    content: none !important;
}

.configoption_form .bootstrap-select .dropdown-toggle {
    height: 38px !important;
    line-height: 26px !important;
    padding: 5px 14px !important;
    font-size: 14px !important;
    border-radius: var(--mc-radius) !important;
    border: 1px solid var(--mc-border) !important;
    background: #fff !important;
    color: #374151 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease;
}

.configoption_form .bootstrap-select .dropdown-toggle:hover {
    border-color: var(--mc-main) !important;
}

.configoption_form .bootstrap-select .dropdown-toggle.btn-default {
    background: #fff !important;
    border: 1px solid var(--mc-border) !important;
    color: #374151 !important;
    box-shadow: none !important;
}

.configoption_form .bootstrap-select .dropdown-toggle::after {
    border-top-color: #9ca3af !important;
}

.configoption_form .bootstrap-select .filter-option,
.configoption_form .bootstrap-select .filter-option-inner,
.configoption_form .bootstrap-select .filter-option-inner-inner {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

.configoption_form .bootstrap-select .filter-option-inner-inner {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 14px;
    gap: 4px;
}

.configoption_form .bootstrap-select .dropdown-menu {
    min-width: 220px !important;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    padding: 4px 0;
}

.configoption_form .bootstrap-select .dropdown-item {
    padding: 8px 14px;
    font-size: 14px;
    color: #4b5563;
    display: flex;
    align-items: center;
    gap: 4px;
}

.configoption_form .bootstrap-select .dropdown-item:hover,
.configoption_form .bootstrap-select .dropdown-item:focus {
    background: #f7f7f7;
    color: var(--mc-main);
}

.configoption_form select.form-control {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* ============================================
   滑块行（+/- 按钮 + 滑块 + 数值）
   ============================================ */
.configoption_form .col-md-10.d-flex.align-items-center {
    gap: 8px !important;
    padding-right: 0 !important;
    align-items: center !important;
    margin-top: 0 !important;
    height: 38px;
}

.configoption_form .col-md-10.d-flex.align-items-center[style] {
    padding: 0 !important;
    display: flex !important;
    position: relative !important;
    align-items: center !important;
}

/* min/max 标签 */
.configoption_form .range-min-label,
.configoption_form .range-max-label {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.65);
    flex-shrink: 0;
    white-space: nowrap;
    min-width: 36px;
    text-align: center;
    display: none !important; /* min/max 放到滑块下方 */
}

/* 滑块 */
.configoption_form .configoption_range {
    flex: 1 1 auto !important;
    width: 75% !important;
    min-width: 100px;
    height: 6px;
    margin: 0 !important;
    -webkit-appearance: none;
    appearance: none;
    background: #e5e7eb;
    border-radius: 3px;
    outline: none;
}

.configoption_form .configoption_range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: var(--mc-main);
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0, 110, 255, 0.3);
}

.configoption_form .configoption_range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: var(--mc-main);
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0, 110, 255, 0.3);
}

/* +/- 按钮 */
.configoption_form .range-step-btn {
    width: 32px;
    height: 38px;
    border: 1px solid var(--mc-border);
    background: #fff;
    color: #6b7280;
    font-size: 18px;
    font-weight: 300;
    border-radius: var(--mc-radius);
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    padding: 0;
    line-height: 1;
}

.configoption_form .range-step-btn:hover {
    background: #f0f5ff;
    border-color: var(--mc-main);
    color: var(--mc-main);
}

/* 数值输入框 */
.configoption_form .configoption_range_val {
    width: 56px !important;
    height: 38px !important;
    line-height: 36px !important;
    text-align: center;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #374151 !important;
    border: 1px solid var(--mc-border) !important;
    border-radius: var(--mc-radius) !important;
    flex-shrink: 0;
    float: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
}

/* 单位 */
.configoption_form .col-md-10.d-flex.align-items-center > span:last-child {
    font-size: 14px;
    color: #6b7280;
    font-weight: 400;
    flex-shrink: 0;
    white-space: nowrap;
    line-height: 38px;
    margin-left: 4px;
}

/* ============================================
   CPU/内存/数据中心/周期 按钮组
   ============================================ */
.configoption_form .btn-group.btn-group-toggle {
    gap: 8px;
    flex-wrap: wrap;
    display: flex;
}

/* 所有按钮统一样式 */
.configoption_form .btn-group-toggle .btn,
.configoption_form .btn-group-toggle .btn.btn-primary,
.configoption_form .btn-group-toggle .btn.btn-primary.btn-sm,
.configoption_form .btn-custom-group .btn {
    cursor: pointer !important;
    background-color: #fff !important;
    line-height: 36px !important;
    padding: 0 20px !important;
    border-radius: var(--mc-radius) !important;
    border: 1px solid var(--mc-border) !important;
    font-size: 14px !important;
    color: #4b5563 !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: all 0.2s ease;
    box-shadow: none !important;
    margin: 0 !important;
}

.configoption_form .btn-group-toggle .btn:hover,
.configoption_form .btn-group-toggle .btn.btn-primary:hover,
.configoption_form .btn-group-toggle .btn.btn-primary.btn-sm:hover,
.configoption_form .btn-custom-group .btn:hover {
    background: #f0f5ff !important;
    border-color: var(--mc-main) !important;
    color: var(--mc-main) !important;
}

.configoption_form .btn-group-toggle .btn.active,
.configoption_form .btn-group-toggle .btn.btn-primary.active,
.configoption_form .btn-group-toggle .btn.btn-primary.btn-sm.active,
.configoption_form .btn-custom-group .btn.active {
    background: var(--mc-main) !important;
    color: #fff !important;
    border-color: var(--mc-main) !important;
}

/* 隐藏 radio 圆点 */
.configoption_form .btn-group-toggle input[type="radio"],
.configoption_form .btn-custom-group input[type="radio"] {
    display: none !important;
}

/* 周期按钮组：每个按钮独立 */
.configoption_form .btn-group.btn-custom-group {
    gap: 8px;
    border: none;
    border-radius: 0;
    overflow: visible;
    flex-wrap: wrap;
    display: flex;
}

/* ============================================
   密码行
   ============================================ */
.configoption_form .col-8.col-md-3 {
    display: flex !important;
    align-items: center !important;
    position: relative;
}

.configoption_form .getPassword {
    height: 38px !important;
    font-size: 14px !important;
    border: 1px solid var(--mc-border) !important;
    border-radius: var(--mc-radius) !important;
    font-family: monospace;
    letter-spacing: 1px;
    flex: 1 1 auto;
    box-shadow: none !important;
    padding: 0 36px 0 12px !important;
    min-width: 200px !important;
}

.configoption_form .getPassword:focus {
    border-color: var(--mc-main) !important;
    box-shadow: none !important;
}

/* 密码行图标 */
.configoption_form .d-inline-flex.align-items-center .bx,
.configoption_form .col-1.col-md-1 .fas {
    font-size: 18px;
    color: var(--mc-main);
    cursor: pointer;
    line-height: 38px;
}

.configoption_form .d-inline-flex.align-items-center .bx:hover,
.configoption_form .col-1.col-md-1 .fas:hover {
    opacity: 0.8;
}

/* ============================================
   费用明细 v6（统一卡片布局，常驻显示）
   ============================================ */

/* 外层卡片：包裹摘要栏 + 明细 + 购物车按钮 */
.fee-card {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    margin-top: 16px;
}

/* 摘要栏 — 卡片头部 */
.fee-summary-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    background: #f8f9fb;
    border-bottom: 1px solid #e5e7eb;
}

.fee-summary-label {
    font-size: 15px;
    font-weight: 600;
    color: #4e5969;
    white-space: nowrap;
}

.fee-summary-price {
    font-size: 24px;
    font-weight: 700;
    color: #f23030;
    flex: 1;
    text-align: right;
}

.fee-summary-detail-btn {
    font-size: 13px;
    color: #006eff;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    cursor: default;
    user-select: none;
}

.fee-summary-detail-btn .detail-arrow {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 5px solid #006eff;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    transition: transform 0.2s ease;
}

.fee-summary-detail-btn .detail-arrow.arrow-up {
    transform: rotate(180deg);
}

/* 明细区 — 卡片主体 */
.configoption_total.fee-original {
    position: relative;
    background: #fff;
    padding: 4px 20px 20px;
    margin-top: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.configoption_total.fee-original > table,
.configoption_total.fee-original table.ordersummary {
    display: table;
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-top: 4px;
}

.configoption_total.fee-original table tr {
    border-bottom: 1px solid #f0f0f0;
}

.configoption_total.fee-original table tr:nth-child(even) {
    background: #fafbfc;
}

.configoption_total.fee-original table td {
    padding: 8px 4px;
    text-align: left;
    border: none !important;
    color: #4b5563;
}

.configoption_total.fee-original table tr:last-child {
    border-bottom: none;
}

.configoption_total.fee-original table tr:last-child td {
    font-weight: 700;
    font-size: 14px;
    color: #f23030;
    padding-top: 10px;
}

/* 加入购物车按钮 — 卡片底部 */
.configoption_total #addToCartBtn,
.configoption_total #addToCartBtn-wrapper {
    display: block !important;
    width: 100%;
    margin: 16px 0 0 !important;
    padding: 12px !important;
    font-size: 15px !important;
    border-radius: 6px !important;
    background: #006eff !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(0, 110, 255, 0.3) !important;
    white-space: nowrap;
    text-align: center;
}

.configoption_total #addToCartBtn:hover {
    background: #0058cc !important;
}

/* 隐藏 Powered by */
.configoption_total a[href*="idcsmart"] {
    display: none !important;
}

/* 版本下拉箭头 */
.configoption_form .os-card .version-dropdown .dropdown-arrow {
    display: inline-block;
    width: 0;
    height: 0;
    border-top: 4px solid #b9bdd5;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    margin-left: 4px;
    transition: transform 0.2s ease;
}

/* ============================================
   网络类型下拉框（col-md-3 区域）
   ============================================ */
.configoption_form .col-md-3 > .bootstrap-select {
    width: 100% !important;
}

.configoption_form .col-md-3 > .bootstrap-select .dropdown-toggle {
    height: 38px !important;
    line-height: 26px !important;
    padding: 5px 14px !important;
    font-size: 14px !important;
    border-radius: var(--mc-radius) !important;
    border: 1px solid var(--mc-border) !important;
    background: #fff !important;
    color: #374151 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease;
}

.configoption_form .col-md-3 > .bootstrap-select .dropdown-toggle:hover {
    border-color: var(--mc-main) !important;
}

.configoption_form .col-md-3 > .bootstrap-select .dropdown-toggle::after {
    border-top-color: #9ca3af !important;
}

.configoption_form .col-md-3 > .bootstrap-select .filter-option,
.configoption_form .col-md-3 > .bootstrap-select .filter-option-inner,
.configoption_form .col-md-3 > .bootstrap-select .filter-option-inner-inner {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
}

.configoption_form .col-md-3 > .bootstrap-select .filter-option-inner-inner {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 14px;
    gap: 4px;
}

.configoption_form .col-md-3 > .bootstrap-select .dropdown-menu {
    min-width: 200px !important;
    border: 1px solid #e5e7eb;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    padding: 4px 0;
}

.configoption_form .col-md-3 > .bootstrap-select .dropdown-item {
    padding: 8px 14px;
    font-size: 14px;
    color: #4b5563;
}

.configoption_form .col-md-3 > .bootstrap-select .dropdown-item:hover,
.configoption_form .col-md-3 > .bootstrap-select .dropdown-item:focus {
    background: #f7f7f7;
    color: #006eff;
}

/* ============================================
   响应式 — 移动端全面修复
   ============================================ */
@media (max-width: 768px) {

    /* 外层卡片减小内边距，最大化可用宽度 */
    .configoption_form {
        padding: 12px !important;
        border-radius: 6px;
    }

    /* 表单行：改为换行布局，标签在上、内容在下 */
    .configoption_form .form-group.row.configureproduct,
    .configoption_form .form-group.row {
        flex-wrap: wrap !important;
        flex-direction: column !important;
        gap: 6px !important;
        margin-bottom: 16px !important;
        align-items: stretch !important;
    }

    /* 标签列：全宽、不再固定 120px */
    .configoption_form .col-md-2.col-form-label {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        line-height: 28px !important;
        margin-bottom: 2px;
        padding-right: 0 !important;
    }

    /* 内容列：全宽 */
    .configoption_form .form-group.row > div:not(.col-md-2):not(.col-form-label) {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* ========== 移动端 OS 横向滚动（尺寸微调） ========== */
    .configoption_form .os-scroll-container {
        gap: 10px !important;
        padding-bottom: 6px !important;
    }
    .configoption_form .os-scroll-container .os-card {
        width: 92px !important;
        padding: 12px 6px 10px !important;
    }
    .configoption_form .os-scroll-container .os-card-icon {
        width: 30px !important;
        height: 30px !important;
        margin-bottom: 6px !important;
    }
    .configoption_form .os-scroll-container .os-card-icon .img_os {
        width: 26px !important;
        height: 26px !important;
    }
    .configoption_form .os-scroll-container .os-card-name {
        font-size: 12px !important;
    }

    /* ========== 移动端版本面板 ========== */
    .configoption_form .version-panel {
        margin-top: 10px !important;
    }
    .configoption_form .version-panel-title {
        padding: 8px 12px !important;
        font-size: 12px !important;
    }
    .configoption_form .version-panel-list {
        gap: 6px !important;
        padding: 10px !important;
    }
    .configoption_form .version-panel-list .version-item {
        padding: 5px 12px !important;
        font-size: 12px !important;
    }

    /* 滑块行：自适应 */
    .configoption_form .col-md-10.d-flex.align-items-center {
        gap: 6px !important;
        flex-wrap: nowrap !important;
        height: auto !important;
        min-height: 38px;
    }
    .configoption_form .configoption_range {
        min-width: 60px !important;
        width: 100% !important;
        flex: 1 1 auto !important;
    }
    .configoption_form .configoption_range_val {
        width: 48px !important;
        flex-shrink: 0;
    }
    .configoption_form .range-step-btn {
        width: 28px !important;
        height: 34px !important;
        font-size: 16px !important;
        flex-shrink: 0;
    }

    /* 按钮组：移动端每个按钮缩小 */
    .configoption_form .btn-group-toggle .btn,
    .configoption_form .btn-group-toggle .btn.btn-primary,
    .configoption_form .btn-group-toggle .btn.btn-primary.btn-sm,
    .configoption_form .btn-custom-group .btn {
        padding: 0 12px !important;
        font-size: 13px !important;
        height: 34px !important;
        line-height: 32px !important;
    }
    .configoption_form .btn-group.btn-group-toggle,
    .configoption_form .btn-group.btn-custom-group {
        gap: 6px !important;
    }

    /* 下拉框：移动端全宽 */
    .configoption_form .col-md-3 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .configoption_form .col-8.col-md-3 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .configoption_form .bootstrap-select .dropdown-toggle {
        height: 34px !important;
        line-height: 22px !important;
        font-size: 13px !important;
    }
    .configoption_form .col-md-3 > .bootstrap-select .dropdown-toggle {
        height: 34px !important;
        line-height: 22px !important;
        font-size: 13px !important;
    }

    /* 密码行 */
    .configoption_form .getPassword {
        min-width: 0 !important;
        height: 34px !important;
        font-size: 13px !important;
    }

    /* 费用卡片 */
    .fee-card {
        border-radius: 6px;
        margin-top: 12px;
    }
    .fee-summary-bar {
        flex-wrap: wrap !important;
        gap: 6px !important;
        padding: 10px 12px !important;
    }
    .fee-summary-label {
        font-size: 14px !important;
    }
    .fee-summary-price {
        font-size: 20px !important;
        text-align: left !important;
        flex: 1;
    }
    .fee-summary-detail-btn {
        font-size: 12px !important;
    }

    /* 明细表格 */
    .configoption_total.fee-original {
        padding: 4px 12px 12px !important;
    }
    .configoption_total.fee-original > table,
    .configoption_total.fee-original table.ordersummary {
        font-size: 12px !important;
    }
    .configoption_total.fee-original table td {
        padding: 6px 2px !important;
        word-break: break-all;
    }

    /* 购物车按钮 */
    .configoption_total #addToCartBtn,
    .configoption_total #addToCartBtn-wrapper {
        padding: 10px !important;
        font-size: 14px !important;
    }
}

/* 超小屏幕（≤400px）进一步优化 */
@media (max-width: 400px) {
    .configoption_form {
        padding: 8px !important;
    }
    .configoption_form .os-scroll-container .os-card {
        width: 82px !important;
        padding: 10px 4px 8px !important;
    }
    .configoption_form .os-scroll-container .os-card-icon {
        width: 26px !important;
        height: 26px !important;
    }
    .configoption_form .os-scroll-container .os-card-icon .img_os {
        width: 22px !important;
        height: 22px !important;
    }
    .configoption_form .os-scroll-container .os-card-name {
        font-size: 11px !important;
    }
    .configoption_form .version-panel-list .version-item {
        padding: 4px 10px !important;
        font-size: 11px !important;
    }
    .configoption_form .btn-group-toggle .btn,
    .configoption_form .btn-custom-group .btn {
        padding: 0 10px !important;
        font-size: 12px !important;
    }
    .fee-summary-bar {
        padding: 8px 10px !important;
    }
    .fee-summary-price {
        font-size: 18px !important;
    }
}


/* ==========================================================================
   公共片段皮肤（includes/*：表格公共件 / 弹窗 / 支付 / 升级 / 下单 / 图表）
   v2.4.2 起由 pages/includes.css 整体迁入本文件；原文件已弃用（保留空壳仅作说明）。
   迁移原因：该文件从未被 head.tpl 引用，导致支付区、升级配置、验证码等缺样式。
   ========================================================================== */
/* ==========================================================================
   1. 表格公共件：搜索 / 排序 / 表脚 / 每页数量
   （96idc-console.css 第 8、9、17 节已处理表头浅灰、短表格高度、分页基础态，
     这里只补 includes/ 片段自己的形态，不重复、不冲突）
   ========================================================================== */

/* —— 1.1 搜索框（includes/tablesearch.tpl） —— */
.table-search-row {
  margin-bottom: 14px;
}

.search-box .form-control#searchInp {
  height: 38px;
  padding-right: 40px;
  background: var(--idc-input-bg);
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text);
  font-size: 13px;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.search-box .form-control#searchInp::placeholder {
  color: var(--idc-text-placeholder);
}

.search-box .form-control#searchInp:focus {
  background: #fff;
  border-color: var(--idc-primary);
  box-shadow: 0 0 0 3px rgba(18, 103, 245, 0.14);
}

.search-box .search-icon {
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  color: var(--idc-text-placeholder);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: color .16s ease;
}

.search-box .search-icon:hover {
  color: var(--idc-primary);
}

/* —— 1.2 排序箭头（tablesearch.tpl 用行内颜色控制，这里给未激活态兜底） —— */
.main-content .table thead th.pointer {
  cursor: pointer;
  user-select: none;
}

.main-content .table thead th.pointer > span {
  gap: 1px;
}

.main-content .table thead th.pointer > span > i {
  font-size: 13px;
  line-height: 11px;
  color: var(--idc-text-placeholder);
  transition: color .16s ease;
}

.main-content .table thead th.pointer:hover > span > i {
  color: var(--idc-primary);
}

/* 排序箭头的“当前方向”由 tablesearch.tpl 的 changeStyle() 用行内 color 标记
   （0.8 = 激活、0.1 = 未激活），脚本保持原样，这里只给激活/未激活统一色感 */
.main-content .table thead th.pointer > span > i[style*="0.8"] {
  color: var(--idc-primary) !important;
}

/* —— 1.2b 表头浅灰收口：主控第 17.2 节只压了 thead.bg-light，
       弹窗里用的是 thead.thead-light（Bootstrap 的 --light 被基础皮肤映射成主色浅蓝），
       这里补上同色，避免表头出现蓝色色块 —— */
.modal table thead.thead-light,
.modal table thead.thead-light > tr > th,
.modal table thead.thead-light > tr > td,
.modal table thead > tr > th {
  background-color: #fafbfc !important;
  background-image: none !important;
  border-bottom: 1px solid var(--idc-border) !important;
  color: var(--idc-text-secondary);
  font-size: 13px;
  font-weight: 600;
}

.modal table thead > tr > th {
  padding-top: 11px;
  padding-bottom: 11px;
}

/* —— 1.3 表脚 / 分页 / 每页数量（tablefooter.tpl、clientarea-list.tpl、orderflow.tpl） —— */
.table-footer .table-pageinfo select,
.table-pageinfo select#limitSel,
.table-pageinfo select#sourcelimitSel {
  display: inline-block;
  width: auto;
  min-width: 66px;
  height: 32px;
  margin: 0 2px;
  padding: 0 26px 0 10px;
  background-color: #fff;
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text);
  font-size: 13px;
  line-height: 30px;
  vertical-align: middle;
  cursor: pointer;
}

.table-footer .table-pageinfo select:focus,
.table-pageinfo select#limitSel:focus,
.table-pageinfo select#sourcelimitSel:focus {
  border-color: var(--idc-primary);
  box-shadow: 0 0 0 3px rgba(18, 103, 245, 0.14);
  outline: none;
}

.table-footer .table-pagination .pagination {
  align-items: center;
  margin-bottom: 0;
}

/* —— 1.4 面包屑（breadcrumb.tpl）：去掉主控的 “/” 分隔，改用图标分隔 —— */
.bc-wrap {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  background: var(--idc-primary-soft-2);
  border: 1px solid var(--idc-primary-soft);
  border-radius: 999px;
}

.page-title-right .breadcrumb .breadcrumb-item + .breadcrumb-item::before,
.main-content .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: none;
  display: none;
  padding-right: 0;
}

.breadcrumb .breadcrumb-item a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.breadcrumb .breadcrumb-item a i {
  font-size: 14px;
  color: var(--idc-text-muted);
  vertical-align: -2px;
}

.breadcrumb .breadcrumb-item.active .bc-sep {
  margin-right: 6px;
  color: #c8cdd5;
  font-size: 15px;
  vertical-align: -2px;
}

/* —— 1.5 bootstrap-select 下拉（tablestyle.tpl / upgradeoption.tpl 引入） —— */
.table-footer .bootstrap-select,
.configureproduct .bootstrap-select {
  width: 100%;
}

.bootstrap-select > .dropdown-toggle.btn-default,
.bootstrap-select > .dropdown-toggle.bs-placeholder {
  height: 38px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text);
  font-size: 13px;
}

.bootstrap-select.show > .dropdown-toggle.btn-default,
.bootstrap-select > .dropdown-toggle.btn-default:focus {
  border-color: var(--idc-primary);
  box-shadow: 0 0 0 3px rgba(18, 103, 245, 0.14);
}

.bootstrap-select .dropdown-menu {
  padding: 6px;
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius-md);
  box-shadow: var(--idc-shadow-menu);
}

.bootstrap-select .dropdown-menu .dropdown-item {
  border-radius: var(--idc-radius-sm);
  color: var(--idc-text);
  font-size: 13px;
}

.bootstrap-select .dropdown-menu .dropdown-item:hover,
.bootstrap-select .dropdown-menu .dropdown-item:focus {
  background: var(--idc-hover-bg);
  color: var(--idc-primary);
}

.bootstrap-select .dropdown-menu .dropdown-item.active,
.bootstrap-select .dropdown-menu .dropdown-item:active {
  background: var(--idc-primary);
  color: #fff;
}

/* ==========================================================================
   2. 弹窗 / 模态公共形态（modal.tpl、pop.tpl、deleteConfirm.tpl、
      cancelrequire.tpl、secondVerify.tpl、orderflow.tpl、renew.tpl、paymodal.tpl）
   —— 圆角、标题层级、底部按钮主次在 console.css 已有基础，
      这里补齐片段自己的结构与“卡片化”观感
   ========================================================================== */

.modal .modal-dialog .modal-content {
  overflow: hidden;
  border-radius: var(--idc-radius-md);
}

/* 标题层级：弹窗主标题统一为 15px 半粗，左侧渐变竖条呼应 .idc-section */
.modal .modal-header {
  position: relative;
  padding: 15px 20px 15px 24px;
  background: linear-gradient(180deg, #fbfcff 0%, #fff 100%);
}

.modal .modal-header::before {
  content: "";
  position: absolute;
  top: 15px;
  bottom: 15px;
  left: 14px;
  width: 3px;
  border-radius: 2px;
  background: var(--idc-brand-gradient);
}

.modal .modal-header .modal-title {
  margin: 0;
  color: var(--idc-text-heading);
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
}

.modal .modal-header .close {
  padding: 6px 8px;
  margin: -4px -6px -4px 0;
  border-radius: var(--idc-radius-sm);
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  transition: background-color .16s ease, color .16s ease;
}

.modal .modal-header .close:hover,
.modal .modal-header .close:focus {
  background: var(--idc-hover-bg);
  color: var(--idc-primary);
}

/* 底部按钮区：主按钮在右、次按钮在左更符合主次阅读顺序 */
.modal .modal-footer {
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.modal .modal-footer .btn {
  min-width: 84px;
  height: 36px;
  padding: 0 18px;
  border-radius: var(--idc-radius);
  font-size: 13px;
  font-weight: 500;
  line-height: 34px;
}

.modal .modal-footer .btn + .btn {
  margin-left: 0;
}

.modal .modal-footer .btn-primary {
  border-color: var(--idc-primary);
  background: var(--idc-primary);
  color: #fff;
  box-shadow: 0 6px 14px rgba(18, 103, 245, .18);
}

.modal .modal-footer .btn-primary:hover,
.modal .modal-footer .btn-primary:focus {
  border-color: var(--idc-primary-hover);
  background: var(--idc-primary-hover);
  color: #fff;
}

.modal .modal-footer .btn-secondary,
.modal .modal-footer .btn-outline-light,
.modal .modal-footer .btn-default {
  border: 1px solid var(--idc-border);
  background: #fff;
  color: var(--idc-text-secondary);
}

.modal .modal-footer .btn-secondary:hover,
.modal .modal-footer .btn-outline-light:hover,
.modal .modal-footer .btn-default:hover {
  border-color: var(--idc-primary-border);
  background: var(--idc-primary-soft-2);
  color: var(--idc-primary);
}

/* —— 2.1 弹窗内表单：label 与控件对齐、行距统一 —— */
.modal .modal-body .form-group > label.col-form-label,
.modal .modal-body .form-group > .col-form-label {
  padding-top: 0;
  color: var(--idc-text-secondary);
  font-size: 13px;
  font-weight: 500;
  line-height: 38px;
}

.modal .modal-body .form-control {
  min-height: 38px;
  background: var(--idc-input-bg);
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text);
  font-size: 13px;
}

.modal .modal-body select.form-control {
  height: 38px;
  padding-top: 0;
  padding-bottom: 0;
}

.modal .modal-body .form-control:focus {
  background: #fff;
  border-color: var(--idc-primary);
  box-shadow: 0 0 0 3px rgba(18, 103, 245, 0.14);
}

.modal .modal-body .input-group-append .btn {
  height: 38px;
  padding: 0 14px;
  border: 1px solid var(--idc-primary-border);
  border-radius: 0 var(--idc-radius) var(--idc-radius) 0;
  background: var(--idc-primary-soft-2);
  color: var(--idc-primary);
  font-size: 13px;
  font-weight: 500;
}

.modal .modal-body .input-group-append .btn:hover {
  background: var(--idc-primary-soft);
}

/* —— 2.2 确认类弹窗内的警告文案（deleteConfirm.tpl 动态注入） —— */
#customBody .text-warning,
#confirmBody .text-warning {
  color: var(--idc-warning) !important;
}

#customBody > .d-flex,
#confirmBody > .d-flex {
  padding: 12px 14px;
  background: var(--idc-warning-soft);
  border: 1px solid #ffd9b8;
  border-radius: var(--idc-radius);
  color: #92500f;
  font-size: 13px;
  line-height: 20px;
}

/* —— 2.3 二次验证弹窗（secondVerify.tpl / modal.tpl 的 secondVerifyModal） —— */
.modal .modal-body .second_type {
  color: var(--idc-text);
}

#getCodeBox .btn,
.modal .modal-body .bind-phone-button {
  white-space: nowrap;
}

/* ==========================================================================
   3. 支付 / 升级：卡片化分栏、金额突出、按钮主次
   （只做视觉，字段名、action、onclick、AJAX url 全部原样）
   ========================================================================== */

/* —— 3.1 支付主体（pay.tpl） —— */
.pay-body {
  padding: 2px 0 0;
}

/* 金额区：小标签 + 品牌蓝大数字 */
.pay-body .pay-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 16px;
  margin-bottom: 16px;
  background: var(--idc-primary-soft-2);
  border: 1px solid var(--idc-primary-soft);
  border-radius: var(--idc-radius-md);
}

.pay-body .pay-title {
  margin: 0;
  color: var(--idc-text-secondary);
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
}

.pay-body .pay-title__label {
  color: var(--idc-text-heading);
  font-weight: 600;
}

.pay-body .pay-amount-value {
  margin: 0;
  color: var(--idc-primary);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.5px;
}

.pay-body .pay-area {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin: 0 0 4px;
}

#pay-type {
  flex: 0 1 auto;
  /* 跟随二维码实际宽度自适应（外框 = 二维码宽 + 20 padding + 2 border），窄屏由媒体查询 width:100% 接管 */
  width: max-content;
  max-width: 100%;
  min-width: 0;
  min-height: 200px;
  padding: 10px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius-md);
  box-shadow: var(--idc-shadow);
  text-align: center;
}

#myModal .modal-content {
  min-width: 0;
}

#pay-type > object,
#pay-type > img {
  max-width: 100%;
}

#pay-type > img {
  height: auto;
}

/* 二维码：锚点与 jquery.qrcode 生成的 canvas/img 均按卡片内容宽度等比缩放 */
#pay-type #canvas {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

#pay-type #canvas canvas,
#pay-type #canvas img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.pay-body .pay-text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 170px;
  color: var(--idc-text-secondary);
  font-size: 13px;
  line-height: 22px;
}

.pay-body .pay-text p {
  margin: 0;
  text-align: center;
}

.pay-body .pay-text a {
  color: var(--idc-primary);
  font-weight: 600;
}

.pay-body .par_balance {
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 200px;
  user-select: none;
  pointer-events: none;
}

.pay-body .par_balance img {
  width: 100%;
  height: 100%;
}

.pay-body .par_balance .balance_money {
  position: absolute;
  bottom: 78px;
  left: 50%;
  width: 100%;
  transform: translateX(-51%);
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  text-align: center;
}

/* 支付成功遮罩：主控 96idc-console.css 第 13 节有一条 `.pay_area_mask{display:flex}`
   （基础皮肤遗留），这里必须用同等以上特异性把它压回隐藏态，
   否则未支付时遮罩会直接盖在支付区上（见 pay.tpl 的 $('.pay_area_mask').css(...) 逻辑） */
.pay-body .pay-area .pay_area_mask {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius-md);
  box-shadow: var(--idc-shadow);
  z-index: 2;
}

.pay-body .pay-area .pay_area_mask img {
  width: 64px;
  height: 64px;
}

.pay-body .pay-area .pay_area_mask h4 {
  margin: 10px 0 0;
  color: var(--idc-success);
  font-size: 16px;
  font-weight: 600;
}

/* 支付方式下拉：卡片化、与二维码并排 */
.pay-body .pay-tools {
  margin-top: 12px;
}

.pay-body .pay-tools .select-pay,
.modal .modal-body .pay-tools .select-pay {
  width: 100%;
  height: 38px;
  background: var(--idc-input-bg);
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text);
  font-size: 13px;
}

.pay-body .pay-tools .select-pay:focus {
  background: #fff;
  border-color: var(--idc-primary);
  box-shadow: 0 0 0 3px rgba(18, 103, 245, 0.14);
}

/* 支付底部：左余额信息 + 右主按钮（主控的按钮主次已在 .modal-footer 统一） */
.modal .footer-pay-balance {
  color: var(--idc-text-secondary);
  font-size: 13px;
}

.modal .footer-pay-balance .font-weight-bold {
  color: var(--idc-text-heading);
  font-weight: 600;
}

.modal .footer-pay-balance img {
  vertical-align: -4px;
}

.modal .custom-control-label {
  color: var(--idc-text-secondary);
  font-size: 13px;
  cursor: pointer;
}

/* 支付方式下拉（paymodal.tpl 动态插入 .modal-header 的 .paySelect） */
.modal-header .paySelect,
.modal .paySelect {
  float: none;
  width: auto;
  min-width: 132px;
  height: 34px;
  margin-left: auto;
  margin-right: 14px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text);
  font-size: 13px;
}

/* 支付 loading 遮罩（paymodal.tpl） */
#loading-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

#loading-icon svg {
  width: 120px;
  height: 120px;
}

/* —— 3.2 升级 / 续费弹窗（upgrade.tpl / upgradeoption.tpl / renew.tpl） —— */

/* 产品行：卡片化 + 悬浮主色浅底 */
.configureproduct_form .flex-between,
.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: row wrap;
  gap: 10px 16px;
  min-height: 75px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--idc-border-light);
}

.flex-between:hover {
  background: var(--idc-hover-bg);
}

.flex-between .w-100 {
  width: 100% !important;
}

/* 第一步：产品选择行 —— 选中态用主色描边卡片 */
.upgrade-product-list .flex-between {
  margin-bottom: 10px;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius-md);
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.upgrade-product-list .flex-between:hover {
  border-color: var(--idc-primary-border);
  background: var(--idc-primary-soft-2);
}

.upgrade-product-list .upgradeRadio .custom-control-label {
  padding-left: 4px;
  color: var(--idc-text-heading);
  font-weight: 500;
  cursor: pointer;
}

.reset-label {
  max-width: 200px;
  color: var(--idc-text-heading);
  font-size: 13px;
  font-weight: 500;
  word-break: break-all;
}

/* 配置项分组：白底小卡 + 浅描边，与 .idc-section 呼应 */
.configureproduct {
  margin-bottom: 14px !important;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid var(--idc-border-light);
  border-radius: var(--idc-radius-md);
  transition: border-color .16s ease, box-shadow .16s ease;
}

.configureproduct:hover {
  border-color: var(--idc-primary-border);
  box-shadow: var(--idc-shadow);
}

.configureproduct > label.col-form-label {
  padding-top: 2px;
  color: var(--idc-text-secondary);
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
}

.configureproduct.disabled {
  opacity: .55;
}

/* 按钮组（单选/多选配置项）：主色描边胶囊 */
.configureproduct .btn-group-toggle > .btn {
  margin: 0 6px 6px 0;
  padding: 6px 14px;
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  background: #fff;
  color: var(--idc-text-secondary);
  font-size: 13px;
  line-height: 18px;
  box-shadow: none;
}

.configureproduct .btn-group-toggle > .btn:hover {
  border-color: var(--idc-primary-border);
  background: var(--idc-primary-soft-2);
  color: var(--idc-primary);
}

.configureproduct .btn-group-toggle > .btn.active,
.configureproduct .btn-group-toggle > .btn.active:focus {
  border-color: var(--idc-primary);
  background: var(--idc-primary);
  color: #fff;
}

.configureproduct .btn-group-toggle > .btn > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.configureproduct .form-check {
  display: flex;
  align-items: center;
  margin-bottom: 8px !important;
}

.configureproduct .form-check-input {
  margin-top: 0;
}

.configureproduct .form-check-label,
.configureproduct .custom-control-label {
  color: var(--idc-text-secondary);
  font-size: 13px;
  cursor: pointer;
}

/* 滑块（upgradeoption.tpl 配置项 type 4/7/9/...） */
.configureproduct input[type="range"] {
  height: 4px;
  border-radius: 3px;
  background: #eef1f7;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.configureproduct input[type="range"]::-webkit-slider-thumb {
  width: 14px;
  height: 22px;
  border: 4px solid var(--idc-primary);
  border-top-width: 5px;
  border-bottom-width: 5px;
  border-radius: 3px;
  background: #fff;
  cursor: pointer;
  -webkit-appearance: none;
}

.configureproduct input[type="range"]::-moz-range-thumb {
  width: 4px;
  height: 14px;
  border: 4px solid var(--idc-primary);
  border-top-width: 5px;
  border-bottom-width: 5px;
  border-radius: 3px;
  background: #fff;
  cursor: pointer;
}

.configureproduct .range_none {
  position: absolute;
  height: 3px;
  background: #e4e8f0;
  cursor: not-allowed;
}

.configoption_range_val {
  height: 30px;
  padding: 0 6px;
  text-align: center;
  background: var(--idc-input-bg);
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text);
  font-size: 13px;
}

/* 优惠码区（upgrade.tpl / upgradeoption.tpl） */
.yhm-flex {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  padding-bottom: 4px;
}

.yhm-flex .change-height {
  min-height: 38px;
  position: relative;
}

/* 优惠码输入的三件套默认隐藏（脚本 focus 时 show、blur 为空时 hide） */
.change-height .tips-text,
.change-height .clear-icon,
.change-height .error-text {
  display: none;
}

.tips-text {
  position: absolute;
  top: -4px;
  left: 0;
  color: var(--idc-text-placeholder);
  font-size: 12px;
  transform: scale(.5);
  transform-origin: left top;
}

.clear-icon {
  position: absolute;
  top: 11px;
  left: 88px;
  width: 13px;
  height: 13px;
  cursor: pointer;
}

.error-text {
  position: absolute;
  bottom: 0;
  color: var(--idc-danger);
  font-size: 12px;
}

.tips-div {
  display: flex;
  align-items: center;
  width: 100%;
  margin-top: 10px;
  padding: 6px 12px;
  background: var(--idc-warning-soft);
  border: 1px solid #ffd9b8;
  border-radius: var(--idc-radius);
  color: #92500f;
  font-size: 12px;
  line-height: 18px;
}

.tips-div img {
  width: 14px;
  height: 14px;
  margin-right: 6px;
}

.tips-div font {
  margin-left: auto;
  padding-left: 10px;
  color: #b9814a;
  font-size: 12px;
  cursor: pointer;
}

.use_promo_code.focus-button:disabled,
.remove_promo_code.focus-button:disabled {
  width: auto;
  min-width: 84px;
  height: 38px;
  background: #eef1f7;
  border: 0;
  color: var(--idc-text-placeholder);
  cursor: not-allowed;
}

.modal .get-input-focus,
.modal .form-control.get-input-focus {
  height: 38px;
  background: #fff;
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text);
  font-size: 13px;
}

/* 折扣 / 优惠码明细行：弱化说明、突出负数金额 */
.promo-line {
  margin-bottom: 10px;
  color: var(--idc-text-muted);
  font-size: 12px;
  line-height: 20px;
  text-align: right;
}

.promo-line__value {
  color: var(--idc-success) !important;
  font-size: 12px;
  font-weight: 600;
}

/* 金额突出：总计行（upgrade.tpl / upgradeoption.tpl） */
.yhm-flex .upgrade-total,
.modal .modal-body .upgrade-total {
  margin-bottom: 10px;
  color: var(--idc-text-muted);
  font-size: 12px;
  line-height: 20px;
  text-align: right;
}

.upgrade-total__value {
  color: var(--idc-primary) !important;
  font-size: 12px;
}

.upgrade-total__num {
  color: var(--idc-primary);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.3px;
}

.amount-total {
  color: var(--idc-primary);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -.3px;
}

/* 升级对比表：箭头与旧值弱化 */
.modal .table .text-truncate {
  max-width: 220px;
  color: var(--idc-text-heading);
  font-size: 13px;
  font-weight: 500;
}

.modal .table td .text-truncate {
  color: var(--idc-text-secondary);
}

/* 续费：付款周期按钮组 + 金额 */
.btn-radio-bill {
  margin: 0 8px 8px 0;
  padding: 6px 16px;
  border: 1px solid var(--idc-border) !important;
  border-radius: var(--idc-radius) !important;
  background: #fff !important;
  color: var(--idc-text-secondary) !important;
  font-size: 13px;
  box-shadow: none !important;
}

.btn-radio-bill:hover {
  border-color: var(--idc-primary-border) !important;
  background: var(--idc-primary-soft-2) !important;
  color: var(--idc-primary) !important;
}

.btn-radio-bill.active,
.btn-radio-bill.active:focus {
  border-color: var(--idc-primary) !important;
  background: var(--idc-primary) !important;
  color: #fff !important;
}

.btn-radio-bill input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.renew .form-group .text-primary {
  color: var(--idc-primary) !important;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.renew .renew-amount {
  padding: 12px 14px;
  background: var(--idc-primary-soft-2);
  border: 1px solid var(--idc-primary-soft);
  border-radius: var(--idc-radius-md);
  color: var(--idc-text-secondary);
  font-size: 13px;
}

.renew .renew-footer {
  padding: 14px 0 0;
  margin: 4px 0 0;
  border-top: 1px solid var(--idc-border-light);
  background: transparent;
}

#cycle-amount {
  font-size: 24px;
  font-weight: 700;
}

/* ==========================================================================
   4. 下单流程 / 图表 / 资源列表 / 富文本
   ========================================================================== */

/* —— 4.0 图形验证码（verify.tpl） —— */
.captcha-field .input-group {
  flex-wrap: nowrap;
}

.captcha-field__label {
  display: block;
  margin-bottom: 6px;
  color: var(--idc-text-secondary);
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
}

.captcha-field .form-group .captcha-field__label {
  margin-bottom: 0;
}

.captcha-field__img {
  display: block;
  width: 120px;
  height: 40px;
  object-fit: cover;
  background: var(--idc-input-bg);
  border: 1px solid var(--idc-border) !important;
  border-radius: 0 var(--idc-radius) var(--idc-radius) 0;
  cursor: pointer;
}

/* —— 4.1 流量包订购弹窗（orderflow.tpl）：表格内操作链接主色化 —— */
#modalOrderFlow .table {
  margin-bottom: 0;
}

#modalOrderFlow .table tbody tr:hover {
  background: var(--idc-hover-bg);
}

#modalOrderFlow .buy_flowpacket {
  color: var(--idc-primary);
  font-weight: 600;
}

#modalOrderFlow .buy_flowpacket:hover {
  color: var(--idc-primary-hover);
  text-decoration: underline;
}

#modalOrderFlow .table-footer {
  padding: 12px 0 0;
  border-top: 1px solid var(--idc-border-light);
  background: transparent;
}

/* —— 4.2 图表（chart.tpl）：图卡化 + 顶部标题条 —— */
.chartbox {
  width: 50% !important;
  padding: 0 10px 10px;
  margin-bottom: 10px;
  box-sizing: border-box;
}

.module_chart {
  position: relative;
  padding: 14px 18px 12px;
  background: linear-gradient(180deg, #fbfcff 0%, #fff 100%);
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius-md);
  box-shadow: var(--idc-shadow);
}

.module_chart__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 60px;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--idc-border-light);
}

.module_chart h4,
.module_chart__title {
  position: relative;
  float: none;
  margin: 0;
  padding-left: 12px;
  color: var(--idc-text-heading);
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
}

.module_chart h4::before,
.module_chart__title::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 0;
  width: 3px;
  border-radius: 2px;
  background: var(--idc-brand-gradient);
}

.module_chart__select {
  flex: none;
  width: 200px;
}

.module_chart__select .form-control {
  height: 34px;
  background: var(--idc-input-bg);
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text-secondary);
  font-size: 13px;
}

.module_chart .module_chart_date {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 0 0;
}

.module_chart .module_chart_date .form-control {
  width: auto;
  height: 34px;
  padding: 0 10px;
  background: var(--idc-input-bg);
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius);
  color: var(--idc-text-secondary);
  font-size: 13px;
}

.module_chart .module_chart_date .form-control:focus {
  background: #fff;
  border-color: var(--idc-primary);
  box-shadow: 0 0 0 3px rgba(18, 103, 245, 0.14);
}

.module_chart .module_chart_date .mr-3 {
  margin-right: 0 !important;
}

.chartbox .chart_content_box {
  height: 500px;
  border-radius: var(--idc-radius-md);
}

/* —— 4.3 首页资源列表（clientarea-list.tpl，AJAX 注入 #sourceListBox） —— */
#sourceListBox .card-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

#sourceListBox .tablelist {
  margin-top: 12px !important;
}

#sourceListBox .tablelist tbody tr {
  transition: background-color .16s ease;
}

#sourceListBox .tablelist tbody tr:hover {
  background: var(--idc-hover-bg);
}

#sourceListBox .tablelist tbody td {
  vertical-align: middle;
  color: var(--idc-text-secondary);
  font-size: 13px;
}

#sourceListBox .tablelist tbody td a.text-dark {
  color: var(--idc-text-heading) !important;
  font-weight: 500;
}

#sourceListBox .tablelist tbody td a.text-dark:hover {
  color: var(--idc-primary) !important;
}

#sourceListBox .no-data {
  display: block;
  min-height: 0;
  padding: 8px 0 4px;
}

#sourceListBox .no-data .idc-empty {
  min-height: 140px;
}

.user-center_dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  vertical-align: 1px;
}

.user-center_dot.bg-success {
  background: var(--idc-success) !important;
  box-shadow: 0 0 0 3px var(--idc-success-soft);
}

/* —— 4.4 富文本编辑器（summernote.tpl / markdown.tpl） —— */
.note-editor.note-frame {
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius-md);
  overflow: hidden;
}

.note-editor.note-frame .note-toolbar {
  background: linear-gradient(180deg, #fbfcff 0%, #fff 100%);
  border-bottom: 1px solid var(--idc-border-light);
}

.note-editor.note-frame .note-btn {
  border-radius: var(--idc-radius-sm);
  color: var(--idc-text-secondary);
}

.note-editor.note-frame .note-btn:hover {
  background: var(--idc-hover-bg);
  color: var(--idc-primary);
}

.note-editor.note-frame .note-editing-area .note-editable {
  color: var(--idc-text);
  font-size: 13px;
  line-height: 22px;
}

.md-editor {
  border: 1px solid var(--idc-border);
  border-radius: var(--idc-radius-md);
  overflow: hidden;
}

/* —— 4.5 确认弹窗内的说明段落（upgradeoption.tpl 的“确认”弹窗） —— */
.modal .modal-body > .confirm-text {
  margin: 0 0 18px;
  padding: 16px;
  background: var(--idc-primary-soft-2);
  border: 1px solid var(--idc-primary-soft);
  border-radius: var(--idc-radius-md);
  color: var(--idc-text-secondary);
  font-size: 13px;
  line-height: 22px;
}

.modal .modal-body > .confirm-text::before {
  content: "\ea8d";
  font-family: boxicons !important;
  font-weight: 400;
  font-style: normal;
  margin-right: 8px;
  color: var(--idc-primary);
  font-size: 15px;
  vertical-align: -1px;
}

/* ==========================================================================
   5. 响应式四档（≥1200 / 992 / 768 / 手机）
   ========================================================================== */
@media (max-width: 1366px) {
  .chartbox {
    width: 100% !important;
  }
}

@media (max-width: 1199.98px) {
  .pay-body .pay-area {
    gap: 14px;
  }

  .module_chart .module_chart_date .form-control {
    flex: 1 1 180px;
  }
}

@media (max-width: 991.98px) {
  .modal .modal-body .form-group > label.col-form-label,
  .modal .modal-body .form-group > .col-form-label {
    text-align: left !important;
    line-height: 20px;
    margin-bottom: 6px;
  }

  .configureproduct > label.col-form-label {
    margin-bottom: 6px;
  }

  .yhm-flex {
    flex-direction: column;
    align-items: stretch;
  }

  .yhm-flex > div {
    width: 100% !important;
  }
}

@media (max-width: 767.98px) {
  /* 窄屏支付弹窗：限高 + 内容区滚动，避免顶出屏幕 */
  #myModal .modal-dialog {
    max-width: calc(100% - 24px);
    margin: 12px auto;
  }

  #myModal .modal-content {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
  }

  #myModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
  }

  .pay-body .pay-area {
    flex-direction: column;
  }

  #pay-type {
    width: 100%;
  }

  .pay-body .par_balance {
    position: static;
    width: 200px;
    margin: 0 auto;
  }

  .modal .modal-footer {
    justify-content: stretch;
  }

  .modal .modal-footer .btn {
    flex: 1 1 auto;
    min-width: 0;
  }

  .table-footer {
    align-items: stretch;
  }

  .table-footer .table-pagination {
    justify-content: space-between;
  }

  .search-box .col-sm-6,
  .tablesearch .col-sm-6 {
    max-width: 100%;
    flex: 0 0 100%;
  }

  .module_chart {
    padding: 12px 14px 10px;
  }

  .module_chart__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .module_chart__select {
    width: 100%;
  }

  .chartbox .chart_content_box {
    height: 320px;
  }
}

@media (max-width: 575.98px) {
  .table-footer .table-pageinfo {
    font-size: 12px;
  }

  .pay-body .pay-title + h2 {
    font-size: 24px;
  }

  #cycle-amount,
  .renew .form-group .text-primary {
    font-size: 20px;
  }

  .modal .modal-header {
    padding: 13px 16px 13px 20px;
  }

  .modal .modal-header::before {
    left: 11px;
  }
}
