/* MARK: App root — root Div always emitted by PrefabApp.to_json(); theming/layout target */
.pf-app-root {
  @apply p-6;
}

/* MARK: Inline code — bg-muted fallback, overridden by gradients.css for accent tinting */
.pf-code {
  @apply bg-muted;
}

/* MARK: Layout defaults — sensible gaps so cards don't touch */
.flex.flex-col:has(> .pf-card) {
  gap: var(--layout-gap, 1rem);
}
.flex.flex-row:has(> .pf-card) {
  gap: var(--layout-gap, 1rem);
}
.grid:has(> .pf-card) {
  gap: var(--layout-gap, 1rem);
}

/* MARK: Accordion */
.pf-accordion-item {
  @apply not-last:border-b not-last:border-border;
}

.pf-accordion-trigger {
  @apply focus-visible:ring-ring/50 focus-visible:border-ring focus-visible:after:border-ring **:data-[slot=accordion-trigger-icon]:text-muted-foreground rounded-lg py-2.5 text-left text-sm font-medium hover:bg-muted focus-visible:ring-[3px] **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4;
}

.pf-accordion-content {
  @apply data-open:animate-accordion-down data-closed:animate-accordion-up text-sm;
}

.pf-accordion-content-inner {
  @apply pt-0 pb-2.5;
}

/* MARK: Alert */
.pf-alert {
  @apply grid gap-0.5 rounded-lg border border-border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4;
}

.pf-alert-variant-default {
  @apply bg-card text-card-foreground;
}

.pf-alert-variant-destructive {
  @apply text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current;
}

.pf-alert-title {
  @apply font-medium group-has-[>svg]/alert:col-start-2;
}

.pf-alert-description {
  @apply text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4;
}

.pf-alert-action {
  @apply absolute top-2 right-2;
}

/* MARK: Alert Dialog */
.pf-alert-dialog-overlay {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs;
}

.pf-alert-dialog-content {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-4 rounded-xl p-4 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm;
}

.pf-alert-dialog-header {
  @apply grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr];
}

.pf-alert-dialog-media {
  @apply bg-muted mb-2 inline-flex size-10 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6;
}

.pf-alert-dialog-title {
  @apply text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2;
}

.pf-alert-dialog-description {
  @apply text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3;
}

.pf-alert-dialog-footer {
  @apply bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t border-border p-4;
}

/* MARK: Avatar */
.pf-avatar {
  @apply size-8 rounded-full after:rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6;
}

.pf-avatar-fallback {
  @apply bg-muted text-muted-foreground rounded-full;
}

.pf-avatar-image {
  @apply rounded-full;
}

.pf-avatar-badge {
  @apply bg-primary text-primary-foreground ring-background;
}

.pf-avatar-group-count {
  @apply bg-muted text-muted-foreground size-8 rounded-full text-sm group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3;
}

/* MARK: Badge */
.pf-badge {
  @apply h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3!;
}

.pf-badge-variant-default {
  @apply bg-primary text-primary-foreground [a]:hover:bg-primary/80;
}

.pf-badge-variant-secondary {
  @apply bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80;
}

.pf-badge-variant-outline {
  @apply border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground;
}

.pf-badge-variant-destructive {
  @apply bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20;
}

.pf-badge-variant-ghost {
  @apply hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50;
}

.pf-badge-variant-link {
  @apply text-primary underline-offset-4 hover:underline;
}

/* MARK: Breadcrumb */
.pf-breadcrumb-list {
  @apply text-muted-foreground gap-1.5 text-sm;
}

.pf-breadcrumb-item {
  @apply gap-1;
}

.pf-breadcrumb-link {
  @apply hover:text-foreground transition-colors;
}

.pf-breadcrumb-page {
  @apply text-foreground font-normal;
}

.pf-breadcrumb-separator {
  @apply [&>svg]:size-3.5;
}

.pf-breadcrumb-ellipsis {
  @apply size-5 [&>svg]:size-4;
}

/* MARK: Button */
.pf-button {
  @apply inline-flex items-center justify-center gap-1.5 cursor-pointer transition-all disabled:pointer-events-none disabled:opacity-50 shrink-0 outline-none select-none text-center focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4;
}

.pf-button-variant-default {
  @apply bg-primary text-primary-foreground hover:bg-primary/90 [a]:hover:bg-primary/80;
}

.pf-button-variant-outline {
  @apply border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground;
}

.pf-button-variant-secondary {
  @apply bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground;
}

.pf-button-variant-ghost {
  @apply hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground;
}

.pf-button-variant-destructive {
  @apply bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30;
}

.pf-button-variant-link {
  @apply text-primary underline-offset-4 hover:underline;
}

.pf-button-variant-success {
  @apply bg-[var(--success)]/10 hover:bg-[var(--success)]/20 text-[var(--success)] dark:bg-[var(--success)]/20 dark:hover:bg-[var(--success)]/30;
}

.pf-button-variant-warning {
  @apply bg-[var(--warning)]/10 hover:bg-[var(--warning)]/20 text-[var(--warning)] dark:bg-[var(--warning)]/20 dark:hover:bg-[var(--warning)]/30;
}

.pf-button-variant-info {
  @apply bg-[var(--info)]/10 hover:bg-[var(--info)]/20 text-[var(--info)] dark:bg-[var(--info)]/20 dark:hover:bg-[var(--info)]/30;
}

.pf-button-size-xs {
  @apply min-h-6 py-1 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3;
}

.pf-button-size-sm {
  @apply min-h-7 py-1.5 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5;
}

.pf-button-size-default {
  @apply min-h-8 py-1.5 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2;
}

.pf-button-size-lg {
  @apply min-h-9 py-2 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3;
}

.pf-button-size-icon-xs {
  @apply size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3;
}

.pf-button-size-icon-sm {
  @apply size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg;
}

.pf-button-size-icon {
  @apply size-8;
}

.pf-button-size-icon-lg {
  @apply size-9;
}

/* MARK: Button Group */
.pf-button-group {
  @apply has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg;
}

.pf-button-group-orientation-horizontal {
  @apply [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!;

  & > [data-slot="button"] + [data-slot="button"] {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  & > [data-slot="button"]:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}

.pf-button-group-orientation-vertical {
  @apply [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!;

  & > [data-slot="button"] + [data-slot="button"] {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  & > [data-slot="button"]:not(:last-child) {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}

.pf-button-group-text {
  @apply bg-muted gap-2 rounded-lg border border-border px-2.5 text-sm font-medium [&_svg:not([class*='size-'])]:size-4;
}

.pf-button-group-separator {
  @apply bg-input;
}

/* MARK: Calendar */
.pf-calendar {
  @apply p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)];
}

.pf-calendar-dropdown-root {
  @apply has-focus:border-ring border-input has-focus:ring-ring/50 border has-focus:ring-[3px];
}

.pf-calendar-caption-label {
  @apply h-6 pr-1 pl-1.5;
}

/* MARK: Card */
.pf-card {
  @apply ring-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-xl text-sm ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl;
  padding-top: var(--card-padding-y, 1rem);
  padding-bottom: var(--card-padding-y, 1rem);
}

.pf-card-header {
  @apply gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3;
}

.pf-card-title {
  @apply text-base leading-snug font-medium group-data-[size=sm]/card:text-sm;
}

.pf-card-description {
  @apply text-muted-foreground text-sm;
}

.pf-card-content {
  @apply px-4 group-data-[size=sm]/card:px-3;
}

.pf-card-footer {
  @apply bg-muted/50 rounded-b-xl border-t border-border p-4 group-data-[size=sm]/card:p-3;
}

/* MARK: Carousel */
.pf-carousel-previous {
  @apply rounded-full;
}

.pf-carousel-next {
  @apply rounded-full;
}

/* MARK: Chart */
.pf-chart-tooltip {
  @apply border-border/50 bg-background gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl;
}

/* MARK: Checkbox */
.pf-checkbox {
  @apply border-input dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-[4px] border transition-colors group-has-disabled/field:opacity-50 focus-visible:ring-[3px] aria-invalid:ring-[3px];
}

.pf-checkbox-indicator {
  @apply [&>svg]:size-3.5;
}

/* MARK: Combobox */
.pf-combobox-content {
  @apply bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:border-input/30 max-h-72 min-w-36 overflow-hidden rounded-lg shadow-md ring-1 duration-100 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none;
}

.pf-combobox-content-logical {
  @apply data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2;
}

.pf-combobox-label {
  @apply text-muted-foreground/70 px-1.5 py-1.5 text-xs pointer-events-none select-none;
}

.pf-combobox-item {
  @apply data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-combobox-item-indicator {
  @apply pointer-events-none absolute right-2 flex size-4 items-center justify-center;
}

.pf-combobox-empty {
  @apply text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex;
}

.pf-combobox-list {
  @apply max-h-[min(18rem,calc(var(--available-height,18rem)-2.5rem))] scroll-py-1 overflow-y-auto p-1 data-empty:p-0;
}

.pf-combobox-item-text {
  @apply flex flex-1 gap-2;
}

.pf-combobox-separator {
  @apply bg-border -mx-1 my-1 h-px;
}

.pf-combobox-trigger {
  @apply [&_svg:not([class*='size-'])]:size-4;
}

.pf-combobox-trigger-icon {
  @apply text-muted-foreground size-4;
}

.pf-combobox-chips {
  @apply dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-8 flex-wrap items-center gap-1 rounded-lg border bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:ring-[3px] has-aria-invalid:ring-[3px] has-data-[slot=combobox-chip]:px-1;
}

.pf-combobox-chip {
  @apply bg-muted text-foreground flex h-[calc(--spacing(5.25))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-data-[slot=combobox-chip-remove]:pr-0;
}

.pf-combobox-chip-remove {
  @apply -ml-1 opacity-50 hover:opacity-100;
}

/* MARK: Command */
.pf-command {
  @apply bg-popover text-popover-foreground rounded-xl! p-1;
}

.pf-command-dialog {
  @apply rounded-xl!;
}

.pf-command-input-wrapper {
  @apply p-1 pb-0;
}

.pf-command-input-group {
  @apply bg-input/30 border-input/30 h-8! rounded-lg! shadow-none! *:data-[slot=input-group-addon]:pl-2!;
}

.pf-command-input-icon {
  @apply size-4 shrink-0 opacity-50;
}

.pf-command-input {
  @apply w-full text-sm;
}

.pf-command-list {
  @apply no-scrollbar max-h-72 scroll-py-1 outline-none;
}

.pf-command-empty {
  @apply py-6 text-center text-sm;
}

.pf-command-group {
  @apply text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium;
}

.pf-command-separator {
  @apply bg-border -mx-1 h-px;
}

.pf-command-item {
  @apply data-selected:bg-muted data-selected:text-foreground data-selected:*:[svg]:text-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none [&_svg:not([class*='size-'])]:size-4 [[data-slot=dialog-content]_&]:rounded-lg!;
}

.pf-command-shortcut {
  @apply text-muted-foreground group-data-selected/command-item:text-foreground ml-auto text-xs tracking-widest;
}

/* MARK: Context Menu */
.pf-context-menu-content {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-36 rounded-lg p-1 shadow-md ring-1 duration-100;
}

.pf-context-menu-content-logical {
  @apply data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2;
}

.pf-context-menu-item {
  @apply focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive focus:*:[svg]:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-context-menu-checkbox-item {
  @apply focus:bg-accent focus:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-context-menu-radio-item {
  @apply focus:bg-accent focus:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-context-menu-item-indicator {
  @apply absolute right-2;
}

.pf-context-menu-label {
  @apply text-muted-foreground px-1.5 py-1 text-xs font-medium;
}

.pf-context-menu-separator {
  @apply bg-border -mx-1 my-1 h-px;
}

.pf-context-menu-shortcut {
  @apply text-muted-foreground group-focus/context-menu-item:text-accent-foreground ml-auto text-xs tracking-widest;
}

.pf-context-menu-sub-trigger {
  @apply focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-context-menu-sub-content {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-popover text-popover-foreground min-w-32 rounded-lg border border-border p-1 shadow-lg duration-100;
}

.pf-context-menu-subcontent {
  @apply shadow-lg;
}

/* MARK: Dialog */
.pf-dialog-overlay {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs;
}

.pf-dialog-content {
  @apply bg-background data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-4 text-sm ring-1 duration-100 sm:max-w-sm;
}

.pf-dialog-close {
  @apply absolute top-2 right-2;
}

.pf-dialog-header {
  @apply gap-2;
}

.pf-dialog-footer {
  @apply bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t border-border p-4;
}

.pf-dialog-title {
  @apply text-base leading-none font-medium;
}

.pf-dialog-description {
  @apply text-muted-foreground *:[a]:hover:text-foreground text-sm *:[a]:underline *:[a]:underline-offset-3;
}

/* MARK: Drawer */
.pf-drawer-overlay {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 supports-backdrop-filter:backdrop-blur-xs;
}

.pf-drawer-content {
  @apply bg-background flex h-auto flex-col text-sm data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=bottom]:border-border data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:border-border data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:border-border data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=top]:border-border data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm;
}

.pf-drawer-handle {
  @apply bg-muted mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block;
}

.pf-drawer-header {
  @apply gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-0.5 md:text-left;
}

.pf-drawer-title {
  @apply text-foreground text-base font-medium;
}

.pf-drawer-description {
  @apply text-muted-foreground text-sm;
}

.pf-drawer-footer {
  @apply gap-2 p-4;
}

/* MARK: Dropdown Menu */
.pf-dropdown-menu-content {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100;
}

.pf-dropdown-menu-content-logical {
  @apply data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2;
}

.pf-dropdown-menu-item {
  @apply focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-dropdown-menu-checkbox-item {
  @apply focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-dropdown-menu-radio-item {
  @apply focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-dropdown-menu-item-indicator {
  @apply pointer-events-none absolute right-2 flex items-center justify-center;
}

.pf-dropdown-menu-label {
  @apply text-muted-foreground px-1.5 py-1 text-xs font-medium;
}

.pf-dropdown-menu-separator {
  @apply bg-border -mx-1 my-1 h-px;
}

.pf-dropdown-menu-shortcut {
  @apply text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest;
}

.pf-dropdown-menu-sub-trigger {
  @apply focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-dropdown-menu-sub-content {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-[96px] rounded-md p-1 shadow-lg ring-1 duration-100;
}

.pf-dropdown-menu-subcontent {
  @apply shadow-lg;
}

/* MARK: Empty */
.pf-empty {
  @apply gap-4 rounded-lg border-dashed p-6;
}

.pf-empty-header {
  @apply gap-2;
}

.pf-empty-media {
  @apply mb-2;
}

.pf-empty-media-default {
  @apply bg-transparent;
}

.pf-empty-media-icon {
  @apply bg-muted text-foreground flex size-8 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-4;
}

.pf-empty-title {
  @apply text-sm font-medium tracking-tight;
}

.pf-empty-description {
  @apply text-sm/relaxed;
}

.pf-empty-content {
  @apply gap-2.5 text-sm;
}

/* MARK: Field */
.pf-field-set {
  @apply gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3;
}

.pf-field-legend {
  @apply mb-1.5 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base;
}

.pf-field-group {
  @apply gap-5 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4;
}

.pf-field {
  @apply data-[invalid=true]:text-destructive gap-2;
}

.pf-field-content {
  @apply gap-0.5;
}

.pf-field-label {
  @apply has-data-checked:bg-primary/5 has-data-checked:border-primary/30 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-2.5;
}

.pf-field-title {
  @apply gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50;
}

.pf-field-description {
  @apply text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5;
}

.pf-field-separator {
  @apply -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2;
}

.pf-field-separator-content {
  @apply text-muted-foreground px-2;
}

.pf-field-error {
  @apply text-destructive text-sm hidden group-data-[invalid=true]/field:block;
}

/* MARK: Hover Card */
.pf-hover-card-content {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground w-64 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100;
}

.pf-hover-card-content-logical {
  @apply data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2;
}

/* MARK: Input */
.pf-input {
  @apply dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 h-8 rounded-lg border bg-transparent px-2.5 py-1 text-base transition-colors file:h-6 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm;
}

/* MARK: Input OTP */
.pf-input-otp {
  @apply gap-2;
}

.pf-input-otp-group {
  @apply has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive rounded-lg has-aria-invalid:ring-[3px];
}

.pf-input-otp-slot {
  @apply dark:bg-input/30 border-input data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive size-8 border-y border-r text-sm transition-all outline-none first:rounded-l-lg first:border-l last:rounded-r-lg data-[active=true]:ring-[3px];
}

.pf-input-otp-caret-line {
  @apply animate-caret-blink bg-foreground h-4 w-px duration-1000;
}

.pf-input-otp-separator {
  @apply [&_svg:not([class*='size-'])]:size-4;
}

/* MARK: Item */
.pf-item {
  @apply [a]:hover:bg-muted rounded-lg border border-border text-sm;
}

.pf-item-variant-default {
  @apply border-transparent;
}

.pf-item-variant-outline {
  @apply border-border;
}

.pf-item-variant-muted {
  @apply bg-muted/50 border-transparent;
}

.pf-item-size-default {
  @apply gap-2.5 px-3 py-2.5;
}

.pf-item-size-sm {
  @apply gap-2.5 px-3 py-2.5;
}

.pf-item-size-xs {
  @apply gap-2 px-2.5 py-2 [[data-slot=dropdown-menu-content]_&]:p-0;
}

.pf-item-media {
  @apply gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start;
}

.pf-item-media-variant-default {
  @apply bg-transparent;
}

.pf-item-media-variant-icon {
  @apply [&_svg:not([class*='size-'])]:size-4;
}

.pf-item-media-variant-image {
  @apply size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover;
}

.pf-item-content {
  @apply gap-1 group-data-[size=xs]/item:gap-0;
}

.pf-item-title {
  @apply gap-2 text-sm leading-snug font-medium underline-offset-4;
}

.pf-item-description {
  @apply text-muted-foreground text-left text-sm leading-normal group-data-[size=xs]/item:text-xs;
}

.pf-item-actions {
  @apply gap-2;
}

.pf-item-header {
  @apply gap-2;
}

.pf-item-footer {
  @apply gap-2;
}

.pf-item-group {
  @apply gap-4 has-[[data-size=sm]]:gap-2.5 has-[[data-size=xs]]:gap-2;
}

.pf-item-separator {
  @apply my-2;
}

/* MARK: Kbd */
.pf-kbd {
  @apply bg-muted text-muted-foreground [[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_svg:not([class*='size-'])]:size-3;
}

.pf-kbd-group {
  @apply gap-1;
}

/* MARK: Label */
.pf-label {
  @apply gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50;
}
.pf-label-optional {
  @apply text-xs text-muted-foreground font-normal;
}

/* MARK: Menubar */
.pf-menubar {
  @apply bg-background h-8 gap-0.5 rounded-lg border border-border p-[3px];
}

.pf-menubar-trigger {
  @apply hover:bg-muted aria-expanded:bg-muted rounded-sm px-1.5 py-[2px] text-sm font-medium;
}

.pf-menubar-content {
  @apply bg-popover text-popover-foreground data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-lg p-1 shadow-md ring-1 duration-100;
}

.pf-menubar-content-logical {
  @apply data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2;
}

.pf-menubar-item {
  @apply focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg:not([class*='size-'])]:size-4;
}

.pf-menubar-checkbox-item {
  @apply focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm data-disabled:opacity-50;
}

.pf-menubar-checkbox-item-indicator {
  @apply left-1.5 size-4 [&_svg:not([class*='size-'])]:size-4;
}

.pf-menubar-radio-item {
  @apply focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-1.5 pl-7 text-sm data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4;
}

.pf-menubar-radio-item-indicator {
  @apply left-1.5 size-4 [&_svg:not([class*='size-'])]:size-4;
}

.pf-menubar-label {
  @apply px-1.5 py-1 text-sm font-medium data-[inset]:pl-8;
}

.pf-menubar-separator {
  @apply bg-border;
}

.pf-menubar-shortcut {
  @apply text-muted-foreground group-focus/menubar-item:text-accent-foreground text-xs tracking-widest;
}

.pf-menubar-sub-trigger {
  @apply focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm data-[inset]:pl-8 [&_svg:not([class*='size-'])]:size-4;
}

.pf-menubar-sub-content {
  @apply bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-32 rounded-lg p-1 shadow-lg ring-1 duration-100;
}

/* MARK: Navigation Menu */
.pf-navigation-menu {
  @apply max-w-max;
}

.pf-navigation-menu-list {
  @apply gap-0;
}

.pf-navigation-menu-trigger {
  @apply bg-background hover:bg-muted focus:bg-muted data-open:hover:bg-muted data-open:focus:bg-muted data-open:bg-muted/50 focus-visible:ring-ring/50 data-popup-open:bg-muted/50 data-popup-open:hover:bg-muted rounded-lg px-2.5 py-1.5 text-sm font-medium transition-all focus-visible:ring-[3px] focus-visible:outline-1 disabled:opacity-50;
}

.pf-navigation-menu-link {
  @apply data-active:focus:bg-muted data-active:hover:bg-muted data-active:bg-muted/50 focus-visible:ring-ring/50 hover:bg-muted focus:bg-muted flex items-center gap-2 rounded-lg p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4 [[data-slot=navigation-menu-content]_&]:rounded-md;
}

.pf-navigation-menu-trigger-icon {
  @apply relative top-[1px] ml-1 size-3 transition duration-300 group-data-open/navigation-menu-trigger:rotate-180 group-data-popup-open/navigation-menu-trigger:rotate-180;
}

.pf-navigation-menu-content {
  @apply data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-open:animate-in group-data-[viewport=false]/navigation-menu:data-closed:animate-out group-data-[viewport=false]/navigation-menu:data-closed:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-open:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-open:fade-in-0 group-data-[viewport=false]/navigation-menu:data-closed:fade-out-0 group-data-[viewport=false]/navigation-menu:ring-foreground/10 p-1 ease-[cubic-bezier(0.22,1,0.36,1)] group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:ring-1 group-data-[viewport=false]/navigation-menu:duration-300;
}

.pf-navigation-menu-viewport {
  @apply bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:zoom-out-95 data-open:zoom-in-90 ring-foreground/10 rounded-lg shadow ring-1 duration-100;
}

.pf-navigation-menu-indicator {
  @apply data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in;
}

.pf-navigation-menu-indicator-arrow {
  @apply bg-border rounded-tl-sm shadow-md;
}

.pf-navigation-menu-positioner {
  @apply transition-[top,left,right,bottom] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] data-[side=bottom]:before:top-[-10px] data-[side=bottom]:before:right-0 data-[side=bottom]:before:left-0;
}

.pf-navigation-menu-popup {
  @apply bg-popover text-popover-foreground ring-foreground/10 rounded-lg shadow ring-1 transition-all ease-[cubic-bezier(0.22,1,0.36,1)] outline-none data-[ending-style]:scale-90 data-[ending-style]:opacity-0 data-[ending-style]:duration-150 data-[starting-style]:scale-90 data-[starting-style]:opacity-0;
}

/* MARK: Native Select */
.pf-native-select {
  @apply border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 pr-8 pl-2.5 text-sm transition-colors select-none focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5;
}

.pf-native-select-icon {
  @apply text-muted-foreground top-1/2 right-2.5 size-4 -translate-y-1/2;
}

/* MARK: Pagination */
.pf-pagination-content {
  @apply gap-0.5;
}

.pf-pagination-ellipsis {
  @apply size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4;
}

.pf-pagination-previous {
  @apply pl-1.5!;
}

.pf-pagination-next {
  @apply pr-1.5!;
}

/* MARK: Popover */
.pf-popover-content {
  @apply bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 flex flex-col gap-2.5 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100;
}

.pf-popover-content-logical {
  @apply data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2;
}

/* MARK: HoverCard */
.pf-hover-card-content {
  @apply bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 flex flex-col gap-2.5 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100;
}

.pf-popover-header {
  @apply flex flex-col gap-0.5 text-sm;
}

.pf-popover-title {
  @apply font-medium;
}

.pf-popover-description {
  @apply text-muted-foreground;
}

/* MARK: Progress */
.pf-progress {
  @apply bg-muted h-1.5 rounded-full;
}

.pf-progress-vertical {
  @apply h-40 w-1.5;
}

.pf-progress-track {
  @apply bg-muted h-1.5 rounded-full;
}

.pf-progress-size-sm,
.pf-progress-size-sm .pf-progress-track {
  @apply h-1;
}
.pf-progress-size-lg,
.pf-progress-size-lg .pf-progress-track {
  @apply h-2.5;
}
.pf-progress-vertical.pf-progress-size-sm {
  @apply w-1;
}
.pf-progress-vertical.pf-progress-size-lg {
  @apply w-2.5;
}

.pf-progress-indicator {
}

.pf-progress-variant-default {
  @apply bg-primary;
}

.pf-progress-variant-success {
  @apply bg-[var(--success)];
}

.pf-progress-variant-warning {
  @apply bg-[var(--warning)];
}

.pf-progress-variant-destructive {
  @apply bg-destructive;
}

.pf-progress-variant-info {
  @apply bg-[var(--info)];
}

.pf-progress-variant-muted {
  @apply bg-muted-foreground;
}

.pf-progress-target {
  @apply bg-muted-foreground absolute h-3.5 w-[2px] rounded-full;
  top: 50%;
  transform: translate(-50%, -50%);
}

.pf-progress-vertical .pf-progress-target {
  @apply bg-muted-foreground absolute h-[2px] w-3.5 rounded-full;
  left: 50%;
  top: auto;
  transform: translate(-50%, 50%);
}

.pf-progress-label {
  @apply text-sm font-medium;
}

.pf-progress-value {
  @apply text-muted-foreground ml-auto text-sm tabular-nums;
}

/* MARK: Radio Group */
.pf-radio-group {
  @apply grid gap-2;
}

.pf-radio-group-item {
  @apply border-input text-primary dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 flex size-4 rounded-full focus-visible:ring-[3px] aria-invalid:ring-[3px];
}

.pf-radio-group-indicator {
  @apply group-aria-invalid/radio-group-item:text-destructive text-primary flex size-4 items-center justify-center;
}

.pf-radio-group-indicator-icon {
  @apply absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-current;
}

/* MARK: Resizable */
.pf-resizable-handle-icon {
  @apply bg-border h-6 w-1 rounded-lg;
}

/* MARK: Scroll Area */
.pf-scroll-area-scrollbar {
  @apply data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent;
}

.pf-scroll-area-thumb {
  @apply rounded-full;
}

/* MARK: Select */
.pf-select-trigger {
  @apply border-input data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-lg border bg-transparent text-sm transition-colors select-none focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-8 data-[size=default]:py-2 data-[size=default]:pr-2 data-[size=default]:pl-2.5 data-[size=sm]:h-7 data-[size=sm]:py-1 data-[size=sm]:pr-1.5 data-[size=sm]:pl-2 data-[size=sm]:text-xs data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:flex *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4;
}

.pf-select-value {
  @apply flex flex-1 text-left;
}

.pf-select-trigger-icon {
  @apply text-muted-foreground size-4;
}

.pf-select-content {
  @apply bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-lg shadow-md ring-1 duration-100;
}

.pf-select-content-logical {
  @apply data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2;
}

.pf-select-label {
  @apply text-muted-foreground px-1.5 py-1 text-xs;
}

.pf-select-item {
  @apply focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2;
}

.pf-select-item-indicator {
  @apply pointer-events-none absolute right-2 flex size-4 items-center justify-center;
}

.pf-select-group {
  @apply scroll-my-1 p-1;
}

.pf-select-item-text {
  @apply flex flex-1 gap-2;
}

.pf-select-separator {
  @apply bg-border -mx-1 my-1 h-px;
}

.pf-select-scroll-up-button {
  @apply bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4;
}

.pf-select-scroll-down-button {
  @apply bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4;
}

/* MARK: Separator */
.pf-separator {
  @apply bg-border shrink-0;
}

.pf-separator-horizontal {
  @apply h-px w-full;
}

.pf-separator-vertical {
  @apply h-full w-px;
}

/* MARK: Sheet */
.pf-sheet-overlay {
  @apply data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs;
}

.pf-sheet-content {
  @apply bg-background data-open:animate-in data-closed:animate-out data-[side=right]:data-closed:slide-out-to-right-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=top]:data-closed:slide-out-to-top-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:fade-out-0 data-open:fade-in-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=bottom]:data-open:slide-in-from-bottom-10 fixed z-50 flex flex-col gap-4 bg-clip-padding text-sm shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:border-border data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:border-border data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:border-border data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:border-border data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm;
}

.pf-sheet-close {
  @apply absolute top-3 right-3;
}

.pf-sheet-header {
  @apply gap-0.5 p-4;
}

.pf-sheet-footer {
  @apply gap-2 p-4;
}

.pf-sheet-title {
  @apply text-foreground text-base font-medium;
}

.pf-sheet-description {
  @apply text-muted-foreground text-sm;
}

/* MARK: Sidebar */
.pf-sidebar-gap {
  @apply transition-[width] duration-200 ease-linear;
}

.pf-sidebar-inner {
  @apply bg-sidebar group-data-[variant=floating]:ring-sidebar-border group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1;
}

.pf-sidebar-rail {
  @apply hover:after:bg-sidebar-border;
}

.pf-sidebar-inset {
  @apply bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2;
}

.pf-sidebar-input {
  @apply bg-background h-8 w-full shadow-none;
}

.pf-sidebar-header {
  @apply gap-2 p-2;
}

.pf-sidebar-content {
  @apply no-scrollbar gap-0;
}

.pf-sidebar-footer {
  @apply gap-2 p-2;
}

.pf-sidebar-separator {
  @apply bg-sidebar-border mx-2;
}

.pf-sidebar-group {
  @apply p-2;
}

.pf-sidebar-menu {
  @apply gap-0;
}

.pf-sidebar-group-content {
  @apply text-sm;
}

.pf-sidebar-group-label {
  @apply text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4;
}

.pf-sidebar-group-action {
  @apply text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 w-5 rounded-md p-0 focus-visible:ring-2 [&>svg]:size-4;
}

.pf-sidebar-menu-button {
  @apply ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium;
}

.pf-sidebar-menu-button-variant-default {
  @apply hover:bg-sidebar-accent hover:text-sidebar-accent-foreground;
}

.pf-sidebar-menu-button-variant-outline {
  @apply bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))];
}

.pf-sidebar-menu-button-size-default {
  @apply h-8 text-sm;
}

.pf-sidebar-menu-button-size-sm {
  @apply h-7 text-xs;
}

.pf-sidebar-menu-button-size-lg {
  @apply h-12 text-sm group-data-[collapsible=icon]:p-0!;
}

.pf-sidebar-menu-action {
  @apply text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 aspect-square w-5 rounded-md p-0 peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 focus-visible:ring-2 [&>svg]:size-4;
}

.pf-sidebar-menu-badge {
  @apply text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 rounded-md px-1 text-xs font-medium peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1;
}

.pf-sidebar-menu-skeleton {
  @apply h-8 gap-2 rounded-md px-2;
}

.pf-sidebar-menu-skeleton-icon {
  @apply size-4 rounded-md;
}

.pf-sidebar-menu-skeleton-text {
  @apply h-4;
}

.pf-sidebar-menu-sub {
  @apply border-sidebar-border mx-3.5 translate-x-px gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden;
}

.pf-sidebar-menu-sub-button {
  @apply text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground h-7 gap-2 rounded-md px-2 focus-visible:ring-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>svg]:size-4;
}

/* MARK: Skeleton */
.pf-skeleton {
  @apply bg-muted rounded-md;
}

/* MARK: Slider */
.pf-slider {
  @apply data-vertical:min-h-40;
}

.pf-slider-track {
  @apply bg-muted rounded-full data-horizontal:h-1.5 data-horizontal:w-full data-vertical:h-full data-vertical:w-1.5;
}

.pf-slider-size-sm .pf-slider-track {
  @apply data-horizontal:h-1 data-vertical:w-1;
}
.pf-slider-size-lg .pf-slider-track {
  @apply data-horizontal:h-2.5 data-vertical:w-2.5;
}

.pf-slider-range {
}

.pf-slider-variant-default {
  @apply bg-primary;
}

.pf-slider-variant-success {
  @apply bg-[var(--success)];
}

.pf-slider-variant-warning {
  @apply bg-[var(--warning)];
}

.pf-slider-variant-destructive {
  @apply bg-destructive;
}

.pf-slider-variant-info {
  @apply bg-[var(--info)];
}

.pf-slider-variant-muted {
  @apply bg-muted-foreground;
}

.pf-slider-thumb {
  @apply border-ring ring-ring/50 relative size-3 rounded-full border bg-white transition-[color,box-shadow] after:absolute after:-inset-2 hover:ring-[3px] focus-visible:ring-[3px] focus-visible:outline-hidden active:ring-[3px];
}

.pf-slider-thumb-bar {
  @apply size-auto h-5 w-2.5 rounded-sm;
}

.pf-slider-thumb-variant-default {
  @apply border-primary ring-primary/50;
}
.pf-slider-thumb-variant-success {
  @apply border-[var(--success)] ring-[var(--success)]/50;
}
.pf-slider-thumb-variant-warning {
  @apply border-[var(--warning)] ring-[var(--warning)]/50;
}
.pf-slider-thumb-variant-destructive {
  @apply border-destructive ring-destructive/50;
}
.pf-slider-thumb-variant-info {
  @apply border-[var(--info)] ring-[var(--info)]/50;
}
.pf-slider-thumb-variant-muted {
  @apply border-muted-foreground ring-muted-foreground/50;
}

/* MARK: Sonner */
.pf-toast {
  @apply rounded-2xl;
}

/* MARK: Switch */
.pf-switch {
  @apply data-checked:bg-primary data-unchecked:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-unchecked:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px];
}

.pf-switch-thumb {
  @apply bg-background dark:data-unchecked:bg-foreground dark:data-checked:bg-primary-foreground rounded-full group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0;
}

/* MARK: Table */
.pf-table-container {
  @apply relative min-w-0 w-full overflow-x-auto;
}

.pf-table {
  @apply w-full caption-bottom text-sm;
}

.pf-table-header {
  @apply [&_tr]:border-b [&_tr]:border-border;
}

.pf-table-body {
  @apply [&_tr:last-child]:border-0;
}

.pf-table-footer {
  @apply bg-muted/50 border-t border-border font-medium [&>tr]:last:border-b-0;
}

.pf-table-row {
  @apply hover:bg-muted/50 data-[state=selected]:bg-muted border-b border-border transition-colors;
}

.pf-table-head {
  @apply text-muted-foreground h-10 px-2 text-left align-middle font-semibold text-xs uppercase tracking-wide whitespace-nowrap [&:has([role=checkbox])]:pr-0;
}

.pf-table-cell {
  @apply p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0;
}

.pf-table-caption {
  @apply text-muted-foreground mt-4 text-sm;
}

/* MARK: DataTable detail row (expandable rows) */
.pf-data-table-detail-row {
  @apply border-b border-border bg-muted/30;
}

.pf-data-table-detail-cell {
  @apply p-4;
}

/* MARK: Tabs */

/* --- List --- */
.pf-tabs-list {
  @apply h-9 items-center justify-center rounded-lg bg-muted p-[3px];
}

/* vertical: stack triggers in a column */
.group\/tabs[data-orientation="vertical"] .pf-tabs-list {
  @apply h-auto flex-col items-stretch;
}

/* line variant */
.pf-tabs-list[data-variant="line"] {
  @apply h-auto rounded-none bg-transparent p-0;
}

/* --- Trigger --- */
.pf-tabs-trigger {
  @apply gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium [&_svg:not([class*='size-'])]:size-4;
}

.pf-tabs-trigger[data-active] {
  @apply bg-background shadow-sm;
}

/* line variant triggers */
.pf-tabs-list[data-variant="line"] .pf-tabs-trigger {
  @apply relative rounded-none border-0 bg-transparent shadow-none;
}

.pf-tabs-list[data-variant="line"] .pf-tabs-trigger::after {
  @apply absolute bg-primary opacity-0 transition-opacity content-[''];
}

/* horizontal line: underline below */
.group\/tabs[data-orientation="horizontal"]
  .pf-tabs-list[data-variant="line"]
  .pf-tabs-trigger::after {
  @apply inset-x-0 bottom-0 h-0.5;
}

/* vertical line: bar on the right */
.group\/tabs[data-orientation="vertical"]
  .pf-tabs-list[data-variant="line"]
  .pf-tabs-trigger::after {
  @apply inset-y-0 right-0 w-0.5;
}

.pf-tabs-list[data-variant="line"] .pf-tabs-trigger[data-active] {
  @apply bg-transparent shadow-none;
}

.pf-tabs-list[data-variant="line"] .pf-tabs-trigger[data-active]::after {
  @apply opacity-100;
}

/* vertical default: full-width triggers */
.group\/tabs[data-orientation="vertical"] .pf-tabs-trigger {
  @apply justify-start;
}

/* --- Content --- */
.pf-tabs-content {
  @apply mt-2 text-sm;
}

.group\/tabs[data-orientation="vertical"] .pf-tabs-content {
  @apply mt-0 flex-1;
}

/* MARK: Textarea */
.pf-textarea {
  @apply border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 rounded-lg border bg-transparent px-2.5 py-2 text-base transition-colors focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm;
}

/* MARK: Toggle */
.pf-toggle {
  @apply hover:text-foreground aria-pressed:bg-muted focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[state=on]:bg-muted gap-1 rounded-lg text-sm font-medium transition-all [&_svg:not([class*='size-'])]:size-4;
}

.pf-toggle-variant-default {
  @apply bg-transparent;
}

.pf-toggle-variant-outline {
  @apply border-input hover:bg-muted border bg-transparent;
}

.pf-toggle-size-default {
  @apply h-8 min-w-8 px-2;
}

.pf-toggle-size-sm {
  @apply h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-1.5 text-[0.8rem];
}

.pf-toggle-size-lg {
  @apply h-9 min-w-9 px-2.5;
}

/* MARK: Toggle Group */
.pf-toggle-group {
  @apply rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)];
}

.pf-toggle-group-item {
  @apply group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg;
}

/* MARK: Tooltip */
.pf-tooltip-content {
  @apply bg-primary text-primary-foreground rounded-md px-3 py-1.5 text-xs;
}

.pf-tooltip-content-logical {
  @apply data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2;
}

.pf-tooltip-arrow {
  @apply size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px];
}

.pf-tooltip-arrow-logical {
  @apply data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2;
}

/* MARK: Input Group */
.pf-input-group {
  @apply border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-disabled:bg-input/50 dark:has-disabled:bg-input/80 h-8 rounded-lg border transition-colors has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 [[data-slot=combobox-content]_&]:focus-within:border-inherit [[data-slot=combobox-content]_&]:focus-within:ring-0;
}

.pf-input-group-addon {
  @apply text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4;
}

.pf-input-group-addon-align-inline-start {
  @apply pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem];
}

.pf-input-group-addon-align-inline-end {
  @apply pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem];
}

.pf-input-group-addon-align-block-start {
  @apply px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2;
}

.pf-input-group-addon-align-block-end {
  @apply px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2;
}

.pf-input-group-button {
  @apply gap-2 text-sm;
}

.pf-input-group-button-size-xs {
  @apply h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5;
}

.pf-input-group-button-size-icon-xs {
  @apply size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0;
}

.pf-input-group-button-size-icon-sm {
  @apply size-8 p-0 has-[>svg]:p-0;
}

.pf-input-group-text {
  @apply text-muted-foreground gap-2 text-sm [&_svg:not([class*='size-'])]:size-4;
}

.pf-input-group-input {
  @apply rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent;
}

.pf-input-group-textarea {
  @apply rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent;
}

/* Prefab custom variants: success, warning, info */
.pf-badge-variant-success {
  @apply bg-[var(--success)]/10 text-[var(--success)] dark:bg-[var(--success)]/20;
}

.pf-badge-variant-warning {
  @apply bg-[var(--warning)]/10 text-[var(--warning)] dark:bg-[var(--warning)]/20;
}

.pf-badge-variant-info {
  @apply bg-[var(--info)]/10 text-[var(--info)] dark:bg-[var(--info)]/20;
}

.pf-alert-variant-success {
  @apply text-[var(--success)] bg-card *:data-[slot=alert-description]:text-[var(--success)]/90 *:[svg]:text-current;
}

.pf-alert-variant-warning {
  @apply text-[var(--warning)] bg-card *:data-[slot=alert-description]:text-[var(--warning)]/90 *:[svg]:text-current;
}

.pf-alert-variant-info {
  @apply text-[var(--info)] bg-card *:data-[slot=alert-description]:text-[var(--info)]/90 *:[svg]:text-current;
}
