:root {
	--tvp-bg-1: #2d1b12;
	--tvp-bg-2: #1a1110;
	--tvp-surface: #2b1f1a;
	--tvp-surface-2: #36261f;
	--tvp-border: #64422f;
	--tvp-primary: #d98324;
	--tvp-primary-2: #f1a03b;
	--tvp-danger: #d4573f;
	--tvp-text: #ffe6cb;
	--tvp-muted: #d9b99c;
}

body.tvp-admin-body,
body.tvp-login-body {
	background: radial-gradient(circle at top right, #5a3220 0%, var(--tvp-bg-1) 38%, var(--tvp-bg-2) 100%) !important;
	color: var(--tvp-text) !important;
}

#sidebar {
	background: linear-gradient(180deg, #3b251b, #221713) !important;
	color: var(--tvp-text) !important;
	border-right: 1px solid var(--tvp-border);
}

#sidebar img {
	display: block;
	max-width: 140px;
	margin: 18px auto 8px;
}

#sidebar ul li a {
	color: var(--tvp-text) !important;
	border-bottom: 1px solid rgba(255, 210, 160, 0.08) !important;
}

#sidebar ul li a:hover,
#sidebar ul li.active > a {
	color: #fff !important;
	background: linear-gradient(90deg, rgba(217, 131, 36, 0.25), rgba(241, 160, 59, 0.12)) !important;
}

.tvp-content,
#content {
	background: transparent !important;
	color: var(--tvp-text) !important;
}

.tvp-topbar.navbar {
	background: rgba(58, 38, 28, 0.92) !important;
	border: 1px solid var(--tvp-border) !important;
	border-radius: 14px !important;
	margin-bottom: 18px;
}

.tvp-title {
	color: var(--tvp-text);
	font-weight: 600;
	font-size: 16px;
	margin-left: auto;
}

.tvp-page-wrap {
	padding: 0;
}

.tvp-card {
	background: rgba(43, 31, 26, 0.92);
	border: 1px solid var(--tvp-border);
	border-radius: 16px;
	padding: 20px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
}

.tvp-card-narrow {
	max-width: 780px;
}

.tvp-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
}

.tvp-card h3,
.tvp-card h5 {
	color: #fff;
	margin: 0;
}

.tvp-input.form-control,
.tvp-card .form-control {
	background: #1f1512 !important;
	color: var(--tvp-text) !important;
	border: 1px solid var(--tvp-border) !important;
	border-radius: 10px !important;
}

.tvp-input.form-control:focus,
.tvp-card .form-control:focus {
	box-shadow: 0 0 0 0.2rem rgba(241, 160, 59, 0.2) !important;
	border-color: var(--tvp-primary-2) !important;
}

.tvp-btn-primary,
.btn.btn-primary {
	background: linear-gradient(90deg, var(--tvp-primary), var(--tvp-primary-2)) !important;
	border: 0 !important;
	color: #2a150d !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
}

.tvp-btn-primary:hover,
.btn.btn-primary:hover {
	filter: brightness(1.06);
}

.tvp-btn-danger {
	background: linear-gradient(90deg, #b3412f, var(--tvp-danger));
	border: 0;
	color: #fff;
	border-radius: 8px;
}

.tvp-btn-outline {
	background: transparent;
	border: 1px solid var(--tvp-border);
	color: var(--tvp-text);
	border-radius: 8px;
}

.tvp-table {
	color: var(--tvp-text) !important;
}

.tvp-table thead th {
	background: rgba(241, 160, 59, 0.16);
	color: #fff;
	border-color: rgba(255, 214, 173, 0.2) !important;
}

.tvp-table tbody td {
	border-color: rgba(255, 214, 173, 0.12) !important;
}

.tvp-table tbody tr:hover {
	background: rgba(241, 160, 59, 0.08);
}

.table code,
code {
	color: #ffd7a2 !important;
}

.tvp-login-wrap {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.tvp-login-card {
	width: 100%;
	max-width: 520px;
	background: rgba(43, 31, 26, 0.95);
	border: 1px solid var(--tvp-border);
	border-radius: 18px;
	padding: 28px;
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.42);
}

.tvp-login-brand {
	text-align: center;
	margin-bottom: 14px;
}

.tvp-login-brand img {
	max-width: 170px;
	height: auto;
}

.tvp-login-title {
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 6px;
}

.tvp-login-sub {
	color: var(--tvp-muted);
	margin-bottom: 16px;
}

.tvp-login-form label {
	color: var(--tvp-muted);
	font-size: 13px;
	margin-bottom: 4px;
}

.tvp-login-meta {
	margin-top: 14px;
	font-size: 12px;
	color: var(--tvp-muted);
	display: flex;
	justify-content: space-between;
	gap: 12px;
}

.swal2-popup {
	background: #2d2019 !important;
	color: #ffe8d0 !important;
	border: 1px solid var(--tvp-border);
}

.swal2-title,
.swal2-html-container {
	color: #ffe8d0 !important;
}
