/* NIBVOK — brand tokens */
:root {
  --background: #06070a;
  --foreground: #f2f4f8;
  --muted: #0d1017;
  --muted-foreground: #8b95a7;
  --card: #0b0e14;
  --border: #1b202b;
  --primary: #1f6fe5;
  --primary-deep: #0d4fbe;
  --accent: #0f1a2e;
  --accent-foreground: #6fa8ff;
  --destructive: #2a0f14;
  --destructive-foreground: #ff5f6d;
  --success: #0c1f18;
  --success-foreground: #3ddc97;
  --warning: #241a08;
  --warning-foreground: #ffb340;
  --chart-1: #1f6fe5;
  --chart-2: #3ddc97;
  --chart-3: #ffb340;
  --chart-4: #ff5f6d;
  --chart-5: #8b95a7;
  --radius: 12px;
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

html.light {
  --background: #ffffff;
  --foreground: #101114;
  --muted: #f5f7fa;
  --muted-foreground: #5c6570;
  --card: #ffffff;
  --border: #e6e8ee;
  --primary: #1f6fe5;
  --primary-deep: #0d4fbe;
  --accent: #eef4ff;
  --accent-foreground: #0d4fbe;
  --destructive: #fff0f1;
  --destructive-foreground: #c62828;
  --success: #eafaf3;
  --success-foreground: #0f8a5f;
  --warning: #fff7e8;
  --warning-foreground: #a35c00;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

.muted { color: var(--muted-foreground); }

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.card-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.table-wrapper { overflow-x: auto; }

.mono { font-family: var(--font-mono); }
