:root {
	/* Dark finance theme tokens */
	--bg:           #0d100e;
	--bg-grad-top:  #16241c;
	--surface:      #141816;
	--surface-2:    #1c211e;
	--surface-3:    #28302b;
	--text:         #f1f5f3;
	--text-dim:     #9aa6a0;
	--text-faint:   #687069;
	--accent:       #22c55e;
	--accent-2:     #4ade80;
	--accent-grad:  linear-gradient(135deg, #16a34a 0%, #34d399 100%);
	--border:       #28302b;
	--danger:       #ef4444;
	--positive:     #34d399;
	--negative:     #f87171;
	--warning:      #fbbf24;
	--info:         #38bdf8;
	--nav-h:        64px;

	/* Map WebAwesome tokens to the dark palette */
	--wa-color-brand-fill-loud: var(--accent);
	--wa-color-surface-default: var(--surface-2);
	color-scheme: dark;
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	background: var(--bg);
	color: var(--text);
	font-family: var(--font-family, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
	-webkit-font-smoothing: antialiased;
	overscroll-behavior-y: none;
}

body {
	background:
		radial-gradient(1200px 480px at 50% -10%, var(--bg-grad-top), transparent 70%),
		var(--bg);
	min-height: 100dvh;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; }
img { display: block; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--surface-3); border-radius: 8px; }
::-webkit-scrollbar-track { background: transparent; }

.muted { color: var(--text-dim); }
.truncate {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
