:root {
  --background: hsl(216 33% 97%);
  --foreground: hsl(220 15% 25%);
  --card: hsl(0 0% 100%);
  --card-foreground: hsl(220 15% 25%);
  --popover: hsl(0 0% 100%);
  --popover-foreground: hsl(220 15% 25%);
  --primary: hsl(239 84% 67%);
  --primary-foreground: hsl(0 0% 100%);
  --secondary: hsl(210 40% 96%);
  --secondary-foreground: hsl(220 15% 25%);
  --muted: hsl(220 15% 95%);
  --muted-foreground: hsl(220 10% 45%);
  --accent: hsl(239 60% 95%);
  --accent-foreground: hsl(239 84% 67%);
  --destructive: hsl(0 72% 65%);
  --destructive-foreground: hsl(0 0% 100%);
  --border: hsl(220 20% 88%);
  --input: hsl(220 18% 94%);
  --ring: hsl(239 84% 67%);
  --radius: 0.75rem;
  --chart-1: hsl(12 76% 61%);
  --chart-2: hsl(173 58% 39%);
  --chart-3: hsl(197 37% 24%);
  --chart-4: hsl(43 74% 66%);
  --chart-5: hsl(27 87% 67%);
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
}

.dark {
  --background: hsl(222.2 84% 4.9%);
  --foreground: hsl(210 40% 98%);
  --card: hsl(222.2 84% 4.9%);
  --card-foreground: hsl(210 40% 98%);
  --popover: hsl(222.2 84% 4.9%);
  --popover-foreground: hsl(210 40% 98%);
  --primary: hsl(217.2 91.2% 59.8%);
  --primary-foreground: hsl(222.2 84% 4.9%);
  --secondary: hsl(217.2 32.6% 17.5%);
  --secondary-foreground: hsl(210 40% 98%);
  --muted: hsl(217.2 32.6% 17.5%);
  --muted-foreground: hsl(215 20.2% 65.1%);
  --accent: hsl(217.2 32.6% 17.5%);
  --accent-foreground: hsl(210 40% 98%);
  --destructive: hsl(0 62.8% 30.6%);
  --destructive-foreground: hsl(210 40% 98%);
  --border: hsl(217.2 32.6% 17.5%);
  --input: hsl(217.2 32.6% 17.5%);
  --ring: hsl(224.3 76.3% 94.1%);
}

/* Additional custom styles */
.tab-content {
  display: none;
}

.tab-content:first-child {
  display: block;
}

.admin-tab.active {
  color: var(--primary);
  border-color: var(--primary);
}

.nav-link.active {
  color: var(--foreground);
  border-color: var(--primary);
}

/* Loading states */
.loading {
  opacity: 0.5;
  pointer-events: none;
}

/* File upload styling */
.upload-area {
  transition: all 0.2s ease;
}

.upload-area:hover {
  border-color: var(--primary);
  background-color: var(--accent);
}

.upload-area.drag-over {
  border-color: var(--primary);
  background-color: var(--primary);
  color: var(--primary-foreground);
}

/* Success/Error states */
.success {
  background-color: hsl(142.1 76.2% 36.3%);
  color: hsl(355.7 100% 97.3%);
}

.error {
  background-color: var(--destructive);
  color: var(--destructive-foreground);
}

/* Print styles for receipts */
@media print {
  .no-print {
    display: none !important;
  }
  
  body {
    background: white !important;
    color: black !important;
  }
}
