/* ============================================================
   DESIGN TOKENS — single rebrand point.
   Mirrors lib/Components/AppInfo.dart + lib/theme/app_colors.dart
   Edit ONLY this file to retheme the whole web app.
   ============================================================ */
:root {
  /* Brand (from AppInfo.dart kPrimary/kPrimaryDark/kPrimaryLight/kAccent/kAccentDark) */
  --color-primary: #1a3fe0;
  --color-primary-dark: #1a3fe0;
  --color-primary-light: #1a3fe0;
  --color-accent: #1a3fe0;
  --color-accent-dark: #1a3fe0;

  --gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  --gradient-dark: linear-gradient(135deg, var(--color-primary-dark), var(--color-accent-dark));

  /* Surfaces (app_colors.dart) */
  --color-background: #f1f5f9;
  --color-surface: #ffffff;
  --color-input-fill: #f8fafc;
  --color-icon-bg: #e6fff9;
  --color-icon-bg-alt: #eef2ff;

  /* Text */
  --color-text-primary: #0f172a;
  --color-text-secondary: #64748b;
  --color-text-hint: #94a3b8;
  --color-text-on-primary: #ffffff;

  /* Status */
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-error: #ef4444;

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

  /* Network brand colors (Airtime.dart / BuyDataPage.dart) */
  --net-mtn: #ffcc00;
  --net-airtel: #e30613;
  --net-glo: #4caf50;
  --net-9mobile: #006600;

  /* Typography */
  --font-family: 'Poppins', 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --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_theme.dart: 12/14/16/20) */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 14px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --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 */
  --shadow-sm: 0 2px 6px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 6px 16px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 12px 32px rgba(15, 23, 42, 0.12);

  /* 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: #0a0e27;
}
