/**
 * KS40 R80 관리자 공통 디자인 시스템 — Light(기본) / Dark
 * - admin-custom.css 다음에 로드한다. 기존 레이아웃·컬럼·기능은 그대로 두고 색·간격·상태 표현만 통일한다.
 * - 색은 모두 --ks-* 변수로만 지정한다. 테마는 <html data-ks-theme="light|dark"> 로 바뀐다.
 */

/* ================================================================== */
/* 0. Design tokens                                                    */
/* ================================================================== */
:root,
html[data-ks-theme="light"] {
	--ks-bg: #F3F6FA;
	--ks-sidebar: #E8EFF7;
	--ks-surface: #FFFFFF;
	--ks-surface-2: #F7FAFD;
	--ks-table-header: #DCE9F7;
	--ks-text: #24364B;
	--ks-text-muted: #5B6E85;
	--ks-border: #D7E1EC;
	--ks-border-strong: #BFCDDD;
	--ks-primary: #2877CF;
	--ks-primary-hover: #1F64B2;
	--ks-on-primary: #FFFFFF;
	--ks-primary-soft: rgba(40, 119, 207, 0.12);
	--ks-header: #FFFFFF;
	--ks-sidebar-text: #2D4560;
	--ks-sidebar-muted: #61768F;
	--ks-sidebar-active: #D3E2F3;
	--ks-sidebar-sub: #DFE8F3;
	--ks-hover: #EEF4FB;
	--ks-selected: #DCEBFB;
	--ks-selected-line: #2877CF;
	--ks-zebra: rgba(36, 54, 75, 0.018);
	--ks-total-bg: #E8EEF6;
	--ks-input-bg: #FFFFFF;
	--ks-input-border: #C9D6E4;
	--ks-focus: rgba(40, 119, 207, 0.28);
	--ks-pos: #1D5FBF;
	--ks-neg: #C4312A;
	--ks-success: #1F7A50;
	--ks-success-soft: #E2F3EA;
	--ks-warn: #945600;
	--ks-warn-soft: #FFF1D9;
	--ks-danger: #C4312A;
	--ks-danger-soft: #FCE6E4;
	--ks-info-soft: #E3EFFC;
	--ks-online-bg: #FFF8D9;
	--ks-online-line: #E0B400;
	--ks-shadow: 0 1px 2px rgba(20, 40, 70, 0.06);
	--ks-shadow-pop: 0 6px 18px rgba(20, 40, 70, 0.16);
	--ks-sticky-shadow: 2px 0 3px rgba(20, 40, 70, 0.08);
	--ks-lv1: #1F64B2; --ks-lv1-soft: #E1EEFB;
	--ks-lv2: #1B6E48; --ks-lv2-soft: #E0F2E8;
	--ks-lv3: #924C04; --ks-lv3-soft: #FDEBD6;
	--ks-lv4: #4D5F75; --ks-lv4-soft: #E9EEF4;
	--ks-link: #1F64B2;
	--ks-radius: 6px;
	--ks-radius-sm: 4px;
	--ks-control-h: 32px;
	color-scheme: light;
}

html[data-ks-theme="dark"] {
	--ks-bg: #172233;
	--ks-sidebar: #121C2B;
	--ks-surface: #202F43;
	--ks-surface-2: #25364C;
	--ks-table-header: #30445C;
	--ks-text: #F1F5FA;
	--ks-text-muted: #C0CDDD;
	--ks-border: #35475B;
	--ks-border-strong: #4A5F78;
	--ks-primary: #6CA9F5;
	--ks-primary-hover: #8BBCF8;
	--ks-on-primary: #0E2238;
	--ks-primary-soft: rgba(108, 169, 245, 0.18);
	--ks-header: #19263A;
	--ks-sidebar-text: #E1E9F4;
	--ks-sidebar-muted: #A3B4C9;
	--ks-sidebar-active: #22364F;
	--ks-sidebar-sub: #162235;
	--ks-hover: #2A3D55;
	--ks-selected: #2F4C6E;
	--ks-selected-line: #6CA9F5;
	--ks-zebra: rgba(255, 255, 255, 0.022);
	--ks-total-bg: #2A3E56;
	--ks-input-bg: #1A2739;
	--ks-input-border: #4A5F78;
	--ks-focus: rgba(108, 169, 245, 0.35);
	--ks-pos: #8EC2FF;
	--ks-neg: #FF8F87;
	--ks-success: #7BD3A6;
	--ks-success-soft: rgba(123, 211, 166, 0.16);
	--ks-warn: #F5C46B;
	--ks-warn-soft: rgba(245, 196, 107, 0.16);
	--ks-danger: #FF8F87;
	--ks-danger-soft: rgba(255, 143, 135, 0.16);
	--ks-info-soft: rgba(108, 169, 245, 0.16);
	--ks-online-bg: rgba(245, 205, 80, 0.13);
	--ks-online-line: #E8C24A;
	--ks-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
	--ks-shadow-pop: 0 8px 22px rgba(0, 0, 0, 0.45);
	--ks-sticky-shadow: 2px 0 3px rgba(0, 0, 0, 0.35);
	--ks-lv1: #8EC2FF; --ks-lv1-soft: rgba(108, 169, 245, 0.20);
	--ks-lv2: #7BD3A6; --ks-lv2-soft: rgba(123, 211, 166, 0.18);
	--ks-lv3: #F5B66B; --ks-lv3-soft: rgba(245, 182, 107, 0.18);
	--ks-lv4: #B7C5D6; --ks-lv4-soft: rgba(183, 197, 214, 0.16);
	--ks-link: #9CC8FF;
	color-scheme: dark;
}

/* 기존 admin-custom.css 변수도 테마 값으로 연결 */
html[data-ks-theme] {
	--admin-color-primary: var(--ks-primary);
	--admin-color-primary-dark: var(--ks-primary-hover);
	--admin-color-dark: var(--ks-text);
	--admin-color-muted: var(--ks-text-muted);
	--admin-color-border: var(--ks-border);
	--admin-color-bg: var(--ks-bg);
	--admin-color-positive: var(--ks-pos);
	--admin-color-negative: var(--ks-neg);
	--admin-shadow: var(--ks-shadow);
	--admin-shadow-lg: var(--ks-shadow-pop);
}

/* ================================================================== */
/* 1. Base                                                             */
/* ================================================================== */
html[data-ks-theme] body,
html[data-ks-theme] #page-container,
html[data-ks-theme] .content {
	background: var(--ks-bg);
	color: var(--ks-text);
}

html[data-ks-theme] #content,
html[data-ks-theme] #content p,
html[data-ks-theme] #content label,
html[data-ks-theme] #content li,
html[data-ks-theme] #content dt,
html[data-ks-theme] #content dd,
html[data-ks-theme] #content h1,
html[data-ks-theme] #content h2,
html[data-ks-theme] #content h3,
html[data-ks-theme] #content h4,
html[data-ks-theme] #content h5 {
	color: var(--ks-text);
}

html[data-ks-theme] #content a:not(.btn):not(.nav-link):not(.ks-pager__item) {
	color: var(--ks-link);
}

html[data-ks-theme] #content a:not(.btn):not(.nav-link):not(.ks-pager__item):hover {
	color: var(--ks-primary-hover);
}

html[data-ks-theme] .text-muted,
html[data-ks-theme] #content small,
html[data-ks-theme] .page-header small {
	color: var(--ks-text-muted) !important;
}

html[data-ks-theme] #content .page-header {
	color: var(--ks-text);
	font-size: 20px;
	font-weight: 600;
}

html[data-ks-theme] #content .divTitle,
html[data-ks-theme] #content .admin-page-title {
	color: var(--ks-text);
	border-bottom: 1px solid var(--ks-border);
	font-size: 17px;
}

html[data-ks-theme] hr {
	border-color: var(--ks-border);
}

html[data-ks-theme] ::selection {
	background: var(--ks-primary-soft);
}

.ks-num {
	font-variant-numeric: tabular-nums;
}

.ks-nowrap {
	white-space: nowrap;
}

.ks-pos { color: var(--ks-pos) !important; }
.ks-neg { color: var(--ks-neg) !important; }

/* ================================================================== */
/* 2. Header + 상단 정보 카드                                           */
/* ================================================================== */
html[data-ks-theme] #header.header,
html[data-ks-theme] .header.navbar-default {
	background: var(--ks-header) !important;
	border-bottom: 1px solid var(--ks-border);
	box-shadow: none;
	color: var(--ks-text);
}

html[data-ks-theme] .header .navbar-brand,
html[data-ks-theme] .header .navbar-brand b {
	color: var(--ks-text) !important;
}

html[data-ks-theme] .admin-top-header .navbar-brand {
	background: var(--ks-sidebar);
	border-right: 1px solid var(--ks-border);
	height: 50px;
	display: flex;
	align-items: center;
}

html[data-ks-theme] .header .navbar-toggle .icon-bar {
	background: var(--ks-text);
}

html[data-ks-theme] .admin-top-header .navbar-toggle {
	border-color: var(--ks-border);
}

/* flex-end 정렬은 넘칠 때 왼쪽 카드가 스크롤로도 닿지 않으므로, 첫 카드의 auto 여백으로 오른쪽 정렬한다 */
.ks-topbar.admin-top-header__nav {
	justify-content: flex-start !important;
	flex-wrap: nowrap;
	gap: 6px;
	padding: 0 10px;
	height: 50px;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.ks-topbar > .admin-top-header__item:first-child {
	margin-left: auto;
}

.ks-topbar .admin-top-header__item {
	padding: 0;
	flex: 0 0 auto;
	color: var(--ks-text);
	font-size: 12px;
}

.ks-top-card {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	height: 38px;
	padding: 0 10px 0 6px;
	border: 1px solid var(--ks-border);
	border-radius: 8px;
	background: var(--ks-surface-2);
	color: var(--ks-text);
	line-height: 1.15;
	box-sizing: border-box;
}

.ks-top-card.admin-top-header__item--link {
	cursor: pointer;
}

.ks-top-card.admin-top-header__item--link:hover,
.ks-top-card.admin-top-header__item--link:focus {
	background: var(--ks-hover);
	border-color: var(--ks-border-strong);
	color: var(--ks-text);
	outline: none;
}

.ks-top-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 6px;
	background: var(--ks-primary-soft);
	color: var(--ks-primary);
	font-size: 13px;
	flex: 0 0 auto;
}

.ks-top-card__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ks-top-card__title {
	font-size: 11px;
	color: var(--ks-text-muted);
	white-space: nowrap;
}

.ks-top-card__value {
	font-size: 13px;
	font-weight: 700;
	color: var(--ks-text) !important;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.ks-top-card--me .ks-top-card__icon { background: var(--ks-lv3-soft); color: var(--ks-lv3); }
.ks-top-card--money .ks-top-card__icon { background: var(--ks-success-soft); color: var(--ks-success); }
.ks-top-card--point .ks-top-card__icon { background: var(--ks-info-soft); color: var(--ks-primary); }

/* 미처리 건수 강조: 깜빡임 없이 테두리·숫자색만 */
.ks-topbar .admin-top-header__item--alert,
.ks-topbar .admin-top-header__item--alert:hover {
	animation: none;
	background: var(--ks-danger-soft);
	border-color: var(--ks-danger);
}

.ks-topbar .admin-top-header__item--alert .ks-top-card__value,
.ks-topbar .admin-top-header__item--alert .admin-top-count {
	color: var(--ks-danger) !important;
}

.ks-topbar .admin-top-header__item--alert .ks-top-card__icon {
	background: var(--ks-danger);
	color: #fff;
}

.ks-top-ip {
	font-size: 11px !important;
	color: var(--ks-text-muted) !important;
	white-space: nowrap;
	padding: 0 4px !important;
}

.ks-top-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 32px;
	padding: 0 11px;
	border: 1px solid var(--ks-border-strong);
	border-radius: 6px;
	background: var(--ks-surface);
	color: var(--ks-text);
	font-size: 12.5px;
	font-weight: 600;
	white-space: nowrap;
	cursor: pointer;
}

.ks-top-btn:hover,
.ks-top-btn:focus {
	background: var(--ks-hover);
	outline: none;
}

.ks-top-btn--warn {
	color: var(--ks-warn);
	border-color: var(--ks-warn);
}

.ks-top-btn--logout {
	background: var(--ks-danger);
	border-color: var(--ks-danger);
	color: #fff;
}

html[data-ks-theme="dark"] .ks-top-btn--logout {
	color: #2A1010;
}

.ks-top-btn--logout:hover,
.ks-top-btn--logout:focus {
	background: var(--ks-danger);
	filter: brightness(0.93);
	color: #fff;
}

/* Light | Dark 전환 */
.ks-theme-switch {
	display: inline-flex !important;
	align-items: center;
	height: 32px;
	padding: 2px !important;
	border: 1px solid var(--ks-border-strong);
	border-radius: 7px;
	background: var(--ks-surface-2);
	box-sizing: border-box;
}

.ks-theme-switch__btn {
	height: 26px;
	padding: 0 9px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--ks-text-muted);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.ks-theme-switch__btn.is-active {
	background: var(--ks-primary);
	color: var(--ks-on-primary);
}

.ks-theme-switch__btn:focus-visible {
	outline: 2px solid var(--ks-focus);
}

@media (max-width: 1599.98px) {
	.ks-topbar .ks-top-card { padding-right: 8px; gap: 5px; }
	.ks-top-card__icon { width: 22px; height: 22px; font-size: 12px; }
}

@media (max-width: 767.98px) {
	html[data-ks-theme] #header.header {
		height: auto;
	}
	html[data-ks-theme] .admin-top-header .navbar-brand {
		background: transparent;
		border-right: 0;
	}
	.ks-topbar.admin-top-header__nav {
		height: 48px;
		padding: 0 10px 6px;
		border-top: 1px solid var(--ks-border);
		align-items: center;
	}
	html[data-ks-theme] #page-container.page-header-fixed {
		padding-top: 100px;
	}
	html[data-ks-theme] .page-sidebar-fixed .sidebar,
	html[data-ks-theme] .page-sidebar-fixed .sidebar-bg {
		top: 100px;
	}
}

/* ================================================================== */
/* 3. Sidebar                                                          */
/* ================================================================== */
html[data-ks-theme] .sidebar,
html[data-ks-theme] .sidebar-bg {
	background: var(--ks-sidebar) !important;
}

html[data-ks-theme] .sidebar {
	border-right: 1px solid var(--ks-border);
}

html[data-ks-theme] .sidebar .nav > li.nav-header {
	color: var(--ks-sidebar-muted);
	font-weight: 600;
}

html[data-ks-theme] .sidebar .nav > li > a {
	color: var(--ks-sidebar-text) !important;
	background: transparent;
}

html[data-ks-theme] .sidebar .nav > li > a i {
	color: var(--ks-sidebar-muted) !important;
}

html[data-ks-theme] .sidebar .nav > li > a:hover,
html[data-ks-theme] .sidebar .nav > li > a:focus {
	background: var(--ks-hover) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme] .sidebar .nav > li.active > a,
html[data-ks-theme] .sidebar .nav > li.active > a:hover {
	background: var(--ks-sidebar-active) !important;
	color: var(--ks-primary) !important;
	font-weight: 600;
}

html[data-ks-theme] .sidebar .nav > li.active > a i {
	color: var(--ks-primary) !important;
}

html[data-ks-theme] .sidebar .sub-menu {
	background: var(--ks-sidebar-sub) !important;
}

html[data-ks-theme] .sidebar .sub-menu > li > a {
	color: var(--ks-sidebar-text) !important;
}

html[data-ks-theme] .sidebar .sub-menu > li > a:hover {
	color: var(--ks-primary) !important;
	background: transparent;
}

html[data-ks-theme] .sidebar .sub-menu > li.active > a {
	color: var(--ks-primary) !important;
	font-weight: 700;
}

html[data-ks-theme] .sidebar .sub-menu:before,
html[data-ks-theme] .sidebar .sub-menu > li:before,
html[data-ks-theme] .sidebar .sub-menu > li > a:after {
	background: var(--ks-border-strong) !important;
}

html[data-ks-theme] .sidebar .sub-menu > li:after {
	border-color: var(--ks-border-strong) !important;
	background: var(--ks-sidebar-sub) !important;
}

html[data-ks-theme] .sidebar .sub-menu > li.active:after {
	border-color: var(--ks-primary) !important;
	background: var(--ks-primary) !important;
}

html[data-ks-theme] .sidebar .nav > li > a .caret,
html[data-ks-theme] .sidebar .sub-menu > li > a .caret {
	color: var(--ks-sidebar-muted);
}

.ks-nav-badge {
	background: var(--ks-border-strong) !important;
	color: var(--ks-text) !important;
	font-weight: 600;
}

.ks-nav-badge.is-on {
	background: var(--ks-success) !important;
	color: #fff !important;
}

.ks-nav-badge.is-alert {
	background: var(--ks-danger) !important;
	color: #fff !important;
}

html[data-ks-theme="dark"] .ks-nav-badge.is-on,
html[data-ks-theme="dark"] .ks-nav-badge.is-alert {
	color: #10233A !important;
}

html[data-ks-theme] .admin-sidebar-overlay {
	background: rgba(10, 20, 35, 0.5);
}

/* ================================================================== */
/* 4. Panels · cards · widgets                                         */
/* ================================================================== */
html[data-ks-theme] .admin-page .panel.panel-inverse,
html[data-ks-theme] .dashboard-page .panel.panel-inverse,
html[data-ks-theme] .admin-panel,
html[data-ks-theme] #content .panel {
	background: var(--ks-surface);
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius);
	box-shadow: var(--ks-shadow);
	color: var(--ks-text);
}

html[data-ks-theme] .admin-page .panel.panel-inverse > .panel-heading,
html[data-ks-theme] .dashboard-page .panel.panel-inverse > .panel-heading,
html[data-ks-theme] .admin-panel > .panel-heading,
html[data-ks-theme] #content .panel > .panel-heading {
	background: var(--ks-surface);
	color: var(--ks-text);
	border-bottom: 1px solid var(--ks-border);
	padding: 11px 15px;
}

html[data-ks-theme] .admin-page .panel.panel-inverse > .panel-heading .panel-title,
html[data-ks-theme] .dashboard-page .panel.panel-inverse > .panel-heading .panel-title,
html[data-ks-theme] .admin-panel > .panel-heading .panel-title,
html[data-ks-theme] #content .panel > .panel-heading .panel-title {
	color: var(--ks-text) !important;
	font-size: 14.5px;
	font-weight: 700;
}

html[data-ks-theme] #content .panel > .panel-heading .panel-title i {
	color: var(--ks-primary);
}

/* 정산 페이지: 기존 검정 제목바·흰 제목(어두운 배경 전제)을 테마 면으로 */
html[data-ks-theme] #content .settlement-page .page-header,
html[data-ks-theme] #content .settlement-page .settlement-page-title {
	color: var(--ks-text) !important;
	border-bottom-color: var(--ks-border) !important;
}

html[data-ks-theme] #content .settlement-page .page-header small,
html[data-ks-theme] #content .settlement-page .settlement-page-title small {
	color: var(--ks-text-muted) !important;
}

html[data-ks-theme] #content .settlement-page .settlement-panel > .panel-heading {
	background: var(--ks-surface) !important;
	color: var(--ks-text) !important;
	border-bottom: 2px solid var(--ks-primary) !important;
}

html[data-ks-theme] #content .settlement-page .settlement-panel > .panel-heading .panel-title {
	color: var(--ks-text) !important;
}

html[data-ks-theme] #content .settlement-page .settlement-panel > .panel-heading i,
html[data-ks-theme] #content .settlement-page .settlement-panel > .panel-heading .fa {
	color: var(--ks-primary) !important;
}

html[data-ks-theme] #content .panel > .panel-heading a {
	color: var(--ks-primary) !important;
}

html[data-ks-theme] #content .panel-body {
	background: transparent;
	color: var(--ks-text);
}

html[data-ks-theme] #content .list-group-item {
	background: var(--ks-surface);
	border-color: var(--ks-border);
	color: var(--ks-text);
}

/* KPI 카드 (대시보드) */
.ks-kpi-row > [class*="col-"] {
	display: flex;
}

.ks-kpi-row > [class*="col-"] > .widget,
.ks-kpi-row > [class*="col-"] > .dashboard-kpi-link {
	flex: 1 1 auto;
	display: flex;
	min-width: 0;
}

.ks-kpi-row .dashboard-kpi-link > .widget {
	flex: 1 1 auto;
}

html[data-ks-theme] #content .widget.widget-stats.ks-kpi {
	--ks-accent: var(--ks-primary);
	--ks-accent-soft: var(--ks-primary-soft);
	background: var(--ks-kpi-bg, var(--ks-surface)) !important;
	color: var(--ks-text);
	border: 1px solid var(--ks-border);
	border-left: 4px solid var(--ks-accent);
	border-radius: var(--ks-radius);
	box-shadow: var(--ks-shadow);
	min-height: 112px;
	padding: 14px 16px;
	width: 100%;
	margin: 0;
}

.ks-kpi--slate { --ks-accent: var(--ks-lv4) !important; --ks-accent-soft: var(--ks-lv4-soft) !important; }
.ks-kpi--blue { --ks-accent: var(--ks-lv1) !important; --ks-accent-soft: var(--ks-lv1-soft) !important; }
.ks-kpi--indigo { --ks-accent: #5B63C9 !important; --ks-accent-soft: rgba(91, 99, 201, 0.13) !important; }
.ks-kpi--teal { --ks-accent: #138A88 !important; --ks-accent-soft: rgba(19, 138, 136, 0.13) !important; }
.ks-kpi--purple { --ks-accent: #7A55C2 !important; --ks-accent-soft: rgba(122, 85, 194, 0.13) !important; }
.ks-kpi--green { --ks-accent: var(--ks-lv2) !important; --ks-accent-soft: var(--ks-lv2-soft) !important; }
.ks-kpi--orange { --ks-accent: var(--ks-lv3) !important; --ks-accent-soft: var(--ks-lv3-soft) !important; }
.ks-kpi--red { --ks-accent: var(--ks-danger) !important; --ks-accent-soft: var(--ks-danger-soft) !important; }

html[data-ks-theme="dark"] .ks-kpi--indigo { --ks-accent: #A3AAF2 !important; --ks-accent-soft: rgba(163, 170, 242, 0.16) !important; }
html[data-ks-theme="dark"] .ks-kpi--teal { --ks-accent: #6FD6D2 !important; --ks-accent-soft: rgba(111, 214, 210, 0.15) !important; }
html[data-ks-theme="dark"] .ks-kpi--purple { --ks-accent: #C2A6F5 !important; --ks-accent-soft: rgba(194, 166, 245, 0.15) !important; }

/* R80.1 KPI 카드별 옅은 배경 (Light 지정색 / Dark 는 카드색보다 한 단계 어둡고 색차만 살짝) */
.ks-kpi--slate { --ks-kpi-bg: #EEF3FA; }
.ks-kpi--blue { --ks-kpi-bg: #EAF4FF; }
.ks-kpi--indigo { --ks-kpi-bg: #F0EDFF; }
.ks-kpi--teal { --ks-kpi-bg: #E8F7F4; }
.ks-kpi--purple { --ks-kpi-bg: #F2EEFC; }
.ks-kpi--green { --ks-kpi-bg: #EAF7EF; }
.ks-kpi--orange { --ks-kpi-bg: #FFF3E5; }
.ks-kpi--red { --ks-kpi-bg: #FFF0F0; }
html[data-ks-theme="dark"] .ks-kpi--slate { --ks-kpi-bg: #1C293B; }
html[data-ks-theme="dark"] .ks-kpi--blue { --ks-kpi-bg: #1A2A41; }
html[data-ks-theme="dark"] .ks-kpi--indigo { --ks-kpi-bg: #1F2742; }
html[data-ks-theme="dark"] .ks-kpi--teal { --ks-kpi-bg: #192C35; }
html[data-ks-theme="dark"] .ks-kpi--purple { --ks-kpi-bg: #212640; }
html[data-ks-theme="dark"] .ks-kpi--green { --ks-kpi-bg: #1A2D30; }
html[data-ks-theme="dark"] .ks-kpi--orange { --ks-kpi-bg: #272A33; }
html[data-ks-theme="dark"] .ks-kpi--red { --ks-kpi-bg: #272737; }

html[data-ks-theme] #content .ks-kpi .stats-icon {
	position: absolute;
	right: 14px;
	top: 14px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	font-size: 17px;
	opacity: 1;
	color: var(--ks-accent);
	background: var(--ks-accent-soft);
}

html[data-ks-theme] #content .ks-kpi .stats-icon i {
	color: var(--ks-accent);
}

html[data-ks-theme] #content .ks-kpi .stats-content {
	padding-right: 44px;
	position: relative;
}

html[data-ks-theme] #content .ks-kpi .stats-title {
	color: var(--ks-text-muted) !important;
	font-size: 12.5px;
	font-weight: 600;
	margin-bottom: 6px;
	opacity: 1;
	text-transform: none;
}

html[data-ks-theme] #content .ks-kpi .stats-number {
	color: var(--ks-text) !important;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 6px;
	font-variant-numeric: tabular-nums;
	word-break: break-all;
}

html[data-ks-theme] #content .ks-kpi .stats-desc {
	color: var(--ks-text-muted) !important;
	font-size: 12px;
	opacity: 1;
}

html[data-ks-theme] #content a.dashboard-kpi-link:hover .ks-kpi {
	border-color: var(--ks-border-strong);
	background: var(--ks-surface-2) !important;
}

.ks-quick-actions .ks-quick-btn .badge {
	margin-left: 3px;
}

/* ================================================================== */
/* 5. Forms (검색 영역 높이 통일)                                       */
/* ================================================================== */
html[data-ks-theme] #content input[type="text"],
html[data-ks-theme] #content input[type="password"],
html[data-ks-theme] #content input[type="number"],
html[data-ks-theme] #content input[type="search"],
html[data-ks-theme] #content input[type="date"],
html[data-ks-theme] #content input:not([type]),
html[data-ks-theme] #content select,
html[data-ks-theme] #content textarea,
html[data-ks-theme] #content .form-control,
html[data-ks-theme] body > div input[type="text"],
html[data-ks-theme] body > div select,
html[data-ks-theme] body > div textarea {
	background-color: var(--ks-input-bg);
	color: var(--ks-text);
	border: 1px solid var(--ks-input-border);
	border-radius: var(--ks-radius-sm);
}

html[data-ks-theme] #content input::placeholder,
html[data-ks-theme] #content textarea::placeholder {
	color: var(--ks-text-muted);
	opacity: 0.85;
}

html[data-ks-theme] #content input:focus,
html[data-ks-theme] #content select:focus,
html[data-ks-theme] #content textarea:focus,
html[data-ks-theme] #content .form-control:focus {
	border-color: var(--ks-primary);
	box-shadow: 0 0 0 3px var(--ks-focus);
	outline: none;
}

html[data-ks-theme] #content input[readonly],
html[data-ks-theme] #content input:disabled,
html[data-ks-theme] #content select:disabled {
	background-color: var(--ks-surface-2);
	color: var(--ks-text-muted);
}

html[data-ks-theme] #content input[type="checkbox"],
html[data-ks-theme] #content input[type="radio"] {
	accent-color: var(--ks-primary);
	min-height: 0;
	width: 15px;
	height: 15px;
	vertical-align: middle;
}

/* 검색 영역: 입력칸·버튼 높이를 32px 로 맞춘다 */
html[data-ks-theme] #content .divSearch input[type="text"],
html[data-ks-theme] #content .divSearch select,
html[data-ks-theme] #content .divSearch .btn_search,
html[data-ks-theme] #content .divSearch .btn_red,
html[data-ks-theme] #content .divSearch button,
html[data-ks-theme] #content .divSearch input[type="submit"],
html[data-ks-theme] #content .admin-search-form .form-control,
html[data-ks-theme] #content .admin-search-form .btn,
html[data-ks-theme] #content .admin-search-form input[type="submit"] {
	height: var(--ks-control-h) !important;
	min-height: var(--ks-control-h) !important;
	line-height: 1.2;
	box-sizing: border-box;
	vertical-align: middle;
}

html[data-ks-theme] #content .inputDate {
	width: 118px;
	text-align: center;
	cursor: pointer;
	font-variant-numeric: tabular-nums;
	background-image: none;
}

html[data-ks-theme] #content .divSearch,
html[data-ks-theme] #content .admin-search-form {
	color: var(--ks-text);
}

html[data-ks-theme] #content .admin-search-form.divSearch,
html[data-ks-theme] #content .divSearch > form {
	background: var(--ks-surface);
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius);
	padding: 10px 12px;
}

/* 같은 검색 폼이 겹쳐 표시되지 않도록 안쪽 폼은 테두리 없이 */
html[data-ks-theme] #content .admin-search-form.divSearch > form,
html[data-ks-theme] #content .panel .divSearch > form {
	background: transparent;
	border: 0;
	padding: 0;
}

/* ================================================================== */
/* 6. Buttons                                                          */
/* ================================================================== */
html[data-ks-theme] #content .btn_search,
html[data-ks-theme] #content .admin-btn-primary,
html[data-ks-theme] #content .btn-primary,
html[data-ks-theme] .btn-primary,
html[data-ks-theme] .btn-info.ks-login__submit {
	background: var(--ks-primary) !important;
	border: 1px solid var(--ks-primary) !important;
	color: var(--ks-on-primary) !important;
	border-radius: var(--ks-radius-sm);
	font-weight: 600;
}

html[data-ks-theme] #content .btn_search:hover,
html[data-ks-theme] #content .admin-btn-primary:hover,
html[data-ks-theme] #content .btn-primary:hover {
	background: var(--ks-primary-hover) !important;
	border-color: var(--ks-primary-hover) !important;
}

html[data-ks-theme] #content .btn-default,
html[data-ks-theme] #content .btn-white,
html[data-ks-theme] #content .btn-secondary,
html[data-ks-theme] #content .btn-dark,
html[data-ks-theme] #content .btn_gray {
	background: var(--ks-surface) !important;
	border: 1px solid var(--ks-border-strong) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme] #content .btn-default:hover,
html[data-ks-theme] #content .btn-white:hover,
html[data-ks-theme] #content .btn-dark:hover {
	background: var(--ks-hover) !important;
}

html[data-ks-theme] #content .btn-default.active,
html[data-ks-theme] #content .dashboard-rank-tab.active {
	background: var(--ks-primary) !important;
	border-color: var(--ks-primary) !important;
	color: var(--ks-on-primary) !important;
}

/* 레거시 버튼 (button1/2.css): 같은 크기·테마 색 */
html[data-ks-theme] #content .btn_red,
html[data-ks-theme] #content .btn_blue,
html[data-ks-theme] #content .btn_blue2,
html[data-ks-theme] #content .btn_green,
html[data-ks-theme] #content .btn_gray,
html[data-ks-theme] #content .btn_search2 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 26px;
	padding: 2px 9px;
	border-radius: var(--ks-radius-sm);
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: none;
	text-shadow: none;
	background-image: none !important;
}

html[data-ks-theme] #content .btn_red {
	background-color: var(--ks-danger-soft) !important;
	border: 1px solid var(--ks-danger) !important;
	color: var(--ks-danger) !important;
}

html[data-ks-theme] #content .btn_blue {
	background-color: var(--ks-info-soft) !important;
	border: 1px solid var(--ks-primary) !important;
	color: var(--ks-primary) !important;
}

html[data-ks-theme] #content .btn_blue2 {
	background-color: var(--ks-surface) !important;
	border: 1px solid var(--ks-border-strong) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme] #content .btn_green {
	background-color: var(--ks-success-soft) !important;
	border: 1px solid var(--ks-success) !important;
	color: var(--ks-success) !important;
}

html[data-ks-theme] #content .btn_red:hover,
html[data-ks-theme] #content .btn_blue:hover,
html[data-ks-theme] #content .btn_blue2:hover,
html[data-ks-theme] #content .btn_green:hover {
	filter: brightness(0.96);
}

html[data-ks-theme] #content .divSearch .btn_search,
html[data-ks-theme] #content .divSearch .btn_red {
	min-height: var(--ks-control-h);
	padding: 0 14px;
}

html[data-ks-theme] #content .btn_red.ks-solid,
html[data-ks-theme] #content .divSearch .btn_red {
	background-color: var(--ks-danger) !important;
	color: #fff !important;
}

html[data-ks-theme="dark"] #content .btn_red.ks-solid,
html[data-ks-theme="dark"] #content .divSearch .btn_red {
	color: #1A2533 !important;
}

html[data-ks-theme="dark"] #content .admin-search-date-sep,
html[data-ks-theme="dark"] #content .settlement-meta {
	color: var(--ks-text-muted) !important;
}

html[data-ks-theme="dark"] #content .settlement-meta strong {
	color: var(--ks-neg) !important;
}

html[data-ks-theme] .ks-member-tree .jstree-clicked .ks-lv {
	background-color: var(--ks-surface);
}

html[data-ks-theme] #content button:disabled,
html[data-ks-theme] #content .btn.disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.ks-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius-sm);
	background: var(--ks-surface);
	color: var(--ks-text-muted);
	cursor: pointer;
	padding: 0;
}

.ks-icon-btn:hover {
	background: var(--ks-hover);
	color: var(--ks-text);
}

/* ================================================================== */
/* 7. Tables                                                           */
/* ================================================================== */
html[data-ks-theme] #content table {
	color: var(--ks-text);
	border-color: var(--ks-border);
}

/* 헤더: 테마 헤더색 · 불투명 (sticky 시 아래 행이 비치지 않게) */
html[data-ks-theme] #content tr:not(.settlement-group-header-row):not(.settlement-col-header-row) > th {
	background-color: var(--ks-table-header) !important;
	color: var(--ks-text) !important;
	border: 1px solid var(--ks-border) !important;
	font-weight: 700;
	height: 36px;
	vertical-align: middle;
	background-clip: padding-box;
}

html[data-ks-theme] #content .ks-table th,
html[data-ks-theme] #content .ks-table td {
	padding: 6px 9px;
	white-space: nowrap;
}

html[data-ks-theme] #content thead th,
html[data-ks-theme] #content .table thead th {
	border-bottom-width: 1px !important;
}

html[data-ks-theme] #content td {
	border-color: var(--ks-border) !important;
	color: inherit;
}

html[data-ks-theme] #content .default_table td,
html[data-ks-theme] #content .table td,
html[data-ks-theme] #content .admin-table td {
	height: 34px;
}

/* 줄무늬는 아주 옅게 */
html[data-ks-theme] #content .table-striped tbody tr:nth-of-type(odd),
html[data-ks-theme] #content tbody tr:nth-child(odd),
html[data-ks-theme] #content .default_table tbody tr:nth-child(odd),
html[data-ks-theme] #content .default_table tr:nth-child(odd),
html[data-ks-theme] #page-container > div tbody tr:nth-child(odd) {
	background-color: var(--ks-zebra) !important;
}

html[data-ks-theme] #content .table > tbody > tr:hover > td,
html[data-ks-theme] #content .default_table tr:hover > td,
html[data-ks-theme] #content .admin-table tr:hover > td {
	background-color: var(--ks-hover);
}

html[data-ks-theme] #content tr.is-picked > td,
html[data-ks-theme] #content tr.is-selected > td {
	background-color: var(--ks-selected) !important;
}

html[data-ks-theme] #content tr.is-selected > td:first-child,
html[data-ks-theme] #content tr.is-picked > td:first-child {
	box-shadow: inset 3px 0 0 var(--ks-selected-line);
}

/* 합계 행 */
html[data-ks-theme] #content tr.ks-row-total > td,
html[data-ks-theme] #content .tdSum,
html[data-ks-theme] #content tfoot td,
html[data-ks-theme] #content tfoot th {
	background-color: var(--ks-total-bg) !important;
	font-weight: 700;
	color: var(--ks-text);
	border-top: 2px solid var(--ks-border-strong) !important;
}

.ks-total-scope {
	display: block;
	font-size: 11px;
	font-weight: 600;
	color: var(--ks-text-muted);
}

/* 숫자 우측 정렬 */
html[data-ks-theme] #content .tdMoney,
html[data-ks-theme] #content td.text-right {
	text-align: right !important;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ks-empty,
html[data-ks-theme] #content td.ks-empty {
	text-align: center !important;
	color: var(--ks-text-muted) !important;
	padding: 22px 8px !important;
	font-size: 13px;
}

/* 가로 스크롤 래퍼 */
.ks-table-wrap {
	width: 100%;
	max-width: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius);
	background: var(--ks-surface);
}

.ks-table-wrap > table {
	margin: 0 !important;
	border-style: hidden;
}

html[data-ks-theme] #content .table-responsive {
	background: var(--ks-surface);
}

/* 기존 sticky 헤더/열: 배경을 테마 불투명 색으로 */
html[data-ks-theme] #content .money-log-page .money-log-table thead th,
html[data-ks-theme] #content .bet-list-page .bet-list-table > tr:first-child th,
html[data-ks-theme] #content .bet-sum-page .bet-sum-table > tr:first-child th,
html[data-ks-theme] #content .loss-page .loss-table > tr:first-child th,
html[data-ks-theme] #content .losing-page .losing-table > tr:first-child th,
html[data-ks-theme] #content .game-vendor-page .game-vendor-table > tr:first-child th,
html[data-ks-theme] #content .game-result-page .game-result-table thead th,
html[data-ks-theme] #content .vendor-list-page .vendor-list-table > tr:first-child th,
html[data-ks-theme] #content .admin-dashboard-online-scroll thead th {
	background-color: var(--ks-table-header) !important;
	box-shadow: 0 1px 0 var(--ks-border-strong);
}

html[data-ks-theme] #content .bet-sum-page .bet-sum-table > tr.bet-sum-total-row td {
	background-color: var(--ks-total-bg) !important;
	border-top: 2px solid var(--ks-primary) !important;
}

/* 회원 목록 (sub_list) */
.ks-member-table {
	width: max-content;
	min-width: 100%;
}

html[data-ks-theme] #content .ks-member-table td {
	white-space: nowrap;
}

html[data-ks-theme] #content .ks-member-table tr:first-child > th {
	position: sticky;
	top: 0;
	z-index: 6;
}

html[data-ks-theme] #content .ks-member-table tr > :first-child {
	position: sticky;
	left: 0;
	z-index: 3;
	min-width: 46px;
	background-color: var(--ks-surface);
	box-shadow: var(--ks-sticky-shadow);
}

html[data-ks-theme] #content .ks-member-table tr:first-child > th:first-child {
	z-index: 7;
	background-color: var(--ks-table-header) !important;
}

html[data-ks-theme] #content .ks-member-table tr.ks-row-total > td:first-child {
	background-color: var(--ks-total-bg) !important;
}

html[data-ks-theme] #content .ks-member-table tr:hover > td:first-child {
	background-color: var(--ks-hover);
}

.ks-tree-layout .ks-table-wrap {
	max-height: calc(100vh - 300px);
	min-height: 260px;
}

html[data-ks-theme] #content tr.ks-row-online > td {
	background-color: var(--ks-online-bg);
}

html[data-ks-theme] #content tr.ks-row-online > td:first-child {
	box-shadow: inset 3px 0 0 var(--ks-online-line), var(--ks-sticky-shadow);
}

/* 다크 테마: 고정 밝은 배경을 쓰던 셀(정산 그룹 배경·sticky 흰 배경 등)을 테마 면으로 */
html[data-ks-theme="dark"] #content td {
	background-color: var(--ks-surface);
}

html[data-ks-theme="dark"] #content [class*="settlement"] tbody td,
html[data-ks-theme="dark"] #content [class*="settlement"] tfoot td,
html[data-ks-theme="dark"] #content [class*="settlement"] tfoot th,
html[data-ks-theme="dark"] #content .sub-list-page tbody td,
html[data-ks-theme="dark"] #content .term-list-page td {
	background-color: var(--ks-surface) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme="dark"] #content [class*="settlement"] tfoot td,
html[data-ks-theme="dark"] #content [class*="settlement"] tfoot th {
	background-color: var(--ks-total-bg) !important;
}

html[data-ks-theme="dark"] #content tr.settlement-col-header-row > th {
	background-color: var(--ks-table-header) !important;
	color: var(--ks-text) !important;
	border-color: var(--ks-border) !important;
}

html[data-ks-theme="dark"] #content tr.settlement-group-header-row > th {
	border-color: var(--ks-border) !important;
}

html[data-ks-theme="dark"] #content tr:hover > td {
	background-color: var(--ks-hover) !important;
}

html[data-ks-theme="dark"] #content tr.is-picked > td,
html[data-ks-theme="dark"] #content tr.is-selected > td {
	background-color: var(--ks-selected) !important;
}

html[data-ks-theme="dark"] #content tr.ks-row-online > td {
	background-color: #3A3F3E !important;
}

html[data-ks-theme="dark"] #content tr.ks-row-total > td {
	background-color: var(--ks-total-bg) !important;
}

/* 다크 테마: main.css / admin-custom.css 의 고정 흰색·밝은 회색 컨테이너 */
html[data-ks-theme="dark"] .divList,
html[data-ks-theme="dark"] .divList2,
html[data-ks-theme="dark"] .divContent,
html[data-ks-theme="dark"] .default_table,
html[data-ks-theme="dark"] .well,
html[data-ks-theme="dark"] .inputUserInfo,
html[data-ks-theme="dark"] .inputUserInfo2,
html[data-ks-theme="dark"] .member-tree-page .member-tree-container,
html[data-ks-theme="dark"] .sub-list-overlay,
html[data-ks-theme="dark"] .sub-list-overlay .divInfoBox,
html[data-ks-theme="dark"] #gameModal .game-modal-content,
html[data-ks-theme="dark"] .term-list2-page .term-list2-top,
html[data-ks-theme="dark"] .term-list2-page .term-list2-game-block .col.border,
html[data-ks-theme="dark"] .term-list2-page .term-list2-lower-section,
html[data-ks-theme="dark"] .settlement-partner-page .partner-period-summary,
html[data-ks-theme="dark"] .sub-list-member-all-page .member-all-search-body,
html[data-ks-theme="dark"] .sub-list-member-all-page .member-all-list-panel > .panel-body,
html[data-ks-theme="dark"] .account-page [class*="account-stat-card"] .panel,
html[data-ks-theme="dark"] .account-page [class*="account-stat-card"] .panel-body,
html[data-ks-theme="dark"] .account-page [class*="account-stat-card"] .table-responsive,
html[data-ks-theme="dark"] .memo-popup-card,
html[data-ks-theme="dark"] body.memo-popup-window {
	background-color: var(--ks-surface) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme="dark"] .admin-search-form,
html[data-ks-theme="dark"] .admin-panel-footer,
html[data-ks-theme="dark"] .term-list2-page .term-list2-section-bar,
html[data-ks-theme="dark"] .qna-detail-page .qna-detail-reply-readonly,
html[data-ks-theme="dark"] .money-log-page .money-log-office-sql {
	background-color: var(--ks-surface-2) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme="dark"] .tdSum,
html[data-ks-theme="dark"] [class*="settlement-tfoot"],
html[data-ks-theme="dark"] .bet-sum-page .bet-sum-table > tr.bet-sum-total-row td {
	background-color: var(--ks-total-bg) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme="dark"] .default_table th,
html[data-ks-theme="dark"] .member-tree-page .member-tree-detail-table th,
html[data-ks-theme="dark"] .qna-detail-page .qna-detail-table th.qna-detail-label,
html[data-ks-theme="dark"] .ops-page .ops-form-table th.ops-form-label,
html[data-ks-theme="dark"] .memo-popup-table th,
html[data-ks-theme="dark"] #gameModal .game-list-table th,
html[data-ks-theme="dark"] .account-page [class*="account-stat-card"] .table thead th {
	background-color: var(--ks-table-header) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme="dark"] #content [class*="account-stat-card"] > .panel,
html[data-ks-theme="dark"] #content [class*="account-stat-card"] > .panel > .panel-body,
html[data-ks-theme="dark"] #content [class*="account-stat-card"] .table-responsive,
html[data-ks-theme="dark"] #content [class*="account-stat-card"] .table tbody td,
html[data-ks-theme="dark"] #content [class*="account-stat-card"] .table.table-striped > tbody > tr > td {
	background: var(--ks-surface) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme="dark"] #content table {
	background-color: transparent !important;
}

html[data-ks-theme="dark"] #content .bg-white,
html[data-ks-theme="dark"] #content .bg-light,
html[data-ks-theme="dark"] #content .card,
html[data-ks-theme="dark"] #content .card-header,
html[data-ks-theme="dark"] #content .card-body,
html[data-ks-theme="dark"] #content .card-footer,
html[data-ks-theme="dark"] #content .list-group-item {
	background-color: var(--ks-surface) !important;
	color: var(--ks-text) !important;
	border-color: var(--ks-border) !important;
}

html[data-ks-theme="dark"] .member-tree-page .jstree-default .jstree-clicked,
html[data-ks-theme="dark"] .member-tree-page .jstree-default .jstree-hovered {
	background-color: var(--ks-selected) !important;
}

/* ================================================================== */
/* 8. Badges · labels · 상태                                           */
/* ================================================================== */
.ks-lv {
	display: inline-block;
	min-width: 34px;
	padding: 2px 7px;
	border-radius: 10px;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	white-space: nowrap;
	border: 1px solid transparent;
	vertical-align: middle;
}

.ks-lv-0 { background: var(--ks-primary-soft); color: var(--ks-link); border-color: var(--ks-primary); }
.ks-lv-1 { background: var(--ks-lv1-soft); color: var(--ks-lv1); border-color: var(--ks-lv1); }
.ks-lv-2 { background: var(--ks-lv2-soft); color: var(--ks-lv2); border-color: var(--ks-lv2); }
.ks-lv-3 { background: var(--ks-lv3-soft); color: var(--ks-lv3); border-color: var(--ks-lv3); }
.ks-lv-4 { background: var(--ks-lv4-soft); color: var(--ks-lv4); border-color: var(--ks-border-strong); }

.ks-status {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
	background: var(--ks-lv4-soft);
	color: var(--ks-text);
}

.ks-status--ok { background: var(--ks-success-soft); color: var(--ks-success); }
.ks-status--fail,
.ks-status--block { background: var(--ks-danger-soft); color: var(--ks-danger); }
.ks-status--warn { background: var(--ks-warn-soft); color: var(--ks-warn); }
.ks-status--muted { background: var(--ks-lv4-soft); color: var(--ks-text-muted); }

html[data-ks-theme] #content .badge-danger,
html[data-ks-theme] #content .label-danger { background: var(--ks-danger) !important; color: #fff !important; }
html[data-ks-theme] #content .badge-success,
html[data-ks-theme] #content .label-success { background: var(--ks-success) !important; color: #fff !important; }
html[data-ks-theme] #content .badge-primary,
html[data-ks-theme] #content .label-primary { background: var(--ks-primary) !important; color: var(--ks-on-primary) !important; }
html[data-ks-theme] #content .badge-warning,
html[data-ks-theme] #content .label-warning { background: var(--ks-warn) !important; color: #fff !important; }

html[data-ks-theme="dark"] #content .badge-danger,
html[data-ks-theme="dark"] #content .badge-success,
html[data-ks-theme="dark"] #content .badge-warning,
html[data-ks-theme="dark"] #content .label-danger,
html[data-ks-theme="dark"] #content .label-success,
html[data-ks-theme="dark"] #content .label-warning {
	color: #13202F !important;
}

/* ================================================================== */
/* 9. Tabs · alerts · dropdown · modal · popup · pagination            */
/* ================================================================== */
html[data-ks-theme] #content .nav-tabs {
	border-bottom: 1px solid var(--ks-border);
	background: transparent;
}

html[data-ks-theme] #content .nav-tabs .nav-link {
	color: var(--ks-text-muted) !important;
	background: transparent;
	border: 1px solid transparent;
	border-bottom: 2px solid transparent;
	font-weight: 600;
	padding: 8px 14px;
}

html[data-ks-theme] #content .nav-tabs .nav-link:hover {
	color: var(--ks-text) !important;
	border-bottom-color: var(--ks-border-strong);
}

html[data-ks-theme] #content .nav-tabs .nav-link.active {
	color: var(--ks-primary) !important;
	background: var(--ks-surface);
	border-color: var(--ks-border) var(--ks-border) transparent;
	border-bottom: 2px solid var(--ks-primary);
}

html[data-ks-theme] .alert-warning { background: var(--ks-warn-soft); color: var(--ks-warn); border-color: var(--ks-warn); }
html[data-ks-theme] .alert-info { background: var(--ks-info-soft); color: var(--ks-text); border-color: var(--ks-primary); }
html[data-ks-theme] .alert-danger { background: var(--ks-danger-soft); color: var(--ks-danger); border-color: var(--ks-danger); }
html[data-ks-theme] .alert-success { background: var(--ks-success-soft); color: var(--ks-success); border-color: var(--ks-success); }

html[data-ks-theme] .dropdown-menu {
	background: var(--ks-surface);
	border: 1px solid var(--ks-border);
	box-shadow: var(--ks-shadow-pop);
	color: var(--ks-text);
}

html[data-ks-theme] .dropdown-menu .dropdown-item,
html[data-ks-theme] .dropdown-menu > li > a {
	color: var(--ks-text);
}

html[data-ks-theme] .dropdown-menu .dropdown-item:hover,
html[data-ks-theme] .dropdown-menu > li > a:hover {
	background: var(--ks-hover);
}

html[data-ks-theme] .modal-content {
	background: var(--ks-surface);
	color: var(--ks-text);
	border: 1px solid var(--ks-border);
}

html[data-ks-theme] .modal-header,
html[data-ks-theme] .modal-footer {
	border-color: var(--ks-border);
}

html[data-ks-theme] .modal-backdrop.show {
	opacity: 0.55;
}

html[data-ks-theme="dark"] .close {
	color: var(--ks-text);
	text-shadow: none;
}

/* layer.js 알림/확인창 */
html[data-ks-theme] .layui-layer {
	background-color: var(--ks-surface);
	color: var(--ks-text);
	border-radius: var(--ks-radius);
	box-shadow: var(--ks-shadow-pop);
}

html[data-ks-theme] .layui-layer-title {
	background-color: var(--ks-surface-2) !important;
	color: var(--ks-text) !important;
	border-bottom: 1px solid var(--ks-border) !important;
}

html[data-ks-theme] .layui-layer-content {
	color: var(--ks-text) !important;
}

html[data-ks-theme] .layui-layer-btn a {
	border-radius: var(--ks-radius-sm);
}

html[data-ks-theme] .layui-layer-btn .layui-layer-btn0 {
	background: var(--ks-primary) !important;
	border-color: var(--ks-primary) !important;
	color: var(--ks-on-primary) !important;
}

html[data-ks-theme="dark"] .layui-layer-btn a {
	background: var(--ks-surface-2);
	border-color: var(--ks-border-strong);
	color: var(--ks-text);
}

html[data-ks-theme="dark"] .layui-layer-dialog .layui-layer-content,
html[data-ks-theme="dark"] .layui-layer-page .layui-layer-content {
	background: var(--ks-surface);
}

/* 기존 화면의 인라인 팝업(흰 배경 고정)도 테마 면으로 */
html[data-ks-theme="dark"] #content [style*="background-color:#fefefe"],
html[data-ks-theme="dark"] #content [style*="background-color: #fefefe"],
html[data-ks-theme="dark"] #content [style*="background-color:#ffffff"],
html[data-ks-theme="dark"] #content [style*="background-color: #ffffff"],
html[data-ks-theme="dark"] #content [style*="background-color:white"],
html[data-ks-theme="dark"] #content [style*="background:#fff"],
html[data-ks-theme="dark"] #content [style*="background: #fff"],
html[data-ks-theme="dark"] #content [style*="background:#f5f5f5"],
html[data-ks-theme="dark"] #content [style*="background:#f2f3f8"],
html[data-ks-theme="dark"] #content [style*="background:#fff0f0"],
html[data-ks-theme="dark"] body > [style*="background-color:#fefefe"],
html[data-ks-theme="dark"] body > [style*="background:#fff"] {
	background-color: var(--ks-surface) !important;
	background: var(--ks-surface) !important;
	color: var(--ks-text) !important;
	border-color: var(--ks-border) !important;
}

html[data-ks-theme] #content [style*="background-color:#d8d8d8"],
html[data-ks-theme] #content [style*="background-color: #d8d8d8"],
html[data-ks-theme] #content [style*="background-color:#ccc"] {
	background-color: var(--ks-total-bg) !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme] #content [style*="background:#323237"],
html[data-ks-theme] #content [style*="background: #323237"] {
	background: var(--ks-border-strong) !important;
	color: var(--ks-text) !important;
}

/* 인라인 손익 색(파랑=+, 빨강=-)을 테마 대비색으로 */
html[data-ks-theme] #content [style*="color:#0000fe"],
html[data-ks-theme] #content [style*="color: #0000fe"],
html[data-ks-theme] #content [style*="color:#0000ff"],
html[data-ks-theme] #content [style*="color:blue"],
html[data-ks-theme] #content [style*="color: blue"],
html[data-ks-theme] #content font[color="blue"],
html[data-ks-theme] #content .admin-text-positive {
	color: var(--ks-pos) !important;
}

html[data-ks-theme] #content [style*="color:#fe0000"],
html[data-ks-theme] #content [style*="color: #fe0000"],
html[data-ks-theme] #content [style*="color:#ff0000"],
html[data-ks-theme] #content [style*="color:red"],
html[data-ks-theme] #content [style*="color: red"],
html[data-ks-theme] #content [style*="color:#c62828"],
html[data-ks-theme] #content font[color="red"],
html[data-ks-theme] #content .admin-text-negative {
	color: var(--ks-neg) !important;
}

html[data-ks-theme="dark"] #content [style*="color:#555"],
html[data-ks-theme="dark"] #content [style*="color:#777"],
html[data-ks-theme="dark"] #content [style*="color:#000"],
html[data-ks-theme="dark"] #content [style*="color: #000"] {
	color: var(--ks-text-muted) !important;
}

html[data-ks-theme="dark"] #content [style*="color:#fefefe"],
html[data-ks-theme="dark"] #content [style*="color:#ffffff"],
html[data-ks-theme="dark"] #content [style*="color:#fff"],
html[data-ks-theme="dark"] #content [style*="color:white"] {
	color: var(--ks-text) !important;
}

/* 페이지네이션: 서버 페이지(ks-pager) + 기존 makePageNation 링크 */
.ks-pager,
html[data-ks-theme] #tdPageNation {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	justify-content: center;
	padding: 12px 0 4px;
}

.ks-pager__item,
html[data-ks-theme] #tdPageNation a span,
html[data-ks-theme] .simple-pagination li a,
html[data-ks-theme] .simple-pagination li span,
html[data-ks-theme] #content .pagination .page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 10px;
	border: 1px solid var(--ks-border) !important;
	border-radius: var(--ks-radius-sm);
	background: var(--ks-surface) !important;
	color: var(--ks-text) !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	box-sizing: border-box;
	margin: 0 !important;
}

html[data-ks-theme] #tdPageNation a {
	text-decoration: none;
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ks-pager__item:hover,
html[data-ks-theme] #tdPageNation a span:hover,
html[data-ks-theme] #content .pagination .page-link:hover {
	background: var(--ks-hover) !important;
}

.ks-pager__item.is-current,
html[data-ks-theme] #tdPageNation a span.current,
html[data-ks-theme] .simple-pagination li.active span,
html[data-ks-theme] #content .pagination .page-item.active .page-link {
	background: var(--ks-primary) !important;
	border-color: var(--ks-primary) !important;
	color: var(--ks-on-primary) !important;
}

.ks-pager__nav {
	padding: 0 12px;
}

/* ================================================================== */
/* 10. 날짜 선택 팝업 (jQuery UI datepicker)                            */
/* ================================================================== */
#ui-datepicker-div,
.ui-datepicker {
	z-index: 100060 !important;
}

html[data-ks-theme] #ui-datepicker-div.ui-datepicker {
	width: 268px;
	padding: 8px;
	background: var(--ks-surface);
	color: var(--ks-text);
	border: 1px solid var(--ks-border-strong);
	border-radius: var(--ks-radius);
	box-shadow: var(--ks-shadow-pop);
	font-size: 13px;
	font-family: inherit;
}

html[data-ks-theme] .ui-datepicker .ui-datepicker-header {
	background: var(--ks-surface-2);
	border: 1px solid var(--ks-border);
	color: var(--ks-text);
	border-radius: var(--ks-radius-sm);
	padding: 4px 0;
}

html[data-ks-theme] .ui-datepicker .ui-datepicker-title {
	color: var(--ks-text);
	font-weight: 700;
	line-height: 26px;
}

html[data-ks-theme] .ui-datepicker .ui-datepicker-prev,
html[data-ks-theme] .ui-datepicker .ui-datepicker-next {
	top: 4px;
	cursor: pointer;
	border-radius: var(--ks-radius-sm);
}

html[data-ks-theme] .ui-datepicker .ui-datepicker-prev-hover,
html[data-ks-theme] .ui-datepicker .ui-datepicker-next-hover {
	background: var(--ks-hover);
	border-color: var(--ks-border);
}

html[data-ks-theme="dark"] .ui-datepicker .ui-icon {
	filter: invert(1) brightness(1.6);
}

html[data-ks-theme] .ui-datepicker th {
	color: var(--ks-text-muted);
	font-weight: 600;
	padding: 6px 0 4px;
	background: transparent !important;
	border: 0 !important;
}

html[data-ks-theme] .ui-datepicker td {
	padding: 1px;
	border: 0 !important;
	background: transparent !important;
}

html[data-ks-theme] .ui-datepicker .ui-state-default,
html[data-ks-theme] .ui-datepicker .ui-widget-content .ui-state-default {
	background: transparent;
	border: 1px solid transparent;
	color: var(--ks-text);
	text-align: center;
	padding: 5px 0;
	border-radius: var(--ks-radius-sm);
	font-variant-numeric: tabular-nums;
}

html[data-ks-theme] .ui-datepicker .ui-state-hover {
	background: var(--ks-hover);
	border-color: var(--ks-border);
}

html[data-ks-theme] .ui-datepicker .ui-state-highlight {
	border-color: var(--ks-primary);
	background: var(--ks-primary-soft);
	color: var(--ks-primary);
}

html[data-ks-theme] .ui-datepicker .ui-state-active {
	background: var(--ks-primary);
	border-color: var(--ks-primary);
	color: var(--ks-on-primary);
}

html[data-ks-theme] .ui-datepicker select.ui-datepicker-month,
html[data-ks-theme] .ui-datepicker select.ui-datepicker-year {
	background: var(--ks-input-bg);
	color: var(--ks-text);
	border: 1px solid var(--ks-input-border);
}

/* 팝업이 열린 검색 영역은 위로 (부모 stacking context 아래로 가려지지 않게) */
.ks-dp-open {
	position: relative;
	z-index: 30;
}

@media (max-width: 575.98px) {
	html[data-ks-theme] #ui-datepicker-div.ui-datepicker {
		width: calc(100vw - 24px);
		max-width: 320px;
	}
}

/* ================================================================== */
/* 11. 전체회원 + 계보 트리 (sub_list?sub_level=0)                      */
/* ================================================================== */
.ks-tree-layout {
	display: grid;
	grid-template-columns: 216px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	width: 100%;
}

.ks-tree-pane {
	position: sticky;
	top: 62px;
	background: var(--ks-surface);
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius);
	box-shadow: var(--ks-shadow);
	max-height: calc(100vh - 76px);
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ks-tree-pane__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 12px;
	border-bottom: 1px solid var(--ks-border);
}

.ks-tree-pane__title {
	font-weight: 700;
	font-size: 14px;
	color: var(--ks-text);
}

.ks-tree-pane__title i {
	color: var(--ks-primary);
	margin-right: 4px;
}

.ks-tree-pane__tools {
	display: inline-flex;
	gap: 4px;
}

.ks-tree-pane__toggle {
	display: none;
}

.ks-tree-pane__body {
	padding: 10px 8px 10px 10px;
	overflow: auto;
	min-height: 0;
	flex: 1 1 auto;
}

.ks-tree-search {
	position: relative;
	margin-bottom: 8px;
}

.ks-tree-search > .fa {
	position: absolute;
	left: 10px;
	top: 9px;
	color: var(--ks-text-muted);
	font-size: 13px;
	z-index: 1;
}

html[data-ks-theme] #content .ks-tree-search input {
	padding-left: 30px;
	height: var(--ks-control-h);
	width: 100%;
}

.ks-tree-search__result {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 4px);
	z-index: 40;
	max-height: 320px;
	overflow: auto;
	margin: 0;
	padding: 4px;
	list-style: none;
	background: var(--ks-surface);
	border: 1px solid var(--ks-border-strong);
	border-radius: var(--ks-radius);
	box-shadow: var(--ks-shadow-pop);
}

.ks-tree-search__result.is-open {
	display: block;
}

.ks-tree-search__result li {
	padding: 6px 8px;
	border-radius: var(--ks-radius-sm);
	cursor: pointer;
	font-size: 13px;
	color: var(--ks-text);
}

.ks-tree-search__result li:hover,
.ks-tree-search__result li:focus {
	background: var(--ks-hover);
}

.ks-tree-search__result li small {
	display: block;
	color: var(--ks-text-muted);
	font-size: 11px;
	margin-top: 2px;
}

.ks-tree-search__result .ks-tree-search__empty {
	cursor: default;
	color: var(--ks-text-muted);
}

.ks-tree-legend {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.ks-tree-status {
	font-size: 12.5px;
	padding: 6px 2px;
}

.ks-tree-nick {
	color: var(--ks-text-muted);
	font-size: 12px;
}

.ks-tree-id {
	font-weight: 600;
}

.ks-tree-cnt {
	display: inline-block;
	min-width: 18px;
	padding: 0 6px;
	border-radius: 9px;
	background: var(--ks-lv4-soft);
	color: var(--ks-text-muted);
	font-size: 11px;
	font-weight: 700;
	line-height: 17px;
	text-align: center;
}

.ks-tree-more {
	color: var(--ks-text-muted);
	font-size: 12px;
	font-style: italic;
}

/* jstree 기본 테마 색·화살표 (이미지 스프라이트 없이 Font Awesome) */
.ks-member-tree.jstree-default {
	font-size: 13px;
}

.ks-member-tree .jstree-anchor,
.ks-member-tree .jstree-anchor:link,
.ks-member-tree .jstree-anchor:visited {
	color: var(--ks-text) !important;
	height: 28px;
	line-height: 28px;
	padding: 0 6px 0 2px;
}

.ks-member-tree.jstree-default .jstree-node {
	min-height: 28px;
	line-height: 28px;
	margin-left: 16px;
	background-image: none;
}

.ks-member-tree.jstree-default > .jstree-container-ul > .jstree-node {
	margin-left: 0;
}

.ks-member-tree.jstree-default .jstree-ocl {
	width: 16px;
	height: 28px;
	line-height: 28px;
	background: none !important;
	text-align: center;
	color: var(--ks-text-muted);
	cursor: pointer;
}

.ks-member-tree.jstree-default .jstree-closed > .jstree-ocl::before {
	font-family: FontAwesome;
	content: "\f0da";
}

.ks-member-tree.jstree-default .jstree-open > .jstree-ocl::before {
	font-family: FontAwesome;
	content: "\f0d7";
}

.ks-member-tree.jstree-default .jstree-loading > .jstree-ocl::before {
	font-family: FontAwesome;
	content: "\f110";
	display: inline-block;
	animation: ks-spin 1s linear infinite;
}

@keyframes ks-spin {
	to { transform: rotate(360deg); }
}

.ks-member-tree.jstree-default .jstree-wholerow {
	height: 28px;
}

.ks-member-tree.jstree-default .jstree-wholerow-hovered,
.ks-member-tree.jstree-default .jstree-hovered {
	background: var(--ks-hover) !important;
	box-shadow: none;
	border-radius: 0;
}

.ks-member-tree.jstree-default .jstree-wholerow-clicked,
.ks-member-tree.jstree-default .jstree-clicked {
	background: var(--ks-selected) !important;
	box-shadow: inset 3px 0 0 var(--ks-selected-line);
	border-radius: 0;
}

.ks-member-tree.jstree-default .jstree-disabled,
.ks-member-tree.jstree-default .jstree-disabled.jstree-hovered {
	background: transparent !important;
	cursor: default;
}

.ks-member-tree .ks-lv {
	min-width: 30px;
	padding: 0 5px;
	font-size: 10.5px;
	line-height: 16px;
}

.ks-tree-main {
	min-width: 0;
}

.ks-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	margin-bottom: 10px;
	background: var(--ks-surface);
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius);
	font-size: 13px;
	color: var(--ks-text-muted);
}

.ks-breadcrumb .fa-angle-right {
	color: var(--ks-text-muted);
}

.ks-breadcrumb strong {
	color: var(--ks-text);
}

.ks-member-card {
	background: var(--ks-surface);
	border: 1px solid var(--ks-border);
	border-left: 4px solid var(--ks-primary);
	border-radius: var(--ks-radius);
	padding: 12px 14px;
	margin-bottom: 12px;
	box-shadow: var(--ks-shadow);
}

.ks-member-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}

.ks-member-card__id {
	font-size: 16px;
	color: var(--ks-text);
}

.ks-member-card__nick {
	color: var(--ks-text-muted);
}

.ks-member-card__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 8px 16px;
	margin: 0;
}

.ks-member-card__grid dt {
	font-size: 11.5px;
	font-weight: 600;
	color: var(--ks-text-muted) !important;
	margin: 0 0 2px;
}

.ks-member-card__grid dd {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--ks-text);
	word-break: break-all;
}

.ks-member-card__grid dd small {
	font-size: 11px;
	font-weight: 600;
	margin-left: 2px;
	color: var(--ks-text-muted);
}

.ks-list-meta {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px !important;
	color: var(--ks-text);
	font-size: 13px;
	flex-direction: row !important;
}

.ks-list-meta__range {
	color: var(--ks-text-muted);
}

.ks-list-meta__ps {
	margin: 0 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	color: var(--ks-text-muted);
	white-space: nowrap;
}

html[data-ks-theme] #content .ks-list-meta__ps select {
	width: auto !important;
	height: 30px !important;
	min-height: 30px !important;
	flex: 0 0 auto;
	padding: 2px 6px;
}

.ks-tree-layout .divTitle {
	margin-top: 0;
	padding-top: 0;
}

@media (max-width: 1199.98px) {
	.ks-tree-layout {
		grid-template-columns: 190px minmax(0, 1fr);
	}
}

@media (max-width: 991.98px) {
	.ks-tree-layout {
		grid-template-columns: minmax(0, 1fr);
	}
	.ks-tree-pane {
		position: relative;
		top: 0;
		max-height: none;
	}
	.ks-tree-pane__body {
		max-height: 340px;
	}
	.ks-tree-pane__toggle {
		display: inline-flex;
	}
	.ks-tree-pane.is-collapsed .ks-tree-pane__body {
		display: none;
	}
	.ks-tree-pane.is-collapsed .ks-tree-pane__toggle .fa {
		transform: rotate(180deg);
	}
	.ks-tree-layout .ks-table-wrap {
		max-height: 70vh;
	}
}

/* ================================================================== */
/* 12. Login                                                           */
/* ================================================================== */
html[data-ks-theme] body .ks-login {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	box-sizing: border-box;
	background: var(--ks-bg);
	font-family: "Malgun Gothic", "Apple SD Gothic Neo", "Segoe UI", sans-serif;
}

html[data-ks-theme] body:has(.ks-login) {
	margin: 0;
	background: var(--ks-bg);
}

.ks-login__card {
	width: 100%;
	max-width: 340px;
	background: var(--ks-surface);
	border: 1px solid var(--ks-border);
	border-radius: 12px;
	box-shadow: var(--ks-shadow-pop);
	padding: 26px 24px 18px;
	box-sizing: border-box;
	color: var(--ks-text);
}

.ks-login__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}

.ks-login__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--ks-primary-soft);
	color: var(--ks-primary);
	font-size: 20px;
}

.ks-login__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--ks-text);
}

.ks-login__sub {
	font-size: 12px;
	color: var(--ks-text-muted);
	margin-top: 2px;
}

.ks-login__notice {
	margin: 0 0 14px;
	padding: 10px 12px;
	border-radius: 6px;
	background: var(--ks-warn-soft);
	color: var(--ks-warn);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
}

.ks-login__label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--ks-text-muted);
	margin: 0 0 4px;
}

.ks-login .input_login {
	display: block;
	width: 100%;
	height: 40px;
	padding: 0 12px;
	margin: 0 0 12px;
	border: 1px solid var(--ks-input-border);
	border-radius: 6px;
	background: var(--ks-input-bg);
	color: var(--ks-text);
	font-size: 14px;
	box-sizing: border-box;
}

.ks-login .input_login:focus {
	outline: none;
	border-color: var(--ks-primary);
	box-shadow: 0 0 0 3px var(--ks-focus);
}

.ks-login__captcha {
	margin: 0 0 8px;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid var(--ks-border);
	line-height: 0;
}

.ks-login__captcha img,
.ks-login__captcha > div {
	width: 100% !important;
	max-width: 100%;
	display: block;
}

.ks-login__captcha > div {
	line-height: 30px;
}

.ks-login .ks-login__submit {
	display: block;
	width: 100%;
	height: 42px;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	margin-top: 4px;
}

.ks-login__theme {
	margin: 16px auto 0;
	display: flex !important;
	width: max-content;
}

/* ================================================================== */
/* 13. Dashboard                                                       */
/* ================================================================== */
html[data-ks-theme] #content .dashboard-rank-tabs {
	padding: 8px 10px;
	border-bottom: 1px solid var(--ks-border);
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	background: var(--ks-surface);
}

html[data-ks-theme] #content .dashboard-rank-tab {
	min-height: 26px;
	padding: 2px 10px;
	border-radius: var(--ks-radius-sm);
}

html[data-ks-theme] #content .admin-dashboard-page .panel {
	height: calc(100% - 0px);
}

html[data-ks-theme] #content .admin-dashboard-page .row > [class*="col-xl"] {
	display: flex;
	flex-direction: column;
}

html[data-ks-theme] #content .admin-dashboard-page .row > [class*="col-xl"] > .panel {
	flex: 1 1 auto;
	margin-bottom: 0;
}

html[data-ks-theme] #content .dashboard-bet-row,
html[data-ks-theme] #content .dashboard-rank-row {
	cursor: pointer;
}

html[data-ks-theme] #content .dashboard-notice-new {
	background: var(--ks-info-soft);
}

html[data-ks-theme] #content .admin-dashboard-page .ks-table td,
html[data-ks-theme] #content .admin-dashboard-page .ks-table th {
	font-size: 13px;
}

/* ================================================================== */
/* 14. 기타 공통                                                        */
/* ================================================================== */
html[data-ks-theme] #content .admin-list-meta {
	color: var(--ks-text-muted);
}

html[data-ks-theme] #content .ks-table-wrap + #tdPageNation,
html[data-ks-theme] #content .divList + #tdPageNation {
	margin-top: 4px;
}

/* 아주 작은 글자 방지 */
html[data-ks-theme] #content td,
html[data-ks-theme] #content th {
	font-size: max(12px, 1em);
}

/* 스크롤바 */
html[data-ks-theme="dark"] * {
	scrollbar-color: #4E6580 transparent;
}

html[data-ks-theme] *::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

html[data-ks-theme] *::-webkit-scrollbar-thumb {
	background: var(--ks-border-strong);
	border-radius: 6px;
	border: 2px solid transparent;
	background-clip: padding-box;
}

html[data-ks-theme] *::-webkit-scrollbar-track {
	background: transparent;
}

/* Color Admin ships heavy !important drop shadows on these blocks */
html[data-ks-theme] .header.navbar-default,
html[data-ks-theme] .page-sidebar-fixed .sidebar,
html[data-ks-theme] .widget-stats,
html[data-ks-theme] .widget.widget-stats,
html[data-ks-theme] .widget-chart,
html[data-ks-theme] .panel .panel-body {
	box-shadow: none !important;
}

html[data-ks-theme] .header.navbar-default {
	border-bottom: 1px solid var(--ks-border) !important;
}

html[data-ks-theme] .widget-stats.ks-kpi,
html[data-ks-theme] .widget.widget-stats.ks-kpi {
	box-shadow: var(--ks-shadow) !important;
}

html[data-ks-theme] .modal-content {
	box-shadow: var(--ks-shadow-pop) !important;
}

/* 회원 정보변경·등록·알충전/알회수 레이어 (인라인 position:absolute, z-index 없음) — 고정 헤더/열 위로 */
html[data-ks-theme] #divEditSub,
html[data-ks-theme] #divEditSubMaxBet,
html[data-ks-theme] #divEditSubRate,
html[data-ks-theme] #divRegSub,
html[data-ks-theme] #divRegSub2,
html[data-ks-theme] #divServiceCharge,
html[data-ks-theme] #divServiceExchange {
	z-index: 1040 !important;
	box-shadow: var(--ks-shadow-pop);
	border-radius: 6px;
}

html[data-ks-theme="dark"] #divEditSub,
html[data-ks-theme="dark"] #divEditSubMaxBet,
html[data-ks-theme="dark"] #divEditSubRate,
html[data-ks-theme="dark"] #divRegSub,
html[data-ks-theme="dark"] #divRegSub2,
html[data-ks-theme="dark"] #divServiceCharge,
html[data-ks-theme="dark"] #divServiceExchange,
html[data-ks-theme="dark"] [id^="divEditSub"] .divInfoBox,
html[data-ks-theme="dark"] [id^="divRegSub"] .divInfoBox,
html[data-ks-theme="dark"] [id^="divService"] .divInfoBox {
	background-color: var(--ks-surface) !important;
	color: var(--ks-text) !important;
	border-color: var(--ks-border-strong) !important;
}

html[data-ks-theme="dark"] [id^="divEditSub"] table,
html[data-ks-theme="dark"] [id^="divEditSub"] tr,
html[data-ks-theme="dark"] [id^="divEditSub"] td,
html[data-ks-theme="dark"] [id^="divRegSub"] table,
html[data-ks-theme="dark"] [id^="divRegSub"] tr,
html[data-ks-theme="dark"] [id^="divRegSub"] td,
html[data-ks-theme="dark"] [id^="divService"] table,
html[data-ks-theme="dark"] [id^="divService"] tr,
html[data-ks-theme="dark"] [id^="divService"] td {
	background-color: transparent !important;
	color: var(--ks-text) !important;
}

html[data-ks-theme="dark"] [id^="divEditSub"] tbody tr:nth-child(odd),
html[data-ks-theme="dark"] [id^="divRegSub"] tbody tr:nth-child(odd),
html[data-ks-theme="dark"] [id^="divService"] tbody tr:nth-child(odd) {
	background-color: var(--ks-zebra) !important;
}

html[data-ks-theme="dark"] [id^="divEditSub"] input:not([type="button"]):not([type="submit"]),
html[data-ks-theme="dark"] [id^="divRegSub"] input:not([type="button"]):not([type="submit"]),
html[data-ks-theme="dark"] [id^="divService"] input:not([type="button"]):not([type="submit"]),
html[data-ks-theme="dark"] [id^="divEditSub"] select,
html[data-ks-theme="dark"] [id^="divRegSub"] select,
html[data-ks-theme="dark"] [id^="divService"] select,
html[data-ks-theme="dark"] [id^="divEditSub"] textarea,
html[data-ks-theme="dark"] [id^="divRegSub"] textarea {
	background-color: var(--ks-input-bg) !important;
	color: var(--ks-text) !important;
	border: 1px solid var(--ks-border) !important;
}

/* 모바일: 기존 검색폼(ul.flex)이 입력칸 100% 폭 때문에 카드 밖으로 넘치는 문제 */
@media (max-width: 767.98px) {
	html[data-ks-theme] #content .divSearch form > div,
	html[data-ks-theme] #content .divSearch ul.flex {
		min-width: 0;
		max-width: 100%;
		width: 100%;
		flex-wrap: wrap;
	}

	html[data-ks-theme] #content .divSearch ul.flex > li {
		min-width: 0;
		max-width: 100%;
	}

	html[data-ks-theme] #content .divSearch ul.flex > li.size_free {
		flex: 1 1 100%;
	}
}

/* ================================================================== */
/* 14. R80.1 계보 트리·회원 목록 밀도, 상태 배지, 로그인 기록           */
/* ================================================================== */
.ks-tree-pane__head {
	padding: 7px 8px;
}

.ks-tree-pane__title {
	font-size: 13px;
}

.ks-tree-pane .ks-icon-btn {
	width: 24px;
	height: 24px;
	font-size: 12px;
}

.ks-tree-pane__body {
	padding: 7px 4px 8px 6px;
	overflow-x: hidden;
}

.ks-tree-search > .fa {
	left: 8px;
	top: 7px;
	font-size: 12px;
}

html[data-ks-theme] #content .ks-tree-search input {
	height: 26px;
	padding: 2px 6px 2px 24px;
	font-size: 12px;
}

.ks-tree-legend {
	gap: 3px;
	margin-bottom: 6px;
}

.ks-tree-legend .ks-lv {
	min-width: 0;
	padding: 0 5px;
	font-size: 10.5px;
	line-height: 16px;
}

.ks-member-tree.jstree-default {
	font-size: 12.5px;
}

.ks-member-tree.jstree-default .jstree-node {
	min-height: 24px;
	line-height: 24px;
	margin-left: 12px;
}

.ks-member-tree.jstree-default .jstree-ocl,
.ks-member-tree.jstree-default .jstree-wholerow {
	height: 24px;
	line-height: 24px;
}

.ks-member-tree.jstree-default .jstree-ocl {
	width: 14px;
}

/* jstree 기본값(inline-block)은 긴 라벨 폭만큼 늘어나 말줄임이 동작하지 않음 */
.ks-member-tree .jstree-container-ul {
	display: block;
	width: 100%;
	min-width: 0;
}

.ks-member-tree .jstree-anchor,
.ks-member-tree .jstree-anchor:link,
.ks-member-tree .jstree-anchor:visited {
	height: 24px;
	line-height: 24px;
	padding: 0 4px 0 1px;
	max-width: calc(100% - 26px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: top;
}

.ks-member-tree .ks-lv {
	min-width: 0;
	padding: 0 4px;
	font-size: 10px;
	line-height: 15px;
	margin-right: 1px;
}

.ks-member-tree .ks-tree-nick {
	font-size: 11px;
}

.ks-member-tree .ks-tree-cnt {
	min-width: 14px;
	padding: 0 4px;
	font-size: 10px;
	line-height: 14px;
}

/* 회원 목록: 셀 3~5px / 행 32~34px, 숫자 우측, 긴 값은 말줄임 + title */
html[data-ks-theme] #content .ks-member-table th,
html[data-ks-theme] #content .ks-member-table td {
	padding: 5px 4px;
	font-size: 12.5px;
	line-height: 1.3;
}

html[data-ks-theme] #content .ks-member-table td {
	height: 33px;
}

html[data-ks-theme] #content .ks-member-table tr:first-child > th {
	height: 32px;
	font-size: 12px;
	padding: 4px 4px;
}

html[data-ks-theme] #content .ks-member-table tr > :first-child {
	min-width: 36px;
}

html[data-ks-theme] #content .ks-member-table .tdMoney {
	padding-right: 6px;
}

.ks-trunc {
	display: inline-block;
	max-width: 116px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
}

.ks-cell-nick .ks-trunc {
	max-width: 96px;
}

html[data-ks-theme] #content .ks-member-table .ks-lv {
	min-width: 0;
	padding: 0 5px;
	font-size: 11px;
	line-height: 17px;
}

html[data-ks-theme] #content .ks-member-table button,
html[data-ks-theme] #content .ks-btn-xs {
	min-height: 22px;
	padding: 1px 6px;
	font-size: 11.5px;
	line-height: 1.2;
}

.ks-btn-pair {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

html[data-ks-theme] #content .ks-member-table .ks-icon-btn--xs,
.ks-icon-btn--xs {
	width: 22px;
	height: 22px;
	min-height: 22px;
	padding: 0;
	font-size: 12px;
}

.ks-cell-ip {
	white-space: nowrap;
}

html[data-ks-theme] #content a.ks-ip-link {
	color: var(--ks-primary);
	font-variant-numeric: tabular-nums;
	text-decoration: none;
	border-bottom: 1px dashed currentColor;
}

html[data-ks-theme] #content a.ks-ip-link:hover {
	color: var(--ks-primary-hover);
	border-bottom-style: solid;
}

.ks-ip-rule {
	margin-left: 4px;
	color: var(--ks-success);
	font-size: 12px;
}

html[data-ks-theme] #content .ks-muted,
html[data-ks-theme] #content td.ks-muted {
	color: var(--ks-text-muted) !important;
}

/* 상태 배지: 로그인잠김(정상/LOCK) — 접속(온라인) 표시와 다른 모양 */
.ks-badge {
	display: inline-block;
	min-width: 32px;
	padding: 0 5px;
	border-radius: 3px;
	border: 1px solid transparent;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 17px;
	letter-spacing: 0.02em;
	text-align: center;
	white-space: nowrap;
}

.ks-badge--ok { background: var(--ks-success-soft); color: var(--ks-success); border-color: var(--ks-success); }
.ks-badge--lock { background: var(--ks-danger-soft); color: var(--ks-danger); border-color: var(--ks-danger); }
.ks-badge--warn { background: var(--ks-warn-soft); color: var(--ks-warn); border-color: var(--ks-warn); }

html[data-ks-theme] #content .ks-member-table .ks-btn-out {
	min-width: 34px;
	font-weight: 700;
	letter-spacing: 0.03em;
}

/* 로그인 기록 조회 · 허용 IP 관리 */
.ks-ip-note {
	display: block;
	font-size: 10.5px;
	color: var(--ks-text-muted);
	line-height: 1.2;
}

.ks-expire {
	font-size: 12px;
	white-space: nowrap;
	line-height: 1.35;
}

.ks-expire > span {
	display: inline-block;
	min-width: 54px;
	color: var(--ks-text-muted);
	font-size: 11px;
}

.ks-expire--muted {
	color: var(--ks-text-muted);
}

.ks-help-list {
	padding-left: 18px;
	font-size: 12px;
	line-height: 1.6;
}

.ks-section-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--ks-text);
	margin: 4px 0 8px;
}

.ks-ip-list {
	max-width: 360px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ks-allowed-ip-form {
	padding: 15px;
	text-align: left;
	color: var(--ks-text);
}

.ks-allowed-ip-form__who,
.ks-allowed-ip-form__chk {
	display: block;
	margin-bottom: 8px;
}

.ks-allowed-ip-form__chk input {
	height: auto;
	margin-right: 4px;
}

.ks-allowed-ip-form__help {
	margin-top: 6px;
	color: var(--ks-text-muted);
	font-size: 12px;
}

/* 표 안 링크·파란 버튼 글자: 옅은 배경(선택·줄무늬·온라인 행) 위에서도 4.5:1 이상 */
html[data-ks-theme] #content .ks-table a:not([class*="btn"]),
html[data-ks-theme] #content .ks-member-table .ks-tree-jump,
html[data-ks-theme] #content a.ks-ip-link {
	color: var(--ks-link);
}

html[data-ks-theme] #content .ks-table .btn_blue {
	color: var(--ks-link) !important;
	border-color: var(--ks-link) !important;
}

/* Dark: 숫자·아이디·금액 가독성 */
html[data-ks-theme="dark"] #content .tdMoney:not(.ks-pos):not(.ks-neg):not(.ks-muted),
html[data-ks-theme="dark"] #content .ks-auth-id,
html[data-ks-theme="dark"] #content .ks-cell-id {
	color: #F1F5FA;
}

html[data-ks-theme="dark"] #content .ks-member-table .ks-tree-jump,
html[data-ks-theme="dark"] #content .ks-member-table .ks-cell-id a {
	color: #9CC8FF;
}

/* ===================================================================== */
/* 15. R81 로그인 팝업 · 공지사항 · 사이트 로고 관리                       */
/* ===================================================================== */
.r81-admin [hidden] { display: none !important; }

.r81-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 10px;
}

.r81-toolbar__info {
	font-size: 12px;
	line-height: 1.6;
	flex: 1 1 420px;
}

.r81-thumb {
	display: inline-block;
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: var(--ks-radius-sm);
	border: 1px solid var(--ks-border);
	vertical-align: middle;
}

.r81-thumb--none {
	line-height: 54px;
	font-size: 11px;
	color: var(--ks-text-muted);
	background: var(--ks-surface-2);
}

.r81-state--live,
.r81-state--popup_live,
.r81-state--public { background: var(--ks-success-soft); color: var(--ks-success); }
.r81-state--wait,
.r81-state--popup_wait,
.r81-state--scheduled { background: var(--ks-info-soft); color: var(--ks-link); }
.r81-state--end,
.r81-state--popup_end { background: var(--ks-warn-soft); color: var(--ks-warn); }
.r81-state--off,
.r81-state--popup_off,
.r81-state--private { background: var(--ks-lv4-soft); color: var(--ks-text-muted); }

.r81-editor__grid {
	display: grid;
	grid-template-columns: minmax(320px, 1fr) minmax(320px, 760px);
	gap: 20px;
	align-items: start;
}

.r81-editor__grid--notice {
	grid-template-columns: minmax(320px, 1fr) minmax(300px, 520px);
}

@media (max-width: 1200px) {
	.r81-editor__grid,
	.r81-editor__grid--notice { grid-template-columns: 1fr; }
}

.r81-field { margin-bottom: 12px; }

.r81-field > label,
.r81-editor__label,
.r81-fieldset legend {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 700;
	color: var(--ks-text);
}

.r81-fieldset {
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius);
	padding: 8px 10px 4px;
	margin: 0 0 12px;
}

.r81-fieldset legend {
	width: auto;
	padding: 0 4px;
	margin: 0;
	border: 0;
}

.r81-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 10px;
}

.r81-row > label {
	display: flex;
	flex-direction: column;
	gap: 3px;
	flex: 1 1 110px;
	font-size: 12px;
	font-weight: 600;
	color: var(--ks-text-muted);
	margin: 0;
}

.r81-row--checks { align-items: flex-end; }

.r81-check {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: var(--ks-text);
	margin: 6px 12px 6px 0;
	cursor: pointer;
}

.r81-check input { margin: 0; height: auto; }

html[data-ks-theme] #content .r81-color {
	padding: 2px 4px;
	height: var(--ks-control-h);
	min-width: 56px;
}

.r81-editor__help {
	font-size: 12px;
	line-height: 1.6;
	margin: 6px 0 12px;
}

.r81-editor__actions { display: flex; gap: 8px; }

.r81-seg {
	display: inline-flex;
	border: 1px solid var(--ks-border-strong);
	border-radius: var(--ks-radius);
	overflow: hidden;
	margin-bottom: 10px;
}

.r81-seg__btn {
	border: 0;
	background: var(--ks-surface);
	color: var(--ks-text);
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 600;
}

.r81-seg__btn + .r81-seg__btn { border-left: 1px solid var(--ks-border-strong); }

.r81-seg__btn.is-active {
	background: var(--ks-primary);
	color: var(--ks-on-primary);
}

.r81-stage {
	display: flex;
	justify-content: center;
	padding: 16px;
	border-radius: var(--ks-radius);
	background: var(--ks-surface-2);
	border: 1px solid var(--ks-border);
}

.r81-stage__screen {
	position: relative;
	width: 100%;
	max-width: 720px;
	height: 540px;
	border-radius: 6px;
	overflow: hidden;
	background: linear-gradient(160deg, #1c1c1c, #2a2418 60%, #121212);
	box-shadow: var(--ks-shadow-pop);
}

.r81-stage[data-device="mobile"] .r81-stage__screen {
	width: 360px;
	max-width: 100%;
	height: 680px;
	border-radius: 28px;
	border: 10px solid #0d0d0d;
}

.r81-stage__shade {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.55);
}

/* R81.1 미리보기: 유저 화면 팝업 영역처럼 위쪽 가운데에 칸을 두고, 길면 영역 안에서 스크롤 */
.r81-stage__area {
	position: absolute;
	inset: 0;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 24px 0;
}

.r81-stage[data-device="mobile"] .r81-stage__area { padding-top: 12px; }

.r81-stage__area .ksp-item { flex: 0 0 auto; }

.r81-stage__area .ksp {
	border-radius: 0;
	box-shadow: none;
}

.r81-row--bg { align-items: center; }
.r81-row--bg.is-off { opacity: 0.45; }

.r81-range {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.r81-range input[type="range"] { width: 110px; }

.r81-range__val {
	min-width: 38px;
	font-size: 12px;
	font-weight: 700;
	color: var(--ks-text);
}

.ksp {
	border-radius: 14px;
	background-color: #1a1a1a;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5);
	font-family: inherit;
}

.ksp--plain {
	background: linear-gradient(160deg, #2b2416 0%, #17140e 55%, #0d0d0d 100%);
	border: 1px solid rgba(216, 180, 90, 0.45);
}

.ksp--editing .ksp__txt {
	outline: 1px dashed rgba(255, 255, 255, 0.55);
	outline-offset: 2px;
}

.ksp--editing .ksp__txt.is-dragging {
	outline: 2px solid #f3d98b;
}

.r81-notice-preview {
	border-radius: 12px;
	padding: 18px 20px;
	background: #151515;
	color: #e9e4d8;
	border: 1px solid rgba(216, 180, 90, 0.35);
	min-height: 200px;
}

.r81-notice-preview__title {
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 800;
	color: #f3d98b;
	overflow-wrap: anywhere;
}

.r81-notice-preview__meta {
	font-size: 12px;
	color: #b9b2a2;
	padding-bottom: 10px;
	margin-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.r81-notice-preview__img {
	display: block;
	max-width: 100%;
	border-radius: 8px;
	margin-bottom: 12px;
}

.r81-notice-preview__body {
	white-space: pre-line;
	overflow-wrap: anywhere;
	font-size: 14px;
	line-height: 1.7;
}

.r81-logo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(440px, 1fr));
	gap: 16px;
}

@media (max-width: 560px) {
	.r81-logo-grid { grid-template-columns: 1fr; }
}

.r81-logo-card {
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius);
	background: var(--ks-surface);
	padding: 14px;
}

.r81-logo-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.r81-logo-card__title {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: var(--ks-text);
}

.r81-logo-card__spec {
	font-size: 12px;
	margin: 4px 0 10px;
}

.r81-logo-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.r81-logo-compare__label {
	font-size: 12px;
	font-weight: 700;
	color: var(--ks-text-muted);
	margin-bottom: 4px;
}

.r81-logo-compare__meta {
	font-size: 11px;
	margin-top: 4px;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.r81-logo-frame {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 1;
	border-radius: var(--ks-radius-sm);
	background: #121212 linear-gradient(180deg, #1d1a14, #0e0e0e);
	border: 1px solid var(--ks-border-strong);
	overflow: hidden;
	padding: 6px;
}

.r81-logo-frame--mobile { aspect-ratio: 2 / 1; }
.r81-logo-frame--favicon { aspect-ratio: 1 / 1; max-width: 96px; }
.r81-logo-frame--footer { aspect-ratio: 5 / 2; }

.r81-logo-frame img {
	max-width: 100%;
	max-height: 100%;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.r81-logo-frame__empty {
	color: #a49b88;
	font-size: 11px;
	text-align: center;
	padding: 0 6px;
}

.r81-logo-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
	align-items: center;
}

.r81-logo-card__actions input[type="file"] { flex: 1 1 200px; }

.r81-logo-versions {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
	max-height: 260px;
	overflow: auto;
}

.r81-logo-versions__item {
	display: grid;
	grid-template-columns: 96px 1fr auto;
	gap: 10px;
	align-items: center;
	padding: 6px;
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius-sm);
	font-size: 12px;
}

.r81-logo-versions__item.is-current {
	border-color: var(--ks-success);
	background: var(--ks-success-soft);
}

.r81-logo-frame--thumb { padding: 3px; }
.r81-logo-frame--favicon.r81-logo-frame--thumb { width: 40px; }

/* ================================================================== */
/* edit_20261110 Admin Dark Fix: 알림 팝업 · 날짜 선택 · 공배팅 행 (Dark 전용) */
/* ================================================================== */
/* util.js alert()·admin-r82-pages.js 는 본문을 color:#000000 인라인으로 감싼다. Light 는 그대로 둔다. */
html[data-ks-theme="dark"] .layui-layer-content [style*="color: #000"],
html[data-ks-theme="dark"] .layui-layer-content [style*="color:#000"] {
	color: var(--ks-text) !important;
}

html[data-ks-theme="dark"] .layui-layer-content [style*="color:#777"],
html[data-ks-theme="dark"] .layui-layer-content [style*="color: #777"] {
	color: var(--ks-text-muted) !important;
}

html[data-ks-theme="dark"] .layui-layer-dialog .layui-layer-content {
	font-size: 14px;
	line-height: 1.6;
}

html[data-ks-theme="dark"] .layui-layer-setwin .layui-layer-close1 {
	filter: invert(1) brightness(1.6);
}

/* app.min.css 의 table 흰 배경과 main.css 의 tbody tr:nth-child(2n+1) 배경(#f4f4f4)이 달력에도 걸린다 */
html[data-ks-theme="dark"] .ui-datepicker table.ui-datepicker-calendar {
	background: transparent;
}

html[data-ks-theme="dark"] .ui-datepicker tbody tr,
html[data-ks-theme="dark"] .ui-datepicker tbody tr:nth-child(2n+1) {
	background: transparent !important;
}

html[data-ks-theme="dark"] .ui-datepicker .ui-state-default,
html[data-ks-theme="dark"] .ui-datepicker .ui-widget-content .ui-state-default {
	color: var(--ks-text);
	font-weight: 600;
}

html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-week-end .ui-state-default {
	color: #FFB4AE;
}

html[data-ks-theme="dark"] .ui-datepicker .ui-state-hover,
html[data-ks-theme="dark"] .ui-datepicker .ui-widget-content .ui-state-default:hover {
	background: var(--ks-hover);
	border-color: var(--ks-border-strong);
	color: var(--ks-text);
}

html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-today .ui-state-default {
	border-color: var(--ks-primary);
	background: var(--ks-primary-soft);
	color: var(--ks-text);
}

html[data-ks-theme="dark"] .ui-datepicker .ui-state-active,
html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-week-end .ui-state-active,
html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-today .ui-state-active {
	background: var(--ks-primary);
	border-color: var(--ks-primary);
	color: var(--ks-on-primary);
	font-weight: 700;
}

html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-today .ui-state-active {
	box-shadow: inset 0 0 0 2px var(--ks-on-primary);
}

html[data-ks-theme="dark"] .ui-datepicker .ui-state-disabled,
html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-unselectable {
	opacity: 1;
}

html[data-ks-theme="dark"] .ui-datepicker .ui-state-disabled .ui-state-default,
html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-unselectable .ui-state-default {
	color: #8193A8;
	font-weight: 400;
	text-decoration: line-through;
}

html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-prev,
html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-next {
	background: var(--ks-surface);
	border: 1px solid var(--ks-border-strong);
}

html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-prev-hover,
html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-next-hover {
	background: var(--ks-hover);
	border-color: var(--ks-primary);
}

html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-prev .ui-icon,
html[data-ks-theme="dark"] .ui-datepicker .ui-datepicker-next .ui-icon {
	filter: invert(1) brightness(2);
}

/* R82.4 배팅내역 공배팅 행: 템플릿의 밝은 배경(#fff1f0) 대신 어두운 붉은 톤 + 왼쪽 띠로 구분 */
html[data-ks-theme="dark"] .r824-zero td {
	background: #3A2730 !important;
	color: var(--ks-text) !important;
	border-color: #5A3A44 !important;
}

html[data-ks-theme="dark"] .r824-zero td:first-child {
	box-shadow: inset 4px 0 0 var(--ks-danger);
}

html[data-ks-theme="dark"] .r824-zero:hover td {
	background: #46303A !important;
}

html[data-ks-theme="dark"] .r824-badge {
	background: #C4312A;
	color: #FFFFFF;
	font-weight: 700;
}

html[data-ks-theme="dark"] .r824-sub {
	color: var(--ks-text-muted);
}

html[data-ks-theme="dark"] .r824-unpaid {
	color: var(--ks-danger);
}

html[data-ks-theme="dark"] #r824Modal .r824-box {
	background: var(--ks-surface);
	color: var(--ks-text);
	border: 1px solid var(--ks-border-strong);
}

html[data-ks-theme="dark"] #r824Modal th,
html[data-ks-theme="dark"] #r824Modal td {
	border-color: var(--ks-border);
	color: var(--ks-text);
	background: transparent;
}

html[data-ks-theme="dark"] #r824Modal th {
	background: var(--ks-surface-2);
}
