Files
TasGrid/src/index.css
T
tcardoza 10585f6f0e
CI / build (push) Has been skipped
CI / deploy (push) Successful in 1m26s
Loading Indicator
2026-03-13 17:53:38 -05:00

204 lines
4.4 KiB
CSS

@import "tailwindcss";
@plugin "@tailwindcss/typography";
@theme {
--color-border: var(--border);
--color-input: var(--input);
--color-ring: var(--ring);
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-primary: var(--primary);
--color-primary-foreground: var(--primary-foreground);
--color-secondary: var(--secondary);
--color-secondary-foreground: var(--secondary-foreground);
--color-destructive: var(--destructive);
--color-destructive-foreground: var(--destructive-foreground);
--color-muted: var(--muted);
--color-muted-foreground: var(--muted-foreground);
--color-accent: var(--accent);
--color-accent-foreground: var(--accent-foreground);
--color-popover: var(--popover);
--color-popover-foreground: var(--popover-foreground);
--color-card: var(--card);
--color-card-foreground: var(--card-foreground);
--radius-lg: var(--radius);
--radius-md: calc(var(--radius) - 2px);
--radius-sm: calc(var(--radius) - 4px);
--animate-accordion-down: accordion-down 0.2s ease-out;
--animate-accordion-up: accordion-up 0.2s ease-out;
@keyframes accordion-down {
from {
height: 0;
}
to {
height: var(--radix-accordion-content-height);
}
}
@keyframes accordion-up {
from {
height: var(--radix-accordion-content-height);
}
to {
height: 0;
}
}
--animate-task-shake: task-shake 0.3s ease-in-out;
@keyframes task-shake {
0%,
100% {
transform: translateX(0);
}
25% {
transform: translateX(3px);
}
50% {
transform: translateX(-3px);
}
75% {
transform: translateX(3px);
}
}
--animate-progress-fast: loading-progress 2s infinite linear;
@keyframes loading-progress {
0% {
transform: translateX(-100%);
}
100% {
transform: translateX(300%);
}
}
}
:root {
--background: hsl(0 0% 100%);
--foreground: hsl(240 5.9% 10%);
--card: hsl(0 0% 100%);
--card-foreground: hsl(240 5.9% 10%);
--popover: hsl(0 0% 100%);
--popover-foreground: hsl(240 5.9% 10%);
--primary: hsl(199 89% 48%);
/* Modern Cyan */
--primary-foreground: hsl(0 0% 100%);
--secondary: hsl(210 40% 96.1%);
--secondary-foreground: hsl(222.2 47.4% 11.2%);
--muted: hsl(210 40% 96.1%);
--muted-foreground: hsl(215.4 16.3% 46.9%);
--accent: hsl(210 40% 96.1%);
--accent-foreground: hsl(222.2 47.4% 11.2%);
--destructive: hsl(0 84.2% 60.2%);
--destructive-foreground: hsl(210 40% 98%);
--border: hsl(214.3 31.8% 91.4%);
--input: hsl(214.3 31.8% 91.4%);
--ring: hsl(199 89% 48%);
--radius: 0.5rem;
}
.dark {
--background: hsl(240 10% 3.9%);
--foreground: hsl(0 0% 98%);
--card: hsl(240 10% 3.9%);
--card-foreground: hsl(0 0% 98%);
--popover: hsl(240 10% 3.9%);
--popover-foreground: hsl(0 0% 98%);
--primary: hsl(199 89% 55%);
/* Brighter Cyan for Dark Mode */
--primary-foreground: hsl(0 0% 100%);
--secondary: hsl(240 3.7% 15.9%);
--secondary-foreground: hsl(0 0% 98%);
--muted: hsl(240 3.7% 15.9%);
--muted-foreground: hsl(240 5% 64.9%);
--accent: hsl(240 3.7% 15.9%);
--accent-foreground: hsl(0 0% 98%);
--destructive: hsl(0 62.8% 30.6%);
--destructive-foreground: hsl(0 0% 98%);
--border: hsl(240 3.7% 15.9%);
--input: hsl(240 3.7% 15.9%);
--ring: hsl(199 89% 55%);
}
@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground;
}
}
/* --- Custom Scrollbar --- */
::-webkit-scrollbar {
width: 10px;
}
::-webkit-scrollbar-track {
background: var(--background);
}
::-webkit-scrollbar-thumb {
background: var(--border);
border: 3px solid var(--background);
background-clip: content-box;
border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
background: var(--muted-foreground);
border: 3px solid var(--background);
background-clip: content-box;
}
/* Firefox */
* {
scrollbar-width: thin;
scrollbar-color: var(--border) var(--background);
}
.fade-enter-active,
.fade-exit-active {
transition: opacity 0.2s ease;
}
.fade-enter,
.fade-exit-to {
opacity: 0;
}
/* --- Tiptap Table Selection --- */
.ProseMirror td.selectedCell,
.ProseMirror th.selectedCell {
background: color-mix(in srgb, var(--primary), transparent 90%);
position: relative;
}
.ProseMirror td.selectedCell::after,
.ProseMirror th.selectedCell::after {
content: "";
position: absolute;
inset: -1px;
border: 2px solid var(--primary);
pointer-events: none;
z-index: 10;
}