/* ============================================================
   DESIGN TOKENS — single rebrand point.
   Mirrors betasub_flutter/lib/core/theme/{app_colors,app_typography,
   app_spacing}.dart exactly - same hex values/radii as the Flutter app,
   so the web app and the mobile app are visually the same brand.
   Edit ONLY this file to retheme the whole web app.
   ============================================================ */
:root {
  /* Brand (app_colors.dart: navy/navyDeep/midnight/gold) */
  --color-primary: #0f2a57;
  --color-primary-dark: #0a1e3f;
  --color-primary-light: #07142b; /* midnight - the wallet gradient's 3rd stop */
  --color-accent: #16a46a;
  --color-accent-dark: #0f8a57;
  --color-gold: #d8a33c; /* the one gold accent - wallet card hairline, bonus highlight */

  --gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  /* WalletCard's walletGradient: [navy, navyDeep, midnight] at stops
     [0, 0.55, 1.0], topLeft->bottomRight. */
  --gradient-dark: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 55%, var(--color-primary-light) 100%);

  /* Surfaces */
  --color-background: #f4f6fb;
  --color-surface: #ffffff;
  --color-input-fill: #fafbfe;
  --color-icon-bg: #fbf2df; /* gold-soft */
  --color-icon-bg-alt: #e4e9f2; /* hairline-tinted */

  /* Text */
  --color-text-primary: #0c1526;
  --color-text-secondary: #5c6b84;
  --color-text-hint: #8d99ae;
  --color-text-on-primary: #ffffff;

  /* Status */
  --color-success: #16a46a;
  --color-warning: #e0a32b;
  --color-error: #e0523f;

  /* Misc */
  --color-divider: #e4e9f2;
  --color-card-shadow: rgba(15, 42, 87, 0.06);

  /* Network brand colors */
  --net-mtn: #d8a33c;
  --net-airtel: #e30613;
  --net-glo: #4caf50;
  --net-9mobile: #006600;

  /* Typography - DM Sans carries the voice, DM Mono (tabular figures)
     carries every number (balances, phone numbers, references). */
  --font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-family-mono: 'DM Mono', ui-monospace, monospace;
  --fs-xs: 0.6875rem;   /* 11px */
  --fs-sm: 0.75rem;     /* 12px */
  --fs-base: 0.8125rem; /* 13px */
  --fs-md: 0.875rem;    /* 14px */
  --fs-lg: 1rem;        /* 16px */
  --fs-xl: 1.125rem;    /* 18px */
  --fs-2xl: 1.375rem;   /* 22px */
  --fs-3xl: 1.75rem;    /* 28px */

  /* Radii (app_spacing.dart's Radii.sm/md/lg/xl: 10/14/20/26) */
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 26px;
  --radius-2xl: 26px;
  --radius-full: 999px;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;

  /* Elevation - BsCard's navy-at-4%-alpha shadow */
  --shadow-sm: 0 2px 6px rgba(15, 42, 87, 0.05);
  --shadow-md: 0 6px 18px rgba(15, 42, 87, 0.04);
  --shadow-lg: 0 16px 32px rgba(7, 20, 43, 0.28);

  /* Layout */
  --header-height: 64px;
  --bottom-nav-height: 64px;
  --sidebar-width: 260px;
  --content-max-width: 1200px;

  /* Motion */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --dur-fast: 150ms;
  --dur-base: 250ms;
  --dur-slow: 400ms;

  --z-header: 100;
  --z-nav: 100;
  --z-modal: 1000;
  --z-toast: 1100;
}

/* Dark surfaces reused across gated screens (splash/pin lock) */
:root {
  --color-gate-start: var(--color-primary-dark);
  --color-gate-end: #07142b;
}
