/*==========================================================
  NexusRO — Custom Gold Theme
==========================================================*/

/* ── Reset / Base ─────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

:root {
	--gold:       #C9A227;
	--gold-light: #E8C84A;
	--gold-dark:  #8a6a10;
	--bg:         #0e0c09;
	--bg2:        #161208;
	--bg3:        #1e1810;
	--border:     #2e2510;
	--border-gold:#3a2e10;
	--text:       #d4c89a;
	--text-dim:   #8a7d58;
	--sidebar-w:  210px;
	--header-size: 165px;
}

/* ── Light Mode Variables ─────────────────────────────── */
[data-theme="light"] {
	--gold:       #9a720d;
	--gold-light: #b8880f;
	--gold-dark:  #c9a227;
	--bg:         #faf7f0;
	--bg2:        #ffffff;
	--bg3:        #f5f0e8;
	--border:     #e0d5b8;
	--border-gold:#c9a227;
	--text:       #3a2e10;
	--text-dim:   #7a6a40;
}

/* ── Light Mode Overrides ─────────────────────────────── */
[data-theme="light"] body {
	background-color: var(--bg) !important;
	color: var(--text) !important;
}
[data-theme="light"] #nx-header {
	background: linear-gradient(135deg, #fdf5dc 0%, #fff8e8 45%, #f5e8c0 100%);
	border-bottom: 2px solid var(--gold-dark);
}
[data-theme="light"] #nx-header-glow {
	background: radial-gradient(ellipse at center, rgba(201,162,39,0.22) 0%, transparent 70%);
}
[data-theme="light"] #header-canvas { opacity: 0.45; }
[data-theme="light"] #nx-logo-text {
	color: #7a5500;
	text-shadow: 0 0 28px rgba(201,162,39,0.45), 0 1px 3px rgba(0,0,0,0.12);
}
[data-theme="light"] #nx-header-tagline { color: #a08040; }
[data-theme="light"] .nx-header-account {
	background: rgba(255,255,255,0.55);
	border-color: var(--gold-dark);
	backdrop-filter: blur(4px);
}
[data-theme="light"] .nx-header-account a { color: #7a5500 !important; }
[data-theme="light"] .nx-header-account a:hover { color: var(--gold-dark) !important; }
[data-theme="light"] .nx-header-sep { color: #c9a227; }
[data-theme="light"] #nx-theme-toggle {
	background: rgba(201,162,39,0.15);
	border-color: #9a720d;
	color: #7a5500;
}
[data-theme="light"] #nx-theme-toggle:hover {
	background: #9a720d;
	color: #fff;
}
[data-theme="light"] #nx-sidebar {
	background: linear-gradient(180deg, #fdf0cc 0%, #fff8e8 50%, #f5ecd0 100%);
	background-attachment: local; /* tile the gradient if content is very long */
	border-right: 1px solid var(--border-gold);
	min-height: 100%; /* fill the stretched flex column */
}
[data-theme="light"] #sidebar-canvas { opacity: 0.6; }
[data-theme="light"] .nx-menu-header {
	color: #7a5500;
	border-bottom-color: #c9a227;
	background: linear-gradient(90deg, rgba(201,162,39,0.18) 0%, transparent 100%);
	text-shadow: 0 1px 2px rgba(201,162,39,0.2);
}
[data-theme="light"] .nx-menu-list li a { color: #4a3510; }
[data-theme="light"] .nx-menu-list li a:hover {
	background: rgba(201,162,39,0.15);
	color: #7a5500;
	border-left-color: #9a720d;
}
[data-theme="light"] #nx-content {
	background: linear-gradient(160deg, #fffdf5 0%, #fdf7e8 40%, #faf2d8 100%) !important;
	border-color: #d4b86a !important;
	box-shadow: inset 0 1px 8px rgba(201,162,39,0.07), 0 2px 12px rgba(180,140,20,0.06) !important;
	border-top: 3px solid #c9a227 !important;
}
[data-theme="light"] #nx-content-wrap {
	background: linear-gradient(180deg, #f5edd8 0%, #faf5e4 100%);
}
[data-theme="light"] #nx-loginbox {
	background: var(--bg3);
	border-color: var(--border-gold);
	color: var(--text-dim);
}
[data-theme="light"] #nx-footer {
	background: #fdf5dc;
	border-top-color: var(--border-gold);
	color: #a08040;
}
[data-theme="light"] a { color: #7a5500 !important; }
[data-theme="light"] a:hover { color: #9a720d !important; }
[data-theme="light"] h2 { color: #7a5500 !important; }
[data-theme="light"] h3 { color: #9a720d !important; border-bottom-color: var(--border-gold) !important; }
[data-theme="light"] .horizontal-table th,
[data-theme="light"] .vertical-table th,
[data-theme="light"] .generic-form-table th {
	background: linear-gradient(90deg, #f0d98a 0%, #e8c84a 100%) !important;
	color: #5a3e00 !important;
	border-color: #c9a227 !important;
	text-shadow: 0 1px 0 rgba(255,255,200,0.4) !important;
}
[data-theme="light"] .horizontal-table td,
[data-theme="light"] .vertical-table td,
[data-theme="light"] .generic-form-table td {
	background-color: #fffbf0 !important;
	color: #3a2e10 !important;
	border-color: #e0cfa0 !important;
}
[data-theme="light"] .horizontal-table tr:nth-child(even) td { background-color: #fdf3d0 !important; }
[data-theme="light"] .horizontal-table tr:nth-child(odd) td  { background-color: #fffbf0 !important; }
[data-theme="light"] .vertical-table tr:nth-child(even) td   { background-color: #fdf3d0 !important; }
[data-theme="light"] .vertical-table tr:nth-child(odd) td    { background-color: #fffbf0 !important; }
/* odds/horizontal tables — hover row highlight */
[data-theme="light"] .horizontal-table tr:hover td,
[data-theme="light"] .vertical-table tr:hover td {
	background-color: #f5e5a0 !important;
	transition: background 0.15s;
}
[data-theme="light"] .message { background-color: #9a720d !important; color: #fff !important; }
[data-theme="light"] .notice  { background-color: #fdf5dc !important; border-color: #9a720d !important; color: #3a2e10 !important; }
[data-theme="light"] #server_status th, [data-theme="light"] #server_status td {
	background-color: #fffbf0 !important;
	color: #3a2e10 !important;
	border-color: #e0cfa0 !important;
}
[data-theme="light"] #server_status tr:nth-child(even) td { background-color: #fdf3d0 !important; }
/* generic-form-div / form wrappers */
[data-theme="light"] .generic-form,
[data-theme="light"] .generic-form-div {
	background: linear-gradient(160deg, #fffdf5 0%, #fdf7e4 100%) !important;
	border-color: #d4b86a !important;
}
/* note / info boxes */
[data-theme="light"] .note      { background-color: #fef8e0 !important; color: #6a5010 !important; border-color: #d4b050 !important; }
[data-theme="light"] .info-text { background-color: #fdf7e4 !important; border-color: #d4b86a !important; color: #5a4010 !important; }
/* shop table */
[data-theme="light"] .shop-table td { background-color: #fffbf0 !important; border-color: #e0cfa0 !important; color: #3a2e10 !important; }
[data-theme="light"] .shop-item-name { color: #7a5500 !important; border-bottom-color: #d4b050 !important; }
/* woe table */
[data-theme="light"] .woe-table { background-color: #fffbf0 !important; border-color: #e0cfa0 !important; }
[data-theme="light"] .woe-table th { background: linear-gradient(90deg, #f0d98a 0%, #e8c84a 100%) !important; color: #5a3e00 !important; border-color: #c9a227 !important; }
[data-theme="light"] .woe-table td { background-color: #fffbf0 !important; color: #3a2e10 !important; }
[data-theme="light"] .woe-table tr:nth-child(even) td { background-color: #fdf3d0 !important; }
/* raw log / request / script */
[data-theme="light"] .raw-txn-log { background-color: #fdf7e4 !important; border-color: #d4b86a !important; color: #3a2e10 !important; }
[data-theme="light"] .request, [data-theme="light"] .fs-path { background-color: #fdf7e4 !important; border-color: #d4b86a !important; color: #3a2e10 !important; }
[data-theme="light"] .script-line-num { background-color: #f0d98a !important; border-right-color: #c9a227 !important; color: #7a5500 !important; }
/* top ranked */
[data-theme="light"] .top-ranked td { background-color: #fef0b0 !important; }
[data-theme="light"] .top-ranked a  { color: #7a5500 !important; }
/* item rows */
[data-theme="light"] .equipped td      { background-color: #eef8f0 !important; }
[data-theme="light"] .item-drop-mvp td { background-color: #f8eef8 !important; }
[data-theme="light"] .item-drop-card td{ background-color: #eef4e8 !important; }
/* cart */
[data-theme="light"] .cart-items-text { background-color: #fdf7e4 !important; border-color: #c9a227 !important; color: #5a4010 !important; }
/* credit balance */
[data-theme="light"] .credit-balance { background: linear-gradient(135deg, #fdf0b8 0%, #f5e090 100%) !important; border-color: #c9a227 !important; color: #5a3e00 !important; }
/* install table */
[data-theme="light"] .install_table th { background: linear-gradient(90deg, #f0d98a 0%, #e8c84a 100%) !important; border-color: #c9a227 !important; color: #5a3e00 !important; }
[data-theme="light"] .install_table td { background-color: #fffbf0 !important; border-color: #e0cfa0 !important; color: #3a2e10 !important; }
/* inputs / selects in light mode */
[data-theme="light"] input[type=text], [data-theme="light"] input[type=password],
[data-theme="light"] input[type=file], [data-theme="light"] textarea {
	background-color: #fffdf5 !important;
	border-color: #c9a227 !important;
	color: #3a2e10 !important;
}
[data-theme="light"] select { background-color: #fffdf5 !important; border-color: #c9a227 !important; color: #3a2e10 !important; }
[data-theme="light"] select option { background-color: #fffdf5; color: #3a2e10; }
[data-theme="light"] #pagemenu { background-color: transparent !important; border-color: #e0d5b8 !important; }
[data-theme="light"] #pagemenu a { color: #7a6a40 !important; }
[data-theme="light"] #pagemenu a:hover { color: #7a5500 !important; }
[data-theme="light"] .sortable { color: #9a720d !important; }
[data-theme="light"] .sortable:hover { color: #7a5500 !important; }
[data-theme="light"] .nx-menu-admin .nx-menu-header {
	color: #6040a0;
	border-bottom-color: #9070cc;
	background: linear-gradient(90deg, rgba(120,60,180,0.08) 0%, transparent 100%);
}



html, body {
	margin: 0; padding: 0;
	background: var(--bg);
	color: var(--text);
	font-family: 'Open Sans', 'Lucida Grande', Verdana, sans-serif;
	font-size: 12pt;
	min-height: 100vh;
}

a { color: var(--gold); text-decoration: none; }
a:hover { color: var(--gold-light); }
a img { border: 0; }

h2 { color: var(--gold-light); letter-spacing: -0.5px; }
h3 {
	font-weight: 600;
	font-size: 125%;
	color: var(--gold);
	border-bottom: 1px solid var(--border-gold);
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* ── Header ───────────────────────────────────────────── */
#nx-header {
	position: relative;
	width: 100%;
	background: linear-gradient(135deg, #0a0800 0%, #1a1200 40%, #0e0c00 100%);
	border-bottom: 2px solid var(--gold-dark);
	overflow: visible;
}

#header-canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: 0.55;
	clip-path: inset(0);
}

#nx-header-glow {
	position: absolute;
	top: -60px; left: 50%;
	transform: translateX(-50%);
	width: 600px; height: 160px;
	background: radial-gradient(ellipse at center, rgba(201,162,39,0.18) 0%, transparent 70%);
	pointer-events: none;
}

#nx-header-inner {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px 30px;
	z-index: 1;
}

/* Left: logo + tagline */
#nx-header-logo {
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;;
}

#nx-logo-text {
	font-family: 'Cinzel', serif;
	font-size: calc(var(--header-size) * 0.26);
	font-weight: 700;
	color: var(--gold);
	text-shadow: 0 0 24px rgba(201,162,39,0.5), 0 2px 4px #000;
	letter-spacing: 3px;
}

#nx-header-tagline {
	font-size: calc(var(--header-size) * 0.075);
	color: var(--text-dim);
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-top: 2px;
}

#nx-header-center-img {
	position: relative;
	z-index: 10;
	pointer-events: none;
}

#nx-banner-img {
    height: var(--header-size);
    width: auto;
    display: block;
}

/* Top-right header controls */
#nx-header-controls {
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 5px;
	z-index: 10;
}

/* Points row shown below account name in header */
.nx-header-points {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: calc(var(--header-size) * 0.088);
	font-family: 'Open Sans', sans-serif;
	background: rgba(0,0,0,0.30);
	border: 1px solid var(--border-gold);
	border-radius: 20px;
	padding: calc(var(--header-size) * 0.022) calc(var(--header-size) * 0.07);
}
.nx-header-points-label { color: var(--gold-dark); letter-spacing: 0.3px; }
.nx-header-points-value { color: var(--gold-light); font-weight: 600; }
[data-theme="light"] .nx-header-points-label { color: #7a5500; }
[data-theme="light"] .nx-header-points-value { color: #4a3200; }

.nx-header-account {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: calc(var(--header-size) * 0.1);
	font-family: 'Open Sans', sans-serif;
	background: rgba(0,0,0,0.35);
	border: 1px solid var(--border-gold);
	border-radius: 20px;
	padding: calc(var(--header-size) * 0.026) calc(var(--header-size) * 0.078);
}
.nx-header-account a {
	color: var(--gold) !important;
	letter-spacing: 0.5px;
}
.nx-header-account a:hover { color: var(--gold-light) !important; }
.nx-header-sep { color: var(--border-gold); font-size: 9pt; }

/* ── Theme Toggle Button ──────────────────────────────── */
#nx-theme-toggle {
	background: rgba(201,162,39,0.12);
	border: 1px solid var(--gold-dark);
	color: var(--gold);
	font-size: calc(var(--header-size) * 0.1);
	letter-spacing: 1px;
	padding: calc(var(--header-size) * 0.026) calc(var(--header-size) * 0.078);
	border-radius: 20px;
	cursor: pointer;
	font-family: 'Open Sans', sans-serif;
	transition: background 0.2s, color 0.2s;
}
#nx-theme-toggle:hover {
	background: var(--gold-dark);
	color: #fff;
}

/* ── NexusRO shared UI components ────────────────────── */

/* Button links — replaces hardcoded blue .button */
a.nx-btn, .nx-btn {
	display: inline-block;
	padding: 4px 14px;
	background: linear-gradient(135deg, var(--gold-dark) 0%, var(--gold) 100%);
	color: #0e0c09 !important;
	text-decoration: none;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 600;
	font-family: 'Open Sans', sans-serif;
	letter-spacing: 0.5px;
	border: 1px solid var(--gold-dark);
	transition: background 0.2s, box-shadow 0.2s;
	box-shadow: 0 1px 4px rgba(0,0,0,0.25);
}
a.nx-btn:hover, .nx-btn:hover {
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 100%) !important;
	color: #0a0800 !important;
	box-shadow: 0 2px 8px rgba(201,162,39,0.4);
}

/* Count/multiplier badge — replaces hardcoded blue span */
.nx-badge {
	display: inline-block;
	background: linear-gradient(135deg, var(--gold-dark) 0%, var(--gold) 100%);
	color: #0e0c09;
	padding: 1px 8px;
	border-radius: 3px;
	font-weight: bold;
	font-size: 11px;
	border: 1px solid var(--gold-dark);
}

/* Percentage chance value */
.nx-chance {
	color: var(--gold-light) !important;
	font-size: 14px;
}

/* Muted/secondary text */
.nx-dim {
	color: var(--text-dim) !important;
}

/* Section box (e.g. "items that trigger this group") */
.nx-section-box {
	padding: 14px 18px;
	margin: 16px 0;
	background: var(--bg3);
	border: 1px solid var(--border-gold);
	border-radius: 3px;
}

/* Light mode adjustments for components */
[data-theme="light"] a.nx-btn,
[data-theme="light"] .nx-btn {
	background: linear-gradient(135deg, #c9a227 0%, #e8c84a 100%);
	color: #3a2200 !important;
	border-color: #9a720d;
	box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}
[data-theme="light"] a.nx-btn:hover,
[data-theme="light"] .nx-btn:hover {
	background: linear-gradient(135deg, #e8c84a 0%, #f5dc70 100%) !important;
	color: #3a2200 !important;
	box-shadow: 0 2px 8px rgba(201,162,39,0.35);
}
[data-theme="light"] .nx-badge {
	background: linear-gradient(135deg, #c9a227 0%, #e8c84a 100%);
	color: #3a2200;
	border-color: #9a720d;
}
[data-theme="light"] .nx-chance { color: #7a5500 !important; }
[data-theme="light"] .nx-section-box {
	background: #fdf7e4;
	border-color: #c9a227;
}


#nx-layout {
	display: flex;
	align-items: stretch; /* was flex-start — now stretches sidebar to content height */
	min-height: calc(100vh - 90px);
}

/* ── Sidebar full-height fix ──────────────────────────── */
#nx-sidebar {
	position: relative;
	width: var(--sidebar-w);
	min-width: var(--sidebar-w);
	min-height: 100vh;
	background: linear-gradient(180deg, #100d06 0%, #0a0800 100%);
	border-right: 1px solid var(--border-gold);
	overflow: hidden;
	flex-shrink: 0;
	align-self: stretch; /* stretch to full layout height */
}

#sidebar-canvas {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	pointer-events: none;
	opacity: 0.6;
}

#nx-sidebar-inner {
	position: relative;
	z-index: 1;
	padding: 10px 0 20px;
}

/* Menu blocks */
.nx-menu-block {
	margin-bottom: 4px;
}

.nx-menu-header {
	padding: 10px 14px 6px;
	font-family: 'Cinzel', serif;
	font-size: 8pt;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--gold);
	border-bottom: 1px solid var(--border-gold);
	background: linear-gradient(90deg, rgba(201,162,39,0.08) 0%, transparent 100%);
}

.nx-menu-category-label {
	padding: 4px 14px 2px;
	font-size: 7.5pt;
	color: var(--text-dim);
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* Menu admin block */
.nx-menu-admin .nx-menu-header {
	color: #c0a0e0;
	border-bottom-color: #3a2858;
	background: linear-gradient(90deg, rgba(120,60,180,0.10) 0%, transparent 100%);
}

.nx-menu-admin .nx-menu-header img.nx-menu-icon {
	width: 16px; height: 16px;
	vertical-align: middle;
	margin-right: 6px;
	opacity: 0.8;
}

/* Menu list */
.nx-menu-list {
	list-style: none;
	margin: 0; padding: 0;
}

.nx-menu-list li { margin: 0; padding: 0; }

.nx-menu-list li a {
	display: block;
	padding: 5px 14px 5px 20px;
	color: var(--text);
	font-size: 8.5pt;
	border-left: 2px solid transparent;
	transition: background 0.15s, color 0.15s, border-color 0.15s, padding-left 0.15s;
}

.nx-menu-list li a:hover {
	background: rgba(201,162,39,0.08);
	color: var(--gold-light);
	border-left-color: var(--gold);
	padding-left: 24px;
}

/* ── Content area ─────────────────────────────────────── */
#nx-content-wrap {
	flex: 1;
	padding: 18px 24px;
	min-width: 0;
}

#nx-content {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 4px;
	padding: 18px 22px;
	color: var(--text);
	min-height: 400px;
}

/* ── Login box ────────────────────────────────────────── */
#nx-loginbox {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 14px;
	padding: 8px 14px;
	background: var(--bg3);
	border: 1px solid var(--border-gold);
	border-radius: 3px;
	font-size: 8.5pt;
	color: var(--text-dim);
}

#nx-loginbox strong a { color: var(--gold); }
#nx-loginbox strong a:hover { color: var(--gold-light); }

.nx-server-select select {
	background: #1a1408;
	border: 1px solid var(--border-gold);
	color: var(--gold);
	padding: 1px 4px;
}

.nx-loginbox-admin {
	font-size: 8pt;
	color: var(--text-dim);
}
.nx-loginbox-admin a { color: #c0a0e0; }

/* ── Footer ───────────────────────────────────────────── */
#nx-footer {
	text-align: center;
	padding: 12px;
	font-size: 7.5pt;
	color: var(--text-dim);
	border-top: 1px solid var(--border-gold);
	background: var(--bg);
	letter-spacing: 1px;
}

/* ── Override original flux.css colours to match theme ── */
.message {
	background-color: var(--gold-dark);
	color: #fff;
}

.notice {
	background-color: #0e1820;
	border-color: var(--gold-dark);
	color: var(--text);
}

.horizontal-table th {
	background-color: #1e1810;
	color: var(--gold);
	border-color: var(--border-gold);
}
.horizontal-table td {
	background-color: var(--bg2);
	color: var(--text);
	border-color: var(--border);
}

.vertical-table th {
	background-color: #1e1810;
	color: var(--gold);
	border-color: var(--border-gold);
}
.vertical-table td {
	background-color: var(--bg2);
	color: var(--text);
	border-color: var(--border);
}

#server_status {
	background-color: var(--bg2);
	border-color: var(--border);
}
#server_status th, #server_status td {
	border-bottom-color: var(--border);
	color: var(--text);
	background-color: var(--bg2);
}

input[type=text], input[type=password], input[type=file], input[type=number], textarea {
	background-color: var(--bg2) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

.submit_button {
	background-color: var(--bg3);
	border-color: var(--border-gold);
	color: var(--gold);
}
.submit_button:hover {
	background-color: var(--gold-dark);
	border-color: var(--gold);
	color: #fff;
}

.pages .page-prev, .pages .page-next { color: var(--gold); }
.pages { border-top-color: var(--border); color: var(--text-dim); }

#submenu { color: var(--text-dim); }
#pagemenu { border-color: var(--border); color: var(--text-dim); }
#pagemenu a { color: var(--text-dim); }
#pagemenu a:hover { color: var(--gold); }

.top-ranked td { background-color: #1e1800 !important; }
.top-ranked a { color: var(--gold); }

.credit-balance {
	background-color: var(--bg3);
	border-color: var(--border-gold);
	color: var(--text);
}

/* ── Global white background overrides ───────────────────── */

/* Nuke ALL hardcoded #000 / #444 / #555 black colors from flux.css */
body { background-color: var(--bg) !important; color: var(--text) !important; }
p { color: inherit !important; }
td, th { background-color: transparent; color: inherit; }
table { color: var(--text); }
td p, th p { color: inherit !important; }
.generic-form-table td p  { color: var(--text) !important; }
.important                { color: var(--gold-light) !important; }
.online                   { color: var(--text) !important; }
.offline                  { color: var(--text-dim) !important; }
.character-stats .stat-value { color: var(--gold-light) !important; }
.character-stats .stat-name  { color: var(--text-dim) !important; }
.credit-balance           { color: var(--text) !important; }
.cost                     { color: var(--gold-light) !important; }
.qty                      { color: var(--text) !important; }
.shop-table               { color: var(--text) !important; }
.cart-item-count          { color: var(--gold-light) !important; }
.cart-sub-total           { color: var(--text) !important; }
.checkout-text a:hover    { color: var(--gold-light) !important; }
.donation-amount          { color: var(--gold-light) !important; }
.remaining-balance        { color: var(--text) !important; }
.exchange-rate            { color: var(--gold-light) !important; }
.pages .current-page      { color: var(--gold-light) !important; }
.sortable                 { color: var(--gold) !important; }
.sortable:hover           { color: var(--gold-light) !important; }
h2                        { color: var(--gold-light) !important; }
h3                        { color: var(--gold) !important; border-bottom-color: var(--border-gold) !important; }
a                         { color: var(--gold) !important; }
a:hover                   { color: var(--gold-light) !important; }

/* Horizontal table — rows alternate dark */
.horizontal-table tr:nth-child(even) td { background-color: #181408; }
.horizontal-table tr:nth-child(odd) td  { background-color: var(--bg2); }
.horizontal-table th {
	background-color: #1e1810 !important;
	color: var(--gold) !important;
	border-color: var(--border-gold) !important;
}
.horizontal-table td {
	background-color: var(--bg2) !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}

/* Vertical table */
.vertical-table th {
	background-color: #1e1810 !important;
	color: var(--gold) !important;
	border-color: var(--border-gold) !important;
}
.vertical-table td {
	background-color: var(--bg2) !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}

/* Generic form table — the register/login/edit forms */
.generic-form, .generic-form-div {
	background-color: var(--bg2) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}
.generic-form-table th {
	background-color: #1e1810 !important;
	color: var(--gold) !important;
	border-color: var(--border-gold) !important;
	text-align: right;
}
.generic-form-table td {
	background-color: var(--bg2) !important;
	color: var(--text) !important;
	border-color: var(--border) !important;
}
.generic-form-table td p { color: var(--text); }
.generic-form-table th label { color: var(--gold); }

/* Install table */
.install_table th { background-color: #1e1810 !important; border-color: var(--border-gold) !important; color: var(--gold) !important; }
.install_table td { background-color: var(--bg2) !important; border-color: var(--border) !important; color: var(--text) !important; }

/* Server status */
#server_status { background-color: var(--bg2) !important; border-color: var(--border) !important; }
#server_status th, #server_status td {
	background-color: var(--bg2) !important;
	border-bottom-color: var(--border) !important;
	color: var(--text) !important;
}

/* Shop */
.shop-table td { background-color: var(--bg2) !important; border-color: var(--border) !important; color: var(--text) !important; }
.shop-item-name { color: var(--gold-light) !important; border-bottom-color: var(--border) !important; }

/* WoE table */
.woe-table { background-color: var(--bg2) !important; border-color: var(--border) !important; }
.woe-table th { border-bottom-color: var(--border) !important; color: var(--text-dim) !important; background-color: #1e1810 !important; }
.woe-table td { color: var(--text) !important; background-color: var(--bg2) !important; }

/* Note, info-text */
.note { background-color: #1a1508 !important; color: var(--text-dim) !important; }
.info-text { background-color: var(--bg2) !important; border-color: var(--border) !important; color: var(--text-dim) !important; }

/* Raw txn log */
.raw-txn-log { background-color: var(--bg2) !important; border-color: var(--border) !important; color: var(--text) !important; }

/* Request / fs-path */
.request, .fs-path { background-color: var(--bg2) !important; border-color: var(--border) !important; color: var(--text) !important; }

/* Script display */
.script-line-num { background-color: #1e1810 !important; border-right-color: var(--border) !important; color: var(--text-dim) !important; }

/* Item rows */
.equipped td        { background-color: #0e1a1a !important; }
.item-drop-mvp td   { background-color: #100e1a !important; }
.item-drop-card td  { background-color: #0e1810 !important; }
.top-ranked td      { background-color: #1a1600 !important; color: var(--gold-light) !important; }
.top-ranked a       { color: var(--gold) !important; }

/* Cart */
.cart-items-text { background-color: #1a1408 !important; border-color: var(--border-gold) !important; color: var(--text-dim) !important; }

/* Credit balance */
.credit-balance { background-color: var(--bg3) !important; border-color: var(--border-gold) !important; color: var(--text) !important; }
.credit-balance .balance-text { color: var(--text-dim) !important; }

/* Buttons and selects */
input[type=submit], input[type=button], input[type=reset], button {
	background-color: var(--bg3) !important;
	border: 1px solid var(--border-gold) !important;
	color: var(--gold) !important;
	cursor: pointer;
}
input[type=submit]:hover, input[type=button]:hover, button:hover {
	background-color: var(--gold-dark) !important;
	color: #fff !important;
}
select {
	background-color: #1a1408 !important;
	border: 1px solid var(--border-gold) !important;
	color: var(--text) !important;
}
select option { background-color: #1a1408; color: var(--text); }

/* Inputs */
input[type=text], input[type=password], input[type=file], input[type=number], textarea {
	background-color: var(--bg2) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

/* Pages / pagination */
.pages { border-top-color: var(--border) !important; color: var(--text-dim) !important; }
.pages .page-prev, .pages .page-next { color: var(--gold) !important; }
.pages .current-page { color: var(--gold-light) !important; }

/* Submenu / pagemenu */
#submenu { color: var(--text-dim) !important; }
#pagemenu { border-color: var(--border) !important; color: var(--text-dim) !important; background-color: transparent !important; }
#pagemenu a { color: var(--text-dim) !important; }
#pagemenu a:hover { color: var(--gold) !important; }

/* Search form */
.search-form, .search-form2 { border-top-color: var(--border) !important; }
.search-form p, .search-form2 p { color: var(--text-dim) !important; }
.search-form label, .search-form2 label { color: var(--text) !important; }
.search-form input[type=text],  .search-form2 input[type=text],
.search-form input[type=number],.search-form2 input[type=number] {
	background-color: var(--bg2) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}
.search-form select, .search-form2 select {
	background-color: var(--bg2) !important;
	border-color: var(--border) !important;
	color: var(--text) !important;
}

/* Active filter highlight — works in both dark and light mode */
.search-form input.active-filter,  .search-form2 input.active-filter,
.search-form select.active-filter, .search-form2 select.active-filter {
	border-color: var(--gold) !important;
	background-color: rgba(201,162,39,0.08) !important;
	box-shadow: 0 0 0 1px rgba(201,162,39,0.30), 0 0 4px rgba(201,162,39,0.14) !important;
	transition: box-shadow 0.2s, border-color 0.2s, background-color 0.2s;
}
.search-form label.active-filter,  .search-form2 label.active-filter {
	color: var(--gold) !important;
	font-weight: 700 !important;
}
[data-theme="light"] .search-form input.active-filter,
[data-theme="light"] .search-form2 input.active-filter,
[data-theme="light"] .search-form select.active-filter,
[data-theme="light"] .search-form2 select.active-filter {
	border-color: #9a720d !important;
	background-color: #fef3cd !important;
	box-shadow: 0 0 0 1px rgba(154,114,13,0.35), 0 0 5px rgba(201,162,39,0.18) !important;
}
[data-theme="light"] .search-form label.active-filter,
[data-theme="light"] .search-form2 label.active-filter {
	color: #7a5500 !important;
}

/* Messages */
.message { background-color: var(--gold-dark) !important; color: #fff !important; }
.notice  { background-color: #0e1820 !important; border-color: var(--gold-dark) !important; color: var(--text) !important; }
.red     { background-color: #4a0000 !important; }
.green   { background-color: #003a00 !important; }

/* h2/h3 */
h2 { color: var(--gold-light) !important; }
h3 { color: var(--gold) !important; border-bottom-color: var(--border-gold) !important; }

/* Links */
a { color: var(--gold) !important; }
a:hover { color: var(--gold-light) !important; }

/* Sortable links in tables */
.sortable { color: var(--gold) !important; }
.sortable:hover { color: var(--gold-light) !important; }

/* Action links */
.action a, .action span.anchor { color: var(--gold) !important; border-bottom-color: var(--border) !important; }
.block-link { color: var(--gold) !important; border-bottom-color: var(--border) !important; }

/* Keyword */
.keyword { color: var(--gold-light) !important; }

/* Online/offline */
.online  { color: var(--text) !important; }
.offline { color: var(--text-dim) !important; }

/* Character stats */
.character-stats td { background-color: transparent !important; }
.character-stats .stat-value { color: var(--gold-light) !important; }
.character-stats .stat-name  { color: var(--text-dim) !important; }

/* ── Element Weakness color cells — protect inline bg from !important overrides ── */
.elem-cell {
	background-color: unset !important;
	background: var(--elem-bg, rgb(120,113,95)) !important;
	color: var(--elem-color, #fff) !important;
	transition: filter 0.15s;
}
/* Neutralise alternating-row and hover overrides for both dark and light mode */
.vertical-table tr:nth-child(even) td.elem-cell,
.vertical-table tr:nth-child(odd)  td.elem-cell,
[data-theme="light"] .vertical-table td.elem-cell,
[data-theme="light"] .vertical-table tr:nth-child(even) td.elem-cell,
[data-theme="light"] .vertical-table tr:nth-child(odd)  td.elem-cell,
[data-theme="light"] .vertical-table tr:hover td.elem-cell,
.vertical-table tr:hover td.elem-cell {
	background-color: unset !important;
	background: var(--elem-bg, rgb(120,113,95)) !important;
	color: var(--elem-color, #fff) !important;
}

/*==========================================================
  ORIGINAL FLUX.CSS RULES (kept intact below for forms etc.)
==========================================================*/

/* ══════════════════════════════════════════════════════════
   POINTS MARKET
══════════════════════════════════════════════════════════ */
.mkt-desc { margin-bottom: 12px; color: var(--text-dim); }

.mkt-balances {
  display: flex; gap: 24px; margin-bottom: 16px;
  padding: 10px 16px;
  background: rgba(0,0,0,0.18); border: 1px solid var(--border-gold);
  border-radius: 8px; font-size: 0.95em;
}
[data-theme="light"] .mkt-balances { background: rgba(200,160,0,0.08); }

.mkt-layout {
  display: grid;
  grid-template-columns: 300px 2fr 3fr;
  grid-template-rows: auto auto;
  gap: 18px;
}
#mkt-form-panel      { grid-column: 1; grid-row: 1 / 3; }
#mkt-ob-panel        { grid-column: 2; grid-row: 1; }
#mkt-allorders-panel { grid-column: 3; grid-row: 1 / 3; }
#mkt-orders-panel    { grid-column: 2; grid-row: 2; }

.mkt-panel {
  background: var(--panel-bg);
  border: 1px solid var(--border-gold);
  border-radius: 10px;
  padding: 16px 18px;
}
.mkt-panel h3 { margin: 0 0 12px; color: var(--gold); font-size: 1.15rem; }

/* Tabs */
.mkt-tabs { display: flex; gap: 6px; margin-bottom: 14px; }
.mkt-tab {
  flex: 1; padding: 7px; font-size: 0.82em; border-radius: 6px;
  border: 1px solid var(--border-gold); background: transparent;
  color: var(--text-dim); cursor: pointer; transition: background .2s;
}
.mkt-tab.active { background: var(--gold-dark) !important; color: #fff !important; border-color: var(--gold-dark) !important; }
.mkt-tab:hover:not(.active) { background: rgba(201,162,39,0.1); }

/* Order form */
.mkt-order-form label {
  display: block; margin-bottom: 10px; font-size: 0.88em; color: var(--text);
}
.mkt-order-form input[type=number] {
  display: block; width: 100%; margin-top: 4px;
  padding: 7px 10px; border-radius: 5px;
  border: 1px solid var(--border-gold);
  background: var(--input-bg, #111); color: var(--text);
  font-size: 0.95em;
}
.mkt-hint { font-size: 0.78em; color: var(--text-dim); margin: 4px 0 0; }

.mkt-btn {
  width: 100%; padding: 9px; margin-top: 8px; border-radius: 6px;
  border: none; font-size: 0.9em; cursor: pointer; font-weight: 600;
  transition: opacity .2s;
}
.mkt-btn:hover { opacity: 0.82; }
.mkt-btn-bid { background: #00b450; color: #fff; }
.mkt-btn-ask { background: #e05050; color: #fff; }

/* Mode tabs: Limit / Market */
.mkt-mode-tabs { display: flex; gap: 6px; margin-bottom: 14px; }
.mkt-mode-tab {
  flex: 1; padding: 8px 6px; font-size: 0.83em; border-radius: 6px;
  border: 1px solid var(--border-gold); background: transparent;
  color: var(--text-dim); cursor: pointer; transition: background .2s;
}
.mkt-mode-tab.active { background: var(--gold-dark) !important; color: #fff !important; border-color: var(--gold-dark) !important; }
.mkt-mode-tab:hover:not(.active) { background: rgba(201,162,39,0.1); }

/* Price mode sub-tabs (inside sell section) */
.mkt-price-tab {
  flex: 1; padding: 8px 6px; font-size: 0.83em; border-radius: 6px;
  border: 1px solid var(--border-gold); background: transparent;
  color: var(--text-dim); cursor: pointer; transition: background .2s;
}
.mkt-price-tab.active { background: var(--gold-dark) !important; color: #fff !important; border-color: var(--gold-dark) !important; }
.mkt-price-tab:hover:not(.active) { background: rgba(201,162,39,0.1); }

/* Market order — live price display */
.mkt-market-prices {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 12px; margin-bottom: 14px;
  background: rgba(0,0,0,0.18); border: 1px solid var(--border-gold); border-radius: 8px;
  gap: 8px;
}
[data-theme="light"] .mkt-market-prices { background: rgba(200,160,0,0.07); }
.mkt-market-price-ask, .mkt-market-price-bid, .mkt-market-price-spread {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
}
.mkt-price-label { font-size: 0.72em; color: var(--text-dim); text-transform: uppercase; letter-spacing: 1px; }
.mkt-price-value { font-size: 1.35em; font-weight: 700; line-height: 1; }
.mkt-price-value.ask  { color: rgba(235,85,85,0.95); }
.mkt-price-value.bid  { color: rgba(0,210,95,0.95); }
.mkt-price-unit  { font-size: 0.70em; color: var(--text-dim); }

/* Market order side panels */
.mkt-market-side { margin-bottom: 10px; }
.mkt-market-side-header {
  font-size: 0.88em; font-weight: 600; padding: 6px 0 6px;
  border-bottom: 1px solid var(--border-gold); margin-bottom: 10px;
}
.mkt-market-side-header.bid { color: rgba(0,210,95,0.95); }
.mkt-market-side-header.ask { color: rgba(235,85,85,0.95); }
.mkt-market-divider {
  height: 1px; background: var(--border-gold); margin: 14px 0;
}

/* Order Book panel */
.mkt-orderbook-panel { margin-top: 18px; }
.mkt-orderbook-layout { display: flex; gap: 0; align-items: flex-start; }
.mkt-ob-side { flex: 1; min-width: 0; }
.mkt-ob-spread-col {
  width: 110px; flex-shrink: 0;
  display: flex; align-items: flex-start; justify-content: center; padding-top: 36px;
}
.mkt-ob-spread-box {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 10px 12px; background: rgba(0,0,0,0.15); border: 1px solid var(--border-gold);
  border-radius: 8px; min-width: 90px; text-align: center;
}
[data-theme="light"] .mkt-ob-spread-box { background: rgba(200,160,0,0.07); }
.mkt-ob-spread-label, .mkt-ob-midprice-label { font-size: 0.7em; color: var(--text-dim); text-transform: uppercase; letter-spacing: 1px; }
.mkt-ob-spread-value  { font-size: 1.4em; font-weight: 700; color: var(--gold); line-height: 1.1; }
.mkt-ob-midprice-value{ font-size: 1.1em; font-weight: 700; color: var(--text-dim); line-height: 1.1; margin-top: 6px; }
.mkt-ob-spread-unit   { font-size: 0.68em; color: var(--text-dim); }
.mkt-ob-heading { font-size: 0.9em; font-weight: 600; padding-bottom: 6px; margin-bottom: 4px; border-bottom: 1px solid var(--border-gold); }
.mkt-ob-heading.ask { color: rgba(235,85,85,0.9); }
.mkt-ob-heading.bid { color: rgba(0,210,95,0.9); }
.mkt-ob-table { width: 100%; font-size: 0.87em; }
.mkt-ob-table td, .mkt-ob-table th { padding: 3px 8px !important; }

/* Hover label next to legend */
.mkt-dom-tooltip-label {
  margin-left: auto; font-size: 0.78em; color: var(--text-dim);
  background: rgba(0,0,0,0.18); padding: 2px 8px; border-radius: 4px;
}
[data-theme="light"] .mkt-dom-tooltip-label { background: rgba(0,0,0,0.08); }

/* DOM chart wrapper — fills panel width */
.mkt-dom-wrap { width: 100%; line-height: 0; }
.mkt-dom-wrap canvas { display: block; width: 100%; }

/* DOM legend */
.mkt-dom-legend {
  display: flex; align-items: center; gap: 4px;
  font-size: 0.82em; margin-bottom: 8px; color: var(--text-dim);
}
.dom-ask-dot   { color: rgba(235,85,85,0.95);  font-size: 1.1em; line-height: 1; }
.dom-bid-dot   { color: rgba(0,210,95,0.95);   font-size: 1.1em; line-height: 1; }
.dom-ask-label { color: rgba(235,85,85,0.85); }
.dom-bid-label { color: rgba(0,210,95,0.85); }

/* Cancel button */
.mkt-cancel-btn {
  padding: 3px 9px; border-radius: 4px; border: 1px solid #c05050;
  background: transparent; color: #e05050; cursor: pointer; font-size: 0.8em;
}
.mkt-cancel-btn:hover { background: rgba(200,50,50,0.15); }

.mkt-tip {
  display: inline-flex; align-items: center; justify-content: center;
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--gold-dark); color: #fff;
  font-size: 0.65em; font-weight: 700; font-style: normal;
  cursor: help; vertical-align: middle; margin-left: 3px;
  position: relative; top: -1px;
}

@media (max-width: 900px) {
  .mkt-layout { grid-template-columns: 1fr; }
  #mkt-form-panel, #mkt-ob-panel, #mkt-allorders-panel, #mkt-orders-panel { grid-column: 1; grid-row: auto; }
}
