/*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */ @layer properties; @layer theme, base, components, utilities; @layer theme { :root, :host { --font-sans: 'Inter var', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; --color-red-500: oklch(63.7% 0.237 25.331); --color-green-50: oklch(98.2% 0.018 155.826); --color-green-500: oklch(72.3% 0.219 149.579); --color-green-600: oklch(62.7% 0.194 149.214); --color-green-900: oklch(39.3% 0.095 152.535); --color-green-950: oklch(26.6% 0.065 152.934); --color-blue-50: oklch(97% 0.014 254.604); --color-blue-500: oklch(62.3% 0.214 259.815); --color-blue-600: oklch(54.6% 0.245 262.881); --color-blue-700: oklch(48.8% 0.243 264.376); --color-blue-900: oklch(37.9% 0.146 265.522); --color-blue-950: oklch(28.2% 0.091 267.935); --color-black: #000; --color-white: #fff; --spacing: 0.25rem; --breakpoint-lg: 64rem; --container-xs: 20rem; --container-sm: 24rem; --container-lg: 32rem; --container-xl: 36rem; --text-xs: 0.75rem; --text-xs--line-height: calc(1 / 0.75); --text-sm: 0.875rem; --text-sm--line-height: calc(1.25 / 0.875); --text-base: 1rem; --text-base--line-height: calc(1.5 / 1); --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --tracking-tight: -0.025em; --tracking-widest: 0.1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --radius-xs: 0.125rem; --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --shadow-2xs: 0 1px rgb(0 0 0 / 0.05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25); --animate-spin: spin 1s linear infinite; --default-transition-duration: 150ms; --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); --default-font-family: var(--font-sans); --default-mono-font-family: var(--font-mono); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); } } @layer base { *, ::after, ::before, ::backdrop, ::file-selector-button { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid; } html, :host { line-height: 1.5; -webkit-text-size-adjust: 100%; tab-size: 4; font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); font-feature-settings: var(--default-font-feature-settings, normal); font-variation-settings: var(--default-font-variation-settings, normal); -webkit-tap-highlight-color: transparent; } hr { height: 0; color: inherit; border-top-width: 1px; } abbr:where([title]) { -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; } a { color: inherit; -webkit-text-decoration: inherit; text-decoration: inherit; } b, strong { font-weight: bolder; } code, kbd, samp, pre { font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace); font-feature-settings: var(--default-mono-font-feature-settings, normal); font-variation-settings: var(--default-mono-font-variation-settings, normal); font-size: 1em; } small { font-size: 80%; } sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } table { text-indent: 0; border-color: inherit; border-collapse: collapse; } :-moz-focusring { outline: auto; } progress { vertical-align: baseline; } summary { display: list-item; } ol, ul, menu { list-style: none; } img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; } img, video { max-width: 100%; height: auto; } button, input, select, optgroup, textarea, ::file-selector-button { font: inherit; font-feature-settings: inherit; font-variation-settings: inherit; letter-spacing: inherit; color: inherit; border-radius: 0; background-color: transparent; opacity: 1; } :where(select:is([multiple], [size])) optgroup { font-weight: bolder; } :where(select:is([multiple], [size])) optgroup option { padding-inline-start: 20px; } ::file-selector-button { margin-inline-end: 4px; } ::placeholder { opacity: 1; } @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) { ::placeholder { color: currentcolor; @supports (color: color-mix(in lab, red, red)) { color: color-mix(in oklab, currentcolor 50%, transparent); } } } textarea { resize: vertical; } ::-webkit-search-decoration { -webkit-appearance: none; } ::-webkit-date-and-time-value { min-height: 1lh; text-align: inherit; } ::-webkit-datetime-edit { display: inline-flex; } ::-webkit-datetime-edit-fields-wrapper { padding: 0; } ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field { padding-block: 0; } :-moz-ui-invalid { box-shadow: none; } button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button { appearance: button; } ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; } [hidden]:where(:not([hidden="until-found"])) { display: none !important; } } @layer utilities { .\@container { container-type: inline-size; } .pointer-events-none { pointer-events: none; } .relative { position: relative; } .sticky { position: sticky; } .inset-x-0 { inset-inline: calc(var(--spacing) * 0); } .top-0 { top: calc(var(--spacing) * 0); } .isolate { isolation: isolate; } .z-10 { z-index: 10; } .mx-auto { margin-inline: auto; } .mr-auto { margin-right: auto; } .ml-auto { margin-left: auto; } .flex { display: flex; } .grid { display: grid; } .hidden { display: none; } .inline-flex { display: inline-flex; } .table { display: table; } .size-3\.5 { width: calc(var(--spacing) * 3.5); height: calc(var(--spacing) * 3.5); } .size-4 { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } .size-8 { width: calc(var(--spacing) * 8); height: calc(var(--spacing) * 8); } .size-9 { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); } .h-4 { height: calc(var(--spacing) * 4); } .h-5 { height: calc(var(--spacing) * 5); } .h-8 { height: calc(var(--spacing) * 8); } .h-12 { height: calc(var(--spacing) * 12); } .h-14 { height: calc(var(--spacing) * 14); } .max-h-\[612px\] { max-height: 612px; } .w-4 { width: calc(var(--spacing) * 4); } .w-5 { width: calc(var(--spacing) * 5); } .w-fit { width: fit-content; } .w-full { width: 100%; } .max-w-sm { max-width: var(--container-sm); } .max-w-xl { max-width: var(--container-xl); } .min-w-5 { min-width: calc(var(--spacing) * 5); } .min-w-32 { min-width: calc(var(--spacing) * 32); } .min-w-56 { min-width: calc(var(--spacing) * 56); } .min-w-full { min-width: 100%; } .flex-1 { flex: 1; } .shrink-0 { flex-shrink: 0; } .translate-y-0\.5 { --tw-translate-y: calc(var(--spacing) * 0.5); translate: var(--tw-translate-x) var(--tw-translate-y); } .animate-spin { animation: var(--animate-spin); } .flex-col { flex-direction: column; } .flex-row { flex-direction: row; } .flex-wrap { flex-wrap: wrap; } .items-center { align-items: center; } .items-start { align-items: flex-start; } .justify-between { justify-content: space-between; } .justify-center { justify-content: center; } .justify-start { justify-content: flex-start; } .gap-0\.5 { gap: calc(var(--spacing) * 0.5); } .gap-1 { gap: calc(var(--spacing) * 1); } .gap-1\.5 { gap: calc(var(--spacing) * 1.5); } .gap-2 { gap: calc(var(--spacing) * 2); } .gap-3 { gap: calc(var(--spacing) * 3); } .gap-4 { gap: calc(var(--spacing) * 4); } .gap-6 { gap: calc(var(--spacing) * 6); } .space-y-4 { :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse))); } } .gap-x-2 { column-gap: calc(var(--spacing) * 2); } .gap-y-4 { row-gap: calc(var(--spacing) * 4); } .gap-y-6 { row-gap: calc(var(--spacing) * 6); } .gap-y-10 { row-gap: calc(var(--spacing) * 10); } .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .overflow-x-auto { overflow-x: auto; } .overflow-y-auto { overflow-y: auto; } .rounded-full { border-radius: calc(infinity * 1px); } .rounded-lg { border-radius: var(--radius-lg); } .rounded-md { border-radius: var(--radius-md); } .border { border-style: var(--tw-border-style); border-width: 1px; } .border-b { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; } .bg-background { background-color: var(--color-background); } .p-3 { padding: calc(var(--spacing) * 3); } .p-4 { padding: calc(var(--spacing) * 4); } .px-1 { padding-inline: calc(var(--spacing) * 1); } .px-2 { padding-inline: calc(var(--spacing) * 2); } .px-4 { padding-inline: calc(var(--spacing) * 4); } .py-1\.5 { padding-block: calc(var(--spacing) * 1.5); } .py-3 { padding-block: calc(var(--spacing) * 3); } .py-4 { padding-block: calc(var(--spacing) * 4); } .text-left { text-align: left; } .font-mono { font-family: var(--font-mono); } .text-base { font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); } .text-lg { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); } .text-sm { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } .text-xs { font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); } .leading-none { --tw-leading: 1; line-height: 1; } .leading-normal { --tw-leading: var(--leading-normal); line-height: var(--leading-normal); } .leading-snug { --tw-leading: var(--leading-snug); line-height: var(--leading-snug); } .leading-tight { --tw-leading: var(--leading-tight); line-height: var(--leading-tight); } .font-medium { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); } .font-normal { --tw-font-weight: var(--font-weight-normal); font-weight: var(--font-weight-normal); } .font-semibold { --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); } .tracking-widest { --tw-tracking: var(--tracking-widest); letter-spacing: var(--tracking-widest); } .break-words { overflow-wrap: break-word; } .text-destructive { color: var(--color-destructive); } .text-foreground { color: var(--color-foreground); } .text-muted-foreground { color: var(--color-muted-foreground); } .text-transparent { color: transparent; } .tabular-nums { --tw-numeric-spacing: tabular-nums; font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,); } .opacity-50 { opacity: 50%; } .opacity-60 { opacity: 60%; } .shadow-xs { --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } .transition-all { transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .transition-colors { transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .transition-transform { transition-property: transform, translate, scale, rotate; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .duration-200 { --tw-duration: 200ms; transition-duration: 200ms; } .outline-none { --tw-outline-style: none; outline-style: none; } .group-open\:rotate-180 { &:is(:where(.group):is([open], :popover-open, :open) *) { rotate: 180deg; } } .last\:border-b-0 { &:last-child { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; } } .checked\:border-blue-600 { &:checked { border-color: var(--color-blue-600); } } .checked\:border-green-600 { &:checked { border-color: var(--color-green-600); } } .checked\:bg-blue-500 { &:checked { background-color: var(--color-blue-500); } } .checked\:bg-blue-600 { &:checked { background-color: var(--color-blue-600); } } .checked\:after\:bg-white { &:checked { &::after { content: var(--tw-content); background-color: var(--color-white); } } } .hover\:bg-accent\/50 { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--accent) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-accent) 50%, transparent); } } } } .hover\:bg-destructive\/10 { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--destructive) 10%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent); } } } } .hover\:text-foreground { &:hover { @media (hover: hover) { color: var(--color-foreground); } } } .hover\:underline { &:hover { @media (hover: hover) { text-decoration-line: underline; } } } .focus\:bg-destructive\/10 { &:focus { background-color: color-mix(in srgb, var(--destructive) 10%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 10%, transparent); } } } .focus\:text-destructive { &:focus { color: var(--color-destructive); } } .focus-visible\:border-ring { &:focus-visible { border-color: var(--color-ring); } } .focus-visible\:ring-\[3px\] { &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } } .focus-visible\:ring-ring\/50 { &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } } .disabled\:pointer-events-none { &:disabled { pointer-events: none; } } .disabled\:opacity-50 { &:disabled { opacity: 50%; } } .has-\[input\[type\=\'checkbox\'\]\:checked\]\:border-blue-600 { &:has(*:is(input[type='checkbox']:checked)) { border-color: var(--color-blue-600); } } .has-\[input\[type\=\'checkbox\'\]\:checked\]\:bg-blue-50 { &:has(*:is(input[type='checkbox']:checked)) { background-color: var(--color-blue-50); } } .has-\[input\[type\=\'radio\'\]\:checked\]\:border-green-600 { &:has(*:is(input[type='radio']:checked)) { border-color: var(--color-green-600); } } .has-\[input\[type\=\'radio\'\]\:checked\]\:bg-green-50 { &:has(*:is(input[type='radio']:checked)) { background-color: var(--color-green-50); } } .sm\:max-w-\[425px\] { @media (width >= 40rem) { max-width: 425px; } } .sm\:gap-2\.5 { @media (width >= 40rem) { gap: calc(var(--spacing) * 2.5); } } .md\:max-w-\[200px\] { @media (width >= 48rem) { max-width: 200px; } } .md\:flex-row { @media (width >= 48rem) { flex-direction: row; } } .dark\:checked\:border-blue-700 { &:is(.dark *) { &:checked { border-color: var(--color-blue-700); } } } .dark\:checked\:bg-blue-600 { &:is(.dark *) { &:checked { background-color: var(--color-blue-600); } } } .dark\:checked\:bg-blue-700 { &:is(.dark *) { &:checked { background-color: var(--color-blue-700); } } } .dark\:hover\:bg-destructive\/20 { &:is(.dark *) { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } } } } .dark\:focus\:bg-destructive\/20 { &:is(.dark *) { &:focus { background-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } } } .dark\:has-\[input\[type\=\'checkbox\'\]\:checked\]\:border-blue-900 { &:is(.dark *) { &:has(*:is(input[type='checkbox']:checked)) { border-color: var(--color-blue-900); } } } .dark\:has-\[input\[type\=\'checkbox\'\]\:checked\]\:bg-blue-950 { &:is(.dark *) { &:has(*:is(input[type='checkbox']:checked)) { background-color: var(--color-blue-950); } } } .dark\:has-\[input\[type\=\'radio\'\]\:checked\]\:border-green-900 { &:is(.dark *) { &:has(*:is(input[type='radio']:checked)) { border-color: var(--color-green-900); } } } .dark\:has-\[input\[type\=\'radio\'\]\:checked\]\:bg-green-950 { &:is(.dark *) { &:has(*:is(input[type='radio']:checked)) { background-color: var(--color-green-950); } } } .\[\&_svg\]\:\!text-destructive { & svg { color: var(--color-destructive) !important; } } } :root { --radius: 0.625rem; --background: oklch(1 0 0); --foreground: oklch(0.145 0 0); --card: oklch(1 0 0); --card-foreground: oklch(0.145 0 0); --popover: oklch(1 0 0); --popover-foreground: oklch(0.145 0 0); --primary: oklch(0.205 0 0); --primary-foreground: oklch(0.985 0 0); --secondary: oklch(0.97 0 0); --secondary-foreground: oklch(0.205 0 0); --muted: oklch(0.97 0 0); --muted-foreground: oklch(0.556 0 0); --accent: oklch(0.97 0 0); --accent-foreground: oklch(0.205 0 0); --destructive: oklch(0.577 0.245 27.325); --border: oklch(0.922 0 0); --input: oklch(0.922 0 0); --ring: oklch(0.708 0 0); --chart-1: oklch(0.646 0.222 41.116); --chart-2: oklch(0.6 0.118 184.704); --chart-3: oklch(0.398 0.07 227.392); --chart-4: oklch(0.828 0.189 84.429); --chart-5: oklch(0.769 0.188 70.08); --sidebar: oklch(0.985 0 0); --sidebar-foreground: oklch(0.145 0 0); --sidebar-primary: oklch(0.205 0 0); --sidebar-primary-foreground: oklch(0.985 0 0); --sidebar-accent: oklch(0.97 0 0); --sidebar-accent-foreground: oklch(0.205 0 0); --sidebar-border: oklch(0.922 0 0); --sidebar-ring: oklch(0.708 0 0); --scrollbar-track: transparent; --scrollbar-thumb: rgba(0, 0, 0, 0.3); --scrollbar-width: 6px; --scrollbar-radius: 6px; --chevron-down-icon: url('data:image/svg+xml;utf8,'); --check-icon: url('data:image/svg+xml;utf8,'); } .dark { --background: oklch(0.145 0 0); --foreground: oklch(0.985 0 0); --card: oklch(0.205 0 0); --card-foreground: oklch(0.985 0 0); --popover: oklch(0.269 0 0); --popover-foreground: oklch(0.985 0 0); --primary: oklch(0.922 0 0); --primary-foreground: oklch(0.205 0 0); --secondary: oklch(0.269 0 0); --secondary-foreground: oklch(0.985 0 0); --muted: oklch(0.269 0 0); --muted-foreground: oklch(0.708 0 0); --accent: oklch(0.371 0 0); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); --ring: oklch(0.556 0 0); --chart-1: oklch(0.488 0.243 264.376); --chart-2: oklch(0.696 0.17 162.48); --chart-3: oklch(0.769 0.188 70.08); --chart-4: oklch(0.627 0.265 303.9); --chart-5: oklch(0.645 0.246 16.439); --sidebar: oklch(0.205 0 0); --sidebar-foreground: oklch(0.985 0 0); --sidebar-primary: oklch(0.488 0.243 264.376); --sidebar-primary-foreground: oklch(0.985 0 0); --sidebar-accent: oklch(0.269 0 0); --sidebar-accent-foreground: oklch(0.985 0 0); --sidebar-border: oklch(1 0 0 / 10%); --sidebar-ring: oklch(0.439 0 0); --scrollbar-track: transparent; --scrollbar-thumb: rgba(255, 255, 255, 0.3); --scrollbar-width: 6px; --scrollbar-radius: 6px; --chevron-down-icon: url('data:image/svg+xml;utf8,'); --check-icon: url('data:image/svg+xml;utf8,'); } @layer base { * { border-color: var(--color-border); outline-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { outline-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } html { scroll-behavior: smooth; } body { overscroll-behavior: none; background-color: var(--color-background); color: var(--color-foreground); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } ::-webkit-scrollbar { width: var(--scrollbar-width); } ::-webkit-scrollbar-track { background: var(--scrollbar-track); } ::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: var(--scrollbar-radius); } * { scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); } } @layer utilities { [x-cloak] { display: none !important; } .htmx-indicator { transition-behavior: allow-discrete; visibility: hidden; opacity: 0%; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .htmx-indicator:not(.htmx-request) { display: none; } .htmx-request, .htmx-request.htmx-indicator { visibility: visible; opacity: 100%; } } @layer components { .alert, .alert-destructive { position: relative; display: grid; width: 100%; grid-template-columns: 0 1fr; align-items: flex-start; row-gap: calc(var(--spacing) * 0.5); border-radius: var(--radius-lg); border-style: var(--tw-border-style); border-width: 1px; padding-inline: calc(var(--spacing) * 4); padding-block: calc(var(--spacing) * 3); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); &:has(>svg) { grid-template-columns: calc(var(--spacing) * 4) 1fr; } &:has(>svg) { column-gap: calc(var(--spacing) * 3); } &>svg { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } &>svg { --tw-translate-y: calc(var(--spacing) * 0.5); translate: var(--tw-translate-x) var(--tw-translate-y); } &>svg { color: currentcolor; } h2 { grid-column-start: 2; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; min-height: calc(var(--spacing) * 4); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); --tw-tracking: var(--tracking-tight); letter-spacing: var(--tracking-tight); } section { grid-column-start: 2; display: grid; justify-items: start; gap: calc(var(--spacing) * 1); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-muted-foreground); & p { --tw-leading: var(--leading-relaxed); line-height: var(--leading-relaxed); } ul { list-style-position: inside; list-style-type: disc; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } } } .alert { background-color: var(--color-card); color: var(--color-card-foreground); } .alert-destructive { background-color: var(--color-card); color: var(--color-destructive); &>svg { color: currentcolor; } section { color: var(--color-destructive); } } } @layer components { .btn, .btn-primary, .btn-secondary, .btn-outline, .btn-ghost, .btn-link, .btn-destructive, .btn-sm, .btn-sm-primary, .btn-sm-secondary, .btn-sm-outline, .btn-sm-ghost, .btn-sm-link, .btn-sm-destructive, .btn-lg, .btn-lg-primary, .btn-lg-secondary, .btn-lg-outline, .btn-lg-ghost, .btn-lg-link, .btn-lg-destructive, .btn-icon, .btn-icon-primary, .btn-icon-secondary, .btn-icon-outline, .btn-icon-ghost, .btn-icon-link, .btn-icon-destructive { display: inline-flex; flex-shrink: 0; cursor: pointer; align-items: center; justify-content: center; border-radius: var(--radius-md); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); white-space: nowrap; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { pointer-events: none; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } & svg { pointer-events: none; } & svg { flex-shrink: 0; } & svg:not([class*='size-']) { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } } .btn, .btn-primary, .btn-secondary, .btn-outline, .btn-ghost, .btn-link, .btn-destructive { height: calc(var(--spacing) * 9); gap: calc(var(--spacing) * 2); padding-inline: calc(var(--spacing) * 4); padding-block: calc(var(--spacing) * 2); &:has(>svg) { padding-inline: calc(var(--spacing) * 3); } } .btn-icon, .btn-icon-primary, .btn-icon-secondary, .btn-icon-outline, .btn-icon-ghost, .btn-icon-link, .btn-icon-destructive { width: calc(var(--spacing) * 9); height: calc(var(--spacing) * 9); } .btn-sm, .btn-sm-primary, .btn-sm-secondary, .btn-sm-outline, .btn-sm-ghost, .btn-sm-link, .btn-sm-destructive { height: calc(var(--spacing) * 8); gap: calc(var(--spacing) * 1.5); padding-inline: calc(var(--spacing) * 3); &:has(>svg) { padding-inline: calc(var(--spacing) * 2.5); } } .btn-lg, .btn-lg-primary, .btn-lg-secondary, .btn-lg-outline, .btn-lg-ghost, .btn-lg-link, .btn-lg-destructive { height: calc(var(--spacing) * 10); gap: calc(var(--spacing) * 2); padding-inline: calc(var(--spacing) * 6); &:has(>svg) { padding-inline: calc(var(--spacing) * 4); } } .btn, .btn-primary, .btn-sm, .btn-sm-primary, .btn-lg, .btn-lg-primary, .btn-icon, .btn-icon-primary { background-color: var(--color-primary); color: var(--color-primary-foreground); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--primary) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-primary) 90%, transparent); } } } &[aria-pressed='true'] { background-color: color-mix(in srgb, var(--primary) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-primary) 90%, transparent); } } } .btn-secondary, .btn-sm-secondary, .btn-lg-secondary, .btn-icon-secondary { background-color: var(--color-secondary); color: var(--color-secondary-foreground); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); &:hover, &[aria-pressed='true'] { background-color: color-mix(in srgb, var(--secondary) 80%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-secondary) 80%, transparent); } } } .btn-outline, .btn-sm-outline, .btn-lg-outline, .btn-icon-outline { border-style: var(--tw-border-style); border-width: 1px; background-color: var(--color-background); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); &:is(.dark *) { border-color: var(--color-input); } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:hover, &[aria-pressed='true'] { background-color: var(--color-accent); color: var(--color-accent-foreground); &:is(.dark *) { background-color: color-mix(in srgb, var(--accent) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-accent) 50%, transparent); } } } } .btn-ghost, .btn-sm-ghost, .btn-lg-ghost, .btn-icon-ghost { &:hover, &[aria-pressed='true'] { background-color: var(--color-accent); color: var(--color-accent-foreground); &:is(.dark *) { background-color: color-mix(in srgb, var(--accent) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-accent) 50%, transparent); } } } } .btn-link, .btn-sm-link, .btn-lg-link, .btn-icon-link { color: var(--color-primary); text-underline-offset: 4px; &:hover, &[aria-pressed='true'] { &:hover { @media (hover: hover) { text-decoration-line: underline; } } } } .btn-destructive, .btn-sm-destructive, .btn-lg-destructive, .btn-icon-destructive { background-color: var(--color-destructive); color: var(--color-white); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--destructive) 60%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent); } } &:is(.dark *) { &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } &:hover, &[aria-pressed='true'] { background-color: color-mix(in srgb, var(--destructive) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent); } &:is(.dark *) { background-color: color-mix(in srgb, var(--destructive) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 50%, transparent); } } } } } @layer components { .badge, .badge-primary, .badge-secondary, .badge-destructive, .badge-outline { display: inline-flex; width: fit-content; flex-shrink: 0; align-items: center; justify-content: center; gap: calc(var(--spacing) * 1); overflow: hidden; border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; padding-inline: calc(var(--spacing) * 2); padding-block: calc(var(--spacing) * 0.5); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); white-space: nowrap; transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } &>svg { pointer-events: none; } &>svg { width: calc(var(--spacing) * 3); height: calc(var(--spacing) * 3); } } .badge, .badge-primary { border-color: transparent; background-color: var(--color-primary); color: var(--color-primary-foreground); a& { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--primary) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-primary) 90%, transparent); } } } } } .badge-secondary { border-color: transparent; background-color: var(--color-secondary); color: var(--color-secondary-foreground); a& { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--secondary) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-secondary) 90%, transparent); } } } } } .badge-destructive { border-color: transparent; background-color: var(--color-destructive); color: var(--color-white); &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--destructive) 60%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 60%, transparent); } } &:is(.dark *) { &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } a& { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--destructive) 90%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-destructive) 90%, transparent); } } } } } .badge-outline { color: var(--color-foreground); a& { &:hover { @media (hover: hover) { background-color: var(--color-accent); } } } a& { &:hover { @media (hover: hover) { color: var(--color-accent-foreground); } } } } } @layer components { .form input[type='checkbox']:not([role='switch']), .input[type='checkbox']:not([role='switch']) { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; appearance: none; border-radius: 4px; border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:checked { border-color: var(--color-primary); } &:checked { background-color: var(--color-primary); } &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:is(.dark *) { &:checked { background-color: var(--color-primary); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } &:checked:after { display: block; width: calc(var(--spacing) * 3.5); height: calc(var(--spacing) * 3.5); background-color: var(--color-primary-foreground); --tw-content: ''; content: var(--tw-content); mask-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNoZWNrLWljb24gbHVjaWRlLWNoZWNrIj48cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiLz48L3N2Zz4='); mask-size: 0.875rem; mask-position: center; mask-repeat: no-repeat; } } } @layer components { details { &::details-content { block-size: 0; transition-behavior: allow-discrete; display: block; opacity: 0%; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } } details[open]::details-content { block-size: auto; block-size: calc-size(auto, size); opacity: 100%; } details > summary { display: inline-flex; cursor: pointer; align-items: center; } } @layer components { .dialog { [role='dialog'] { visibility: hidden; position: fixed; inset: calc(var(--spacing) * 0); z-index: 50; background-color: color-mix(in srgb, #000 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-black) 50%, transparent); } opacity: 0%; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:not([inert]), &[inert='false'] { visibility: visible; opacity: 100%; > article { visibility: visible; --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); opacity: 100%; } } > article { visibility: hidden; position: fixed; top: 50%; left: 50%; z-index: 50; display: flex; max-height: calc(100% - 2rem); width: 100%; max-width: calc(100% - 2rem); --tw-translate-x: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); --tw-translate-y: -50%; translate: var(--tw-translate-x) var(--tw-translate-y); --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); flex-direction: column; gap: calc(var(--spacing) * 4); border-radius: var(--radius-lg); border-style: var(--tw-border-style); border-width: 1px; background-color: var(--color-background); padding: calc(var(--spacing) * 6); opacity: 0%; --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); @media (width >= 40rem) { max-width: var(--container-lg); } > header { display: flex; flex-direction: column; gap: calc(var(--spacing) * 2); text-align: center; @media (width >= 40rem) { text-align: left; } > h2 { font-size: var(--text-lg); line-height: var(--tw-leading, var(--text-lg--line-height)); --tw-leading: 1; line-height: 1; --tw-font-weight: var(--font-weight-semibold); font-weight: var(--font-weight-semibold); } > p { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-muted-foreground); } } > section { margin-inline: calc(var(--spacing) * -6); flex: 1; padding-inline: calc(var(--spacing) * 6); } > footer { display: flex; flex-direction: column-reverse; gap: calc(var(--spacing) * 2); @media (width >= 40rem) { flex-direction: row; } @media (width >= 40rem) { justify-content: flex-end; } } > button { position: absolute; top: calc(var(--spacing) * 4); right: calc(var(--spacing) * 4); border-radius: var(--radius-xs); opacity: 70%; --tw-ring-offset-color: var(--color-background); transition-property: opacity; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:hover { @media (hover: hover) { opacity: 100%; } } &:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus { --tw-ring-color: var(--color-ring); } &:focus { --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); } &:focus { --tw-outline-style: none; outline-style: none; @media (forced-colors: active) { outline: 2px solid transparent; outline-offset: 2px; } } &:disabled { pointer-events: none; } &[data-state="open"] { background-color: var(--color-accent); } &[data-state="open"] { color: var(--color-muted-foreground); } & svg { pointer-events: none; } & svg { flex-shrink: 0; } & svg:not([class*='size-']) { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } } } } } } @layer components { .dropdown { position: relative; display: inline-flex; [role='menu'], [role='listbox'] { visibility: visible; position: absolute; z-index: 50; width: max-content; --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); overflow-x: hidden; overflow-y: auto; border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; background-color: var(--color-popover); padding: calc(var(--spacing) * 1); color: var(--color-popover-foreground); opacity: 100%; --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &[aria-hidden='true'] { visibility: hidden; --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); opacity: 0%; &:not([data-side]), &[data-side='bottom'] { --tw-translate-y: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); } &[data-side='top'] { --tw-translate-y: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); } &[data-side='left'] { --tw-translate-x: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); } &[data-side='right'] { --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); } } &:not([data-side]), &[data-side='bottom'] { top: 100%; margin-top: calc(var(--spacing) * 1); } &[data-side='top'] { bottom: 100%; margin-bottom: calc(var(--spacing) * 1); } &[data-side='left'] { right: 100%; margin-right: calc(var(--spacing) * 1); } &[data-side='right'] { left: 100%; margin-left: calc(var(--spacing) * 1); } &:not([data-side]), &[data-side='bottom'], &[data-side='top'] { &:not([data-align]), &[data-align='start'] { left: calc(var(--spacing) * 0); } &[data-align='end'] { right: calc(var(--spacing) * 0); } &[data-align='center'] { left: calc(1/2 * 100%); --tw-translate-x: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } } &[data-side='left'], &[data-side='right'] { &:not([data-align]), &[data-align='start'] { top: calc(var(--spacing) * 0); } &[data-align='end'] { bottom: calc(var(--spacing) * 0); } &[data-align='center'] { top: calc(1/2 * 100%); --tw-translate-y: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } } [role='menuitem'], [role='option'] { position: relative; display: flex; width: 100%; cursor: default; align-items: center; gap: calc(var(--spacing) * 2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-radius: var(--radius-sm); padding-inline: calc(var(--spacing) * 2); padding-block: calc(var(--spacing) * 1.5); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-outline-style: none; outline-style: none; @media (forced-colors: active) { outline: 2px solid transparent; outline-offset: 2px; } -webkit-user-select: none; user-select: none; &:hover { @media (hover: hover) { background-color: var(--color-accent); } } &:hover { @media (hover: hover) { color: var(--color-accent-foreground); } } &:focus { background-color: var(--color-accent); } &:focus { color: var(--color-accent-foreground); } &:disabled { pointer-events: none; } &:disabled { opacity: 50%; } & svg { width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } & svg { flex-shrink: 0; } & svg { color: var(--color-muted-foreground); } } [role='option'] { padding-right: calc(var(--spacing) * 7.5); &[aria-selected='true'] { background-image: var(--check-icon); background-size: 0.875rem; background-position: center right 0.5rem; background-repeat: no-repeat; } } [role='separator'] { margin-inline: calc(var(--spacing) * -1); margin-block: calc(var(--spacing) * 1); border-color: var(--color-border); } } [role='menu'] [role='heading'] { display: flex; padding-inline: calc(var(--spacing) * 2); padding-block: calc(var(--spacing) * 1.5); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); } [role='listbox'] [role='heading'] { display: flex; padding-inline: calc(var(--spacing) * 2); padding-block: calc(var(--spacing) * 1.5); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); color: var(--color-muted-foreground); } } } @layer components { .form input[type='text'], .form input[type='email'], .form input[type='password'], .form input[type='number'], .form input[type='file'], .form input[type='tel'], .form input[type='url'], .form input[type='search'], .form input[type='date'], .form input[type='datetime-local'], .form input[type='month'], .form input[type='week'], .form input[type='time'], .input[type='text'], .input[type='email'], .input[type='password'], .input[type='number'], .input[type='file'], .input[type='tel'], .input[type='url'], .input[type='search'], .input[type='date'], .input[type='datetime-local'], .input[type='month'], .input[type='week'], .input[type='time'] { display: flex; height: calc(var(--spacing) * 9); width: 100%; min-width: calc(var(--spacing) * 0); appearance: none; border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); background-color: transparent; padding-inline: calc(var(--spacing) * 3); padding-block: calc(var(--spacing) * 1); font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; & *::selection { background-color: var(--color-primary); } &::selection { background-color: var(--color-primary); } & *::selection { color: var(--color-primary-foreground); } &::selection { color: var(--color-primary-foreground); } &::file-selector-button { display: inline-flex; } &::file-selector-button { height: calc(var(--spacing) * 7); } &::file-selector-button { border-style: var(--tw-border-style); border-width: 0px; } &::file-selector-button { background-color: transparent; } &::file-selector-button { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } &::file-selector-button { --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); } &::file-selector-button { color: var(--color-foreground); } &::placeholder { color: var(--color-muted-foreground); } &:disabled { pointer-events: none; } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } @media (width >= 48rem) { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } } .form input[type='date'], .form input[type='datetime-local'], .form input[type='month'], .form input[type='week'], .form input[type='time'], .input[type='date'], .input[type='datetime-local'], .input[type='month'], .input[type='week'], .input[type='time'] { &:is(.dark *) { color-scheme: dark; } } } @layer components { .form label, .label { display: flex; align-items: center; gap: calc(var(--spacing) * 2); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-leading: 1; line-height: 1; --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); -webkit-user-select: none; user-select: none; &:is(:where(.peer):disabled ~ *) { pointer-events: none; } &:is(:where(.peer):disabled ~ *) { opacity: 50%; } &:has(>*:disabled), &:has(+*:disabled) { pointer-events: none; opacity: 50%; } } } @layer components { .form input[type='radio'], .input[type='radio'] { position: relative; aspect-ratio: 1 / 1; width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; appearance: none; border-radius: calc(infinity * 1px); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); color: var(--color-primary); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } &:checked:before { position: absolute; top: calc(1/2 * 100%); left: calc(1/2 * 100%); width: calc(var(--spacing) * 2); height: calc(var(--spacing) * 2); --tw-translate-x: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); --tw-translate-y: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); border-radius: calc(infinity * 1px); background-color: var(--color-primary); --tw-content: ''; content: var(--tw-content); } } } @layer components { .form input[type='range'], .input[type='range'] { display: flex; appearance: none; align-items: center; &::-webkit-slider-thumb { display: block; width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); flex-shrink: 0; appearance: none; border-radius: calc(infinity * 1px); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-primary); background-color: var(--color-background); --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:hover { @media (hover: hover) { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-outline-style: none; outline-style: none; @media (forced-colors: active) { outline: 2px solid transparent; outline-offset: 2px; } } &:disabled { pointer-events: none; } &:disabled { opacity: 50%; } &:focus { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); --tw-ring-color: var(--color-primary); --tw-ring-offset-width: 2px; --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-offset-color: var(--color-background); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } } &::-webkit-slider-runnable-track { height: calc(var(--spacing) * 1.5); appearance: none; border-radius: calc(infinity * 1px); background-color: var(--color-primary); } } } @layer components { .form select, .select { display: flex; height: calc(var(--spacing) * 9); width: fit-content; appearance: none; align-items: center; justify-content: space-between; gap: calc(var(--spacing) * 2); border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); background-color: transparent; padding-block: calc(var(--spacing) * 2); padding-right: calc(var(--spacing) * 9); padding-left: calc(var(--spacing) * 3); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); --tw-leading: 1; line-height: 1; white-space: nowrap; --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:is(.dark *) { &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--input) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 50%, transparent); } } } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } background-image: var(--chevron-down-icon); background-size: 1rem; background-position: center right 0.75rem; background-repeat: no-repeat; } } @layer components { .form input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch'] { display: inline-flex; height: 1.15rem; width: calc(var(--spacing) * 8); flex-shrink: 0; appearance: none; align-items: center; border-radius: calc(infinity * 1px); border-style: var(--tw-border-style); border-width: 1px; border-color: transparent; --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } background-color: var(--color-input); &:checked { background-color: var(--color-primary); } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 80%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 80%, transparent); } } &:is(.dark *) { &:checked { background-color: var(--color-primary); } } &::before { content: var(--tw-content); pointer-events: none; } &::before { content: var(--tw-content); display: block; } &::before { content: var(--tw-content); width: calc(var(--spacing) * 4); height: calc(var(--spacing) * 4); } &::before { content: var(--tw-content); border-radius: calc(infinity * 1px); } &::before { content: var(--tw-content); --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &::before { content: var(--tw-content); transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } &::before { content: var(--tw-content); --tw-content: ''; content: var(--tw-content); } &::before { content: var(--tw-content); background-color: var(--color-background); } &:is(.dark *) { &::before { content: var(--tw-content); background-color: var(--color-foreground); } } &:checked { &::before { content: var(--tw-content); margin-inline-start: calc(var(--spacing) * 3.5); } } &:is(.dark *) { &:checked { &::before { content: var(--tw-content); background-color: var(--color-primary-foreground); } } } } } @layer components { .table { width: 100%; caption-side: bottom; font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); thead { & tr { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; } } tbody { & tr:last-child { border-style: var(--tw-border-style); border-width: 0px; } } tfoot { border-top-style: var(--tw-border-style); border-top-width: 1px; background-color: color-mix(in srgb, var(--muted) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-muted) 50%, transparent); } --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); &>tr { &:last-child { border-bottom-style: var(--tw-border-style); border-bottom-width: 0px; } } } tr { border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:hover { @media (hover: hover) { background-color: color-mix(in srgb, var(--muted) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-muted) 50%, transparent); } } } } th { height: calc(var(--spacing) * 10); padding-inline: calc(var(--spacing) * 2); text-align: left; vertical-align: middle; --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); white-space: nowrap; color: var(--color-foreground); &:has([role=checkbox]) { padding-right: calc(var(--spacing) * 0); } &>[role=checkbox] { --tw-translate-y: 2px; translate: var(--tw-translate-x) var(--tw-translate-y); } } td { padding: calc(var(--spacing) * 2); vertical-align: middle; white-space: nowrap; &:has([role=checkbox]) { padding-right: calc(var(--spacing) * 0); } &>[role=checkbox] { --tw-translate-y: 2px; translate: var(--tw-translate-x) var(--tw-translate-y); } } caption { margin-top: calc(var(--spacing) * 4); font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); color: var(--color-muted-foreground); } } } @layer components { .form textarea, .textarea { display: flex; field-sizing: content; min-height: calc(var(--spacing) * 16); width: 100%; border-radius: var(--radius-md); border-style: var(--tw-border-style); border-width: 1px; border-color: var(--color-input); background-color: transparent; padding-inline: calc(var(--spacing) * 3); padding-block: calc(var(--spacing) * 2); font-size: var(--text-base); line-height: var(--tw-leading, var(--text-base--line-height)); --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); transition-property: color,box-shadow; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-outline-style: none; outline-style: none; &::placeholder { color: var(--color-muted-foreground); } &:focus-visible { border-color: var(--color-ring); } &:focus-visible { --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } &:focus-visible { --tw-ring-color: color-mix(in srgb, var(--ring) 50%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-ring) 50%, transparent); } } &:disabled { cursor: not-allowed; } &:disabled { opacity: 50%; } &[aria-invalid="true"] { border-color: var(--color-destructive); } &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 20%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 20%, transparent); } } @media (width >= 48rem) { font-size: var(--text-sm); line-height: var(--tw-leading, var(--text-sm--line-height)); } &:is(.dark *) { background-color: color-mix(in srgb, var(--input) 30%, transparent); @supports (color: color-mix(in lab, red, red)) { background-color: color-mix(in oklab, var(--color-input) 30%, transparent); } } &:is(.dark *) { &[aria-invalid="true"] { --tw-ring-color: color-mix(in srgb, var(--destructive) 40%, transparent); @supports (color: color-mix(in lab, red, red)) { --tw-ring-color: color-mix(in oklab, var(--color-destructive) 40%, transparent); } } } } } @layer components { [data-tooltip] { position: relative; &:before { visibility: hidden; position: absolute; z-index: 50; width: fit-content; max-width: var(--container-xs); --tw-scale-x: 95%; --tw-scale-y: 95%; --tw-scale-z: 95%; scale: var(--tw-scale-x) var(--tw-scale-y); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-radius: var(--radius-md); background-color: var(--color-primary); padding-inline: calc(var(--spacing) * 3); padding-block: calc(var(--spacing) * 1.5); font-size: var(--text-xs); line-height: var(--tw-leading, var(--text-xs--line-height)); color: var(--color-primary-foreground); opacity: 0%; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); --tw-content: attr(data-tooltip); content: var(--tw-content); } &:hover:before { visibility: visible; --tw-scale-x: 100%; --tw-scale-y: 100%; --tw-scale-z: 100%; scale: var(--tw-scale-x) var(--tw-scale-y); opacity: 100%; } &:not([data-side]), &[data-side='top'] { &::before { content: var(--tw-content); bottom: 100%; } &::before { content: var(--tw-content); margin-bottom: calc(var(--spacing) * 1.5); } &::before { content: var(--tw-content); --tw-translate-y: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); } &:hover { @media (hover: hover) { &::before { content: var(--tw-content); --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } &[data-side='bottom'] { &::before { content: var(--tw-content); top: 100%; } &::before { content: var(--tw-content); margin-top: calc(var(--spacing) * 1.5); } &::before { content: var(--tw-content); --tw-translate-y: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); } &:hover { @media (hover: hover) { &::before { content: var(--tw-content); --tw-translate-y: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } &:not([data-side]), &[data-side='top'], &[data-side='bottom'] { &[data-align='start'] { &::before { content: var(--tw-content); left: calc(var(--spacing) * 0); } &::before { content: var(--tw-content); background-color: var(--color-red-500); } } &[data-align='end'] { &::before { content: var(--tw-content); right: calc(var(--spacing) * 0); } } &:not([data-align]), &[data-align='center'] { &::before { content: var(--tw-content); left: calc(1/2 * 100%); } &::before { content: var(--tw-content); --tw-translate-x: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } } } &[data-side='left'] { &::before { content: var(--tw-content); right: 100%; } &::before { content: var(--tw-content); margin-right: calc(var(--spacing) * 1.5); } &::before { content: var(--tw-content); --tw-translate-x: calc(var(--spacing) * 2); translate: var(--tw-translate-x) var(--tw-translate-y); } &:hover { @media (hover: hover) { &::before { content: var(--tw-content); --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } &[data-side='right'] { &::before { content: var(--tw-content); left: 100%; } &::before { content: var(--tw-content); margin-left: calc(var(--spacing) * 1.5); } &::before { content: var(--tw-content); --tw-translate-x: calc(var(--spacing) * -2); translate: var(--tw-translate-x) var(--tw-translate-y); } &:hover { @media (hover: hover) { &::before { content: var(--tw-content); --tw-translate-x: calc(var(--spacing) * 0); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } &[data-side='left'], &[data-side='right'] { &[data-align='start'] { &::before { content: var(--tw-content); top: calc(var(--spacing) * 0); } } &[data-align='end'] { &::before { content: var(--tw-content); bottom: calc(var(--spacing) * 0); } } &:not([data-align]), &[data-align='center'] { &::before { content: var(--tw-content); top: calc(1/2 * 100%); } &::before { content: var(--tw-content); --tw-translate-y: calc(calc(1/2 * 100%) * -1); translate: var(--tw-translate-x) var(--tw-translate-y); } } } } } @layer components { .toasts { pointer-events: none; position: fixed; right: calc(var(--spacing) * 0); bottom: calc(var(--spacing) * 0); z-index: 100; max-width: var(--container-sm); :where(& > :not(:last-child)) { --tw-space-y-reverse: 0; margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse)); margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse))); } padding: calc(var(--spacing) * 6); } .toasts > [role='alert'], .toasts > [role='status'] { transition-behavior: allow-discrete; pointer-events: auto; display: flex; flex-direction: row-reverse; align-items: flex-start; justify-content: space-between; column-gap: calc(var(--spacing) * 2); border-radius: var(--radius-lg); border-style: var(--tw-border-style); border-width: 1px; background-color: var(--color-background); padding: calc(var(--spacing) * 4); --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1)); box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } .toasts > [aria-hidden='true'] { display: none; --tw-scale-x: 75%; --tw-scale-y: 75%; --tw-scale-z: 75%; scale: var(--tw-scale-x) var(--tw-scale-y); opacity: 0%; transition-property: all; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); } .toasts > [role='alert'] > button, .toasts > [role='status'] > button { padding-block: calc(var(--spacing) * 0.5); opacity: 50%; transition-property: opacity; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:hover { @media (hover: hover) { opacity: 100%; } } } } @layer components { ul[role='tablist'] { display: flex; align-items: center; border-bottom-style: var(--tw-border-style); border-bottom-width: 1px; border-color: var(--color-border); } ul[role='tablist'] li { margin-bottom: calc(1px * -1); display: flex; align-items: center; column-gap: calc(var(--spacing) * 2); } ul[role='tablist'] li [role='tab'] { display: flex; align-items: center; column-gap: calc(var(--spacing) * 2); border-bottom-style: var(--tw-border-style); border-bottom-width: 2px; border-color: transparent; padding-inline: calc(var(--spacing) * 3); padding-block: calc(var(--spacing) * 2.5); --tw-font-weight: var(--font-weight-medium); font-weight: var(--font-weight-medium); color: var(--color-muted-foreground); transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to; transition-timing-function: var(--tw-ease, var(--default-transition-timing-function)); transition-duration: var(--tw-duration, var(--default-transition-duration)); &:hover { @media (hover: hover) { color: var(--color-foreground); } } } ul[role='tablist'] li [role='tab'][aria-selected='true'] { border-bottom-color: var(--color-primary); color: var(--color-foreground); } } @property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; } @property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; } @property --tw-leading { syntax: "*"; inherits: false; } @property --tw-font-weight { syntax: "*"; inherits: false; } @property --tw-tracking { syntax: "*"; inherits: false; } @property --tw-ordinal { syntax: "*"; inherits: false; } @property --tw-slashed-zero { syntax: "*"; inherits: false; } @property --tw-numeric-figure { syntax: "*"; inherits: false; } @property --tw-numeric-spacing { syntax: "*"; inherits: false; } @property --tw-numeric-fraction { syntax: "*"; inherits: false; } @property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-shadow-color { syntax: "*"; inherits: false; } @property --tw-shadow-alpha { syntax: ""; inherits: false; initial-value: 100%; } @property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-inset-shadow-color { syntax: "*"; inherits: false; } @property --tw-inset-shadow-alpha { syntax: ""; inherits: false; initial-value: 100%; } @property --tw-ring-color { syntax: "*"; inherits: false; } @property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-inset-ring-color { syntax: "*"; inherits: false; } @property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-ring-inset { syntax: "*"; inherits: false; } @property --tw-ring-offset-width { syntax: ""; inherits: false; initial-value: 0px; } @property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; } @property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; } @property --tw-duration { syntax: "*"; inherits: false; } @property --tw-content { syntax: "*"; initial-value: ""; inherits: false; } @property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; } @property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; } @property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; } @keyframes spin { to { transform: rotate(360deg); } } @layer properties { @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) { *, ::before, ::after, ::backdrop { --tw-translate-x: 0; --tw-translate-y: 0; --tw-translate-z: 0; --tw-space-y-reverse: 0; --tw-border-style: solid; --tw-leading: initial; --tw-font-weight: initial; --tw-tracking: initial; --tw-ordinal: initial; --tw-slashed-zero: initial; --tw-numeric-figure: initial; --tw-numeric-spacing: initial; --tw-numeric-fraction: initial; --tw-shadow: 0 0 #0000; --tw-shadow-color: initial; --tw-shadow-alpha: 100%; --tw-inset-shadow: 0 0 #0000; --tw-inset-shadow-color: initial; --tw-inset-shadow-alpha: 100%; --tw-ring-color: initial; --tw-ring-shadow: 0 0 #0000; --tw-inset-ring-color: initial; --tw-inset-ring-shadow: 0 0 #0000; --tw-ring-inset: initial; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-duration: initial; --tw-content: ""; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scale-z: 1; } } }