Spaces:
Running
Running
James McCool
Remove PostCSS and Tailwind configuration files, and refactor CSS styles in index.css to implement custom styles. Update button and table components to use new class names for styling consistency. Delete utility functions for class name merging.
a458144
| /* Custom CSS for shadcn/ui-like styling */ | |
| :root { | |
| --background: #ffffff; | |
| --foreground: #020817; | |
| --card: #ffffff; | |
| --card-foreground: #020817; | |
| --popover: #ffffff; | |
| --popover-foreground: #020817; | |
| --primary: #0f172a; | |
| --primary-foreground: #f8fafc; | |
| --secondary: #f1f5f9; | |
| --secondary-foreground: #0f172a; | |
| --muted: #f1f5f9; | |
| --muted-foreground: #64748b; | |
| --accent: #f1f5f9; | |
| --accent-foreground: #0f172a; | |
| --destructive: #ef4444; | |
| --destructive-foreground: #f8fafc; | |
| --border: #e2e8f0; | |
| --input: #e2e8f0; | |
| --ring: #020817; | |
| --radius: 0.5rem; | |
| } | |
| .dark { | |
| --background: #020817; | |
| --foreground: #f8fafc; | |
| --card: #020817; | |
| --card-foreground: #f8fafc; | |
| --popover: #020817; | |
| --popover-foreground: #f8fafc; | |
| --primary: #f8fafc; | |
| --primary-foreground: #0f172a; | |
| --secondary: #1e293b; | |
| --secondary-foreground: #f8fafc; | |
| --muted: #1e293b; | |
| --muted-foreground: #94a3b8; | |
| --accent: #1e293b; | |
| --accent-foreground: #f8fafc; | |
| --destructive: #7f1d1d; | |
| --destructive-foreground: #f8fafc; | |
| --border: #1e293b; | |
| --input: #1e293b; | |
| --ring: #cbd5e1; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| border-color: var(--border); | |
| } | |
| body { | |
| margin: 0; | |
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', | |
| 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', | |
| sans-serif; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| background-color: var(--background); | |
| color: var(--foreground); | |
| } | |
| code { | |
| font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', | |
| monospace; | |
| } | |
| /* Utility classes */ | |
| .min-h-screen { | |
| min-height: 100vh; | |
| } | |
| .bg-background { | |
| background-color: var(--background); | |
| } | |
| .bg-card { | |
| background-color: var(--card); | |
| } | |
| .text-foreground { | |
| color: var(--foreground); | |
| } | |
| .text-muted-foreground { | |
| color: var(--muted-foreground); | |
| } | |
| .border { | |
| border: 1px solid var(--border); | |
| } | |
| .border-b { | |
| border-bottom: 1px solid var(--border); | |
| } | |
| .rounded-lg { | |
| border-radius: 0.5rem; | |
| } | |
| .p-4 { | |
| padding: 1rem; | |
| } | |
| .p-6 { | |
| padding: 1.5rem; | |
| } | |
| .p-8 { | |
| padding: 2rem; | |
| } | |
| .px-4 { | |
| padding-left: 1rem; | |
| padding-right: 1rem; | |
| } | |
| .px-6 { | |
| padding-left: 1.5rem; | |
| padding-right: 1.5rem; | |
| } | |
| .py-4 { | |
| padding-top: 1rem; | |
| padding-bottom: 1rem; | |
| } | |
| .py-8 { | |
| padding-top: 2rem; | |
| padding-bottom: 2rem; | |
| } | |
| .m-0 { | |
| margin: 0; | |
| } | |
| .mb-6 { | |
| margin-bottom: 1.5rem; | |
| } | |
| .mt-2 { | |
| margin-top: 0.5rem; | |
| } | |
| .mx-auto { | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| .w-full { | |
| width: 100%; | |
| } | |
| .max-w-4xl { | |
| max-width: 56rem; | |
| } | |
| .h-10 { | |
| height: 2.5rem; | |
| } | |
| .h-12 { | |
| height: 3rem; | |
| } | |
| .text-2xl { | |
| font-size: 1.5rem; | |
| line-height: 2rem; | |
| } | |
| .text-3xl { | |
| font-size: 1.875rem; | |
| line-height: 2.25rem; | |
| } | |
| .text-lg { | |
| font-size: 1.125rem; | |
| line-height: 1.75rem; | |
| } | |
| .text-sm { | |
| font-size: 0.875rem; | |
| line-height: 1.25rem; | |
| } | |
| .font-bold { | |
| font-weight: 700; | |
| } | |
| .font-medium { | |
| font-weight: 500; | |
| } | |
| .flex { | |
| display: flex; | |
| } | |
| .items-center { | |
| align-items: center; | |
| } | |
| .justify-center { | |
| justify-content: center; | |
| } | |
| .justify-between { | |
| justify-content: space-between; | |
| } | |
| .relative { | |
| position: relative; | |
| } | |
| .overflow-auto { | |
| overflow: auto; | |
| } | |
| .caption-bottom { | |
| caption-side: bottom; | |
| } | |
| .transition-colors { | |
| transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; | |
| transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); | |
| transition-duration: 150ms; | |
| } | |
| .hover\:bg-muted\/50:hover { | |
| background-color: rgba(241, 245, 249, 0.5); | |
| } | |
| .hover\:bg-primary\/90:hover { | |
| background-color: rgba(15, 23, 42, 0.9); | |
| } | |
| .focus-visible\:outline-none:focus-visible { | |
| outline: 2px solid transparent; | |
| outline-offset: 2px; | |
| } | |
| .focus-visible\:ring-2:focus-visible { | |
| --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); | |
| --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); | |
| box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); | |
| } | |
| .focus-visible\:ring-ring:focus-visible { | |
| --tw-ring-color: var(--ring); | |
| } | |
| .focus-visible\:ring-offset-2:focus-visible { | |
| --tw-ring-offset-width: 2px; | |
| } | |
| .disabled\:pointer-events-none:disabled { | |
| pointer-events: none; | |
| } | |
| .disabled\:opacity-50:disabled { | |
| opacity: 0.5; | |
| } | |
| .inline-flex { | |
| display: inline-flex; | |
| } | |
| .whitespace-nowrap { | |
| white-space: nowrap; | |
| } | |
| .rounded-md { | |
| border-radius: 0.375rem; | |
| } | |
| .ring-offset-background { | |
| --tw-ring-offset-color: var(--background); | |
| } | |
| /* Button styles */ | |
| .btn { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| white-space: nowrap; | |
| border-radius: 0.375rem; | |
| font-size: 0.875rem; | |
| font-weight: 500; | |
| transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; | |
| transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); | |
| transition-duration: 150ms; | |
| cursor: pointer; | |
| border: none; | |
| outline: none; | |
| } | |
| .btn:focus-visible { | |
| outline: 2px solid transparent; | |
| outline-offset: 2px; | |
| box-shadow: 0 0 0 2px var(--ring); | |
| } | |
| .btn:disabled { | |
| pointer-events: none; | |
| opacity: 0.5; | |
| } | |
| .btn-primary { | |
| background-color: var(--primary); | |
| color: var(--primary-foreground); | |
| height: 2.5rem; | |
| padding: 0.5rem 1rem; | |
| } | |
| .btn-primary:hover { | |
| background-color: rgba(15, 23, 42, 0.9); | |
| } | |
| /* Table styles */ | |
| .table-container { | |
| position: relative; | |
| width: 100%; | |
| overflow: auto; | |
| } | |
| .table { | |
| width: 100%; | |
| font-size: 0.875rem; | |
| caption-side: bottom; | |
| border-collapse: collapse; | |
| } | |
| .table th { | |
| height: 3rem; | |
| padding: 0 1rem; | |
| text-align: left; | |
| vertical-align: middle; | |
| font-weight: 500; | |
| color: var(--muted-foreground); | |
| } | |
| .table td { | |
| padding: 1rem; | |
| vertical-align: middle; | |
| } | |
| .table tbody tr { | |
| border-bottom: 1px solid var(--border); | |
| transition: background-color 150ms; | |
| } | |
| .table tbody tr:last-child { | |
| border-bottom: none; | |
| } | |
| .table tbody tr:hover { | |
| background-color: rgba(241, 245, 249, 0.5); | |
| } | |
| .table caption { | |
| margin-top: 1rem; | |
| font-size: 0.875rem; | |
| color: var(--muted-foreground); | |
| } | |
| /* Container */ | |
| .container { | |
| width: 100%; | |
| margin-left: auto; | |
| margin-right: auto; | |
| padding-left: 2rem; | |
| padding-right: 2rem; | |
| } | |
| @media (min-width: 1400px) { | |
| .container { | |
| max-width: 1400px; | |
| } | |
| } | |