/* POS Layout Styles - V3'ten transfer edildi */
/* Sunmi D3 için optimize edilmiş */

.pos-layout {
  display: flex;
  flex-direction: column;
  height: var(--app-height, 100vh);
  background: var(--color-background);
  overflow: hidden;
}

/* Header Bar Styles */
.pos-header {
  height: var(--header-height); /* 80px */
  background: var(--color-background);
  border-bottom: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  padding: 0 var(--spacing-6);
  box-shadow: var(--shadow-sm);
  z-index: var(--z-header);
  flex-shrink: 0;
}

/* Main Grid Layout */
.pos-main-grid {
  display: grid;
  grid-template-columns: var(--sidebar-width) 2fr 320px; /* Sidebar + Main + Cart */
  flex: 1;
  overflow: hidden;
  background: var(--color-background-secondary);
}

/* Sidebar Styles */
.pos-sidebar {
  background: var(--color-background);
  border-right: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  z-index: 50;
}

.pos-sidebar-collapsed {
  width: 80px;
  grid-template-columns: 80px 2fr 320px;
}

/* Main Content Area */
.pos-content {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--color-background-secondary);
}

.pos-content-wrapper {
  flex: 1;
  padding: var(--content-padding);
  overflow-y: auto;
}

/* Cart Sidebar */
.pos-cart-sidebar {
  background: var(--color-background);
  border-left: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Status Bar */
.pos-status-bar {
  height: 40px;
  background: var(--color-background-tertiary);
  border-top: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  padding: 0 var(--spacing-6);
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
  flex-shrink: 0;
}

/* Touch Optimizations for Sunmi D3 */
.pos-touch-button {
  min-height: var(--touch-target-optimal); /* 56px */
  min-width: var(--touch-target-optimal);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  transition: all var(--duration-normal);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.pos-touch-button:hover {
  background: var(--color-background-tertiary);
  transform: translateY(-1px);
}

.pos-touch-button:active {
  transform: translateY(0);
  background: var(--color-background-secondary);
}

/* Navigation Styles */
.pos-nav-item {
  display: flex;
  align-items: center;
  padding: var(--spacing-3) var(--spacing-4);
  margin: var(--spacing-1) var(--spacing-2);
  border-radius: var(--radius-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  font-weight: var(--font-medium);
  transition: all var(--duration-normal);
  min-height: var(--touch-target-optimal);
}

.pos-nav-item:hover {
  background: var(--color-background-tertiary);
  color: var(--color-primary-600);
}

.pos-nav-item.active {
  background: var(--color-primary-50);
  color: var(--color-primary-700);
  border-left: 4px solid var(--color-primary-500);
}

.pos-nav-icon {
  font-size: var(--text-xl);
  margin-right: var(--spacing-3);
  width: 24px;
  text-align: center;
}

/* Table Grid Layout */
.pos-table-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: var(--table-grid-gap);
  padding: var(--spacing-4);
}

/* Table Card Styles */
.pos-table-card {
  aspect-ratio: 1;
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: var(--font-bold);
  cursor: pointer;
  transition: all var(--duration-normal);
  border: 2px solid transparent;
  min-height: var(--touch-target-large);
  position: relative;
}

.pos-table-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

.pos-table-card.available {
  background: var(--color-table-available);
  color: white;
}

.pos-table-card.occupied {
  background: var(--color-table-occupied);
  color: white;
}

.pos-table-card.reserved {
  background: var(--color-table-reserved);
  color: white;
}

.pos-table-card.cleaning {
  background: var(--color-table-cleaning);
  color: white;
}

/* Order Panel Styles */
.pos-order-panel {
  background: var(--color-background);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}

.pos-order-header {
  padding: var(--spacing-4);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-background-secondary);
  font-weight: var(--font-semibold);
}

.pos-order-items {
  max-height: 400px;
  overflow-y: auto;
  padding: var(--spacing-2);
}

.pos-order-item {
  display: flex;
  align-items: center;
  justify-content: between;
  padding: var(--spacing-3);
  border-bottom: 1px solid var(--color-border);
}

.pos-order-total {
  padding: var(--spacing-4);
  border-top: 2px solid var(--color-border);
  background: var(--color-background-secondary);
  font-weight: var(--font-bold);
  font-size: var(--text-xl);
}

/* Responsive Design */
@media (max-width: 1366px) {
  .pos-main-grid {
    grid-template-columns: 240px 2fr 300px;
  }
}

@media (max-width: 1024px) {
  .pos-main-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
  
  .pos-sidebar {
    position: fixed;
    top: var(--header-height);
    left: 0;
    height: calc(var(--app-height, 100vh) - var(--header-height) - 40px);
    z-index: var(--z-overlay);
    transform: translateX(-100%);
    transition: transform var(--duration-normal);
  }
  
  .pos-sidebar.open {
    transform: translateX(0);
  }
  
  .pos-cart-sidebar {
    position: fixed;
    top: var(--header-height);
    right: 0;
    height: calc(var(--app-height, 100vh) - var(--header-height) - 40px);
    z-index: var(--z-overlay);
    transform: translateX(100%);
    transition: transform var(--duration-normal);
  }
  
  .pos-cart-sidebar.open {
    transform: translateX(0);
  }
}

/* Print Styles */
@media print {
  .pos-layout {
    overflow: visible;
  }
  
  .pos-sidebar,
  .pos-header,
  .pos-status-bar {
    display: none;
  }
  
  .pos-main-grid {
    grid-template-columns: 1fr;
  }
}

/* High DPI Optimizations */
@media (min-resolution: 192dpi) {
  .pos-table-card {
    border-width: 1px;
  }
  
  .pos-nav-item {
    border-left-width: 2px;
  }
}/* Sunmi D3 cihaz optimizasyonları */

/* Sunmi cihazlarda sistem UI'ı gizle */
body.sunmi-device {
  /* Status bar ve navigation bar'ı gizle */
  margin: 0;
  padding: 0;
  overflow: hidden;
  
  /* Touch optimizasyonları */
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

/* Sunmi D3 için font boyutları */
body.sunmi-d3 {
  font-size: 18px; /* Base font size büyüt */
}

/* Touch cihazlar için buton optimizasyonları */
body.touch-device button,
body.touch-device [role="button"],
body.touch-device a {
  /* Minimum touch target size */
  min-height: 48px;
  min-width: 48px;
}

/* Sunmi D3 için özel buton boyutları */
body.sunmi-d3 button,
body.sunmi-d3 [role="button"] {
  min-height: 56px;
}

/* Fullscreen modda scrollbar'ı gizle */
body:fullscreen::-webkit-scrollbar,
body:-webkit-full-screen::-webkit-scrollbar,
body:-moz-full-screen::-webkit-scrollbar,
body:-ms-fullscreen::-webkit-scrollbar {
  display: none;
}

/* Input alanları için zoom'u engelle */
body.sunmi-device input,
body.sunmi-device select,
body.sunmi-device textarea {
  font-size: 16px !important; /* iOS zoom'u engeller */
}

/* Küçük ekranlar için grid optimizasyonları */
@media (max-width: 1280px) {
  /* Masa grid'i 2 kolon */
  .grid-cols-2.small-screen {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  
  /* Font boyutları */
  .text-2xl.small-screen {
    font-size: 1.5rem;
  }
  
  .text-xl.small-screen {
    font-size: 1.25rem;
  }
}

/* PWA için meta tag stilleri */
@media (display-mode: standalone) {
  body {
    /* PWA modunda özel stiller */
    background-color: var(--background);
  }
}

/* Landscape zorunlu */
@media (orientation: portrait) and (max-width: 1280px) {
  body.sunmi-device::before {
    content: "Lütfen cihazı yatay konuma getirin";
    position: fixed;
    inset: 0;
    background: var(--background);
    color: var(--foreground);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    font-size: 1.5rem;
    text-align: center;
    padding: 2rem;
  }
}/* Sunmi cihazlar için özel fullscreen CSS */

/* Sunmi D3 (1280x750) için özel ayarlar */
@media screen and (width: 1280px) and (height: 750px) {
  html {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 1280px !important;
    height: 750px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    touch-action: none !important;
  }

  body {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 1280px !important;
    height: 750px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
         user-select: none !important;
    touch-action: none !important;
  }

  /* Root container tam ekran */
  #root {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 1280px !important;
    height: 750px !important;
    overflow: hidden !important;
  }

  /* POS Layout tam ekran */
  .h-screen {
    height: 750px !important;
  }

  /* Header sabit yükseklik */
  header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 50 !important;
  }

  /* Main content header altında başlasın */
  main {
    margin-top: 64px !important; /* Header yüksekliği */
    height: calc(750px - 64px) !important;
  }

  /* Scrollbar gizle */
  ::-webkit-scrollbar {
    display: none !important;
  }

  * {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
  }
}

/* Genel Android cihazlar için */
@media screen and (max-width: 1280px) {
  html, body {
    position: fixed !important;
    width: 100vw !important;
    height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Android status bar alanını kaldır */
  body {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Viewport hack - address bar gizleme */
  body {
    height: calc(100vh + 1px) !important;
    transform: translateY(-1px) !important;
  }
}

/* Sunmi cihaz sınıfı varsa */
.sunmi-device body,
.sunmi-fullscreen-active body {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Fullscreen prompt gizle */
[data-fullscreen-prompt] {
  display: none !important;
}

/* PWA mode için */
@media all and (display-mode: standalone) {
  body {
    position: fixed !important;
    width: 100vw !important;
    height: 100vh !important;
  }
}/* Design Tokens CSS Variables */
/* Based on KuikRest V3 Design System */
/* Reference: /Users/canylmz/qd/kuikrest-v3/docs/07-ui-design-system.md */

:root {
  /* === COLOR TOKENS === */
  
  /* Primary Brand Colors */
  --color-primary-50: #eff6ff;
  --color-primary-100: #dbeafe;
  --color-primary-200: #bfdbfe;
  --color-primary-300: #93c5fd;
  --color-primary-400: #60a5fa;
  --color-primary-500: #3b82f6;
  --color-primary-600: #2563eb;
  --color-primary-700: #1d4ed8;
  --color-primary-800: #1e40af;
  --color-primary-900: #1e3a8a;
  
  /* Semantic Colors */
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #06b6d4;
  
  /* Restaurant Specific Colors */
  --color-table-available: #22c55e;
  --color-table-occupied: #ef4444;
  --color-table-reserved: #f59e0b;
  --color-table-cleaning: #6b7280;
  
  --color-order-pending: #f59e0b;
  --color-order-preparing: #3b82f6;
  --color-order-ready: #22c55e;
  --color-order-served: #6b7280;
  --color-order-cancelled: #ef4444;
  
  /* Gray Scale */
  --color-gray-50: #f9fafb;
  --color-gray-100: #f3f4f6;
  --color-gray-200: #e5e7eb;
  --color-gray-300: #d1d5db;
  --color-gray-400: #9ca3af;
  --color-gray-500: #6b7280;
  --color-gray-600: #4b5563;
  --color-gray-700: #374151;
  --color-gray-800: #1f2937;
  --color-gray-900: #111827;
  
  /* Background Colors */
  --color-background: #ffffff;
  --color-background-secondary: #f9fafb;
  --color-background-tertiary: #f3f4f6;
  
  /* Text Colors */
  --color-text-primary: #111827;
  --color-text-secondary: #6b7280;
  --color-text-tertiary: #9ca3af;
  --color-text-inverse: #ffffff;
  
  /* Border Colors */
  --color-border: #e5e7eb;
  --color-border-medium: #d1d5db;
  --color-border-focus: #3b82f6;
  
  /* === TYPOGRAPHY TOKENS === */
  
  /* Font Families */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', Consolas, monospace;
  
  /* Font Sizes */
  --text-xs: 0.75rem;    /* 12px */
  --text-sm: 0.875rem;   /* 14px */
  --text-base: 1rem;     /* 16px */
  --text-lg: 1.125rem;   /* 18px */
  --text-xl: 1.25rem;    /* 20px */
  --text-2xl: 1.5rem;    /* 24px */
  --text-3xl: 1.875rem;  /* 30px */
  --text-4xl: 2.25rem;   /* 36px */
  
  /* Line Heights */
  --leading-tight: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  
  /* Font Weights */
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  
  /* Restaurant Specific Typography */
  --table-number-size: 1.5rem;
  --price-size: 1.125rem;
  --total-size: 1.5rem;
  --status-size: 0.875rem;
  
  /* === SPACING TOKENS === */
  
  /* Base Scale */
  --spacing-0: 0px;
  --spacing-1: 0.25rem;  /* 4px */
  --spacing-2: 0.5rem;   /* 8px */
  --spacing-3: 0.75rem;  /* 12px */
  --spacing-4: 1rem;     /* 16px */
  --spacing-5: 1.25rem;  /* 20px */
  --spacing-6: 1.5rem;   /* 24px */
  --spacing-8: 2rem;     /* 32px */
  --spacing-10: 2.5rem;  /* 40px */
  --spacing-12: 3rem;    /* 48px */
  --spacing-16: 4rem;    /* 64px */
  --spacing-20: 5rem;    /* 80px */
  --spacing-24: 6rem;    /* 96px */
  
  /* Touch Targets */
  --touch-target-min: 3rem;     /* 48px */
  --touch-target-optimal: 3.5rem; /* 56px */
  --touch-target-large: 4rem;   /* 64px */
  
  /* Component Spacing */
  --table-grid-gap: 1rem;
  --table-card-padding: 1rem;
  --order-item-spacing: 0.75rem;
  --nav-item-spacing: 0.5rem;
  --form-field-spacing: 1rem;
  --card-padding: 1.5rem;
  
  /* Layout Spacing */
  --header-height: 4rem;        /* 64px */
  --sidebar-width: 17.5rem;     /* 280px */
  --content-padding: 1.5rem;    /* 24px */
  
  /* === DESIGN CONSTANTS === */
  
  /* Border Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 9999px;
  
  /* Shadows */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --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);
  
  /* Animation Durations */
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 350ms;
  
  /* Z-Index Scale */
  --z-base: 1;
  --z-overlay: 50;
  --z-header: 100;
  --z-dropdown: 500;
  --z-modal: 1000;
  
  /* Shadcn/ui compatibility (Light Theme) */
  --background: 0 0% 100%;
  --foreground: 222.2 84% 4.9%;
  --card: 0 0% 100%;
  --card-foreground: 222.2 84% 4.9%;
  --popover: 0 0% 100%;
  --popover-foreground: 222.2 84% 4.9%;
  --primary: 221.2 83.2% 53.3%;
  --primary-foreground: 210 40% 98%;
  --secondary: 210 40% 96%;
  --secondary-foreground: 222.2 84% 4.9%;
  --muted: 210 40% 96%;
  --muted-foreground: 215.4 16.3% 46.9%;
  --accent: 210 40% 96%;
  --accent-foreground: 222.2 84% 4.9%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;
  --border: 214.3 31.8% 91.4%;
  --input: 214.3 31.8% 91.4%;
  --ring: 221.2 83.2% 53.3%;
  --radius: 0.5rem;
}

/* Dark Theme */
[data-theme="dark"] {
  --color-background: #111827;
  --color-background-secondary: #1f2937;
  --color-background-tertiary: #374151;
  
  --color-text-primary: #f9fafb;
  --color-text-secondary: #d1d5db;
  --color-text-tertiary: #9ca3af;
  --color-text-inverse: #111827;
  
  --color-border: #374151;
  --color-border-medium: #4b5563;
  
  /* Shadcn/ui compatibility (Dark Theme) */
  --background: 222.2 84% 4.9%;
  --foreground: 210 40% 98%;
  --card: 222.2 84% 4.9%;
  --card-foreground: 210 40% 98%;
  --popover: 222.2 84% 4.9%;
  --popover-foreground: 210 40% 98%;
  --primary: 217.2 91.2% 59.8%;
  --primary-foreground: 222.2 84% 4.9%;
  --secondary: 217.2 32.6% 17.5%;
  --secondary-foreground: 210 40% 98%;
  --muted: 217.2 32.6% 17.5%;
  --muted-foreground: 215 20.2% 65.1%;
  --accent: 217.2 32.6% 17.5%;
  --accent-foreground: 210 40% 98%;
  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 210 40% 98%;
  --border: 217.2 32.6% 17.5%;
  --input: 217.2 32.6% 17.5%;
  --ring: 224.3 76.3% 94.1%;
}

/* === UTILITY CLASSES === */

/* Touch Target Classes */
.touch-target-min {
  min-height: var(--touch-target-min);
  min-width: var(--touch-target-min);
}

.touch-target-optimal {
  min-height: var(--touch-target-optimal);
  min-width: var(--touch-target-optimal);
}

.touch-target-large {
  min-height: var(--touch-target-large);
  min-width: var(--touch-target-large);
}

/* Typography Classes */
.text-table-number {
  font-size: var(--table-number-size);
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
  letter-spacing: -0.025em;
}

.text-price {
  font-size: var(--price-size);
  font-weight: var(--font-semibold);
  line-height: var(--leading-tight);
}

.text-total {
  font-size: var(--total-size);
  font-weight: var(--font-bold);
  line-height: var(--leading-tight);
}

.text-status {
  font-size: var(--status-size);
  font-weight: var(--font-semibold);
  line-height: var(--leading-tight);
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

/* Component Classes */
.table-card {
  padding: var(--table-card-padding);
  border-radius: var(--radius-lg);
  transition: all var(--duration-normal) ease;
}

.order-item {
  padding-top: var(--order-item-spacing);
  padding-bottom: var(--order-item-spacing);
  border-bottom: 1px solid var(--color-border);
}

.card-base {
  padding: var(--card-padding);
  background-color: var(--color-background);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

/* Layout Classes */
.header-height {
  height: var(--header-height);
}

.sidebar-width {
  width: var(--sidebar-width);
}

.content-padding {
  padding: var(--content-padding);
}

/* Status Classes */
.status-available {
  background-color: var(--color-table-available);
  color: white;
}

.status-occupied {
  background-color: var(--color-table-occupied);
  color: white;
}

.status-reserved {
  background-color: var(--color-table-reserved);
  color: white;
}

.status-pending {
  background-color: var(--color-order-pending);
  color: white;
}

.status-ready {
  background-color: var(--color-order-ready);
  color: white;
}/* Shadcn UI Professional Dark Mode System */
/* ===========================
   SHADCN UI PROFESSIONAL DARK MODE SYSTEM
   POS Application Theme Variables
   =========================== */
@tailwind base;
@tailwind components;
@tailwind utilities;
/* ===========================
   POS COMPONENT STYLES
   =========================== */
/* Legacy POS Variables - Will be deprecated */
/* POS CSS Variables - Light/Dark Theme Support */
/* ===========================
   ROOT VARIABLES
   =========================== */
:root {
  /* Brand Colors */
  --pos-primary-color: #2563eb;
  --pos-primary-hover: #1d4ed8;
  --pos-primary-light: #dbeafe;
  
  --pos-secondary-color: #64748b;
  --pos-secondary-hover: #475569;
  --pos-secondary-light: #f1f5f9;
  
  --pos-success-color: #059669;
  --pos-success-hover: #047857;
  --pos-success-light: #d1fae5;
  
  --pos-warning-color: #d97706;
  --pos-warning-hover: #b45309;
  --pos-warning-light: #fef3c7;
  
  --pos-danger-color: #dc2626;
  --pos-danger-hover: #b91c1c;
  --pos-danger-light: #fee2e2;
  
  --pos-info-color: #0891b2;
  --pos-info-hover: #0e7490;
  --pos-info-light: #cffafe;
}
/* ===========================
   LIGHT THEME (Default)
   =========================== */
:root,
:root.light {
  /* Background Colors - Improved for better visual hierarchy */
  --pos-bg-primary: #ffffff;
  --pos-bg-secondary: #f8fafc;
  --pos-bg-tertiary: #f1f5f9;
  --pos-bg-quaternary: #e2e8f0;

  /* Header & Navigation */
  --pos-header-bg: #ffffff;
  --pos-header-section-bg: #f8fafc;

  /* Text Colors - Enhanced contrast */
  --pos-text-primary: #0f172a;
  --pos-text-secondary: #475569;
  --pos-text-tertiary: #64748b;
  --pos-text-muted: #94a3b8;

  /* Border Colors */
  --pos-border-color: #e2e8f0;
  --pos-border-light: #f1f5f9;
  --pos-border-strong: #cbd5e1;
  
  /* Button Colors */
  --pos-button-bg: #f8fafc;
  --pos-button-text: #374151;
  --pos-button-hover: #f1f5f9;
  --pos-button-active: #e2e8f0;
  
  --pos-button-secondary: #e2e8f0;
  --pos-button-secondary-hover: #cbd5e1;
  
  /* Dropdown & Menu */
  --pos-dropdown-bg: #ffffff;
  --pos-hover-bg: #f8fafc;
  --pos-selected-bg: #dbeafe;
  
  /* Profile & User */
  --pos-profile-bg: #f8fafc;
  --pos-profile-header-bg: #f1f5f9;
  
  /* Status & States */
  --pos-status-bg: #f8fafc;
  --pos-status-connected: #059669;
  --pos-status-slow: #d97706;
  --pos-status-disconnected: #dc2626;
  --pos-status-reconnecting: #0891b2;
  --pos-status-unknown: #64748b;
  
  /* Theme Toggle */
  --pos-theme-light-bg: #fef3c7;
  --pos-theme-light-text: #92400e;
  --pos-theme-dark-bg: #e2e8f0;
  --pos-theme-dark-text: #475569;
  
  /* Semantic Backgrounds */
  --pos-success-bg: #f0fdf4;
  --pos-warning-bg: #fffbeb;
  --pos-danger-bg: #fef2f2;
  --pos-info-bg: #f0f9ff;
  
  /* Semantic Text */
  --pos-success-text: #166534;
  --pos-warning-text: #92400e;
  --pos-danger-text: #991b1b;
  --pos-info-text: #075985;
  
  /* Table Status Colors - Light Mode - Modern Professional Palette */
  /* Vacant (Available) - Fresh, inviting green */
  --pos-table-vacant-bg: #f0fdf4;    /* green-50 */
  --pos-table-vacant-border: #22c55e; /* green-500 */
  --pos-table-vacant-text: #16a34a;   /* green-600 */

  /* Occupied (Active) - Professional blue instead of amber */
  --pos-table-occupied-bg: #eff6ff;   /* blue-50 */
  --pos-table-occupied-border: #3b82f6; /* blue-500 */
  --pos-table-occupied-text: #2563eb;  /* blue-600 */

  /* Paid (Completed) - Success teal/emerald */
  --pos-table-paid-bg: #ecfdf5;       /* emerald-50 */
  --pos-table-paid-border: #059669;   /* emerald-600 */
  --pos-table-paid-text: #047857;     /* emerald-700 */

  /* Selected - Sky blue for selection */
  --pos-table-selected-bg: #f0f9ff;   /* sky-50 */
  --pos-table-selected-border: #0ea5e9; /* sky-500 */
  --pos-table-selected-text: #0284c7;  /* sky-600 */

  /* Reserved/Parent (Merged) - Elegant purple */
  --pos-table-reserved-bg: #faf5ff;   /* purple-50 */
  --pos-table-reserved-border: #a855f7; /* purple-500 */
  --pos-table-reserved-text: #9333ea;  /* purple-600 */

  /* Cleaning - Neutral slate */
  --pos-table-cleaning-bg: #f8fafc;   /* slate-50 */
  --pos-table-cleaning-border: #94a3b8; /* slate-400 */
  --pos-table-cleaning-text: #334155;  /* slate-700 */

  /* Shadows */
  --pos-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --pos-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --pos-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --pos-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}
/* ===========================
   DARK THEME - Modern Professional Palette
   =========================== */
:root.dark,
[data-theme="dark"],
html.dark {
  /* Background Colors - Modern slate-based palette avoiding pure black */
  --pos-bg-primary: #1e293b;    /* Slate-800 - Main background */
  --pos-bg-secondary: #334155;  /* Slate-700 - Secondary areas */
  --pos-bg-tertiary: #475569;   /* Slate-600 - Tertiary areas */
  --pos-bg-quaternary: #64748b; /* Slate-500 - Quaternary areas */

  /* Header & Navigation - Lighter for better contrast and readability */
  --pos-header-bg: #475569;        /* Slate-600 - Much lighter header */
  --pos-header-section-bg: #64748b; /* Slate-500 - Section backgrounds */

  /* Text Colors - WCAG AA compliant contrast ratios */
  --pos-text-primary: #f8fafc;   /* Slate-50 - Primary text */
  --pos-text-secondary: #e2e8f0; /* Slate-200 - Secondary text */
  --pos-text-tertiary: #cbd5e1;  /* Slate-300 - Tertiary text */
  --pos-text-muted: #94a3b8;     /* Slate-400 - Muted text */

  /* Border Colors - Harmonious slate progression */
  --pos-border-color: #475569;   /* Slate-600 - Main borders */
  --pos-border-light: #64748b;   /* Slate-500 - Light borders */
  --pos-border-strong: #94a3b8;  /* Slate-400 - Strong borders */

  /* Button Colors - Soft, harmonious and professional */
  --pos-button-bg: #64748b;      /* Slate-500 - Button background */
  --pos-button-text: #f8fafc;    /* Slate-50 - Button text */
  --pos-button-hover: #78716c;   /* Stone-500 - Hover state */
  --pos-button-active: #a8a29e;  /* Stone-400 - Active state */

  --pos-button-secondary: #78716c;   /* Stone-500 - Secondary buttons */
  --pos-button-secondary-hover: #a8a29e; /* Stone-400 - Secondary hover */

  /* Dropdown & Menu - Consistent with new palette */
  --pos-dropdown-bg: #334155;    /* Slate-700 - Dropdown background */
  --pos-hover-bg: #475569;       /* Slate-600 - Hover states */
  --pos-selected-bg: #1e40af;    /* Blue-700 - Selected items */

  /* Profile & User - Harmonious slate tones */
  --pos-profile-bg: #475569;        /* Slate-600 - Profile background */
  --pos-profile-header-bg: #64748b; /* Slate-500 - Profile header */

  /* Status & States - Consistent backgrounds */
  --pos-status-bg: #475569;      /* Slate-600 - Status background */

  /* Theme Toggle - Professional blue accent */
  --pos-theme-light-bg: #64748b;    /* Slate-500 - Light theme button */
  --pos-theme-light-text: #f8fafc;  /* Slate-50 - Light theme text */
  --pos-theme-dark-bg: #2563eb;     /* Blue-600 - Dark theme button */
  --pos-theme-dark-text: #dbeafe;   /* Blue-100 - Dark theme text */

  /* Semantic Backgrounds - Darker but not black */
  --pos-success-bg: #14532d;     /* Green-900 - Success background */
  --pos-warning-bg: #92400e;     /* Amber-800 - Warning background */
  --pos-danger-bg: #991b1b;      /* Red-800 - Danger background */
  --pos-info-bg: #1e40af;        /* Blue-700 - Info background */
  
  /* Semantic Text - High contrast, readable colors */
  --pos-success-text: #86efac;   /* Green-300 - Success text */
  --pos-warning-text: #fbbf24;   /* Amber-400 - Warning text */
  --pos-danger-text: #fca5a5;    /* Red-300 - Danger text */
  --pos-info-text: #93c5fd;      /* Blue-300 - Info text */

  /* Table Status Colors - Dark Mode - Much Lighter & Vibrant */
  /* Vacant (Available) - Bright fresh green */
  --pos-table-vacant-bg: #2d9d5f;      /* Much lighter green background */
  --pos-table-vacant-border: #4ade80;  /* green-400 - Bright border */
  --pos-table-vacant-text: #dcfce7;    /* green-100 - Very bright text */

  /* Occupied (Active) - Bright readable blue */
  --pos-table-occupied-bg: #4478c4;    /* Much lighter blue background */
  --pos-table-occupied-border: #60a5fa; /* blue-400 - Bright border */
  --pos-table-occupied-text: #eff6ff;  /* blue-50 - Very bright text */

  /* Paid (Completed) - Bright emerald/teal */
  --pos-table-paid-bg: #2d9973;        /* Much lighter emerald background */
  --pos-table-paid-border: #34d399;    /* emerald-400 - Bright border */
  --pos-table-paid-text: #d1fae5;      /* emerald-100 - Very bright text */

  /* Selected - Bright sky blue */
  --pos-table-selected-bg: #3690c4;    /* Much lighter sky background */
  --pos-table-selected-border: #38bdf8; /* sky-400 - Bright border */
  --pos-table-selected-text: #e0f2fe;  /* sky-100 - Very bright text */

  /* Reserved/Parent (Merged) - Bright purple */
  --pos-table-reserved-bg: #7c3aed;    /* Much lighter purple background */
  --pos-table-reserved-border: #c084fc; /* purple-400 - Bright border */
  --pos-table-reserved-text: #f3e8ff;  /* purple-100 - Very bright text */

  /* Cleaning - Lighter neutral slate */
  --pos-table-cleaning-bg: #64748b;    /* slate-500 - Lighter neutral */
  --pos-table-cleaning-border: #94a3b8; /* slate-400 - Visible border */
  --pos-table-cleaning-text: #f8fafc;  /* slate-50 - Very bright text */

  /* Shadows - Enhanced for dark mode depth */
  --pos-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
  --pos-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
  --pos-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
  --pos-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.6);

  /* Transitions - Smooth, professional animations */
  --pos-transition-fast: 0.15s ease-out;
  --pos-transition-normal: 0.25s ease-out;
  --pos-transition-slow: 0.35s ease-out;
  --pos-transition-colors: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}
/* ===========================
   NOTIFICATION STYLES
   =========================== */
.pos-notification-badge {
  position: relative;
}
.pos-notification-button {
  @extend .pos-header-action;
  position: relative;
}
.pos-has-unread {
  background: var(--pos-warning-light);
  color: var(--pos-warning-color);
}
.pos-notification-icon {
  position: relative;
}
.pos-bell-icon {
  width: 20px;
  height: 20px;
}
.pos-notification-count {
  position: absolute;
  top: -8px;
  right: -8px;
  background: var(--pos-danger-color);
  color: white;
  border-radius: 10px;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 600;
  border: 2px solid var(--pos-header-bg);
}
.pos-notification-menu {
  position: absolute;
  top: 100%;
  right: 0;
  width: 360px;
  max-height: 480px;
  background: var(--pos-dropdown-bg);
  border: 2px solid var(--pos-border-color);
  border-radius: 16px;
  box-shadow: var(--pos-shadow-xl);
  z-index: 1100;
  margin-top: 8px;
  overflow: hidden;
}
.pos-notification-header {
  padding: 16px 20px;
  background: var(--pos-header-section-bg);
  border-bottom: 1px solid var(--pos-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pos-notification-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--pos-text-primary);
  margin: 0;
}
.pos-notification-mark-all {
  background: none;
  border: none;
  color: var(--pos-primary-color);
  font-size: 12px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: background-color 0.15s ease;
}
.pos-notification-mark-all:hover {
  background: var(--pos-hover-bg);
}
.pos-notification-list {
  max-height: 320px;
  overflow-y: auto;
}
.pos-notification-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--pos-text-tertiary);
}
.pos-empty-icon {
  font-size: 32px;
  margin-bottom: 8px;
  display: block;
}
.pos-empty-text {
  font-size: 14px;
  margin: 0;
}
.pos-notification-item {
  padding: 16px 20px;
  border-bottom: 1px solid var(--pos-border-light);
  cursor: pointer;
  transition: background-color 0.15s ease;
  position: relative;
}
.pos-notification-item:hover {
  background: var(--pos-hover-bg);
}
.pos-notification-item:last-child {
  border-bottom: none;
}
.pos-notification-unread {
  background: var(--pos-selected-bg);
}
.pos-notification-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pos-notification-header-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pos-notification-type-icon {
  font-size: 16px;
}
.pos-notification-item-title {
  font-weight: 600;
  font-size: 14px;
  color: var(--pos-text-primary);
  flex: 1;
}
.pos-notification-time {
  font-size: 12px;
  color: var(--pos-text-tertiary);
}
.pos-notification-message {
  font-size: 13px;
  color: var(--pos-text-secondary);
  margin: 0;
  line-height: 1.4;
}
.pos-notification-unread-indicator {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 8px;
  height: 8px;
  background: var(--pos-primary-color);
  border-radius: 50%;
}
.pos-notification-footer {
  padding: 12px 20px;
  background: var(--pos-header-section-bg);
  border-top: 1px solid var(--pos-border-light);
  text-align: center;
}
.pos-notification-view-all {
  background: none;
  border: none;
  color: var(--pos-primary-color);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  padding: 8px 16px;
  border-radius: 8px;
  transition: background-color 0.15s ease;
}
.pos-notification-view-all:hover {
  background: var(--pos-hover-bg);
}
/* ===========================
   CONNECTION STATUS
   =========================== */
.pos-connection-status {
  position: relative;
}
.pos-connection-button {
  @extend .pos-header-action;
  min-width: 100px;
}
.pos-status-connected {
  background: var(--pos-success-light);
  color: var(--pos-success-color);
}
.pos-status-slow {
  background: var(--pos-warning-light);
  color: var(--pos-warning-color);
}
.pos-status-disconnected {
  background: var(--pos-danger-light);
  color: var(--pos-danger-color);
}
.pos-status-reconnecting {
  background: var(--pos-info-light);
  color: var(--pos-info-color);
}
.pos-status-unknown {
  background: var(--pos-button-bg);
  color: var(--pos-text-secondary);
}
.pos-connection-icon {
  font-size: 16px;
}
.pos-connection-text {
  font-size: 13px;
  font-weight: 500;
}
.pos-connection-ping {
  font-size: 11px;
  opacity: 0.8;
}
.pos-connection-details {
  position: absolute;
  top: 100%;
  right: 0;
  width: 300px;
  background: var(--pos-dropdown-bg);
  border: 2px solid var(--pos-border-color);
  border-radius: 16px;
  box-shadow: var(--pos-shadow-xl);
  z-index: 1100;
  margin-top: 8px;
  overflow: hidden;
}
.pos-connection-header {
  padding: 16px 20px;
  background: var(--pos-header-section-bg);
  border-bottom: 1px solid var(--pos-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pos-connection-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--pos-text-primary);
  margin: 0;
}
.pos-connection-close {
  background: none;
  border: none;
  color: var(--pos-text-secondary);
  font-size: 16px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.15s ease;
}
.pos-connection-close:hover {
  background: var(--pos-hover-bg);
}
.pos-connection-info {
  padding: 16px 20px;
}
.pos-connection-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.pos-connection-row:last-child {
  margin-bottom: 0;
}
.pos-connection-label {
  font-size: 14px;
  color: var(--pos-text-secondary);
}
.pos-connection-value {
  font-size: 14px;
  font-weight: 500;
  color: var(--pos-text-primary);
}
.pos-connection-actions {
  padding: 16px 20px;
  border-top: 1px solid var(--pos-border-light);
}
.pos-connection-retry {
  width: 100%;
  height: 40px;
  background: var(--pos-primary-color);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.pos-connection-retry:hover:not(:disabled) {
  background: var(--pos-primary-hover);
}
.pos-connection-retry:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.pos-connection-tips {
  padding: 16px 20px;
  background: var(--pos-info-bg);
  border-top: 1px solid var(--pos-border-light);
}
.pos-tips-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--pos-info-text);
  margin: 0 0 8px 0;
}
.pos-tips-list {
  margin: 0;
  padding-left: 16px;
  color: var(--pos-info-text);
}
.pos-tips-list li {
  font-size: 13px;
  margin-bottom: 4px;
}
/* ===========================
   TABLE STATUS CLASSES
   =========================== */
.pos-table-vacant {
  background: var(--pos-table-vacant-bg);
  border-color: var(--pos-table-vacant-border);
  color: var(--pos-table-vacant-text);
}
.pos-table-occupied {
  background: var(--pos-table-occupied-bg);
  border-color: var(--pos-table-occupied-border);
  color: var(--pos-table-occupied-text);
}
.pos-table-paid {
  background: var(--pos-table-paid-bg);
  border-color: var(--pos-table-paid-border);
  color: var(--pos-table-paid-text);
}
.pos-table-selected {
  background: var(--pos-table-selected-bg);
  border-color: var(--pos-table-selected-border);
  color: var(--pos-table-selected-text);
}
/* ===========================
   HIDE DEVELOPMENT PANELS
   =========================== */
/* Hide Language Test Panels completely - these are development components */
.language-test-panel,
[data-testid="language-test"],
[data-testid="language-debug"] {
  display: none !important;
}
/* Hide by component class names */
.fixed.bottom-4.right-4.z-50 {
  display: none !important;
}
/* Hide any element containing "Language Test Panel" or "Language Debug Panel" */
*:has(h3:contains("Language Test Panel")),
*:has(h3:contains("Language Debug Panel")) {
  display: none !important;
}
/* ===========================
   TABLE CARD STYLES - CROSS-BROWSER COMPATIBLE
   =========================== */
/* Base table card styles with smooth transitions */
.table-card-vacant,
.table-card-occupied,
.table-card-paid,
.table-card-selected,
.table-card-reserved,
.table-card-cleaning {
  transition: var(--pos-transition-colors, color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out) !important;
}
/* Table status classes using CSS variables with high specificity for cross-browser compatibility */
.table-card-vacant,
.table-card-vacant.table-card-vacant {
  /* Fallback colors for browser compatibility */
  background-color: #f0fdf4 !important; /* Light mode fallback */
  border-color: #bbf7d0 !important;
  color: #166534 !important;

  /* CSS variables with fallbacks */
  background-color: var(--pos-table-vacant-bg, #f0fdf4) !important;
  border-color: var(--pos-table-vacant-border, #bbf7d0) !important;
  color: var(--pos-table-vacant-text, #166534) !important;
}
/* Dark mode specific overrides for Chrome/Brave compatibility */
.dark .table-card-vacant,
[data-theme="dark"] .table-card-vacant,
html.dark .table-card-vacant,
:root.dark .table-card-vacant {
  background-color: #34d399 !important; /* Emerald-500 - Lighter, more readable */
  border-color: #6ee7b7 !important;     /* Emerald-300 - Bright */
  color: #f0fdf4 !important;            /* Green-50 - Very bright */
}
.table-card-occupied,
  .table-card-occupied.table-card-occupied {
    /* Fallback colors for browser compatibility */
    background-color: #eff6ff !important; /* Light mode fallback - Blue */
    border-color: #3b82f6 !important;     /* Blue-500 */
    color: #2563eb !important;            /* Blue-600 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-occupied-bg, #eff6ff) !important;
    border-color: var(--pos-table-occupied-border, #3b82f6) !important;
    color: var(--pos-table-occupied-text, #2563eb) !important;
  }
/* Dark mode specific overrides for Chrome/Brave compatibility */
.dark .table-card-occupied,
  [data-theme="dark"] .table-card-occupied,
  html.dark .table-card-occupied,
  :root.dark .table-card-occupied {
    background-color: #60a5fa !important; /* Blue-400 - Much lighter, more readable */
    border-color: #93c5fd !important;     /* Blue-300 - Bright */
    color: #1e3a8a !important;            /* Blue-900 - Dark text for contrast */
  }
.table-card-paid,
  .table-card-paid.table-card-paid {
    /* Fallback colors for browser compatibility - Blue for "Waiting to Close" */
    background-color: #dbeafe !important; /* Light mode fallback - Blue-100 */
    border-color: #2563eb !important;     /* Blue-600 */
    color: #1e40af !important;            /* Blue-700 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-paid-bg, #dbeafe) !important;
    border-color: var(--pos-table-paid-border, #2563eb) !important;
    color: var(--pos-table-paid-text, #1e40af) !important;
  }
/* Dark mode specific overrides for Chrome/Brave compatibility */
.dark .table-card-paid,
  [data-theme="dark"] .table-card-paid,
  html.dark .table-card-paid,
  :root.dark .table-card-paid {
    background-color: #3b82f6 !important; /* Blue-500 - Much lighter, readable */
    border-color: #93c5fd !important;     /* Blue-300 - Bright */
    color: #1e3a8a !important;            /* Blue-900 - Dark text for contrast */
  }
.table-card-selected,
  .table-card-selected.table-card-selected {
    /* Fallback colors for browser compatibility */
    background-color: #f0f9ff !important; /* Light mode fallback - Sky */
    border-color: #0ea5e9 !important;     /* Sky-500 */
    color: #0284c7 !important;            /* Sky-600 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-selected-bg, #f0f9ff) !important;
    border-color: var(--pos-table-selected-border, #0ea5e9) !important;
    color: var(--pos-table-selected-text, #0284c7) !important;
  }
/* Dark mode specific overrides for Chrome/Brave compatibility */
.dark .table-card-selected,
  [data-theme="dark"] .table-card-selected,
  html.dark .table-card-selected,
  :root.dark .table-card-selected {
    background-color: #3690c4 !important; /* Much lighter sky */
    border-color: #38bdf8 !important;     /* Sky-400 - Bright */
    color: #e0f2fe !important;            /* Sky-100 - Very bright */
  }
.table-card-reserved,
  .table-card-reserved.table-card-reserved {
    /* Fallback colors for browser compatibility */
    background-color: #faf5ff !important; /* Light mode fallback - Purple */
    border-color: #a855f7 !important;     /* Purple-500 */
    color: #9333ea !important;            /* Purple-600 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-reserved-bg, #faf5ff) !important;
    border-color: var(--pos-table-reserved-border, #a855f7) !important;
    color: var(--pos-table-reserved-text, #9333ea) !important;
  }
/* Dark mode specific overrides for Chrome/Brave compatibility */
.dark .table-card-reserved,
  [data-theme="dark"] .table-card-reserved,
  html.dark .table-card-reserved,
  :root.dark .table-card-reserved {
    background-color: #a78bfa !important; /* Violet-400 - Lighter, more readable */
    border-color: #c4b5fd !important;     /* Violet-300 - Bright */
    color: #4c1d95 !important;            /* Violet-900 - Dark text for contrast */
  }
.table-card-cleaning,
  .table-card-cleaning.table-card-cleaning {
    /* Fallback colors for browser compatibility */
    background-color: #f8fafc !important; /* Light mode fallback - Slate */
    border-color: #94a3b8 !important;     /* Slate-400 */
    color: #334155 !important;            /* Slate-700 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-cleaning-bg, #f8fafc) !important;
    border-color: var(--pos-table-cleaning-border, #94a3b8) !important;
    color: var(--pos-table-cleaning-text, #334155) !important;
  }
/* Dark mode specific overrides for Chrome/Brave compatibility */
.dark .table-card-cleaning,
  [data-theme="dark"] .table-card-cleaning,
  html.dark .table-card-cleaning,
  :root.dark .table-card-cleaning {
    background-color: #94a3b8 !important; /* Slate-400 - Lighter, more readable */
    border-color: #cbd5e1 !important;     /* Slate-300 - Bright */
    color: #1e293b !important;            /* Slate-800 - Dark text for contrast */
  }
/* ===========================
   SECTION NAVIGATION STYLES
   =========================== */
/* Section navigation buttons - improved dark mode visibility */
.section-nav-button {
  background-color: var(--pos-button-bg);
  color: var(--pos-text-secondary);
  border: 1px solid var(--pos-border-color);
  transition: all 0.2s ease;
}
.section-nav-button:hover {
  background-color: var(--pos-button-hover);
  color: var(--pos-text-primary);
  border-color: var(--pos-border-strong);
}
.section-nav-button.active {
  background-color: var(--pos-selected-bg);
  color: var(--pos-text-primary);
  border-color: var(--pos-primary-color);
  font-weight: 600;
}
/* ===========================
   GLOBAL THEME TRANSITIONS
   =========================== */
/* Smooth theme transitions for all elements */
*,
*::before,
*::after {
  transition: var(--pos-transition-colors, color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out);
}
/* Disable transitions during theme switching to prevent flicker */
.theme-switching *,
.theme-switching *::before,
.theme-switching *::after {
  transition: none !important;
}
/* ===========================
   UTILITY CLASSES
   =========================== */
.pos-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.pos-no-scroll {
  overflow: hidden;
}
.pos-fade-in {
  animation: possFadeIn 0.2s ease-out;
}
@keyframes possFadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* POS Theme CSS - Light/Dark Theme Support using shadcn/ui conventions */
/* POS specific touch targets for Sunmi D3 */
.pos-touch-target{
  min-height: 56px;
  min-width: 56px;
}
.pos-touch-target-large{
  min-height: 64px;
  min-width: 64px;
}
/* POS specific utility classes */
.pos-grid-layout{
  display: grid;
  height: 100%;
  flex: 1 1 0%;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
  overflow: hidden;
}
@media (min-width: 768px){
  .pos-grid-layout{
    grid-template-columns: 2fr 1fr;
  }
}
/* POS specific component styles */
.pos-header{
  border-bottom-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--background));
}
.pos-sidebar{
  border-left-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--muted) / 0.3);
}
.pos-card{
  border-radius: var(--radius);
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--card));
  color: hsl(var(--card-foreground));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.pos-button-primary{
  height: 3.5rem;
  background-color: hsl(var(--primary));
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: hsl(var(--primary-foreground));
}
.pos-button-primary:hover{
  background-color: hsl(var(--primary) / 0.9);
}
.pos-button-secondary{
  height: 3.5rem;
  background-color: hsl(var(--secondary));
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  color: hsl(var(--secondary-foreground));
}
.pos-button-secondary:hover{
  background-color: hsl(var(--secondary) / 0.8);
}
/* Status indicators */
.pos-status-success{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.pos-status-success:is([data-theme="dark"] *){
  background-color: rgb(20 83 45 / 0.2);
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.pos-status-warning{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.pos-status-warning:is([data-theme="dark"] *){
  background-color: rgb(113 63 18 / 0.2);
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.pos-status-error{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.pos-status-error:is([data-theme="dark"] *){
  background-color: rgb(127 29 29 / 0.2);
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.pos-status-info{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.pos-status-info:is([data-theme="dark"] *){
  background-color: rgb(30 58 138 / 0.2);
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
/* Adaptive Layout System - New Design System */
/* Adaptive Layout Styles
 * Design-first approach for POS application
 * Supports Sunmi D3, tablets, mobile, and desktop
 */
/* ===========================
 * BASE LAYOUT VARIABLES
 * =========================== */
:root {
  /* Layout dimensions */
  --adaptive-header-height: 64px;
  --adaptive-footer-height: 40px;
  --adaptive-sidebar-width: 280px;
  --adaptive-sidebar-collapsed-width: 64px;
  
  /* Panel heights for progressive disclosure */
  --adaptive-panel-collapsed: 10vh;
  --adaptive-panel-partial: 50vh;
  --adaptive-panel-expanded: 100vh;
  
  /* Touch target sizes */
  --touch-target-sm: 44px;    /* iOS minimum */
  --touch-target-md: 48px;    /* Material Design */
  --touch-target-lg: 56px;    /* POS optimal */
  --touch-target-xl: 64px;    /* Critical actions */
  
  /* Spacing scales */
  --spacing-compact: 0.5rem;
  --spacing-normal: 1rem;
  --spacing-comfortable: 1.5rem;
  
  /* Animation timings */
  --adaptive-transition-fast: 150ms;
  --adaptive-transition-normal: 300ms;
  --adaptive-transition-slow: 500ms;
  
  /* Z-index layers */
  --z-layout-base: 1;
  --z-layout-header: 10;
  --z-layout-sidebar: 20;
  --z-layout-panel: 30;
  --z-layout-modal: 1000;
  --z-layout-toast: 1100;
}
/* ===========================
 * DEVICE-SPECIFIC VARIABLES
 * =========================== */
/* Sunmi D3 Optimizations */
.device-sunmi-d3 {
  --adaptive-base-font-size: 18px;
  --adaptive-touch-target: var(--touch-target-lg);
  --adaptive-spacing: var(--spacing-normal);
  --adaptive-grid-cols: 3;
  --adaptive-panel-width: 400px;
}
/* Tablet Optimizations */
.device-tablet {
  --adaptive-base-font-size: 16px;
  --adaptive-touch-target: var(--touch-target-md);
  --adaptive-spacing: var(--spacing-normal);
  --adaptive-grid-cols: 2;
  --adaptive-panel-width: 360px;
}
/* Mobile Optimizations */
.device-mobile {
  --adaptive-base-font-size: 16px;
  --adaptive-touch-target: var(--touch-target-lg);
  --adaptive-spacing: var(--spacing-compact);
  --adaptive-grid-cols: 1;
  --adaptive-panel-width: 100vw;
  --adaptive-sidebar-width: 100vw;
}
/* Desktop Optimizations */
.device-desktop {
  --adaptive-base-font-size: 14px;
  --adaptive-touch-target: var(--touch-target-sm);
  --adaptive-spacing: var(--spacing-comfortable);
  --adaptive-grid-cols: 4;
  --adaptive-panel-width: 480px;
}
/* ===========================
 * ADAPTIVE LAYOUT STRUCTURE
 * =========================== */
.adaptive-layout {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  font-size: var(--adaptive-base-font-size);
  line-height: 1.5;
  background: var(--pos-bg-primary);
  color: var(--pos-text-primary);
}
/* Layout Header */
.adaptive-layout-header {
  height: var(--adaptive-header-height);
  background: var(--pos-header-bg);
  border-bottom: 1px solid var(--pos-border-color);
  z-index: var(--z-layout-header);
  display: flex;
  align-items: center;
  padding: 0 var(--adaptive-spacing);
  flex-shrink: 0;
}
/* Layout Main Content */
.adaptive-layout-main {
  flex: 1;
  display: flex;
  overflow: hidden;
  min-height: 0; /* Important for flex overflow */
}
/* Layout Footer */
.adaptive-layout-footer {
  height: var(--adaptive-footer-height);
  background: var(--pos-status-bg);
  border-top: 1px solid var(--pos-border-color);
  z-index: var(--z-layout-header);
  display: flex;
  align-items: center;
  padding: 0 var(--adaptive-spacing);
  flex-shrink: 0;
  font-size: 0.875rem;
  color: var(--pos-text-secondary);
}
/* ===========================
 * RESPONSIVE GRID SYSTEM
 * =========================== */
.adaptive-grid {
  display: grid;
  width: 100%;
  transition: grid-template-columns var(--adaptive-transition-normal) ease;
}
/* Order Form Grid Layout */
.order-form-grid {
  height: 100%;
  display: grid;
  gap: var(--adaptive-spacing);
}
/* Horizontal Layout (Tablet/Desktop) */
.layout-horizontal .order-form-grid {
  grid-template-columns: 2fr var(--adaptive-panel-width);
  grid-template-rows: 1fr;
}
/* Vertical Layout (Mobile) */
.layout-vertical .order-form-grid {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
}
/* Product Selection Area */
.product-selection-area {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--pos-bg-primary);
  border-radius: 12px;
  box-shadow: var(--pos-shadow-sm);
}
/* Product Grid */
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--adaptive-spacing);
  padding: var(--adaptive-spacing);
  overflow-y: auto;
}
.device-mobile .product-grid {
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: calc(var(--adaptive-spacing) * 0.75);
}
.device-sunmi-d3 .product-grid {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
/* ===========================
 * PROGRESSIVE PANEL SYSTEM
 * =========================== */
.progressive-panel {
  background: var(--pos-bg-secondary);
  border-radius: 12px 12px 0 0;
  box-shadow: var(--pos-shadow-lg);
  z-index: var(--z-layout-panel);
  position: relative;
  transition: height var(--adaptive-transition-normal) ease-in-out;
}
/* Panel States */
.panel-collapsed .progressive-panel {
  height: var(--adaptive-panel-collapsed);
}
.panel-partial .progressive-panel {
  height: var(--adaptive-panel-partial);
}
.panel-expanded .progressive-panel {
  height: var(--adaptive-panel-expanded);
}
/* Mobile specific panel behavior */
.device-mobile .progressive-panel {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 16px 16px 0 0;
  z-index: var(--z-layout-modal);
}
.device-mobile.panel-collapsed .progressive-panel {
  transform: translateY(calc(100% - var(--adaptive-panel-collapsed)));
}
.device-mobile.panel-partial .progressive-panel {
  transform: translateY(calc(100% - var(--adaptive-panel-partial)));
}
.device-mobile.panel-expanded .progressive-panel {
  transform: translateY(0);
}
/* Panel Header */
.panel-header {
  background: var(--pos-bg-primary);
  border-bottom: 1px solid var(--pos-border-color);
  border-radius: 12px 12px 0 0;
  min-height: var(--adaptive-touch-target);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 var(--adaptive-spacing);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  position: sticky;
  top: 0;
  z-index: 10;
}
.panel-header:hover {
  background: var(--pos-hover-bg);
}
.panel-header:active {
  background: var(--pos-button-active);
}
/* Panel Content */
.panel-content {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.panel-body {
  flex: 1;
  overflow-y: auto;
  padding: var(--adaptive-spacing);
}
/* ===========================
 * TOUCH TARGET SYSTEM
 * =========================== */
.touch-target {
  position: relative;
  transition: all var(--adaptive-transition-fast) ease;
  border-radius: 8px;
}
/* Touch feedback for touch devices */
.is-touch .touch-target:hover {
  background: var(--pos-hover-bg);
}
.is-touch .touch-target:active {
  transform: scale(0.95);
  background: var(--pos-button-active);
}
/* Focus styles for keyboard navigation */
.touch-target:focus-visible {
  outline: 2px solid var(--pos-primary-color);
  outline-offset: 2px;
}
/* Touch target sizes */
.touch-target-sm {
  min-height: var(--touch-target-sm);
  min-width: var(--touch-target-sm);
}
.touch-target-md {
  min-height: var(--touch-target-md);
  min-width: var(--touch-target-md);
}
.touch-target-lg {
  min-height: var(--touch-target-lg);
  min-width: var(--touch-target-lg);
}
.touch-target-xl {
  min-height: var(--touch-target-xl);
  min-width: var(--touch-target-xl);
}
/* ===========================
 * ORDER FORM SPECIFIC STYLES
 * =========================== */
/* Product Card */
.product-card {
  background: var(--pos-bg-primary);
  border: 2px solid var(--pos-border-color);
  border-radius: 12px;
  overflow: hidden;
  transition: all var(--adaptive-transition-fast) ease;
  cursor: pointer;
  min-height: var(--adaptive-touch-target);
}
.product-card:hover {
  border-color: var(--pos-primary-color);
  box-shadow: var(--pos-shadow-md);
  transform: translateY(-1px);
}
.product-card:active {
  transform: translateY(0);
  box-shadow: var(--pos-shadow-sm);
}
.product-card-image {
  aspect-ratio: 1;
  background: var(--pos-bg-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.product-card-content {
  padding: var(--adaptive-spacing);
}
.product-card-title {
  font-weight: 600;
  margin-bottom: 0.25rem;
  line-height: 1.3;
  font-size: 0.9rem;
}
.device-sunmi-d3 .product-card-title {
  font-size: 1rem;
}
.product-card-price {
  color: var(--pos-primary-color);
  font-weight: 700;
  font-size: 1rem;
}
.device-sunmi-d3 .product-card-price {
  font-size: 1.125rem;
}
/* ===========================
 * CART/ORDER PANEL
 * =========================== */
.order-panel {
  background: var(--pos-bg-primary);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.order-panel-header {
  background: var(--pos-header-section-bg);
  border-bottom: 1px solid var(--pos-border-color);
  padding: var(--adaptive-spacing);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--adaptive-touch-target);
}
.order-panel-body {
  flex: 1;
  overflow-y: auto;
  padding: var(--adaptive-spacing);
}
.order-panel-footer {
  border-top: 1px solid var(--pos-border-color);
  padding: var(--adaptive-spacing);
  background: var(--pos-bg-secondary);
}
/* Order Item */
.order-item {
  display: flex;
  align-items: center;
  gap: var(--adaptive-spacing);
  padding: var(--adaptive-spacing);
  border-bottom: 1px solid var(--pos-border-light);
  min-height: var(--adaptive-touch-target);
}
.order-item:last-child {
  border-bottom: none;
}
.order-item-image {
  width: 48px;
  height: 48px;
  border-radius: 8px;
  background: var(--pos-bg-secondary);
  flex-shrink: 0;
}
.order-item-content {
  flex: 1;
  min-width: 0;
}
.order-item-title {
  font-weight: 500;
  margin-bottom: 0.25rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.order-item-details {
  font-size: 0.875rem;
  color: var(--pos-text-secondary);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.order-item-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.quantity-control {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  background: var(--pos-bg-secondary);
  border-radius: 8px;
  padding: 0.25rem;
}
.quantity-button {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  background: var(--pos-button-bg);
  border: 1px solid var(--pos-border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all var(--adaptive-transition-fast) ease;
}
.quantity-button:hover {
  background: var(--pos-button-hover);
  border-color: var(--pos-primary-color);
}
.quantity-button:active {
  transform: scale(0.95);
}
.quantity-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}
/* ===========================
 * PAYMENT SYSTEM
 * =========================== */
.payment-section {
  margin-top: auto;
  border-top: 2px solid var(--pos-border-color);
  padding-top: var(--adaptive-spacing);
}
.payment-summary {
  margin-bottom: var(--adaptive-spacing);
}
.payment-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.payment-row.total {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--pos-primary-color);
  border-top: 1px solid var(--pos-border-light);
  padding-top: 0.5rem;
  margin-top: 0.5rem;
}
.payment-actions {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.payment-button {
  height: var(--adaptive-touch-target);
  background: var(--pos-primary-color);
  color: white;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--adaptive-transition-fast) ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.payment-button:hover:not(:disabled) {
  background: var(--pos-primary-hover);
  transform: translateY(-1px);
}
.payment-button:active {
  transform: translateY(0);
}
.payment-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
.payment-button.secondary {
  background: var(--pos-button-bg);
  color: var(--pos-text-primary);
  border: 1px solid var(--pos-border-color);
}
.payment-button.secondary:hover:not(:disabled) {
  background: var(--pos-button-hover);
}
/* ===========================
 * NUMERIC KEYPAD
 * =========================== */
.numeric-keypad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  padding: var(--adaptive-spacing);
  background: var(--pos-bg-secondary);
  border-radius: 12px;
}
.keypad-button {
  height: var(--adaptive-touch-target);
  background: var(--pos-button-bg);
  border: 1px solid var(--pos-border-color);
  border-radius: 8px;
  font-size: 1.125rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--adaptive-transition-fast) ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.device-sunmi-d3 .keypad-button {
  height: calc(var(--adaptive-touch-target) + 8px);
  font-size: 1.25rem;
}
.keypad-button:hover {
  background: var(--pos-button-hover);
  border-color: var(--pos-primary-color);
}
.keypad-button:active {
  transform: scale(0.95);
  background: var(--pos-button-active);
}
.keypad-button.wide {
  grid-column: span 2;
}
.keypad-button.primary {
  background: var(--pos-primary-color);
  color: white;
  border-color: var(--pos-primary-color);
}
.keypad-button.primary:hover {
  background: var(--pos-primary-hover);
}
/* ===========================
 * ANIMATIONS & TRANSITIONS
 * =========================== */
@keyframes slideUp {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slideDown {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(100%);
    opacity: 0;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.slide-up-enter {
  animation: slideUp var(--adaptive-transition-normal) ease-out;
}
.slide-down-exit {
  animation: slideDown var(--adaptive-transition-normal) ease-in;
}
.fade-in {
  animation: fadeIn var(--adaptive-transition-fast) ease-out;
}
/* ===========================
 * DEVICE-SPECIFIC OVERRIDES
 * =========================== */
/* Sunmi D3 specific styles */
.device-sunmi-d3 {
  /* Force landscape orientation warning */
  min-width: 1280px;
  min-height: 720px;
}
/* Mobile portrait warning for Sunmi */
@media (max-width: 1279px) and (orientation: portrait) {
  .device-sunmi-d3::before {
    content: "Lütfen cihazı yatay konuma getirin";
    position: fixed;
    inset: 0;
    background: var(--pos-bg-primary);
    color: var(--pos-text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    font-size: 1.5rem;
    text-align: center;
    padding: 2rem;
  }
}
/* Mobile optimizations */
.device-mobile .order-form-grid {
  height: 100dvh;
  grid-template-rows: 1fr;
}
.device-mobile .product-selection-area {
  border-radius: 0;
  margin: 0;
}
/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  .adaptive-layout *,
  .adaptive-layout *::before,
  .adaptive-layout *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
/* Modal fixes */
/* Modal X button fix - Hide default close buttons */
[data-radix-dialog-content] > button[data-radix-dialog-close],
[data-radix-dialog-content] > button:first-child:last-child,
.dialog-content > button[aria-label="Close"],
.dialog-content > button[data-dialog-close] {
  display: none !important;
}
/* Alternative approach - target by position */
[data-radix-dialog-content] > button:first-child {
  display: none !important;
}
/* Hide any button that looks like a close button */
[data-radix-dialog-content] button[type="button"]:not([class*="btn"]):not([class*="button"]):first-child {
  display: none !important;
}
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
/* ===========================
     LIGHT THEME (Default)
     =========================== */
:root {
    /* Shadcn UI Base Variables - HSL Format */
    --background: 0 0% 100%;                    /* slate-50: #f8fafc */
    --foreground: 222.2 84% 4.9%;              /* slate-950: #020617 */

    --card: 0 0% 100%;                          /* white */
    --card-foreground: 222.2 84% 4.9%;         /* slate-950 */

    --popover: 0 0% 100%;                       /* white */
    --popover-foreground: 222.2 84% 4.9%;      /* slate-950 */

    --primary: 221.2 83.2% 53.3%;              /* blue-600: #2563eb */
    --primary-foreground: 210 40% 98%;         /* slate-50 */

    /* Category selection color (seçili kategori rengi) */
    --category-active: 25 95% 53%;             /* amber-like orange */
    --category-active-foreground: 0 0% 100%;   /* white */
    
    --secondary: 210 40% 96.1%;                /* slate-100: #f1f5f9 */
    --secondary-foreground: 222.2 47.4% 11.2%; /* slate-900 */
    
    --muted: 210 40% 96.1%;                    /* slate-100 */
    --muted-foreground: 215.4 16.3% 46.9%;    /* slate-500 */
    
    --accent: 210 40% 96.1%;                   /* slate-100 */
    --accent-foreground: 222.2 47.4% 11.2%;   /* slate-900 */
    
    --destructive: 0 84.2% 60.2%;              /* red-500: #ef4444 */
    --destructive-foreground: 210 40% 98%;     /* slate-50 */
    
    --border: 214.3 31.8% 91.4%;               /* slate-200: #e2e8f0 */
    --input: 214.3 31.8% 91.4%;                /* slate-200 */
    --ring: 221.2 83.2% 53.3%;                 /* blue-600 */
    
    --radius: 0.5rem;
    
    /* POS Specific Variables - Light Mode */
    --pos-header-bg: 210 40% 98%;              /* slate-50: #f8fafc */
    --pos-sidebar-bg: 210 40% 96.1%;           /* slate-100: #f1f5f9 */
    --pos-main-bg: 0 0% 100%;                  /* white */
    
    /* Table Card Status Colors - Light Mode - Modern Professional Palette */
    /* Vacant (Available) - Fresh, inviting green */
    --pos-table-vacant-bg: 142 76% 96%;        /* green-50: #f0fdf4 */
    --pos-table-vacant-border: 142 71% 45%;    /* green-500: #22c55e */
    --pos-table-vacant-text: 142 76% 36%;      /* green-600: #16a34a */

    /* Occupied (Active) - Professional blue instead of amber */
    --pos-table-occupied-bg: 217 91% 95%;      /* blue-50: #eff6ff */
    --pos-table-occupied-border: 217 91% 60%;  /* blue-500: #3b82f6 */
    --pos-table-occupied-text: 217 91% 45%;    /* blue-600: #2563eb */

    /* Paid (Completed) - Success teal/emerald */
    --pos-table-paid-bg: 214 100% 93%;         /* blue-100: #dbeafe - Waiting to Close */
    --pos-table-paid-border: 221 83% 53%;      /* blue-600: #2563eb */
    --pos-table-paid-text: 224 76% 40%;        /* blue-700: #1e40af */

    /* Selected - Sky blue for selection */
    --pos-table-selected-bg: 204 94% 94%;      /* sky-50: #f0f9ff */
    --pos-table-selected-border: 199 89% 48%;  /* sky-500: #0ea5e9 */
    --pos-table-selected-text: 199 89% 38%;    /* sky-600: #0284c7 */

    /* Reserved/Parent (Merged) - Elegant purple */
    --pos-table-reserved-bg: 270 100% 97%;     /* purple-50: #faf5ff */
    --pos-table-reserved-border: 271 81% 56%;  /* purple-500: #a855f7 */
    --pos-table-reserved-text: 271 91% 45%;    /* purple-600: #9333ea */

    /* Cleaning - Neutral slate */
    --pos-table-cleaning-bg: 210 40% 96%;      /* slate-50: #f8fafc */
    --pos-table-cleaning-border: 215 20% 65%;  /* slate-400: #94a3b8 */
    --pos-table-cleaning-text: 215 25% 27%;    /* slate-700: #334155 */
    
    /* Transitions */
    --pos-transition-fast: 150ms ease-out;
    --pos-transition-normal: 250ms ease-out;
    --pos-transition-slow: 350ms ease-out;
    --pos-transition-colors: color 250ms ease-out, background-color 250ms ease-out, border-color 250ms ease-out;
  }
/* ===========================
     DARK THEME - Doğal ve Hafif Koyu Mod (Natural Soft Dark)
     =========================== */
.dark {
    /* Shadcn UI Base Variables - Doğal Hafif Koyu Mod HSL */
    --background: 210 22% 22%;                 /* #2D3748 - Doğal, yumuşak gri */
    --foreground: 210 40% 98%;                 /* #F7FAFC - Yumuşak beyaz */

    --card: 210 16% 28%;                       /* #374151 - Belirgin ama yumuşak fark */
    --card-foreground: 210 40% 98%;            /* #F7FAFC - Yumuşak beyaz */

    --popover: 210 16% 28%;                    /* #374151 - Card ile aynı */
    --popover-foreground: 210 40% 98%;         /* #F7FAFC - Yumuşak beyaz */

    --primary: 213 93% 68%;                    /* #60A5FA - Yumuşak mavi (blue-400) */
    --primary-foreground: 0 0% 100%;           /* #FFFFFF - Saf beyaz */

    --secondary: 210 14% 35%;                  /* #4A5568 - Doğal gri */
    --secondary-foreground: 210 40% 98%;       /* #F7FAFC - Yumuşak beyaz */

    --muted: 210 14% 35%;                      /* #4A5568 - Doğal gri */
    --muted-foreground: 210 14% 69%;           /* #A0AEC0 - Doğal muted text */

    --accent: 210 14% 35%;                     /* #4A5568 - Doğal gri */
    --accent-foreground: 210 40% 98%;          /* #F7FAFC - Yumuşak beyaz */

    --destructive: 0 69% 71%;                  /* #F87171 - Yumuşak kırmızı (red-400) */
    --destructive-foreground: 0 0% 100%;       /* #FFFFFF - Saf beyaz */

    --border: 210 14% 35%;                     /* #4A5568 - Doğal gri border */
    --input: 210 16% 32%;                      /* #3A4553 - Input background */
    --ring: 213 93% 68%;                       /* #60A5FA - Yumuşak mavi focus ring */

    /* POS Specific Variables - Doğal Hafif Koyu Mod */
    --pos-header-bg: 210 14% 35%;              /* #4A5568 - Dengeli header */
    --pos-sidebar-bg: 210 16% 28%;             /* #374151 - Card ile aynı */
    --pos-main-bg: 210 22% 22%;                /* #2D3748 - Ana background */
    
    /* Table Card Status Colors - Dark Mode - Much Lighter & Vibrant */
    /* Vacant (Available) - Bright fresh green */
    --pos-table-vacant-bg: 142 40% 35%;        /* Much lighter green background */
    --pos-table-vacant-border: 142 71% 60%;    /* green-400: #4ade80 - Bright border */
    --pos-table-vacant-text: 142 76% 92%;      /* green-100: #dcfce7 - Very bright text */

    /* Occupied (Active) - Bright readable blue */
    --pos-table-occupied-bg: 217 50% 42%;      /* Much lighter blue background */
    --pos-table-occupied-border: 217 91% 70%;  /* blue-400: #60a5fa - Bright border */
    --pos-table-occupied-text: 217 92% 95%;    /* blue-50: #eff6ff - Very bright text */

    /* Paid (Completed) - Bright emerald/teal */
    --pos-table-paid-bg: 224 64% 33%;          /* blue-900: #1e3a8a - Dark blue */
    --pos-table-paid-border: 213 93% 68%;      /* blue-400: #60a5fa - Bright blue */
    --pos-table-paid-text: 214 95% 87%;        /* blue-200: #bfdbfe - Light blue text */

    /* Selected - Bright sky blue */
    --pos-table-selected-bg: 199 50% 40%;      /* Much lighter sky background */
    --pos-table-selected-border: 199 89% 65%;  /* sky-400: #38bdf8 - Bright border */
    --pos-table-selected-text: 199 95% 92%;    /* sky-100: #e0f2fe - Very bright text */

    /* Reserved/Parent (Merged) - Bright purple */
    --pos-table-reserved-bg: 271 45% 40%;      /* Much lighter purple background */
    --pos-table-reserved-border: 271 81% 70%;  /* purple-400: #c084fc - Bright border */
    --pos-table-reserved-text: 270 95% 94%;    /* purple-100: #f3e8ff - Very bright text */

    /* Cleaning - Lighter neutral slate */
    --pos-table-cleaning-bg: 215 20% 42%;      /* slate-500: #64748b - Lighter neutral */
    --pos-table-cleaning-border: 215 20% 65%;  /* slate-400: #94a3b8 - Visible border */
    --pos-table-cleaning-text: 210 40% 95%;    /* slate-50: #f8fafc - Very bright text */

    /* Button Colors - Doğal Yumuşak Tonlar */
    --pos-button-primary-bg: 213 93% 68%;      /* #60A5FA - Blue-400 (yumuşak mavi) */
    --pos-button-primary-hover: 221 83% 53%;   /* #3B82F6 - Blue-500 (hover) */
    --pos-button-primary-text: 0 0% 100%;      /* #FFFFFF - Saf beyaz */

    --pos-button-secondary-bg: 210 14% 35%;    /* #4A5568 - Doğal gri */
    --pos-button-secondary-hover: 210 16% 28%; /* #374151 - Daha koyu gri */
    --pos-button-secondary-text: 210 40% 98%;  /* #F7FAFC - Yumuşak beyaz */

    --pos-button-success-bg: 158 64% 52%;      /* #10B981 - Emerald-500 (doğal yeşil) */
    --pos-button-success-hover: 158 75% 42%;   /* #059669 - Emerald-600 (hover) */
    --pos-button-success-text: 0 0% 100%;      /* #FFFFFF - Saf beyaz */

    --pos-button-danger-bg: 0 69% 71%;         /* #F87171 - Red-400 (yumuşak kırmızı) */
    --pos-button-danger-hover: 0 84% 60%;      /* #EF4444 - Red-500 (hover) */
    --pos-button-danger-text: 0 0% 100%;       /* #FFFFFF - Saf beyaz */

    /* Footer Colors - Doğal Profesyonel */
    --pos-footer-bg: 210 16% 28%;              /* #374151 - Card ile aynı */
    --pos-footer-border: 210 14% 35%;          /* #4A5568 - Doğal border */
    --pos-footer-text: 210 40% 91%;            /* #E2E8F0 - Yumuşak text */
    --pos-footer-text-muted: 210 14% 69%;      /* #A0AEC0 - Doğal muted */
  }
/* ===========================
     GLOBAL BASE STYLES
     =========================== */
*{
  border-color: hsl(var(--border));
}
body{
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
    font-feature-settings: "rlig" 1, "calt" 1;
}
/* ===========================
     SMOOTH THEME TRANSITIONS
     =========================== */
*,
  *::before,
  *::after {
    transition: var(--pos-transition-colors);
  }
/* Disable transitions during theme switching to prevent flicker */
.theme-switching *,
  .theme-switching *::before,
  .theme-switching *::after {
    transition: none !important;
  }
*{
  border-color: hsl(var(--border));
}
body{
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}
/* Touch-optimized styles for Sunmi D3 */
.touch-target {
    min-height: 48px;
    min-width: 48px;
  }
/* Scrollbar hide utility */
.scrollbar-hide {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
  }
.scrollbar-hide::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
  }
/* Scrollbar thin utility */
.scrollbar-thin {
    scrollbar-width: thin; /* Firefox */
  }
.scrollbar-thin::-webkit-scrollbar {
    width: 6px; /* Chrome, Safari, Opera */
  }
.scrollbar-thumb-border::-webkit-scrollbar-thumb {
    background-color: hsl(var(--border));
    border-radius: 3px;
  }
.scrollbar-thumb-border::-webkit-scrollbar-thumb:hover {
    background-color: hsl(var(--border) / 0.8);
  }
.scrollbar-track-transparent::-webkit-scrollbar-track {
    background: transparent;
  }
.pos-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1rem;
    height: 100%;
    flex: 1;
    overflow: hidden;
  }
@media (max-width: 768px) {
    .pos-grid {
      grid-template-columns: 1fr;
      grid-template-rows: 1fr auto;
    }
  }
.\!container{
  width: 100% !important;
}
.container{
  width: 100%;
}
@media (min-width: 480px){
  .\!container{
    max-width: 480px !important;
  }
  .container{
    max-width: 480px;
  }
}
@media (min-width: 640px){
  .\!container{
    max-width: 640px !important;
  }
  .container{
    max-width: 640px;
  }
}
@media (min-width: 768px){
  .\!container{
    max-width: 768px !important;
  }
  .container{
    max-width: 768px;
  }
}
@media (min-width: 1024px){
  .\!container{
    max-width: 1024px !important;
  }
  .container{
    max-width: 1024px;
  }
}
@media (min-width: 1280px){
  .\!container{
    max-width: 1280px !important;
  }
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1536px){
  .\!container{
    max-width: 1536px !important;
  }
  .container{
    max-width: 1536px;
  }
}
@media (min-width: 1920px){
  .\!container{
    max-width: 1920px !important;
  }
  .container{
    max-width: 1920px;
  }
}
/* Header Styles */
.pos-header {
    background: hsl(var(--pos-header-bg));
    border-bottom-width: 1px;
    border-color: hsl(var(--border));
  }
/* Sidebar Styles */
.pos-sidebar {
    background: hsl(var(--pos-sidebar-bg));
    border-left-width: 1px;
    border-color: hsl(var(--border));
  }
/* Main Content */
/* Card Base */
/* Button Variants - Doğal Yumuşak Tonlar */
/* Footer Styles - Modern Professional */
.pos-footer-text {
    color: hsl(var(--pos-footer-text));
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 500;
  }
/* Card Enhancements - Doğal Gölgeler ve Yumuşak Köşeler */
/* Modal Enhancements - Doğal Backdrop */
/* Input Enhancements - Doğal Focus */
/* Touch Targets for Sunmi D3 */
.pos-touch-target{
  min-height: 56px;
  min-width: 56px;
}
.pos-touch-target-large{
  min-height: 64px;
  min-width: 64px;
}
/* ===========================
     TABLE CARD STYLES - Cross-Browser Compatible
     =========================== */
/* Base table card with smooth transitions */
.table-card{
  border-radius: var(--radius);
  border-width: 2px;
  padding: 1rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
    transition: var(--pos-transition-colors);
}
/* Vacant Tables - Available */
.table-card-vacant,
  .table-card.vacant {
    background-color: hsl(var(--pos-table-vacant-bg)) !important;
    border-color: hsl(var(--pos-table-vacant-border)) !important;
    color: hsl(var(--pos-table-vacant-text)) !important;
  }
/* Occupied Tables - Active */
.table-card-occupied,
  .table-card.occupied {
    background-color: hsl(var(--pos-table-occupied-bg)) !important;
    border-color: hsl(var(--pos-table-occupied-border)) !important;
    color: hsl(var(--pos-table-occupied-text)) !important;
  }
/* Paid Tables - Completed */
.table-card-paid,
  .table-card.paid {
    background-color: hsl(var(--pos-table-paid-bg)) !important;
    border-color: hsl(var(--pos-table-paid-border)) !important;
    color: hsl(var(--pos-table-paid-text)) !important;
  }
/* Selected Tables */
.table-card-selected,
  .table-card.selected {
    background-color: hsl(var(--pos-table-selected-bg)) !important;
    border-color: hsl(var(--pos-table-selected-border)) !important;
    color: hsl(var(--pos-table-selected-text)) !important;
  }

  .table-card.\!selected {
    background-color: hsl(var(--pos-table-selected-bg)) !important;
    border-color: hsl(var(--pos-table-selected-border)) !important;
    color: hsl(var(--pos-table-selected-text)) !important;
  }
/* Reserved Tables */
.table-card-reserved,
  .table-card.reserved {
    background-color: hsl(var(--pos-table-reserved-bg)) !important;
    border-color: hsl(var(--pos-table-reserved-border)) !important;
    color: hsl(var(--pos-table-reserved-text)) !important;
  }
/* Cleaning Tables */
.table-card-cleaning,
  .table-card.cleaning {
    background-color: hsl(var(--pos-table-cleaning-bg)) !important;
    border-color: hsl(var(--pos-table-cleaning-border)) !important;
    color: hsl(var(--pos-table-cleaning-text)) !important;
  }
/* Cross-browser compatibility - Multiple selector strategies */
.dark .table-card-vacant,
  [data-theme="dark"] .table-card-vacant,
  html.dark .table-card-vacant,
  :root.dark .table-card-vacant {
    background-color: hsl(var(--pos-table-vacant-bg)) !important;
    border-color: hsl(var(--pos-table-vacant-border)) !important;
    color: hsl(var(--pos-table-vacant-text)) !important;
  }
.dark .table-card-occupied,
  [data-theme="dark"] .table-card-occupied,
  html.dark .table-card-occupied,
  :root.dark .table-card-occupied {
    background-color: hsl(var(--pos-table-occupied-bg)) !important;
    border-color: hsl(var(--pos-table-occupied-border)) !important;
    color: hsl(var(--pos-table-occupied-text)) !important;
  }
.dark .table-card-paid,
  [data-theme="dark"] .table-card-paid,
  html.dark .table-card-paid,
  :root.dark .table-card-paid {
    background-color: hsl(var(--pos-table-paid-bg)) !important;
    border-color: hsl(var(--pos-table-paid-border)) !important;
    color: hsl(var(--pos-table-paid-text)) !important;
  }
.dark .table-card-selected,
  [data-theme="dark"] .table-card-selected,
  html.dark .table-card-selected,
  :root.dark .table-card-selected {
    background-color: hsl(var(--pos-table-selected-bg)) !important;
    border-color: hsl(var(--pos-table-selected-border)) !important;
    color: hsl(var(--pos-table-selected-text)) !important;
  }
.dark .table-card-reserved,
  [data-theme="dark"] .table-card-reserved,
  html.dark .table-card-reserved,
  :root.dark .table-card-reserved {
    background-color: hsl(var(--pos-table-reserved-bg)) !important;
    border-color: hsl(var(--pos-table-reserved-border)) !important;
    color: hsl(var(--pos-table-reserved-text)) !important;
  }
.dark .table-card-cleaning,
  [data-theme="dark"] .table-card-cleaning,
  html.dark .table-card-cleaning,
  :root.dark .table-card-cleaning {
    background-color: hsl(var(--pos-table-cleaning-bg)) !important;
    border-color: hsl(var(--pos-table-cleaning-border)) !important;
    color: hsl(var(--pos-table-cleaning-text)) !important;
  }
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none{
  pointer-events: none;
}
.pointer-events-auto{
  pointer-events: auto;
}
.visible{
  visibility: visible;
}
.collapse{
  visibility: collapse;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.inset-0{
  inset: 0px;
}
.inset-12{
  inset: 3rem;
}
.inset-2{
  inset: 0.5rem;
}
.inset-x-0{
  left: 0px;
  right: 0px;
}
.inset-y-0{
  top: 0px;
  bottom: 0px;
}
.-bottom-1{
  bottom: -0.25rem;
}
.-bottom-2{
  bottom: -0.5rem;
}
.-bottom-5{
  bottom: -1.25rem;
}
.-bottom-px{
  bottom: -1px;
}
.-right-0\.5{
  right: -0.125rem;
}
.-right-1{
  right: -0.25rem;
}
.-right-2{
  right: -0.5rem;
}
.-top-0\.5{
  top: -0.125rem;
}
.-top-1{
  top: -0.25rem;
}
.-top-2{
  top: -0.5rem;
}
.bottom-0{
  bottom: 0px;
}
.bottom-10{
  bottom: 2.5rem;
}
.bottom-2{
  bottom: 0.5rem;
}
.bottom-4{
  bottom: 1rem;
}
.bottom-6{
  bottom: 1.5rem;
}
.bottom-8{
  bottom: 2rem;
}
.bottom-\[-10\%\]{
  bottom: -10%;
}
.left-0{
  left: 0px;
}
.left-1\/2{
  left: 50%;
}
.left-2{
  left: 0.5rem;
}
.left-2\.5{
  left: 0.625rem;
}
.left-3{
  left: 0.75rem;
}
.left-4{
  left: 1rem;
}
.left-6{
  left: 1.5rem;
}
.left-8{
  left: 2rem;
}
.left-\[-10\%\]{
  left: -10%;
}
.left-\[30\%\]{
  left: 30%;
}
.left-\[50\%\]{
  left: 50%;
}
.left-full{
  left: 100%;
}
.right-0{
  right: 0px;
}
.right-1{
  right: 0.25rem;
}
.right-1\.5{
  right: 0.375rem;
}
.right-10{
  right: 2.5rem;
}
.right-12{
  right: 3rem;
}
.right-2{
  right: 0.5rem;
}
.right-20{
  right: 5rem;
}
.right-3{
  right: 0.75rem;
}
.right-4{
  right: 1rem;
}
.right-6{
  right: 1.5rem;
}
.right-8{
  right: 2rem;
}
.right-\[-10\%\]{
  right: -10%;
}
.top-0{
  top: 0px;
}
.top-1{
  top: 0.25rem;
}
.top-1\.5{
  top: 0.375rem;
}
.top-1\/2{
  top: 50%;
}
.top-2{
  top: 0.5rem;
}
.top-3{
  top: 0.75rem;
}
.top-4{
  top: 1rem;
}
.top-6{
  top: 1.5rem;
}
.top-8{
  top: 2rem;
}
.top-\[-20\%\]{
  top: -20%;
}
.top-\[50\%\]{
  top: 50%;
}
.top-full{
  top: 100%;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-30{
  z-index: 30;
}
.z-40{
  z-index: 40;
}
.z-50{
  z-index: 50;
}
.z-\[100\]{
  z-index: 100;
}
.z-\[60\]{
  z-index: 60;
}
.z-\[9999\]{
  z-index: 9999;
}
.order-1{
  order: 1;
}
.order-2{
  order: 2;
}
.order-3{
  order: 3;
}
.order-first{
  order: -9999;
}
.col-span-1{
  grid-column: span 1 / span 1;
}
.col-span-2{
  grid-column: span 2 / span 2;
}
.col-span-3{
  grid-column: span 3 / span 3;
}
.col-span-4{
  grid-column: span 4 / span 4;
}
.col-span-6{
  grid-column: span 6 / span 6;
}
.col-span-8{
  grid-column: span 8 / span 8;
}
.col-span-full{
  grid-column: 1 / -1;
}
.m-4{
  margin: 1rem;
}
.-mx-1{
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-2{
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.-mx-3{
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}
.mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-4{
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-0\.5{
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-1\.5{
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
}
.my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.-mb-3{
  margin-bottom: -0.75rem;
}
.-ml-2{
  margin-left: -0.5rem;
}
.-mr-2{
  margin-right: -0.5rem;
}
.-mt-0\.5{
  margin-top: -0.125rem;
}
.mb-0\.5{
  margin-bottom: 0.125rem;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-1\.5{
  margin-bottom: 0.375rem;
}
.mb-12{
  margin-bottom: 3rem;
}
.mb-2{
  margin-bottom: 0.5rem;
}
.mb-2\.5{
  margin-bottom: 0.625rem;
}
.mb-3{
  margin-bottom: 0.75rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.ml-0\.5{
  margin-left: 0.125rem;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-1\.5{
  margin-left: 0.375rem;
}
.ml-2{
  margin-left: 0.5rem;
}
.ml-3{
  margin-left: 0.75rem;
}
.ml-4{
  margin-left: 1rem;
}
.ml-5{
  margin-left: 1.25rem;
}
.ml-7{
  margin-left: 1.75rem;
}
.ml-auto{
  margin-left: auto;
}
.mr-0\.5{
  margin-right: 0.125rem;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-1\.5{
  margin-right: 0.375rem;
}
.mr-2{
  margin-right: 0.5rem;
}
.mr-3{
  margin-right: 0.75rem;
}
.mr-auto{
  margin-right: auto;
}
.mt-0{
  margin-top: 0px;
}
.mt-0\.5{
  margin-top: 0.125rem;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-1\.5{
  margin-top: 0.375rem;
}
.mt-12{
  margin-top: 3rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.mt-8{
  margin-top: 2rem;
}
.mt-auto{
  margin-top: auto;
}
.line-clamp-1{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.\!table{
  display: table !important;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.aspect-\[21\/9\]{
  aspect-ratio: 21/9;
}
.aspect-\[4\/3\]{
  aspect-ratio: 4/3;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.h-1{
  height: 0.25rem;
}
.h-1\.5{
  height: 0.375rem;
}
.h-10{
  height: 2.5rem;
}
.h-11{
  height: 2.75rem;
}
.h-12{
  height: 3rem;
}
.h-14{
  height: 3.5rem;
}
.h-16{
  height: 4rem;
}
.h-2{
  height: 0.5rem;
}
.h-2\.5{
  height: 0.625rem;
}
.h-20{
  height: 5rem;
}
.h-24{
  height: 6rem;
}
.h-28{
  height: 7rem;
}
.h-3{
  height: 0.75rem;
}
.h-3\.5{
  height: 0.875rem;
}
.h-32{
  height: 8rem;
}
.h-4{
  height: 1rem;
}
.h-40{
  height: 10rem;
}
.h-48{
  height: 12rem;
}
.h-5{
  height: 1.25rem;
}
.h-6{
  height: 1.5rem;
}
.h-64{
  height: 16rem;
}
.h-7{
  height: 1.75rem;
}
.h-8{
  height: 2rem;
}
.h-9{
  height: 2.25rem;
}
.h-96{
  height: 24rem;
}
.h-\[1\.2rem\]{
  height: 1.2rem;
}
.h-\[1px\]{
  height: 1px;
}
.h-\[2\%\]{
  height: 2%;
}
.h-\[20\%\]{
  height: 20%;
}
.h-\[200px\]{
  height: 200px;
}
.h-\[250px\]{
  height: 250px;
}
.h-\[2vh\]{
  height: 2vh;
}
.h-\[3\%\]{
  height: 3%;
}
.h-\[300px\]{
  height: 300px;
}
.h-\[40\%\]{
  height: 40%;
}
.h-\[400px\]{
  height: 400px;
}
.h-\[42px\]{
  height: 42px;
}
.h-\[500px\]{
  height: 500px;
}
.h-\[60vh\]{
  height: 60vh;
}
.h-\[65px\]{
  height: 65px;
}
.h-\[70vh\]{
  height: 70vh;
}
.h-\[72px\]{
  height: 72px;
}
.h-\[80vh\]{
  height: 80vh;
}
.h-\[90vh\]{
  height: 90vh;
}
.h-\[calc\(100\%-44px\)\]{
  height: calc(100% - 44px);
}
.h-\[calc\(100vh-200px\)\]{
  height: calc(100vh - 200px);
}
.h-\[calc\(100vh-280px\)\]{
  height: calc(100vh - 280px);
}
.h-\[calc\(100vh-4rem\)\]{
  height: calc(100vh - 4rem);
}
.h-\[var\(--radix-select-trigger-height\)\]{
  height: var(--radix-select-trigger-height);
}
.h-auto{
  height: auto;
}
.h-fit{
  height: -moz-fit-content;
  height: fit-content;
}
.h-full{
  height: 100%;
}
.h-px{
  height: 1px;
}
.h-screen{
  height: 100vh;
}
.max-h-0{
  max-height: 0px;
}
.max-h-16{
  max-height: 4rem;
}
.max-h-32{
  max-height: 8rem;
}
.max-h-40{
  max-height: 10rem;
}
.max-h-60{
  max-height: 15rem;
}
.max-h-80{
  max-height: 20rem;
}
.max-h-96{
  max-height: 24rem;
}
.max-h-\[--radix-select-content-available-height\]{
  max-height: var(--radix-select-content-available-height);
}
.max-h-\[104px\]{
  max-height: 104px;
}
.max-h-\[120px\]{
  max-height: 120px;
}
.max-h-\[150px\]{
  max-height: 150px;
}
.max-h-\[160px\]{
  max-height: 160px;
}
.max-h-\[300px\]{
  max-height: 300px;
}
.max-h-\[35vh\]{
  max-height: 35vh;
}
.max-h-\[400px\]{
  max-height: 400px;
}
.max-h-\[40px\]{
  max-height: 40px;
}
.max-h-\[40vh\]{
  max-height: 40vh;
}
.max-h-\[60vh\]{
  max-height: 60vh;
}
.max-h-\[70vh\]{
  max-height: 70vh;
}
.max-h-\[75vh\]{
  max-height: 75vh;
}
.max-h-\[80vh\]{
  max-height: 80vh;
}
.max-h-\[85dvh\]{
  max-height: 85dvh;
}
.max-h-\[85vh\]{
  max-height: 85vh;
}
.max-h-\[90vh\]{
  max-height: 90vh;
}
.max-h-\[95vh\]{
  max-height: 95vh;
}
.max-h-\[calc\(100vh-120px\)\]{
  max-height: calc(100vh - 120px);
}
.max-h-\[inherit\]{
  max-height: inherit;
}
.max-h-full{
  max-height: 100%;
}
.max-h-screen{
  max-height: 100vh;
}
.min-h-0{
  min-height: 0px;
}
.min-h-12{
  min-height: 3rem;
}
.min-h-14{
  min-height: 3.5rem;
}
.min-h-\[100dvh\]{
  min-height: 100dvh;
}
.min-h-\[100px\]{
  min-height: 100px;
}
.min-h-\[120px\]{
  min-height: 120px;
}
.min-h-\[140px\]{
  min-height: 140px;
}
.min-h-\[200px\]{
  min-height: 200px;
}
.min-h-\[220px\]{
  min-height: 220px;
}
.min-h-\[280px\]{
  min-height: 280px;
}
.min-h-\[28px\]{
  min-height: 28px;
}
.min-h-\[32px\]{
  min-height: 32px;
}
.min-h-\[400px\]{
  min-height: 400px;
}
.min-h-\[40px\]{
  min-height: 40px;
}
.min-h-\[44px\]{
  min-height: 44px;
}
.min-h-\[48px\]{
  min-height: 48px;
}
.min-h-\[50vh\]{
  min-height: 50vh;
}
.min-h-\[52px\]{
  min-height: 52px;
}
.min-h-\[55px\]{
  min-height: 55px;
}
.min-h-\[56px\]{
  min-height: 56px;
}
.min-h-\[60px\]{
  min-height: 60px;
}
.min-h-\[60vh\]{
  min-height: 60vh;
}
.min-h-\[64px\]{
  min-height: 64px;
}
.min-h-\[68px\]{
  min-height: 68px;
}
.min-h-\[70px\]{
  min-height: 70px;
}
.min-h-\[70vh\]{
  min-height: 70vh;
}
.min-h-\[72px\]{
  min-height: 72px;
}
.min-h-\[80px\]{
  min-height: 80px;
}
.min-h-\[85px\]{
  min-height: 85px;
}
.min-h-\[90px\]{
  min-height: 90px;
}
.min-h-\[calc\(100vh-120px\)\]{
  min-height: calc(100vh - 120px);
}
.min-h-\[calc\(100vh-4rem\)\]{
  min-height: calc(100vh - 4rem);
}
.min-h-full{
  min-height: 100%;
}
.min-h-screen{
  min-height: 100vh;
}
.w-0{
  width: 0px;
}
.w-0\.5{
  width: 0.125rem;
}
.w-1{
  width: 0.25rem;
}
.w-1\.5{
  width: 0.375rem;
}
.w-1\/2{
  width: 50%;
}
.w-1\/3{
  width: 33.333333%;
}
.w-10{
  width: 2.5rem;
}
.w-11{
  width: 2.75rem;
}
.w-12{
  width: 3rem;
}
.w-14{
  width: 3.5rem;
}
.w-16{
  width: 4rem;
}
.w-2{
  width: 0.5rem;
}
.w-2\.5{
  width: 0.625rem;
}
.w-2\/5{
  width: 40%;
}
.w-20{
  width: 5rem;
}
.w-24{
  width: 6rem;
}
.w-28{
  width: 7rem;
}
.w-3{
  width: 0.75rem;
}
.w-3\.5{
  width: 0.875rem;
}
.w-3\/4{
  width: 75%;
}
.w-3\/5{
  width: 60%;
}
.w-32{
  width: 8rem;
}
.w-36{
  width: 9rem;
}
.w-4{
  width: 1rem;
}
.w-40{
  width: 10rem;
}
.w-44{
  width: 11rem;
}
.w-48{
  width: 12rem;
}
.w-5{
  width: 1.25rem;
}
.w-56{
  width: 14rem;
}
.w-6{
  width: 1.5rem;
}
.w-64{
  width: 16rem;
}
.w-7{
  width: 1.75rem;
}
.w-72{
  width: 18rem;
}
.w-8{
  width: 2rem;
}
.w-80{
  width: 20rem;
}
.w-9{
  width: 2.25rem;
}
.w-96{
  width: 24rem;
}
.w-\[1\.2rem\]{
  width: 1.2rem;
}
.w-\[120px\]{
  width: 120px;
}
.w-\[1400px\]{
  width: 1400px;
}
.w-\[140px\]{
  width: 140px;
}
.w-\[160px\]{
  width: 160px;
}
.w-\[30\%\]{
  width: 30%;
}
.w-\[320px\]{
  width: 320px;
}
.w-\[35\%\]{
  width: 35%;
}
.w-\[40\%\]{
  width: 40%;
}
.w-\[400px\]{
  width: 400px;
}
.w-\[42px\]{
  width: 42px;
}
.w-\[500px\]{
  width: 500px;
}
.w-\[50px\]{
  width: 50px;
}
.w-\[60\%\]{
  width: 60%;
}
.w-\[65\%\]{
  width: 65%;
}
.w-\[70\%\]{
  width: 70%;
}
.w-\[72px\]{
  width: 72px;
}
.w-\[80px\]{
  width: 80px;
}
.w-\[95vw\]{
  width: 95vw;
}
.w-\[98vw\]{
  width: 98vw;
}
.w-auto{
  width: auto;
}
.w-fit{
  width: -moz-fit-content;
  width: fit-content;
}
.w-full{
  width: 100%;
}
.w-px{
  width: 1px;
}
.w-screen{
  width: 100vw;
}
.min-w-0{
  min-width: 0px;
}
.min-w-14{
  min-width: 3.5rem;
}
.min-w-20{
  min-width: 5rem;
}
.min-w-32{
  min-width: 8rem;
}
.min-w-40{
  min-width: 10rem;
}
.min-w-5{
  min-width: 1.25rem;
}
.min-w-\[100px\]{
  min-width: 100px;
}
.min-w-\[120px\]{
  min-width: 120px;
}
.min-w-\[140px\]{
  min-width: 140px;
}
.min-w-\[160px\]{
  min-width: 160px;
}
.min-w-\[16px\]{
  min-width: 16px;
}
.min-w-\[2\.5rem\]{
  min-width: 2.5rem;
}
.min-w-\[20px\]{
  min-width: 20px;
}
.min-w-\[24px\]{
  min-width: 24px;
}
.min-w-\[280px\]{
  min-width: 280px;
}
.min-w-\[28px\]{
  min-width: 28px;
}
.min-w-\[2ch\]{
  min-width: 2ch;
}
.min-w-\[2rem\]{
  min-width: 2rem;
}
.min-w-\[300px\]{
  min-width: 300px;
}
.min-w-\[320px\]{
  min-width: 320px;
}
.min-w-\[36px\]{
  min-width: 36px;
}
.min-w-\[40px\]{
  min-width: 40px;
}
.min-w-\[44px\]{
  min-width: 44px;
}
.min-w-\[48px\]{
  min-width: 48px;
}
.min-w-\[4rem\]{
  min-width: 4rem;
}
.min-w-\[50px\]{
  min-width: 50px;
}
.min-w-\[56px\]{
  min-width: 56px;
}
.min-w-\[64px\]{
  min-width: 64px;
}
.min-w-\[8rem\]{
  min-width: 8rem;
}
.min-w-\[var\(--radix-select-trigger-width\)\]{
  min-width: var(--radix-select-trigger-width);
}
.min-w-max{
  min-width: -moz-max-content;
  min-width: max-content;
}
.max-w-20{
  max-width: 5rem;
}
.max-w-2xl{
  max-width: 42rem;
}
.max-w-3xl{
  max-width: 48rem;
}
.max-w-4xl{
  max-width: 56rem;
}
.max-w-6xl{
  max-width: 72rem;
}
.max-w-7xl{
  max-width: 80rem;
}
.max-w-\[100px\]{
  max-width: 100px;
}
.max-w-\[120px\]{
  max-width: 120px;
}
.max-w-\[12rem\]{
  max-width: 12rem;
}
.max-w-\[150px\]{
  max-width: 150px;
}
.max-w-\[200px\]{
  max-width: 200px;
}
.max-w-\[250px\]{
  max-width: 250px;
}
.max-w-\[260px\]{
  max-width: 260px;
}
.max-w-\[300px\]{
  max-width: 300px;
}
.max-w-\[380px\]{
  max-width: 380px;
}
.max-w-\[420px\]{
  max-width: 420px;
}
.max-w-\[480px\]{
  max-width: 480px;
}
.max-w-\[500px\]{
  max-width: 500px;
}
.max-w-\[60px\]{
  max-width: 60px;
}
.max-w-\[80px\]{
  max-width: 80px;
}
.max-w-\[90vw\]{
  max-width: 90vw;
}
.max-w-\[95vw\]{
  max-width: 95vw;
}
.max-w-\[calc\(100vw-2rem\)\]{
  max-width: calc(100vw - 2rem);
}
.max-w-\[calc\(100vw-3rem\)\]{
  max-width: calc(100vw - 3rem);
}
.max-w-full{
  max-width: 100%;
}
.max-w-lg{
  max-width: 32rem;
}
.max-w-md{
  max-width: 28rem;
}
.max-w-sm{
  max-width: 24rem;
}
.max-w-xl{
  max-width: 36rem;
}
.max-w-xs{
  max-width: 20rem;
}
.flex-1{
  flex: 1 1 0%;
}
.flex-\[35\]{
  flex: 35;
}
.flex-\[65\]{
  flex: 65;
}
.flex-none{
  flex: none;
}
.flex-shrink-0{
  flex-shrink: 0;
}
.shrink-0{
  flex-shrink: 0;
}
.flex-grow{
  flex-grow: 1;
}
.grow{
  flex-grow: 1;
}
.origin-\[--radix-popover-content-transform-origin\]{
  transform-origin: var(--radix-popover-content-transform-origin);
}
.origin-\[--radix-select-content-transform-origin\]{
  transform-origin: var(--radix-select-content-transform-origin);
}
.-translate-x-1\/2{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-1\/4{
  --tw-translate-x: 25%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[-50\%\]{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-full{
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0{
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-1\/4{
  --tw-translate-y: 25%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-2{
  --tw-translate-y: 0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-\[-50\%\]{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-90{
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-0{
  --tw-rotate: 0deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-\[-90deg\]{
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-50{
  --tw-scale-x: .5;
  --tw-scale-y: .5;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-75{
  --tw-scale-x: .75;
  --tw-scale-y: .75;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[0\.92\]{
  --tw-scale-x: 0.92;
  --tw-scale-y: 0.92;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[1\.02\]{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes bounce{
  0%, 100%{
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }
  50%{
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}
.animate-bounce{
  animation: bounce 1s infinite;
}
@keyframes ping{
  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping{
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes pulse{
  50%{
    opacity: .5;
  }
}
.animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes ripple{
  0%{
    width: 0;
    height: 0;
    opacity: 0.6;
  }
  100%{
    width: 400px;
    height: 400px;
    opacity: 0;
  }
}
.animate-ripple{
  animation: ripple 400ms cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes shimmer{
  0%{
    transform: translateX(-100%);
  }
  100%{
    transform: translateX(100%);
  }
}
.animate-shimmer{
  animation: shimmer 2s infinite;
}
@keyframes spin{
  to{
    transform: rotate(360deg);
  }
}
.animate-spin{
  animation: spin 1s linear infinite;
}
@keyframes toast-in{
  0%{
    opacity: 0;
    transform: translateY(-10px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-toast-in{
  animation: toast-in 0.3s ease-out;
}
.cursor-default{
  cursor: default;
}
.cursor-help{
  cursor: help;
}
.cursor-not-allowed{
  cursor: not-allowed;
}
.cursor-pointer{
  cursor: pointer;
}
.cursor-wait{
  cursor: wait;
}
.touch-none{
  touch-action: none;
}
.touch-pan-x{
  --tw-pan-x: pan-x;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}
.touch-pan-y{
  --tw-pan-y: pan-y;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}
.touch-manipulation{
  touch-action: manipulation;
}
.select-none{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none{
  resize: none;
}
.resize{
  resize: both;
}
.list-inside{
  list-style-position: inside;
}
.list-disc{
  list-style-type: disc;
}
.appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.auto-cols-max{
  grid-auto-columns: max-content;
}
.grid-flow-row{
  grid-auto-flow: row;
}
.grid-flow-col{
  grid-auto-flow: column;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-12{
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4{
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5{
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-\[1fr_400px\]{
  grid-template-columns: 1fr 400px;
}
.grid-cols-\[1fr_420px\]{
  grid-template-columns: 1fr 420px;
}
.grid-rows-2{
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
.flex-row{
  flex-direction: row;
}
.flex-col{
  flex-direction: column;
}
.flex-col-reverse{
  flex-direction: column-reverse;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.items-baseline{
  align-items: baseline;
}
.justify-start{
  justify-content: flex-start;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.gap-0{
  gap: 0px;
}
.gap-0\.5{
  gap: 0.125rem;
}
.gap-1{
  gap: 0.25rem;
}
.gap-1\.5{
  gap: 0.375rem;
}
.gap-12{
  gap: 3rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-2\.5{
  gap: 0.625rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-8{
  gap: 2rem;
}
.gap-x-3{
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-6{
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-y-0\.5{
  row-gap: 0.125rem;
}
.gap-y-1\.5{
  row-gap: 0.375rem;
}
.gap-y-2{
  row-gap: 0.5rem;
}
.space-x-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(2rem * var(--tw-space-x-reverse));
  margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-reverse));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-slate-100 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-divide-opacity, 1));
}
.overflow-auto{
  overflow: auto;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-x-auto{
  overflow-x: auto;
}
.overflow-y-auto{
  overflow-y: auto;
}
.overflow-x-hidden{
  overflow-x: hidden;
}
.overflow-y-hidden{
  overflow-y: hidden;
}
.overscroll-contain{
  overscroll-behavior: contain;
}
.overscroll-y-contain{
  overscroll-behavior-y: contain;
}
.overscroll-x-contain{
  overscroll-behavior-x: contain;
}
.scroll-smooth{
  scroll-behavior: smooth;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hyphens-auto{
  hyphens: auto;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.whitespace-pre-wrap{
  white-space: pre-wrap;
}
.break-words{
  overflow-wrap: break-word;
}
.break-all{
  word-break: break-all;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-2xl{
  border-radius: 1rem;
}
.rounded-3xl{
  border-radius: 1.5rem;
}
.rounded-\[inherit\]{
  border-radius: inherit;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: var(--radius);
}
.rounded-md{
  border-radius: calc(var(--radius) - 2px);
}
.rounded-none{
  border-radius: 0px;
}
.rounded-sm{
  border-radius: calc(var(--radius) - 4px);
}
.rounded-xl{
  border-radius: 0.75rem;
}
.rounded-b-lg{
  border-bottom-right-radius: var(--radius);
  border-bottom-left-radius: var(--radius);
}
.rounded-b-md{
  border-bottom-right-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.rounded-b-none{
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.rounded-l-none{
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}
.rounded-r-full{
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
.rounded-r-none{
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
.rounded-t-2xl{
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
.rounded-t-lg{
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.rounded-t-none{
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
.rounded-t-xl{
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.rounded-bl{
  border-bottom-left-radius: 0.25rem;
}
.rounded-br{
  border-bottom-right-radius: 0.25rem;
}
.rounded-tl{
  border-top-left-radius: 0.25rem;
}
.rounded-tr{
  border-top-right-radius: 0.25rem;
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.border-2{
  border-width: 2px;
}
.border-4{
  border-width: 4px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-b-2{
  border-bottom-width: 2px;
}
.border-b-4{
  border-bottom-width: 4px;
}
.border-l{
  border-left-width: 1px;
}
.border-l-0{
  border-left-width: 0px;
}
.border-l-2{
  border-left-width: 2px;
}
.border-l-4{
  border-left-width: 4px;
}
.border-r{
  border-right-width: 1px;
}
.border-r-4{
  border-right-width: 4px;
}
.border-t{
  border-top-width: 1px;
}
.border-t-2{
  border-top-width: 2px;
}
.border-t-4{
  border-top-width: 4px;
}
.border-dashed{
  border-style: dashed;
}
.border-none{
  border-style: none;
}
.border-\[hsl\(var\(--category-active\)\)\]{
  border-color: hsl(var(--category-active));
}
.border-amber-200{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-200\/50{
  border-color: rgb(253 230 138 / 0.5);
}
.border-amber-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-background{
  border-color: hsl(var(--background));
}
.border-blue-100{
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}
.border-blue-200{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-300{
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.border-blue-400{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.border-blue-500{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-blue-500\/30{
  border-color: rgb(59 130 246 / 0.3);
}
.border-blue-600{
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.border-border{
  border-color: hsl(var(--border));
}
.border-border\/30{
  border-color: hsl(var(--border) / 0.3);
}
.border-border\/50{
  border-color: hsl(var(--border) / 0.5);
}
.border-border\/60{
  border-color: hsl(var(--border) / 0.6);
}
.border-current{
  border-color: currentColor;
}
.border-cyan-200{
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
}
.border-cyan-300{
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity, 1));
}
.border-cyan-500{
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-destructive{
  border-color: hsl(var(--destructive));
}
.border-destructive\/20{
  border-color: hsl(var(--destructive) / 0.2);
}
.border-destructive\/50{
  border-color: hsl(var(--destructive) / 0.5);
}
.border-emerald-200{
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-300{
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.border-emerald-500{
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-gray-100{
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-400{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.border-gray-50{
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));
}
.border-gray-500{
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}
.border-gray-600{
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}
.border-gray-700{
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}
.border-green-200{
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-green-300{
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.border-green-400{
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}
.border-green-500{
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-green-500\/30{
  border-color: rgb(34 197 94 / 0.3);
}
.border-green-600{
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.border-indigo-200{
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
}
.border-indigo-300{
  --tw-border-opacity: 1;
  border-color: rgb(165 180 252 / var(--tw-border-opacity, 1));
}
.border-indigo-500{
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}
.border-input{
  border-color: hsl(var(--input));
}
.border-lime-300{
  --tw-border-opacity: 1;
  border-color: rgb(190 242 100 / var(--tw-border-opacity, 1));
}
.border-muted{
  border-color: hsl(var(--muted));
}
.border-muted-foreground{
  border-color: hsl(var(--muted-foreground));
}
.border-muted-foreground\/20{
  border-color: hsl(var(--muted-foreground) / 0.2);
}
.border-muted-foreground\/30{
  border-color: hsl(var(--muted-foreground) / 0.3);
}
.border-muted\/30{
  border-color: hsl(var(--muted) / 0.3);
}
.border-muted\/50{
  border-color: hsl(var(--muted) / 0.5);
}
.border-orange-100{
  --tw-border-opacity: 1;
  border-color: rgb(255 237 213 / var(--tw-border-opacity, 1));
}
.border-orange-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}
.border-orange-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.border-orange-400{
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.border-orange-500{
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.border-orange-500\/30{
  border-color: rgb(249 115 22 / 0.3);
}
.border-orange-600{
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1));
}
.border-pink-200{
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));
}
.border-pink-300{
  --tw-border-opacity: 1;
  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));
}
.border-primary{
  border-color: hsl(var(--primary));
}
.border-primary\/10{
  border-color: hsl(var(--primary) / 0.1);
}
.border-primary\/20{
  border-color: hsl(var(--primary) / 0.2);
}
.border-primary\/30{
  border-color: hsl(var(--primary) / 0.3);
}
.border-purple-100{
  --tw-border-opacity: 1;
  border-color: rgb(243 232 255 / var(--tw-border-opacity, 1));
}
.border-purple-200{
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.border-purple-200\/50{
  border-color: rgb(233 213 255 / 0.5);
}
.border-purple-300{
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.border-purple-400{
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}
.border-purple-500{
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-purple-500\/30{
  border-color: rgb(168 85 247 / 0.3);
}
.border-purple-500\/70{
  border-color: rgb(168 85 247 / 0.7);
}
.border-purple-500\/80{
  border-color: rgb(168 85 247 / 0.8);
}
.border-red-100{
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}
.border-red-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.border-red-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-400{
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.border-red-500{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-red-500\/30{
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-500\/50{
  border-color: rgb(239 68 68 / 0.5);
}
.border-red-600{
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}
.border-rose-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}
.border-sky-300{
  --tw-border-opacity: 1;
  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1));
}
.border-sky-500{
  --tw-border-opacity: 1;
  border-color: rgb(14 165 233 / var(--tw-border-opacity, 1));
}
.border-slate-200{
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-200\/50{
  border-color: rgb(226 232 240 / 0.5);
}
.border-slate-300{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-slate-300\/40{
  border-color: rgb(203 213 225 / 0.4);
}
.border-slate-300\/50{
  border-color: rgb(203 213 225 / 0.5);
}
.border-slate-400{
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.border-slate-400\/60{
  border-color: rgb(148 163 184 / 0.6);
}
.border-slate-400\/70{
  border-color: rgb(148 163 184 / 0.7);
}
.border-slate-500{
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}
.border-slate-600{
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.border-slate-700{
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}
.border-teal-200{
  --tw-border-opacity: 1;
  border-color: rgb(153 246 228 / var(--tw-border-opacity, 1));
}
.border-teal-300{
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / var(--tw-border-opacity, 1));
}
.border-teal-500{
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / var(--tw-border-opacity, 1));
}
.border-teal-500\/70{
  border-color: rgb(20 184 166 / 0.7);
}
.border-teal-500\/80{
  border-color: rgb(20 184 166 / 0.8);
}
.border-transparent{
  border-color: transparent;
}
.border-violet-300{
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}
.border-white{
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10{
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/20{
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/30{
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/50{
  border-color: rgb(255 255 255 / 0.5);
}
.border-white\/\[0\.08\]{
  border-color: rgb(255 255 255 / 0.08);
}
.border-yellow-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-yellow-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.border-yellow-400{
  --tw-border-opacity: 1;
  border-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}
.border-yellow-500{
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.border-yellow-500\/30{
  border-color: rgb(234 179 8 / 0.3);
}
.border-yellow-500\/50{
  border-color: rgb(234 179 8 / 0.5);
}
.border-b-transparent{
  border-bottom-color: transparent;
}
.border-l-amber-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-l-blue-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-l-emerald-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-l-gray-300{
  --tw-border-opacity: 1;
  border-left-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-l-green-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-l-orange-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.border-l-orange-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.border-l-primary{
  border-left-color: hsl(var(--primary));
}
.border-l-primary\/20{
  border-left-color: hsl(var(--primary) / 0.2);
}
.border-l-red-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-l-transparent{
  border-left-color: transparent;
}
.border-t-border\/50{
  border-top-color: hsl(var(--border) / 0.5);
}
.border-t-primary{
  border-top-color: hsl(var(--primary));
}
.border-t-transparent{
  border-top-color: transparent;
}
.bg-\[hsl\(var\(--category-active\)\)\]{
  background-color: hsl(var(--category-active));
}
.bg-accent{
  background-color: hsl(var(--accent));
}
.bg-amber-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-50\/40{
  background-color: rgb(255 251 235 / 0.4);
}
.bg-amber-50\/50{
  background-color: rgb(255 251 235 / 0.5);
}
.bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/90{
  background-color: rgb(245 158 11 / 0.9);
}
.bg-amber-600{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.bg-background{
  background-color: hsl(var(--background));
}
.bg-background\/50{
  background-color: hsl(var(--background) / 0.5);
}
.bg-background\/60{
  background-color: hsl(var(--background) / 0.6);
}
.bg-background\/80{
  background-color: hsl(var(--background) / 0.8);
}
.bg-background\/95{
  background-color: hsl(var(--background) / 0.95);
}
.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/20{
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/40{
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50{
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/55{
  background-color: rgb(0 0 0 / 0.55);
}
.bg-black\/60{
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70{
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80{
  background-color: rgb(0 0 0 / 0.8);
}
.bg-blue-100{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-200{
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-50{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-50\/20{
  background-color: rgb(239 246 255 / 0.2);
}
.bg-blue-50\/30{
  background-color: rgb(239 246 255 / 0.3);
}
.bg-blue-50\/40{
  background-color: rgb(239 246 255 / 0.4);
}
.bg-blue-50\/50{
  background-color: rgb(239 246 255 / 0.5);
}
.bg-blue-500{
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/10{
  background-color: rgb(59 130 246 / 0.1);
}
.bg-blue-500\/15{
  background-color: rgb(59 130 246 / 0.15);
}
.bg-blue-500\/20{
  background-color: rgb(59 130 246 / 0.2);
}
.bg-blue-500\/30{
  background-color: rgb(59 130 246 / 0.3);
}
.bg-blue-500\/50{
  background-color: rgb(59 130 246 / 0.5);
}
.bg-blue-500\/70{
  background-color: rgb(59 130 246 / 0.7);
}
.bg-blue-600{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-blue-600\/10{
  background-color: rgb(37 99 235 / 0.1);
}
.bg-blue-700{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.bg-blue-800\/50{
  background-color: rgb(30 64 175 / 0.5);
}
.bg-blue-900{
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}
.bg-border{
  background-color: hsl(var(--border));
}
.bg-border\/50{
  background-color: hsl(var(--border) / 0.5);
}
.bg-card{
  background-color: hsl(var(--card));
}
.bg-card\/30{
  background-color: hsl(var(--card) / 0.3);
}
.bg-card\/50{
  background-color: hsl(var(--card) / 0.5);
}
.bg-card\/60{
  background-color: hsl(var(--card) / 0.6);
}
.bg-card\/70{
  background-color: hsl(var(--card) / 0.7);
}
.bg-current{
  background-color: currentColor;
}
.bg-cyan-100{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.bg-cyan-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.bg-destructive{
  background-color: hsl(var(--destructive));
}
.bg-destructive\/10{
  background-color: hsl(var(--destructive) / 0.1);
}
.bg-destructive\/5{
  background-color: hsl(var(--destructive) / 0.05);
}
.bg-destructive\/90{
  background-color: hsl(var(--destructive) / 0.9);
}
.bg-emerald-100{
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500{
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/20{
  background-color: rgb(16 185 129 / 0.2);
}
.bg-emerald-600{
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-foreground\/5{
  background-color: hsl(var(--foreground) / 0.05);
}
.bg-gray-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-400{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-50{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-50\/50{
  background-color: rgb(249 250 251 / 0.5);
}
.bg-gray-500{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.bg-gray-600{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.bg-gray-900{
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-gray-950{
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));
}
.bg-green-100{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-400{
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-green-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-50\/20{
  background-color: rgb(240 253 244 / 0.2);
}
.bg-green-50\/30{
  background-color: rgb(240 253 244 / 0.3);
}
.bg-green-50\/50{
  background-color: rgb(240 253 244 / 0.5);
}
.bg-green-500{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/10{
  background-color: rgb(34 197 94 / 0.1);
}
.bg-green-500\/20{
  background-color: rgb(34 197 94 / 0.2);
}
.bg-green-500\/50{
  background-color: rgb(34 197 94 / 0.5);
}
.bg-green-600{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.bg-green-600\/10{
  background-color: rgb(22 163 74 / 0.1);
}
.bg-indigo-100{
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-50{
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500{
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-indigo-600{
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-lime-50{
  --tw-bg-opacity: 1;
  background-color: rgb(247 254 231 / var(--tw-bg-opacity, 1));
}
.bg-muted{
  background-color: hsl(var(--muted));
}
.bg-muted-foreground\/50{
  background-color: hsl(var(--muted-foreground) / 0.5);
}
.bg-muted\/10{
  background-color: hsl(var(--muted) / 0.1);
}
.bg-muted\/20{
  background-color: hsl(var(--muted) / 0.2);
}
.bg-muted\/30{
  background-color: hsl(var(--muted) / 0.3);
}
.bg-muted\/40{
  background-color: hsl(var(--muted) / 0.4);
}
.bg-muted\/5{
  background-color: hsl(var(--muted) / 0.05);
}
.bg-muted\/50{
  background-color: hsl(var(--muted) / 0.5);
}
.bg-muted\/60{
  background-color: hsl(var(--muted) / 0.6);
}
.bg-orange-100{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.bg-orange-300{
  --tw-bg-opacity: 1;
  background-color: rgb(253 186 116 / var(--tw-bg-opacity, 1));
}
.bg-orange-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-50\/20{
  background-color: rgb(255 247 237 / 0.2);
}
.bg-orange-50\/30{
  background-color: rgb(255 247 237 / 0.3);
}
.bg-orange-50\/50{
  background-color: rgb(255 247 237 / 0.5);
}
.bg-orange-500{
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/10{
  background-color: rgb(249 115 22 / 0.1);
}
.bg-orange-500\/20{
  background-color: rgb(249 115 22 / 0.2);
}
.bg-orange-600{
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.bg-pink-50{
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-pink-500{
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}
.bg-popover{
  background-color: hsl(var(--popover));
}
.bg-primary{
  background-color: hsl(var(--primary));
}
.bg-primary-foreground\/10{
  background-color: hsl(var(--primary-foreground) / 0.1);
}
.bg-primary-foreground\/20{
  background-color: hsl(var(--primary-foreground) / 0.2);
}
.bg-primary-foreground\/30{
  background-color: hsl(var(--primary-foreground) / 0.3);
}
.bg-primary-foreground\/40{
  background-color: hsl(var(--primary-foreground) / 0.4);
}
.bg-primary\/10{
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/20{
  background-color: hsl(var(--primary) / 0.2);
}
.bg-primary\/30{
  background-color: hsl(var(--primary) / 0.3);
}
.bg-primary\/40{
  background-color: hsl(var(--primary) / 0.4);
}
.bg-primary\/5{
  background-color: hsl(var(--primary) / 0.05);
}
.bg-primary\/70{
  background-color: hsl(var(--primary) / 0.7);
}
.bg-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50{
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50\/20{
  background-color: rgb(250 245 255 / 0.2);
}
.bg-purple-50\/30{
  background-color: rgb(250 245 255 / 0.3);
}
.bg-purple-50\/50{
  background-color: rgb(250 245 255 / 0.5);
}
.bg-purple-500{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-purple-500\/90{
  background-color: rgb(168 85 247 / 0.9);
}
.bg-purple-600{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.bg-red-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-50\/30{
  background-color: rgb(254 242 242 / 0.3);
}
.bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10{
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/20{
  background-color: rgb(239 68 68 / 0.2);
}
.bg-red-500\/50{
  background-color: rgb(239 68 68 / 0.5);
}
.bg-red-600{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-red-700{
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.bg-rose-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}
.bg-secondary{
  background-color: hsl(var(--secondary));
}
.bg-secondary\/50{
  background-color: hsl(var(--secondary) / 0.5);
}
.bg-sky-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.bg-slate-100{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-100\/50{
  background-color: rgb(241 245 249 / 0.5);
}
.bg-slate-200{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-300{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-slate-50{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-50\/50{
  background-color: rgb(248 250 252 / 0.5);
}
.bg-slate-50\/70{
  background-color: rgb(248 250 252 / 0.7);
}
.bg-slate-50\/80{
  background-color: rgb(248 250 252 / 0.8);
}
.bg-slate-600{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.bg-slate-800\/50{
  background-color: rgb(30 41 59 / 0.5);
}
.bg-teal-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}
.bg-teal-50\/50{
  background-color: rgb(240 253 250 / 0.5);
}
.bg-teal-500{
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}
.bg-teal-500\/50{
  background-color: rgb(20 184 166 / 0.5);
}
.bg-transparent{
  background-color: transparent;
}
.bg-violet-50{
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-violet-600{
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10{
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15{
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/20{
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/25{
  background-color: rgb(255 255 255 / 0.25);
}
.bg-white\/5{
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/70{
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/80{
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/90{
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95{
  background-color: rgb(255 255 255 / 0.95);
}
.bg-white\/\[0\.02\]{
  background-color: rgb(255 255 255 / 0.02);
}
.bg-white\/\[0\.03\]{
  background-color: rgb(255 255 255 / 0.03);
}
.bg-white\/\[0\.06\]{
  background-color: rgb(255 255 255 / 0.06);
}
.bg-white\/\[0\.12\]{
  background-color: rgb(255 255 255 / 0.12);
}
.bg-yellow-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.bg-yellow-400{
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50\/5{
  background-color: rgb(254 252 232 / 0.05);
}
.bg-yellow-500{
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500\/20{
  background-color: rgb(234 179 8 / 0.2);
}
.bg-opacity-20{
  --tw-bg-opacity: 0.2;
}
.bg-opacity-95{
  --tw-bg-opacity: 0.95;
}
.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.from-\[hsl\(var\(--category-active\)\)\]\/90{
  --tw-gradient-from: hsl(var(--category-active) / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--category-active) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-background{
  --tw-gradient-from: hsl(var(--background)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/70{
  --tw-gradient-from: rgb(0 0 0 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50{
  --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50\/50{
  --tw-gradient-from: rgb(239 246 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500{
  --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-600{
  --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-50{
  --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-800{
  --tw-gradient-from: #1f2937 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-100{
  --tw-gradient-from: #dcfce7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 252 231 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-50{
  --tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500{
  --tw-gradient-from: #22c55e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-600{
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-100{
  --tw-gradient-from: #e0e7ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 231 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-muted\/30{
  --tw-gradient-from: hsl(var(--muted) / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-muted\/40{
  --tw-gradient-from: hsl(var(--muted) / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--muted) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-100{
  --tw-gradient-from: #ffedd5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-200{
  --tw-gradient-from: #fed7aa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 215 170 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-200\/90{
  --tw-gradient-from: rgb(254 215 170 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 215 170 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50{
  --tw-gradient-from: #fff7ed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500{
  --tw-gradient-from: #f97316 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/0{
  --tw-gradient-from: hsl(var(--primary) / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/30{
  --tw-gradient-from: hsl(var(--primary) / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary\/5{
  --tw-gradient-from: hsl(var(--primary) / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50{
  --tw-gradient-from: #faf5ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50\/50{
  --tw-gradient-from: rgb(250 245 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-50{
  --tw-gradient-from: #fef2f2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 242 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500{
  --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-100{
  --tw-gradient-from: #f1f5f9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 245 249 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-300\/30{
  --tw-gradient-from: rgb(203 213 225 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-50{
  --tw-gradient-from: #f8fafc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-900{
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent{
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600{
  --tw-gradient-from: #7c3aed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-background\/80{
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-black\/50{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary-foreground\/10{
  --tw-gradient-to: hsl(var(--primary-foreground) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary-foreground) / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-red-600{
  --tw-gradient-to: rgb(220 38 38 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #dc2626 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-200{
  --tw-gradient-to: rgb(226 232 240 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #e2e8f0 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-50{
  --tw-gradient-to: rgb(248 250 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f8fafc var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-800{
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e293b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[hsl\(var\(--category-active\)\)\]{
  --tw-gradient-to: hsl(var(--category-active)) var(--tw-gradient-to-position);
}
.to-amber-50{
  --tw-gradient-to: #fffbeb var(--tw-gradient-to-position);
}
.to-amber-600{
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}
.to-background{
  --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}
.to-background\/50{
  --tw-gradient-to: hsl(var(--background) / 0.5) var(--tw-gradient-to-position);
}
.to-black\/80{
  --tw-gradient-to: rgb(0 0 0 / 0.8) var(--tw-gradient-to-position);
}
.to-blue-100\/50{
  --tw-gradient-to: rgb(219 234 254 / 0.5) var(--tw-gradient-to-position);
}
.to-blue-50{
  --tw-gradient-to: #eff6ff var(--tw-gradient-to-position);
}
.to-blue-600{
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-blue-700{
  --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
}
.to-emerald-100{
  --tw-gradient-to: #d1fae5 var(--tw-gradient-to-position);
}
.to-emerald-50{
  --tw-gradient-to: #ecfdf5 var(--tw-gradient-to-position);
}
.to-emerald-600{
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-gray-100{
  --tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position);
}
.to-gray-900{
  --tw-gradient-to: #111827 var(--tw-gradient-to-position);
}
.to-indigo-100{
  --tw-gradient-to: #e0e7ff var(--tw-gradient-to-position);
}
.to-indigo-50{
  --tw-gradient-to: #eef2ff var(--tw-gradient-to-position);
}
.to-indigo-600{
  --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position);
}
.to-muted{
  --tw-gradient-to: hsl(var(--muted)) var(--tw-gradient-to-position);
}
.to-muted\/10{
  --tw-gradient-to: hsl(var(--muted) / 0.1) var(--tw-gradient-to-position);
}
.to-muted\/20{
  --tw-gradient-to: hsl(var(--muted) / 0.2) var(--tw-gradient-to-position);
}
.to-orange-100\/50{
  --tw-gradient-to: rgb(255 237 213 / 0.5) var(--tw-gradient-to-position);
}
.to-orange-100\/90{
  --tw-gradient-to: rgb(255 237 213 / 0.9) var(--tw-gradient-to-position);
}
.to-orange-300{
  --tw-gradient-to: #fdba74 var(--tw-gradient-to-position);
}
.to-orange-50{
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-pink-50{
  --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position);
}
.to-primary\/0{
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
}
.to-primary\/10{
  --tw-gradient-to: hsl(var(--primary) / 0.1) var(--tw-gradient-to-position);
}
.to-purple-100{
  --tw-gradient-to: #f3e8ff var(--tw-gradient-to-position);
}
.to-purple-100\/30{
  --tw-gradient-to: rgb(243 232 255 / 0.3) var(--tw-gradient-to-position);
}
.to-red-50{
  --tw-gradient-to: #fef2f2 var(--tw-gradient-to-position);
}
.to-rose-50{
  --tw-gradient-to: #fff1f2 var(--tw-gradient-to-position);
}
.to-rose-600{
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}
.to-slate-100{
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
}
.to-slate-50{
  --tw-gradient-to: #f8fafc var(--tw-gradient-to-position);
}
.to-slate-900{
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}
.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-white{
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}
.fill-current{
  fill: currentColor;
}
.fill-yellow-500{
  fill: #eab308;
}
.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0{
  padding: 0px;
}
.p-0\.5{
  padding: 0.125rem;
}
.p-1{
  padding: 0.25rem;
}
.p-1\.5{
  padding: 0.375rem;
}
.p-10{
  padding: 2.5rem;
}
.p-12{
  padding: 3rem;
}
.p-2{
  padding: 0.5rem;
}
.p-2\.5{
  padding: 0.625rem;
}
.p-3{
  padding: 0.75rem;
}
.p-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-8{
  padding: 2rem;
}
.p-\[1px\]{
  padding: 1px;
}
.px-0{
  padding-left: 0px;
  padding-right: 0px;
}
.px-0\.5{
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5{
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.py-0{
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-0\.5{
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12{
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5{
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0{
  padding-bottom: 0px;
}
.pb-1{
  padding-bottom: 0.25rem;
}
.pb-1\.5{
  padding-bottom: 0.375rem;
}
.pb-10{
  padding-bottom: 2.5rem;
}
.pb-12{
  padding-bottom: 3rem;
}
.pb-2{
  padding-bottom: 0.5rem;
}
.pb-24{
  padding-bottom: 6rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-6{
  padding-bottom: 1.5rem;
}
.pb-8{
  padding-bottom: 2rem;
}
.pb-\[calc\(1\.5rem\+env\(safe-area-inset-bottom\)\)\]{
  padding-bottom: calc(1.5rem + env(safe-area-inset-bottom));
}
.pb-\[var\(--vv-safe-bottom\)\]{
  padding-bottom: var(--vv-safe-bottom);
}
.pl-10{
  padding-left: 2.5rem;
}
.pl-11{
  padding-left: 2.75rem;
}
.pl-2{
  padding-left: 0.5rem;
}
.pl-3{
  padding-left: 0.75rem;
}
.pl-4{
  padding-left: 1rem;
}
.pl-6{
  padding-left: 1.5rem;
}
.pl-7{
  padding-left: 1.75rem;
}
.pl-8{
  padding-left: 2rem;
}
.pl-9{
  padding-left: 2.25rem;
}
.pr-1{
  padding-right: 0.25rem;
}
.pr-10{
  padding-right: 2.5rem;
}
.pr-12{
  padding-right: 3rem;
}
.pr-2{
  padding-right: 0.5rem;
}
.pr-20{
  padding-right: 5rem;
}
.pr-3{
  padding-right: 0.75rem;
}
.pr-4{
  padding-right: 1rem;
}
.pr-6{
  padding-right: 1.5rem;
}
.pr-8{
  padding-right: 2rem;
}
.pt-0{
  padding-top: 0px;
}
.pt-1{
  padding-top: 0.25rem;
}
.pt-1\.5{
  padding-top: 0.375rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-3{
  padding-top: 0.75rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-5{
  padding-top: 1.25rem;
}
.pt-6{
  padding-top: 1.5rem;
}
.pt-8{
  padding-top: 2rem;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.font-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl{
  font-size: 3rem;
  line-height: 1;
}
.text-6xl{
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[10px\]{
  font-size: 10px;
}
.text-\[11px\]{
  font-size: 11px;
}
.text-\[12px\]{
  font-size: 12px;
}
.text-\[13px\]{
  font-size: 13px;
}
.text-\[80px\]{
  font-size: 80px;
}
.text-\[8px\]{
  font-size: 8px;
}
.text-\[9px\]{
  font-size: 9px;
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold{
  font-weight: 700;
}
.font-extrabold{
  font-weight: 800;
}
.font-light{
  font-weight: 300;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.lowercase{
  text-transform: lowercase;
}
.capitalize{
  text-transform: capitalize;
}
.italic{
  font-style: italic;
}
.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);
}
.leading-none{
  line-height: 1;
}
.leading-relaxed{
  line-height: 1.625;
}
.leading-snug{
  line-height: 1.375;
}
.leading-tight{
  line-height: 1.25;
}
.tracking-tight{
  letter-spacing: -0.025em;
}
.tracking-wide{
  letter-spacing: 0.025em;
}
.tracking-wider{
  letter-spacing: 0.05em;
}
.tracking-widest{
  letter-spacing: 0.1em;
}
.text-\[hsl\(var\(--category-active-foreground\)\)\]{
  color: hsl(var(--category-active-foreground));
}
.text-amber-300{
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-700{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900{
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-blue-100{
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}
.text-blue-300{
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500{
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-blue-900{
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.text-card-foreground{
  color: hsl(var(--card-foreground));
}
.text-current{
  color: currentColor;
}
.text-cyan-600{
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}
.text-cyan-700{
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-destructive{
  color: hsl(var(--destructive));
}
.text-destructive-foreground{
  color: hsl(var(--destructive-foreground));
}
.text-emerald-300{
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-600{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800{
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-foreground{
  color: hsl(var(--foreground));
}
.text-foreground\/50{
  color: hsl(var(--foreground) / 0.5);
}
.text-foreground\/70{
  color: hsl(var(--foreground) / 0.7);
}
.text-foreground\/80{
  color: hsl(var(--foreground) / 0.8);
}
.text-foreground\/90{
  color: hsl(var(--foreground) / 0.9);
}
.text-gray-200{
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.text-gray-300{
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-300{
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.text-green-400{
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-500{
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600{
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800{
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-green-900{
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}
.text-indigo-600{
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}
.text-indigo-700{
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}
.text-indigo-800{
  --tw-text-opacity: 1;
  color: rgb(55 48 163 / var(--tw-text-opacity, 1));
}
.text-lime-700{
  --tw-text-opacity: 1;
  color: rgb(77 124 15 / var(--tw-text-opacity, 1));
}
.text-muted-foreground{
  color: hsl(var(--muted-foreground));
}
.text-muted-foreground\/50{
  color: hsl(var(--muted-foreground) / 0.5);
}
.text-orange-300{
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-500{
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600{
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-700{
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.text-orange-800{
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-orange-900{
  --tw-text-opacity: 1;
  color: rgb(124 45 18 / var(--tw-text-opacity, 1));
}
.text-pink-700{
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-popover-foreground{
  color: hsl(var(--popover-foreground));
}
.text-primary{
  color: hsl(var(--primary));
}
.text-primary-foreground{
  color: hsl(var(--primary-foreground));
}
.text-purple-100{
  --tw-text-opacity: 1;
  color: rgb(243 232 255 / var(--tw-text-opacity, 1));
}
.text-purple-500{
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-purple-600{
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.text-purple-700{
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-purple-800{
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-purple-900{
  --tw-text-opacity: 1;
  color: rgb(88 28 135 / var(--tw-text-opacity, 1));
}
.text-red-100{
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / var(--tw-text-opacity, 1));
}
.text-red-200{
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.text-red-300{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-400{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-red-900{
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}
.text-rose-700{
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground{
  color: hsl(var(--secondary-foreground));
}
.text-sky-600{
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.text-sky-700{
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}
.text-slate-300{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400{
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500{
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900{
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-slate-950{
  --tw-text-opacity: 1;
  color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}
.text-teal-600{
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.text-teal-700{
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity, 1));
}
.text-violet-200{
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity, 1));
}
.text-violet-600{
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.text-violet-700{
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/15{
  color: rgb(255 255 255 / 0.15);
}
.text-white\/30{
  color: rgb(255 255 255 / 0.3);
}
.text-white\/40{
  color: rgb(255 255 255 / 0.4);
}
.text-white\/50{
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60{
  color: rgb(255 255 255 / 0.6);
}
.text-white\/80{
  color: rgb(255 255 255 / 0.8);
}
.text-white\/90{
  color: rgb(255 255 255 / 0.9);
}
.text-yellow-300{
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.text-yellow-400{
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-500{
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600{
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700{
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800{
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.text-yellow-900{
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / var(--tw-text-opacity, 1));
}
.underline{
  text-decoration-line: underline;
}
.line-through{
  text-decoration-line: line-through;
}
.underline-offset-4{
  text-underline-offset: 4px;
}
.placeholder-gray-400::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-400::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-500::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-500::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.opacity-0{
  opacity: 0;
}
.opacity-10{
  opacity: 0.1;
}
.opacity-100{
  opacity: 1;
}
.opacity-20{
  opacity: 0.2;
}
.opacity-30{
  opacity: 0.3;
}
.opacity-40{
  opacity: 0.4;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-65{
  opacity: 0.65;
}
.opacity-70{
  opacity: 0.7;
}
.opacity-75{
  opacity: 0.75;
}
.opacity-80{
  opacity: 0.8;
}
.opacity-90{
  opacity: 0.9;
}
.opacity-\[0\.03\]{
  opacity: 0.03;
}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-4px_6px_-1px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{
  --tw-shadow: 0 -4px 6px -1px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 -4px 6px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-inner{
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-none{
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-primary\/30{
  --tw-shadow-color: hsl(var(--primary) / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline{
  outline-style: solid;
}
.ring{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-0{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[hsl\(var\(--category-active\)\)\]\/30{
  --tw-ring-color: hsl(var(--category-active) / 0.3);
}
.ring-amber-200\/50{
  --tw-ring-color: rgb(253 230 138 / 0.5);
}
.ring-blue-100{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity, 1));
}
.ring-blue-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}
.ring-blue-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.ring-blue-500\/30{
  --tw-ring-color: rgb(59 130 246 / 0.3);
}
.ring-border\/50{
  --tw-ring-color: hsl(var(--border) / 0.5);
}
.ring-emerald-200\/50{
  --tw-ring-color: rgb(167 243 208 / 0.5);
}
.ring-green-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
}
.ring-orange-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity, 1));
}
.ring-primary{
  --tw-ring-color: hsl(var(--primary));
}
.ring-primary\/20{
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.ring-primary\/30{
  --tw-ring-color: hsl(var(--primary) / 0.3);
}
.ring-purple-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(192 132 252 / var(--tw-ring-opacity, 1));
}
.ring-purple-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}
.ring-red-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity, 1));
}
.ring-red-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.ring-transparent{
  --tw-ring-color: transparent;
}
.ring-white\/20{
  --tw-ring-color: rgb(255 255 255 / 0.2);
}
.ring-yellow-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(250 204 21 / var(--tw-ring-opacity, 1));
}
.ring-opacity-50{
  --tw-ring-opacity: 0.5;
}
.ring-offset-1{
  --tw-ring-offset-width: 1px;
}
.ring-offset-2{
  --tw-ring-offset-width: 2px;
}
.ring-offset-background{
  --tw-ring-offset-color: hsl(var(--background));
}
.ring-offset-white{
  --tw-ring-offset-color: #fff;
}
.blur{
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-3xl{
  --tw-blur: blur(64px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-lg{
  --tw-blur: blur(16px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-lg{
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-md{
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-sm{
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale{
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur{
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[2px\]{
  --tw-backdrop-blur: blur(2px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-lg{
  --tw-backdrop-blur: blur(16px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl{
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter{
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\]{
  transition-property: width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow{
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-1000{
  transition-duration: 1000ms;
}
.duration-150{
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.duration-500{
  transition-duration: 500ms;
}
.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-linear{
  transition-timing-function: linear;
}
.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
/* Viewport/Safe Area vars */
:root {
  --vv-safe-bottom: 0px; /* default */
  --sab: env(safe-area-inset-bottom); /* iOS safe area */
}
/* QR Scanner animations */
@keyframes scan-line {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(256px);
  }
}
.animate-scan-line {
  animation: scan-line 2s linear infinite;
}
/* Courier Alarm Animations */
@keyframes courier-alarm-blink {
  0%, 100% {
    background-color: rgb(255, 247, 237); /* orange-50 */
  }
  50% {
    background-color: rgb(254, 243, 199); /* yellow-100 */
  }
}
@keyframes courier-alarm-border-pulse {
  0%, 100% {
    border-color: rgb(251, 146, 60); /* orange-400 */
    box-shadow: 0 0 0 0 rgba(251, 146, 60, 0.6),
                0 0 16px 0 rgba(251, 146, 60, 0.4);
  }
  50% {
    border-color: rgb(249, 115, 22); /* orange-500 */
    box-shadow: 0 0 0 4px rgba(251, 146, 60, 0.3),
                0 0 24px 4px rgba(251, 146, 60, 0.5);
  }
}
.courier-alarm-active {
  animation: courier-alarm-blink 2s cubic-bezier(0.4, 0, 0.6, 1) infinite,
             courier-alarm-border-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  border: 3px solid rgb(251, 146, 60) !important;
  border-radius: 0.5rem;
}
.courier-alarm-indicator {
  animation: slide-in-down 0.3s ease-out;
}
@keyframes slide-in-down {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Order Status Update Animations */
@keyframes order-status-blink {
  0%, 100% {
    background-color: rgb(239, 246, 255); /* blue-50 */
  }
  50% {
    background-color: rgb(219, 234, 254); /* blue-100 */
  }
}
@keyframes order-status-border-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.6),
                0 0 16px 0 rgba(59, 130, 246, 0.4);
  }
  50% {
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.3),
                0 0 24px 4px rgba(59, 130, 246, 0.5);
  }
}
.order-status-updated {
  animation: order-status-blink 1s cubic-bezier(0.4, 0, 0.6, 1) 3,
             order-status-border-pulse 1s cubic-bezier(0.4, 0, 0.6, 1) 3;
}
/* Google Places Autocomplete Dropdown - Higher z-index to prevent click-through to map */
.pac-container {
  z-index: 10000 !important;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  margin-top: 4px;
  background-color: white;
  pointer-events: auto !important;
}
.pac-item {
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid hsl(var(--border));
  pointer-events: auto !important;
}
.pac-item:hover {
  background-color: hsl(var(--accent));
}
.pac-item:last-child {
  border-bottom: none;
}
.pac-icon {
  margin-top: 4px;
}
.pac-item-query {
  font-size: 14px;
  color: hsl(var(--foreground));
}
.pac-matched {
  font-weight: 600;
}
/* Dark mode support for autocomplete */
@media (prefers-color-scheme: dark) {
  .pac-container {
    background-color: hsl(var(--popover));
    border: 1px solid hsl(var(--border));
  }

  .pac-item {
    color: hsl(var(--popover-foreground));
  }

  .pac-item:hover {
    background-color: hsl(var(--accent));
  }

  .pac-item-query {
    color: hsl(var(--foreground));
  }
}
/* Sonner Toast - Separate React root for guaranteed visibility */
#toast-root {
  position: relative;
  z-index: 2147483647;
}
#toast-root [data-sonner-toaster] {
  position: fixed !important;
  z-index: 2147483647 !important;
}
#toast-root [data-sonner-toast] {
  pointer-events: auto !important;
}
.file\:border-0::file-selector-button{
  border-width: 0px;
}
.file\:bg-transparent::file-selector-button{
  background-color: transparent;
}
.file\:text-sm::file-selector-button{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.file\:font-medium::file-selector-button{
  font-weight: 500;
}
.placeholder\:text-muted-foreground::-moz-placeholder{
  color: hsl(var(--muted-foreground));
}
.placeholder\:text-muted-foreground::placeholder{
  color: hsl(var(--muted-foreground));
}
.placeholder\:text-white\/40::-moz-placeholder{
  color: rgb(255 255 255 / 0.4);
}
.placeholder\:text-white\/40::placeholder{
  color: rgb(255 255 255 / 0.4);
}
.last\:mb-6:last-child{
  margin-bottom: 1.5rem;
}
.last\:border-b-0:last-child{
  border-bottom-width: 0px;
}
.last\:border-r-0:last-child{
  border-right-width: 0px;
}
.hover\:-translate-y-0\.5:hover{
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-1:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-100:hover{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-105:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-110:hover{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.01\]:hover{
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.02\]:hover{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-blue-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-700:hover{
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}
.hover\:border-border\/40:hover{
  border-color: hsl(var(--border) / 0.4);
}
.hover\:border-cyan-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(8 145 178 / var(--tw-border-opacity, 1));
}
.hover\:border-emerald-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}
.hover\:border-gray-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.hover\:border-gray-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.hover\:border-green-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.hover\:border-green-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.hover\:border-green-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}
.hover\:border-green-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.hover\:border-green-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.hover\:border-green-700:hover{
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}
.hover\:border-indigo-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}
.hover\:border-muted-foreground\/30:hover{
  border-color: hsl(var(--muted-foreground) / 0.3);
}
.hover\:border-orange-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.hover\:border-orange-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}
.hover\:border-orange-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1));
}
.hover\:border-primary:hover{
  border-color: hsl(var(--primary));
}
.hover\:border-primary\/20:hover{
  border-color: hsl(var(--primary) / 0.2);
}
.hover\:border-primary\/30:hover{
  border-color: hsl(var(--primary) / 0.3);
}
.hover\:border-primary\/50:hover{
  border-color: hsl(var(--primary) / 0.5);
}
.hover\:border-primary\/60:hover{
  border-color: hsl(var(--primary) / 0.6);
}
.hover\:border-purple-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}
.hover\:border-red-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.hover\:border-red-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.hover\:border-red-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.hover\:border-red-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}
.hover\:border-sky-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(2 132 199 / var(--tw-border-opacity, 1));
}
.hover\:border-slate-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.hover\:border-slate-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.hover\:border-teal-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(13 148 136 / var(--tw-border-opacity, 1));
}
.hover\:bg-accent:hover{
  background-color: hsl(var(--accent));
}
.hover\:bg-accent\/20:hover{
  background-color: hsl(var(--accent) / 0.2);
}
.hover\:bg-accent\/50:hover{
  background-color: hsl(var(--accent) / 0.5);
}
.hover\:bg-accent\/60:hover{
  background-color: hsl(var(--accent) / 0.6);
}
.hover\:bg-amber-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-100\/70:hover{
  background-color: rgb(254 243 199 / 0.7);
}
.hover\:bg-amber-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}
.hover\:bg-black\/10:hover{
  background-color: rgb(0 0 0 / 0.1);
}
.hover\:bg-black\/5:hover{
  background-color: rgb(0 0 0 / 0.05);
}
.hover\:bg-black\/70:hover{
  background-color: rgb(0 0 0 / 0.7);
}
.hover\:bg-black\/90:hover{
  background-color: rgb(0 0 0 / 0.9);
}
.hover\:bg-blue-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-500\/10:hover{
  background-color: rgb(59 130 246 / 0.1);
}
.hover\:bg-blue-500\/80:hover{
  background-color: rgb(59 130 246 / 0.8);
}
.hover\:bg-blue-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.hover\:bg-destructive\/10:hover{
  background-color: hsl(var(--destructive) / 0.1);
}
.hover\:bg-destructive\/80:hover{
  background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover{
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-emerald-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-50\/50:hover{
  background-color: rgb(249 250 251 / 0.5);
}
.hover\:bg-gray-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-500\/10:hover{
  background-color: rgb(34 197 94 / 0.1);
}
.hover\:bg-green-500\/20:hover{
  background-color: rgb(34 197 94 / 0.2);
}
.hover\:bg-green-500\/80:hover{
  background-color: rgb(34 197 94 / 0.8);
}
.hover\:bg-green-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}
.hover\:bg-muted:hover{
  background-color: hsl(var(--muted));
}
.hover\:bg-muted\/20:hover{
  background-color: hsl(var(--muted) / 0.2);
}
.hover\:bg-muted\/30:hover{
  background-color: hsl(var(--muted) / 0.3);
}
.hover\:bg-muted\/40:hover{
  background-color: hsl(var(--muted) / 0.4);
}
.hover\:bg-muted\/50:hover{
  background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-muted\/60:hover{
  background-color: hsl(var(--muted) / 0.6);
}
.hover\:bg-muted\/80:hover{
  background-color: hsl(var(--muted) / 0.8);
}
.hover\:bg-orange-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-50\/50:hover{
  background-color: rgb(255 247 237 / 0.5);
}
.hover\:bg-orange-500\/10:hover{
  background-color: rgb(249 115 22 / 0.1);
}
.hover\:bg-orange-500\/20:hover{
  background-color: rgb(249 115 22 / 0.2);
}
.hover\:bg-orange-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary:hover{
  background-color: hsl(var(--primary));
}
.hover\:bg-primary\/10:hover{
  background-color: hsl(var(--primary) / 0.1);
}
.hover\:bg-primary\/80:hover{
  background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover{
  background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-purple-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-100\/70:hover{
  background-color: rgb(243 232 255 / 0.7);
}
.hover\:bg-purple-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-600\/90:hover{
  background-color: rgb(147 51 234 / 0.9);
}
.hover\:bg-purple-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-500\/10:hover{
  background-color: rgb(239 68 68 / 0.1);
}
.hover\:bg-red-500\/20:hover{
  background-color: rgb(239 68 68 / 0.2);
}
.hover\:bg-red-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.hover\:bg-secondary:hover{
  background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/80:hover{
  background-color: hsl(var(--secondary) / 0.8);
}
.hover\:bg-sky-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-700\/50:hover{
  background-color: rgb(51 65 85 / 0.5);
}
.hover\:bg-teal-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-500\/10:hover{
  background-color: rgb(20 184 166 / 0.1);
}
.hover\:bg-teal-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(13 148 136 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/20:hover{
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/40:hover{
  background-color: rgb(255 255 255 / 0.4);
}
.hover\:bg-white\/5:hover{
  background-color: rgb(255 255 255 / 0.05);
}
.hover\:bg-white\/50:hover{
  background-color: rgb(255 255 255 / 0.5);
}
.hover\:bg-white\/\[0\.06\]:hover{
  background-color: rgb(255 255 255 / 0.06);
}
.hover\:bg-white\/\[0\.12\]:hover{
  background-color: rgb(255 255 255 / 0.12);
}
.hover\:bg-yellow-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.hover\:bg-yellow-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.hover\:bg-yellow-500\/80:hover{
  background-color: rgb(234 179 8 / 0.8);
}
.hover\:bg-yellow-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}
.hover\:bg-opacity-20:hover{
  --tw-bg-opacity: 0.2;
}
.hover\:from-blue-700:hover{
  --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:to-blue-800:hover{
  --tw-gradient-to: #1e40af var(--tw-gradient-to-position);
}
.hover\:text-accent-foreground:hover{
  color: hsl(var(--accent-foreground));
}
.hover\:text-blue-500:hover{
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-600:hover{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-700:hover{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-800:hover{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-900:hover{
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.hover\:text-destructive:hover{
  color: hsl(var(--destructive));
}
.hover\:text-emerald-600:hover{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.hover\:text-foreground:hover{
  color: hsl(var(--foreground));
}
.hover\:text-gray-600:hover{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-700:hover{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-800:hover{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.hover\:text-green-600:hover{
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.hover\:text-green-700:hover{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.hover\:text-orange-600:hover{
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.hover\:text-orange-700:hover{
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.hover\:text-primary:hover{
  color: hsl(var(--primary));
}
.hover\:text-primary-foreground:hover{
  color: hsl(var(--primary-foreground));
}
.hover\:text-primary\/80:hover{
  color: hsl(var(--primary) / 0.8);
}
.hover\:text-purple-800:hover{
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.hover\:text-red-500:hover{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.hover\:text-red-600:hover{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.hover\:text-red-700:hover{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.hover\:text-red-800:hover{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-700:hover{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-900:hover{
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.hover\:text-teal-600:hover{
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:text-white\/60:hover{
  color: rgb(255 255 255 / 0.6);
}
.hover\:underline:hover{
  text-decoration-line: underline;
}
.hover\:no-underline:hover{
  text-decoration-line: none;
}
.hover\:opacity-100:hover{
  opacity: 1;
}
.hover\:opacity-70:hover{
  opacity: 0.7;
}
.hover\:opacity-80:hover{
  opacity: 0.8;
}
.hover\:shadow:hover{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-lg:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-md:hover{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-sm:hover{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-xl:hover{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:ring-2:hover{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.hover\:ring-border\/30:hover{
  --tw-ring-color: hsl(var(--border) / 0.3);
}
.hover\:ring-primary:hover{
  --tw-ring-color: hsl(var(--primary));
}
.focus\:z-10:focus{
  z-index: 10;
}
.focus\:border-blue-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.focus\:border-transparent:focus{
  border-color: transparent;
}
.focus\:border-violet-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.focus\:bg-accent:focus{
  background-color: hsl(var(--accent));
}
.focus\:bg-background:focus{
  background-color: hsl(var(--background));
}
.focus\:text-accent-foreground:focus{
  color: hsl(var(--accent-foreground));
}
.focus\:text-destructive:focus{
  color: hsl(var(--destructive));
}
.focus\:underline:focus{
  text-decoration-line: underline;
}
.focus\:opacity-100:focus{
  opacity: 1;
}
.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-2:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-blue-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.focus\:ring-blue-500\/20:focus{
  --tw-ring-color: rgb(59 130 246 / 0.2);
}
.focus\:ring-gray-300:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));
}
.focus\:ring-gray-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1));
}
.focus\:ring-primary:focus{
  --tw-ring-color: hsl(var(--primary));
}
.focus\:ring-primary\/20:focus{
  --tw-ring-color: hsl(var(--primary) / 0.2);
}
.focus\:ring-primary\/50:focus{
  --tw-ring-color: hsl(var(--primary) / 0.5);
}
.focus\:ring-red-300:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity, 1));
}
.focus\:ring-red-600:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(220 38 38 / var(--tw-ring-opacity, 1));
}
.focus\:ring-ring:focus{
  --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-slate-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(148 163 184 / var(--tw-ring-opacity, 1));
}
.focus\:ring-violet-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(139 92 246 / var(--tw-ring-opacity, 1));
}
.focus\:ring-offset-2:focus{
  --tw-ring-offset-width: 2px;
}
.focus-visible\:outline-none:focus-visible{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:ring-1:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-2:focus-visible{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-red-500:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.focus-visible\:ring-ring:focus-visible{
  --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-offset-2:focus-visible{
  --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible{
  --tw-ring-offset-color: hsl(var(--background));
}
.active\:scale-95:active{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.92\]:active{
  --tw-scale-x: 0.92;
  --tw-scale-y: 0.92;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.96\]:active{
  --tw-scale-x: 0.96;
  --tw-scale-y: 0.96;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.98\]:active{
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.99\]:active{
  --tw-scale-x: 0.99;
  --tw-scale-y: 0.99;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:bg-amber-200:active{
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-500:active{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-950:active{
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 18 / var(--tw-bg-opacity, 1));
}
.active\:bg-muted:active{
  background-color: hsl(var(--muted));
}
.active\:bg-muted\/80:active{
  background-color: hsl(var(--muted) / 0.8);
}
.active\:bg-red-100:active{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.active\:bg-red-300:active{
  --tw-bg-opacity: 1;
  background-color: rgb(252 165 165 / var(--tw-bg-opacity, 1));
}
.active\:bg-red-600:active{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.active\:bg-white\/\[0\.18\]:active{
  background-color: rgb(255 255 255 / 0.18);
}
.active\:opacity-80:active{
  opacity: 0.8;
}
.active\:opacity-90:active{
  opacity: 0.9;
}
.active\:shadow-sm:active{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.disabled\:pointer-events-none:disabled{
  pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}
.disabled\:opacity-30:disabled{
  opacity: 0.3;
}
.disabled\:opacity-40:disabled{
  opacity: 0.4;
}
.disabled\:opacity-50:disabled{
  opacity: 0.5;
}
.disabled\:hover\:scale-100:hover:disabled{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-x-0\.5{
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:bg-blue-500\/30{
  background-color: rgb(59 130 246 / 0.3);
}
.group:hover .group-hover\:bg-green-500{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-green-500\/30{
  background-color: rgb(34 197 94 / 0.3);
}
.group:hover .group-hover\:bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:text-blue-700{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-primary{
  color: hsl(var(--primary));
}
.group:hover .group-hover\:text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-white\/70{
  color: rgb(255 255 255 / 0.7);
}
.group:hover .group-hover\:text-white\/80{
  color: rgb(255 255 255 / 0.8);
}
.group:hover .group-hover\:text-white\/90{
  color: rgb(255 255 255 / 0.9);
}
.group:hover .group-hover\:opacity-100{
  opacity: 1;
}
.group:hover .group-hover\:opacity-70{
  opacity: 0.7;
}
.group:active .group-active\:scale-95{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40{
  border-color: hsl(var(--muted) / 0.4);
}
.group.destructive .group-\[\.destructive\]\:text-red-300{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{
  border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{
  background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{
  color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{
  --tw-ring-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}
.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{
  --tw-ring-offset-color: #dc2626;
}
.peer:disabled ~ .peer-disabled\:cursor-not-allowed{
  cursor: not-allowed;
}
.peer:disabled ~ .peer-disabled\:opacity-70{
  opacity: 0.7;
}
.data-\[disabled\]\:pointer-events-none[data-disabled]{
  pointer-events: none;
}
.data-\[state\=closed\]\:pointer-events-none[data-state="closed"]{
  pointer-events: none;
}
.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"]{
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=left\]\:-translate-x-1[data-side="left"]{
  --tw-translate-x: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=right\]\:translate-x-1[data-side="right"]{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[side\=top\]\:-translate-y-1[data-side="top"]{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=checked\]\:translate-x-4[data-state="checked"]{
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"]{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"]{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"]{
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"]{
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes accordion-up{
  from{
    height: var(--radix-accordion-content-height);
  }
  to{
    height: 0;
  }
}
.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"]{
  animation: accordion-up 0.2s ease-out;
}
@keyframes accordion-down{
  from{
    height: 0;
  }
  to{
    height: var(--radix-accordion-content-height);
  }
}
.data-\[state\=open\]\:animate-accordion-down[data-state="open"]{
  animation: accordion-down 0.2s ease-out;
}
.data-\[state\=active\]\:bg-background[data-state="active"]{
  background-color: hsl(var(--background));
}
.data-\[state\=active\]\:bg-orange-500[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.data-\[state\=active\]\:bg-primary[data-state="active"]{
  background-color: hsl(var(--primary));
}
.data-\[state\=active\]\:bg-primary\/10[data-state="active"]{
  background-color: hsl(var(--primary) / 0.1);
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"]{
  background-color: hsl(var(--primary));
}
.data-\[state\=open\]\:bg-accent[data-state="open"]{
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-secondary[data-state="open"]{
  background-color: hsl(var(--secondary));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"]{
  background-color: hsl(var(--input));
}
.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{
  color: hsl(var(--muted-foreground));
}
.data-\[state\=active\]\:text-foreground[data-state="active"]{
  color: hsl(var(--foreground));
}
.data-\[state\=active\]\:text-primary[data-state="active"]{
  color: hsl(var(--primary));
}
.data-\[state\=active\]\:text-primary-foreground[data-state="active"]{
  color: hsl(var(--primary-foreground));
}
.data-\[state\=active\]\:text-white[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"]{
  color: hsl(var(--primary-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"]{
  color: hsl(var(--muted-foreground));
}
.data-\[disabled\]\:opacity-50[data-disabled]{
  opacity: 0.5;
}
.data-\[state\=active\]\:shadow-sm[data-state="active"]{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[swipe\=move\]\:transition-none[data-swipe="move"]{
  transition-property: none;
}
.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  transition-duration: 300ms;
}
.data-\[state\=open\]\:duration-500[data-state="open"]{
  transition-duration: 500ms;
}
@supports (backdrop-filter: var(--tw)){
  .supports-\[backdrop-filter\]\:bg-background\/60{
    background-color: hsl(var(--background) / 0.6);
  }
}
.dark\:divide-slate-700:is([data-theme="dark"] *) > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-divide-opacity, 1));
}
.dark\:border-amber-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(180 83 9 / var(--tw-border-opacity, 1));
}
.dark\:border-amber-700\/50:is([data-theme="dark"] *){
  border-color: rgb(180 83 9 / 0.5);
}
.dark\:border-amber-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(146 64 14 / var(--tw-border-opacity, 1));
}
.dark\:border-amber-800\/50:is([data-theme="dark"] *){
  border-color: rgb(146 64 14 / 0.5);
}
.dark\:border-blue-400:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-500:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.dark\:border-blue-900:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(30 58 138 / var(--tw-border-opacity, 1));
}
.dark\:border-cyan-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(8 145 178 / var(--tw-border-opacity, 1));
}
.dark\:border-cyan-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(14 116 144 / var(--tw-border-opacity, 1));
}
.dark\:border-cyan-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(21 94 117 / var(--tw-border-opacity, 1));
}
.dark\:border-destructive:is([data-theme="dark"] *){
  border-color: hsl(var(--destructive));
}
.dark\:border-emerald-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}
.dark\:border-emerald-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(4 120 87 / var(--tw-border-opacity, 1));
}
.dark\:border-emerald-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(6 95 70 / var(--tw-border-opacity, 1));
}
.dark\:border-gray-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}
.dark\:border-gray-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
}
.dark\:border-gray-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}
.dark\:border-green-500:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.dark\:border-green-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.dark\:border-green-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}
.dark\:border-green-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}
.dark\:border-green-900:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(20 83 45 / var(--tw-border-opacity, 1));
}
.dark\:border-indigo-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(79 70 229 / var(--tw-border-opacity, 1));
}
.dark\:border-indigo-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(67 56 202 / var(--tw-border-opacity, 1));
}
.dark\:border-indigo-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(55 48 163 / var(--tw-border-opacity, 1));
}
.dark\:border-lime-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(77 124 15 / var(--tw-border-opacity, 1));
}
.dark\:border-orange-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1));
}
.dark\:border-orange-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(194 65 12 / var(--tw-border-opacity, 1));
}
.dark\:border-orange-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(154 52 18 / var(--tw-border-opacity, 1));
}
.dark\:border-orange-900:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(124 45 18 / var(--tw-border-opacity, 1));
}
.dark\:border-pink-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(190 24 93 / var(--tw-border-opacity, 1));
}
.dark\:border-primary\/40:is([data-theme="dark"] *){
  border-color: hsl(var(--primary) / 0.4);
}
.dark\:border-purple-400\/50:is([data-theme="dark"] *){
  border-color: rgb(192 132 252 / 0.5);
}
.dark\:border-purple-400\/60:is([data-theme="dark"] *){
  border-color: rgb(192 132 252 / 0.6);
}
.dark\:border-purple-400\/70:is([data-theme="dark"] *){
  border-color: rgb(192 132 252 / 0.7);
}
.dark\:border-purple-500:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.dark\:border-purple-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}
.dark\:border-purple-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(126 34 206 / var(--tw-border-opacity, 1));
}
.dark\:border-purple-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(107 33 168 / var(--tw-border-opacity, 1));
}
.dark\:border-purple-800\/50:is([data-theme="dark"] *){
  border-color: rgb(107 33 168 / 0.5);
}
.dark\:border-red-500:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.dark\:border-red-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}
.dark\:border-red-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}
.dark\:border-red-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}
.dark\:border-red-900:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(127 29 29 / var(--tw-border-opacity, 1));
}
.dark\:border-red-900\/50:is([data-theme="dark"] *){
  border-color: rgb(127 29 29 / 0.5);
}
.dark\:border-rose-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(190 18 60 / var(--tw-border-opacity, 1));
}
.dark\:border-sky-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(2 132 199 / var(--tw-border-opacity, 1));
}
.dark\:border-sky-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(3 105 161 / var(--tw-border-opacity, 1));
}
.dark\:border-slate-500:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}
.dark\:border-slate-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.dark\:border-slate-600\/30:is([data-theme="dark"] *){
  border-color: rgb(71 85 105 / 0.3);
}
.dark\:border-slate-600\/40:is([data-theme="dark"] *){
  border-color: rgb(71 85 105 / 0.4);
}
.dark\:border-slate-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}
.dark\:border-slate-700\/50:is([data-theme="dark"] *){
  border-color: rgb(51 65 85 / 0.5);
}
.dark\:border-slate-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}
.dark\:border-teal-400\/60:is([data-theme="dark"] *){
  border-color: rgb(45 212 191 / 0.6);
}
.dark\:border-teal-400\/70:is([data-theme="dark"] *){
  border-color: rgb(45 212 191 / 0.7);
}
.dark\:border-teal-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(13 148 136 / var(--tw-border-opacity, 1));
}
.dark\:border-teal-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(15 118 110 / var(--tw-border-opacity, 1));
}
.dark\:border-violet-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(109 40 217 / var(--tw-border-opacity, 1));
}
.dark\:border-yellow-600:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(202 138 4 / var(--tw-border-opacity, 1));
}
.dark\:border-yellow-700:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(161 98 7 / var(--tw-border-opacity, 1));
}
.dark\:border-yellow-800:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(133 77 14 / var(--tw-border-opacity, 1));
}
.dark\:dark\:border-red-900:is([data-theme="dark"] *):is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(127 29 29 / var(--tw-border-opacity, 1));
}
.dark\:bg-amber-400\/30:is([data-theme="dark"] *){
  background-color: rgb(251 191 36 / 0.3);
}
.dark\:bg-amber-600:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.dark\:bg-amber-900\/10:is([data-theme="dark"] *){
  background-color: rgb(120 53 15 / 0.1);
}
.dark\:bg-amber-900\/20:is([data-theme="dark"] *){
  background-color: rgb(120 53 15 / 0.2);
}
.dark\:bg-amber-900\/30:is([data-theme="dark"] *){
  background-color: rgb(120 53 15 / 0.3);
}
.dark\:bg-amber-900\/50:is([data-theme="dark"] *){
  background-color: rgb(120 53 15 / 0.5);
}
.dark\:bg-amber-950:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(69 26 3 / var(--tw-bg-opacity, 1));
}
.dark\:bg-amber-950\/20:is([data-theme="dark"] *){
  background-color: rgb(69 26 3 / 0.2);
}
.dark\:bg-amber-950\/30:is([data-theme="dark"] *){
  background-color: rgb(69 26 3 / 0.3);
}
.dark\:bg-amber-950\/50:is([data-theme="dark"] *){
  background-color: rgb(69 26 3 / 0.5);
}
.dark\:bg-blue-400:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-500\/10:is([data-theme="dark"] *){
  background-color: rgb(59 130 246 / 0.1);
}
.dark\:bg-blue-500\/20:is([data-theme="dark"] *){
  background-color: rgb(59 130 246 / 0.2);
}
.dark\:bg-blue-500\/40:is([data-theme="dark"] *){
  background-color: rgb(59 130 246 / 0.4);
}
.dark\:bg-blue-700:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-800:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 58 138 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-900\/20:is([data-theme="dark"] *){
  background-color: rgb(30 58 138 / 0.2);
}
.dark\:bg-blue-900\/30:is([data-theme="dark"] *){
  background-color: rgb(30 58 138 / 0.3);
}
.dark\:bg-blue-900\/40:is([data-theme="dark"] *){
  background-color: rgb(30 58 138 / 0.4);
}
.dark\:bg-blue-900\/50:is([data-theme="dark"] *){
  background-color: rgb(30 58 138 / 0.5);
}
.dark\:bg-blue-950:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(23 37 84 / var(--tw-bg-opacity, 1));
}
.dark\:bg-blue-950\/20:is([data-theme="dark"] *){
  background-color: rgb(23 37 84 / 0.2);
}
.dark\:bg-blue-950\/30:is([data-theme="dark"] *){
  background-color: rgb(23 37 84 / 0.3);
}
.dark\:bg-blue-950\/50:is([data-theme="dark"] *){
  background-color: rgb(23 37 84 / 0.5);
}
.dark\:bg-cyan-950\/30:is([data-theme="dark"] *){
  background-color: rgb(8 51 68 / 0.3);
}
.dark\:bg-cyan-950\/50:is([data-theme="dark"] *){
  background-color: rgb(8 51 68 / 0.5);
}
.dark\:bg-emerald-400:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.dark\:bg-emerald-500\/20:is([data-theme="dark"] *){
  background-color: rgb(16 185 129 / 0.2);
}
.dark\:bg-emerald-500\/40:is([data-theme="dark"] *){
  background-color: rgb(16 185 129 / 0.4);
}
.dark\:bg-emerald-700:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.dark\:bg-emerald-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(6 78 59 / var(--tw-bg-opacity, 1));
}
.dark\:bg-emerald-900\/30:is([data-theme="dark"] *){
  background-color: rgb(6 78 59 / 0.3);
}
.dark\:bg-emerald-950:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(2 44 34 / var(--tw-bg-opacity, 1));
}
.dark\:bg-emerald-950\/30:is([data-theme="dark"] *){
  background-color: rgb(2 44 34 / 0.3);
}
.dark\:bg-emerald-950\/40:is([data-theme="dark"] *){
  background-color: rgb(2 44 34 / 0.4);
}
.dark\:bg-gray-700:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.dark\:bg-gray-800:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.dark\:bg-gray-800\/20:is([data-theme="dark"] *){
  background-color: rgb(31 41 55 / 0.2);
}
.dark\:bg-gray-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.dark\:bg-gray-900\/50:is([data-theme="dark"] *){
  background-color: rgb(17 24 39 / 0.5);
}
.dark\:bg-gray-950\/20:is([data-theme="dark"] *){
  background-color: rgb(3 7 18 / 0.2);
}
.dark\:bg-gray-950\/30:is([data-theme="dark"] *){
  background-color: rgb(3 7 18 / 0.3);
}
.dark\:bg-gray-950\/50:is([data-theme="dark"] *){
  background-color: rgb(3 7 18 / 0.5);
}
.dark\:bg-green-500\/10:is([data-theme="dark"] *){
  background-color: rgb(34 197 94 / 0.1);
}
.dark\:bg-green-600:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.dark\:bg-green-700:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.dark\:bg-green-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}
.dark\:bg-green-900\/20:is([data-theme="dark"] *){
  background-color: rgb(20 83 45 / 0.2);
}
.dark\:bg-green-900\/30:is([data-theme="dark"] *){
  background-color: rgb(20 83 45 / 0.3);
}
.dark\:bg-green-900\/40:is([data-theme="dark"] *){
  background-color: rgb(20 83 45 / 0.4);
}
.dark\:bg-green-900\/50:is([data-theme="dark"] *){
  background-color: rgb(20 83 45 / 0.5);
}
.dark\:bg-green-950:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}
.dark\:bg-green-950\/20:is([data-theme="dark"] *){
  background-color: rgb(5 46 22 / 0.2);
}
.dark\:bg-green-950\/30:is([data-theme="dark"] *){
  background-color: rgb(5 46 22 / 0.3);
}
.dark\:bg-green-950\/50:is([data-theme="dark"] *){
  background-color: rgb(5 46 22 / 0.5);
}
.dark\:bg-indigo-400:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}
.dark\:bg-indigo-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1));
}
.dark\:bg-indigo-950\/30:is([data-theme="dark"] *){
  background-color: rgb(30 27 75 / 0.3);
}
.dark\:bg-indigo-950\/50:is([data-theme="dark"] *){
  background-color: rgb(30 27 75 / 0.5);
}
.dark\:bg-lime-950\/30:is([data-theme="dark"] *){
  background-color: rgb(26 46 5 / 0.3);
}
.dark\:bg-orange-400:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.dark\:bg-orange-500\/20:is([data-theme="dark"] *){
  background-color: rgb(249 115 22 / 0.2);
}
.dark\:bg-orange-500\/40:is([data-theme="dark"] *){
  background-color: rgb(249 115 22 / 0.4);
}
.dark\:bg-orange-600:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.dark\:bg-orange-700:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}
.dark\:bg-orange-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(124 45 18 / var(--tw-bg-opacity, 1));
}
.dark\:bg-orange-900\/30:is([data-theme="dark"] *){
  background-color: rgb(124 45 18 / 0.3);
}
.dark\:bg-orange-900\/50:is([data-theme="dark"] *){
  background-color: rgb(124 45 18 / 0.5);
}
.dark\:bg-orange-950:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(67 20 7 / var(--tw-bg-opacity, 1));
}
.dark\:bg-orange-950\/20:is([data-theme="dark"] *){
  background-color: rgb(67 20 7 / 0.2);
}
.dark\:bg-orange-950\/30:is([data-theme="dark"] *){
  background-color: rgb(67 20 7 / 0.3);
}
.dark\:bg-orange-950\/50:is([data-theme="dark"] *){
  background-color: rgb(67 20 7 / 0.5);
}
.dark\:bg-pink-950\/30:is([data-theme="dark"] *){
  background-color: rgb(80 7 36 / 0.3);
}
.dark\:bg-pink-950\/50:is([data-theme="dark"] *){
  background-color: rgb(80 7 36 / 0.5);
}
.dark\:bg-primary\/20:is([data-theme="dark"] *){
  background-color: hsl(var(--primary) / 0.2);
}
.dark\:bg-primary\/50:is([data-theme="dark"] *){
  background-color: hsl(var(--primary) / 0.5);
}
.dark\:bg-purple-400:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-400\/30:is([data-theme="dark"] *){
  background-color: rgb(192 132 252 / 0.3);
}
.dark\:bg-purple-500\/10:is([data-theme="dark"] *){
  background-color: rgb(168 85 247 / 0.1);
}
.dark\:bg-purple-500\/40:is([data-theme="dark"] *){
  background-color: rgb(168 85 247 / 0.4);
}
.dark\:bg-purple-600:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-900\/20:is([data-theme="dark"] *){
  background-color: rgb(88 28 135 / 0.2);
}
.dark\:bg-purple-900\/30:is([data-theme="dark"] *){
  background-color: rgb(88 28 135 / 0.3);
}
.dark\:bg-purple-900\/40:is([data-theme="dark"] *){
  background-color: rgb(88 28 135 / 0.4);
}
.dark\:bg-purple-900\/50:is([data-theme="dark"] *){
  background-color: rgb(88 28 135 / 0.5);
}
.dark\:bg-purple-950:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(59 7 100 / var(--tw-bg-opacity, 1));
}
.dark\:bg-purple-950\/20:is([data-theme="dark"] *){
  background-color: rgb(59 7 100 / 0.2);
}
.dark\:bg-purple-950\/30:is([data-theme="dark"] *){
  background-color: rgb(59 7 100 / 0.3);
}
.dark\:bg-purple-950\/40:is([data-theme="dark"] *){
  background-color: rgb(59 7 100 / 0.4);
}
.dark\:bg-purple-950\/50:is([data-theme="dark"] *){
  background-color: rgb(59 7 100 / 0.5);
}
.dark\:bg-red-500\/20:is([data-theme="dark"] *){
  background-color: rgb(239 68 68 / 0.2);
}
.dark\:bg-red-700:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.dark\:bg-red-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}
.dark\:bg-red-900\/20:is([data-theme="dark"] *){
  background-color: rgb(127 29 29 / 0.2);
}
.dark\:bg-red-900\/30:is([data-theme="dark"] *){
  background-color: rgb(127 29 29 / 0.3);
}
.dark\:bg-red-900\/40:is([data-theme="dark"] *){
  background-color: rgb(127 29 29 / 0.4);
}
.dark\:bg-red-900\/50:is([data-theme="dark"] *){
  background-color: rgb(127 29 29 / 0.5);
}
.dark\:bg-red-950\/20:is([data-theme="dark"] *){
  background-color: rgb(69 10 10 / 0.2);
}
.dark\:bg-red-950\/30:is([data-theme="dark"] *){
  background-color: rgb(69 10 10 / 0.3);
}
.dark\:bg-red-950\/50:is([data-theme="dark"] *){
  background-color: rgb(69 10 10 / 0.5);
}
.dark\:bg-rose-950\/30:is([data-theme="dark"] *){
  background-color: rgb(76 5 25 / 0.3);
}
.dark\:bg-sky-950\/30:is([data-theme="dark"] *){
  background-color: rgb(8 47 73 / 0.3);
}
.dark\:bg-slate-600:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.dark\:bg-slate-700:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.dark\:bg-slate-700\/15:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.15);
}
.dark\:bg-slate-700\/20:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.2);
}
.dark\:bg-slate-700\/25:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.25);
}
.dark\:bg-slate-700\/50:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.5);
}
.dark\:bg-slate-700\/80:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.8);
}
.dark\:bg-slate-700\/90:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.9);
}
.dark\:bg-slate-800:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.dark\:bg-slate-800\/30:is([data-theme="dark"] *){
  background-color: rgb(30 41 59 / 0.3);
}
.dark\:bg-slate-800\/50:is([data-theme="dark"] *){
  background-color: rgb(30 41 59 / 0.5);
}
.dark\:bg-slate-800\/60:is([data-theme="dark"] *){
  background-color: rgb(30 41 59 / 0.6);
}
.dark\:bg-slate-800\/80:is([data-theme="dark"] *){
  background-color: rgb(30 41 59 / 0.8);
}
.dark\:bg-slate-800\/90:is([data-theme="dark"] *){
  background-color: rgb(30 41 59 / 0.9);
}
.dark\:bg-slate-800\/95:is([data-theme="dark"] *){
  background-color: rgb(30 41 59 / 0.95);
}
.dark\:bg-slate-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.dark\:bg-slate-900\/20:is([data-theme="dark"] *){
  background-color: rgb(15 23 42 / 0.2);
}
.dark\:bg-slate-900\/30:is([data-theme="dark"] *){
  background-color: rgb(15 23 42 / 0.3);
}
.dark\:bg-slate-900\/50:is([data-theme="dark"] *){
  background-color: rgb(15 23 42 / 0.5);
}
.dark\:bg-slate-900\/80:is([data-theme="dark"] *){
  background-color: rgb(15 23 42 / 0.8);
}
.dark\:bg-slate-950:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.dark\:bg-teal-950\/30:is([data-theme="dark"] *){
  background-color: rgb(4 47 46 / 0.3);
}
.dark\:bg-teal-950\/40:is([data-theme="dark"] *){
  background-color: rgb(4 47 46 / 0.4);
}
.dark\:bg-teal-950\/50:is([data-theme="dark"] *){
  background-color: rgb(4 47 46 / 0.5);
}
.dark\:bg-violet-950\/30:is([data-theme="dark"] *){
  background-color: rgb(46 16 101 / 0.3);
}
.dark\:bg-yellow-900:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(113 63 18 / var(--tw-bg-opacity, 1));
}
.dark\:bg-yellow-900\/20:is([data-theme="dark"] *){
  background-color: rgb(113 63 18 / 0.2);
}
.dark\:bg-yellow-950\/20:is([data-theme="dark"] *){
  background-color: rgb(66 32 6 / 0.2);
}
.dark\:bg-yellow-950\/30:is([data-theme="dark"] *){
  background-color: rgb(66 32 6 / 0.3);
}
.dark\:bg-yellow-950\/50:is([data-theme="dark"] *){
  background-color: rgb(66 32 6 / 0.5);
}
.dark\:from-\[hsl\(var\(--category-active\)\)\]\/80:is([data-theme="dark"] *){
  --tw-gradient-from: hsl(var(--category-active) / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--category-active) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-blue-950\/30:is([data-theme="dark"] *){
  --tw-gradient-from: rgb(23 37 84 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-blue-950\/50:is([data-theme="dark"] *){
  --tw-gradient-from: rgb(23 37 84 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(23 37 84 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-gray-900:is([data-theme="dark"] *){
  --tw-gradient-from: #111827 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-indigo-900:is([data-theme="dark"] *){
  --tw-gradient-from: #312e81 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-orange-800:is([data-theme="dark"] *){
  --tw-gradient-from: #9a3412 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(154 52 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-orange-900\/50:is([data-theme="dark"] *){
  --tw-gradient-from: rgb(124 45 18 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 45 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-orange-950\/50:is([data-theme="dark"] *){
  --tw-gradient-from: rgb(67 20 7 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 20 7 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-primary\/20:is([data-theme="dark"] *){
  --tw-gradient-from: hsl(var(--primary) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-purple-500\/20:is([data-theme="dark"] *){
  --tw-gradient-from: rgb(168 85 247 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-purple-950\/50:is([data-theme="dark"] *){
  --tw-gradient-from: rgb(59 7 100 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-red-900\/20:is([data-theme="dark"] *){
  --tw-gradient-from: rgb(127 29 29 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(127 29 29 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-slate-600\/30:is([data-theme="dark"] *){
  --tw-gradient-from: rgb(71 85 105 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(71 85 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-slate-700:is([data-theme="dark"] *){
  --tw-gradient-from: #334155 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-slate-800:is([data-theme="dark"] *){
  --tw-gradient-from: #1e293b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:from-slate-900:is([data-theme="dark"] *){
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.dark\:via-blue-950\/10:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(23 37 84 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(23 37 84 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.dark\:via-slate-600:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(71 85 105 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #475569 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.dark\:via-slate-800:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e293b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.dark\:to-\[hsl\(var\(--category-active\)\)\]\/90:is([data-theme="dark"] *){
  --tw-gradient-to: hsl(var(--category-active) / 0.9) var(--tw-gradient-to-position);
}
.dark\:to-gray-800:is([data-theme="dark"] *){
  --tw-gradient-to: #1f2937 var(--tw-gradient-to-position);
}
.dark\:to-orange-800\/30:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(154 52 18 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-orange-800\/40:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(154 52 18 / 0.4) var(--tw-gradient-to-position);
}
.dark\:to-orange-900:is([data-theme="dark"] *){
  --tw-gradient-to: #7c2d12 var(--tw-gradient-to-position);
}
.dark\:to-orange-900\/30:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(124 45 18 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-purple-600\/30:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(147 51 234 / 0.3) var(--tw-gradient-to-position);
}
.dark\:to-purple-900:is([data-theme="dark"] *){
  --tw-gradient-to: #581c87 var(--tw-gradient-to-position);
}
.dark\:to-purple-900\/50:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(88 28 135 / 0.5) var(--tw-gradient-to-position);
}
.dark\:to-red-950:is([data-theme="dark"] *){
  --tw-gradient-to: #450a0a var(--tw-gradient-to-position);
}
.dark\:to-rose-900\/20:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(136 19 55 / 0.2) var(--tw-gradient-to-position);
}
.dark\:to-slate-800:is([data-theme="dark"] *){
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}
.dark\:to-slate-900:is([data-theme="dark"] *){
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}
.dark\:to-slate-900\/50:is([data-theme="dark"] *){
  --tw-gradient-to: rgb(15 23 42 / 0.5) var(--tw-gradient-to-position);
}
.dark\:to-transparent:is([data-theme="dark"] *){
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.dark\:text-amber-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-200:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.dark\:text-amber-500:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-200:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.dark\:text-blue-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.dark\:text-cyan-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.dark\:text-cyan-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-500:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.dark\:text-emerald-900:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-200:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.dark\:text-gray-500:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.dark\:text-green-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / var(--tw-text-opacity, 1));
}
.dark\:text-green-200:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1));
}
.dark\:text-green-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.dark\:text-green-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.dark\:text-green-500:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.dark\:text-indigo-200:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(199 210 254 / var(--tw-text-opacity, 1));
}
.dark\:text-indigo-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.dark\:text-indigo-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.dark\:text-indigo-900:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(49 46 129 / var(--tw-text-opacity, 1));
}
.dark\:text-lime-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(190 242 100 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(255 237 213 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-200:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(254 215 170 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.dark\:text-orange-900:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(124 45 18 / var(--tw-text-opacity, 1));
}
.dark\:text-pink-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.dark\:text-primary:is([data-theme="dark"] *){
  color: hsl(var(--primary));
}
.dark\:text-purple-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(243 232 255 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-200:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.dark\:text-purple-900:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(88 28 135 / var(--tw-text-opacity, 1));
}
.dark\:text-red-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / var(--tw-text-opacity, 1));
}
.dark\:text-red-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.dark\:text-red-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:text-red-500:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.dark\:text-rose-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}
.dark\:text-sky-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity, 1));
}
.dark\:text-sky-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-200:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-50:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}
.dark\:text-slate-500:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.dark\:text-teal-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}
.dark\:text-teal-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}
.dark\:text-violet-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.dark\:text-white:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.dark\:text-yellow-100:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(254 249 195 / var(--tw-text-opacity, 1));
}
.dark\:text-yellow-200:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}
.dark\:text-yellow-300:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.dark\:text-yellow-400:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.dark\:ring-blue-900\/50:is([data-theme="dark"] *){
  --tw-ring-color: rgb(30 58 138 / 0.5);
}
.dark\:ring-slate-700\/50:is([data-theme="dark"] *){
  --tw-ring-color: rgb(51 65 85 / 0.5);
}
.dark\:ring-offset-slate-900:is([data-theme="dark"] *){
  --tw-ring-offset-color: #0f172a;
}
.dark\:hover\:border-blue-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-blue-700:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-blue-800:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(30 64 175 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-cyan-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-emerald-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-green-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-green-600:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-green-800:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-indigo-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-orange-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-orange-600:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(234 88 12 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-primary\/60:hover:is([data-theme="dark"] *){
  border-color: hsl(var(--primary) / 0.6);
}
.dark\:hover\:border-primary\/70:hover:is([data-theme="dark"] *){
  border-color: hsl(var(--primary) / 0.7);
}
.dark\:hover\:border-purple-300:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-purple-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-red-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-red-700:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-red-800:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-sky-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(14 165 233 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-slate-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-slate-600:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-teal-300:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / var(--tw-border-opacity, 1));
}
.dark\:hover\:border-teal-500:hover:is([data-theme="dark"] *){
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / var(--tw-border-opacity, 1));
}
.dark\:hover\:bg-amber-900\/30:hover:is([data-theme="dark"] *){
  background-color: rgb(120 53 15 / 0.3);
}
.dark\:hover\:bg-blue-600:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-blue-900\/20:hover:is([data-theme="dark"] *){
  background-color: rgb(30 58 138 / 0.2);
}
.dark\:hover\:bg-blue-900\/30:hover:is([data-theme="dark"] *){
  background-color: rgb(30 58 138 / 0.3);
}
.dark\:hover\:bg-blue-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(30 58 138 / 0.5);
}
.dark\:hover\:bg-blue-950\/40:hover:is([data-theme="dark"] *){
  background-color: rgb(23 37 84 / 0.4);
}
.dark\:hover\:bg-blue-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(23 37 84 / 0.5);
}
.dark\:hover\:bg-cyan-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(22 78 99 / 0.5);
}
.dark\:hover\:bg-cyan-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(8 51 68 / 0.5);
}
.dark\:hover\:bg-destructive\/10:hover:is([data-theme="dark"] *){
  background-color: hsl(var(--destructive) / 0.1);
}
.dark\:hover\:bg-emerald-600:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-emerald-900\/20:hover:is([data-theme="dark"] *){
  background-color: rgb(6 78 59 / 0.2);
}
.dark\:hover\:bg-emerald-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(6 78 59 / 0.5);
}
.dark\:hover\:bg-emerald-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(2 44 34 / 0.5);
}
.dark\:hover\:bg-gray-700:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-gray-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(17 24 39 / 0.5);
}
.dark\:hover\:bg-green-600:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-green-700:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-green-900:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-green-900\/20:hover:is([data-theme="dark"] *){
  background-color: rgb(20 83 45 / 0.2);
}
.dark\:hover\:bg-green-900\/30:hover:is([data-theme="dark"] *){
  background-color: rgb(20 83 45 / 0.3);
}
.dark\:hover\:bg-green-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(20 83 45 / 0.5);
}
.dark\:hover\:bg-green-950\/30:hover:is([data-theme="dark"] *){
  background-color: rgb(5 46 22 / 0.3);
}
.dark\:hover\:bg-green-950\/40:hover:is([data-theme="dark"] *){
  background-color: rgb(5 46 22 / 0.4);
}
.dark\:hover\:bg-green-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(5 46 22 / 0.5);
}
.dark\:hover\:bg-indigo-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(49 46 129 / 0.5);
}
.dark\:hover\:bg-indigo-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(30 27 75 / 0.5);
}
.dark\:hover\:bg-orange-700:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-orange-900\/20:hover:is([data-theme="dark"] *){
  background-color: rgb(124 45 18 / 0.2);
}
.dark\:hover\:bg-orange-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(124 45 18 / 0.5);
}
.dark\:hover\:bg-orange-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(67 20 7 / 0.5);
}
.dark\:hover\:bg-pink-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(131 24 67 / 0.5);
}
.dark\:hover\:bg-purple-500:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-purple-900\/30:hover:is([data-theme="dark"] *){
  background-color: rgb(88 28 135 / 0.3);
}
.dark\:hover\:bg-purple-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(88 28 135 / 0.5);
}
.dark\:hover\:bg-purple-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(59 7 100 / 0.5);
}
.dark\:hover\:bg-red-600:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-red-800\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(153 27 27 / 0.5);
}
.dark\:hover\:bg-red-900\/20:hover:is([data-theme="dark"] *){
  background-color: rgb(127 29 29 / 0.2);
}
.dark\:hover\:bg-red-900\/30:hover:is([data-theme="dark"] *){
  background-color: rgb(127 29 29 / 0.3);
}
.dark\:hover\:bg-red-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(127 29 29 / 0.5);
}
.dark\:hover\:bg-red-950\/30:hover:is([data-theme="dark"] *){
  background-color: rgb(69 10 10 / 0.3);
}
.dark\:hover\:bg-red-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(69 10 10 / 0.5);
}
.dark\:hover\:bg-sky-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(8 47 73 / 0.5);
}
.dark\:hover\:bg-slate-600:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-slate-700:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-slate-700\/30:hover:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.3);
}
.dark\:hover\:bg-slate-700\/35:hover:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.35);
}
.dark\:hover\:bg-slate-700\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.5);
}
.dark\:hover\:bg-slate-700\/60:hover:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.6);
}
.dark\:hover\:bg-slate-700\/90:hover:is([data-theme="dark"] *){
  background-color: rgb(51 65 85 / 0.9);
}
.dark\:hover\:bg-slate-800:hover:is([data-theme="dark"] *){
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.dark\:hover\:bg-slate-800\/30:hover:is([data-theme="dark"] *){
  background-color: rgb(30 41 59 / 0.3);
}
.dark\:hover\:bg-slate-800\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(30 41 59 / 0.5);
}
.dark\:hover\:bg-slate-800\/80:hover:is([data-theme="dark"] *){
  background-color: rgb(30 41 59 / 0.8);
}
.dark\:hover\:bg-slate-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(2 6 23 / 0.5);
}
.dark\:hover\:bg-teal-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(19 78 74 / 0.5);
}
.dark\:hover\:bg-teal-950\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(4 47 46 / 0.5);
}
.dark\:hover\:bg-white\/10:hover:is([data-theme="dark"] *){
  background-color: rgb(255 255 255 / 0.1);
}
.dark\:hover\:bg-white\/5:hover:is([data-theme="dark"] *){
  background-color: rgb(255 255 255 / 0.05);
}
.dark\:hover\:bg-yellow-900\/50:hover:is([data-theme="dark"] *){
  background-color: rgb(113 63 18 / 0.5);
}
.dark\:hover\:text-blue-300:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-blue-400:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-destructive:hover:is([data-theme="dark"] *){
  color: hsl(var(--destructive));
}
.dark\:hover\:text-emerald-400:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-gray-200:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-gray-300:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-green-400:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-orange-400:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-red-200:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-red-300:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-red-400:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-slate-100:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.dark\:hover\:text-slate-200:hover:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.dark\:hover\:shadow-slate-900\/30:hover:is([data-theme="dark"] *){
  --tw-shadow-color: rgb(15 23 42 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.dark\:hover\:shadow-slate-900\/50:hover:is([data-theme="dark"] *){
  --tw-shadow-color: rgb(15 23 42 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.dark\:focus\:ring-blue-600:focus:is([data-theme="dark"] *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity, 1));
}
.dark\:focus\:ring-slate-600:focus:is([data-theme="dark"] *){
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(71 85 105 / var(--tw-ring-opacity, 1));
}
.dark\:active\:bg-red-900\/50:active:is([data-theme="dark"] *){
  background-color: rgb(127 29 29 / 0.5);
}
@media (min-width: 640px){
  .sm\:not-sr-only{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }
  .sm\:-right-1{
    right: -0.25rem;
  }
  .sm\:-top-1{
    top: -0.25rem;
  }
  .sm\:bottom-0{
    bottom: 0px;
  }
  .sm\:left-0{
    left: 0px;
  }
  .sm\:right-0{
    right: 0px;
  }
  .sm\:top-4{
    top: 1rem;
  }
  .sm\:top-auto{
    top: auto;
  }
  .sm\:order-1{
    order: 1;
  }
  .sm\:order-2{
    order: 2;
  }
  .sm\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .sm\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .sm\:col-span-3{
    grid-column: span 3 / span 3;
  }
  .sm\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }
  .sm\:mb-1{
    margin-bottom: 0.25rem;
  }
  .sm\:mb-2{
    margin-bottom: 0.5rem;
  }
  .sm\:mb-3{
    margin-bottom: 0.75rem;
  }
  .sm\:mb-4{
    margin-bottom: 1rem;
  }
  .sm\:ml-2{
    margin-left: 0.5rem;
  }
  .sm\:mr-1{
    margin-right: 0.25rem;
  }
  .sm\:mr-1\.5{
    margin-right: 0.375rem;
  }
  .sm\:mt-0{
    margin-top: 0px;
  }
  .sm\:mt-4{
    margin-top: 1rem;
  }
  .sm\:block{
    display: block;
  }
  .sm\:inline-block{
    display: inline-block;
  }
  .sm\:inline{
    display: inline;
  }
  .sm\:flex{
    display: flex;
  }
  .sm\:inline-flex{
    display: inline-flex;
  }
  .sm\:grid{
    display: grid;
  }
  .sm\:hidden{
    display: none;
  }
  .sm\:aspect-video{
    aspect-ratio: 16 / 9;
  }
  .sm\:h-1\.5{
    height: 0.375rem;
  }
  .sm\:h-10{
    height: 2.5rem;
  }
  .sm\:h-11{
    height: 2.75rem;
  }
  .sm\:h-12{
    height: 3rem;
  }
  .sm\:h-16{
    height: 4rem;
  }
  .sm\:h-20{
    height: 5rem;
  }
  .sm\:h-24{
    height: 6rem;
  }
  .sm\:h-28{
    height: 7rem;
  }
  .sm\:h-3{
    height: 0.75rem;
  }
  .sm\:h-4{
    height: 1rem;
  }
  .sm\:h-5{
    height: 1.25rem;
  }
  .sm\:h-6{
    height: 1.5rem;
  }
  .sm\:h-7{
    height: 1.75rem;
  }
  .sm\:h-8{
    height: 2rem;
  }
  .sm\:h-9{
    height: 2.25rem;
  }
  .sm\:h-\[550px\]{
    height: 550px;
  }
  .sm\:max-h-72{
    max-height: 18rem;
  }
  .sm\:max-h-\[80vh\]{
    max-height: 80vh;
  }
  .sm\:min-h-\[40px\]{
    min-height: 40px;
  }
  .sm\:min-h-\[52px\]{
    min-height: 52px;
  }
  .sm\:min-h-\[90px\]{
    min-height: 90px;
  }
  .sm\:w-1\.5{
    width: 0.375rem;
  }
  .sm\:w-10{
    width: 2.5rem;
  }
  .sm\:w-12{
    width: 3rem;
  }
  .sm\:w-16{
    width: 4rem;
  }
  .sm\:w-3{
    width: 0.75rem;
  }
  .sm\:w-4{
    width: 1rem;
  }
  .sm\:w-5{
    width: 1.25rem;
  }
  .sm\:w-6{
    width: 1.5rem;
  }
  .sm\:w-7{
    width: 1.75rem;
  }
  .sm\:w-8{
    width: 2rem;
  }
  .sm\:w-\[140px\]{
    width: 140px;
  }
  .sm\:w-\[400px\]{
    width: 400px;
  }
  .sm\:w-\[440px\]{
    width: 440px;
  }
  .sm\:w-\[480px\]{
    width: 480px;
  }
  .sm\:w-\[500px\]{
    width: 500px;
  }
  .sm\:w-\[540px\]{
    width: 540px;
  }
  .sm\:w-auto{
    width: auto;
  }
  .sm\:min-w-\[100px\]{
    min-width: 100px;
  }
  .sm\:min-w-\[120px\]{
    min-width: 120px;
  }
  .sm\:min-w-\[140px\]{
    min-width: 140px;
  }
  .sm\:min-w-\[180px\]{
    min-width: 180px;
  }
  .sm\:min-w-\[28px\]{
    min-width: 28px;
  }
  .sm\:min-w-\[32px\]{
    min-width: 32px;
  }
  .sm\:max-w-2xl{
    max-width: 42rem;
  }
  .sm\:max-w-3xl{
    max-width: 48rem;
  }
  .sm\:max-w-4xl{
    max-width: 56rem;
  }
  .sm\:max-w-\[420px\]{
    max-width: 420px;
  }
  .sm\:max-w-\[425px\]{
    max-width: 425px;
  }
  .sm\:max-w-\[500px\]{
    max-width: 500px;
  }
  .sm\:max-w-\[600px\]{
    max-width: 600px;
  }
  .sm\:max-w-\[700px\]{
    max-width: 700px;
  }
  .sm\:max-w-lg{
    max-width: 32rem;
  }
  .sm\:max-w-md{
    max-width: 28rem;
  }
  .sm\:max-w-sm{
    max-width: 24rem;
  }
  .sm\:max-w-xl{
    max-width: 36rem;
  }
  .sm\:flex-1{
    flex: 1 1 0%;
  }
  .sm\:flex-initial{
    flex: 0 1 auto;
  }
  .sm\:flex-none{
    flex: none;
  }
  .sm\:grid-cols-12{
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .sm\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .sm\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .sm\:flex-row{
    flex-direction: row;
  }
  .sm\:flex-col{
    flex-direction: column;
  }
  .sm\:items-center{
    align-items: center;
  }
  .sm\:justify-start{
    justify-content: flex-start;
  }
  .sm\:justify-end{
    justify-content: flex-end;
  }
  .sm\:justify-between{
    justify-content: space-between;
  }
  .sm\:gap-0{
    gap: 0px;
  }
  .sm\:gap-1{
    gap: 0.25rem;
  }
  .sm\:gap-1\.5{
    gap: 0.375rem;
  }
  .sm\:gap-2{
    gap: 0.5rem;
  }
  .sm\:gap-3{
    gap: 0.75rem;
  }
  .sm\:gap-4{
    gap: 1rem;
  }
  .sm\:gap-x-4{
    -moz-column-gap: 1rem;
         column-gap: 1rem;
  }
  .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }
  .sm\:space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }
  .sm\:space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
  }
  .sm\:space-y-1\.5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
  }
  .sm\:space-y-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
  }
  .sm\:space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }
  .sm\:space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }
  .sm\:space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
  }
  .sm\:rounded-3xl{
    border-radius: 1.5rem;
  }
  .sm\:rounded-lg{
    border-radius: var(--radius);
  }
  .sm\:rounded-xl{
    border-radius: 0.75rem;
  }
  .sm\:border-l-4{
    border-left-width: 4px;
  }
  .sm\:border-r{
    border-right-width: 1px;
  }
  .sm\:border-t-0{
    border-top-width: 0px;
  }
  .sm\:p-2{
    padding: 0.5rem;
  }
  .sm\:p-2\.5{
    padding: 0.625rem;
  }
  .sm\:p-3{
    padding: 0.75rem;
  }
  .sm\:p-4{
    padding: 1rem;
  }
  .sm\:p-5{
    padding: 1.25rem;
  }
  .sm\:p-6{
    padding: 1.5rem;
  }
  .sm\:px-0{
    padding-left: 0px;
    padding-right: 0px;
  }
  .sm\:px-1\.5{
    padding-left: 0.375rem;
    padding-right: 0.375rem;
  }
  .sm\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .sm\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .sm\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .sm\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .sm\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .sm\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .sm\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  .sm\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .sm\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  .sm\:pb-3{
    padding-bottom: 0.75rem;
  }
  .sm\:pb-4{
    padding-bottom: 1rem;
  }
  .sm\:pl-2{
    padding-left: 0.5rem;
  }
  .sm\:pl-4{
    padding-left: 1rem;
  }
  .sm\:pr-2{
    padding-right: 0.5rem;
  }
  .sm\:pt-0{
    padding-top: 0px;
  }
  .sm\:pt-2{
    padding-top: 0.5rem;
  }
  .sm\:pt-6{
    padding-top: 1.5rem;
  }
  .sm\:text-left{
    text-align: left;
  }
  .sm\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .sm\:text-\[10px\]{
    font-size: 10px;
  }
  .sm\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .sm\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .sm\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .sm\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .sm\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
  .sm\:leading-relaxed{
    line-height: 1.625;
  }
  .sm\:tracking-wider{
    letter-spacing: 0.05em;
  }
  .sm\:opacity-60{
    opacity: 0.6;
  }
  .sm\:shadow-2xl{
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
  .sm\:shadow-lg{
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
  .sm\:shadow-md{
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  }
}
@media (min-width: 768px){
  .md\:mb-2{
    margin-bottom: 0.5rem;
  }
  .md\:mr-1{
    margin-right: 0.25rem;
  }
  .md\:line-clamp-2{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .md\:block{
    display: block;
  }
  .md\:inline{
    display: inline;
  }
  .md\:flex{
    display: flex;
  }
  .md\:hidden{
    display: none;
  }
  .md\:h-10{
    height: 2.5rem;
  }
  .md\:h-11{
    height: 2.75rem;
  }
  .md\:h-12{
    height: 3rem;
  }
  .md\:h-14{
    height: 3.5rem;
  }
  .md\:h-16{
    height: 4rem;
  }
  .md\:h-18{
    height: 4.5rem;
  }
  .md\:h-3{
    height: 0.75rem;
  }
  .md\:h-3\.5{
    height: 0.875rem;
  }
  .md\:h-4{
    height: 1rem;
  }
  .md\:h-5{
    height: 1.25rem;
  }
  .md\:h-6{
    height: 1.5rem;
  }
  .md\:h-7{
    height: 1.75rem;
  }
  .md\:h-9{
    height: 2.25rem;
  }
  .md\:h-\[350px\]{
    height: 350px;
  }
  .md\:h-\[85vh\]{
    height: 85vh;
  }
  .md\:min-h-\[44px\]{
    min-height: 44px;
  }
  .md\:min-h-\[52px\]{
    min-height: 52px;
  }
  .md\:min-h-\[56px\]{
    min-height: 56px;
  }
  .md\:w-10{
    width: 2.5rem;
  }
  .md\:w-11{
    width: 2.75rem;
  }
  .md\:w-12{
    width: 3rem;
  }
  .md\:w-14{
    width: 3.5rem;
  }
  .md\:w-2\/5{
    width: 40%;
  }
  .md\:w-24{
    width: 6rem;
  }
  .md\:w-3{
    width: 0.75rem;
  }
  .md\:w-3\.5{
    width: 0.875rem;
  }
  .md\:w-4{
    width: 1rem;
  }
  .md\:w-5{
    width: 1.25rem;
  }
  .md\:w-6{
    width: 1.5rem;
  }
  .md\:w-7{
    width: 1.75rem;
  }
  .md\:w-9{
    width: 2.25rem;
  }
  .md\:w-\[160px\]{
    width: 160px;
  }
  .md\:w-\[200px\]{
    width: 200px;
  }
  .md\:w-\[30\%\]{
    width: 30%;
  }
  .md\:w-\[340px\]{
    width: 340px;
  }
  .md\:w-\[600px\]{
    width: 600px;
  }
  .md\:w-\[95vw\]{
    width: 95vw;
  }
  .md\:w-auto{
    width: auto;
  }
  .md\:min-w-\[60px\]{
    min-width: 60px;
  }
  .md\:min-w-\[70px\]{
    min-width: 70px;
  }
  .md\:max-w-2xl{
    max-width: 42rem;
  }
  .md\:max-w-5xl{
    max-width: 64rem;
  }
  .md\:max-w-\[420px\]{
    max-width: 420px;
  }
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .md\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .md\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .md\:flex-row{
    flex-direction: row;
  }
  .md\:gap-1{
    gap: 0.25rem;
  }
  .md\:gap-1\.5{
    gap: 0.375rem;
  }
  .md\:gap-2{
    gap: 0.5rem;
  }
  .md\:gap-3{
    gap: 0.75rem;
  }
  .md\:gap-4{
    gap: 1rem;
  }
  .md\:gap-5{
    gap: 1.25rem;
  }
  .md\:gap-6{
    gap: 1.5rem;
  }
  .md\:gap-y-1{
    row-gap: 0.25rem;
  }
  .md\:space-y-1 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
  }
  .md\:space-y-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
  }
  .md\:space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }
  .md\:space-y-5 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
  }
  .md\:border-b-0{
    border-bottom-width: 0px;
  }
  .md\:border-r{
    border-right-width: 1px;
  }
  .md\:p-1{
    padding: 0.25rem;
  }
  .md\:p-1\.5{
    padding: 0.375rem;
  }
  .md\:p-2{
    padding: 0.5rem;
  }
  .md\:p-3{
    padding: 0.75rem;
  }
  .md\:p-4{
    padding: 1rem;
  }
  .md\:p-6{
    padding: 1.5rem;
  }
  .md\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .md\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .md\:px-3{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  .md\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .md\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .md\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .md\:py-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
  .md\:py-1\.5{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
  }
  .md\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .md\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .md\:pb-2{
    padding-bottom: 0.5rem;
  }
  .md\:pb-4{
    padding-bottom: 1rem;
  }
  .md\:pt-2{
    padding-top: 0.5rem;
  }
  .md\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .md\:text-\[10px\]{
    font-size: 10px;
  }
  .md\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .md\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .md\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .md\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .md\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
}
@media (min-width: 1024px){
  .lg\:sticky{
    position: sticky;
  }
  .lg\:top-6{
    top: 1.5rem;
  }
  .lg\:order-1{
    order: 1;
  }
  .lg\:order-2{
    order: 2;
  }
  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }
  .lg\:col-span-2{
    grid-column: span 2 / span 2;
  }
  .lg\:block{
    display: block;
  }
  .lg\:inline{
    display: inline;
  }
  .lg\:flex{
    display: flex;
  }
  .lg\:hidden{
    display: none;
  }
  .lg\:h-12{
    height: 3rem;
  }
  .lg\:h-20{
    height: 5rem;
  }
  .lg\:h-24{
    height: 6rem;
  }
  .lg\:h-8{
    height: 2rem;
  }
  .lg\:max-h-80{
    max-height: 20rem;
  }
  .lg\:max-h-none{
    max-height: none;
  }
  .lg\:min-h-\[400px\]{
    min-height: 400px;
  }
  .lg\:min-h-\[40px\]{
    min-height: 40px;
  }
  .lg\:min-h-\[48px\]{
    min-height: 48px;
  }
  .lg\:w-1\/2{
    width: 50%;
  }
  .lg\:w-1\/3{
    width: 33.333333%;
  }
  .lg\:w-2\/3{
    width: 66.666667%;
  }
  .lg\:w-2\/5{
    width: 40%;
  }
  .lg\:w-20{
    width: 5rem;
  }
  .lg\:w-3\/5{
    width: 60%;
  }
  .lg\:w-72{
    width: 18rem;
  }
  .lg\:w-8{
    width: 2rem;
  }
  .lg\:w-96{
    width: 24rem;
  }
  .lg\:w-\[240px\]{
    width: 240px;
  }
  .lg\:w-\[30\%\]{
    width: 30%;
  }
  .lg\:w-\[360px\]{
    width: 360px;
  }
  .lg\:w-\[400px\]{
    width: 400px;
  }
  .lg\:w-\[45\%\]{
    width: 45%;
  }
  .lg\:w-\[55\%\]{
    width: 55%;
  }
  .lg\:w-\[700px\]{
    width: 700px;
  }
  .lg\:w-\[90vw\]{
    width: 90vw;
  }
  .lg\:min-w-\[70px\]{
    min-width: 70px;
  }
  .lg\:min-w-\[85px\]{
    min-width: 85px;
  }
  .lg\:max-w-3xl{
    max-width: 48rem;
  }
  .lg\:max-w-4xl{
    max-width: 56rem;
  }
  .lg\:max-w-5xl{
    max-width: 64rem;
  }
  .lg\:max-w-6xl{
    max-width: 72rem;
  }
  .lg\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .lg\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .lg\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .lg\:grid-cols-9{
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .lg\:grid-cols-\[400px_1fr\]{
    grid-template-columns: 400px 1fr;
  }
  .lg\:flex-row{
    flex-direction: row;
  }
  .lg\:gap-1\.5{
    gap: 0.375rem;
  }
  .lg\:gap-2{
    gap: 0.5rem;
  }
  .lg\:gap-4{
    gap: 1rem;
  }
  .lg\:gap-6{
    gap: 1.5rem;
  }
  .lg\:gap-8{
    gap: 2rem;
  }
  .lg\:space-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }
  .lg\:border-b-0{
    border-bottom-width: 0px;
  }
  .lg\:border-l{
    border-left-width: 1px;
  }
  .lg\:border-r{
    border-right-width: 1px;
  }
  .lg\:border-t-0{
    border-top-width: 0px;
  }
  .lg\:p-5{
    padding: 1.25rem;
  }
  .lg\:p-6{
    padding: 1.5rem;
  }
  .lg\:p-8{
    padding: 2rem;
  }
  .lg\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .lg\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .lg\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .lg\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .lg\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .lg\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .lg\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .lg\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .lg\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
}
@media (min-width: 1280px){
  .xl\:h-12{
    height: 3rem;
  }
  .xl\:h-24{
    height: 6rem;
  }
  .xl\:w-12{
    width: 3rem;
  }
  .xl\:w-24{
    width: 6rem;
  }
  .xl\:w-\[260px\]{
    width: 260px;
  }
  .xl\:w-\[380px\]{
    width: 380px;
  }
  .xl\:w-\[42\%\]{
    width: 42%;
  }
  .xl\:w-\[420px\]{
    width: 420px;
  }
  .xl\:w-\[800px\]{
    width: 800px;
  }
  .xl\:max-w-6xl{
    max-width: 72rem;
  }
  .xl\:grid-cols-10{
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .xl\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .xl\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .xl\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .xl\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
  .xl\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .xl\:grid-cols-9{
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
  .xl\:p-10{
    padding: 2.5rem;
  }
  .xl\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .xl\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }
  .xl\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 1536px){
  .\32xl\:grid-cols-10{
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
  .\32xl\:grid-cols-12{
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
  .\32xl\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .\32xl\:grid-cols-8{
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  .\32xl\:grid-cols-9{
    grid-template-columns: repeat(9, minmax(0, 1fr));
  }
}
@media (min-width: 1920px){
  .sunmi\:mr-2{
    margin-right: 0.5rem;
  }
  .sunmi\:h-10{
    height: 2.5rem;
  }
  .sunmi\:h-11{
    height: 2.75rem;
  }
  .sunmi\:h-12{
    height: 3rem;
  }
  .sunmi\:h-14{
    height: 3.5rem;
  }
  .sunmi\:h-16{
    height: 4rem;
  }
  .sunmi\:h-18{
    height: 4.5rem;
  }
  .sunmi\:h-20{
    height: 5rem;
  }
  .sunmi\:h-24{
    height: 6rem;
  }
  .sunmi\:h-4{
    height: 1rem;
  }
  .sunmi\:h-5{
    height: 1.25rem;
  }
  .sunmi\:h-8{
    height: 2rem;
  }
  .sunmi\:h-9{
    height: 2.25rem;
  }
  .sunmi\:h-\[250px\]{
    height: 250px;
  }
  .sunmi\:min-h-\[100px\]{
    min-height: 100px;
  }
  .sunmi\:min-h-\[220px\]{
    min-height: 220px;
  }
  .sunmi\:min-h-\[240px\]{
    min-height: 240px;
  }
  .sunmi\:min-h-\[56px\]{
    min-height: 56px;
  }
  .sunmi\:w-10{
    width: 2.5rem;
  }
  .sunmi\:w-11{
    width: 2.75rem;
  }
  .sunmi\:w-12{
    width: 3rem;
  }
  .sunmi\:w-16{
    width: 4rem;
  }
  .sunmi\:w-20{
    width: 5rem;
  }
  .sunmi\:w-32{
    width: 8rem;
  }
  .sunmi\:w-4{
    width: 1rem;
  }
  .sunmi\:w-5{
    width: 1.25rem;
  }
  .sunmi\:w-8{
    width: 2rem;
  }
  .sunmi\:w-9{
    width: 2.25rem;
  }
  .sunmi\:w-96{
    width: 24rem;
  }
  .sunmi\:max-w-4xl{
    max-width: 56rem;
  }
  .sunmi\:max-w-6xl{
    max-width: 72rem;
  }
  .sunmi\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .sunmi\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .sunmi\:gap-2{
    gap: 0.5rem;
  }
  .sunmi\:gap-3{
    gap: 0.75rem;
  }
  .sunmi\:gap-4{
    gap: 1rem;
  }
  .sunmi\:space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }
  .sunmi\:space-x-3 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.75rem * var(--tw-space-x-reverse));
    margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
  }
  .sunmi\:space-y-4 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
  }
  .sunmi\:p-3{
    padding: 0.75rem;
  }
  .sunmi\:p-4{
    padding: 1rem;
  }
  .sunmi\:p-5{
    padding: 1.25rem;
  }
  .sunmi\:p-6{
    padding: 1.5rem;
  }
  .sunmi\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .sunmi\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .sunmi\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .sunmi\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  .sunmi\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .sunmi\:pl-12{
    padding-left: 3rem;
  }
  .sunmi\:pr-14{
    padding-right: 3.5rem;
  }
  .sunmi\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .sunmi\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .sunmi\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .sunmi\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .sunmi\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .sunmi\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 640px){
  @media (min-width: 1920px){
    .sm\:sunmi\:px-4{
      padding-left: 1rem;
      padding-right: 1rem;
    }
  }
}
@media (min-width: 480px){
  .xs\:inline{
    display: inline;
  }
  .xs\:h-14{
    height: 3.5rem;
  }
  .xs\:min-w-\[120px\]{
    min-width: 120px;
  }
  .xs\:gap-2{
    gap: 0.5rem;
  }
  .xs\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .xs\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
}
.\[\&\>button\]\:hidden>button{
  display: none;
}
.\[\&\>button\]\:min-h-\[48px\]>button{
  min-height: 48px;
}
.\[\&\>button\]\:min-h-\[56px\]>button{
  min-height: 56px;
}
.\[\&\>div\]\:bg-green-500>div{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.\[\&\>div\]\:bg-red-500>div{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.\[\&\>span\]\:line-clamp-1>span{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{
  --tw-translate-y: -3px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\>svg\]\:absolute>svg{
  position: absolute;
}
.\[\&\>svg\]\:left-4>svg{
  left: 1rem;
}
.\[\&\>svg\]\:top-4>svg{
  top: 1rem;
}
.\[\&\>svg\]\:text-destructive>svg{
  color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg{
  color: hsl(var(--foreground));
}
.\[\&\>svg\]\:text-red-600>svg{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.\[\&\>svg\]\:text-slate-950>svg{
  --tw-text-opacity: 1;
  color: rgb(2 6 23 / var(--tw-text-opacity, 1));
}
.dark\:\[\&\>svg\]\:text-red-300>svg:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.dark\:\[\&\>svg\]\:text-slate-50>svg:is([data-theme="dark"] *){
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}
.\[\&\>svg\~\*\]\:pl-7>svg~*{
  padding-left: 1.75rem;
}
.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\[data-state\=open\]\]\:bg-orange-50\/50[data-state=open]{
  background-color: rgb(255 247 237 / 0.5);
}
.dark\:\[\&\[data-state\=open\]\]\:bg-orange-900\/20[data-state=open]:is([data-theme="dark"] *){
  background-color: rgb(124 45 18 / 0.2);
}
.\[\&_\*\]\:\[-webkit-overflow-scrolling\:touch\] *{
  -webkit-overflow-scrolling: touch;
}
.\[\&_p\]\:leading-relaxed p{
  line-height: 1.625;
}
.\[\&_svg\]\:pointer-events-none svg{
  pointer-events: none;
}
.\[\&_svg\]\:size-4 svg{
  width: 1rem;
  height: 1rem;
}
.\[\&_svg\]\:shrink-0 svg{
  flex-shrink: 0;
}/* POS CSS Variables - Light/Dark Theme Support */

/* ===========================
   ROOT VARIABLES
   =========================== */

:root {
  /* Brand Colors */
  --pos-primary-color: #2563eb;
  --pos-primary-hover: #1d4ed8;
  --pos-primary-light: #dbeafe;
  
  --pos-secondary-color: #64748b;
  --pos-secondary-hover: #475569;
  --pos-secondary-light: #f1f5f9;
  
  --pos-success-color: #059669;
  --pos-success-hover: #047857;
  --pos-success-light: #d1fae5;
  
  --pos-warning-color: #d97706;
  --pos-warning-hover: #b45309;
  --pos-warning-light: #fef3c7;
  
  --pos-danger-color: #dc2626;
  --pos-danger-hover: #b91c1c;
  --pos-danger-light: #fee2e2;
  
  --pos-info-color: #0891b2;
  --pos-info-hover: #0e7490;
  --pos-info-light: #cffafe;
}

/* ===========================
   LIGHT THEME (Default)
   =========================== */

:root,
:root.light {
  /* Background Colors - Improved for better visual hierarchy */
  --pos-bg-primary: #ffffff;
  --pos-bg-secondary: #f8fafc;
  --pos-bg-tertiary: #f1f5f9;
  --pos-bg-quaternary: #e2e8f0;

  /* Header & Navigation */
  --pos-header-bg: #ffffff;
  --pos-header-section-bg: #f8fafc;

  /* Text Colors - Enhanced contrast */
  --pos-text-primary: #0f172a;
  --pos-text-secondary: #475569;
  --pos-text-tertiary: #64748b;
  --pos-text-muted: #94a3b8;

  /* Border Colors */
  --pos-border-color: #e2e8f0;
  --pos-border-light: #f1f5f9;
  --pos-border-strong: #cbd5e1;
  
  /* Button Colors */
  --pos-button-bg: #f8fafc;
  --pos-button-text: #374151;
  --pos-button-hover: #f1f5f9;
  --pos-button-active: #e2e8f0;
  
  --pos-button-secondary: #e2e8f0;
  --pos-button-secondary-hover: #cbd5e1;
  
  /* Dropdown & Menu */
  --pos-dropdown-bg: #ffffff;
  --pos-hover-bg: #f8fafc;
  --pos-selected-bg: #dbeafe;
  
  /* Profile & User */
  --pos-profile-bg: #f8fafc;
  --pos-profile-header-bg: #f1f5f9;
  
  /* Status & States */
  --pos-status-bg: #f8fafc;
  --pos-status-connected: #059669;
  --pos-status-slow: #d97706;
  --pos-status-disconnected: #dc2626;
  --pos-status-reconnecting: #0891b2;
  --pos-status-unknown: #64748b;
  
  /* Theme Toggle */
  --pos-theme-light-bg: #fef3c7;
  --pos-theme-light-text: #92400e;
  --pos-theme-dark-bg: #e2e8f0;
  --pos-theme-dark-text: #475569;
  
  /* Semantic Backgrounds */
  --pos-success-bg: #f0fdf4;
  --pos-warning-bg: #fffbeb;
  --pos-danger-bg: #fef2f2;
  --pos-info-bg: #f0f9ff;
  
  /* Semantic Text */
  --pos-success-text: #166534;
  --pos-warning-text: #92400e;
  --pos-danger-text: #991b1b;
  --pos-info-text: #075985;
  
  /* Table Status Colors - Light Mode - Modern Professional Palette */
  /* Vacant (Available) - Fresh, inviting green */
  --pos-table-vacant-bg: #f0fdf4;    /* green-50 */
  --pos-table-vacant-border: #22c55e; /* green-500 */
  --pos-table-vacant-text: #16a34a;   /* green-600 */

  /* Occupied (Active) - Professional blue instead of amber */
  --pos-table-occupied-bg: #eff6ff;   /* blue-50 */
  --pos-table-occupied-border: #3b82f6; /* blue-500 */
  --pos-table-occupied-text: #2563eb;  /* blue-600 */

  /* Paid (Completed) - Success teal/emerald */
  --pos-table-paid-bg: #ecfdf5;       /* emerald-50 */
  --pos-table-paid-border: #059669;   /* emerald-600 */
  --pos-table-paid-text: #047857;     /* emerald-700 */

  /* Selected - Sky blue for selection */
  --pos-table-selected-bg: #f0f9ff;   /* sky-50 */
  --pos-table-selected-border: #0ea5e9; /* sky-500 */
  --pos-table-selected-text: #0284c7;  /* sky-600 */

  /* Reserved/Parent (Merged) - Elegant purple */
  --pos-table-reserved-bg: #faf5ff;   /* purple-50 */
  --pos-table-reserved-border: #a855f7; /* purple-500 */
  --pos-table-reserved-text: #9333ea;  /* purple-600 */

  /* Cleaning - Neutral slate */
  --pos-table-cleaning-bg: #f8fafc;   /* slate-50 */
  --pos-table-cleaning-border: #94a3b8; /* slate-400 */
  --pos-table-cleaning-text: #334155;  /* slate-700 */

  /* Shadows */
  --pos-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --pos-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --pos-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --pos-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

/* ===========================
   DARK THEME - Modern Professional Palette
   =========================== */

:root.dark,
[data-theme="dark"],
html.dark {
  /* Background Colors - Modern slate-based palette avoiding pure black */
  --pos-bg-primary: #1e293b;    /* Slate-800 - Main background */
  --pos-bg-secondary: #334155;  /* Slate-700 - Secondary areas */
  --pos-bg-tertiary: #475569;   /* Slate-600 - Tertiary areas */
  --pos-bg-quaternary: #64748b; /* Slate-500 - Quaternary areas */

  /* Header & Navigation - Lighter for better contrast and readability */
  --pos-header-bg: #475569;        /* Slate-600 - Much lighter header */
  --pos-header-section-bg: #64748b; /* Slate-500 - Section backgrounds */

  /* Text Colors - WCAG AA compliant contrast ratios */
  --pos-text-primary: #f8fafc;   /* Slate-50 - Primary text */
  --pos-text-secondary: #e2e8f0; /* Slate-200 - Secondary text */
  --pos-text-tertiary: #cbd5e1;  /* Slate-300 - Tertiary text */
  --pos-text-muted: #94a3b8;     /* Slate-400 - Muted text */

  /* Border Colors - Harmonious slate progression */
  --pos-border-color: #475569;   /* Slate-600 - Main borders */
  --pos-border-light: #64748b;   /* Slate-500 - Light borders */
  --pos-border-strong: #94a3b8;  /* Slate-400 - Strong borders */

  /* Button Colors - Soft, harmonious and professional */
  --pos-button-bg: #64748b;      /* Slate-500 - Button background */
  --pos-button-text: #f8fafc;    /* Slate-50 - Button text */
  --pos-button-hover: #78716c;   /* Stone-500 - Hover state */
  --pos-button-active: #a8a29e;  /* Stone-400 - Active state */

  --pos-button-secondary: #78716c;   /* Stone-500 - Secondary buttons */
  --pos-button-secondary-hover: #a8a29e; /* Stone-400 - Secondary hover */

  /* Dropdown & Menu - Consistent with new palette */
  --pos-dropdown-bg: #334155;    /* Slate-700 - Dropdown background */
  --pos-hover-bg: #475569;       /* Slate-600 - Hover states */
  --pos-selected-bg: #1e40af;    /* Blue-700 - Selected items */

  /* Profile & User - Harmonious slate tones */
  --pos-profile-bg: #475569;        /* Slate-600 - Profile background */
  --pos-profile-header-bg: #64748b; /* Slate-500 - Profile header */

  /* Status & States - Consistent backgrounds */
  --pos-status-bg: #475569;      /* Slate-600 - Status background */

  /* Theme Toggle - Professional blue accent */
  --pos-theme-light-bg: #64748b;    /* Slate-500 - Light theme button */
  --pos-theme-light-text: #f8fafc;  /* Slate-50 - Light theme text */
  --pos-theme-dark-bg: #2563eb;     /* Blue-600 - Dark theme button */
  --pos-theme-dark-text: #dbeafe;   /* Blue-100 - Dark theme text */

  /* Semantic Backgrounds - Darker but not black */
  --pos-success-bg: #14532d;     /* Green-900 - Success background */
  --pos-warning-bg: #92400e;     /* Amber-800 - Warning background */
  --pos-danger-bg: #991b1b;      /* Red-800 - Danger background */
  --pos-info-bg: #1e40af;        /* Blue-700 - Info background */
  
  /* Semantic Text - High contrast, readable colors */
  --pos-success-text: #86efac;   /* Green-300 - Success text */
  --pos-warning-text: #fbbf24;   /* Amber-400 - Warning text */
  --pos-danger-text: #fca5a5;    /* Red-300 - Danger text */
  --pos-info-text: #93c5fd;      /* Blue-300 - Info text */

  /* Table Status Colors - Dark Mode - Much Lighter & Vibrant */
  /* Vacant (Available) - Bright fresh green */
  --pos-table-vacant-bg: #2d9d5f;      /* Much lighter green background */
  --pos-table-vacant-border: #4ade80;  /* green-400 - Bright border */
  --pos-table-vacant-text: #dcfce7;    /* green-100 - Very bright text */

  /* Occupied (Active) - Bright readable blue */
  --pos-table-occupied-bg: #4478c4;    /* Much lighter blue background */
  --pos-table-occupied-border: #60a5fa; /* blue-400 - Bright border */
  --pos-table-occupied-text: #eff6ff;  /* blue-50 - Very bright text */

  /* Paid (Completed) - Bright emerald/teal */
  --pos-table-paid-bg: #2d9973;        /* Much lighter emerald background */
  --pos-table-paid-border: #34d399;    /* emerald-400 - Bright border */
  --pos-table-paid-text: #d1fae5;      /* emerald-100 - Very bright text */

  /* Selected - Bright sky blue */
  --pos-table-selected-bg: #3690c4;    /* Much lighter sky background */
  --pos-table-selected-border: #38bdf8; /* sky-400 - Bright border */
  --pos-table-selected-text: #e0f2fe;  /* sky-100 - Very bright text */

  /* Reserved/Parent (Merged) - Bright purple */
  --pos-table-reserved-bg: #7c3aed;    /* Much lighter purple background */
  --pos-table-reserved-border: #c084fc; /* purple-400 - Bright border */
  --pos-table-reserved-text: #f3e8ff;  /* purple-100 - Very bright text */

  /* Cleaning - Lighter neutral slate */
  --pos-table-cleaning-bg: #64748b;    /* slate-500 - Lighter neutral */
  --pos-table-cleaning-border: #94a3b8; /* slate-400 - Visible border */
  --pos-table-cleaning-text: #f8fafc;  /* slate-50 - Very bright text */

  /* Shadows - Enhanced for dark mode depth */
  --pos-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
  --pos-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
  --pos-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
  --pos-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.6);

  /* Transitions - Smooth, professional animations */
  --pos-transition-fast: 0.15s ease-out;
  --pos-transition-normal: 0.25s ease-out;
  --pos-transition-slow: 0.35s ease-out;
  --pos-transition-colors: color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out;
}

/* ===========================
   NOTIFICATION STYLES
   =========================== */

.pos-notification-badge {
  position: relative;
}

.pos-notification-button {
  @extend .pos-header-action;
  position: relative;
}

.pos-has-unread {
  background: var(--pos-warning-light);
  color: var(--pos-warning-color);
}

.pos-notification-icon {
  position: relative;
}

.pos-bell-icon {
  width: 20px;
  height: 20px;
}

.pos-notification-count {
  position: absolute;
  top: -8px;
  right: -8px;
  background: var(--pos-danger-color);
  color: white;
  border-radius: 10px;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 600;
  border: 2px solid var(--pos-header-bg);
}

.pos-notification-menu {
  position: absolute;
  top: 100%;
  right: 0;
  width: 360px;
  max-height: 480px;
  background: var(--pos-dropdown-bg);
  border: 2px solid var(--pos-border-color);
  border-radius: 16px;
  box-shadow: var(--pos-shadow-xl);
  z-index: 1100;
  margin-top: 8px;
  overflow: hidden;
}

.pos-notification-header {
  padding: 16px 20px;
  background: var(--pos-header-section-bg);
  border-bottom: 1px solid var(--pos-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pos-notification-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--pos-text-primary);
  margin: 0;
}

.pos-notification-mark-all {
  background: none;
  border: none;
  color: var(--pos-primary-color);
  font-size: 12px;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: background-color 0.15s ease;
}

.pos-notification-mark-all:hover {
  background: var(--pos-hover-bg);
}

.pos-notification-list {
  max-height: 320px;
  overflow-y: auto;
}

.pos-notification-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--pos-text-tertiary);
}

.pos-empty-icon {
  font-size: 32px;
  margin-bottom: 8px;
  display: block;
}

.pos-empty-text {
  font-size: 14px;
  margin: 0;
}

.pos-notification-item {
  padding: 16px 20px;
  border-bottom: 1px solid var(--pos-border-light);
  cursor: pointer;
  transition: background-color 0.15s ease;
  position: relative;
}

.pos-notification-item:hover {
  background: var(--pos-hover-bg);
}

.pos-notification-item:last-child {
  border-bottom: none;
}

.pos-notification-unread {
  background: var(--pos-selected-bg);
}

.pos-notification-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pos-notification-header-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pos-notification-type-icon {
  font-size: 16px;
}

.pos-notification-item-title {
  font-weight: 600;
  font-size: 14px;
  color: var(--pos-text-primary);
  flex: 1;
}

.pos-notification-time {
  font-size: 12px;
  color: var(--pos-text-tertiary);
}

.pos-notification-message {
  font-size: 13px;
  color: var(--pos-text-secondary);
  margin: 0;
  line-height: 1.4;
}

.pos-notification-unread-indicator {
  position: absolute;
  top: 16px;
  right: 20px;
  width: 8px;
  height: 8px;
  background: var(--pos-primary-color);
  border-radius: 50%;
}

.pos-notification-footer {
  padding: 12px 20px;
  background: var(--pos-header-section-bg);
  border-top: 1px solid var(--pos-border-light);
  text-align: center;
}

.pos-notification-view-all {
  background: none;
  border: none;
  color: var(--pos-primary-color);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  padding: 8px 16px;
  border-radius: 8px;
  transition: background-color 0.15s ease;
}

.pos-notification-view-all:hover {
  background: var(--pos-hover-bg);
}

/* ===========================
   CONNECTION STATUS
   =========================== */

.pos-connection-status {
  position: relative;
}

.pos-connection-button {
  @extend .pos-header-action;
  min-width: 100px;
}

.pos-status-connected {
  background: var(--pos-success-light);
  color: var(--pos-success-color);
}

.pos-status-slow {
  background: var(--pos-warning-light);
  color: var(--pos-warning-color);
}

.pos-status-disconnected {
  background: var(--pos-danger-light);
  color: var(--pos-danger-color);
}

.pos-status-reconnecting {
  background: var(--pos-info-light);
  color: var(--pos-info-color);
}

.pos-status-unknown {
  background: var(--pos-button-bg);
  color: var(--pos-text-secondary);
}

.pos-connection-icon {
  font-size: 16px;
}

.pos-connection-text {
  font-size: 13px;
  font-weight: 500;
}

.pos-connection-ping {
  font-size: 11px;
  opacity: 0.8;
}

.pos-connection-details {
  position: absolute;
  top: 100%;
  right: 0;
  width: 300px;
  background: var(--pos-dropdown-bg);
  border: 2px solid var(--pos-border-color);
  border-radius: 16px;
  box-shadow: var(--pos-shadow-xl);
  z-index: 1100;
  margin-top: 8px;
  overflow: hidden;
}

.pos-connection-header {
  padding: 16px 20px;
  background: var(--pos-header-section-bg);
  border-bottom: 1px solid var(--pos-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.pos-connection-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--pos-text-primary);
  margin: 0;
}

.pos-connection-close {
  background: none;
  border: none;
  color: var(--pos-text-secondary);
  font-size: 16px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.15s ease;
}

.pos-connection-close:hover {
  background: var(--pos-hover-bg);
}

.pos-connection-info {
  padding: 16px 20px;
}

.pos-connection-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.pos-connection-row:last-child {
  margin-bottom: 0;
}

.pos-connection-label {
  font-size: 14px;
  color: var(--pos-text-secondary);
}

.pos-connection-value {
  font-size: 14px;
  font-weight: 500;
  color: var(--pos-text-primary);
}

.pos-connection-actions {
  padding: 16px 20px;
  border-top: 1px solid var(--pos-border-light);
}

.pos-connection-retry {
  width: 100%;
  height: 40px;
  background: var(--pos-primary-color);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.pos-connection-retry:hover:not(:disabled) {
  background: var(--pos-primary-hover);
}

.pos-connection-retry:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.pos-connection-tips {
  padding: 16px 20px;
  background: var(--pos-info-bg);
  border-top: 1px solid var(--pos-border-light);
}

.pos-tips-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--pos-info-text);
  margin: 0 0 8px 0;
}

.pos-tips-list {
  margin: 0;
  padding-left: 16px;
  color: var(--pos-info-text);
}

.pos-tips-list li {
  font-size: 13px;
  margin-bottom: 4px;
}

/* ===========================
   TABLE STATUS CLASSES
   =========================== */

.pos-table-vacant {
  background: var(--pos-table-vacant-bg);
  border-color: var(--pos-table-vacant-border);
  color: var(--pos-table-vacant-text);
}

.pos-table-occupied {
  background: var(--pos-table-occupied-bg);
  border-color: var(--pos-table-occupied-border);
  color: var(--pos-table-occupied-text);
}

.pos-table-paid {
  background: var(--pos-table-paid-bg);
  border-color: var(--pos-table-paid-border);
  color: var(--pos-table-paid-text);
}

.pos-table-selected {
  background: var(--pos-table-selected-bg);
  border-color: var(--pos-table-selected-border);
  color: var(--pos-table-selected-text);
}

/* ===========================
   HIDE DEVELOPMENT PANELS
   =========================== */

/* Hide Language Test Panels completely - these are development components */
.language-test-panel,
[data-testid="language-test"],
[data-testid="language-debug"] {
  display: none !important;
}

/* Hide by component class names */
.fixed.bottom-4.right-4.z-50 {
  display: none !important;
}

/* Hide any element containing "Language Test Panel" or "Language Debug Panel" */
*:has(h3:contains("Language Test Panel")),
*:has(h3:contains("Language Debug Panel")) {
  display: none !important;
}

/* ===========================
   TABLE CARD STYLES - CROSS-BROWSER COMPATIBLE
   =========================== */

/* Base table card styles with smooth transitions */
.table-card-vacant,
.table-card-occupied,
.table-card-paid,
.table-card-selected,
.table-card-reserved,
.table-card-cleaning {
  transition: var(--pos-transition-colors, color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out) !important;
}

/* Table status classes using CSS variables with high specificity for cross-browser compatibility */
.table-card-vacant,
.table-card-vacant.table-card-vacant {
  /* Fallback colors for browser compatibility */
  background-color: #f0fdf4 !important; /* Light mode fallback */
  border-color: #bbf7d0 !important;
  color: #166534 !important;

  /* CSS variables with fallbacks */
  background-color: var(--pos-table-vacant-bg, #f0fdf4) !important;
  border-color: var(--pos-table-vacant-border, #bbf7d0) !important;
  color: var(--pos-table-vacant-text, #166534) !important;
}

/* Dark mode specific overrides for Chrome/Brave compatibility */
.dark .table-card-vacant,
[data-theme="dark"] .table-card-vacant,
html.dark .table-card-vacant,
:root.dark .table-card-vacant {
  background-color: #34d399 !important; /* Emerald-500 - Lighter, more readable */
  border-color: #6ee7b7 !important;     /* Emerald-300 - Bright */
  color: #f0fdf4 !important;            /* Green-50 - Very bright */
}

  .table-card-occupied,
  .table-card-occupied.table-card-occupied {
    /* Fallback colors for browser compatibility */
    background-color: #eff6ff !important; /* Light mode fallback - Blue */
    border-color: #3b82f6 !important;     /* Blue-500 */
    color: #2563eb !important;            /* Blue-600 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-occupied-bg, #eff6ff) !important;
    border-color: var(--pos-table-occupied-border, #3b82f6) !important;
    color: var(--pos-table-occupied-text, #2563eb) !important;
  }

  /* Dark mode specific overrides for Chrome/Brave compatibility */
  .dark .table-card-occupied,
  [data-theme="dark"] .table-card-occupied,
  html.dark .table-card-occupied,
  :root.dark .table-card-occupied {
    background-color: #60a5fa !important; /* Blue-400 - Much lighter, more readable */
    border-color: #93c5fd !important;     /* Blue-300 - Bright */
    color: #1e3a8a !important;            /* Blue-900 - Dark text for contrast */
  }

  .table-card-paid,
  .table-card-paid.table-card-paid {
    /* Fallback colors for browser compatibility - Blue for "Waiting to Close" */
    background-color: #dbeafe !important; /* Light mode fallback - Blue-100 */
    border-color: #2563eb !important;     /* Blue-600 */
    color: #1e40af !important;            /* Blue-700 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-paid-bg, #dbeafe) !important;
    border-color: var(--pos-table-paid-border, #2563eb) !important;
    color: var(--pos-table-paid-text, #1e40af) !important;
  }

  /* Dark mode specific overrides for Chrome/Brave compatibility */
  .dark .table-card-paid,
  [data-theme="dark"] .table-card-paid,
  html.dark .table-card-paid,
  :root.dark .table-card-paid {
    background-color: #3b82f6 !important; /* Blue-500 - Much lighter, readable */
    border-color: #93c5fd !important;     /* Blue-300 - Bright */
    color: #1e3a8a !important;            /* Blue-900 - Dark text for contrast */
  }

  .table-card-selected,
  .table-card-selected.table-card-selected {
    /* Fallback colors for browser compatibility */
    background-color: #f0f9ff !important; /* Light mode fallback - Sky */
    border-color: #0ea5e9 !important;     /* Sky-500 */
    color: #0284c7 !important;            /* Sky-600 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-selected-bg, #f0f9ff) !important;
    border-color: var(--pos-table-selected-border, #0ea5e9) !important;
    color: var(--pos-table-selected-text, #0284c7) !important;
  }

  /* Dark mode specific overrides for Chrome/Brave compatibility */
  .dark .table-card-selected,
  [data-theme="dark"] .table-card-selected,
  html.dark .table-card-selected,
  :root.dark .table-card-selected {
    background-color: #3690c4 !important; /* Much lighter sky */
    border-color: #38bdf8 !important;     /* Sky-400 - Bright */
    color: #e0f2fe !important;            /* Sky-100 - Very bright */
  }

  .table-card-reserved,
  .table-card-reserved.table-card-reserved {
    /* Fallback colors for browser compatibility */
    background-color: #faf5ff !important; /* Light mode fallback - Purple */
    border-color: #a855f7 !important;     /* Purple-500 */
    color: #9333ea !important;            /* Purple-600 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-reserved-bg, #faf5ff) !important;
    border-color: var(--pos-table-reserved-border, #a855f7) !important;
    color: var(--pos-table-reserved-text, #9333ea) !important;
  }

  /* Dark mode specific overrides for Chrome/Brave compatibility */
  .dark .table-card-reserved,
  [data-theme="dark"] .table-card-reserved,
  html.dark .table-card-reserved,
  :root.dark .table-card-reserved {
    background-color: #a78bfa !important; /* Violet-400 - Lighter, more readable */
    border-color: #c4b5fd !important;     /* Violet-300 - Bright */
    color: #4c1d95 !important;            /* Violet-900 - Dark text for contrast */
  }

  .table-card-cleaning,
  .table-card-cleaning.table-card-cleaning {
    /* Fallback colors for browser compatibility */
    background-color: #f8fafc !important; /* Light mode fallback - Slate */
    border-color: #94a3b8 !important;     /* Slate-400 */
    color: #334155 !important;            /* Slate-700 */

    /* CSS variables with fallbacks */
    background-color: var(--pos-table-cleaning-bg, #f8fafc) !important;
    border-color: var(--pos-table-cleaning-border, #94a3b8) !important;
    color: var(--pos-table-cleaning-text, #334155) !important;
  }

  /* Dark mode specific overrides for Chrome/Brave compatibility */
  .dark .table-card-cleaning,
  [data-theme="dark"] .table-card-cleaning,
  html.dark .table-card-cleaning,
  :root.dark .table-card-cleaning {
    background-color: #94a3b8 !important; /* Slate-400 - Lighter, more readable */
    border-color: #cbd5e1 !important;     /* Slate-300 - Bright */
    color: #1e293b !important;            /* Slate-800 - Dark text for contrast */
  }

/* ===========================
   SECTION NAVIGATION STYLES
   =========================== */

/* Section navigation buttons - improved dark mode visibility */
.section-nav-button {
  background-color: var(--pos-button-bg);
  color: var(--pos-text-secondary);
  border: 1px solid var(--pos-border-color);
  transition: all 0.2s ease;
}

.section-nav-button:hover {
  background-color: var(--pos-button-hover);
  color: var(--pos-text-primary);
  border-color: var(--pos-border-strong);
}

.section-nav-button.active {
  background-color: var(--pos-selected-bg);
  color: var(--pos-text-primary);
  border-color: var(--pos-primary-color);
  font-weight: 600;
}

/* ===========================
   GLOBAL THEME TRANSITIONS
   =========================== */

/* Smooth theme transitions for all elements */
*,
*::before,
*::after {
  transition: var(--pos-transition-colors, color 0.25s ease-out, background-color 0.25s ease-out, border-color 0.25s ease-out);
}

/* Disable transitions during theme switching to prevent flicker */
.theme-switching *,
.theme-switching *::before,
.theme-switching *::after {
  transition: none !important;
}

/* ===========================
   UTILITY CLASSES
   =========================== */

.pos-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pos-no-scroll {
  overflow: hidden;
}

.pos-fade-in {
  animation: possFadeIn 0.2s ease-out;
}

@keyframes possFadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* POS Theme CSS - Light/Dark Theme Support using shadcn/ui conventions */

/* POS specific touch targets for Sunmi D3 */
.pos-touch-target {
    min-height: 56px;
    min-width: 56px
}

.pos-touch-target-large {
    min-height: 64px;
    min-width: 64px
}

/* POS specific utility classes */
.pos-grid-layout {
    display: grid;
    height: 100%;
    flex: 1 1 0%;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1rem;
    overflow: hidden
}
@media (min-width: 768px) {
    .pos-grid-layout {
        grid-template-columns: 2fr 1fr
    }
}

/* POS specific component styles */
.pos-header {
    border-bottom-width: 1px;
    border-color: hsl(var(--border));
    background-color: hsl(var(--background))
}

.pos-sidebar {
    border-left-width: 1px;
    border-color: hsl(var(--border));
    background-color: hsl(var(--muted) / 0.3)
}

.pos-card {
    border-radius: var(--radius);
    border-width: 1px;
    border-color: hsl(var(--border));
    background-color: hsl(var(--card));
    color: hsl(var(--card-foreground));
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.pos-button-primary {
    height: 3.5rem;
    background-color: hsl(var(--primary));
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 500;
    color: hsl(var(--primary-foreground))
}

.pos-button-primary:hover {
    background-color: hsl(var(--primary) / 0.9)
}

.pos-button-secondary {
    height: 3.5rem;
    background-color: hsl(var(--secondary));
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 500;
    color: hsl(var(--secondary-foreground))
}

.pos-button-secondary:hover {
    background-color: hsl(var(--secondary) / 0.8)
}

/* Status indicators */
.pos-status-success {
    --tw-bg-opacity: 1;
    background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(22 101 52 / var(--tw-text-opacity, 1))
}
.pos-status-success:is([data-theme="dark"] *) {
    background-color: rgb(20 83 45 / 0.2);
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1))
}

.pos-status-warning {
    --tw-bg-opacity: 1;
    background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(133 77 14 / var(--tw-text-opacity, 1))
}

.pos-status-warning:is([data-theme="dark"] *) {
    background-color: rgb(113 63 18 / 0.2);
    --tw-text-opacity: 1;
    color: rgb(250 204 21 / var(--tw-text-opacity, 1))
}

.pos-status-error {
    --tw-bg-opacity: 1;
    background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(153 27 27 / var(--tw-text-opacity, 1))
}

.pos-status-error:is([data-theme="dark"] *) {
    background-color: rgb(127 29 29 / 0.2);
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1))
}

.pos-status-info {
    --tw-bg-opacity: 1;
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(30 64 175 / var(--tw-text-opacity, 1))
}

.pos-status-info:is([data-theme="dark"] *) {
    background-color: rgb(30 58 138 / 0.2);
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1))
}