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; | |
} | |
} | |