/* PBO Invest — Base Design Tokens
   Reset, variables, typography, theme surfaces, utilities
   Bloomberg density + Apple refinement */

/* ===================== RESET ===================== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

/* Kill scrollbars globally — content should fit or scroll invisibly */
::-webkit-scrollbar { width: 0; height: 0; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: transparent; }
* { scrollbar-width: none; }

/* ===================== TOKENS ===================== */
:root {
  /* Traders Room theme */
  --tr-bg: #171B1A;
  --tr-bg-secondary: #1C2120;

  /* CRM theme (darker) */
  --crm-bg: #0D0F0E;
  --crm-bg-secondary: #121514;
  --crm-bg-card: #161A19;
  --crm-bg-hover: #1C201F;

  /* Website / Handbook theme (warm light) */
  --light-bg: #F4F6F4;
  --light-surface: #F8FAF8;
  --lightest: #FCFDFC;
  --off-white: #E8EBE9;

  /* Shared surfaces */
  --bg-card: #1E2423;
  --bg-hover: #242A29;
  --bg-input: #1A1F1E;

  /* Borders */
  --border: #2A2F2E;
  --border-light: #333938;

  /* Text */
  --text-primary: #E8ECE9;
  --text-secondary: #8A9490;
  --text-muted: #5C6662;

  /* Light theme text */
  --text-dark: #1A1F1E;
  --text-dark-secondary: #4A524E;
  --text-dark-muted: #6B7370;

  /* Brand colours */
  --green: #00C853;
  --green-dim: rgba(0, 200, 83, 0.12);
  --green-bg: rgba(0, 200, 83, 0.08);
  --red: #E53935;
  --red-dim: rgba(229, 57, 53, 0.12);
  --red-bg: rgba(229, 57, 53, 0.08);
  --gold: #C9A84C;
  --gold-dim: rgba(201, 168, 76, 0.12);
  --blue: #2196F3;
  --blue-dim: rgba(33, 150, 243, 0.12);
  --purple: #9C27B0;
  --purple-dim: rgba(156, 39, 176, 0.12);

  /* Brand greens (palette) */
  --green-900: #1A3C34;
  --green-700: #245E4A;
  --green-500: #2E7D5E;
  --green-300: #4CA882;

  /* Wine */
  --wine-700: #6B1D34;
  --wine-300: #B84D6A;

  /* Typography */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;

  /* Spacing */
  --radius: 4px;
}

/* ===================== BASE ===================== */
body {
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: 13px;
  line-height: 1.5;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Theme backgrounds */
body.theme-tr { background: var(--tr-bg); }
body.theme-crm { background: var(--crm-bg); }
body.theme-light {
  background: var(--light-bg);
  color: var(--text-dark);
}

a { color: inherit; text-decoration: none; }

/* ===================== UTILITIES ===================== */
.text-green { color: var(--green); }
.text-red { color: var(--red); }
.text-gold { color: var(--gold); }
.text-muted { color: var(--text-muted); }
.text-mono { font-family: var(--font-mono); }

.positive { color: var(--green); }
.negative { color: var(--red); }
