@import "tailwindcss";
@import "tw-animate-css";

@custom-variant dark (&:is(.dark *));

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --font-sans: var(--font-poppins), ui-sans-serif, system-ui, sans-serif;
  --font-mono: var(--font-geist-mono);
  --color-sidebar-ring: var(--sidebar-ring);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar: var(--sidebar);
  --color-chart-5: var(--chart-5);
  --color-chart-4: var(--chart-4);
  --color-chart-3: var(--chart-3);
  --color-chart-2: var(--chart-2);
  --color-chart-1: var(--chart-1);
  --color-ring: var(--ring);
  --color-input: var(--input);
  --color-border: var(--border);
  --color-destructive: var(--destructive);
  --color-accent-foreground: var(--accent-foreground);
  --color-accent: var(--accent);
  --color-muted-foreground: var(--muted-foreground);
  --color-muted: var(--muted);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-secondary: var(--secondary);
  --color-primary-foreground: var(--primary-foreground);
  --color-primary: var(--primary);
  --color-popover-foreground: var(--popover-foreground);
  --color-popover: var(--popover);
  --color-card-foreground: var(--card-foreground);
  --color-card: var(--card);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
}

html[lang="ar"] {
  --font-sans: var(--font-arabic), var(--font-poppins), ui-sans-serif, system-ui, sans-serif;
}

html[lang="ar"] body {
  font-family: var(--font-arabic), var(--font-poppins), ui-sans-serif, system-ui, sans-serif;
}

html[lang="ur"] {
  --font-sans: var(--font-arabic), var(--font-poppins), ui-sans-serif, system-ui, sans-serif;
}

html[lang="ur"] body {
  font-family: var(--font-arabic), var(--font-poppins), ui-sans-serif, system-ui, sans-serif;
}

: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: #92c720;
  --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: #92c7201a;
  --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: #92c720;
  --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);
  /* Slightly darker grey nav labels */
  --sidebar-foreground: oklch(0.48 0 0);
  --sidebar-primary: #92c720;
  --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);
}

.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.205 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.269 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.62 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.556 0 0);
}

/* Dark mode theme overrides */
.dark[data-theme='red'] {
  --primary: hsl(0 72% 50%);
  --sidebar-primary: hsl(0 72% 50%);
  --accent: hsl(0 72% 50% / 0.2);
  --ring: hsl(0 72% 50%);
}

.dark[data-theme='rose'] {
  --primary: hsl(346.8 77.2% 49.8%);
  --sidebar-primary: hsl(346.8 77.2% 49.8%);
  --accent: hsl(346.8 77.2% 49.8% / 0.2);
  --ring: hsl(346.8 77.2% 49.8%);
}

.dark[data-theme='orange'] {
  --primary: hsl(24.6 95% 53.1%);
  --sidebar-primary: hsl(24.6 95% 53.1%);
  --accent: hsl(24.6 95% 53.1% / 0.2);
  --ring: hsl(24.6 95% 53.1%);
}

.dark[data-theme='yellow'] {
  --primary: hsl(47.9 95.8% 53.1%);
  --sidebar-primary: hsl(47.9 95.8% 53.1%);
  --accent: hsl(47.9 95.8% 53.1% / 0.2);
  --ring: hsl(47.9 95.8% 53.1%);
}

.dark[data-theme='green'] {
  --primary: hsl(142.1 76.2% 36.3%);
  --sidebar-primary: hsl(142.1 76.2% 36.3%);
  --accent: hsl(142.1 76.2% 36.3% / 0.2);
  --ring: hsl(142.1 76.2% 36.3%);
}

.dark[data-theme='blue'] {
  --primary: hsl(217.2 91% 60%);
  --sidebar-primary: hsl(217.2 91% 60%);
  --accent: hsl(217.2 91% 60% / 0.2);
  --ring: hsl(217.2 91% 60%);
}

.dark[data-theme='violet'] {
  --primary: hsl(262.1 83.3% 57.8%);
  --sidebar-primary: hsl(262.1 83.3% 57.8%);
  --accent: hsl(262.1 83.3% 57.8% / 0.2);
  --ring: hsl(262.1 83.3% 57.8%);
}

.dark[data-theme='purple'] {
  --primary: hsl(270 91% 65%);
  --sidebar-primary: hsl(270 91% 65%);
  --accent: hsl(270 91% 65% / 0.2);
  --ring: hsl(270 91% 65%);
}

.dark[data-theme='pink'] {
  --primary: hsl(330 81% 60%);
  --sidebar-primary: hsl(330 81% 60%);
  --accent: hsl(330 81% 60% / 0.2);
  --ring: hsl(330 81% 60%);
}

.dark[data-theme='cyan'] {
  --primary: hsl(188 85% 53%);
  --sidebar-primary: hsl(188 85% 53%);
  --accent: hsl(188 85% 53% / 0.2);
  --ring: hsl(188 85% 53%);
}

.dark[data-theme='teal'] {
  --primary: hsl(173 80% 40%);
  --sidebar-primary: hsl(173 80% 40%);
  --accent: hsl(173 80% 40% / 0.2);
  --ring: hsl(173 80% 40%);
}

.dark[data-theme='indigo'] {
  --primary: hsl(239 84% 67%);
  --sidebar-primary: hsl(239 84% 67%);
  --accent: hsl(239 84% 67% / 0.2);
  --ring: hsl(239 84% 67%);
}

.dark[data-theme='emerald'] {
  --primary: hsl(160 84% 39%);
  --sidebar-primary: hsl(160 84% 39%);
  --accent: hsl(160 84% 39% / 0.2);
  --ring: hsl(160 84% 39%);
}

.dark[data-theme='amber'] {
  --primary: hsl(43 96% 56%);
  --sidebar-primary: hsl(43 96% 56%);
  --accent: hsl(43 96% 56% / 0.2);
  --ring: hsl(43 96% 56%);
}

.dark[data-theme='lime'] {
  --primary: hsl(75 94% 47%);
  --sidebar-primary: hsl(75 94% 47%);
  --accent: hsl(75 94% 47% / 0.2);
  --ring: hsl(75 94% 47%);
}

.dark[data-theme='sky'] {
  --primary: hsl(199 89% 48%);
  --sidebar-primary: hsl(199 89% 48%);
  --accent: hsl(199 89% 48% / 0.2);
  --ring: hsl(199 89% 48%);
}

.dark[data-theme='fuchsia'] {
  --primary: hsl(292 84% 61%);
  --sidebar-primary: hsl(292 84% 61%);
  --accent: hsl(292 84% 61% / 0.2);
  --ring: hsl(292 84% 61%);
}

@layer base {
  html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
  }
  * {
    @apply border-border outline-ring/50;
  }
  body {
    @apply bg-background text-foreground font-sans antialiased;
  }
}



[data-theme='red'] {
  --primary: hsl(0 84.2% 60.2%);
  --sidebar-primary: hsl(0 84.2% 60.2%);
  --accent: hsl(0 84.2% 60.2% / 0.1);
  --ring: hsl(0 84.2% 60.2%);
}

[data-theme='rose'] {
  --primary: hsl(346.8 77.2% 49.8%);
  --sidebar-primary: hsl(346.8 77.2% 49.8%);
  --accent: hsl(346.8 77.2% 49.8% / 0.1);
  --ring: hsl(346.8 77.2% 49.8%);
}

[data-theme='orange'] {
  --primary: hsl(24.6 95% 53.1%);
  --sidebar-primary: hsl(24.6 95% 53.1%);
  --accent: hsl(24.6 95% 53.1% / 0.1);
  --ring: hsl(24.6 95% 53.1%);
}

[data-theme='yellow'] {
  --primary: hsl(47.9 95.8% 53.1%);
  --sidebar-primary: hsl(47.9 95.8% 53.1%);
  --accent: hsl(47.9 95.8% 53.1% / 0.1);
  --ring: hsl(47.9 95.8% 53.1%);
}

[data-theme='green'] {
  --primary: #92c720;
  --sidebar-primary: #92c720;
  --accent: #92c7201a;
  --ring: #92c720;
}

[data-theme='blue'] {
  --primary: hsl(221.2 83.2% 53.3%);
  --sidebar-primary: hsl(221.2 83.2% 53.3%);
  --accent: hsl(221.2 83.2% 53.3% / 0.1);
  --ring: hsl(221.2 83.2% 53.3%);
}

[data-theme='violet'] {
  --primary: hsl(262.1 83.3% 57.8%);
  --sidebar-primary: hsl(262.1 83.3% 57.8%);
  --accent: hsl(262.1 83.3% 57.8% / 0.1);
  --ring: hsl(262.1 83.3% 57.8%);
}

[data-theme='purple'] {
  --primary: hsl(270 91% 65%);
  --sidebar-primary: hsl(270 91% 65%);
  --accent: hsl(270 91% 65% / 0.1);
  --ring: hsl(270 91% 65%);
}

[data-theme='pink'] {
  --primary: hsl(330 81% 60%);
  --sidebar-primary: hsl(330 81% 60%);
  --accent: hsl(330 81% 60% / 0.1);
  --ring: hsl(330 81% 60%);
}

[data-theme='cyan'] {
  --primary: hsl(188 85% 53%);
  --sidebar-primary: hsl(188 85% 53%);
  --accent: hsl(188 85% 53% / 0.1);
  --ring: hsl(188 85% 53%);
}

[data-theme='teal'] {
  --primary: hsl(173 80% 40%);
  --sidebar-primary: hsl(173 80% 40%);
  --accent: hsl(173 80% 40% / 0.1);
  --ring: hsl(173 80% 40%);
}

[data-theme='indigo'] {
  --primary: hsl(239 84% 67%);
  --sidebar-primary: hsl(239 84% 67%);
  --accent: hsl(239 84% 67% / 0.1);
  --ring: hsl(239 84% 67%);
}

[data-theme='emerald'] {
  --primary: hsl(160 84% 39%);
  --sidebar-primary: hsl(160 84% 39%);
  --accent: hsl(160 84% 39% / 0.1);
  --ring: hsl(160 84% 39%);
}

[data-theme='amber'] {
  --primary: hsl(43 96% 56%);
  --sidebar-primary: hsl(43 96% 56%);
  --accent: hsl(43 96% 56% / 0.1);
  --ring: hsl(43 96% 56%);
}

[data-theme='lime'] {
  --primary: hsl(75 94% 47%);
  --sidebar-primary: hsl(75 94% 47%);
  --accent: hsl(75 94% 47% / 0.1);
  --ring: hsl(75 94% 47%);
}

[data-theme='sky'] {
  --primary: hsl(199 89% 48%);
  --sidebar-primary: hsl(199 89% 48%);
  --accent: hsl(199 89% 48% / 0.1);
  --ring: hsl(199 89% 48%);
}

[data-theme='fuchsia'] {
  --primary: hsl(292 84% 61%);
  --sidebar-primary: hsl(292 84% 61%);
  --accent: hsl(292 84% 61% / 0.1);
  --ring: hsl(292 84% 61%);
}

.sidebar-content::-webkit-scrollbar {
  background-color:transparent;
}
.hide-scrollbar {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}

.hide-scrollbar::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
}

/* Sidebar icons: crisp vectors + theme stroke (Lucide / SVG) */
[data-sidebar="menu-button"] svg,
[data-sidebar="menu-sub-button"] svg {
  stroke: currentColor;
  fill: none;
  shape-rendering: geometricPrecision;
}

[data-sidebar="menu-button"] svg *,
[data-sidebar="menu-sub-button"] svg * {
  stroke: currentColor;
}

/* Theme-based icon colors on hover */
[data-sidebar="menu-button"]:hover [data-theme-icon],
[data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: color-mix(in srgb, var(--primary) 70%, white) !important;
}

[data-theme="red"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="red"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="red"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="red"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(239 68 68) !important;
}

[data-theme="blue"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="blue"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="blue"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="blue"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(59 130 246) !important;
}

[data-theme="green"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="green"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="green"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="green"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: #92c720 !important;
}

[data-theme="purple"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="purple"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="purple"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="purple"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(168 85 247) !important;
}

[data-theme="violet"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="violet"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="violet"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="violet"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(139 92 246) !important;
}

[data-theme="rose"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="rose"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="rose"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="rose"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(244 63 94) !important;
}

[data-theme="orange"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="orange"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="orange"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="orange"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(249 115 22) !important;
}

[data-theme="yellow"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="yellow"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="yellow"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="yellow"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(234 179 8) !important;
}

[data-theme="pink"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="pink"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="pink"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="pink"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(236 72 153) !important;
}

[data-theme="cyan"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="cyan"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="cyan"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="cyan"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(6 182 212) !important;
}

[data-theme="teal"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="teal"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="teal"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="teal"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(20 184 166) !important;
}

[data-theme="indigo"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="indigo"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="indigo"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="indigo"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(99 102 241) !important;
}

[data-theme="emerald"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="emerald"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="emerald"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="emerald"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(16 185 129) !important;
}

[data-theme="amber"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="amber"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="amber"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="amber"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(245 158 11) !important;
}

[data-theme="lime"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="lime"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="lime"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="lime"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(132 204 22) !important;
}

[data-theme="sky"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="sky"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="sky"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="sky"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(14 165 233) !important;
}

[data-theme="fuchsia"] [data-sidebar="menu-button"]:hover [data-theme-icon],
[data-theme="fuchsia"] [data-sidebar="menu-button"][data-active="true"] [data-theme-icon],
[data-theme="fuchsia"] [data-sidebar="menu-sub-button"]:hover [data-theme-icon],
[data-theme="fuchsia"] [data-sidebar="menu-sub-button"][data-active="true"] [data-theme-icon] {
  color: rgb(192 38 211) !important;
}

:root {
  /* ~15px vs 16px UA default — slight global scale; overridden by Settings */
  --app-font-size: 0.9375rem;
}

html {
  font-size: var(--app-font-size);
}

html[data-density="compact"] [data-slot="table-head"] {
  height: 2rem;
}

html[data-density="compact"] [data-slot="table-cell"] {
  padding-block: 0.25rem;
}

/* RTL packs auto-sized columns to the inline start (the right). Keep table
   geometry LTR so grids fill the row; cell text still follows Unicode bidi. */
html[dir="rtl"] [data-slot="table-container"] {
  direction: ltr;
}

/* Dropdown chevrons stay on the physical left in Urdu/Arabic, even inside
   LTR table containers. */
html[dir="rtl"] [data-slot="select-trigger"],
html[dir="rtl"] [role="combobox"] {
  padding-left: 2rem;
  padding-right: 0.75rem;
}

html[dir="rtl"] [data-slot="select-trigger"] > svg,
html[dir="rtl"] [role="combobox"] > svg {
  right: auto;
  left: 0.625rem;
}

html[dir="rtl"] select:not([multiple]) {
  background-position: left 0.4rem center;
}

html[data-reduce-motion="true"] *,
html[data-reduce-motion="true"] *::before,
html[data-reduce-motion="true"] *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}

/* Optional mappings */
html:has([data-font='sm']) {
  --app-font-size: 0.875rem;
}
html:has([data-font='lg']) {
  --app-font-size: 1.125rem;
}
html:has([data-font='xl']) {
  --app-font-size: 1.25rem;
}

.ant-tour .ant-tour-inner {
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
  font-family: inherit;
}

.ant-tour .ant-tour-header .ant-tour-title {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.ant-tour .ant-tour-description {
  font-size: 13px;
  line-height: 1.55;
  color: var(--muted-foreground);
}

.ant-tour .ant-tour-buttons .ant-btn {
  border-radius: 10px;
  font-weight: 600;
}

@keyframes setup-step-pop {
  0% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.22);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes setup-bar-shine {
  0% {
    transform: translateX(-130%);
  }
  100% {
    transform: translateX(180%);
  }
}

@keyframes setup-connector-fill {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

.setup-step-pop {
  animation: setup-step-pop 0.55s ease;
}

.setup-bar-shine {
  animation: setup-bar-shine 0.85s ease-out;
}

.setup-connector-run {
  transform-origin: left;
  animation: setup-connector-fill 0.6s ease-out forwards;
}

[dir="rtl"] .setup-connector-run {
  transform-origin: right;
}