diff options
Diffstat (limited to 'frontend/src/app.css')
-rw-r--r-- | frontend/src/app.css | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/frontend/src/app.css b/frontend/src/app.css new file mode 100644 index 0000000..13a7883 --- /dev/null +++ b/frontend/src/app.css @@ -0,0 +1,180 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + body { + display: grid; + grid-template-columns: 3rem 1fr; + scrollbar-color: theme('colors.gray.500') rgba(0, 0, 0, 0); + font-family: 'Noto Sans', sans-serif; + } + + input, + textarea { + @apply w-full rounded bg-slate-900 p-[.4rem] focus:outline focus:outline-1 focus:outline-slate-500; + } + + label { + @apply mb-0.5 inline-block; + } + + form { + @apply flex flex-col gap-4 p-px text-sm; + } + + .rounded-group > * { + @apply rounded-none first:rounded-l-sm last:rounded-r-sm !important; + } + + .rounded-group-start > * { + @apply rounded-none first:rounded-l-sm !important; + } + + .rounded-group-end > * { + @apply rounded-none last:rounded-r-sm !important; + } + + .grid-labels { + @apply grid grid-cols-[1fr_5fr] gap-2; + } + + header { + grid-area: header; + } + + aside { + overflow: auto; + grid-area: sidebar; + @apply lg:w-[28rem] xl:w-[32rem] min-[1920px]:w-[36rem]; + } + + main { + grid-area: main; + } +} + +@layer components { + .btn { + @apply flex items-center justify-center rounded-sm p-2 text-white transition-colors disabled:opacity-40; + } + + .btn-xs { + @apply btn rounded-sm p-0.5 py-0; + } + + .btn-blue { + @apply btn bg-blue-700 hover:bg-blue-600 disabled:bg-blue-900; + } + + .btn-rose { + @apply btn bg-rose-700 hover:bg-rose-600 disabled:bg-rose-900; + } + + .btn-slate { + @apply btn bg-slate-700 hover:bg-slate-600 disabled:bg-slate-800; + } + + .btn-indigo { + @apply btn bg-indigo-700 hover:bg-indigo-600 disabled:bg-indigo-800; + } + + .icon-xs { + @apply text-[18px]; + } + + .icon-base { + @apply text-[24px]; + } + + .icon-lg { + @apply text-[28px]; + } + + .icon-2xl { + @apply text-[48px]; + } + + .icon-gray.hoverable:hover { + @apply text-gray-200/80; + } + + .icon-gray.dim { + @apply text-gray-100/40; + } + + .icon-yellow { + @apply text-yellow-300; + } + + .icon-yellow.hoverable:hover { + @apply text-yellow-300/80; + } + + .icon-yellow.dim { + @apply text-slate-100/40; + } +} + +@layer utilities { + .toggled { + @apply bg-indigo-700 hover:bg-indigo-600; + } + + .floating { + @apply rounded-full bg-black/50 p-1 text-white/80 backdrop-blur-sm hover:bg-black/50 hover:text-white; + } + + .ellipsis-nowrap { + @apply overflow-hidden text-ellipsis whitespace-nowrap; + } + + .rounded-inherit { + border-radius: inherit; + } + + .grid-card-h { + grid-template-columns: 210px 1fr; + grid-template-rows: 300px; + } + + .grid-card-cover-only { + @apply !grid-card-h; + } + + .grid-card-v { + grid-template-columns: 1fr; + grid-template-rows: 500px 1fr; + } +} + +.svelecte-control { + --sv-item-color: inherit !important; + --sv-bg: theme(colors.slate.900) !important; + --sv-disabled-bg: theme(colors.slate.900) !important; + --sv-border: 1px solid rgba(0, 0, 0, 0) !important; + --sv-disabled-border-color: rgba(0, 0, 0, 0) !important; + --sv-border-color: theme(colors.slate.600) !important; + --sv-active-border: 1px solid theme(colors.slate.500) !important; + --sv-item-selected-bg: theme(colors.indigo.800) !important; + --sv-item-active-bg: theme(colors.indigo.800) !important; + --sv-highlight-bg: none !important; + --sv-item-btn-bg-hover: theme(colors.rose.900) !important; + --sv-placeholder-color: theme(colors.gray.500) !important; +} + +.svelecte-control input { + @apply !h-8; +} + +.exclude .svelecte-control { + --sv-border: 1px solid theme('colors.red.900') !important; + --sv-active-border: 1px solid theme('colors.red.700') !important; + + --sv-item-selected-bg: theme(colors.rose.800) !important; + --sv-item-active-bg: theme(colors.rose.800) !important; +} + +.sv-dropdown { + @apply my-1 !bg-slate-950; +} |