/* ============================================================================
   tokens.css — Design tokens for AidaPayments (Liquid Glass Edition)
   Colors, blur, shadows, easing, spacing, radii, typography.
   Two themes: dark (default) + light. Both liquid glass.
   ============================================================================ */

:root {
  /* ---- Brand: electric violet ---- */
  --brand-50:  #F1ECFF;
  --brand-100: #E3D9FF;
  --brand-200: #C9B6FF;
  --brand-300: #A78BFA;
  --brand-400: #8B5CF6;
  --brand-500: #7C5CFC;
  --brand-600: #6D3FF0;
  --brand-700: #5A2FD0;
  --brand-glow: rgba(124, 92, 252, 0.55);

  /* ---- Semantic accents ---- */
  --success: #34D399;
  --success-soft: rgba(52, 211, 153, 0.16);
  --danger:  #FB7185;
  --danger-soft: rgba(251, 113, 133, 0.16);
  --warning: #FBBF24;
  --warning-soft: rgba(251, 191, 36, 0.16);
  --info:    #60A5FA;
  --info-soft: rgba(96, 165, 250, 0.16);
  --review:  #FB923C;
  --review-soft: rgba(251, 146, 60, 0.16);

  /* ---- Status palette (badges) ---- */
  --st-completed:  var(--success);
  --st-pending:    var(--warning);
  --st-processing: var(--info);
  --st-review:     var(--review);
  --st-failed:     var(--danger);
  --st-reversed:   #C084FC;

  /* ---- Easing & timing ---- */
  --ease-glass: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --t-fast: 150ms;
  --t-base: 240ms;
  --t-slow: 420ms;

  /* ---- Radii ---- */
  --r-xs: 10px;
  --r-sm: 14px;
  --r-md: 20px;
  --r-lg: 26px;
  --r-xl: 32px;
  --r-full: 999px;

  /* ---- Spacing scale ---- */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 20px;
  --s-6: 24px;
  --s-7: 32px;
  --s-8: 40px;
  --s-9: 56px;

  /* ---- Typography ---- */
  --font-sans: "Inter", "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Helvetica, Arial, sans-serif;
  --font-num: "Inter", "SF Mono", ui-monospace, monospace;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-black: 800;

  /* ---- Glass blur ---- */
  --blur-soft: 14px;
  --blur-md: 24px;
  --blur-strong: 40px;
  --glass-saturate: 160%;

  /* ---- Layout ---- */
  --header-h: 64px;
  --nav-h: 78px;
  --max-w: 480px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);

  /* ---- z-index scale ---- */
  --z-bg: 0;
  --z-content: 1;
  --z-header: 40;
  --z-nav: 45;
  --z-sheet: 60;
  --z-modal: 70;
  --z-toast: 90;
  --z-splash: 100;
}

/* ===========================  DARK THEME (default)  ======================= */
:root,
[data-theme="dark"] {
  color-scheme: dark;

  --bg-0: #0A0814;       /* deepest */
  --bg-1: #0E0B1C;
  --bg-2: #141029;

  /* mesh blob colors */
  --mesh-a: rgba(124, 92, 252, 0.55);
  --mesh-b: rgba(139, 92, 246, 0.42);
  --mesh-c: rgba(76, 29, 149, 0.50);
  --mesh-d: rgba(45, 212, 191, 0.16);

  /* glass surfaces */
  --glass-bg: rgba(255, 255, 255, 0.06);
  --glass-bg-strong: rgba(255, 255, 255, 0.10);
  --glass-bg-hover: rgba(255, 255, 255, 0.12);
  --glass-border: rgba(255, 255, 255, 0.14);
  --glass-border-strong: rgba(255, 255, 255, 0.22);
  --glass-highlight: rgba(255, 255, 255, 0.45);
  --glass-shadow: 0 18px 50px -12px rgba(8, 4, 24, 0.7);
  --glass-glow: 0 0 60px -10px var(--brand-glow);

  /* text */
  --text-1: #F4F2FF;
  --text-2: rgba(244, 242, 255, 0.66);
  --text-3: rgba(244, 242, 255, 0.40);
  --text-on-brand: #FFFFFF;

  /* fills for inputs/inset */
  --fill-1: rgba(255, 255, 255, 0.05);
  --fill-2: rgba(255, 255, 255, 0.09);

  --skeleton-base: rgba(255, 255, 255, 0.06);
  --skeleton-shine: rgba(255, 255, 255, 0.16);
}

/* ===========================  LIGHT THEME  =============================== */
[data-theme="light"] {
  color-scheme: light;

  --bg-0: #F4F2FB;
  --bg-1: #ECE8F8;
  --bg-2: #E4DEF6;

  --mesh-a: rgba(124, 92, 252, 0.30);
  --mesh-b: rgba(167, 139, 250, 0.28);
  --mesh-c: rgba(196, 181, 253, 0.34);
  --mesh-d: rgba(45, 212, 191, 0.12);

  --glass-bg: rgba(255, 255, 255, 0.58);
  --glass-bg-strong: rgba(255, 255, 255, 0.72);
  --glass-bg-hover: rgba(255, 255, 255, 0.82);
  --glass-border: rgba(255, 255, 255, 0.85);
  --glass-border-strong: rgba(124, 92, 252, 0.22);
  --glass-highlight: rgba(255, 255, 255, 0.95);
  --glass-shadow: 0 18px 46px -16px rgba(80, 50, 160, 0.30);
  --glass-glow: 0 0 50px -12px rgba(124, 92, 252, 0.35);

  --text-1: #1C1240;
  --text-2: rgba(28, 18, 64, 0.62);
  --text-3: rgba(28, 18, 64, 0.40);
  --text-on-brand: #FFFFFF;

  --fill-1: rgba(124, 92, 252, 0.06);
  --fill-2: rgba(124, 92, 252, 0.11);

  --skeleton-base: rgba(124, 92, 252, 0.08);
  --skeleton-shine: rgba(255, 255, 255, 0.65);
}

/* Brand gradient used across hero surfaces */
:root {
  --grad-brand: linear-gradient(135deg, #8B5CF6 0%, #7C5CFC 45%, #6D3FF0 100%);
  --grad-brand-soft: linear-gradient(135deg, rgba(139,92,246,0.85), rgba(109,63,240,0.85));
  --grad-success: linear-gradient(135deg, #34D399, #10B981);
  --grad-danger: linear-gradient(135deg, #FB7185, #F43F5E);
}
