/* +----------------------------------------------------------------------
/* | Static Plugin for ThinkAdmin
/* +----------------------------------------------------------------------
/* | 官方网站: https://thinkadmin.top
/* +----------------------------------------------------------------------
/* | 版权所有 2014~2025 ThinkAdmin [ thinkadmin.top ]
/* +----------------------------------------------------------------------
/* | 开源协议 ( https://mit-license.org )
/* | 免责声明 ( https://thinkadmin.top/disclaimer )
/* +----------------------------------------------------------------------
/* | gitee 代码仓库：https://gitee.com/zoujingli/think-plugs-static
/* | github 代码仓库：https://github.com/zoujingli/think-plugs-static
/* +----------------------------------------------------------------------
/* | 自定义后台扩展样式，需要在加载 console.css 后载入
/* | 使用 composer require zoujingli/think-plugs-static 时不会更新此文件
/* +---------------------------------------------------------------------- */

/* 业务后台专用主题：body class 由 extra/script.js 按 admin/api_* 路径添加。 */
body.api-business-page {
	--api-primary: #2563eb;
	--api-primary-light: #eff6ff;
	--api-border: #e5eaf2;
	--api-muted: #64748b;
	--api-title: #172033;
	background: #f4f7fb;
	color: #334155;
}

body.api-business-page .layui-body {
	background: #f4f7fb !important;
}

body.api-business-page > .layui-card,
body.api-business-page .layui-body > .layui-card {
	margin: 16px;
	overflow: hidden;
	border: 1px solid rgba(226, 232, 240, .9);
	border-radius: 12px;
	box-shadow: 0 8px 30px rgba(15, 23, 42, .06);
}

body.api-business-page .layui-card-header {
	height: 58px;
	padding: 0 22px;
	border: 0;
	color: var(--api-title);
	font-size: 16px;
	font-weight: 600;
	line-height: 58px;
	background: linear-gradient(90deg, #fff 0%, #f8fbff 100%);
}

body.api-business-page .layui-card-line {
	border-color: #edf1f7;
}

body.api-business-page .layui-card-body {
	padding: 20px 22px;
}

body.api-business-page .think-box-shadow {
	overflow: hidden;
	border: 1px solid var(--api-border);
	border-radius: 10px;
	box-shadow: none;
}

body.api-business-page .layui-form-pane,
body.api-business-page form.form-search {
	margin-bottom: 18px;
	padding: 16px 16px 6px;
	border: 1px solid var(--api-border);
	border-radius: 10px;
	background: #f8fafc;
}

body.api-business-page .layui-input,
body.api-business-page .layui-textarea,
body.api-business-page .layui-select-title input {
	border-color: #dbe2eb;
	border-radius: 7px;
	transition: border-color .2s, box-shadow .2s;
}

body.api-business-page .layui-input:hover,
body.api-business-page .layui-textarea:hover,
body.api-business-page .layui-input:focus,
body.api-business-page .layui-textarea:focus {
	border-color: #93b4ef !important;
}

body.api-business-page .layui-input:focus,
body.api-business-page .layui-textarea:focus {
	box-shadow: 0 0 0 3px rgba(37, 99, 235, .1);
}

body.api-business-page .layui-btn {
	border-radius: 7px;
	box-shadow: 0 3px 9px rgba(37, 99, 235, .12);
}

body.api-business-page .layui-btn:not(.layui-btn-primary):not(.layui-btn-danger):not(.layui-btn-warm) {
	background-color: var(--api-primary);
}

body.api-business-page .layui-btn-primary {
	border-color: #d8e0ea;
	color: #475569;
	background: #fff;
	box-shadow: none;
}

body.api-business-page .layui-table-header th {
	color: #475569;
	font-weight: 600;
	background: #f8fafc;
}

body.api-business-page .layui-table-view {
	border: 0;
}

body.api-business-page .layui-table tbody tr:hover {
	background: #f5f9ff;
}

body.api-business-page .layui-laypage .layui-laypage-curr .layui-laypage-em {
	border-radius: 5px;
	background: var(--api-primary);
}

body.api-business-page .layui-layer-page {
	overflow: hidden;
	border-radius: 12px !important;
	box-shadow: 0 18px 55px rgba(15, 23, 42, .2) !important;
}

body.api-business-page .layui-layer-page .layui-layer-title {
	height: 54px;
	padding: 0 56px 0 22px;
	border-color: #e8edf4;
	color: #1e293b;
	font-size: 16px;
	font-weight: 600;
	line-height: 54px;
	background: linear-gradient(90deg, #fff 0%, #f7faff 100%);
}

body.api-business-page .layui-layer-page .layui-layer-setwin {
	top: 20px;
	right: 20px;
}

body.api-business-page .layui-layer-page .layui-layer-content {
	background: #f5f7fb;
}

/* 业务添加、编辑及审核弹窗：与横向搜索表单完全隔离。 */
body.api-business-page form.layui-form.layui-card:not(.form-search) {
	margin: 0;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: #f5f7fb;
	box-shadow: none;
}

body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) > .layui-card-body {
	box-sizing: border-box;
	width: calc(100% - 32px);
	max-width: 1120px;
	margin: 18px auto 24px;
	padding: 30px 32px 22px;
	border: 1px solid rgba(226, 232, 240, .95);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 26px rgba(15, 23, 42, .055);
}

body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) > .layui-card-body > .layui-form-item {
	margin-bottom: 20px;
}

body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) .layui-form-label {
	box-sizing: content-box;
	width: 112px;
	padding: 9px 16px 9px 8px;
	color: #475569;
	font-weight: 500;
	line-height: 20px;
	text-align: right;
}

body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) .layui-input-block {
	margin-left: 136px;
}

body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) .layui-input-inline {
	width: 195px;
	margin-right: 12px;
}

body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) .layui-input-block + .layui-form-mid.layui-word-aux {
	float: none;
	clear: both;
	margin-left: 136px;
	padding-top: 8px !important;
}

body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) .layui-form-mid.layui-word-aux {
	color: #8491a5 !important;
	font-size: 12px;
	line-height: 1.65;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-input,
body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-textarea,
body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-select-title input {
	color: #273449;
	background-color: #fff;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-input {
	height: 40px;
	line-height: 40px;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-textarea {
	min-height: 112px;
	padding: 11px 13px;
	line-height: 1.65;
	resize: vertical;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-input[readonly],
body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-textarea[readonly] {
	color: #64748b;
	background: #f8fafc;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) input[type="file"].layui-input {
	height: auto;
	min-height: 40px;
	padding: 7px 10px;
	line-height: 24px;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-form-radio,
body.api-business-page form.layui-form.layui-card:not(.form-search) .think-radio,
body.api-business-page form.layui-form.layui-card:not(.form-search) .think-checkbox {
	margin-right: 18px;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) > .hr-line-dashed {
	display: none;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) > .layui-form-item.text-center,
body.api-business-page form.layui-form.layui-card:not(.form-search) > .api-form-actions {
	position: sticky;
	z-index: 20;
	bottom: 0;
	box-sizing: border-box;
	width: 100%;
	margin: 0 !important;
	padding: 16px 24px 18px;
	border-top: 1px solid var(--api-border);
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 -8px 22px rgba(15, 23, 42, .05);
	backdrop-filter: blur(8px);
}

body.api-business-page form.layui-form.layui-card:not(.form-search) > .layui-form-item.text-center .layui-btn,
body.api-business-page form.layui-form.layui-card:not(.form-search) > .api-form-actions .layui-btn {
	min-width: 104px;
	height: 38px;
	margin: 0 5px;
	line-height: 38px;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) > .layui-form-item.text-center .layui-btn-danger,
body.api-business-page form.layui-form.layui-card:not(.form-search) > .api-form-actions .layui-btn-danger {
	border-color: #d8e0ea;
	color: #475569;
	background: #fff;
	box-shadow: none;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-elem-quote {
	border-radius: 8px;
	color: #64748b;
	line-height: 1.7;
	background: #f8fafc;
}

body.api-business-page form.layui-form.layui-card:not(.form-search) .layui-form-label.label-required-next:after {
	margin-left: 4px;
}

body.api-business-page .api-level-form {
	min-width: 720px;
	margin: 0;
	border: 0;
	box-shadow: none;
}

body.api-business-page .api-level-form > .layui-card-body {
	padding: 22px;
	background: #f6f8fc;
}

.api-form-section {
	margin-bottom: 18px;
	padding: 20px;
	border: 1px solid var(--api-border);
	border-radius: 12px;
	background: #fff;
}

.api-form-section:last-child {
	margin-bottom: 0;
}

.api-form-section__header {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.api-form-section__icon {
	width: 38px;
	height: 38px;
	margin-right: 12px;
	border-radius: 10px;
	color: var(--api-primary);
	font-weight: 700;
	line-height: 38px;
	text-align: center;
	background: var(--api-primary-light);
}

.api-form-section__header h3 {
	margin: 0 0 4px;
	color: var(--api-title);
	font-size: 16px;
	font-weight: 600;
}

.api-form-section__header p {
	margin: 0;
	color: var(--api-muted);
	font-size: 12px;
}

.api-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 24px;
}

.api-form-grid .layui-form-item {
	margin: 0;
}

.api-form-grid .layui-form-label {
	float: none;
	display: block;
	width: auto;
	padding: 0 0 8px;
	color: #475569;
	line-height: 20px;
	text-align: left;
}

.api-form-grid .layui-input-block {
	margin-left: 0;
}

.api-input-unit {
	position: relative;
}

.api-input-unit .layui-input {
	padding-right: 48px;
}

.api-input-unit > span {
	position: absolute;
	top: 1px;
	right: 1px;
	bottom: 1px;
	min-width: 42px;
	border-left: 1px solid #e2e8f0;
	border-radius: 0 7px 7px 0;
	color: var(--api-muted);
	line-height: 36px;
	text-align: center;
	background: #f8fafc;
}

.api-benefit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.api-benefit-card {
	position: relative;
	min-height: 112px;
	padding: 16px;
	border: 1px solid #dde4ee;
	border-radius: 11px;
	background: #fff;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}

.api-benefit-card:hover {
	border-color: #9db9ed;
	transform: translateY(-1px);
}

.api-benefit-card.is-selected {
	border-color: #6f9eea;
	background: linear-gradient(145deg, #fff 35%, #f1f7ff 100%);
	box-shadow: 0 6px 18px rgba(37, 99, 235, .1);
}

.api-benefit-choice {
	display: flex;
	cursor: pointer;
}

.api-benefit-choice > input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.api-benefit-checkbox {
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin: 1px 11px 0 0;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	color: transparent;
	line-height: 18px;
	text-align: center;
	background: #fff;
	transition: all .2s;
}

.api-benefit-checkbox .layui-icon {
	font-size: 13px;
}

.api-benefit-card.is-selected .api-benefit-checkbox {
	border-color: var(--api-primary);
	color: #fff;
	background: var(--api-primary);
}

.api-benefit-copy {
	min-width: 0;
}

.api-benefit-copy strong {
	display: block;
	margin-bottom: 5px;
	color: var(--api-title);
	font-size: 14px;
}

.api-benefit-copy small {
	display: block;
	color: var(--api-muted);
	font-size: 12px;
	line-height: 1.6;
}

.api-benefit-value {
	position: relative;
	width: 180px;
	margin: 13px 0 0 31px;
}

.api-benefit-value .layui-input {
	height: 34px;
	padding-right: 47px;
}

.api-benefit-value > span {
	position: absolute;
	top: 0;
	right: 10px;
	color: var(--api-muted);
	font-size: 12px;
	line-height: 34px;
}

.api-benefit-value .layui-input:disabled {
	color: #94a3b8;
	background: #f1f5f9;
	cursor: not-allowed;
}

.api-benefit-automatic {
	margin: 13px 0 0 31px;
	color: #94a3b8;
	font-size: 12px;
}

.api-benefit-card.is-selected .api-benefit-automatic {
	color: var(--api-primary);
}

.api-legacy-notice {
	margin-top: 14px;
	padding: 10px 13px;
	border: 1px solid #fde68a;
	border-radius: 8px;
	color: #92400e;
	background: #fffbeb;
}

.api-form-actions {
	margin: 0 !important;
	padding: 16px 22px;
	border-top: 1px solid var(--api-border);
	background: #fff;
}

.api-benefit-tags {
	white-space: normal;
}

.api-benefit-tag {
	display: inline-block;
	margin: 2px 4px 2px 0;
	padding: 2px 7px;
	border: 1px solid #bfdbfe;
	border-radius: 10px;
	color: #1d4ed8;
	font-size: 12px;
	line-height: 18px;
	background: #eff6ff;
}

.api-benefit-empty {
	color: #94a3b8;
}

body.api-business-page .api-richtext-source {
	min-height: 420px;
}

.api-content-preview {
	min-width: 720px;
	margin: 0;
	border: 0;
	box-shadow: none;
}

.api-content-preview__meta {
	margin-left: 16px;
	color: var(--api-muted);
	font-size: 12px;
	font-weight: 400;
}

body.api-business-page .api-content-preview__scroll {
	max-height: calc(100vh - 132px);
	padding: 24px clamp(20px, 5vw, 72px);
	overflow: auto;
	background: #f4f7fb;
}

.api-content-preview__cover {
	margin: 0 auto 22px;
	text-align: center;
}

.api-content-preview__cover img {
	max-width: 100%;
	max-height: 420px;
	border-radius: 12px;
	object-fit: contain;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .1);
}

.api-content-preview__time {
	margin-bottom: 18px;
	padding: 12px 16px;
	border: 1px solid var(--api-border);
	border-radius: 8px;
	color: var(--api-muted);
	background: #fff;
}

.api-content-preview__time span {
	margin-left: 24px;
}

.api-content-language {
	margin-bottom: 24px;
	padding: clamp(22px, 4vw, 48px);
	border: 1px solid var(--api-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 6px 22px rgba(15, 23, 42, .05);
}

.api-content-language:last-child {
	margin-bottom: 0;
}

.api-content-language__label {
	display: inline-block;
	margin-bottom: 14px;
	padding: 4px 10px;
	border-radius: 12px;
	color: #1d4ed8;
	font-size: 12px;
	background: #eff6ff;
}

.api-content-language h1 {
	margin: 0 0 16px;
	color: #0f172a;
	font-size: 28px;
	font-weight: 650;
	line-height: 1.35;
}

.api-content-summary {
	margin: 0 0 24px;
	padding: 14px 16px;
	border-left: 4px solid #93b4ef;
	color: #64748b;
	font-size: 15px;
	line-height: 1.8;
	background: #f8fafc;
}

.api-rich-content {
	overflow-wrap: anywhere;
	color: #334155;
	font-size: 16px;
	line-height: 1.9;
}

.api-rich-content img,
.api-rich-content video,
.api-rich-content iframe {
	max-width: 100% !important;
}

.api-rich-content img {
	height: auto !important;
}

.api-rich-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}

.api-rich-content th,
.api-rich-content td {
	padding: 8px 12px;
	border: 1px solid #dbe2eb;
}

.api-rich-content pre {
	overflow-x: auto;
	white-space: pre-wrap;
}

.api-content-empty {
	padding: 36px 20px;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
	color: #94a3b8;
	text-align: center;
	background: #f8fafc;
}

.api-payment-account-detail {
	margin: 0;
	border: 0;
	box-shadow: none;
}

.api-payment-account-detail > .layui-card-body {
	padding: 22px 26px;
}

.api-payment-account-detail .layui-table th {
	width: 110px;
	color: #475569;
	font-weight: 600;
	background: #f8fafc;
}

.api-payment-account-detail .api-sensitive-value {
	color: #b45309;
	font-family: Consolas, Monaco, monospace;
	font-size: 14px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	.api-form-grid,
	.api-benefit-grid {
		grid-template-columns: 1fr;
	}

	.api-content-preview__time span {
		display: block;
		margin: 6px 0 0;
	}
}

@media (max-width: 760px) {
	body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) > .layui-card-body {
		width: calc(100% - 20px);
		margin-top: 10px;
		padding: 20px 18px 12px;
	}

	body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) .layui-form-label {
		float: none;
		display: block;
		width: auto;
		padding: 0 0 8px;
		text-align: left;
	}

	body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) .layui-input-block {
		margin-left: 0;
	}

	body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) .layui-input-inline {
		float: none;
		display: block;
		width: 100%;
		margin: 0 0 14px;
	}

	body.api-business-page form.layui-form.layui-card:not(.form-search):not(.api-level-form) .layui-input-block + .layui-form-mid.layui-word-aux {
		margin-left: 0;
	}
}
