/* ========================================================
   DazePay - shadcn/ui Design System
   Tokens & Component Utility Classes
   ======================================================== */

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700;800&family=Geist+Mono:wght@400;500;600&display=swap');

:root {
  --font-sans: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Geist Mono', monospace;

  /* shadcn dark zinc palette */
  --background: 240 10% 3.9%;          /* #09090b */
  --foreground: 0 0% 98%;             /* #fafafa */

  --card: 240 10% 4.9%;                /* #0c0c0e */
  --card-foreground: 0 0% 98%;

  --popover: 240 10% 4.9%;
  --popover-foreground: 0 0% 98%;

  --primary: 0 0% 98%;                 /* Crisp white primary */
  --primary-foreground: 240 5.9% 10%;  /* Dark text on primary */

  --secondary: 240 3.7% 15.9%;        /* #27272a */
  --secondary-foreground: 0 0% 98%;

  --muted: 240 3.7% 15.9%;
  --muted-foreground: 240 5% 64.9%;    /* #a1a1aa */

  --accent: 240 3.7% 15.9%;
  --accent-foreground: 0 0% 98%;

  --destructive: 0 62.8% 30.6%;        /* #7f1d1d */
  --destructive-foreground: 0 0% 98%;

  --border: 240 3.7% 15.9%;            /* #27272a 1px borders */
  --input: 240 3.7% 15.9%;
  --ring: 240 4.9% 83.9%;

  --radius: 0.625rem;                  /* 10px */

  /* Fintech semantic colors */
  --success: 142 70.6% 45.3%;          /* #22c55e */
  --success-foreground: 144 61% 20%;
  --warning: 38 92% 50%;               /* #f59e0b */
  --warning-foreground: 48 96% 15%;
}

* {
  border-color: hsl(var(--border));
  box-sizing: border-box;
}

body {
  font-family: var(--font-sans);
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: hsl(var(--muted));
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: hsl(var(--muted-foreground) / 0.5);
}

/* Standard Animations */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes slideInRight {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

@keyframes pulseGlow {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.85; transform: scale(1.02); }
}

.animate-fade-in {
  animation: fadeIn 0.2s ease-out forwards;
}

.animate-slide-in {
  animation: slideInRight 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Tabular numbers for fintech amounts */
.tabular-nums {
  font-variant-numeric: tabular-nums;
  font-family: var(--font-mono);
}

/* Custom modal backdrop blur */
.modal-backdrop {
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(4px);
}
