:root {
  --background: 42 38% 96%;
  --foreground: 216 29% 14%;
  --primary: 180 73% 27%;
  --primary-foreground: 0 0% 100%;
  --secondary: 31 83% 54%;
  --secondary-foreground: 216 29% 14%;
  --muted: 41 24% 88%;
  --muted-foreground: 218 13% 42%;
  --destructive: 2 72% 50%;
  --destructive-foreground: 0 0% 100%;
  --border: 39 22% 82%;
  --card: 0 0% 100%;
  --shadow-sm: 0 2px 8px hsl(216 29% 14% / 0.07);
  --shadow-md: 0 12px 32px hsl(216 29% 14% / 0.12);
  --shadow-lg: 0 24px 64px hsl(216 29% 14% / 0.16);
  --transition-fast: 150ms ease;
  --transition-smooth: 280ms cubic-bezier(.2,.8,.2,1);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
}
.dark {
  --background: 216 30% 8%;
  --foreground: 42 38% 94%;
  --primary: 178 64% 43%;
  --primary-foreground: 216 30% 8%;
  --secondary: 31 88% 59%;
  --secondary-foreground: 216 30% 8%;
  --muted: 216 22% 16%;
  --muted-foreground: 42 18% 70%;
  --destructive: 0 71% 58%;
  --destructive-foreground: 0 0% 100%;
  --border: 216 18% 23%;
  --card: 216 28% 11%;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: Tahoma, Arial, sans-serif;
  background:
    radial-gradient(circle at top right, hsl(var(--primary) / 0.14), transparent 32rem),
    radial-gradient(circle at bottom left, hsl(var(--secondary) / 0.18), transparent 26rem),
    hsl(var(--background));
  color: hsl(var(--foreground));
  -webkit-text-size-adjust: 100%;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
input, select, textarea { max-width: 100%; }
.focus-ring:focus { outline: 3px solid hsl(var(--primary) / 0.28); outline-offset: 2px; }
.card-hover { transition: transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth); }
.card-hover:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: hsl(var(--primary) / 0.35); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: hsl(var(--primary) / 0.35); border-radius: 999px; }
::-webkit-scrollbar-track { background: hsl(var(--muted)); }
@media (max-width: 640px) {
  :root { --radius-md: 13px; --radius-lg: 18px; }
  h2 { line-height: 1.25; }
  table th, table td { white-space: nowrap; }
  .card-hover:hover { transform: none; }
}
