/* Theme variables and base reset */

:root {
	/* Light theme: white backgrounds, black text, black borders */
	--bg-color: #ffffff;
	--text-color: #000000;
	--muted-text-color: #4b5563;
	--card-bg: #ffffff;
	--border-color: #000000;
	--input-bg: #ffffff;
	--input-text: #000000;
	--primary: #0d6efd;
	--success: #198754;
	--danger: #dc3545;
	--warning: #ffc107;
	--info: #0dcaf0;

	/* Map dashboard variables to light theme */
	--dark-bg: #ffffff;
	--dash-bg: #ffffff;
	--dash-card-bg: #ffffff;
	--dash-border: #e0e0e0;
	--dash-glass: #ffffff;
	--dash-glass-border: #e0e0e0;
	--bitget-bg: #ffffff;
	--bitget-text: #000000;
	--bitget-input-bg: #f8f9fa;
	--panel-bg: #ffffff;
}


:root[data-theme="dark"] {
	/* Dark theme: black/dark backgrounds, white text, white borders */
	--bg-color: #000000;
	--text-color: #ffffff;
	--muted-text-color: #d1d5db;
	--card-bg: #0a0a0a;
	--border-color: #ffffff;
	--input-bg: #0a0a0a;
	--input-text: #ffffff;
	--primary: #60a5fa;
	--success: #34d399;
	--danger: #f87171;
	--warning: #fbbf24;
	--info: #38bdf8;

	/* Map dashboard variables to dark theme */
	--dark-bg: #000000;
	--dash-bg: #000000;
	--dash-card-bg: #0a0a0a;
	--dash-border: rgba(255, 255, 255, 0.1);
	--dash-glass: rgba(255, 255, 255, 0.03);
	--dash-glass-border: rgba(255, 255, 255, 0.08);
	--bitget-bg: #000000;
	--bitget-text: #ffffff;
	--bitget-input-bg: #1e1e1e;
	--panel-bg: #0a0a0a;
}

html,
body {
	background: var(--bg-color);
	color: var(--text-color);
}

/* Force structural backgrounds site-wide */
body,
main,
section,
article,
aside,
header,
footer,
.container,
.container-fluid,
.row,
.col,
.content,
.page-wrapper,
.main-content,
.dashboard-wrapper {
	background: var(--bg-color) !important;
}

/* Enforce text color across common tags */
h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
span,
small,
li,
dt,
dd,
th,
td,
a,
button {
	color: var(--text-color) !important;
}

a {
	text-decoration-color: var(--text-color);
}

/* Common containers */
.card,
.content-panel,
.panel,
.modal-content,
.dropdown-menu,
.offcanvas,
.accordion-item {
	background: var(--card-bg) !important;
	color: var(--text-color) !important;
	border-color: var(--border-color) !important;
	border: 1px solid var(--border-color) !important;
}

hr,
.border,
.table,
.table> :not(caption)>*>* {
	border-color: var(--border-color) !important;
}

/* Inputs */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
select,
textarea,
.form-control,
.form-select {
	background: var(--input-bg) !important;
	color: var(--input-text) !important;
	border-color: var(--border-color) !important;
	border: 1px solid var(--border-color) !important;
}

.input-group-text {
	background: var(--card-bg) !important;
	color: var(--text-color) !important;
	border-color: var(--border-color) !important;
}

/* Buttons */
.btn-primary {
	background-color: var(--primary) !important;
	border-color: var(--primary) !important;
}

.btn-success {
	background-color: var(--success) !important;
	border-color: var(--success) !important;
}

.btn-danger {
	background-color: var(--danger) !important;
	border-color: var(--danger) !important;
}

.btn-warning {
	background-color: var(--warning) !important;
	border-color: var(--warning) !important;
	color: #111827 !important;
}

.btn-info {
	background-color: var(--info) !important;
	border-color: var(--info) !important;
}

/* Tables */
.table {
	color: var(--text-color) !important;
	border-color: var(--border-color) !important;
}

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

.table,
.table> :not(caption)>*>* {
	border-color: var(--border-color) !important;
}

.table,
.table-bordered,
.table-bordered> :not(caption)>* {
	border-width: 1px !important;
}

/* Navbars/headers */
.navbar,
.topbar,
header.site-header,
.sidebar,
.footer {
	background: var(--card-bg) !important;
	color: var(--text-color) !important;
	border-bottom: 1px solid var(--border-color) !important;
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
}

/* Ensure header links/icons are visible in light theme */
.navbar .navbar-brand,
.navbar .nav-link,
.navbar .dropdown-item,
.navbar .bi {
	color: var(--text-color) !important;
}

.navbar .dropdown-menu {
	background: var(--card-bg) !important;
	color: var(--text-color) !important;
	border: 1px solid var(--border-color) !important;
}

/* Utility */
.text-muted {
	color: var(--muted-text-color) !important;
}

/* Chart containers */
.tradingview-widget-container,
#chartContainer,
.chart-container {
	background: var(--card-bg) !important;
}

/* Light theme: force Your Assets section to white */
.light-mode .assets-section-custom,
.light-mode .assets-section-custom .panel-header,
.light-mode .assets-section-custom .panel-body,
.light-mode .assets-section-custom .card,
.light-mode .assets-section-custom .content-panel,
.light-mode .assets-section-custom table,
.light-mode .assets-section-custom table thead,
.light-mode .assets-section-custom table thead th,
.light-mode .assets-section-custom table tr,
.light-mode .assets-section-custom table td,
.light-mode .assets-section-custom table th {
	background: #ffffff !important;
	color: #000000 !important;
	border-color: #000000 !important;
}

/* Panel header adjustments (fix black header in light theme) */
.light-mode .panel-header,
.light-mode .content-panel .panel-header,
.light-mode .card .panel-header {
	background: #ffffff !important;
	color: #000000 !important;
	border-bottom: 1px solid #000000 !important;
}

.dark-mode .panel-header,
.dark-mode .content-panel .panel-header,
.dark-mode .card .panel-header {
	background: #0a0a0a !important;
	color: #ffffff !important;
	border-bottom: 1px solid rgba(255, 255, 255, .28) !important;
}

/* User dashboard specific cards */
.light-mode .summary-card,
.light-mode .main-balance-card,
.light-mode .quick-stats-card,
.light-mode .content-panel.assets-section-custom {
	background: #ffffff !important;
	color: #000000 !important;
	border: 1px solid #000000 !important;
	box-shadow: none !important;
}

.dark-mode .summary-card,
.dark-mode .main-balance-card,
.dark-mode .quick-stats-card,
.dark-mode .content-panel.assets-section-custom {
	background: #0a0a0a !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, .28) !important;
	/* subtle white */
	box-shadow: 0 8px 30px rgba(0, 0, 0, .45) !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

/* Force dashboard sections to white bg + black text in light mode */
.light-mode .card,
.light-mode .content-panel,
.light-mode .panel,
.light-mode .modal-content,
.light-mode .dropdown-menu {
	background: #ffffff !important;
	color: #000000 !important;
	border: 1px solid #000000 !important;
}

.light-mode .bg-dark,
.light-mode .text-white,
.light-mode .bg-secondary,
.light-mode .bg-gradient {
	background: #ffffff !important;
	color: #000000 !important;
	border-color: #000000 !important;
}

.light-mode .table,
.light-mode .table> :not(caption)>*>* {
	color: #000000 !important;
	border-color: #000000 !important;
}

.light-mode .form-control,
.light-mode .form-select {
	background: #ffffff !important;
	color: #000000 !important;
	border: 1px solid #000000 !important;
}

.light-mode .input-group-text {
	background: #ffffff !important;
	color: #000000 !important;
	border: 1px solid #000000 !important;
}

/* Notification badge red */
.badge,
.badge-notification,
.notification-badge,
.alert-count {
	background-color: #dc2626 !important;
	/* red-600 */
	color: #ffffff !important;
}

/* Header notification label text */
.navbar .notification-label,
.navbar .notif-label,
.navbar .nav-link .label,
.navbar .badge-label {
	color: #dc2626 !important;
}

.navbar .nav-link .badge,
.navbar .btn .badge,
.navbar .badge {
	background-color: #dc2626 !important;
	color: #ffffff !important;
	border-color: #dc2626 !important;
}

/* Dark mode smooth white border across cards site-wide */
.dark-mode .card,
.dark-mode .content-panel,
.dark-mode .panel,
.dark-mode .modal-content,
.dark-mode .dropdown-menu,
.dark-mode .offcanvas,
.dark-mode .accordion-item {
	border: 1px solid rgba(255, 255, 255, .28) !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .45) !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

/* Light mode enforce assets section white */
.light-mode .assets-section-custom,
.light-mode .assets-section-custom .card,
.light-mode .assets-section-custom .content-panel {
	background: #ffffff !important;
	color: #000000 !important;
	border: 1px solid #000000 !important;
}

/* Modern Card Light Theme Adjustments */
.light-mode .modern-card {
	background: #ffffff !important;
	border: 1px solid #e0e0e0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
}

.light-mode .modern-card:hover {
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1) !important;
	border-color: var(--primary) !important;
}

.light-mode .asset-v-card {
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
}

.light-mode .modern-table tbody tr {
	background: #fdfdfd !important;
	border-bottom: 1px solid #f0f0f0 !important;
}

.light-mode .modern-table tbody tr:hover {
	background: #f8f9fa !important;
}

.light-mode .dropdown-menu-dark {
	background: #ffffff !important;
	color: #000000 !important;
	border: 1px solid #e0e0e0 !important;
}

.light-mode .dropdown-menu-dark .dropdown-item {
	color: #000000 !important;
}

.light-mode .dropdown-menu-dark .dropdown-item:hover {
	background: #f8f9fa !important;
}

/* Links */
a,
a:hover,
a:focus {
	color: var(--text-color) !important;
}

/* Form states */
.form-control:focus,
.form-select:focus {
	box-shadow: none !important;
	outline: 2px solid var(--border-color) !important;
}

/* Badges/alerts adapt text color */
.alert,
.badge,
.list-group-item {
	color: var(--text-color) !important;
	background: var(--card-bg) !important;
	border: 1px solid var(--border-color) !important;
}

/* Map Bootstrap utility backgrounds to theme */
.bg-light,
.bg-white,
.text-bg-light {
	background-color: var(--bg-color) !important;
	color: var(--text-color) !important;
}

.bg-dark,
.text-bg-dark {
	background-color: var(--card-bg) !important;
	color: var(--text-color) !important;
}

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

/* Borders */
.border,
.border-top,
.border-end,
.border-bottom,
.border-start,
.modal-header,
.modal-footer,
.dropdown-divider {
	border-color: var(--border-color) !important;
}

/* Floating theme toggle */

.theme-toggle-btn {
	position: fixed;
	right: 84px;
	/* closer to the bell */
	top: 12px;
	z-index: 100000;
	background: var(--card-bg);
	color: var(--text-color);
	border: 1px solid var(--border-color);
	border-radius: 999px;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
	cursor: pointer;
}

.theme-toggle-btn:hover {
	filter: brightness(1.05);
}