@charset "utf-8";

/* =========================================================================
   STAKE THEME  ·  단계 1: 레이아웃 뼈대 (사이드바 + 헤더 + 다크/라이트 테마)
   - 신규 클래스는 모두 stk- 접두사를 사용해 기존 style.css 와 충돌을 피합니다.
   - 색상/간격은 CSS 변수로 정의하여 다크/라이트 전환을 지원합니다.
   ========================================================================= */

/* ------------------------- 테마 변수 : 다크(기본) ------------------------- */
:root,
:root[data-theme="dark"] {
	--stk-bg: #0f212e;
	--stk-surface: #1a2c38;
	--stk-surface-2: #213743;
	--stk-surface-3: #2f4553;
	--stk-border: #2f4553;
	--stk-text: #ffffff;
	--stk-text-muted: #b1bad3;
	--stk-text-dim: #8595a9;
	--stk-primary: #1475e1;
	--stk-primary-hover: #2b83e3;
	--stk-success: #1fff20;
	--stk-danger: #ed4163;
	--stk-shadow: rgba(0, 0, 0, 0.35);
	--stk-overlay: rgba(0, 0, 0, 0.6);
}

/* ---------------------------- 테마 변수 : 라이트 ---------------------------- */
:root[data-theme="light"] {
	--stk-bg: #f2f5f9;
	--stk-surface: #ffffff;
	--stk-surface-2: #eef2f7;
	--stk-surface-3: #e2e8f0;
	--stk-border: #dbe2ea;
	--stk-text: #12212e;
	--stk-text-muted: #55657e;
	--stk-text-dim: #7c8aa0;
	--stk-primary: #1475e1;
	--stk-primary-hover: #0e63c4;
	--stk-success: #12a312;
	--stk-danger: #d32f4f;
	--stk-shadow: rgba(16, 33, 46, 0.12);
	--stk-overlay: rgba(16, 33, 46, 0.4);
}

/* --------------------------------- 치수 --------------------------------- */
:root {
	--stk-sidebar-w: 240px;
	--stk-sidebar-w-collapsed: 64px;
	--stk-header-h: 60px;
	--stk-radius: 8px;
	--stk-radius-sm: 6px;
	--stk-content-max: 1200px;
	--stk-transition: 0.2s ease;
}

/* --------------------------------- 베이스 -------------------------------- */
.stk-app * {
	box-sizing: border-box;
}

body.stk-body {
	margin: 0;
	background: var(--stk-bg);
	color: var(--stk-text);
	transition: background var(--stk-transition), color var(--stk-transition);
	-webkit-font-smoothing: antialiased;
}

.stk-app a {
	color: inherit;
	text-decoration: none;
}

/* ------------------------------- 앱 셸 그리드 ------------------------------ */
.stk-app {
	min-height: 100vh;
}

/* 사이드바 폭만큼 본문을 밀어줍니다. */
.stk-main {
	min-height: 100vh;
	margin-left: var(--stk-sidebar-w);
	display: flex;
	flex-direction: column;
	transition: margin-left var(--stk-transition);
}

.stk-app[data-sidebar="collapsed"] .stk-main {
	margin-left: var(--stk-sidebar-w-collapsed);
}

/* ================================ 사이드바 =============================== */
.stk-sidebar {
	position: fixed;
	top: 0;
	left: 0;
	width: var(--stk-sidebar-w);
	height: 100vh;
	background: var(--stk-surface);
	border-right: 1px solid var(--stk-border);
	display: flex;
	flex-direction: column;
	z-index: 1040;
	transition: width var(--stk-transition), transform var(--stk-transition);
	overflow: hidden;
}

.stk-app[data-sidebar="collapsed"] .stk-sidebar {
	width: var(--stk-sidebar-w-collapsed);
}

/* 사이드바 상단: 카지노/스포츠(=슬롯) 토글 pill */
.stk-sidebar-top {
	display: flex;
	gap: 6px;
	padding: 12px;
	border-bottom: 1px solid var(--stk-border);
}

.stk-seg {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	height: 38px;
	border: none;
	border-radius: 8px;
	background: var(--stk-surface-2);
	color: var(--stk-text-muted);
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	white-space: nowrap;
	transition: background var(--stk-transition), color var(--stk-transition);
}

.stk-seg svg {
	width: 18px;
	height: 18px;
	flex: none;
}

.stk-seg:hover {
	color: var(--stk-text);
}
.stk-seg.active {
	background: var(--stk-surface);
	color: var(--stk-text);
	box-shadow: 0 2px 6px var(--stk-shadow);
}

.stk-app[data-sidebar="collapsed"] .stk-seg .stk-seg-label {
	display: none;
}

/* 사이드바 메뉴 */
.stk-nav {
	flex: 1;
	overflow-y: auto;
	padding: 8px 0;
}

.stk-nav::-webkit-scrollbar {
	width: 6px;
}
.stk-nav::-webkit-scrollbar-thumb {
	background: var(--stk-surface-3);
	border-radius: 3px;
}

.stk-nav-section {
	padding: 8px 0;
	border-bottom: 1px solid var(--stk-border);
}
.stk-nav-section:last-child {
	border-bottom: none;
}

.stk-nav-item {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 10px 18px;
	border: none;
	background: transparent;
	color: var(--stk-text-muted);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-align: left;
	white-space: nowrap;
	position: relative;
	transition: background var(--stk-transition), color var(--stk-transition);
}

.stk-nav-item:hover,
.stk-nav-item.active {
	background: var(--stk-surface-2);
	color: var(--stk-text);
}

.stk-nav-item .stk-ico {
	width: 20px;
	height: 20px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--stk-text-dim);
}
.stk-nav-item:hover .stk-ico,
.stk-nav-item.active .stk-ico {
	color: var(--stk-primary);
}

.stk-nav-item .stk-badge {
	margin-left: auto;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--stk-danger);
	color: #fff;
	font-size: 11px;
	line-height: 18px;
	text-align: center;
}

.stk-app[data-sidebar="collapsed"] .stk-nav-item .stk-nav-label,
.stk-app[data-sidebar="collapsed"] .stk-nav-item .stk-badge {
	display: none;
}
.stk-app[data-sidebar="collapsed"] .stk-nav-item {
	justify-content: center;
	padding: 12px 0;
}

/* ================================= 헤더 ================================= */
.stk-header {
	position: sticky;
	top: 0;
	height: var(--stk-header-h);
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0 16px;
	background: var(--stk-surface);
	border-bottom: 1px solid var(--stk-border);
	z-index: 1030;
}

.stk-icon-btn {
	width: 40px;
	height: 40px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: var(--stk-radius-sm);
	background: transparent;
	color: var(--stk-text-muted);
	cursor: pointer;
	transition: background var(--stk-transition), color var(--stk-transition);
}
.stk-icon-btn:hover {
	background: var(--stk-surface-2);
	color: var(--stk-text);
}
.stk-icon-btn svg {
	width: 20px;
	height: 20px;
}

.stk-logo {
	display: flex;
	align-items: center;
	height: 36px;
}
.stk-logo img {
	max-height: 32px;
	width: auto;
}

/* 검색바 */
.stk-search {
	flex: 1;
	max-width: 420px;
	display: flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 12px;
	border-radius: var(--stk-radius-sm);
	background: var(--stk-surface-2);
	color: var(--stk-text-dim);
}
.stk-search svg {
	width: 16px;
	height: 16px;
	flex: none;
}
.stk-search input {
	flex: 1;
	border: none;
	background: transparent;
	color: var(--stk-text);
	font-size: 14px;
	outline: none;
}
.stk-search input::placeholder {
	color: var(--stk-text-dim);
}

.stk-header-spacer {
	flex: 1;
}

.stk-header-right {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* 잔액 표시 */
.stk-balance {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 6px 0 14px;
	border-radius: var(--stk-radius-sm);
	background: var(--stk-surface-2);
	font-weight: 700;
	font-size: 14px;
}
.stk-balance .stk-balance-amount {
	color: var(--stk-text);
}
.stk-balance .stk-balance-unit {
	color: var(--stk-text-dim);
	font-size: 12px;
}
.stk-balance .stk-wallet-btn {
	height: 30px;
	padding: 0 12px;
	border: none;
	border-radius: var(--stk-radius-sm);
	background: var(--stk-primary);
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	cursor: pointer;
	transition: background var(--stk-transition);
}
.stk-balance .stk-wallet-btn:hover {
	background: var(--stk-primary-hover);
}

/* 버튼 */
.stk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 18px;
	border: none;
	border-radius: var(--stk-radius-sm);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	white-space: nowrap;
	text-decoration: none;
	transition: background var(--stk-transition), color var(--stk-transition);
}
.stk-btn:hover {
	text-decoration: none;
}
.stk-btn-ghost {
	background: transparent;
	color: var(--stk-text);
}
.stk-btn-ghost:hover {
	background: var(--stk-surface-2);
}
.stk-btn-primary {
	background: var(--stk-primary);
	color: #fff;
}
.stk-btn-primary:hover {
	background: var(--stk-primary-hover);
}
/* 로그인 버튼: STAKE 스타일의 채워진 어두운 서페이스 버튼 */
.stk-btn-dark {
	background: var(--stk-surface-3);
	color: var(--stk-text);
}
.stk-btn-dark:hover {
	background: var(--stk-surface-2);
}

/* 프로필/유저 아이콘 버튼 */
.stk-user-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: none;
	background: var(--stk-surface-3);
	color: var(--stk-text);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.stk-user-btn svg {
	width: 22px;
	height: 22px;
}

/* ============================== 콘텐츠 영역 ============================== */
.stk-content {
	flex: 1;
	width: 100%;
}
.stk-content-inner {
	max-width: var(--stk-content-max);
	margin: 0 auto;
	padding: 20px 16px 60px;
}

/* 신규(구버전에 없던) 블록 자리표시자 — 관리자 설정 연동은 이후 단계 */
.stk-block-placeholder {
	border: 1px dashed var(--stk-border);
	border-radius: var(--stk-radius);
	background: var(--stk-surface);
	color: var(--stk-text-dim);
	padding: 28px;
	text-align: center;
	font-size: 13px;
	margin-bottom: 20px;
}

/* ============================== 콘텐츠 섹션 ============================== */
.stk-section {
	margin-bottom: 28px;
}
.stk-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}
.stk-section-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	font-weight: 800;
	color: var(--stk-text);
}
.stk-section-title svg {
	width: 20px;
	height: 20px;
	color: var(--stk-primary);
}

/* 탭 (라이브 카지노 / 슬롯) */
.stk-tabs {
	display: inline-flex;
	gap: 4px;
	padding: 4px;
	background: var(--stk-surface);
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius);
}
.stk-tab {
	height: 36px;
	padding: 0 18px;
	border: none;
	border-radius: var(--stk-radius-sm);
	background: transparent;
	color: var(--stk-text-muted);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	transition: background var(--stk-transition), color var(--stk-transition);
}
.stk-tab:hover {
	color: var(--stk-text);
}
.stk-tab.on {
	background: var(--stk-primary);
	color: #fff;
}

/* ============================== 게임 카드 그리드 =========================== */
.stk-games-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 14px;
}
.stk-games-grid.stk-hidden {
	display: none;
}
.stk-game-card {
	display: block;
	border-radius: var(--stk-radius);
	overflow: hidden;
	background: var(--stk-surface);
	border: 1px solid var(--stk-border);
	cursor: pointer;
	transition: transform var(--stk-transition), box-shadow var(--stk-transition), border-color var(--stk-transition);
}
.stk-game-card:hover {
	transform: translateY(-4px);
	border-color: var(--stk-primary);
	box-shadow: 0 8px 20px var(--stk-shadow);
}
.stk-game-thumb {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	background: var(--stk-surface-2);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.stk-game-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--stk-transition);
}
.stk-game-card:hover .stk-game-thumb img {
	transform: scale(1.06);
}
.stk-game-play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--stk-primary);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: scale(0.7);
	transition: opacity var(--stk-transition), transform var(--stk-transition);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}
.stk-game-play svg {
	width: 24px;
	height: 24px;
	margin-left: 2px;
}
.stk-game-card:hover .stk-game-play {
	opacity: 1;
	transform: scale(1);
}
.stk-game-name {
	padding: 10px 12px;
	font-size: 13px;
	font-weight: 700;
	color: var(--stk-text);
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (max-width: 575px) {
	.stk-games-grid {
		grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
		gap: 10px;
	}
	.stk-game-name {
		font-size: 12px;
		padding: 8px 6px;
	}
}

/* ================================ 게시판 카드 =============================== */
.stk-boards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 16px;
}
.stk-board {
	background: var(--stk-surface);
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.stk-board-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--stk-border);
}
.stk-board-title {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}
.stk-board-ico {
	width: 34px;
	height: 34px;
	flex: none;
	border-radius: var(--stk-radius-sm);
	background: var(--stk-surface-2);
	color: var(--stk-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}
.stk-board-ico svg {
	width: 18px;
	height: 18px;
}
.stk-board-title b {
	font-size: 15px;
	color: var(--stk-text);
}
.stk-board-title em {
	font-style: normal;
	font-size: 12px;
	color: var(--stk-text-dim);
	margin-left: 2px;
}
.stk-board-title small {
	display: block;
	font-size: 11px;
	color: var(--stk-text-dim);
	margin-top: 2px;
}
.stk-more-btn {
	flex: none;
	height: 30px;
	padding: 0 12px;
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius-sm);
	background: var(--stk-surface-2);
	color: var(--stk-text-muted);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: background var(--stk-transition), color var(--stk-transition);
}
.stk-more-btn:hover {
	background: var(--stk-primary);
	color: #fff;
	border-color: var(--stk-primary);
}
.stk-seg-group {
	display: inline-flex;
	gap: 4px;
	flex: none;
}
.stk-seg-group button {
	height: 30px;
	padding: 0 14px;
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius-sm);
	background: var(--stk-surface-2);
	color: var(--stk-text-muted);
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: background var(--stk-transition), color var(--stk-transition);
}
.stk-seg-group button.active-button-menu-category {
	background: var(--stk-primary);
	color: #fff;
	border-color: var(--stk-primary);
}
.stk-board-body {
	padding: 6px 8px;
	max-height: 260px;
	overflow-y: auto;
}
.stk-board-table {
	width: 100%;
	border-collapse: collapse;
}
.stk-board-table td {
	padding: 9px 8px;
	font-size: 13px;
	color: var(--stk-text-muted);
	border-bottom: 1px solid var(--stk-border);
	white-space: nowrap;
}
.stk-board-table tr:last-child td {
	border-bottom: none;
}
.stk-board-table td.text-left {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.stk-board-table td a {
	color: var(--stk-text);
	cursor: pointer;
}
.stk-board-table td a:hover {
	color: var(--stk-primary);
}
.stk-board-table tr:hover td {
	background: var(--stk-surface-2);
}
.stk-board-date {
	color: var(--stk-text-dim);
	text-align: right;
	font-size: 12px;
}
.stk-board-amount {
	color: var(--stk-text);
	font-weight: 700;
	text-align: right;
}
.stk-board-empty {
	padding: 28px 12px;
	text-align: center;
	color: var(--stk-text-dim);
	font-size: 13px;
}
.stk-tag {
	display: inline-block;
	padding: 2px 7px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	margin-right: 6px;
	color: #fff;
}
.stk-tag-in {
	background: var(--stk-success);
	color: #08210b;
}
.stk-tag-out {
	background: var(--stk-danger);
}

/* =============================== 오버레이 =============================== */
.stk-overlay {
	position: fixed;
	inset: 0;
	background: var(--stk-overlay);
	z-index: 1035;
	display: none;
}
.stk-overlay.show {
	display: block;
}

/* ============================== 반응형(모바일) ============================ */
@media (max-width: 991px) {
	.stk-sidebar {
		transform: translateX(-100%);
	}
	.stk-app[data-sidebar="open"] .stk-sidebar {
		transform: translateX(0);
		width: var(--stk-sidebar-w);
	}
	.stk-main {
		margin-left: 0 !important;
	}
	.stk-search {
		display: none;
	}
}

@media (max-width: 575px) {
	.stk-balance .stk-balance-unit {
		display: none;
	}
	.stk-content-inner {
		padding: 14px 10px 48px;
	}
}

/* =====================================================================
   단독 페이지 (입금/출금/공지/이벤트/고객센터/쪽지) - 팝업 대체
   ===================================================================== */

/* 앵커로 바뀐 네비/버튼의 밑줄 제거 */
.stk-nav-item,
.stk-seg,
.stk-more-btn,
.stk-wallet-btn,
.userSidebar .menu-box {
	text-decoration: none;
}
.stk-seg:hover {
	text-decoration: none;
}
.stk-nav-item:hover {
	text-decoration: none;
}

.stk-page {
	max-width: 780px;
	margin: 0 auto;
}
.stk-page-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}
.stk-page-ico {
	width: 34px;
	height: 34px;
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--stk-radius-sm);
	background: var(--stk-surface-2);
	color: var(--stk-primary);
}
.stk-page-ico svg {
	width: 20px;
	height: 20px;
}
.stk-page-head h1 {
	margin: 0;
	font-size: 20px;
	font-weight: 800;
	color: var(--stk-text);
}
.stk-page-subhead {
	margin: 22px 0 10px;
	font-size: 15px;
	font-weight: 800;
	color: var(--stk-text);
}
.stk-page-card {
	background: var(--stk-surface);
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius);
	padding: 20px;
}

.stk-field-row {
	display: flex;
	gap: 16px;
}
.stk-field-row .stk-field {
	flex: 1;
}
.stk-field {
	margin-bottom: 16px;
}
.stk-field > label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--stk-text-muted);
	margin-bottom: 7px;
}
.stk-static {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 14px;
	background: var(--stk-surface-2);
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius-sm);
	color: var(--stk-text);
	font-size: 14px;
	font-weight: 600;
}
.stk-static-accent {
	color: var(--stk-primary);
	font-weight: 800;
}
.stk-refresh {
	margin-left: auto;
	width: 30px;
	height: 30px;
	border: none;
	border-radius: var(--stk-radius-sm);
	background: var(--stk-surface-3);
	color: var(--stk-text-muted);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.stk-refresh svg {
	width: 16px;
	height: 16px;
}
.stk-refresh:hover {
	color: var(--stk-primary);
}

.stk-input {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	background: var(--stk-surface-2);
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius-sm);
	color: var(--stk-text);
	font-size: 14px;
	outline: none;
	transition: border-color var(--stk-transition);
}
.stk-input:focus {
	border-color: var(--stk-primary);
}
.stk-input::placeholder {
	color: var(--stk-text-dim);
}

.stk-quick-btns {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}
.stk-quick-btns button {
	flex: 1;
	min-width: 72px;
	height: 40px;
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius-sm);
	background: var(--stk-surface-2);
	color: var(--stk-text);
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	transition: border-color var(--stk-transition), color var(--stk-transition);
}
.stk-quick-btns button:hover {
	border-color: var(--stk-primary);
	color: var(--stk-primary);
}
.stk-quick-btns .stk-quick-reset {
	background: var(--stk-surface-3);
	color: var(--stk-text-muted);
}

.stk-submit-row {
	display: flex;
	gap: 10px;
}
.stk-submit-row button {
	flex: 1;
	height: 48px;
	border: none;
	border-radius: var(--stk-radius-sm);
	font-weight: 800;
	font-size: 15px;
	cursor: pointer;
	color: #fff;
	transition: filter var(--stk-transition);
}
.stk-submit-row button:hover {
	filter: brightness(1.08);
}
.stk-btn-blue {
	background: var(--stk-primary);
}
.stk-btn-green {
	background: var(--stk-success);
	color: #08210b;
}
.stk-btn-red {
	background: var(--stk-danger);
}
.stk-btn-grey {
	background: var(--stk-surface-3);
	color: var(--stk-text) !important;
}

.stk-account-info {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--stk-border);
}

.stk-table {
	width: 100%;
	border-collapse: collapse;
}
.stk-table thead th {
	padding: 10px 8px;
	font-size: 12px;
	font-weight: 700;
	color: var(--stk-text-dim);
	text-align: center;
	border-bottom: 1px solid var(--stk-border);
}
.stk-table tbody td {
	padding: 11px 8px;
	font-size: 13px;
	color: var(--stk-text-muted);
	text-align: center;
	border-bottom: 1px solid var(--stk-border);
}
.stk-table tbody tr:last-child td {
	border-bottom: none;
}
.stk-table .stk-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 4px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.stk-event-empty {
	padding: 40px 12px;
	text-align: center;
	color: var(--stk-text-dim);
	font-size: 14px;
}

/* 임베드된 Livewire(공지/고객센터/쪽지) 가독성 보정
   - 기존 style.css의 골드/다크 전용 색을 테마 변수로 덮어씀 */
.stk-livewire {
	color: var(--stk-text);
}
.stk-livewire a {
	color: var(--stk-text);
}
.stk-livewire a:hover {
	color: var(--stk-primary);
}
.stk-livewire .pop-up-body ul {
	padding-left: 0;
	padding-right: 0;
	color: var(--stk-text);
}
.stk-livewire .pop-up-body ul li {
	border-bottom: 1px solid var(--stk-border);
}
.stk-livewire .pop-up-body .info,
.stk-livewire .pop-up-body .top-badge {
	color: var(--stk-text);
}
.stk-livewire .pop-up-body .top-badge {
	color: var(--stk-text-muted);
}
.stk-livewire .pop-up-body .info {
	background: var(--stk-surface-2);
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius-sm);
	padding: 10px 12px;
}
.stk-livewire .pop-up-body input.info::placeholder,
.stk-livewire .pop-up-body textarea.info::placeholder {
	color: var(--stk-text-dim);
}
.stk-livewire .pop-table th {
	color: var(--stk-text) !important;
}
.stk-livewire .pop-up-body .pop-table td {
	color: var(--stk-text-muted);
}
.stk-livewire .pop-up-body .pop-table tr:first-child {
	background: var(--stk-surface-2);
}
.stk-livewire .pop-up-body .pop-table tr:first-child:hover {
	background: var(--stk-surface-2);
}
.stk-livewire .pop-up-body .pop-table tr {
	border-bottom: 1px solid var(--stk-border);
}
.stk-livewire .pop-up-body .pop-table tr:hover {
	background: var(--stk-surface-2);
}
.stk-livewire .text-popup {
	background: var(--stk-surface-2);
	color: var(--stk-text);
	border-radius: var(--stk-radius-sm);
}
.stk-livewire .button-holder button {
	color: #fff;
	border: none;
	border-radius: var(--stk-radius-sm);
	padding: 8px 16px;
}
.stk-livewire .content-drop-down .slide-button {
	color: var(--stk-text);
	background: var(--stk-surface-2);
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius-sm);
	margin-bottom: 6px;
}
.stk-livewire .content-drop-down .slide-content {
	color: var(--stk-text-muted);
}
/* Livewire 목록 페이지네이션 */
.stk-livewire nav[role="navigation"] {
	margin-top: 12px;
}
.stk-livewire .pagination {
	flex-wrap: wrap;
}

@media (max-width: 575px) {
	.stk-field-row {
		flex-direction: column;
		gap: 0;
	}
	.stk-quick-btns button {
		min-width: calc(33.333% - 6px);
	}
}

/* =====================================================================
   로그인 / 회원가입 단독 페이지
   ===================================================================== */
.stk-auth {
	display: flex;
	justify-content: center;
	padding: 24px 0 40px;
}
.stk-auth-card {
	width: 100%;
	max-width: 420px;
	background: var(--stk-surface);
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius);
	padding: 32px 28px;
}
.stk-auth-wide .stk-auth-card {
	max-width: 560px;
}
.stk-auth-logo {
	text-align: center;
	margin-bottom: 18px;
}
.stk-auth-logo img {
	max-height: 46px;
	width: auto;
}
.stk-auth-title {
	margin: 0;
	text-align: center;
	font-size: 22px;
	font-weight: 800;
	color: var(--stk-text);
}
.stk-auth-sub {
	margin: 6px 0 22px;
	text-align: center;
	font-size: 13px;
	color: var(--stk-text-dim);
}
.stk-auth-form .stk-field:last-of-type {
	margin-bottom: 20px;
}
.stk-auth-submit {
	width: 100%;
	height: 48px;
	border: none;
	border-radius: var(--stk-radius-sm);
	background: var(--stk-primary);
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: filter var(--stk-transition);
}
.stk-auth-submit:hover {
	filter: brightness(1.08);
}
.stk-auth-alt {
	margin-top: 18px;
	text-align: center;
	font-size: 13px;
	color: var(--stk-text-muted);
}
.stk-auth-alt a {
	color: var(--stk-primary);
	font-weight: 700;
	text-decoration: none;
}
.stk-auth-alt a:hover {
	text-decoration: underline;
}
/* 유효성 표시 (register) */
.stk-auth-form .stk-input.is-invalid {
	border-color: var(--stk-danger);
}
.stk-auth-form .stk-input.is-valid {
	border-color: var(--stk-success);
}

/* =====================================================================
   STAKE 스타일 인증 모달 (로그인 / 회원가입)
   ===================================================================== */
.stk-modal-dialog {
	max-width: 400px;
}
.stk-modal-dialog-wide {
	max-width: 520px;
}
.stk-modal .modal-content,
.stk-modal-content {
	position: relative;
	background: var(--stk-surface);
	border: 1px solid var(--stk-border);
	border-radius: 14px;
	color: var(--stk-text);
	overflow: hidden;
	max-height: 92vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 24px 60px var(--stk-shadow);
}
.stk-modal-close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: var(--stk-text-muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
}
.stk-modal-close:hover {
	background: var(--stk-surface-2);
	color: var(--stk-text);
}
.stk-modal-close svg {
	width: 18px;
	height: 18px;
}
.stk-modal-seg {
	display: flex;
	gap: 6px;
	padding: 16px 16px 0;
	flex: none;
}
.stk-modal-seg-btn {
	flex: 1;
	height: 42px;
	border: none;
	border-radius: var(--stk-radius-sm);
	background: var(--stk-surface-2);
	color: var(--stk-text-muted);
	font-weight: 800;
	font-size: 14px;
	cursor: pointer;
	transition: background var(--stk-transition), color var(--stk-transition);
}
.stk-modal-seg-btn.active {
	background: var(--stk-primary);
	color: #fff;
}
.stk-modal-seg-btn:not(.active):hover {
	color: var(--stk-text);
}
.stk-modal-body {
	padding: 20px 22px 24px;
	overflow-y: auto;
}
.stk-modal-logo {
	text-align: center;
	margin-bottom: 16px;
}
.stk-modal-logo img {
	max-height: 42px;
	width: auto;
}
.stk-modal-sub {
	text-align: center;
	font-size: 12px;
	color: var(--stk-text-dim);
	margin: -6px 0 18px;
}
.stk-modal-alt {
	margin-top: 16px;
	text-align: center;
	font-size: 13px;
	color: var(--stk-text-muted);
}
.stk-modal-alt a {
	color: var(--stk-primary);
	font-weight: 700;
	text-decoration: none;
}
.stk-modal-alt a:hover {
	text-decoration: underline;
}

/* 모달 스크롤바 숨김 (스크롤 기능은 유지) */
.stk-modal-body {
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.stk-modal-body::-webkit-scrollbar {
	width: 0;
	height: 0;
}

/* 회원가입 모달: 세로 간격 압축으로 스크롤 최소화 */
.stk-modal .stk-modal-body {
	padding: 14px 22px 20px;
}
.stk-modal .stk-modal-logo {
	margin-bottom: 10px;
}
.stk-modal .stk-modal-logo img {
	max-height: 36px;
}
.stk-modal .stk-modal-sub {
	margin: -2px 0 12px;
}
.stk-modal .stk-auth-form .stk-field {
	margin-bottom: 12px;
}
.stk-modal .stk-auth-form .stk-field:last-of-type {
	margin-bottom: 16px;
}
.stk-modal .stk-input {
	height: 40px;
}
.stk-modal .stk-auth-submit {
	height: 44px;
}

/* =========================================================================
   우측 유저 드로어(사이드바) — STAKE 테마 오버라이드
   - 기존 style.css(.userSidebar/.user-details/.menu-box) 골드·다크 테마를
     stake 변수 기반으로 재정의합니다. JS 애니메이션(right 값)은 건드리지 않습니다.
   ========================================================================= */
.userSidebar.right-open {
	width: 320px;
	max-width: 88vw;
	background: var(--stk-surface) !important;
	border-left: 1px solid var(--stk-border);
	box-shadow: -12px 0 32px var(--stk-shadow);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	scrollbar-width: none;
}
.userSidebar.right-open::-webkit-scrollbar {
	width: 0;
	height: 0;
}

/* 상단 닫기 헤더 */
.userSidebar.right-open .logo-container {
	background: var(--stk-surface) !important;
	border-bottom: 1px solid var(--stk-border);
	height: 56px;
	padding: 0 16px;
	flex: none;
}
.userSidebar.right-open .logo-container span {
	color: var(--stk-text-muted) !important;
	font-size: 13px;
	font-weight: 600;
}
.userSidebar.right-open .close-usersidebar {
	position: static;
	width: 16px !important;
	margin-left: 8px;
	filter: grayscale(1) opacity(0.7);
}

.userSidebar.right-open .sidebar-content {
	padding: 16px !important;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* 프로필 카드 */
.userSidebar.right-open .user-details {
	margin: 0 !important;
	padding: 16px !important;
	background: var(--stk-surface-2);
	border: 1px solid var(--stk-border);
	border-radius: var(--stk-radius);
}
.userSidebar.right-open .user-details.pt-5 {
	padding-top: 40px !important;
}
.userSidebar.right-open .user-details .user-img {
	top: -28px;
	left: 50%;
	transform: translateX(-50%);
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--stk-surface-3);
	padding: 8px;
	object-fit: contain;
}

/* 정보 행 (닉네임/통합머니) */
.userSidebar.right-open .user-details .menu-box {
	height: auto;
	min-height: 40px;
	border-bottom: 1px solid var(--stk-border);
	color: var(--stk-text-muted) !important;
	font-size: 13px;
	padding: 10px 4px;
	gap: 6px;
}
.userSidebar.right-open .user-details .menu-box .text-white {
	color: var(--stk-text) !important;
	font-weight: 600;
}
.userSidebar.right-open .user-details .menu-box .my-money {
	color: var(--stk-success) !important;
	font-weight: 700;
}

/* 조회 버튼 */
.userSidebar.right-open .user-details .menu-box .btn-money {
	position: absolute;
	right: 0;
	height: 28px;
	padding: 0 12px;
	border: none;
	border-radius: 6px;
	color: #fff !important;
	background: var(--stk-primary) !important;
	font-size: 12px;
	font-weight: 700;
	transition: background var(--stk-transition);
}
.userSidebar.right-open .user-details .menu-box .btn-money:hover {
	background: var(--stk-primary-hover) !important;
}

/* 링크 메뉴(입금/출금/공지/고객센터/이벤트/쪽지) */
.userSidebar.right-open .user-details a.menu-box {
	justify-content: flex-start;
	color: var(--stk-text) !important;
	font-weight: 500;
	text-decoration: none;
	border-radius: 6px;
	padding: 12px 10px;
	transition: background var(--stk-transition), color var(--stk-transition);
}
.userSidebar.right-open .user-details a.menu-box:hover {
	background: var(--stk-surface-3);
	color: var(--stk-text) !important;
}

/* 로그아웃 버튼 */
.userSidebar.right-open .logout {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	border-radius: var(--stk-radius);
}
.userSidebar.right-open .logout .menu-box {
	height: 44px !important;
	border: 1px solid var(--stk-danger) !important;
	border-radius: var(--stk-radius);
	color: var(--stk-danger) !important;
	font-weight: 700;
	transition: background var(--stk-transition), color var(--stk-transition);
}
.userSidebar.right-open .logout:hover {
	background: transparent !important;
}
.userSidebar.right-open .logout:hover .menu-box {
	background: var(--stk-danger) !important;
	color: #fff !important;
}

/* =========================================================================
   슬롯 게임 목록 모달(#slotGames) — STAKE 테마
   ========================================================================= */
#slotGames .modal-content {
	background: var(--stk-surface) !important;
	border: 1px solid var(--stk-border) !important;
	border-radius: 14px !important;
	color: var(--stk-text) !important;
	overflow: hidden;
	box-shadow: 0 24px 60px var(--stk-shadow);
}
#slotGames .modal-header {
	background: var(--stk-surface-2);
	border-bottom: 1px solid var(--stk-border) !important;
	padding: 16px 20px;
	align-items: center;
}
#slotGames .modal-title {
	color: var(--stk-text) !important;
	font-size: 16px;
	font-weight: 700;
}
#slotGames .close.stk-modal-x {
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: var(--stk-text-muted);
	opacity: 1;
	text-shadow: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background var(--stk-transition), color var(--stk-transition);
}
#slotGames .close.stk-modal-x:hover {
	background: var(--stk-surface-3);
	color: var(--stk-text);
}
#slotGames .close.stk-modal-x svg {
	width: 18px;
	height: 18px;
}
#slotGames .modal-body {
	background: var(--stk-surface) !important;
	color: var(--stk-text) !important;
	padding: 18px 20px;
	max-height: 72vh;
	overflow-y: auto;
}
#slotGames .modal-body::-webkit-scrollbar {
	width: 8px;
}
#slotGames .modal-body::-webkit-scrollbar-thumb {
	background: var(--stk-surface-3);
	border-radius: 4px;
}
/* 게임 카드 (JS로 생성되는 마크업) */
#slotGames .user-latest-img {
	position: relative;
	border-radius: var(--stk-radius);
	overflow: hidden;
	background: var(--stk-surface-2);
	border: 1px solid var(--stk-border);
	transition: transform var(--stk-transition), border-color var(--stk-transition);
}
#slotGames .user-latest-img:hover {
	transform: translateY(-3px);
	border-color: var(--stk-primary);
}
#slotGames .user-latest-img .image {
	display: block;
	position: relative;
}
#slotGames .user-latest-img .img-thumbnail {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	padding: 0;
	margin: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	display: block;
}
#slotGames .user-latest-img .img-button.img-start {
	position: absolute;
	left: 50%;
	bottom: 10px;
	transform: translateX(-50%) translateY(6px);
	opacity: 0;
	border: none;
	border-radius: 999px;
	background: var(--stk-primary);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 16px;
	white-space: nowrap;
	transition: opacity var(--stk-transition), transform var(--stk-transition), background var(--stk-transition);
}
#slotGames .user-latest-img:hover .img-button.img-start {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}
#slotGames .user-latest-img .img-button.img-start:hover {
	background: var(--stk-primary-hover);
}
#slotGames .small-font {
	display: block;
	margin-top: 8px;
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	color: var(--stk-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* =========================================================================
   공지 팝업(.popup-box) — STAKE 테마
   ========================================================================= */
.modal-content.popup-box.stk-popup {
	border: 1px solid var(--stk-border) !important;
	border-image: none !important;
	border-radius: 12px !important;
	background: var(--stk-surface) !important;
	color: var(--stk-text) !important;
	overflow: hidden;
	box-shadow: 0 24px 60px var(--stk-shadow);
}
.stk-popup .modal-header {
	background: var(--stk-surface-2);
	border-bottom: 1px solid var(--stk-border) !important;
	color: var(--stk-text) !important;
	padding: 14px 16px;
	font-size: 15px;
	font-weight: 700;
	display: flex;
	align-items: center;
	position: relative;
}
.stk-popup .stk-popup-title {
	color: var(--stk-text) !important;
}
.stk-popup .close-modal-btn {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	padding: 0;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: var(--stk-text-muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background var(--stk-transition), color var(--stk-transition);
}
.stk-popup .close-modal-btn:hover {
	background: var(--stk-surface-3);
	color: var(--stk-text);
}
.stk-popup .close-modal-btn svg {
	width: 18px;
	height: 18px;
}
.stk-popup .modal-body {
	background: var(--stk-surface) !important;
	color: var(--stk-text) !important;
	padding: 16px;
}
.stk-popup .modal-footer {
	background: var(--stk-surface-2);
	border-top: 1px solid var(--stk-border) !important;
	color: var(--stk-text-muted) !important;
	padding: 10px 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: nowrap;
}
.stk-popup .popup-close-btn {
	line-height: 1;
	font-size: 13px;
	font-weight: 700;
	color: #fff !important;
	background: var(--stk-primary) !important;
	border-radius: 8px !important;
	border: 0 !important;
	padding: 9px 18px;
	transition: background var(--stk-transition);
}
.stk-popup .popup-close-btn:hover {
	background: var(--stk-primary-hover) !important;
}
.stk-popup .stk-popup-check {
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--stk-text-muted) !important;
	cursor: pointer;
}
.stk-popup .stk-popup-check input {
	margin: 0;
	accent-color: var(--stk-primary);
}

/* =========================================================================
   인증 버튼 로딩 상태 — 텍스트 유지 + 색상 변화(로그인/회원가입)
   ========================================================================= */
.stk-auth-submit.is-loading {
	background: var(--stk-primary-hover) !important;
	opacity: 0.85;
	cursor: progress;
	position: relative;
	pointer-events: none;
}
.stk-auth-submit.is-loading::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 8px;
	vertical-align: -2px;
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: stk-btn-spin 0.7s linear infinite;
}
@keyframes stk-btn-spin {
	to { transform: rotate(360deg); }
}
