.admin-sidebar nav a.active {
	background: #342f45;
	color: #fff
}

.admin-main {
	min-width: 0
}

.admin-stats .ok {
	font-size: 25px
}

.admin-primary, .admin-secondary {
	border: 0;
	border-radius: 11px;
	padding: 11px 16px;
	font: 600 13px inherit;
	cursor: pointer
}

.admin-primary {
	background: #5541ee;
	color: #fff
}

.admin-secondary {
	background: #efedfa;
	color: #5541ee
}

	.admin-primary:disabled, .admin-secondary:disabled {
		opacity: .55;
		cursor: not-allowed
	}

.admin-notice {
	margin: -14px 0 20px;
	padding: 12px 15px;
	border: 1px solid #cbeadf;
	border-radius: 12px;
	background: #effaf6;
	color: #177e5d;
	font-size: 13px
}

	.admin-notice.error {
		border-color: #ffd2d9;
		background: #fff1f3;
		color: #c03955
	}

.editor-notice {
	margin: 0 0 16px
}

.admin-table-card {
	padding: 0;
	overflow: hidden
}

.admin-query-bar {
	display: grid;
	grid-template-columns: minmax(260px,1fr) 180px auto;
	align-items: end;
	gap: 14px;
	padding: 18px;
	border-bottom: 1px solid #efedf3;
	background: #fcfbfd
}

	.admin-query-bar label {
		display: grid;
		gap: 7px;
		margin: 0;
		color: #6f6a78;
		font-size: 11px;
		font-weight: 600
	}

.admin-query-actions {
	display: flex;
	gap: 8px
}

.admin-table-wrap {
	overflow: auto
}

.admin-data-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px
}

	.admin-data-table th {
		padding: 15px 18px;
		background: #faf9fc;
		color: #85818f;
		text-align: left;
		font-size: 11px;
		letter-spacing: .4px;
		white-space: nowrap
	}

	.admin-data-table td {
		padding: 16px 18px;
		border-top: 1px solid #efedf3;
		color: #514e5b;
		vertical-align: middle
	}

		.admin-data-table td strong, .admin-data-table td small {
			display: block
		}

		.admin-data-table td strong {
			color: #282431;
			margin-bottom: 4px
		}

		.admin-data-table td small {
			max-width: 270px;
			color: #9995a2;
			font-size: 11px;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap
		}

.row-actions {
	display: flex;
	gap: 6px
}

	.row-actions button {
		border: 0;
		border-radius: 8px;
		background: #f0eeff;
		color: #5541ee;
		padding: 7px 10px;
		font: 600 11px inherit;
		cursor: pointer
	}

		.row-actions button.danger {
			background: #fff0f2;
			color: #c03955
		}

			.row-actions button.danger.confirm {
				background: #c03955;
				color: #fff
			}

		.row-actions button:disabled {
			opacity: .45;
			cursor: not-allowed
		}

.state-pill {
	display: inline-flex;
	padding: 5px 9px;
	border-radius: 999px;
	background: #fff5de;
	color: #a66d00;
	font-size: 11px;
	font-weight: 600
}

	.state-pill.active, .state-pill.paid {
		background: #e9f8f2;
		color: #16845f
	}

	.state-pill.disabled, .state-pill.failed, .state-pill.refunded {
		background: #fff0f2;
		color: #bc3a52
	}

.credit-change {
	font-weight: 700;
	white-space: nowrap
}

	.credit-change.positive {
		color: #16845f
	}

	.credit-change.negative {
		color: #bc3a52
	}

.credit-user {
	max-width: 260px
}

.credit-reference {
	max-width: 320px
}

.admin-empty {
	padding: 54px;
	text-align: center;
	color: #9995a2;
	font-size: 13px
}

.admin-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 18px;
	border-top: 1px solid #efedf3;
	background: #fcfbfd;
	color: #8b8792;
	font-size: 12px
}

	.admin-pagination > div {
		display: flex;
		align-items: center;
		gap: 10px
	}

	.admin-pagination strong {
		color: #514e5b;
		font-size: 12px
	}

	.admin-pagination button {
		border: 1px solid #dedbea;
		border-radius: 9px;
		background: #fff;
		color: #5541ee;
		padding: 8px 12px;
		font: 600 11px inherit;
		cursor: pointer
	}

		.admin-pagination button:hover:not(:disabled) {
			border-color: #c8c1f5;
			background: #f3f1ff
		}

		.admin-pagination button:disabled {
			color: #aaa7b3;
			background: #f4f3f6;
			cursor: not-allowed
		}

.truncate-cell {
	max-width: 260px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

.setting-value {
	max-width: 620px;
	white-space: pre-wrap;
	word-break: break-word
}

.admin-editor-overlay {
	position: fixed;
	inset: 0;
	z-index: 30;
	display: flex;
	justify-content: flex-end;
	background: #17131f66;
	backdrop-filter: blur(3px)
}

.admin-editor-card {
	width: 100%;
	height: auto;
	min-height: 100%;
	overflow: visible;
	background: #fff;
	padding: 34px;
	box-shadow: none
}

	.admin-editor-card.wide {
		width: min(680px,100%)
	}

.editor-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 26px
}

	.editor-title h2 {
		margin-top: 7px
	}

.icon-close {
	border: 0;
	background: #f3f1f7;
	color: #777280;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	font-size: 21px;
	cursor: pointer
}

.admin-editor-card label {
	display: block;
	margin: 16px 0 0;
	color: #5f5b68;
	font-size: 12px;
	font-weight: 600
}

	.admin-editor-card label .form-control, .admin-editor-card label .form-select {
		margin-top: 7px
	}

.admin-editor-card textarea.form-control {
	min-height: 92px;
	resize: vertical
}

.form-grid {
	display: grid;
	gap: 13px
}

	.form-grid.two {
		grid-template-columns: repeat(2,minmax(0,1fr))
	}

.check-field {
	display: flex !important;
	align-items: center;
	gap: 8px;
	min-height: 43px;
	padding-top: 15px
}

	.check-field input {
		width: 16px;
		height: 16px
	}

.credit-adjust {
	margin-top: 22px;
	padding: 18px;
	border-radius: 14px;
	background: #f8f7fb
}

	.credit-adjust h3 {
		font-size: 15px
	}

	.credit-adjust .admin-secondary {
		margin-top: 14px
	}

.editor-actions {
	display: flex;
	justify-content: flex-end;
	gap: 9px;
	margin-top: 30px;
	padding-top: 20px;
	border-top: 1px solid #efedf3
}

.form-hint {
	font-size: 11px;
	color: #9995a2;
	line-height: 1.6
}

.setting-editor {
	min-height: 180px !important
}

.smtp-settings-card > label {
	display: block;
	margin-top: 16px;
	color: #5f5b68;
	font-size: 12px;
	font-weight: 600
}

	.smtp-settings-card > label .form-control {
		display: block;
		margin-top: 7px
	}

.smtp-settings-card {
	margin-bottom: 20px;
	padding: 24px
}

.smtp-settings-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px
}

	.smtp-settings-heading h2 {
		margin: 6px 0 5px;
		font-size: 20px
	}

	.smtp-settings-heading p {
		margin: 0;
		color: #8b8792;
		font-size: 12px
	}

.smtp-settings-actions {
	display: flex;
	align-items: center;
	gap: 10px
}

.smtp-settings-summary {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 12px;
	margin-top: 22px
}

	.smtp-settings-summary div {
		min-width: 0;
		padding: 14px;
		border-radius: 12px;
		background: #f8f7fb
	}

	.smtp-settings-summary span, .smtp-settings-summary strong {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap
	}

	.smtp-settings-summary span {
		margin-bottom: 7px;
		color: #97929f;
		font-size: 10px;
		text-transform: uppercase;
		letter-spacing: .5px
	}

	.smtp-settings-summary strong {
		color: #373240;
		font-size: 12px
	}

.smtp-editor-card {
	height: auto;
	max-height: 100%;
	min-height: 100%;
}

.smtp-password-hint {
	margin-top: 18px
}

.admin-validation {
	margin: 0 0 16px;
	padding: 12px 16px 12px 32px;
	border: 1px solid #ffd2d9;
	border-radius: 12px;
	background: #fff1f3;
	color: #c03955;
	font-size: 12px
}

	.admin-validation:empty {
		display: none
	}

@media(max-width:800px) {
	.admin-sidebar .admin-caption {
		display: none
	}

	.admin-sidebar nav a {
		font-size: 0;
		padding: 12px 8px
	}

		.admin-sidebar nav a i {
			width: auto;
			font-size: 16px
		}

	.form-grid.two {
		grid-template-columns: 1fr
	}

	.admin-query-bar {
		grid-template-columns: 1fr
	}

	.admin-query-actions {
		justify-content: flex-end
	}

	.admin-pagination {
		align-items: flex-start;
		flex-direction: column
	}

	.admin-editor-card {
		padding: 24px
	}

	.admin-data-table th, .admin-data-table td {
		padding: 13px 14px
	}

	.smtp-settings-heading {
		align-items: flex-start;
		flex-direction: column
	}

	.smtp-settings-summary {
		grid-template-columns: 1fr 1fr
	}
}
/* 支付接口动态配置 */
.payment-editor-card {
	align-self: flex-start;
	max-height: none;
	margin-block: 0;
	overflow-y: visible;
}

.payment-checks {
	display: flex;
	align-items: center;
	gap: 22px;
	min-height: 42px;
}

.adapter-config-section {
	margin-top: 18px;
	padding: 20px;
	border: 1px solid #e4e1f0;
	border-radius: 16px;
	background: #faf9fd;
}

.adapter-config-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 16px;
}

	.adapter-config-heading strong {
		color: #29233f;
		font-size: 15px;
	}

	.adapter-config-heading span {
		color: #827b91;
		font-size: 12px;
	}

.adapter-config-section .form-group {
	margin-bottom: 14px;
}
