@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --background: 210 20% 98%;
  --foreground: 215 25% 17%;

  --card: 0 0% 100%;
  --card-foreground: 215 25% 17%;

  --popover: 0 0% 100%;
  --popover-foreground: 215 25% 17%;

  --primary: 212 72% 44%;
  --primary-foreground: 0 0% 100%;

  --secondary: 210 25% 95%;
  --secondary-foreground: 215 25% 27%;

  --muted: 210 18% 93%;
  --muted-foreground: 215 12% 52%;

  --accent: 168 55% 42%;
  --accent-foreground: 0 0% 100%;

  --destructive: 0 68% 55%;
  --destructive-foreground: 0 0% 100%;

  --border: 214 20% 90%;
  --input: 214 20% 90%;
  --ring: 212 72% 44%;

  --radius: 0.625rem;

  --sidebar-background: 0 0% 98%;
  --sidebar-foreground: 240 5.3% 26.1%;
  --sidebar-primary: 212 72% 44%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 210 25% 95%;
  --sidebar-accent-foreground: 215 25% 27%;
  --sidebar-border: 214 20% 90%;
  --sidebar-ring: 212 72% 44%;

  --success: 152 55% 42%;
  --success-foreground: 0 0% 100%;
  --warning: 38 90% 52%;
  --warning-foreground: 0 0% 100%;
  --info: 212 72% 56%;
  --info-foreground: 0 0% 100%;

  --shadow-sm: 0 1px 3px 0 hsl(215 25% 17% / 0.04), 0 1px 2px -1px hsl(215 25% 17% / 0.03);
  --shadow-md: 0 4px 12px -2px hsl(215 25% 17% / 0.06), 0 2px 6px -2px hsl(215 25% 17% / 0.04);
  --shadow-lg: 0 12px 32px -4px hsl(215 25% 17% / 0.08), 0 4px 12px -4px hsl(215 25% 17% / 0.04);

  --font-heading: 'DM Sans', sans-serif;
  --font-body: 'Inter', sans-serif;
}

.dark {
  --background: 215 28% 10%;
  --foreground: 210 20% 95%;

  --card: 215 25% 14%;
  --card-foreground: 210 20% 95%;

  --popover: 215 25% 14%;
  --popover-foreground: 210 20% 95%;

  --primary: 212 72% 52%;
  --primary-foreground: 0 0% 100%;

  --secondary: 215 22% 20%;
  --secondary-foreground: 210 20% 90%;

  --muted: 215 22% 20%;
  --muted-foreground: 215 12% 60%;

  --accent: 168 55% 42%;
  --accent-foreground: 0 0% 100%;

  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 210 40% 98%;

  --border: 215 22% 22%;
  --input: 215 22% 22%;
  --ring: 212 72% 52%;

  --sidebar-background: 215 28% 10%;
  --sidebar-foreground: 210 20% 90%;
  --sidebar-primary: 212 72% 52%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 215 22% 20%;
  --sidebar-accent-foreground: 210 20% 90%;
  --sidebar-border: 215 22% 22%;
  --sidebar-ring: 212 72% 52%;
}

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

body {
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); }

.card-shadow { box-shadow: var(--shadow-md); }
.card-shadow-lg { box-shadow: var(--shadow-lg); }
.card-shadow-sm { box-shadow: var(--shadow-sm); }

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