:root {
  color-scheme: dark;
  /* Exclusively DARK Premium Palette */
  --bg-primary: #08090C;
  --bg-secondary: #0E1015;
  --surface: #14171D;
  --surface-elevated: #1B1F27;
  --surface-glass: rgba(20, 23, 29, 0.86);
  --border: #272C35;
  --border-subtle: rgba(255, 255, 255, 0.06);

  --text-primary: #F4F5F7;
  --text-secondary: #9299A5;
  --text-muted: #656D7A;

  --green: #20C997;
  --green-soft: rgba(32, 201, 151, 0.14);
  --red: #FF5C70;
  --red-soft: rgba(255, 92, 112, 0.14);
  --blue: #648CFF;
  --blue-soft: rgba(100, 140, 255, 0.15);
  --amber: #F5A623;
  --amber-soft: rgba(245, 166, 35, 0.15);

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --shadow-card: 0 10px 30px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --shadow-modal: 0 24px 60px rgba(0, 0, 0, 0.65);

  --sidebar-width: 248px;
  --topbar-height: 62px;
  --bottom-nav-height: 64px;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  background-color: var(--bg-primary);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

.tabular {
  font-variant-numeric: tabular-nums;
}

.hidden {
  display: none !important;
}

body.privacy-active .money-value,
body.privacy-active .sensitive {
  filter: blur(7px);
  user-select: none;
  transition: filter 0.18s ease;
}

body.density-compact .card {
  padding: 14px;
}

body.density-compact .data-table td,
body.density-compact .data-table th {
  padding: 8px 10px;
}

/* Custom dark scrollbar */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}
::-webkit-scrollbar-track {
  background: var(--bg-primary);
}
::-webkit-scrollbar-thumb {
  background: var(--border);
  border-radius: 99px;
}
