/* Bexuvra design tokens — single source for colour, type, spacing, radius, elevation and motion.
   Dark navy only: the product has one theme (owner decision). */
:root {
  color-scheme: dark;

  /* Ground */
  --bx-bg: #060D20;
  --bx-bg-2: #0A1430;
  --bx-glow: #13265A;               /* radial light behind the mark / hero */
  --bx-nav: #0C1630;

  /* Surfaces (glass) */
  --bx-surface: rgba(18, 30, 62, .62);
  --bx-surface-solid: #121E3E;       /* fallback when backdrop-filter is unavailable */
  --bx-surface-2: rgba(18, 30, 62, .45);
  --bx-surface-inset: rgba(0, 0, 0, .22);
  --bx-field: rgba(6, 13, 32, .6);
  --bx-border: rgba(150, 175, 230, .16);
  --bx-border-strong: rgba(150, 175, 230, .26);
  --bx-blur: 22px;

  /* Text */
  --bx-text: #EAF0FB;
  --bx-text-2: #C9D5EE;
  --bx-muted: #A3B1CF;
  --bx-subtle: #8E9CBB;

  /* Brand & action */
  --bx-primary: #3D6BF5;
  --bx-primary-hover: #5580FF;
  --bx-primary-press: #2F56C9;
  --bx-primary-soft: rgba(61, 107, 245, .18);
  --bx-primary-line: rgba(85, 128, 255, .5);
  --bx-link: #8FB0FF;
  --bx-link-hover: #C3D4FF;
  --bx-focus: #C3D4FF;
  --bx-gold: #D8B56A;
  --bx-gold-text: #E8C987;
  --bx-gold-soft: rgba(216, 181, 106, .14);
  --bx-gold-line: rgba(216, 181, 106, .35);

  /* Status — text colours pass 4.5:1 on --bx-surface-solid */
  --bx-good: #4FD1A5;
  --bx-good-text: #7FE0BC;
  --bx-good-soft: rgba(79, 209, 165, .14);
  --bx-bad: #FF8A7A;
  --bx-bad-text: #FFB4A8;
  --bx-bad-soft: rgba(255, 138, 122, .14);
  --bx-bad-fill: #D9584A;
  --bx-good-fill: #1FA67A;

  /* Data series (chart) */
  --bx-series-1: #4C7BFF;  /* revenue / primary */
  --bx-series-2: #D8B56A;  /* cost / secondary */
  --bx-series-3: #4FD1A5;
  --bx-series-4: #BC9DFF;
  --bx-series-neg: #E89A8C;

  /* Type */
  --bx-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --bx-font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --bx-fs-11: .6875rem;   /* 11 — eyebrow, chips */
  --bx-fs-12: .75rem;     /* 12 — table head, captions */
  --bx-fs-13: .8125rem;   /* 13 — secondary text */
  --bx-fs-14: .875rem;    /* 14 — body, controls */
  --bx-fs-15: .9375rem;
  --bx-fs-16: 1rem;
  --bx-fs-17: 1.0625rem;  /* panel titles */
  --bx-fs-22: 1.375rem;
  --bx-fs-28: 1.75rem;    /* page title */
  --bx-fs-30: 1.875rem;   /* KPI value */
  --bx-fs-46: 2.875rem;   /* auth hero */
  --bx-lh: 1.5;
  --bx-track-tight: -.02em;
  --bx-track-eyebrow: .08em;

  /* Spacing (4px base) */
  --bx-s1: 4px; --bx-s2: 8px; --bx-s3: 12px; --bx-s4: 16px; --bx-s5: 20px;
  --bx-s6: 24px; --bx-s7: 28px; --bx-s8: 32px; --bx-s10: 40px; --bx-s12: 48px; --bx-s16: 64px;

  /* Radius */
  --bx-r-sm: 8px; --bx-r-md: 10px; --bx-r-lg: 12px; --bx-r-xl: 16px; --bx-r-2xl: 18px; --bx-r-3xl: 24px; --bx-r-pill: 999px;

  /* Elevation */
  --bx-shadow-card: 0 30px 80px rgba(0, 0, 0, .4);
  --bx-shadow-mark: drop-shadow(0 24px 40px rgba(0, 0, 0, .5));

  /* Layout */
  --bx-nav-w: 240px;
  --bx-content-max: 1440px;
  --bx-touch: 44px;

  /* Motion — measured from owner videos (screen shift ≈220–260 ms; success ≈1.6 s) */
  --bx-ease-out: cubic-bezier(.2, .8, .2, 1);
  --bx-ease-in-out: cubic-bezier(.55, .15, .45, .85);
  --bx-ease-spring: cubic-bezier(.2, .9, .3, 1.2);
  --bx-dur-fast: 160ms;     /* hover, colour */
  --bx-dur-mode: 220ms;     /* login ↔ signup ↔ confirm swap */
  --bx-dur-screen: 260ms;   /* screen / step change */
  --bx-dur-enter: 600ms;    /* cards rising on first paint */
  --bx-dur-spin: 900ms;     /* pending spinner revolution */
  --bx-dur-orbit: 1400ms;   /* orbit ring around the mark while pending */
  --bx-dur-packet: 1600ms;  /* data packet travel PostgreSQL → Bexuvra */
}
