.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-order-detail-overlay {
	position: fixed;
	inset: 0;
	z-index: 40;
	display: grid;
	place-items: center;
	padding: 24px;
	background: #17131f66;
	backdrop-filter: blur(5px)
}

.admin-order-detail-dialog {
	width: min(680px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 30px 90px rgba(26, 18, 65, .3)
}

	.admin-order-detail-dialog > header {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		padding: 22px 24px;
		border-bottom: 1px solid #eceaf2;
		background: #fff
	}

	.admin-order-detail-dialog header h2 {
		margin-top: 6px;
		font-size: 21px
	}

.admin-order-detail-body {
	padding: 22px 24px 26px
}

.admin-order-detail-status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
	color: #8b8792;
	font-size: 12px
}

.admin-order-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	border: 1px solid #eceaf2;
	border-radius: 14px;
	background: #eceaf2
}

	.admin-order-detail-grid div {
		min-width: 0;
		padding: 14px 16px;
		background: #fff
	}

	.admin-order-detail-grid span, .admin-order-detail-grid strong {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap
	}

	.admin-order-detail-grid span {
		margin-bottom: 6px;
		color: #9893a1;
		font-size: 10px;
		letter-spacing: .35px;
		text-transform: uppercase
	}

	.admin-order-detail-grid strong {
		color: #302b3a;
		font-size: 13px
	}

.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))
	}

	.form-grid.three {
		grid-template-columns: repeat(3,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
	}

	.form-grid.three {
		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-order-detail-grid {
		grid-template-columns: 1fr
	}

	.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;
}

.theme-picker {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.theme-option {
	display: grid;
	grid-template-columns: 54px 1fr;
	gap: 12px;
	align-items: center;
	padding: 16px;
	border: 1px solid #e6e2ee;
	border-radius: 16px;
	background: #fff;
	cursor: pointer;
}

.theme-option.selected { border-color: #5541ee; box-shadow: 0 0 0 3px #5541ee18 }
.theme-option strong, .theme-option small { display: block }
.theme-option small { color: #898395; margin-top: 3px }
.theme-option select { grid-column: 1 / -1 }
.theme-swatch { width: 54px; height: 54px; border-radius: 15px; display: block }
.theme-swatch.aurora { background: linear-gradient(135deg, #7657ff, #ef5da8 70%, #ffd9ee) }
.theme-swatch.noir { background: linear-gradient(135deg, #0b1018, #58b9ff 55%, #8ff0d0) }
.theme-swatch.orbit { background: linear-gradient(135deg, #10233b, #1677ff 55%, #ff7a59) }

@media(max-width:800px) {
	.theme-picker { grid-template-columns: 1fr }
}

/* 后台工作台视觉层 */
.admin-shell {
	--admin-accent: #6957f5;
	--admin-accent-soft: #f0edff;
	--admin-border: #e9e7ef;
	--admin-muted: #7f7a89;
	--admin-sidebar-width: 226px;
	--bs-primary: #6957f5;
	--bs-primary-rgb: 105, 87, 245;
	background:
		radial-gradient(circle at 92% 4%, rgba(105, 87, 245, .08), transparent 25rem),
		#f7f7fa;
}

.admin-sidebar {
	position: sticky;
	top: 0;
	width: var(--admin-sidebar-width);
	height: 100vh;
	flex: 0 0 var(--admin-sidebar-width);
	padding: 24px 18px 20px;
	background: linear-gradient(180deg, #211d2e 0%, #191722 100%);
	box-shadow: 14px 0 40px rgba(24, 20, 37, .08);
}

.admin-brand {
	display: flex;
	align-items: center;
	gap: 13px;
	min-width: 0;
	margin: 0 6px 34px;
	color: #fff;
	text-decoration: none;
}

.admin-brand .vizion-brand {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	margin: 0;
	border-radius: 14px;
	box-shadow: 0 10px 28px rgba(105, 87, 245, .38);
}

.admin-brand-copy {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.admin-brand-copy strong {
	overflow: hidden;
	font: 700 17px 'Space Grotesk', sans-serif;
	letter-spacing: .02em;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.admin-brand-copy small {
	color: #8f899f;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .16em;
}

.admin-caption {
	margin: 0 13px 10px;
	color: #736d82;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
}

.admin-sidebar nav {
	gap: 4px;
}

.admin-sidebar nav a,
.admin-back {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 11px 13px;
	border-radius: 12px;
	color: #aaa5b6;
	font-size: 13px;
	font-weight: 500;
	transition: background .18s ease, color .18s ease, transform .18s ease;
}

.admin-sidebar nav a i,
.admin-back i {
	display: grid;
	place-items: center;
	width: 20px;
	color: #898298;
	font-size: 14px;
	transition: color .18s ease;
}

.admin-sidebar nav a:hover,
.admin-sidebar nav a.active,
.admin-back:hover {
	background: rgba(255, 255, 255, .08);
	color: #fff;
	transform: translateX(2px);
}

.admin-sidebar nav a.active {
	background: linear-gradient(100deg, rgba(105, 87, 245, .34), rgba(105, 87, 245, .13));
	box-shadow: inset 3px 0 0 #8b7cff;
}

.admin-sidebar nav a:hover i,
.admin-sidebar nav a.active i,
.admin-back:hover i {
	color: #a99eff;
}

.admin-back {
	margin-top: auto;
	text-decoration: none;
}

.admin-main {
	width: calc(100% - var(--admin-sidebar-width));
	max-width: 100%;
	padding: 20px clamp(14px, 1.4vw, 24px) 36px;
}

header.admin-topbar-left {
	align-items: flex-start;
	justify-content: space-between;
	margin: 0 auto 18px;
	max-width: 1440px;
	color: var(--admin-muted);
}

.admin-heading-copy {
	position: relative;
	min-width: 0;
}

.admin-menu-button,
.admin-sidebar-backdrop {
	display: none;
}

.admin-heading-copy h1 {
	margin: 0 0 3px;
	color: #26222f;
	font-size: clamp(27px, 2.4vw, 36px);
	letter-spacing: -.04em;
}

.admin-heading-copy p {
	margin: 0;
	color: var(--admin-muted);
	font-size: 13px;
}

.admin-account {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
	padding-top: 2px;
}

.admin-account > span,
.admin-account > a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 11px;
	border: 1px solid var(--admin-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, .72);
	color: #655f70;
	font-size: 11px;
	text-decoration: none;
}

.admin-account > span i,
.admin-account > a i {
	color: var(--admin-accent);
}

.admin-account > a:hover {
	border-color: #d5cff9;
	background: #fff;
	color: var(--admin-accent);
}

.admin-sign-out {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	padding: 9px 13px;
	background: #26222f;
	box-shadow: 0 7px 18px rgba(38, 34, 47, .15);
}

.admin-content {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}

.admin-content > .admin-heading:has(.admin-badge) {
	justify-content: flex-start;
	margin: -12px 0 18px;
}

.admin-content .content-card {
	border-color: var(--admin-border);
	border-radius: 18px;
	box-shadow: 0 12px 32px rgba(39, 32, 66, .055);
}

.admin-table-card {
	padding: 10px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 18px 48px rgba(39, 32, 66, .08);
}

.admin-table-card .table-container {
	border: 0;
}

.admin-table-card .table-container > .table-search,
.admin-table-card .table-container > .table-toolbar,
.admin-table-card .table-container > .table-shim,
.admin-table-card .table-container > .nav-pages {
	overflow: hidden;
	border-radius: 10px;
}

.admin-table-card .table-container > .table-search {
	margin-bottom: 8px;
}

.admin-table-card .table-container > .table-toolbar {
	margin-bottom: 8px;
}

.admin-table-card .table-toolbar {
	gap: 8px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--admin-border);
	background: #fff;
}

.admin-table-card .table-toolbar {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding-block: 6px;
}

.admin-table-card .table-toolbar > .float-start {
	order: 1;
}

.admin-table-card .table-toolbar > .float-end:not(.table-column-right) {
	order: 2;
	margin-left: auto;
}

.admin-table-card .table-toolbar > .table-column-right {
	order: 3;
	margin-left: 0;
}

.admin-table-card .table-search {
	border-color: var(--admin-border);
	border-radius: 10px;
	background: #fff;
}

.admin-table-card .table-search .card {
	border: 0;
	border-radius: 0;
}

.admin-table-card .table-search .card-header {
	min-height: 40px;
	padding: 6px 12px;
	border-bottom: 1px solid var(--admin-border);
	background: #faf9fc;
}

.admin-table-card .table-search .card-title {
	color: #4b4654;
	font-size: 12px;
	font-weight: 700;
}

.admin-table-card .table-search .card-body {
	padding: 10px 12px 11px;
}

.admin-table-card .table-search .card-body-wrapper {
	display: grid;
	grid-template-columns: minmax(280px, 1fr) minmax(180px, 240px);
	align-items: end;
	gap: 10px;
	padding: 0;
}

.admin-search-field {
	display: grid;
	gap: 4px;
	margin: 0;
}

.admin-search-field > span {
	color: #777180;
	font-size: 11px;
	font-weight: 700;
}

.admin-search-field > .form-control,
.admin-search-field > .select,
.admin-search-field > .select .dropdown-toggle,
.admin-search-field > .select .form-control {
	height: 38px;
	min-height: 38px;
}

.admin-search-field > .select .dropdown-toggle {
	display: flex;
	align-items: center;
}

.admin-table-card .table-toolbar .input-group {
	flex-wrap: nowrap;
}

.admin-table-card .table-toolbar .table-toolbar-search {
	width: clamp(180px, 22vw, 280px);
	padding: 8px 12px;
	border: 1px solid var(--admin-border);
	border-radius: 9px 0 0 9px;
}

.admin-table-card .table {
	margin-bottom: 0;
	font-size: 13px;
}

.admin-table-card .table > thead > tr > th {
	padding: 10px 14px;
	border-right: 0 !important;
	border-left: 0 !important;
	border-color: transparent;
	border-bottom: 1px solid var(--admin-border);
	background: #faf9fc;
	color: #777180;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
}

.admin-table-card .table > tbody > tr > td {
	padding: 11px 14px;
	border-right: 0 !important;
	border-left: 0 !important;
	border-bottom: 1px solid #efedf3;
	background: #fff;
	color: #403b48;
	vertical-align: middle;
}

.admin-table-card .table-striped > tbody > tr:nth-of-type(odd) > * {
	--bs-table-accent-bg: transparent;
	background: #faf9fd;
}

.admin-table-card .table > tbody > tr {
	transition: background .16s ease;
}

.admin-table-card .table > tbody > tr:hover > td {
	background: #faf9ff;
}

.admin-table-card .btn {
	height: 34px;
	padding: 6px 11px;
	border-radius: 9px;
	font-size: 12px;
	font-weight: 600;
}

.admin-shell .btn-primary,
.admin-shell .btn-success,
.admin-shell .btn-secondary {
	border-color: var(--admin-accent);
	background: var(--admin-accent);
	color: #fff;
	box-shadow: 0 5px 12px rgba(105, 87, 245, .16);
}

.admin-shell .btn-primary:hover,
.admin-shell .btn-success:hover,
.admin-shell .btn-secondary:hover {
	border-color: #5846df;
	background: #5846df;
	color: #fff;
}

.admin-shell .btn-primary:focus,
.admin-shell .btn-success:focus,
.admin-shell .btn-secondary:focus {
	border-color: #5846df;
	background: #5846df;
	color: #fff;
	box-shadow: 0 0 0 3px rgba(105, 87, 245, .2);
}

.admin-shell .btn-primary:disabled,
.admin-shell .btn-success:disabled,
.admin-shell .btn-secondary:disabled,
.admin-shell .btn.disabled {
	border-color: #d8d3f5;
	background: #d8d3f5;
	color: #8d84bd;
	box-shadow: none;
}

.admin-shell .btn-danger,
.admin-shell .pop-confirm.btn-danger {
	border-color: #e05a6f;
	background: #e05a6f;
	color: #fff;
	box-shadow: 0 5px 12px rgba(224, 90, 111, .14);
}

.admin-shell .btn-danger:hover,
.admin-shell .pop-confirm.btn-danger:hover {
	border-color: #ca465d;
	background: #ca465d;
	color: #fff;
}

.admin-shell .btn-danger:disabled,
.admin-shell .pop-confirm.btn-danger.disabled {
	border-color: #f0c9d0;
	background: #f0c9d0;
	color: #b57884;
	box-shadow: none;
}

.admin-table-card .btn-group > .btn,
.admin-table-card .btn-group > .pop-confirm {
	border-radius: 9px;
}

.admin-table-card .btn-group > :not(:first-child) {
	margin-left: 6px;
}

.admin-table-card .table-column-button .btn,
.admin-table-card .table-column-button .pop-confirm {
	height: 30px;
	padding: 5px 9px;
}

.admin-table-card .pagination {
	gap: 3px;
	margin: 0;
}

.admin-table-card .page-link {
	min-width: 34px;
	border-color: var(--admin-border);
	border-radius: 9px;
	color: #6257cf;
	text-align: center;
}

.admin-table-card .table-footer {
	padding: 9px 14px;
	border-top: 0;
	background: #fff;
}

.admin-table-card .nav-pages {
	min-height: 42px;
	padding-inline: 2px;
}

.admin-stats {
	gap: 18px;
}

.admin-stats > div {
	position: relative;
	overflow: hidden;
	padding: 22px;
	border-color: var(--admin-border);
	border-radius: 17px;
	box-shadow: 0 10px 26px rgba(39, 32, 66, .045);
}

.admin-stats > div::after {
	position: absolute;
	top: -22px;
	right: -22px;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: var(--admin-accent-soft);
	content: '';
}

.smtp-settings-card {
	padding: 26px;
}

@media(max-width:1050px) {
	.admin-shell {
		--admin-sidebar-width: 84px;
	}

	.admin-sidebar {
		align-items: stretch;
		padding-inline: 12px;
	}

	.admin-brand {
		justify-content: center;
		margin-inline: 0;
	}

	.admin-brand-copy,
	.admin-caption,
	.admin-sidebar nav a span,
	.admin-back span {
		display: none;
	}

	.admin-sidebar nav a,
	.admin-back {
		justify-content: center;
		padding-inline: 8px;
	}

	.admin-sidebar nav a i,
	.admin-back i {
		width: auto;
		font-size: 16px;
	}

	.admin-account > span,
	.admin-account > a {
		display: none;
	}
}

.admin-profile-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.admin-profile-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 20px;
}

.admin-profile-card > header,
.admin-login-card > header {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.admin-profile-card h2,
.admin-login-card h2 {
	margin: 0 0 3px;
	color: #292532;
	font-size: 18px;
}

.admin-profile-card header p,
.admin-login-card header p {
	margin: 0;
	color: var(--admin-muted);
	font-size: 12px;
}

.admin-profile-icon {
	display: grid;
	place-items: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: var(--admin-accent-soft);
	color: var(--admin-accent);
}

.admin-profile-card label {
	display: grid;
	gap: 5px;
	margin: 0;
}

.admin-profile-card label > span {
	color: #6f6978;
	font-size: 11px;
	font-weight: 700;
}

.admin-profile-card .form-control {
	height: 38px;
	border-color: var(--admin-border);
	border-radius: 9px;
}

.admin-profile-card > .btn {
	align-self: flex-start;
	min-width: 112px;
	height: 36px;
	border-radius: 9px;
	font-size: 12px;
	font-weight: 600;
}

.admin-profile-card > .btn i {
	margin-right: 7px;
}

.admin-profile-notice {
	margin: 14px 0 0;
}

.admin-login-card {
	margin-top: 14px;
	padding: 20px;
}

.admin-login-card > header {
	justify-content: space-between;
	margin-bottom: 16px;
}

.admin-login-count {
	padding: 6px 9px;
	border-radius: 999px;
	background: var(--admin-accent-soft);
	color: var(--admin-accent);
	font-size: 11px;
	font-weight: 700;
}

.admin-login-list {
	display: grid;
	gap: 8px;
}

.admin-login-list article {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 12px;
	padding: 13px;
	border: 1px solid var(--admin-border);
	border-radius: 12px;
	background: #fcfbfe;
}

.admin-login-device {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: #fff;
	color: var(--admin-accent);
	box-shadow: 0 5px 14px rgba(39, 32, 66, .08);
}

.admin-login-details > div {
	display: flex;
	align-items: center;
	gap: 8px;
}

.admin-login-details strong {
	color: #302b39;
	font-size: 13px;
}

.admin-login-details > p {
	overflow: hidden;
	margin: 5px 0 9px;
	color: var(--admin-muted);
	font-size: 11px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.admin-login-details dl {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}

.admin-login-details dl div {
	display: grid;
	gap: 2px;
}

.admin-login-details dt {
	color: #9a94a2;
	font-size: 9px;
	font-weight: 700;
}

.admin-login-details dd {
	margin: 0;
	color: #514b59;
	font-size: 11px;
}

.admin-profile-empty,
.admin-profile-loading {
	padding: 36px;
	color: var(--admin-muted);
	text-align: center;
}

.admin-profile-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
}

@media(max-width:850px) {
	.admin-profile-grid {
		grid-template-columns: 1fr;
	}
}

@media(max-width:700px) {
	.admin-profile-card,
	.admin-login-card {
		padding: 16px;
	}

	.admin-login-details dl {
		grid-template-columns: 1fr;
	}
}

@media(max-width:700px) {
	.admin-shell {
		--admin-sidebar-width: 0px;
	}

	.admin-sidebar {
		position: fixed;
		inset: 0 auto 0 0;
		z-index: 50;
		width: min(278px, 84vw);
		height: 100vh;
		align-items: stretch;
		padding: 22px 16px 18px;
		transform: translateX(-105%);
		transition: transform .22s ease;
	}

	.admin-sidebar.is-open {
		transform: translateX(0);
	}

	.admin-sidebar-backdrop {
		position: fixed;
		inset: 0;
		z-index: 49;
		display: block;
		visibility: hidden;
		border: 0;
		background: rgba(22, 18, 32, .5);
		opacity: 0;
		pointer-events: none;
		transition: opacity .22s ease, visibility .22s ease;
		backdrop-filter: blur(3px);
	}

	.admin-sidebar-backdrop.is-visible {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}

	.admin-sidebar .admin-brand {
		justify-content: flex-start;
		margin-inline: 4px;
	}

	.admin-sidebar .admin-brand-copy {
		display: grid;
	}

	.admin-sidebar .admin-caption,
	.admin-sidebar nav a span,
	.admin-sidebar .admin-back span {
		display: initial;
	}

	.admin-sidebar nav a,
	.admin-sidebar .admin-back {
		justify-content: flex-start;
		padding-inline: 13px;
	}

	.admin-sidebar nav a i,
	.admin-sidebar .admin-back i {
		width: 20px;
		font-size: 14px;
	}

	.admin-brand {
		margin-bottom: 24px;
	}

	.admin-brand .vizion-brand {
		width: 40px;
		height: 40px;
	}

	.admin-main {
		width: 100%;
		padding: 20px 14px 36px;
	}

	.admin-topbar-left {
		align-items: flex-start;
		gap: 16px;
		margin-bottom: 22px;
	}

	.admin-heading-copy h1 {
		font-size: 27px;
	}

	.admin-heading-copy {
		padding-left: 48px;
	}

	.admin-menu-button {
		position: absolute;
		top: 1px;
		left: 0;
		display: inline-grid;
		place-items: center;
		width: 38px;
		height: 38px;
		border: 1px solid #e3e0eb;
		border-radius: 11px;
		background: #fff;
		color: var(--admin-accent);
		box-shadow: 0 7px 18px rgba(39, 32, 66, .08);
		cursor: pointer;
	}

	.admin-heading-copy p {
		font-size: 11px;
		line-height: 1.55;
	}

	.admin-sign-out {
		width: 38px;
		height: 38px;
		justify-content: center;
		padding: 0;
	}

	.admin-sign-out i {
		font-size: 13px;
	}

	.admin-sign-out {
		font-size: 0 !important;
	}

	.admin-stats {
		grid-template-columns: 1fr;
	}

	.smtp-settings-card {
		padding: 20px;
	}

	.smtp-settings-actions {
		width: 100%;
		flex-wrap: wrap;
	}

	.admin-table-card {
		border-radius: 14px;
	}

	.admin-table-card .table-toolbar,
	.admin-table-card .table-footer {
		padding-inline: 12px;
	}

	.admin-table-card .table-toolbar {
		min-height: 56px;
		flex-wrap: wrap;
	}

	.admin-table-card .table-toolbar > .float-end:not(.table-column-right) {
		width: 100%;
		order: 4;
		margin-left: 0;
	}

	.admin-table-card .table-toolbar .input-group,
	.admin-table-card .table-toolbar .bb-tooltip,
	.admin-table-card .table-toolbar .table-toolbar-search {
		width: 100%;
	}

	.admin-table-card .table-search .card-body-wrapper {
		grid-template-columns: 1fr;
	}

	.admin-table-card .table > thead > tr > th,
	.admin-table-card .table > tbody > tr > td {
		padding-inline: 13px;
	}
}
