@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { --background: 0 0% 98%; --foreground: 0 0% 9%; --card: 0 0% 100%; --card-foreground: 0 0% 9%; --popover: 0 0% 100%; --popover-foreground: 0 0% 9%; --primary: 222 47% 51%; --primary-foreground: 0 0% 98%; --secondary: 0 0% 94%; --secondary-foreground: 0 0% 9%; --muted: 0 0% 94%; --muted-foreground: 0 0% 40%; --accent: 0 0% 94%; --accent-foreground: 0 0% 9%; --destructive: 0 84% 60%; --destructive-foreground: 0 0% 98%; --border: 0 0% 85%; --input: 0 0% 85%; --ring: 222 47% 51%; --radius: 0.5rem; } .dark { --background: 0 0% 7%; --foreground: 0 0% 95%; --card: 0 0% 10%; --card-foreground: 0 0% 95%; --popover: 0 0% 10%; --popover-foreground: 0 0% 95%; --primary: 217 91% 60%; --primary-foreground: 0 0% 9%; --secondary: 0 0% 15%; --secondary-foreground: 0 0% 95%; --muted: 0 0% 15%; --muted-foreground: 0 0% 60%; --accent: 0 0% 15%; --accent-foreground: 0 0% 95%; --destructive: 0 62% 50%; --destructive-foreground: 0 0% 98%; --border: 0 0% 20%; --input: 0 0% 20%; --ring: 217 91% 60%; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; } } /* Table styles */ .table-header { @apply px-4 py-3 text-left text-xs font-medium text-muted-foreground uppercase tracking-wider cursor-pointer; } .table-header:hover { @apply bg-muted/50; } .table-cell { @apply px-4 py-3 text-sm; } /* Status badges */ .badge { @apply inline-flex items-center px-2 py-0.5 rounded text-xs font-medium; } .badge-pass { @apply bg-green-100 text-green-800 dark:bg-green-900/50 dark:text-green-200; } .badge-fail { @apply bg-red-100 text-red-800 dark:bg-red-900/50 dark:text-red-200; } .badge-error { @apply bg-orange-100 text-orange-800 dark:bg-orange-900/50 dark:text-orange-200; } .badge-timeout { @apply bg-yellow-100 text-yellow-800 dark:bg-yellow-900/50 dark:text-yellow-200; } .badge-warning { @apply bg-yellow-100 text-yellow-800 dark:bg-yellow-900/50 dark:text-yellow-200; } /* File tree */ .file-tree { font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace; font-size: 0.875rem; } .file-tree-node { @apply py-1 px-2 rounded cursor-pointer transition-colors; } .file-tree-node:hover { @apply bg-accent; } .file-tree-node.selected { @apply bg-accent; } /* Traceback viewer */ .traceback { font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace; font-size: 0.75rem; line-height: 1.5; white-space: pre-wrap; word-break: break-word; } /* Scrollbar styling */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: hsl(var(--muted)); } ::-webkit-scrollbar-thumb { background: hsl(var(--border)); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: hsl(var(--muted-foreground)); }