:root {
  --background: 42 32% 96%;
  --foreground: 222 30% 12%;
  --primary: 166 76% 28%;
  --secondary: 218 12% 42%;
  --muted: 42 24% 90%;
  --destructive: 3 72% 48%;
  --border: 42 18% 82%;
  --card: 0 0% 100%;
  --shadow-sm: 0 1px 2px rgba(21, 31, 45, 0.06), 0 8px 24px rgba(21, 31, 45, 0.04);
  --shadow-md: 0 8px 22px rgba(21, 31, 45, 0.10), 0 2px 6px rgba(21, 31, 45, 0.05);
  --shadow-lg: 0 22px 70px rgba(21, 31, 45, 0.16), 0 8px 22px rgba(21, 31, 45, 0.08);
  --transition-fast: 140ms ease;
  --transition-smooth: 260ms cubic-bezier(.2,.8,.2,1);
  --radius-sm: 0.55rem;
  --radius-md: 0.9rem;
  --radius-lg: 1.35rem;
}
.dark { --background: 222 28% 9%; --foreground: 42 35% 94%; --primary: 166 70% 44%; --secondary: 218 16% 70%; --muted: 222 20% 16%; --destructive: 3 78% 62%; --border: 222 18% 22%; --card: 222 24% 12%; --shadow-sm: 0 1px 2px rgba(0,0,0,.25), 0 8px 24px rgba(0,0,0,.18); --shadow-md: 0 8px 22px rgba(0,0,0,.28), 0 2px 6px rgba(0,0,0,.18); --shadow-lg: 0 22px 70px rgba(0,0,0,.38), 0 8px 22px rgba(0,0,0,.22); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: hsl(var(--background)); color: hsl(var(--foreground)); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
::selection { background: hsl(var(--primary) / 0.22); }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: hsl(var(--muted)); }
::-webkit-scrollbar-thumb { background: hsl(var(--secondary) / 0.42); border-radius: 999px; border: 3px solid hsl(var(--muted)); }
::-webkit-scrollbar-thumb:hover { background: hsl(var(--primary) / 0.65); }
@keyframes gramercyBlink { 0%, 100% { box-shadow: 0 0 0 rgba(220, 38, 38, 0); } 50% { box-shadow: 0 0 0 4px hsl(var(--destructive) / 0.18); } }
@keyframes gramercyPulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.01); } }
.gramercy-blink { animation: gramercyBlink 1.15s ease-in-out infinite; }
.gramercy-alert-pulse { animation: gramercyPulse 1.4s ease-in-out infinite; }
