/*
 * NEMO dark trading-console theme.
 * Loaded after page-local styles so presentation can stay consistent without
 * changing templates, controls, or application behaviour.
 */
:root {
	--nemo-bg: #10131f;
	--nemo-bg-deep: #0b0e18;
	--nemo-surface: #171b28;
	--nemo-surface-raised: #1c2230;
	--nemo-surface-hover: #202938;
	--nemo-border: #2a3344;
	--nemo-border-soft: #222a39;
	--nemo-text: #d9e2ec;
	--nemo-text-strong: #f2f6fa;
	--nemo-muted: #8793a5;
	--nemo-accent: #25c7a5;
	--nemo-accent-soft: rgba(37, 199, 165, .13);
	--nemo-blue: #4b8df8;
	--nemo-danger: #f05b78;
	--nemo-warning: #e8b04a;
	color-scheme: dark;
}

html,
body {
	min-height: 100%;
	background: var(--nemo-bg) !important;
	color: var(--nemo-text);
}

body {
	background-image:
		radial-gradient(circle at 78% -20%, rgba(46, 78, 113, .16), transparent 34rem),
		linear-gradient(180deg, var(--nemo-bg-deep) 0, var(--nemo-bg) 180px) !important;
	background-attachment: fixed !important;
}

body,
.form-control,
.btn,
.dropdown-menu,
.table {
	font-family: Inter, "Segoe UI", "Microsoft YaHei", Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6,
.card-title,
.modal-title,
label,
strong,
b {
	color: var(--nemo-text-strong);
}

a {
	color: #65a8ff;
}

a:hover {
	color: #8fc0ff;
}

.text-muted,
.overview-label,
.overview-sub,
.data-note,
.metric-label,
.metric-detail,
.status-label,
.dca-label,
.monitor-label,
.order-lifecycle-meta,
.detail-source-meta,
.diagnostic-table th {
	color: var(--nemo-muted) !important;
}

.navbar,
.navbar.bg-dark,
.app-navbar,
.navbar-collapse {
	background: rgba(12, 15, 25, .97) !important;
	border-bottom: 1px solid var(--nemo-border) !important;
	box-shadow: 0 5px 18px rgba(0, 0, 0, .2);
}

.navbar-brand {
	color: var(--nemo-text-strong) !important;
	font-weight: 650;
	letter-spacing: .01em;
}

.navbar-dark .navbar-nav .nav-link {
	color: #939eaf;
	transition: color .15s ease, background-color .15s ease;
}

.navbar-dark .navbar-nav .active > .nav-link,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
	color: var(--nemo-text-strong);
	background: rgba(255, 255, 255, .035);
}

.dropdown-menu {
	background: var(--nemo-surface-raised);
	border: 1px solid var(--nemo-border);
	box-shadow: 0 14px 35px rgba(0, 0, 0, .38);
}

.dropdown-item {
	color: var(--nemo-text);
}

.submenu-sortable-link {
	position: relative;
	padding-right: 38px;
}

.submenu-drag-handle {
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 26px;
	border-radius: 5px;
	color: var(--nemo-muted);
	cursor: grab;
	touch-action: none;
	user-select: none;
	font-size: 13px;
	letter-spacing: -3px;
	z-index: 2;
}

.submenu-drag-handle:hover,
.submenu-drag-handle:focus {
	color: var(--nemo-text-strong);
	background: var(--nemo-accent-soft);
	outline: none;
}

.submenu-drag-handle:active {
	cursor: grabbing;
}

.submenu-item-dragging {
	opacity: .65;
	outline: 1px dashed var(--nemo-accent);
	outline-offset: -1px;
}

.dropdown-menu > a:hover,
.dropdown-item:hover,
.dropdown-item:focus {
	color: var(--nemo-text-strong);
	background: var(--nemo-accent-soft);
}

.card,
.card-box,
.strategy-card,
.status-box,
.dca-card,
.overview-card,
.overview-panel,
.summary-card,
.monitor-card,
.monitor-metric,
.metric-card,
.scanner-card,
.balance-strip,
.config-group,
.im-card {
	background: var(--nemo-surface) !important;
	border-color: var(--nemo-border) !important;
	color: var(--nemo-text);
	box-shadow: 0 5px 18px rgba(0, 0, 0, .13) !important;
}

.card-header,
.card-footer,
.modal-header,
.modal-footer {
	background: var(--nemo-surface-raised) !important;
	border-color: var(--nemo-border) !important;
	color: var(--nemo-text-strong) !important;
}

.modal-content,
.popover {
	background: var(--nemo-surface);
	border-color: var(--nemo-border);
	color: var(--nemo-text);
}

.modal-backdrop.show {
	opacity: .68;
}

.close {
	color: var(--nemo-text-strong);
	text-shadow: none;
}

.table,
.table td,
.table th,
table.dataTable,
table.dataTable td,
table.dataTable th {
	color: var(--nemo-text);
	border-color: var(--nemo-border-soft) !important;
}

th,
.table thead th,
table.dataTable thead th {
	background: #1b2130 !important;
	color: #aeb9c8 !important;
	border-bottom-color: var(--nemo-border) !important;
	font-weight: 600;
}

.table-striped tbody tr:nth-of-type(odd) {
	background: rgba(255, 255, 255, .018);
}

.table-hover tbody tr:hover,
.table-hover tbody tr:hover td,
.table-hover tbody tr:hover th,
table.dataTable tbody tr:hover {
	background: var(--nemo-surface-hover) !important;
	color: var(--nemo-text-strong) !important;
}

.table-active,
.table-active > td,
.table-active > th,
.detail-row td,
.log-detail-row {
	background: #151c29 !important;
}

.highlight-row td,
tr.highlight td {
	background: rgba(232, 176, 74, .12) !important;
}

.form-control,
.custom-select,
.input-group-text,
select,
textarea,
input[type="text"],
input[type="number"],
input[type="password"],
input[type="search"] {
	background-color: #111622 !important;
	border-color: #303a4c !important;
	color: var(--nemo-text-strong) !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
	color: #667286 !important;
}

.form-control:focus,
.custom-select:focus,
select:focus,
textarea:focus,
input:focus {
	background-color: #141a28 !important;
	border-color: var(--nemo-accent) !important;
	color: var(--nemo-text-strong) !important;
	box-shadow: 0 0 0 .16rem rgba(37, 199, 165, .13) !important;
}

.form-control:disabled,
.form-control[readonly],
button:disabled {
	background-color: #202634 !important;
	color: #6f7b8d !important;
}

.btn-primary,
.btn-success {
	background: #168f79;
	border-color: #1eaa8e;
	color: #fff;
}

.btn-primary:hover,
.btn-success:hover {
	background: #1aa487;
	border-color: var(--nemo-accent);
}

.btn-outline-primary {
	border-color: #4b8df8;
	color: #73a8fb;
}

.btn-outline-secondary,
.btn-secondary,
.btn-light,
.btn-outline-light {
	background: transparent;
	border-color: #465266;
	color: #b4bfce;
}

.btn-outline-secondary:hover,
.btn-secondary:hover,
.btn-light:hover,
.btn-outline-light:hover {
	background: #293245;
	border-color: #5c6b82;
	color: #fff;
}

.btn-danger {
	background: #b83e58;
	border-color: #d14b66;
}

.btn-outline-danger {
	border-color: var(--nemo-danger);
	color: #ff7891;
}

.badge-light,
.badge-secondary {
	background: #293245;
	color: #c3ccd8;
}

.badge-success,
.pnl-positive,
.profit,
.value-down {
	color: #48d4b0 !important;
}

.pnl-negative,
.loss,
.value-up {
	color: #ff708b !important;
}

.alert {
	border-color: var(--nemo-border);
	color: var(--nemo-text);
}

.alert-info {
	background: rgba(75, 141, 248, .13);
	border-color: rgba(75, 141, 248, .35);
}

.alert-success,
.status-valid {
	background: rgba(37, 199, 165, .12) !important;
	border-color: rgba(37, 199, 165, .35) !important;
	color: #78dfc7 !important;
}

.alert-warning,
.status-warn,
.alert-item {
	background: rgba(232, 176, 74, .12) !important;
	border-color: rgba(232, 176, 74, .35) !important;
	color: #f1c86d !important;
}

.alert-danger,
.status-error,
.alert-item.danger {
	background: rgba(240, 91, 120, .12) !important;
	border-color: rgba(240, 91, 120, .38) !important;
	color: #ff91a5 !important;
}

.alert-secondary {
	background: #1c2230;
	border-color: var(--nemo-border);
	color: var(--nemo-text);
}

.bg-light,
.bg-white {
	background-color: var(--nemo-surface-raised) !important;
	color: var(--nemo-text) !important;
}

pre,
code {
	color: #b9c6d8;
}

.nav-tabs,
.nav-tabs .nav-link {
	border-color: var(--nemo-border);
}

.nav-tabs .nav-link {
	color: var(--nemo-muted);
}

.nav-tabs .nav-link.active {
	background: var(--nemo-surface);
	border-color: var(--nemo-border) var(--nemo-border) var(--nemo-surface);
	color: var(--nemo-accent);
}

.pagination .page-link,
.dataTables_wrapper .dataTables_paginate .paginate_button {
	background: var(--nemo-surface) !important;
	border-color: var(--nemo-border) !important;
	color: #aeb9c8 !important;
}

.pagination .page-item.active .page-link,
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
	background: #176f65 !important;
	border-color: var(--nemo-accent) !important;
	color: #fff !important;
}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_paginate {
	color: var(--nemo-muted) !important;
}

.progress {
	background: #252d3c;
}

hr {
	border-color: var(--nemo-border-soft);
}

mark {
	background: var(--nemo-accent-soft);
	color: #71dec5;
}

.footer {
	background: rgba(12, 15, 25, .98) !important;
	border-top: 1px solid var(--nemo-border);
	color: #687487;
}

/* Monitoring and message views with page-local light backgrounds. */
.chart-wrap,
.equity-chart,
.conversation-panel,
.chat-panel,
.im-layout,
.im-toolbar,
.chat-header,
.history-status,
.page-controls,
.message-bubble,
.plan-analysis,
.conversation-search .form-control {
	background: var(--nemo-surface) !important;
	border-color: var(--nemo-border) !important;
	color: var(--nemo-text) !important;
}

.conversation-panel,
.conversation-search .form-control,
.history-status,
.plan-analysis {
	background: #141925 !important;
}

.conversation-item {
	border-color: var(--nemo-border-soft) !important;
}

.conversation-item:hover {
	background: var(--nemo-surface-hover) !important;
}

.conversation-item.active {
	background: var(--nemo-accent-soft) !important;
	box-shadow: inset 3px 0 var(--nemo-accent) !important;
}

.conversation-preview,
.message-author,
.message-body,
.plan-analysis {
	color: #bdc7d5 !important;
}

.plan-analysis.notified {
	background: rgba(37, 199, 165, .1) !important;
}

.plan-analysis.error {
	background: rgba(240, 91, 120, .1) !important;
}

.highcharts-background {
	fill: var(--nemo-surface) !important;
}

.highcharts-grid-line,
.highcharts-axis-line,
.highcharts-tick {
	stroke: var(--nemo-border) !important;
}

.highcharts-axis-labels text,
.highcharts-axis-title,
.highcharts-legend-item text,
.highcharts-title,
.highcharts-subtitle {
	fill: #98a5b6 !important;
	color: #98a5b6 !important;
}

.highcharts-tooltip-box {
	fill: #202736 !important;
	stroke: #3a465a !important;
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

::-webkit-scrollbar-track {
	background: #111520;
}

::-webkit-scrollbar-thumb {
	background: #344054;
	border: 2px solid #111520;
	border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover {
	background: #45536a;
}

@media (max-width: 767.98px) {
	.navbar-collapse {
		border-top-color: var(--nemo-border) !important;
	}
}
