*{
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

body{
	font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
	background: url(../../public/images/bg2027.jpg) no-repeat top center fixed;
	background-size: cover;
}

/* ===== Giao diện quản trị 2026 ===== */
:root {
	--zx-primary: #2563eb;
	--zx-primary-dark: #1d4ed8;
	--zx-accent: #f59e0b;
	--zx-success: #16a34a;
	--zx-danger: #dc2626;
	--zx-ink: #172033;
	--zx-muted: #64748b;
	--zx-line: rgba(148, 163, 184, .28);
	--zx-surface: rgba(255, 255, 255, .94);
	--zx-shadow: 0 18px 55px rgba(15, 23, 42, .16);
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(135deg, rgba(4, 12, 30, .58), rgba(15, 23, 42, .22)),
		radial-gradient(circle at 80% 10%, rgba(37, 99, 235, .18), transparent 38%);
}

.container {
	max-width: 1180px;
}

.logo {
	display: flex;
	justify-content: center;
	padding: 16px 0 10px;
}

.logo img {
	width: auto !important;
	max-width: 220px;
	height: 76px;
	object-fit: contain;
	filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .24));
}

.menu-game {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 0 auto 18px;
	padding: 7px;
	width: fit-content;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 999px;
	background: rgba(15, 23, 42, .66);
	box-shadow: 0 10px 35px rgba(0,0,0,.16);
	backdrop-filter: blur(14px);
}

.menu-game a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	color: #f8fafc;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .02em;
	text-decoration: none;
	border-radius: 999px;
	transition: transform .2s ease, background .2s ease, color .2s ease;
}

.menu-game a:hover {
	color: #fff;
	background: var(--zx-primary);
	transform: translateY(-1px);
}

.home-tab {
	align-items: flex-start;
}

.left-home,
.right-home {
	border: 1px solid rgba(255,255,255,.55);
	background: var(--zx-surface);
	box-shadow: var(--zx-shadow);
	backdrop-filter: blur(16px);
}

.left-home {
	position: sticky;
	top: 18px;
	overflow: hidden;
	border-radius: 20px;
	padding: 14px;
}

.right-home {
	overflow: hidden;
	border-radius: 20px;
	padding-bottom: 18px;
	animation: zxEnter .35s ease both;
}

.left-title-home {
	display: flex;
	align-items: center;
	min-height: 70px;
	margin-bottom: 18px;
	padding: 18px 24px;
	color: #fff;
	background: linear-gradient(115deg, #0f172a, #1e3a8a 70%, #2563eb);
}

.left-title-home h4 {
	margin: 0;
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	font-weight: 800;
	letter-spacing: .01em;
}

.ul-custom-home-left {
	gap: 5px;
}

.nav-link-custom {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 10px 12px;
	border-radius: 11px;
	color: var(--zx-ink);
	transition: background .18s ease, transform .18s ease, color .18s ease;
}

.nav-link-custom > i,
.nav-link-custom a > i {
	width: 22px;
	text-align: center;
	color: var(--zx-primary);
}

.nav-link-custom a {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	color: inherit !important;
	font-size: .87rem;
	font-weight: 650;
	text-decoration: none;
}

.nav-item .nav-link-custom:hover {
	color: var(--zx-primary-dark);
	background: #eff6ff;
	transform: translateX(3px);
}

.user_recharge {
	margin-bottom: 10px;
	padding: 7px;
	border: 1px solid #dbeafe;
	border-radius: 14px;
	background: linear-gradient(145deg, #f8fbff, #eef5ff);
}

.user_recharge .nav-link-custom {
	min-height: 36px;
	padding: 7px 9px;
	font-size: .84rem;
}

.btn-custom-logout {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	padding: 11px;
	border: 1px solid #fecaca;
	border-radius: 11px;
	color: #b91c1c;
	background: #fff7f7;
	font-weight: 700;
	text-decoration: none;
	transition: .2s ease;
}

.btn-custom-logout:hover {
	color: #fff;
	background: var(--zx-danger);
	border-color: var(--zx-danger);
}

.card {
	border-color: var(--zx-line) !important;
	box-shadow: 0 8px 28px rgba(15,23,42,.08) !important;
}

.form-control,
.form-select,
.form-custom {
	min-height: 44px;
	border-color: #dbe2ea;
	border-radius: 10px;
	box-shadow: none !important;
}

.form-control:focus,
.form-select:focus,
.form-custom:focus {
	border-color: #60a5fa;
	box-shadow: 0 0 0 4px rgba(37,99,235,.1) !important;
}

.btn,
.btn-cus,
button {
	border-radius: 10px;
	transition: transform .17s ease, box-shadow .17s ease, opacity .17s ease;
}

.btn:hover:not(:disabled),
.btn-cus:hover:not(:disabled) {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(15,23,42,.15);
}

.table-responsive {
	border: 1px solid var(--zx-line);
	border-radius: 13px;
}

table.dataTable,
.table {
	margin: 0 !important;
	background: #fff;
}

.table thead th,
table.dataTable thead th {
	padding: 13px 12px;
	border-bottom: 1px solid #dbe2ea !important;
	color: #334155;
	background: #f8fafc;
	font-size: .78rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .035em;
	white-space: nowrap;
}

.table tbody td,
table.dataTable tbody td {
	padding: 12px;
	vertical-align: middle;
	border-color: #eef2f7;
}

.loading-form {
	position: absolute;
	inset: 0;
	z-index: 10;
	display: none;
	place-items: center;
	background: rgba(255,255,255,.76);
	backdrop-filter: blur(4px);
}

.is-submitting .loading-form {
	display: grid;
}

.page-progress {
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	pointer-events: none;
}

.page-progress span {
	display: block;
	width: 32%;
	height: 100%;
	background: linear-gradient(90deg, var(--zx-primary), #38bdf8);
	box-shadow: 0 0 12px rgba(56,189,248,.7);
	transition: width .35s ease, opacity .25s ease;
}

.page-progress.is-done span {
	opacity: 0;
}

.app-toast-region {
	position: fixed;
	z-index: 100000;
	top: 18px;
	right: 18px;
	display: grid;
	gap: 8px;
}

.app-toast {
	min-width: 220px;
	padding: 12px 16px;
	border-radius: 11px;
	color: #fff;
	background: #0f172a;
	box-shadow: 0 12px 30px rgba(0,0,0,.24);
	opacity: 0;
	transform: translateY(-8px);
	transition: .2s ease;
}

.app-toast.is-visible { opacity: 1; transform: translateY(0); }
.app-toast--error { background: #b91c1c; }

.app-footer {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 22px auto;
	padding: 12px;
	color: rgba(255,255,255,.82);
	font-size: .82rem;
}

@keyframes zxEnter {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 767.98px) {
	.menu-game {
		width: calc(100% - 24px);
		border-radius: 16px;
	}
	.menu-game a {
		flex: 1;
		justify-content: center;
		padding: 9px 6px;
		font-size: .73rem;
	}
	.left-home { position: static; }
	.left-title-home { min-height: 58px; padding: 14px 18px; }
	.app-footer { flex-direction: column; align-items: center; gap: 2px; }
	.app-footer-dot { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}
 .section-title {
        font-size: 1.8rem;
        font-weight: bold;
        text-transform: uppercase;
        text-align: center;
        color: #ff5722; /* Màu cam nổi bật */
        padding: 15px 0;
        position: relative;
    }

    .section-title i {
        font-size: 1.8rem;
        margin-right: 10px;
        color: #ff9800; /* Màu cam nhạt cho icon */
    }

    /* Hiệu ứng đường viền trang trí */
    .section-title::before,
    .section-title::after {
        content: "";
        position: absolute;
        width: 80px;
        height: 4px;
        background-color: #ff5722;
        top: 50%;
        transform: translateY(-50%);
    }

    .section-title::before {
        left: 15%;
    }

    .section-title::after {
        right: 15%;
    }

    /* Hiệu ứng hover */
    .section-title:hover {
        color: #e64a19;
        text-shadow: 2px 2px 10px rgba(255, 87, 34, 0.5);
    }

    .section-title i:hover {
        color: #e65100;
    }

.custom-btn {
        font-size: 1.1rem;
        font-weight: bold;
        padding: 12px 25px;
        border: none;
        border-radius: 30px;
        color: white;
        text-decoration: none;
        display: inline-block;
        transition: all 0.3s ease-in-out;
        box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
    }

    .green-btn {
        background: linear-gradient(45deg, #28a745, #218838);
    }

    .yellow-btn {
        background: linear-gradient(45deg, #ffc107, #ff9800);
    }

    .custom-btn:hover {
        transform: scale(1.1);
        box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
    }

    .custom-btn:active {
        transform: scale(0.95);
    }
#openButton:disabled {
	background: linear-gradient(45deg, #aaa, #888);
	cursor: not-allowed;
	opacity: 0.7;
}

#openButton:hover:not(:disabled) {
	transform: scale(1.1);
	box-shadow: 0px 4px 15px rgba(255, 75, 43, 0.4);
}

#openButton:active:not(:disabled) {
	transform: scale(0.95);
}
.gift-box {
	transition: transform 0.3s ease-in-out;
	cursor: pointer;
}
.gift-box:hover, .gift-box.selected {
	transform: scale(1.1);
	box-shadow: 0 0 15px rgba(255, 215, 0, 0.8);
}
.btn-outline-secondary, .btn-outline-warning, .btn-outline-info {
	padding: 10px 15px;
	font-size: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.radio-group label {
	flex: 1 1 calc(50% - 10px); /* Hai phần tử trên mỗi hàng */
	padding: 10px;
	border: 1px solid #ced4da;
	border-radius: 5px;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.3s;
}
.radio-group input[type="radio"] {
	display: none;
}
.radio-group input[type="radio"]:checked + span {
	background-color: #e9ecef;
	border-color: #adb5bd;
}
.radio-group span {
	display: block;
	padding-left: 25px;
	position: relative;
}
.radio-group span::before {
	content: '\f192'; /* Biểu tượng radio từ Line Awesome */
	font-family: 'Line Awesome Free';
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	font-size: 20px;
	color: #6c757d;
}
.radio-group input[type="radio"]:checked + span::before {
	content: '\f058'; /* Biểu tượng radio đã chọn từ Line Awesome */
	color: #0d6efd;
}
.form-group {
	margin-bottom: 15px;
}

.checkbox-group {
	display: flex;
	flex-direction: column;
}

.checkbox-group label {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}

.checkbox-group input[type="checkbox"] {
	margin-right: 10px;
}

.gia {
	color: #50a1ff;
	font-weight: bold;
}

input.error {
	border-color: red;
}
input.error::placeholder {
	color: red;
}
.qmk {
	font-size: 15px;
	margin-bottom: 0;
	text-align: center;
	display: block;
	color: #333;
	font-weight: 500;
	text-decoration: none;
}

.qmk:hover {
	color: #ae0000;
	text-decoration: none;
}

.text_dkm {
	text-align: center;
	margin: 0;
}

.btn_dkm {
	color: #22ae08;
	font-weight: 500;
	display: block;
	text-align: center;
	text-decoration: none;
}

.btn_dkm:hover {
	/* background: #007a90; */
	text-decoration: none;
	color: #f30000;
}

.row-button{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: column;
}
.row-button button{
	flex-grow: 1;
	margin: 15px 5px;
	min-width: 50%;
	max-width: 100%;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover{
	background: none !important;
	border:  1px solid transparent ;
}
.dataTables_wrapper .dataTables_paginate .paginate_button{
	padding: 0px !important;
}
.custom-have-otp label.error{
	order:  1;
	width: 100%;
}
.form-custom{
	border-radius: 6px;
	padding: 6px 12px;
	border: 1px solid #dee2e6;	
}
.form-custom:focus{
	outline: none;
}
.form-custom[readonly]{
	background: #dee2e6;
}
table.dataTable{
	border-collapse:  collapse !important;
}
table.dataTable button{
	color:  #fff;
	border: none;
	background: #000;
	padding: 6px 12px;
	border-radius: 6px;
}

.home-form-box-valid label{
	order: 2;
	width: 100%;
}
.toggle-button-menu{
	border:  none;
	background: none;
	font-size: 24px;
	color: #000;
}
.form-right-home {
	padding: 0px 12px;
}

.right-home .left-title-home {
	padding: 20px 0;
	position: relative;
	display: flex;
	align-items: center;
}

/* Hiệu ứng cho tiêu đề */
.right-home .left-title-home h4 {
	margin: 0;
	position: relative;
	z-index: 1;
	text-transform: uppercase;
	color: #fff;
	padding: 10px 20px;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 1px;
	background: linear-gradient(135deg, #141313, #c9c4bd); /* Hiệu ứng gradient */
	border-radius: 5px;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.3); /* Bóng đổ giúp nổi bật hơn */
	transition: all 0.3s ease-in-out;
}

/* Hiệu ứng hover */
.right-home .left-title-home h4:hover {
	transform: translateY(-3px) scale(1.05);
	background: linear-gradient(135deg, #c9c4bd, #141313); /* Đảo màu gradient khi hover */
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.4);
}

/* Hiệu ứng viền góc đặc biệt */
.right-home .left-title-home h4::before {
	content: '';
	position: absolute;
	width: calc(100% + 30px);
	height: 100%;
	top: 0;
	left: -15px;
	z-index: -1;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	transform: skewX(-10deg);
}

/* Hiệu ứng gợn sóng nhẹ */
.right-home .left-title-home h4::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	width: 50px;
	height: 3px;
	background: black;
	transform: translateX(-50%);
	transition: all 0.3s ease-in-out;
}

.right-home .left-title-home h4:hover::after {
	width: 80px;
}

/*right home*/
.btn_thoat{
	margin: 12px;
}
.ul-custom-home-left{
	flex-grow: 1;
}
.ul-custom-home-left .nav-item{
	border-bottom: dotted 1px #e4e4e4;
}
.info-left-side{
	background: #fff;
	padding: 12px !important;
	margin:  0 !important;
}
.ul-custom-home-left li{
	margin: 0px 12px;
	padding: 12px 0px;

}
.home-tab{
	min-height: 520px;
}


.nav-link-custom .cus-info-icon{
	background: #000;
	padding: 6px;
	margin-right: 6px;
	border-radius: 6px;
	font-size: 18px;
	color: #fff;
}
.nav-link-custom a > i{
	margin-right: 3px;


}
.nav-link-custom a{
	text-decoration: none;
	color: #000b0;
	display: flex;
	align-items: center;
	font-size: 18px;
	transition: 0.2s;
}
.nav-link-custom a:hover{
	font-weight: bold;
	color: #000;

}
.nav-link-custom a.active{
	font-weight: bold;
	color: #000;
}
.nav-link-custom span{
	font-weight: bold;

}
.nav-link-custom{
	font-size: 1.1em;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.home-tab .left-home{
	border-top: 5px solid #000;

	background: #fff;
	border-right: 5px solid #000;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.home-tab .right-home{
	border-top: 5px solid #000;

	background: #fff;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.relative-card{
	position: relative;
	overflow: hidden;
}
/*text-style*/
.loading-form {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(0, 0, 0, 0); /* Nền trong suốt */
	padding: 20px;
	border-radius: 10px;
	text-align: center;
	z-index: 9999;
}

.loading-text {
	color: black;
	font-size: 16px;
	margin-top: 10px;
}


/* Thêm hiệu ứng fade in */
@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

.loading-form {
	animation: fadeIn 0.5s ease-in-out;
}
.text-primary{
	color: #50a1ff !important;
	
}
.text-danger{
	color: #ff4954 !important;
}
.text-warning{
	color: #ff7e0f  !important;
}
.text-success{
	color: #3cd458 !important;
}
.text-info{
	color:  #000 !important;
}

.bg-primary{
	background-color: #50a1ff !important;
	
}
.bg-warning{
	background-color: #dd7100 !important;
	
}
.bg-danger{
	background-color: #ff4954 !important;
}
.bg-success{
	background-color: #198754 !important;
}
.bg-info{
	background-color:  #000 !important;
}
/*text-style*/

/*button*/
/* Làm modal khung vuông */
.modal-content {
	background: #fff;
	border-radius: 0; /* Không bo tròn */
	box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.2);
	border: 1px solid #ddd;
}

/* Header modal */
.modal-header {
	background: #f8f9fa; /* Nền nhạt */
	border-bottom: 1px solid #ddd;
}

/* Nút đóng X lớn hơn */
.btn-close-large {
	font-size: 24px; /* Tăng kích thước */
	font-weight: bold;
	border: none;
	background: none;
	cursor: pointer;
	color: #333;
}

.btn-close-large:hover {
	color: red; /* Đổi màu khi hover */
}

/* Căn button qua phải */
.modal-footer {
	justify-content: flex-end;
	border-top: 1px solid #ddd;
}
.bootbox-close-button {
	font-size: 24px !important; /* Tăng kích thước */
	font-weight: bold;
	padding: 10px; /* Làm cho nút có khoảng cách */
	line-height: 1;
	color: #333; /* Màu tối hơn để dễ nhìn */
	background: none;
	border: none;
	cursor: pointer;
}

/* Khi hover, đổi màu để dễ nhìn */
.bootbox-close-button:hover {
	color: red !important; /* Màu đỏ khi di chuột */
	transform: scale(1.2); /* Hiệu ứng phóng to khi hover */
}

/* Định vị lại nếu cần */
.bootbox .modal-header .bootbox-close-button {
	position: absolute;
	right: 15px;
	top: 15px;
}
.card.relative-card.border-black {
	border: 2px solid #000 !important; /* Viền đen */
}
/* ============================
🔹 RESET NÚT ĐỂ TRÁNH BOOTSTRAP
================================ */
button.btn-primary.bootbox-accept,
a.btn-primary.bootbox-accept {
	background: #000 !important;
	color: #fff !important;
	border: 2px solid #222 !important;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3) !important;
}

/* Hover */
button.btn-primary.bootbox-accept:hover,
a.btn-primary.bootbox-accept:hover {
	background: #222 !important;
	border-color: #444 !important;
}

button, a {
	font-family: inherit;
	text-decoration: none;
	border: none;
	outline: none;
}
.btn-cus {
	border-radius: 3px;
	border: 0;
	padding: 12px 20px;
	text-decoration: none;
}

.btn-cus:focus-visible {
	outline: 0;
}

.btn-primary {
	position: relative; /* Thêm để tránh lỗi position */
	color: #fff;
	background: #222; /* Màu đen nhạt */
	border-color: #222;
	font-size: 16px;
	font-weight: bold;
	padding: 12px 24px;
	border-radius: 8px; /* Bo góc nhẹ */
	transition: all 0.3s ease-in-out;
	text-transform: uppercase;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2); /* Bóng đổ nhẹ */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	cursor: pointer; /* Đảm bảo con trỏ chuột là kiểu nhấn */
}

/* Hiệu ứng hover */
.btn-primary:hover {
	color: #000; /* Đổi màu chữ thành đen */
	background-color: #fff; /* Đổi nền thành trắng */
	border-color: #fff;
	transform: translateY(-2px); /* Giảm độ dịch chuyển */
	box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3); /* Bóng đổ mạnh hơn */
}

/* Hiệu ứng nhấn */
.btn-primary:active {
	transform: translateY(1px); /* Không dùng scale để tránh nhảy */
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

/* Hiệu ứng sáng mờ khi hover */
.btn-primary::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.1);
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
	pointer-events: none; /* Sửa lỗi không bấm được nút */
}

.btn-primary:hover::before {
	opacity: 1;
}


/* ============================
🔹 NÚT TÙY CHỈNH (KHÔNG BỊ BOOTSTRAP GHI ĐÈ)
================================ */
.btn-custom {
	font-size: 16px;
	font-weight: bold;
	padding: 12px 24px;
	border-radius: 8px; /* Bo tròn nhẹ */
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2); /* Bóng đổ nhẹ */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	border: 2px solid transparent;
}

/* ============================
🔹 HIỆU ỨNG GỢN SÓNG NHẸ KHI HOVER
================================ */
.btn-custom::before {
	content: "";
	position: absolute;
	width: 300%;
	height: 300%;
	top: 50%;
	left: 50%;
	background: rgba(255, 255, 255, 0.2);
	transition: transform 0.4s ease-in-out, opacity 0.3s;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0);
	opacity: 0;
}

.btn-custom:hover::before {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}

/* ============================
🔹 NÚT MÀU ĐEN (TƯƠNG ĐƯƠNG BTN-INFO)
================================ */
.btn-dark-custom {
	background: #000 !important;
	color: #fff !important;
	border: 2px solid #222 !important;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
}

.btn-dark-custom:hover {
	background: #222 !important;
	border-color: #444 !important;
	box-shadow: 0 5px 12px rgba(146, 109, 222, 0.4);
}

/* ============================
🔺 NÚT ĐỎ (TƯƠNG ĐƯƠNG BTN-DANGER)
================================ */
.btn-danger-custom {
	background: #ff4954 !important;
	color: #fff !important;
	border: 2px solid #ff3541 !important;
	box-shadow: 0 3px 8px rgba(255, 73, 84, 0.4);
}

.btn-danger-custom:hover {
	background: #ff1e2a !important;
	border-color: #ff1e2a !important;
	box-shadow: 0 5px 12px rgba(255, 73, 84, 0.5);
}

/* ============================
🟢 NÚT XANH (TƯƠNG ĐƯƠNG BTN-SUCCESS)
================================ */
.btn-success-custom {
	background: #3cd458 !important;
	color: #fff !important;
	border: 2px solid #2ebd48 !important;
	box-shadow: 0 3px 8px rgba(73, 255, 129, 0.4);
}

.btn-success-custom:hover {
	background: #28a745 !important;
	border-color: #28a745 !important;
	box-shadow: 0 5px 12px rgba(73, 255, 129, 0.5);
}

/* ============================
🖱️ HIỆU ỨNG NHẤN
================================ */
.btn-custom:active {
	transform: translateY(2px) scale(0.98);
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

/* ============================
❌ NÚT ĐÓNG (KHÔNG BỊ ẢNH HƯỞNG BỞI BOOTSTRAP)
================================ */
button.close-custom {
	padding: 0;
	background-color: transparent;
	border: 0;
	-webkit-appearance: none;
	font-size: 24px;
	color: #333;
	transition: color 0.3s;
}

button.close-custom:hover {
	color: #ff4954;
}


.logo{
	text-align: center;
	padding: 24px 0px;
}
.logo a{
	display: inline-block;
}

.logo img{
	animation-name: shadow_light;
	animation-duration: 5s;
	animation-iteration-count: infinite;
}
.menu-game{
	
	text-align: center;
	font-size: x-large;
	height: 50px;
	
}
.menu-game a {
	text-decoration: none;
	color: #ffff;
	padding-right: 12px;
	margin-right: 12px;
	border-right: 3px solid #000;
	font-weight: 700;
	text-shadow: -1px -1px 0 #000,  
	1px -1px 0 #000,  
	-1px  1px 0 #000,  
	1px  1px 0 #000;

}

.menu-game a:hover{
	
	color: #000;
	text-shadow: -1px -1px 0 #fff,  
	1px -1px 0 #fff,  
	-1px  1px 0 #fff,  
	1px  1px 0 #fff;
}
.menu-game a:last-child{
	border-right: unset;
	padding-right: unset;
	margin-right: unset;
}
.other-case{
	position: relative;
	text-align: center;
	display: inline-block;
	margin: 0;
	padding: 0px 32px;
}
.other-case:after{
	content: '';
	position: absolute;
	left: 0;
	width: 24px;
	height: 1px;
	top: 50%;
	background: #000;
}
.other-case:before{
	content: '';
	position: absolute;
	right: 0;
	width: 24px;
	height: 1px;
	top: 50%;
	background: #000;
}
.label-cus-left{
	border-left: 3px solid #fecc12;
	padding-left: 6px;
	
}
.box-valid label.error{
	color: #d82355;
	font-size: 14px;
	order: 1;
	width: 100%;
}
@keyframes shadow_light {
	0%   {filter: drop-shadow(0px 0px 25px #ffffff);}
	50%{filter: drop-shadow(0px 0px 0px #bdefe1);}
	100%{filter: drop-shadow(0px 0px 25px #88ffd4);}
}
.user_recharge {
	font-size: 1.1em;
	background: #0ca7f10a;
	margin: -20px -20px 20px -20px;
	padding: 20px 0 20px 20px;
	font-weight: 500;
	/* border-bottom: 1px solid #bdf7cc; */
}
.nav-link-custom a {
	color: #000; /* Màu cam */
}
.btn-custom-logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #000; /* Nền trắng */
	color: #fff; /* Chữ đen */
	font-size: 18px;
	font-weight: bold;
	padding: 12px 30px;
	border-radius: 50px; /* Bo góc tròn */
	text-decoration: none;
	border: 2px solid #fff; /* Viền đen */
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Bóng đổ nhẹ */
	transition: all 0.3s ease-in-out;
	position: relative;
	overflow: hidden;
	width: 100%;
	text-align: center;
}

/* Khi di chuột vào, đổi nền thành đen và chữ thành trắng */
.btn-custom-logout:hover {
	background-color: #fff; /* Đổi nền thành đen */
	color: #000; /* Đổi màu chữ thành trắng */
	border-color: #000; /* Viền đổi thành trắng */
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.5); /* Tăng bóng đổ */
	transform: translateY(-3px); /* Nâng nhẹ */
}

/* Khi nhấn vào, nút co nhẹ */
.btn-custom-logout:active {
	transform: translateY(1px) scale(0.98);
	box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
}

/* Hiệu ứng sáng mờ khi hover */
.btn-custom-logout::before {
	content: "";
	position: absolute;
	width: 300%;
	height: 300%;
	top: 50%;
	left: 50%;
	background: rgba(255, 255, 255, 0.2);
	transition: transform 0.4s ease-in-out, opacity 0.3s;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0);
	opacity: 0;
	pointer-events: none;
}

.btn-custom-logout:hover::before {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}

/* ===== Lớp hiệu chỉnh cuối: giữ bố cục đồng nhất sau CSS giao diện cũ ===== */
body.is-guest .container > .row {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start !important;
	min-height: calc(100vh - 48px);
}

body.is-guest .logo {
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 24px 0 12px;
}

body.is-guest .logo a {
	display: block;
}

body.is-guest .logo img {
	display: block;
	width: auto !important;
	height: 88px;
	max-width: 240px;
	object-fit: contain;
	filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .25));
}

body.is-guest .menu-game {
	display: flex;
	justify-content: center;
	gap: 4px;
	width: auto;
	max-width: calc(100% - 24px);
	margin: 0 auto 20px;
	padding: 6px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 999px;
	background: rgba(15, 23, 42, .72);
	box-shadow: 0 12px 32px rgba(15, 23, 42, .18);
	backdrop-filter: blur(14px);
}

body.is-guest .menu-game a,
body.is-guest .menu-game a:last-child {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 122px;
	padding: 10px 16px;
	border: 0;
	border-radius: 999px;
	color: #f8fafc;
	font-size: .86rem;
	font-weight: 700;
	text-transform: none;
	text-decoration: none;
	transition: .2s ease;
}

body.is-guest .menu-game a:hover {
	color: #fff;
	background: #2563eb;
	transform: translateY(-1px);
}

.auth-shell {
	display: flex;
	justify-content: center;
	width: 100%;
	padding: 0 12px;
}

.auth-panel {
	width: min(100%, 560px);
	margin: 0 auto;
}

.auth-panel .card {
	overflow: hidden;
	margin: 0 !important;
	border: 1px solid rgba(255,255,255,.72) !important;
	border-radius: 22px !important;
	background: rgba(255,255,255,.96);
	box-shadow: 0 24px 70px rgba(15,23,42,.22) !important;
	backdrop-filter: blur(16px);
	animation: zxEnter .35s ease both;
}

.auth-panel .card-body {
	padding: 32px !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.auth-panel h4 {
	margin-bottom: 8px;
	font-size: 1.45rem;
	letter-spacing: .02em;
}

.auth-panel label {
	margin-bottom: 7px;
	font-size: .9rem;
}

.auth-panel .input-group {
	overflow: hidden;
	border: 1px solid #dbe3ed;
	border-radius: 12px;
	background: #f8fafc;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.auth-panel .input-group:focus-within {
	border-color: #60a5fa;
	box-shadow: 0 0 0 4px rgba(37,99,235,.1);
}

.auth-panel .input-group .form-control,
.auth-panel .input-group .input-group-text {
	border: 0 !important;
	background: transparent !important;
}

.auth-panel .input-group .form-control:focus {
	box-shadow: none !important;
}

.auth-panel .btn-dark-custom {
	border: 0;
	border-radius: 12px;
	color: #fff;
	background: linear-gradient(110deg, #0f172a, #1e3a8a);
	box-shadow: 0 10px 24px rgba(30,58,138,.22);
}

body.is-guest .app-footer {
	margin: 18px auto 10px;
}

@media (max-width: 575.98px) {
	body.is-guest .logo {
		padding-top: 14px;
	}
	body.is-guest .logo img {
		height: 70px;
	}
	body.is-guest .menu-game {
		width: calc(100% - 24px);
		border-radius: 15px;
	}
	body.is-guest .menu-game a,
	body.is-guest .menu-game a:last-child {
		flex: 1;
		min-width: 0;
		padding: 9px 5px;
		font-size: .74rem;
	}
	.auth-panel .card-body {
		padding: 22px 18px !important;
	}
}

/* =========================================================
   ACCOUNT DASHBOARD 2026
   Lớp cuối để vô hiệu các khai báo giao diện cũ bị chồng CSS.
   ========================================================= */
body.is-authenticated {
	--dash-navy: #101c3c;
	--dash-blue: #2563eb;
	--dash-blue-soft: #eff6ff;
	--dash-border: #e6ebf3;
	--dash-muted: #64748b;
	--dash-bg: rgba(244, 247, 252, .92);
}

body.is-authenticated .dashboard-shell {
	max-width: 1240px;
	margin: 0 auto;
}

body.is-authenticated .home-tab {
	display: flex;
	flex-wrap: nowrap;
	gap: 22px;
	min-height: 650px;
	margin: 22px 0 40px;
}

body.is-authenticated .home-tab > .left-home {
	position: sticky;
	top: 18px;
	flex: 0 0 270px;
	width: 270px;
	max-height: calc(100vh - 36px);
	margin: 0 !important;
	padding: 0;
	overflow: hidden auto;
	border: 1px solid rgba(255,255,255,.72);
	border-radius: 18px;
	background: rgba(255,255,255,.94);
	box-shadow: 0 18px 50px rgba(15,23,42,.14);
	scrollbar-width: thin;
}

body.is-authenticated .home-tab > .right-home {
	flex: 1 1 auto;
	width: auto;
	max-width: none;
	min-width: 0;
	margin: 0 !important;
	padding: 0 0 22px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.72);
	border-radius: 18px;
	background: var(--dash-bg);
	box-shadow: 0 18px 50px rgba(15,23,42,.14);
}

body.is-authenticated .info-left-side {
	position: sticky;
	top: 0;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0 !important;
	padding: 18px !important;
	border-bottom: 1px solid var(--dash-border);
	background: linear-gradient(135deg, #111d3d, #1d3d83);
}

.account-avatar {
	display: grid;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	place-items: center;
	border: 2px solid rgba(255,255,255,.25);
	border-radius: 14px;
	color: #fff;
	background: linear-gradient(135deg, #3b82f6, #60a5fa);
	box-shadow: 0 8px 20px rgba(37,99,235,.35);
	font-size: 1.1rem;
	font-weight: 900;
}

.account-summary {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
}

.account-summary strong {
	overflow: hidden;
	color: #fff;
	font-size: .94rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.account-summary span {
	margin-top: 2px;
	color: #9fb9f0;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .09em;
}

body.is-authenticated .toggle-button-menu {
	display: none;
	color: #fff;
}

body.is-authenticated #menu-home {
	padding: 12px 10px 0;
}

body.is-authenticated .ul-custom-home-left {
	display: flex;
	gap: 3px;
	margin: 0;
	padding: 0;
}

body.is-authenticated .ul-custom-home-left > li {
	margin: 0;
	padding: 0;
	border: 0;
}

body.is-authenticated .user_recharge {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7px;
	margin: 0 0 14px;
	padding: 10px;
	border: 1px solid #dbeafe;
	border-radius: 14px;
	background: linear-gradient(145deg, #f8fbff, #edf4ff);
}

body.is-authenticated .user_recharge .nav-link-custom {
	display: flex;
	min-width: 0;
	min-height: 51px;
	gap: 7px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 8px 9px;
	border: 1px solid rgba(219,234,254,.8);
	border-radius: 10px;
	background: rgba(255,255,255,.82);
	font-size: .73rem;
}

body.is-authenticated .user_recharge .nav-link-custom:first-child {
	grid-column: 1 / -1;
	min-height: 42px;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
}

body.is-authenticated .user_recharge .nav-link-custom i {
	width: auto;
	margin: 0;
	font-size: .82rem;
}

body.is-authenticated .user_recharge .nav-link-custom span {
	color: #64748b;
	font-weight: 650;
}

body.is-authenticated .user_recharge .nav-link-custom strong {
	display: block;
	margin-top: 2px;
	color: #172554;
	font-size: .88rem;
}

.menu-section-label {
	padding: 5px 10px 7px !important;
	color: #94a3b8;
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .1em;
}

body.is-authenticated .nav-item .nav-link-custom {
	min-height: 44px;
	margin: 2px 0;
	padding: 0;
	border-radius: 10px;
}

body.is-authenticated .nav-link-custom a {
	gap: 11px;
	min-height: 44px;
	padding: 9px 11px;
	border-radius: 10px;
	color: #334155 !important;
	font-size: .8rem;
	font-weight: 750;
	line-height: 1.25;
}

body.is-authenticated .nav-link-custom a > i {
	display: grid;
	flex: 0 0 29px;
	width: 29px;
	height: 29px;
	margin: 0;
	place-items: center;
	border-radius: 9px;
	color: #2563eb;
	background: #eff6ff;
	font-size: .82rem;
}

body.is-authenticated .nav-item .nav-link-custom:hover {
	transform: none;
	background: transparent;
}

body.is-authenticated .nav-link-custom a:hover,
body.is-authenticated .nav-link-custom a.active {
	color: #1d4ed8 !important;
	background: #eff6ff;
	transform: translateX(2px);
}

body.is-authenticated .nav-link-custom a.active {
	box-shadow: inset 3px 0 #2563eb;
}

body.is-authenticated .btn_thoat {
	margin: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--dash-border);
}

body.is-authenticated .btn-custom-logout {
	min-height: 43px;
	margin: 0;
	padding: 9px 16px;
	border: 0;
	border-radius: 11px;
	color: #dc2626;
	background: #fff1f2;
	box-shadow: none;
	font-size: .8rem;
	font-weight: 800;
}

body.is-authenticated .btn-custom-logout:hover {
	color: #fff;
	background: #dc2626;
	box-shadow: 0 8px 20px rgba(220,38,38,.22);
	transform: translateY(-1px);
}

body.is-authenticated .right-home .left-title-home {
	display: flex;
	min-height: 92px;
	margin: 0 0 22px;
	padding: 20px 26px;
	justify-content: space-between;
	border: 0;
	background: linear-gradient(120deg, #111d3d, #1d3f88 65%, #2563eb);
}

body.is-authenticated .right-home .left-title-home h4 {
	margin: 3px 0 0;
	padding: 0;
	color: #fff;
	background: none;
	box-shadow: none;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	font-weight: 850;
	letter-spacing: .01em;
	text-transform: none;
}

body.is-authenticated .right-home .left-title-home h4::before,
body.is-authenticated .right-home .left-title-home h4::after {
	display: none;
}

body.is-authenticated .right-home .left-title-home h4:hover {
	transform: none;
	background: none;
	box-shadow: none;
}

.page-eyebrow {
	color: #93c5fd;
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .13em;
}

.account-status {
	display: inline-flex;
	gap: 7px;
	align-items: center;
	padding: 8px 11px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 999px;
	color: #dbeafe;
	background: rgba(255,255,255,.08);
	font-size: .72rem;
	font-weight: 750;
}

.account-status i { color: #4ade80; }

body.is-authenticated .form-right-home {
	padding: 0 22px;
}

body.is-authenticated .form-right-home > .card,
body.is-authenticated .form-right-home .card {
	border: 1px solid var(--dash-border) !important;
	border-radius: 15px !important;
	background: rgba(255,255,255,.96);
	box-shadow: 0 8px 25px rgba(15,23,42,.06) !important;
}

.account-overview {
	display: grid;
	gap: 18px;
}

.account-welcome {
	display: flex;
	gap: 16px;
	align-items: center;
	padding: 21px 23px;
	border: 1px solid #dbeafe;
	border-radius: 15px;
	background: linear-gradient(135deg, #eff6ff, #fff 60%);
}

.account-welcome-icon {
	display: grid;
	flex: 0 0 54px;
	width: 54px;
	height: 54px;
	place-items: center;
	border-radius: 16px;
	color: #fff;
	background: linear-gradient(135deg, #2563eb, #60a5fa);
	box-shadow: 0 10px 25px rgba(37,99,235,.25);
	font-size: 1.25rem;
}

.account-welcome span {
	color: #64748b;
	font-size: .76rem;
	font-weight: 750;
}

.account-welcome h3 {
	margin: 1px 0 3px;
	color: #172554;
	font-size: 1.25rem;
	font-weight: 850;
}

.account-welcome p {
	margin: 0;
	color: #64748b;
	font-size: .82rem;
}

.account-detail-card { margin: 0 !important; }
.account-detail-card .card-body { padding: 22px; }

.account-card-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 17px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--dash-border);
}

.account-card-heading span {
	color: #2563eb;
	font-size: .66rem;
	font-weight: 850;
	letter-spacing: .1em;
}

.account-card-heading h5 {
	margin: 2px 0 0;
	color: #172033;
	font-size: 1rem;
	font-weight: 800;
}

.account-card-heading > i {
	color: #cbd5e1;
	font-size: 1.45rem;
}

.account-data-item {
	display: flex;
	min-height: 73px;
	gap: 12px;
	align-items: center;
	padding: 13px;
	border: 1px solid #edf0f5;
	border-radius: 12px;
	background: #fafbfc;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}

.account-data-item:hover {
	border-color: #bfdbfe;
	box-shadow: 0 8px 20px rgba(37,99,235,.07);
	transform: translateY(-1px);
}

.account-data-icon {
	display: grid;
	flex: 0 0 39px;
	width: 39px;
	height: 39px;
	place-items: center;
	border-radius: 11px;
	font-size: 1rem;
}

.account-data-icon.is-blue { color: #2563eb; background: #dbeafe; }
.account-data-icon.is-green { color: #16a34a; background: #dcfce7; }
.account-data-icon.is-orange { color: #ea580c; background: #ffedd5; }
.account-data-icon.is-purple { color: #7c3aed; background: #ede9fe; }

.account-data-content {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
}

.account-data-content label {
	margin: 0 0 3px;
	color: #94a3b8;
	font-size: .68rem;
	font-weight: 750;
}

.account-data-content strong {
	overflow: hidden;
	color: #263247;
	font-size: .84rem;
	font-weight: 800;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.account-copy {
	display: grid;
	width: 34px;
	height: 34px;
	padding: 0;
	place-items: center;
	border: 1px solid #bfdbfe !important;
	border-radius: 9px !important;
	color: #2563eb !important;
	background: #fff !important;
}

.game-server-offline {
	border-color: #fed7aa !important;
	color: #9a3412 !important;
	background: #fff7ed !important;
	font-weight: 700;
}

.game-role-select {
	border-color: #bfdbfe !important;
	background-color: #fff !important;
}

@media (max-width: 991.98px) {
	body.is-authenticated .dashboard-shell { max-width: 960px; }
	body.is-authenticated .home-tab { gap: 14px; }
	body.is-authenticated .home-tab > .left-home {
		flex-basis: 235px;
		width: 235px;
	}
}

@media (max-width: 767.98px) {
	body.is-authenticated .home-tab {
		display: block;
		margin-top: 14px;
		padding: 0 10px;
	}
	body.is-authenticated .home-tab > .left-home {
		position: static;
		width: 100%;
		max-height: none;
		margin-bottom: 14px !important;
	}
	body.is-authenticated .toggle-button-menu {
		display: grid;
		width: 36px;
		height: 36px;
		place-items: center;
	}
	body.is-authenticated #menu-home { display: none; }
	body.is-authenticated .home-tab > .right-home { width: 100%; }
	body.is-authenticated .right-home .left-title-home {
		min-height: 78px;
		padding: 17px 18px;
	}
	body.is-authenticated .form-right-home { padding: 0 14px; }
}

@media (max-width: 575.98px) {
	.account-status { display: none; }
	.account-welcome { padding: 17px; }
	.account-welcome p { display: none; }
	.account-detail-card .card-body { padding: 16px; }
}

