:root {
  --background: 220 33% 98%;
  --foreground: 224 71% 4%;
  --card: 0 0% 100%;
  --card-foreground: 224 71% 4%;
  --primary: 262 83% 58%;
  --primary-foreground: 210 20% 98%;
  --secondary: 220 14% 96%;
  --secondary-foreground: 220 14% 10%;
  --muted: 220 14% 96%;
  --muted-foreground: 220 8% 46%;
  --accent: 262 83% 58%;
  --accent-foreground: 210 20% 98%;
  --destructive: 0 84% 60%;
  --destructive-foreground: 210 20% 98%;
  --border: 220 13% 91%;
  --radius: 0.75rem;
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.dark {
  --background: 224 71% 4%;
  --foreground: 210 20% 98%;
  --card: 224 71% 4%;
  --card-foreground: 210 20% 98%;
  --primary: 263 70% 50%;
  --primary-foreground: 210 20% 98%;
  --secondary: 215 27% 16%;
  --secondary-foreground: 210 20% 98%;
  --muted: 215 27% 16%;
  --muted-foreground: 217 10% 64%;
  --accent: 215 27% 16%;
  --accent-foreground: 210 20% 98%;
  --destructive: 0 62% 30%;
  --destructive-foreground: 210 20% 98%;
  --border: 215 27% 16%;
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}

@media print {
  .no-print {
    display: none !important;
  }
  body {
    background: white;
  }
  .print-only {
    display: block !important;
  }
}

.print-only {
  display: none;
}

.glass {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

input, select, textarea {
  background-color: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 0.5rem 0.75rem;
  outline: none;
  transition: var(--transition);
}

input:focus, select:focus, textarea:focus {
  border-color: hsl(var(--primary));
  ring: 2px hsl(var(--primary) / 0.2);
}