@tailwind base; @tailwind components; @tailwind utilities; :root { /* ACVE core variables */ --acve-brand: #98143f; --acve-ink: #253247; --acve-line: #d8dce3; --acve-panel: #ffffff; --acve-heading-font: "Palatino Linotype", "Book Antiqua", "Times New Roman", serif; --acve-body-font: "Segoe UI", "Trebuchet MS", "Verdana", sans-serif; --acve-space-1: 4px; --acve-space-2: 8px; --acve-space-3: 12px; --acve-space-4: 16px; --acve-space-5: 24px; --acve-space-6: 32px; --acve-space-7: 48px; /* SHADCN MAPPING */ --background: 0 0% 98%; /* Matches your #f5f5f7 approx */ --foreground: 220 24% 20%; /* Matches your --acve-ink */ --primary: 341 77% 34%; /* Your Burgundy #98143f */ --primary-foreground: 0 0% 100%; --card: 0 0% 100%; --card-foreground: 220 24% 20%; --border: 223 18% 87%; /* Matches your --acve-line */ --input: 223 18% 87%; --ring: 341 77% 34%; --secondary: 210 40% 96.1%; --secondary-foreground: 222.2 47.4% 11.2%; --muted: 210 40% 96.1%; --muted-foreground: 215.4 16.3% 46.9%; --accent: 210 40% 96.1%; --accent-foreground: 222.2 47.4% 11.2%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 210 40% 98%; --popover: 0 0% 100%; --popover-foreground: 222.2 84% 4.9%; --radius: 0.75rem; /* 12px to match your primary button */ } html, body { margin: 0; min-height: 100%; background: radial-gradient(circle at top right, #fcfcfd 0%, #f5f5f7 55%, #f0f0f2 100%); color: var(--acve-ink); font-family: var(--acve-body-font); font-size: 16px; line-height: 1.45; text-rendering: geometricPrecision; } a { color: inherit; text-decoration: none; } a, button, input, select, textarea, [role="button"] { outline-color: transparent; } a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [role="button"]:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; } h1, h2, h3, h4 { font-family: var(--acve-heading-font); } ::selection { background: #f2d6df; color: #421020; } .acve-shell { background: linear-gradient(180deg, #f7f7f8 0%, #f2f3f5 100%); } .acve-panel { border: 1px solid var(--acve-line); background: var(--acve-panel); border-radius: 16px; } .acve-heading { color: var(--acve-brand); font-family: var(--acve-heading-font); letter-spacing: 0.01em; line-height: 1.1; } .acve-pill { display: inline-flex; align-items: center; border: 1px solid var(--acve-line); border-radius: 9999px; background: #fafafa; color: #384253; padding: 8px 14px; font-size: 0.95rem; } .acve-button-primary { background: var(--acve-brand); color: #ffffff; border-radius: 12px; border: 1px solid var(--acve-brand); min-height: 44px; } .acve-button-secondary { border: 1px solid var(--acve-brand); color: var(--acve-brand); background: #ffffff; border-radius: 12px; min-height: 44px; } .acve-page { display: flex; flex-direction: column; gap: var(--acve-space-5); } .acve-section-tight { padding: var(--acve-space-4); } .acve-section-base { padding: var(--acve-space-5); } @media (min-width: 768px) { .acve-page { gap: var(--acve-space-6); } }