@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');/* ═══════════════════════════════════════════════════════════
   EL ROSAL — SISTEMA DE DISEÑO ELEGANTE
   Animaciones CSS puras, sin librerías extra
   ═══════════════════════════════════════════════════════════ */

/* ── Fade + slide up al montar ── */
@keyframes fadeSlideUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.94); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes slideInRight {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
@keyframes pulse-ring {
  0%   { box-shadow: 0 0 0 0 rgba(124,58,237,0.35); }
  70%  { box-shadow: 0 0 0 10px rgba(124,58,237,0); }
  100% { box-shadow: 0 0 0 0 rgba(124,58,237,0); }
}
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-6px); }
}
@keyframes gradientShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes countUp {
  from { opacity: 0; transform: translateY(8px) scale(0.9); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes rowIn {
  from { opacity: 0; transform: translateX(-10px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes spinSlow {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ── Clases de animación ── */
.anim-fade-up        { animation: fadeSlideUp 0.45s cubic-bezier(.34,1.56,.64,1) both; }
.anim-fade-in        { animation: fadeIn 0.35s ease both; }
.anim-scale-in       { animation: scaleIn 0.35s cubic-bezier(.34,1.56,.64,1) both; }
.anim-slide-right    { animation: slideInRight 0.4s cubic-bezier(.34,1.56,.64,1) both; }
.anim-count          { animation: countUp 0.5s cubic-bezier(.34,1.56,.64,1) both; }
.anim-row            { animation: rowIn 0.3s ease both; }
.anim-float          { animation: float 3s ease-in-out infinite; }
.anim-pulse-ring     { animation: pulse-ring 2s ease-in-out infinite; }

/* Delays escalonados */
.delay-0   { animation-delay: 0ms; }
.delay-50  { animation-delay: 50ms; }
.delay-100 { animation-delay: 100ms; }
.delay-150 { animation-delay: 150ms; }
.delay-200 { animation-delay: 200ms; }
.delay-250 { animation-delay: 250ms; }
.delay-300 { animation-delay: 300ms; }
.delay-350 { animation-delay: 350ms; }
.delay-400 { animation-delay: 400ms; }
.delay-500 { animation-delay: 500ms; }

/* ── Skeleton shimmer ── */
.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 400px 100%;
  animation: shimmer 1.4s ease-in-out infinite;
  border-radius: 8px;
}

/* ── Tarjeta elegante ── */
.elegant-card {
  background: white;
  border-radius: 20px;
  border: 1px solid rgba(124,58,237,0.08);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04), 0 0 0 1px rgba(255,255,255,0.8) inset;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.elegant-card:hover {
  box-shadow: 0 8px 32px rgba(124,58,237,0.12), 0 2px 8px rgba(0,0,0,0.06);
  transform: translateY(-2px);
}

/* ── Botón primario ── */
.btn-primary {
  background: linear-gradient(135deg, #7c3aed, #6366f1);
  color: white;
  border-radius: 999px;
  padding: 8px 20px;
  font-size: 13px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 14px rgba(124,58,237,0.35);
}
.btn-primary:hover  { opacity: 0.92; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(124,58,237,0.45); }
.btn-primary:active { transform: scale(0.97); }

/* ── Botón secundario ── */
.btn-secondary {
  background: white;
  color: #6b7280;
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 500;
  border: 1px solid #e5e7eb;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
}
.btn-secondary:hover  { background: #f9fafb; border-color: #d1d5db; transform: translateY(-1px); }
.btn-secondary:active { transform: scale(0.97); }

/* ── Input elegante ── */
.elegant-input {
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  padding: 9px 14px;
  font-size: 13px;
  outline: none;
  background: white;
  color: #1e1b4b;
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
}
.elegant-input:focus {
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.12);
}

/* ── Select elegante ── */
.elegant-select {
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  padding: 9px 14px;
  font-size: 13px;
  outline: none;
  background: white;
  color: #374151;
  transition: border-color 0.2s, box-shadow 0.2s;
  cursor: pointer;
}
.elegant-select:focus {
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.12);
}

/* ── Badge de estado ── */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* ── Fila de tabla ── */
.table-row-hover {
  transition: background 0.15s ease;
}
.table-row-hover:hover {
  background: rgba(124,58,237,0.03);
}

/* ── Header de módulo ── */
.module-header-bg {
  background: linear-gradient(135deg, rgba(124,58,237,0.06) 0%, rgba(99,102,241,0.04) 50%, transparent 100%);
  border-bottom: 1px solid rgba(124,58,237,0.08);
}

/* ── Gradiente animado para KPI ── */
.kpi-gradient-animated {
  background-size: 200% 200%;
  animation: gradientShift 4s ease infinite;
}

/* ── Glow suave en hover ── */
.glow-hover {
  transition: box-shadow 0.3s ease;
}
.glow-hover:hover {
  box-shadow: 0 0 20px rgba(124,58,237,0.2);
}

/* ── Modal backdrop ── */
.modal-backdrop {
  animation: fadeIn 0.2s ease both;
}
.modal-content {
  animation: scaleIn 0.3s cubic-bezier(.34,1.56,.64,1) both;
}

/* ── Línea decorativa ── */
.accent-line {
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #7c3aed, #6366f1, #a78bfa);
  background-size: 200% 100%;
  animation: gradientShift 3s ease infinite;
}

/* ── Icono con glow ── */
.icon-glow {
  filter: drop-shadow(0 0 6px rgba(124,58,237,0.4));
}

/* ── Punto con glow (dot-glow) ── */
.dot-glow {
  box-shadow: 0 0 8px rgba(167,139,250,0.9);
  animation: dotPulseGlow 2s ease-in-out infinite;
}
@keyframes dotPulseGlow { 0%,100%{opacity:1} 50%{opacity:.4} }

/* ── Página base ── */
.module-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #f8f7ff 0%, #f0f2f7 50%, #ede9fe 100%);
  padding: 24px;
}

@media (max-width: 640px) {
  .module-page { padding: 16px; }
}

/* ═══════════════════════════════════════════════════════════
   🌙 DARK MODE GLOBAL
   Se activa con la clase .dark-mode en <html> (Layout).
   Mapea los colores hardcodeados de TODAS las páginas.
   ═══════════════════════════════════════════════════════════ */

html.dark-mode {
  color-scheme: dark;
  background-color: #050505;
}
html.dark-mode body {
  background-color: #050505;
}

/* ── Redefinir tokens de shadcn/ui para modo oscuro ──
   Componentes como Dialog, DialogFooter, Button, Select usan
   bg-background/border-border/text-foreground/bg-muted que dependen
   de estas variables. Sin esto, quedan claros en oscuro. */
html.dark-mode {
  --background: 0 0% 3%;
  --foreground: 0 0% 92%;
  --card: 0 0% 8%;
  --card-foreground: 0 0% 92%;
  --popover: 0 0% 8%;
  --popover-foreground: 0 0% 92%;
  --primary: 0 0% 90%;
  --primary-foreground: 0 0% 5%;
  --secondary: 0 0% 15%;
  --secondary-foreground: 0 0% 92%;
  --muted: 0 0% 13%;
  --muted-foreground: 0 0% 65%;
  --accent: 0 0% 16%;
  --accent-foreground: 0 0% 92%;
  --destructive: 0 72% 55%;
  --destructive-foreground: 0 0% 100%;
  --border: 0 0% 20%;
  --input: 0 0% 20%;
  --ring: 0 0% 60%;
}

/* ── Fondo base de páginas ── */
html.dark-mode .module-page {
  background: #050505;
  color: #e5e5e5;
}

/* ── Tarjetas ── */
html.dark-mode .elegant-card {
  background: #0d0d0d;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 2px 12px rgba(0,0,0,0.5);
}
html.dark-mode .elegant-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.6);
}

/* ── Header de módulo ── */
html.dark-mode .module-header-bg {
  background: #0d0d0d;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

/* ── Inputs / selects ── */
html.dark-mode .elegant-input,
html.dark-mode .elegant-select {
  background: #111111;
  border-color: rgba(255,255,255,0.12);
  color: #e5e5e5;
}
html.dark-mode .elegant-input::-moz-placeholder { color: #737373; }
html.dark-mode .elegant-input::placeholder { color: #737373; }
html.dark-mode .elegant-input:focus,
html.dark-mode .elegant-select:focus {
  border-color: #a3a3a3;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.1);
}

/* ── Botón secundario ── */
html.dark-mode .btn-secondary {
  background: #111111;
  color: #e5e5e5;
  border-color: rgba(255,255,255,0.15);
}
html.dark-mode .btn-secondary:hover {
  background: #1a1a1a;
  border-color: rgba(255,255,255,0.25);
}

/* ── Fila de tabla ── */
html.dark-mode .table-row-hover:hover {
  background: rgba(255,255,255,0.05);
}

/* ── Skeleton ── */
html.dark-mode .skeleton {
  background: linear-gradient(90deg, #111111 25%, #1a1a1a 50%, #111111 75%);
  background-size: 400px 100%;
}

/* ═══════════════════════════════════════════════════════════
   Mapeo de utilidades Tailwind hardcodeadas
   Solo aplica dentro de <main> (contenido de página), NO al sidebar
   (el sidebar ya maneja su propio dark mode con .is-dark).
   ═══════════════════════════════════════════════════════════ */

/* Fondos */
html.dark-mode main .bg-white { background-color: #0d0d0d !important; }
html.dark-mode main .bg-gray-50 { background-color: #111111 !important; }
html.dark-mode main .bg-gray-100 { background-color: #1a1a1a !important; }
html.dark-mode main .bg-gray-200 { background-color: #242424 !important; }
html.dark-mode main .bg-gray-900 { background-color: #020202 !important; }
html.dark-mode main .bg-slate-50 { background-color: #111111 !important; }
html.dark-mode main .bg-slate-100 { background-color: #1a1a1a !important; }

/* Texto */
html.dark-mode main .text-gray-900 { color: #f5f5f5 !important; }
html.dark-mode main .text-gray-800 { color: #e5e5e5 !important; }
html.dark-mode main .text-gray-700 { color: #d4d4d4 !important; }
html.dark-mode main .text-gray-600 { color: #b5b5b5 !important; }
html.dark-mode main .text-gray-500 { color: #9a9a9a !important; }
html.dark-mode main .text-gray-400 { color: #808080 !important; }
html.dark-mode main .text-slate-900 { color: #f5f5f5 !important; }
html.dark-mode main .text-slate-800 { color: #e5e5e5 !important; }
html.dark-mode main .text-slate-700 { color: #d4d4d4 !important; }
html.dark-mode main .text-slate-600 { color: #b5b5b5 !important; }
html.dark-mode main .text-slate-500 { color: #9a9a9a !important; }
html.dark-mode main .text-black { color: #f5f5f5 !important; }

/* Bordes */
html.dark-mode main .border-gray-100 { border-color: rgba(255,255,255,0.08) !important; }
html.dark-mode main .border-gray-200 { border-color: rgba(255,255,255,0.12) !important; }
html.dark-mode main .border-gray-300 { border-color: rgba(255,255,255,0.18) !important; }
html.dark-mode main .border-slate-100 { border-color: rgba(255,255,255,0.08) !important; }
html.dark-mode main .border-slate-200 { border-color: rgba(255,255,255,0.12) !important; }

/* Hover states */
html.dark-mode main .hover\:bg-gray-50:hover { background-color: #1a1a1a !important; }
html.dark-mode main .hover\:bg-gray-100:hover { background-color: #242424 !important; }
html.dark-mode main .hover\:bg-white:hover { background-color: #0d0d0d !important; }

/* Divisores */
html.dark-mode main .divide-gray-100 > * + * { border-color: rgba(255,255,255,0.08) !important; }
html.dark-mode main .divide-gray-200 > * + * { border-color: rgba(255,255,255,0.12) !important; }

/* Shadows más suaves en dark */
html.dark-mode main .shadow-sm,
html.dark-mode main .shadow,
html.dark-mode main .shadow-md {
  box-shadow: 0 2px 12px rgba(0,0,0,0.5) !important;
}

/* Inputs / selects / textarea nativos dentro del contenido */
html.dark-mode main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
html.dark-mode main select,
html.dark-mode main textarea {
  background-color: #111111;
  color: #e5e5e5;
  border-color: rgba(255,255,255,0.12);
}
html.dark-mode main input::-moz-placeholder, html.dark-mode main textarea::-moz-placeholder { color: #6b6b6b; }
html.dark-mode main input::placeholder,
html.dark-mode main textarea::placeholder { color: #6b6b6b; }

/* Contenedores blancos vía inline style: usar clase utilitaria para overrides puntuales */
html.dark-mode main .dark-surface { background-color: #0d0d0d !important; color: #e5e5e5 !important; }

/* ═══════════════════════════════════════════════════════════
   🔆 REFUERZO DE LEGIBILIDAD DE TEXTO EN DARK MODE
   Muchos textos usan violeta/indigo oscuro o no tienen clase de
   color y heredan un tono oscuro que es casi invisible.
   ═══════════════════════════════════════════════════════════ */

/* Color de texto base heredado en todo el contenido */
html.dark-mode main {
  color: #e5e5e5;
}

/* Headings y textos base sin clase de color explícita → claros */
html.dark-mode main h1,
html.dark-mode main h2,
html.dark-mode main h3,
html.dark-mode main h4,
html.dark-mode main h5,
html.dark-mode main h6,
html.dark-mode main p,
html.dark-mode main span,
html.dark-mode main label,
html.dark-mode main li,
html.dark-mode main td,
html.dark-mode main th,
html.dark-mode main dt,
html.dark-mode main dd,
html.dark-mode main strong,
html.dark-mode main b {
  color: inherit;
}

/* Familias de grises adicionales (neutral/zinc/stone) */
html.dark-mode main .text-neutral-900,
html.dark-mode main .text-zinc-900,
html.dark-mode main .text-stone-900 { color: #f5f5f5 !important; }
html.dark-mode main .text-neutral-800,
html.dark-mode main .text-zinc-800,
html.dark-mode main .text-stone-800 { color: #e5e5e5 !important; }
html.dark-mode main .text-neutral-700,
html.dark-mode main .text-zinc-700,
html.dark-mode main .text-stone-700 { color: #d4d4d4 !important; }
html.dark-mode main .text-neutral-600,
html.dark-mode main .text-zinc-600,
html.dark-mode main .text-stone-600 { color: #b5b5b5 !important; }
html.dark-mode main .text-neutral-500,
html.dark-mode main .text-zinc-500,
html.dark-mode main .text-stone-500 { color: #9a9a9a !important; }
html.dark-mode main .text-neutral-400,
html.dark-mode main .text-zinc-400,
html.dark-mode main .text-stone-400 { color: #737373 !important; }

/* Violeta / indigo oscuro (títulos de marca) → gris claro neutro, sin tinte violeta */
html.dark-mode main .text-violet-900,
html.dark-mode main .text-violet-800,
html.dark-mode main .text-indigo-900,
html.dark-mode main .text-indigo-800,
html.dark-mode main .text-purple-900,
html.dark-mode main .text-purple-800 { color: #d4d4d4 !important; }
html.dark-mode main .text-violet-700,
html.dark-mode main .text-indigo-700,
html.dark-mode main .text-purple-700 { color: #c2c2c2 !important; }
html.dark-mode main .text-violet-600,
html.dark-mode main .text-indigo-600,
html.dark-mode main .text-purple-600 { color: #b0b0b0 !important; }

/* Overrides de estilos inline con color de texto oscuro → aclarar.
   Cubre violetas/indigos oscuros, grises neutros y azules oscuros usados
   como texto en todos los módulos (Asegurados, Funeraria, Usuarios, etc.) */
html.dark-mode main [style*="#1e1b4b"],
html.dark-mode main [style*="#1E1B4B"],
html.dark-mode main [style*="#312e81"],
html.dark-mode main [style*="#4c1d95"],
html.dark-mode main [style*="#4338ca"],
html.dark-mode main [style*="#111827"],
html.dark-mode main [style*="#1f2937"],
html.dark-mode main [style*="#374151"],
html.dark-mode main [style*="#4b5563"],
html.dark-mode main [style*="rgb(30, 27, 75)"] {
  color: #e5e5e5 !important;
}

/* Grises medios inline usados como texto secundario → tono legible medio */
html.dark-mode main [style*="#6b7280"],
html.dark-mode main [style*="#6B7280"],
html.dark-mode main [style*="#9ca3af"],
html.dark-mode main [style*="#9CA3AF"] {
  color: #a3a3a3 !important;
}
/* Grises muy claros inline (guiones/placeholder) → tono tenue visible */
html.dark-mode main [style*="#d1d5db"],
html.dark-mode main [style*="#D1D5DB"] {
  color: #737373 !important;
}

/* NOTA: los [style*] anteriores también matchean cuando el color aparece
   en 'background'/'border'. Los badges de colores (fondos pastel con texto
   oscuro) se preservan re-declarando su color de texto abajo cuando su
   fondo también es claro, para no romper contraste. */

/* Fondos blancos vía inline style */
html.dark-mode main [style*="background: white"],
html.dark-mode main [style*="background:#fff"],
html.dark-mode main [style*="background: #fff"],
html.dark-mode main [style*="background-color: white"],
html.dark-mode main [style*="background-color:#fff"],
html.dark-mode main [style*="#ffffff"],
html.dark-mode main [style*="#FFFFFF"] {
  background-color: #0d0d0d !important;
}

/* Modales / dialog (radix / shadcn) que quedan blancos */
html.dark-mode [role="dialog"] {
  background-color: #0d0d0d !important;
  color: #e5e5e5 !important;
}
html.dark-mode [role="dialog"] .text-gray-900,
html.dark-mode [role="dialog"] .text-gray-800,
html.dark-mode [role="dialog"] .text-gray-700 { color: #e5e5e5 !important; }
html.dark-mode [role="dialog"] .bg-white { background-color: #0d0d0d !important; }

/* ── Badges y textos de color dentro de modales (ej: Ver Servicio) ── */
html.dark-mode [role="dialog"] .text-gray-600,
html.dark-mode [role="dialog"] .text-gray-500,
html.dark-mode [role="dialog"] .text-muted-foreground { color: #a3a3a3 !important; }
html.dark-mode [role="dialog"] .text-foreground { color: #f5f5f5 !important; }

/* Fondos pastel de badges → translúcidos oscuros */
html.dark-mode [role="dialog"] .bg-yellow-100,
html.dark-mode [role="dialog"] .bg-amber-100 { background-color: rgba(234,179,8,0.16) !important; }
html.dark-mode [role="dialog"] .bg-green-100,
html.dark-mode [role="dialog"] .bg-emerald-50,
html.dark-mode [role="dialog"] .bg-emerald-100 { background-color: rgba(16,185,129,0.16) !important; }
html.dark-mode [role="dialog"] .bg-red-100,
html.dark-mode [role="dialog"] .bg-rose-100 { background-color: rgba(239,68,68,0.16) !important; }
html.dark-mode [role="dialog"] .bg-blue-100 { background-color: rgba(59,130,246,0.16) !important; }
html.dark-mode [role="dialog"] .bg-orange-100 { background-color: rgba(249,115,22,0.16) !important; }
html.dark-mode [role="dialog"] .bg-purple-100 { background-color: rgba(255,255,255,0.10) !important; }
html.dark-mode [role="dialog"] .bg-gray-100 { background-color: rgba(255,255,255,0.08) !important; }
html.dark-mode [role="dialog"] .bg-amber-50 { background-color: rgba(234,179,8,0.14) !important; }

/* Bordes pastel de badges */
html.dark-mode [role="dialog"] .border-yellow-200,
html.dark-mode [role="dialog"] .border-amber-200 { border-color: rgba(234,179,8,0.30) !important; }
html.dark-mode [role="dialog"] .border-green-200,
html.dark-mode [role="dialog"] .border-emerald-200 { border-color: rgba(16,185,129,0.30) !important; }
html.dark-mode [role="dialog"] .border-red-200,
html.dark-mode [role="dialog"] .border-rose-200 { border-color: rgba(239,68,68,0.30) !important; }
html.dark-mode [role="dialog"] .border-blue-200 { border-color: rgba(59,130,246,0.30) !important; }
html.dark-mode [role="dialog"] .border-orange-200 { border-color: rgba(249,115,22,0.30) !important; }
html.dark-mode [role="dialog"] .border-purple-200 { border-color: rgba(255,255,255,0.20) !important; }

/* Texto de color dentro de badges → tonos vivos legibles */
html.dark-mode [role="dialog"] .text-yellow-800,
html.dark-mode [role="dialog"] .text-yellow-700,
html.dark-mode [role="dialog"] .text-amber-800,
html.dark-mode [role="dialog"] .text-amber-700,
html.dark-mode [role="dialog"] .text-amber-600 { color: #fcd34d !important; }
html.dark-mode [role="dialog"] .text-green-800,
html.dark-mode [role="dialog"] .text-green-700,
html.dark-mode [role="dialog"] .text-emerald-800,
html.dark-mode [role="dialog"] .text-emerald-700,
html.dark-mode [role="dialog"] .text-emerald-600 { color: #6ee7b7 !important; }
html.dark-mode [role="dialog"] .text-red-800,
html.dark-mode [role="dialog"] .text-red-700,
html.dark-mode [role="dialog"] .text-red-600 { color: #fca5a5 !important; }
html.dark-mode [role="dialog"] .text-orange-800,
html.dark-mode [role="dialog"] .text-orange-700,
html.dark-mode [role="dialog"] .text-orange-600,
html.dark-mode [role="dialog"] .text-orange-500,
html.dark-mode [role="dialog"] .text-orange-400 { color: #fdba74 !important; }
html.dark-mode [role="dialog"] .text-blue-800,
html.dark-mode [role="dialog"] .text-blue-700,
html.dark-mode [role="dialog"] .text-blue-600,
html.dark-mode [role="dialog"] .text-blue-500 { color: #93c5fd !important; }
html.dark-mode [role="dialog"] .text-purple-700,
html.dark-mode [role="dialog"] .text-purple-600 { color: #d4d4d4 !important; }
html.dark-mode [role="dialog"] .text-violet-500,
html.dark-mode [role="dialog"] .text-violet-600 { color: #d4d4d4 !important; }
html.dark-mode [role="dialog"] .text-teal-500,
html.dark-mode [role="dialog"] .text-teal-600 { color: #5eead4 !important; }
html.dark-mode [role="dialog"] .text-rose-500,
html.dark-mode [role="dialog"] .text-rose-600 { color: #fda4af !important; }

/* Superficies muted dentro de modales */
html.dark-mode [role="dialog"] .bg-muted,
html.dark-mode [role="dialog"] .bg-muted\/40,
html.dark-mode [role="dialog"] .bg-muted\/50 { background-color: rgba(255,255,255,0.06) !important; }

/* Placeholders más visibles */
html.dark-mode main input::-moz-placeholder, html.dark-mode main textarea::-moz-placeholder, html.dark-mode main .elegant-input::-moz-placeholder { color: #8a8a8a !important; }
html.dark-mode main input::placeholder,
html.dark-mode main textarea::placeholder,
html.dark-mode main .elegant-input::placeholder { color: #8a8a8a !important; }

/* Subtítulo rosa del módulo Funeraria — más suave/legible en oscuro */
html.dark-mode main .dark-mode-text-pink { color: #f9a8d4 !important; }

/* ═══════════════════════════════════════════════════════════
   🎨 KPIs / BADGES CON FONDO PASTEL CLARO EN DARK MODE
   Tarjetas y etiquetas con fondos -50/-100 y texto -700/-800
   quedan blancas con texto oscuro (invisibles) en oscuro.
   Se convierten a fondos translúcidos oscuros con texto claro.
   Aplica a Funeraria y todos los módulos.
   ═══════════════════════════════════════════════════════════ */

/* Fondos pastel claros → translúcido oscuro del mismo tinte */
html.dark-mode main .bg-yellow-50,
html.dark-mode main .bg-yellow-100,
html.dark-mode main .bg-amber-50,
html.dark-mode main .bg-amber-100 { background-color: rgba(234,179,8,0.14) !important; }
html.dark-mode main .bg-green-50,
html.dark-mode main .bg-green-100,
html.dark-mode main .bg-emerald-50,
html.dark-mode main .bg-emerald-100 { background-color: rgba(16,185,129,0.14) !important; }
html.dark-mode main .bg-red-50,
html.dark-mode main .bg-red-100,
html.dark-mode main .bg-rose-50,
html.dark-mode main .bg-rose-100 { background-color: rgba(239,68,68,0.14) !important; }
html.dark-mode main .bg-blue-50,
html.dark-mode main .bg-blue-100,
html.dark-mode main .bg-sky-50,
html.dark-mode main .bg-sky-100 { background-color: rgba(59,130,246,0.14) !important; }
html.dark-mode main .bg-purple-50,
html.dark-mode main .bg-purple-100,
html.dark-mode main .bg-violet-50,
html.dark-mode main .bg-violet-100,
html.dark-mode main .bg-indigo-50,
html.dark-mode main .bg-indigo-100 { background-color: rgba(255,255,255,0.08) !important; }
html.dark-mode main .bg-pink-50,
html.dark-mode main .bg-pink-100 { background-color: rgba(236,72,153,0.14) !important; }
html.dark-mode main .bg-orange-50,
html.dark-mode main .bg-orange-100 { background-color: rgba(249,115,22,0.14) !important; }

/* Gradientes pastel (from-*-50/to-*-100) → neutralizar a fondo oscuro card */
html.dark-mode main [class*="from-yellow-"],
html.dark-mode main [class*="from-amber-"],
html.dark-mode main [class*="from-green-"],
html.dark-mode main [class*="from-emerald-"],
html.dark-mode main [class*="from-blue-"],
html.dark-mode main [class*="from-sky-"],
html.dark-mode main [class*="from-purple-"],
html.dark-mode main [class*="from-violet-"],
html.dark-mode main [class*="from-indigo-"],
html.dark-mode main [class*="from-pink-"],
html.dark-mode main [class*="from-orange-"] {
  background-image: none !important;
}

/* Bordes pastel claros → translúcido del mismo tinte */
html.dark-mode main .border-yellow-200,
html.dark-mode main .border-amber-200 { border-color: rgba(234,179,8,0.30) !important; }
html.dark-mode main .border-green-200,
html.dark-mode main .border-emerald-200 { border-color: rgba(16,185,129,0.30) !important; }
html.dark-mode main .border-red-200,
html.dark-mode main .border-rose-200 { border-color: rgba(239,68,68,0.30) !important; }
html.dark-mode main .border-blue-200,
html.dark-mode main .border-sky-200 { border-color: rgba(59,130,246,0.30) !important; }
html.dark-mode main .border-purple-200,
html.dark-mode main .border-violet-200,
html.dark-mode main .border-indigo-200 { border-color: rgba(255,255,255,0.20) !important; }
html.dark-mode main .border-pink-200 { border-color: rgba(236,72,153,0.30) !important; }

/* Texto de color oscuro (-700/-800/-900) → aclarar al mismo tinte legible */
html.dark-mode main .text-yellow-700,
html.dark-mode main .text-yellow-800,
html.dark-mode main .text-amber-700,
html.dark-mode main .text-amber-800 { color: #fcd34d !important; }
html.dark-mode main .text-green-700,
html.dark-mode main .text-green-800,
html.dark-mode main .text-emerald-700,
html.dark-mode main .text-emerald-800 { color: #6ee7b7 !important; }
html.dark-mode main .text-red-700,
html.dark-mode main .text-red-800,
html.dark-mode main .text-rose-700 { color: #fca5a5 !important; }
html.dark-mode main .text-blue-700,
html.dark-mode main .text-blue-800,
html.dark-mode main .text-sky-700 { color: #93c5fd !important; }
html.dark-mode main .text-purple-700,
html.dark-mode main .text-purple-800,
html.dark-mode main .text-violet-700,
html.dark-mode main .text-indigo-700,
html.dark-mode main .text-indigo-800 { color: #c2c2c2 !important; }
html.dark-mode main .text-pink-700 { color: #f9a8d4 !important; }

/* Los mismos ajustes dentro de modales/dialog */
html.dark-mode [role="dialog"] .bg-red-50,
html.dark-mode [role="dialog"] .bg-red-100 { background-color: rgba(239,68,68,0.14) !important; }
html.dark-mode [role="dialog"] .bg-purple-100,
html.dark-mode [role="dialog"] .bg-blue-100,
html.dark-mode [role="dialog"] .bg-gray-100 { background-color: rgba(255,255,255,0.10) !important; }
html.dark-mode [role="dialog"] .text-red-600,
html.dark-mode [role="dialog"] .text-red-700 { color: #fca5a5 !important; }
html.dark-mode [role="dialog"] .text-purple-700 { color: #c2c2c2 !important; }
html.dark-mode [role="dialog"] .text-blue-700 { color: #93c5fd !important; }

/* ═══════════════════════════════════════════════════════════
   🌈 TEXTO DE COLORES VIVOS -600 EN DARK MODE
   Los tonos -600 usados como TEXTO (labels, badges, links) son
   algo apagados sobre fondo oscuro. Se elevan a tonos vivos -400
   para que resalten y sean legibles. Aplica a main y modales.
   (Los iconos también se benefician sin romper contraste.)
   ═══════════════════════════════════════════════════════════ */
html.dark-mode main .text-red-600,    html.dark-mode [role="dialog"] .text-red-600    { color: #f87171 !important; }
html.dark-mode main .text-rose-600,   html.dark-mode [role="dialog"] .text-rose-600   { color: #fb7185 !important; }
html.dark-mode main .text-orange-600, html.dark-mode [role="dialog"] .text-orange-600 { color: #fb923c !important; }
html.dark-mode main .text-amber-600,  html.dark-mode [role="dialog"] .text-amber-600  { color: #fbbf24 !important; }
html.dark-mode main .text-yellow-600, html.dark-mode [role="dialog"] .text-yellow-600 { color: #facc15 !important; }
html.dark-mode main .text-green-600,  html.dark-mode [role="dialog"] .text-green-600  { color: #4ade80 !important; }
html.dark-mode main .text-emerald-600,html.dark-mode [role="dialog"] .text-emerald-600{ color: #34d399 !important; }
html.dark-mode main .text-teal-600,   html.dark-mode [role="dialog"] .text-teal-600   { color: #2dd4bf !important; }
html.dark-mode main .text-cyan-600,   html.dark-mode [role="dialog"] .text-cyan-600   { color: #22d3ee !important; }
html.dark-mode main .text-blue-600,   html.dark-mode [role="dialog"] .text-blue-600   { color: #60a5fa !important; }
html.dark-mode main .text-sky-600,    html.dark-mode [role="dialog"] .text-sky-600    { color: #38bdf8 !important; }
html.dark-mode main .text-indigo-600, html.dark-mode [role="dialog"] .text-indigo-600 { color: #c2c2c2 !important; }
html.dark-mode main .text-violet-600, html.dark-mode [role="dialog"] .text-violet-600 { color: #c2c2c2 !important; }
html.dark-mode main .text-purple-600, html.dark-mode [role="dialog"] .text-purple-600 { color: #c2c2c2 !important; }
html.dark-mode main .text-pink-600,   html.dark-mode [role="dialog"] .text-pink-600   { color: #f9a8d4 !important; }

/* Tonos -400/-500 muy claros usados como texto secundario → vivos legibles */
html.dark-mode main .text-red-400,    html.dark-mode main .text-red-500    { color: #f87171 !important; }
html.dark-mode main .text-rose-400,   html.dark-mode main .text-rose-500   { color: #fb7185 !important; }
html.dark-mode main .text-orange-400, html.dark-mode main .text-orange-500 { color: #fb923c !important; }
html.dark-mode main .text-amber-400,  html.dark-mode main .text-amber-500  { color: #fbbf24 !important; }
html.dark-mode main .text-green-400,  html.dark-mode main .text-green-500  { color: #4ade80 !important; }
html.dark-mode main .text-emerald-400,html.dark-mode main .text-emerald-500{ color: #34d399 !important; }
html.dark-mode main .text-blue-400,   html.dark-mode main .text-blue-500   { color: #60a5fa !important; }
html.dark-mode main .text-sky-400,    html.dark-mode main .text-sky-500    { color: #38bdf8 !important; }
html.dark-mode main .text-indigo-400, html.dark-mode main .text-indigo-500 { color: #c2c2c2 !important; }
html.dark-mode main .text-violet-400, html.dark-mode main .text-violet-500 { color: #c2c2c2 !important; }
html.dark-mode main .text-purple-400, html.dark-mode main .text-purple-500 { color: #c2c2c2 !important; }

/* Badges/píldoras con fondo -200 y texto -700 (fallecido, etc.) */
html.dark-mode main .bg-red-200,  html.dark-mode [role="dialog"] .bg-red-200  { background-color: rgba(239,68,68,0.22) !important; }
html.dark-mode main .bg-rose-200, html.dark-mode [role="dialog"] .bg-rose-200 { background-color: rgba(244,63,94,0.22) !important; }

/* Bordes -100 muy claros usados en píldoras/badges */
html.dark-mode main .border-red-100,     html.dark-mode main .border-rose-100    { border-color: rgba(239,68,68,0.22) !important; }
html.dark-mode main .border-green-100,   html.dark-mode main .border-emerald-100 { border-color: rgba(16,185,129,0.22) !important; }
html.dark-mode main .border-amber-100,   html.dark-mode main .border-yellow-100  { border-color: rgba(234,179,8,0.22) !important; }
html.dark-mode main .border-blue-100,    html.dark-mode main .border-sky-100     { border-color: rgba(59,130,246,0.22) !important; }
html.dark-mode main .border-violet-100,  html.dark-mode main .border-indigo-100,
html.dark-mode main .border-purple-100 { border-color: rgba(255,255,255,0.15) !important; }
html.dark-mode main .border-orange-100 { border-color: rgba(249,115,22,0.22) !important; }

/* Fondos -50 con hover (bg-*-50 hover:bg-*-100) para botones de acción */
html.dark-mode main .hover\:bg-red-50:hover,    html.dark-mode main .hover\:bg-rose-50:hover    { background-color: rgba(239,68,68,0.18) !important; }
html.dark-mode main .hover\:bg-green-50:hover,  html.dark-mode main .hover\:bg-emerald-50:hover { background-color: rgba(16,185,129,0.18) !important; }
html.dark-mode main .hover\:bg-violet-50:hover, html.dark-mode main .hover\:bg-violet-100:hover,
html.dark-mode main .hover\:bg-indigo-50:hover, html.dark-mode main .hover\:bg-purple-50:hover { background-color: rgba(255,255,255,0.10) !important; }
html.dark-mode main .hover\:bg-blue-50:hover,   html.dark-mode main .hover\:bg-sky-50:hover     { background-color: rgba(59,130,246,0.18) !important; }
html.dark-mode main .hover\:bg-amber-50:hover,  html.dark-mode main .hover\:bg-yellow-50:hover  { background-color: rgba(234,179,8,0.18) !important; }

/* ═══════════════════════════════════════════════════════════
   💠 TARJETAS DE SERVICIO / ASEGURADO EN DARK MODE
   Usan fondos bg-white/60-70-40 y bordes border-white/80 que
   quedan claros y feos en oscuro. Se vuelven superficies oscuras
   translúcidas con bordes violeta suaves.
   ═══════════════════════════════════════════════════════════ */
html.dark-mode main .bg-white\/40,
html.dark-mode main .bg-white\/50,
html.dark-mode main .bg-white\/60,
html.dark-mode main .bg-white\/70,
html.dark-mode main .bg-white\/80,
html.dark-mode main .bg-white\/90 { background-color: rgba(255,255,255,0.04) !important; }
html.dark-mode main .border-white\/40,
html.dark-mode main .border-white\/50,
html.dark-mode main .border-white\/60,
html.dark-mode main .border-white\/70,
html.dark-mode main .border-white\/80 { border-color: rgba(255,255,255,0.15) !important; }

/* Barra de progreso base (bg-gray-200 dentro de tarjetas) */
html.dark-mode main .bg-gray-200 { background-color: rgba(255,255,255,0.10) !important; }

/* Puntos/dots de estado (bg-*-400/500) mantienen su color vivo — ok.
   Aseguramos que las barras de progreso de color se vean vivas: */
html.dark-mode main .bg-green-500  { background-color: #22c55e !important; }
html.dark-mode main .bg-blue-500   { background-color: #3b82f6 !important; }
html.dark-mode main .bg-orange-400 { background-color: #fb923c !important; }
html.dark-mode main .bg-yellow-400 { background-color: #facc15 !important; }
html.dark-mode main .bg-red-400    { background-color: #f87171 !important; }
html.dark-mode main .bg-amber-500  { background-color: #f59e0b !important; }

/* ═══════════════════════════════════════════════════════════
   🪟 DIÁLOGOS CON FONDO SÓLIDO EN DARK MODE
   El formulario y la vista "Ver servicio" se veían translúcidos.
   Forzamos fondo opaco sólido en el contenedor y sus superficies
   internas (headers/footers sticky con bg-background y bg-muted).
   ═══════════════════════════════════════════════════════════ */
html.dark-mode [role="dialog"] {
  background-color: #0d0d0d !important;
  color: #e5e5e5 !important;
}
/* Contenedor del contenido del dialog (radix data-slot) */
html.dark-mode [role="dialog"][data-slot="dialog-content"],
html.dark-mode [data-slot="dialog-content"],
html.dark-mode [data-slot="alert-dialog-content"] {
  background-color: #0d0d0d !important;
}
/* Superficies internas del dialog que usan tokens/utilidades claras */
html.dark-mode [role="dialog"] .bg-background,
html.dark-mode [role="dialog"] .bg-card,
html.dark-mode [role="dialog"] .bg-popover { background-color: #0d0d0d !important; }
html.dark-mode [role="dialog"] .bg-muted,
html.dark-mode [role="dialog"] .bg-muted\/40,
html.dark-mode [role="dialog"] .bg-muted\/50,
html.dark-mode [role="dialog"] .bg-muted\/30 { background-color: #1a1a1a !important; }
html.dark-mode [role="dialog"] .bg-white,
html.dark-mode [role="dialog"] .bg-white\/60,
html.dark-mode [role="dialog"] .bg-white\/70,
html.dark-mode [role="dialog"] .bg-white\/80,
html.dark-mode [role="dialog"] .bg-white\/40 { background-color: #111111 !important; }
html.dark-mode [role="dialog"] .bg-gray-50,
html.dark-mode [role="dialog"] .bg-slate-50 { background-color: #111111 !important; }
html.dark-mode [role="dialog"] .bg-gray-100,
html.dark-mode [role="dialog"] .bg-slate-100 { background-color: #1a1a1a !important; }
html.dark-mode [role="dialog"] .bg-gray-200 { background-color: rgba(255,255,255,0.10) !important; }
/* Bordes claros dentro del dialog */
html.dark-mode [role="dialog"] .border-border,
html.dark-mode [role="dialog"] .border-gray-100,
html.dark-mode [role="dialog"] .border-gray-200,
html.dark-mode [role="dialog"] .border-white\/60,
html.dark-mode [role="dialog"] .border-white\/80 { border-color: rgba(255,255,255,0.15) !important; }
/* Overlay más oscuro para contraste */
html.dark-mode [data-slot="dialog-overlay"],
html.dark-mode [data-slot="alert-dialog-overlay"] { background-color: rgba(0,0,0,0.75) !important; }

/* ═══════════════════════════════════════════════════════════
   🧩 PORTALES DE SHADCN/RADIX EN DARK MODE
   Dropdowns, Selects, Popovers, Menús contextuales, Tooltips,
   Calendarios y Command se renderizan en portales FUERA de <main>,
   por eso quedaban blancos. Aquí se fuerzan a superficies oscuras
   premium (sin ningún blanco) con texto claro y legible.
   ═══════════════════════════════════════════════════════════ */

/* Superficies flotantes: dropdown, select, popover, menú, hovercard, command, tooltip */
html.dark-mode [data-slot="dropdown-menu-content"],
html.dark-mode [data-slot="select-content"],
html.dark-mode [data-slot="popover-content"],
html.dark-mode [data-slot="context-menu-content"],
html.dark-mode [data-slot="menubar-content"],
html.dark-mode [data-slot="hover-card-content"],
html.dark-mode [data-slot="command"],
html.dark-mode [data-slot="command-list"],
html.dark-mode [data-radix-popper-content-wrapper] > * ,
html.dark-mode [role="menu"],
html.dark-mode [role="listbox"] {
  background-color: #0d0d0d !important;
  color: #e5e5e5 !important;
  border-color: rgba(255,255,255,0.14) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.06) inset !important;
}

/* Items dentro de menús/selects */
html.dark-mode [data-slot="dropdown-menu-item"],
html.dark-mode [data-slot="select-item"],
html.dark-mode [data-slot="context-menu-item"],
html.dark-mode [data-slot="menubar-item"],
html.dark-mode [data-slot="command-item"],
html.dark-mode [role="menuitem"],
html.dark-mode [role="option"] {
  color: #d4d4d4 !important;
}
html.dark-mode [data-slot="dropdown-menu-item"]:hover,
html.dark-mode [data-slot="dropdown-menu-item"][data-highlighted],
html.dark-mode [data-slot="select-item"]:hover,
html.dark-mode [data-slot="select-item"][data-highlighted],
html.dark-mode [data-slot="context-menu-item"][data-highlighted],
html.dark-mode [data-slot="command-item"][data-selected="true"],
html.dark-mode [role="menuitem"]:hover,
html.dark-mode [role="option"][data-highlighted] {
  background-color: rgba(255,255,255,0.12) !important;
  color: #f5f5f5 !important;
}

/* Separadores, labels y etiquetas dentro de portales */
html.dark-mode [data-slot="dropdown-menu-separator"],
html.dark-mode [data-slot="select-separator"],
html.dark-mode [data-slot="command-separator"] { background-color: rgba(255,255,255,0.12) !important; }
html.dark-mode [data-slot="dropdown-menu-label"],
html.dark-mode [data-slot="select-label"] { color: #a3a3a3 !important; }

/* Trigger de Select (el "botón" cerrado) que a veces queda blanco */
html.dark-mode [data-slot="select-trigger"] {
  background-color: #111111 !important;
  color: #d4d4d4 !important;
  border-color: rgba(255,255,255,0.15) !important;
}

/* Input de búsqueda dentro de Command */
html.dark-mode [data-slot="command-input"] {
  background-color: #0d0d0d !important;
  color: #e5e5e5 !important;
}

/* Tooltip */
html.dark-mode [data-slot="tooltip-content"] {
  background-color: #1a1a1a !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
}

/* Calendario / DayPicker */
html.dark-mode [data-slot="calendar"],
html.dark-mode .rdp {
  background-color: #0d0d0d !important;
  color: #e5e5e5 !important;
}
html.dark-mode .rdp-day:hover:not([disabled]),
html.dark-mode [data-slot="calendar"] button:hover:not([disabled]) {
  background-color: rgba(255,255,255,0.12) !important;
}

/* ── Toast / Sonner en dark ── */
html.dark-mode [data-sonner-toast],
html.dark-mode [data-slot="toast"] {
  background-color: #111111 !important;
  color: #e5e5e5 !important;
  border-color: rgba(255,255,255,0.15) !important;
}

/* ── Sheet / Drawer laterales que quedan blancos ── */
html.dark-mode [data-slot="sheet-content"],
html.dark-mode [data-slot="drawer-content"] {
  background-color: #0a0a0a !important;
  color: #e5e5e5 !important;
  border-color: rgba(255,255,255,0.12) !important;
}

/* ── Tabs: fondo de la lista y trigger activo ── */
html.dark-mode [data-slot="tabs-list"] { background-color: #111111 !important; }
html.dark-mode [data-slot="tabs-trigger"][data-state="active"] {
  background-color: #1a1a1a !important;
  color: #f5f5f5 !important;
}

/* ── Table headers claros fuera de main (por si acaso) ── */
html.dark-mode [data-slot="table-header"] .bg-gray-50,
html.dark-mode [data-slot="table-header"] .bg-slate-50,
html.dark-mode thead.bg-gray-50,
html.dark-mode thead.bg-slate-50 { background-color: #111111 !important; }

/* ═══════════════════════════════════════════════════════════
   🚫 CAZA-BLANCOS GLOBAL (último recurso)
   Cualquier superficie que siga blanca vía utilidades o tokens,
   incluso fuera de main, se convierte en superficie oscura.
   Se excluyen el sidebar (.sidebar-bg) y elementos de marca.
   ═══════════════════════════════════════════════════════════ */
html.dark-mode .bg-white:not(.sidebar-bg):not([class*="from-"]),
html.dark-mode .bg-background,
html.dark-mode .bg-card,
html.dark-mode .bg-popover {
  background-color: #0d0d0d !important;
}
html.dark-mode .bg-gray-50,
html.dark-mode .bg-slate-50 { background-color: #111111 !important; }
html.dark-mode .bg-gray-100,
html.dark-mode .bg-slate-100 { background-color: #1a1a1a !important; }

/* Bordes claros globales → gris neutro translúcido (sin violeta) */
html.dark-mode .border-border,
html.dark-mode .border-gray-100,
html.dark-mode .border-gray-200,
html.dark-mode .border-slate-100,
html.dark-mode .border-slate-200 { border-color: rgba(255,255,255,0.14) !important; }

/* ── Texto pequeño elegante (labels, captions, help text) ── */
html.dark-mode main .text-xs,
html.dark-mode main .text-\[10px\],
html.dark-mode main .text-\[11px\],
html.dark-mode main small {
  color: #a8a8a8 !important;
  letter-spacing: 0.01em;
}
html.dark-mode [role="dialog"] .text-xs,
html.dark-mode [data-radix-popper-content-wrapper] .text-xs { color: #a8a8a8 !important; }@keyframes carga-appear { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

.carga-masiva-premium {
  --cm-surface: hsl(var(--background));
  --cm-soft: hsl(var(--muted) / .46);
  --cm-line: hsl(var(--border) / .82);
  --cm-shadow: 0 20px 48px hsl(var(--foreground) / .07);
  max-width: 1400px;
  margin: 0 auto;
  padding: 2rem;
  color: hsl(var(--foreground));
  animation: carga-appear .42s cubic-bezier(.22, 1, .36, 1) both;
}

.carga-masiva-premium * { box-sizing: border-box; }
.carga-masiva-premium button { font: inherit; }
.carga-masiva-premium button:focus-visible { outline: 3px solid hsl(var(--ring) / .4); outline-offset: 3px; }
.carga-eyebrow { display: flex; align-items: center; gap: .45rem; margin: 0 0 .4rem; color: hsl(var(--primary)); font-size: .68rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }

.carga-header { position: relative; display: flex; align-items: center; gap: 1.05rem; overflow: hidden; min-height: 150px; padding: 1.75rem 2rem; border: 1px solid var(--cm-line); border-radius: 1.7rem; background: radial-gradient(circle at 86% 15%, hsl(var(--accent) / .17), transparent 17rem), radial-gradient(circle at 62% 110%, hsl(var(--primary) / .16), transparent 26rem), linear-gradient(135deg, hsl(var(--background)), hsl(var(--muted) / .48)); box-shadow: var(--cm-shadow); }
.carga-header::after { position: absolute; inset: auto -5rem -6rem auto; width: 14rem; height: 14rem; border: 1px solid hsl(var(--primary) / .13); border-radius: 999px; content: ""; }
.carga-header > * { position: relative; z-index: 1; }
.carga-header__icon { display: grid; width: 3.25rem; height: 3.25rem; flex: 0 0 auto; place-items: center; border-radius: 1rem; color: hsl(var(--primary-foreground)); background: linear-gradient(145deg, hsl(var(--primary)), hsl(var(--accent))); box-shadow: 0 12px 24px hsl(var(--primary) / .23); }
.carga-header h1 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.25rem); font-weight: 800; letter-spacing: -.045em; }
.carga-header p:not(.carga-eyebrow) { max-width: 40rem; margin: .35rem 0 0; color: hsl(var(--muted-foreground)); font-size: .9rem; line-height: 1.6; }
.carga-header__status { display: grid; gap: .25rem; min-width: 145px; margin-left: auto; padding: .75rem 1rem; border: 1px solid hsl(var(--primary) / .16); border-radius: 1rem; color: hsl(var(--muted-foreground)); background: hsl(var(--background) / .68); backdrop-filter: blur(10px); font-size: .68rem; text-align: right; }
.carga-header__status strong { color: hsl(var(--foreground)); font-size: .9rem; }

.carga-stepper { display: flex; gap: .5rem; margin: 1.6rem 0; padding: .6rem; border: 1px solid var(--cm-line); border-radius: 1.25rem; background: hsl(var(--background) / .75); box-shadow: 0 8px 22px hsl(var(--foreground) / .04); }
.carga-stepper li { display: flex; flex: 1; align-items: center; gap: .7rem; padding: .6rem .8rem; border-radius: .9rem; color: hsl(var(--muted-foreground)); }
.carga-stepper__number { display: grid; width: 1.9rem; height: 1.9rem; flex: 0 0 auto; place-items: center; border: 1px solid var(--cm-line); border-radius: 50%; background: hsl(var(--background)); font-size: .75rem; font-weight: 800; }
.carga-stepper__copy { display: grid; gap: .12rem; }
.carga-stepper__copy strong { font-size: .8rem; }
.carga-stepper__copy small { font-size: .67rem; }
.carga-stepper .is-active { color: hsl(var(--foreground)); background: hsl(var(--primary) / .1); }
.carga-stepper .is-active .carga-stepper__number, .carga-stepper .is-complete .carga-stepper__number { border-color: transparent; color: hsl(var(--primary-foreground)); background: linear-gradient(145deg, hsl(var(--primary)), hsl(var(--accent))); box-shadow: 0 5px 12px hsl(var(--primary) / .22); }
.carga-stepper .is-complete { color: hsl(var(--primary)); }

.carga-panel, .carga-template-card, .carga-dropzone, .carga-review__hero, .carga-payment-mode, .carga-table-card, .carga-progress, .carga-results__hero, .carga-complete-bar { border: 1px solid var(--cm-line); border-radius: 1.35rem; background: var(--cm-surface); box-shadow: var(--cm-shadow); }
.carga-panel { overflow: hidden; }
.carga-panel__header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1.4rem 1.5rem; border-bottom: 1px solid var(--cm-line); background: linear-gradient(100deg, hsl(var(--muted) / .48), hsl(var(--background))); }
.carga-panel h2, .carga-template-card h2, .carga-dropzone h2, .carga-review h2, .carga-results h2 { margin: 0; font-size: 1.2rem; letter-spacing: -.025em; }
.carga-panel__hint { max-width: 17rem; color: hsl(var(--muted-foreground)); font-size: .75rem; line-height: 1.45; text-align: right; }
.carga-type-groups { display: grid; gap: 1.3rem; padding: 1.5rem; }
.carga-type-group { display: grid; grid-template-columns: 190px 1fr; gap: 1rem; }
.carga-type-group__heading { padding: .7rem; }
.carga-type-group__heading h3 { margin: 0; font-size: .82rem; }
.carga-type-group__heading p { margin: .35rem 0 0; color: hsl(var(--muted-foreground)); font-size: .7rem; line-height: 1.5; }
.carga-type-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.carga-type-card { position: relative; display: flex; min-height: 112px; gap: .7rem; padding: .9rem; border: 1.5px solid var(--cm-line); border-radius: 1rem; color: hsl(var(--foreground)); background: linear-gradient(145deg, hsl(var(--background)), hsl(var(--muted) / .22)); text-align: left; cursor: pointer; transition: transform .22s cubic-bezier(.22,1,.36,1), box-shadow .22s ease, border-color .22s ease, background .22s ease; }
.carga-type-card:hover { border-color: hsl(var(--primary) / .36); box-shadow: 0 10px 22px hsl(var(--primary) / .1); transform: translateY(-2px); }
.carga-type-card__icon { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border-radius: .8rem; color: hsl(var(--primary)); background: hsl(var(--primary) / .1); transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.carga-type-card--accent .carga-type-card__icon { color: hsl(var(--accent)); background: hsl(var(--accent) / .11); }
.carga-type-card__content { display: grid; align-content: start; gap: .3rem; min-width: 0; }
.carga-type-card__content strong { font-size: .78rem; line-height: 1.3; transition: color .2s ease; }
.carga-type-card__content small { color: hsl(var(--muted-foreground)); font-size: .68rem; line-height: 1.4; }
.carga-type-card__select { display: grid; width: 1.1rem; height: 1.1rem; flex: 0 0 auto; place-items: center; margin-left: auto; border: 1.5px solid hsl(var(--border)); border-radius: 50%; color: transparent; transition: background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.carga-type-card__badge { position: absolute; top: -.6rem; left: .85rem; padding: .18rem .62rem; border-radius: 999px; color: hsl(var(--primary-foreground)); background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent))); font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 6px 14px hsl(var(--primary) / .35), 0 0 0 3px hsl(var(--background)); }

.carga-type-card.is-selected {
  position: relative;
  border-color: hsl(var(--primary) / .45);
  background: hsl(var(--primary) / .12) !important;
  box-shadow: 0 0 0 1px hsl(var(--primary) / .2), 0 10px 22px -6px hsl(var(--primary) / .35);
  transform: none;
}
.carga-type-card.is-selected::after { display: none; }
html.dark-mode .carga-type-card.is-selected { border-color: hsl(var(--primary) / .5); background: hsl(var(--primary) / .16) !important; box-shadow: 0 0 0 1px hsl(var(--primary) / .3), 0 10px 22px -6px hsl(0 0% 0% / .5); }
.carga-type-card.is-selected .carga-type-card__icon { color: hsl(var(--primary-foreground)); background: linear-gradient(145deg, hsl(var(--primary)), hsl(var(--accent))); box-shadow: 0 8px 16px hsl(var(--primary) / .35); }
.carga-type-card.is-selected .carga-type-card__content strong { color: hsl(var(--primary)); }
.carga-type-card.is-selected .carga-type-card__select { border-color: transparent; color: hsl(var(--primary-foreground)); background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent))); box-shadow: 0 3px 10px hsl(var(--primary) / .4); }

.carga-upload-layout { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(420px, 1.35fr); gap: 1.3rem; }
.carga-template-card { padding: 1.65rem; background: linear-gradient(150deg, hsl(var(--primary) / .09), hsl(var(--background)) 58%); }
.carga-template-card__icon, .carga-review__file-icon { display: grid; width: 2.8rem; height: 2.8rem; margin-bottom: 1rem; place-items: center; border-radius: .95rem; color: hsl(var(--primary-foreground)); background: linear-gradient(145deg, hsl(var(--primary)), hsl(var(--accent))); box-shadow: 0 10px 20px hsl(var(--primary) / .2); }
.carga-template-card > p:not(.carga-eyebrow) { margin: .6rem 0 1.25rem; color: hsl(var(--muted-foreground)); font-size: .78rem; line-height: 1.65; }
.carga-template-card__details { display: grid; gap: .5rem; margin-bottom: 1.25rem; }
.carga-template-card__details span { padding: .55rem .65rem; border-radius: .65rem; color: hsl(var(--muted-foreground)); background: hsl(var(--background) / .78); font-size: .7rem; }
.carga-template-card__details strong { color: hsl(var(--primary)); }
.carga-template-card__trust { display: flex; gap: .45rem; margin-top: 1rem; color: hsl(var(--muted-foreground)); font-size: .68rem; }
.carga-primary-button, .carga-secondary-button, .carga-tertiary-button { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border-radius: 999px; font-size: .78rem; font-weight: 700; cursor: pointer; }
.carga-primary-button { min-height: 2.7rem; padding: .7rem 1rem; border: 0; color: hsl(var(--primary-foreground)); background: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--accent))); box-shadow: 0 10px 22px hsl(var(--primary) / .2); transition: transform .2s ease, filter .2s ease; }
.carga-primary-button:hover:not(:disabled) { filter: brightness(1.06); transform: translateY(-2px); }
.carga-primary-button:disabled { cursor: not-allowed; opacity: .52; }
.carga-secondary-button { padding: .68rem 1.05rem; color: hsl(var(--primary)); background: hsl(var(--primary) / .1); }
.carga-tertiary-button { min-height: 2.7rem; padding: .7rem 1rem; border: 1px solid var(--cm-line); color: hsl(var(--foreground)); background: hsl(var(--background)); transition: background .2s ease, transform .2s ease; }
.carga-tertiary-button:hover:not(:disabled) { background: hsl(var(--muted) / .5); transform: translateY(-2px); }
.carga-dropzone { display: grid; min-height: 330px; place-items: center; overflow: hidden; padding: 2rem; border-style: dashed; border-width: 2px; border-color: hsl(var(--primary) / .29); background: radial-gradient(circle at 50% 15%, hsl(var(--primary) / .12), transparent 15rem), hsl(var(--background)); text-align: center; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.carga-dropzone:hover, .carga-dropzone.is-dragging { border-color: hsl(var(--primary)); background: radial-gradient(circle at 50% 15%, hsl(var(--accent) / .16), transparent 16rem), hsl(var(--background)); transform: translateY(-2px); }
.carga-dropzone__orb { display: grid; width: 4rem; height: 4rem; margin: 0 auto 1rem; place-items: center; border-radius: 1.35rem; color: hsl(var(--primary)); background: hsl(var(--primary) / .12); box-shadow: 0 12px 25px hsl(var(--primary) / .15); }
.carga-dropzone p:not(.carga-eyebrow) { margin: .5rem 0 1.1rem; color: hsl(var(--muted-foreground)); font-size: .8rem; }
.carga-dropzone small { display: block; margin-top: 1rem; color: hsl(var(--muted-foreground)); font-size: .67rem; }
.carga-dropzone__loading { display: grid; width: min(100%, 21rem); justify-items: center; gap: .65rem; }
.carga-dropzone__loading p { margin: 0 !important; }
.carga-upload-progress { width: 100%; height: .5rem; overflow: hidden; border-radius: 999px; background: hsl(var(--muted)); }
.carga-upload-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, hsl(var(--primary)), hsl(var(--accent))); transition: width .25s ease; }
.carga-spinner { display: inline-block; width: 1rem; height: 1rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: cm-spin .7s linear infinite; }
@keyframes cm-spin { to { transform: rotate(360deg); } }

.carga-review, .carga-results { animation: carga-appear .35s ease both; }
.carga-review__hero, .carga-results__hero { display: flex; align-items: center; gap: 1rem; padding: 1.3rem 1.5rem; }
.carga-review__hero p:not(.carga-eyebrow), .carga-results__hero p:not(.carga-eyebrow) { margin: .3rem 0 0; color: hsl(var(--muted-foreground)); font-size: .76rem; }
.carga-icon-button { display: grid; width: 2.4rem; height: 2.4rem; margin-left: auto; place-items: center; border: 1px solid var(--cm-line); border-radius: 50%; color: hsl(var(--muted-foreground)); background: hsl(var(--background)); cursor: pointer; }
.carga-alert { overflow: hidden; border: 1px solid hsl(var(--accent) / .3); border-radius: 1.1rem; background: hsl(var(--accent) / .08); }
.carga-alert > div:first-child { display: flex; gap: .7rem; align-items: flex-start; padding: 1rem 1.2rem; color: hsl(var(--foreground)); }
.carga-alert strong { font-size: .78rem; }.carga-alert p { margin: .22rem 0 0; color: hsl(var(--muted-foreground)); font-size: .7rem; }.carga-alert__list { border-top: 1px solid hsl(var(--accent) / .2); background: hsl(var(--background) / .55); }.carga-alert__list p { display: grid; grid-template-columns: 65px 120px 1fr; gap: .5rem; margin: 0; padding: .55rem 1.2rem; border-bottom: 1px solid hsl(var(--accent) / .12); }.carga-alert__list b { color: hsl(var(--accent)); }.carga-alert__list span { font-family: monospace; color: hsl(var(--foreground)); }.carga-alert__more { display: block !important; color: hsl(var(--primary)) !important; }
.carga-payment-mode { padding: 1.25rem; background: linear-gradient(135deg, hsl(var(--primary) / .08), hsl(var(--background))); }.carga-payment-mode__heading { display: flex; align-items: center; gap: .7rem; }.carga-payment-mode__heading > svg { color: hsl(var(--primary)); }.carga-payment-mode h3 { margin: 0; font-size: .88rem; }.carga-payment-mode > p { margin: .75rem 0; color: hsl(var(--muted-foreground)); font-size: .72rem; }.carga-payment-mode__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }.carga-payment-mode__options button { display: flex; gap: .6rem; align-items: center; padding: .8rem; border: 1px solid var(--cm-line); border-radius: .8rem; color: hsl(var(--muted-foreground)); background: hsl(var(--background)); text-align: left; cursor: pointer; }.carga-payment-mode__options button.is-selected { border-color: hsl(var(--primary)); color: hsl(var(--primary)); background: hsl(var(--primary) / .1); }.carga-payment-mode__options span { display: grid; gap: .15rem; }.carga-payment-mode__options strong { color: hsl(var(--foreground)); font-size: .74rem; }.carga-payment-mode__options small, .carga-payment-mode__notice { font-size: .66rem; }.carga-payment-mode__notice { display: block; margin-top: .7rem; color: hsl(var(--accent)); }
.carga-info { display: flex; gap: .65rem; align-items: flex-start; padding: .8rem 1rem; border: 1px solid hsl(var(--primary) / .2); border-radius: .9rem; color: hsl(var(--muted-foreground)); background: hsl(var(--primary) / .07); font-size: .72rem; line-height: 1.5; }.carga-info svg { color: hsl(var(--primary)); flex: 0 0 auto; }
.carga-table-card { overflow: hidden; }.carga-table-card__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; border-bottom: 1px solid var(--cm-line); background: hsl(var(--muted) / .35); }.carga-table-card__header h3 { margin: 0; font-size: .86rem; }.carga-table-card__header span { color: hsl(var(--muted-foreground)); font-size: .68rem; }.carga-table-scroll { max-height: 330px; overflow: auto; }.carga-table-card table { width: 100%; border-collapse: collapse; font-size: .7rem; text-align: left; }.carga-table-card th { position: sticky; top: 0; z-index: 1; padding: .7rem .85rem; color: hsl(var(--muted-foreground)); background: hsl(var(--background)); font-size: .64rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }.carga-table-card td { max-width: 220px; padding: .7rem .85rem; border-top: 1px solid hsl(var(--border) / .5); overflow: hidden; color: hsl(var(--foreground) / .78); text-overflow: ellipsis; white-space: nowrap; }.carga-table-card tbody tr:hover { background: hsl(var(--primary) / .04); }.carga-table-card td:first-child { color: hsl(var(--muted-foreground)); font-family: monospace; }
.carga-progress { padding: 1rem 1.2rem; }.carga-progress > div:first-child { display: flex; justify-content: space-between; gap: 1rem; color: hsl(var(--foreground)); font-size: .76rem; }.carga-progress > div:first-child strong { color: hsl(var(--primary)); }.carga-progress__track { height: .55rem; margin: .75rem 0 .5rem; overflow: hidden; border-radius: 999px; background: hsl(var(--muted)); }.carga-progress__track i, .carga-complete-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, hsl(var(--primary)), hsl(var(--accent))); transition: width .3s ease; }.carga-progress small { color: hsl(var(--muted-foreground)); font-size: .66rem; }.carga-review__actions, .carga-results__actions { display: flex; justify-content: flex-end; gap: .75rem; }
.carga-results__hero > span { display: grid; width: 3.1rem; height: 3.1rem; place-items: center; border-radius: 1rem; }.carga-results__hero > span.is-success { color: hsl(142 71% 35%); background: hsl(142 71% 45% / .13); }.carga-results__hero > span.is-warning { color: hsl(var(--accent)); background: hsl(var(--accent) / .13); }.carga-results__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.carga-results__metrics article { display: grid; gap: .35rem; padding: 1.25rem; border: 1px solid var(--cm-line); border-radius: 1.1rem; background: hsl(var(--background)); box-shadow: 0 10px 24px hsl(var(--foreground) / .04); }.carga-results__metrics svg { color: hsl(var(--primary)); }.carga-results__metrics article.has-errors svg { color: hsl(var(--destructive)); }.carga-results__metrics strong { font-size: 1.65rem; letter-spacing: -.05em; }.carga-results__metrics span { color: hsl(var(--muted-foreground)); font-size: .7rem; }.carga-complete-bar { display: grid; grid-template-columns: 1fr auto; gap: .7rem; padding: 1rem 1.2rem; color: hsl(var(--muted-foreground)); font-size: .72rem; }.carga-complete-bar strong { color: hsl(var(--primary)); }.carga-complete-bar i { grid-column: 1 / -1; background: hsl(142 71% 45%); }

@media (max-width: 960px) { .carga-type-group { grid-template-columns: 1fr; gap: .3rem; }.carga-type-group__heading { padding: 0; }.carga-upload-layout { grid-template-columns: 1fr; }.carga-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .carga-masiva-premium { padding: 1rem; }.carga-header { align-items: flex-start; min-height: auto; padding: 1.25rem; }.carga-header__status { display: none; }.carga-stepper { overflow-x: auto; }.carga-stepper li { min-width: 142px; }.carga-panel__header { align-items: flex-start; flex-direction: column; }.carga-panel__hint { text-align: left; }.carga-type-grid, .carga-payment-mode__options, .carga-results__metrics { grid-template-columns: 1fr; }.carga-template-card, .carga-dropzone { padding: 1.25rem; }.carga-review__actions, .carga-results__actions { flex-direction: column-reverse; }.carga-review__actions > button, .carga-results__actions > button { width: 100%; }.carga-alert__list p { grid-template-columns: 1fr; gap: .15rem; }.carga-table-card__header { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .carga-masiva-premium, .carga-spinner { animation: none; }.carga-type-card, .carga-dropzone, .carga-primary-button, .carga-tertiary-button { transition: none; }.carga-type-card:hover, .carga-dropzone:hover, .carga-primary-button:hover:not(:disabled), .carga-tertiary-button:hover:not(:disabled) { transform: none; } }.settings-premium { color: #1e1b4b; }
.settings-surface { background: rgba(255,255,255,.88); border: 1px solid rgba(124,58,237,.13); box-shadow: 0 18px 45px rgba(76,29,149,.07); }
.settings-nav-item { color: #655b84; }
.settings-nav-item:hover { background: rgba(124,58,237,.08); color: #6d28d9; }
.settings-nav-item.active { background: linear-gradient(135deg, rgba(124,58,237,.15), rgba(249,115,22,.10)); color: #5b21b6; box-shadow: inset 0 0 0 1px rgba(124,58,237,.14); }
.settings-nav-item.active::before { content: ""; position: absolute; left: 0; top: 25%; width: 3px; height: 50%; border-radius: 999px; background: currentColor; }
.settings-nav-item:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.settings-panel, .settings-section { scroll-margin-top: 6.5rem; }
.settings-content > * { position: relative; }
html.dark-mode .settings-premium { color: #f5f3ff; }
html.dark-mode .settings-premium .settings-surface { background: rgba(20,17,30,.88); border-color: rgba(255,255,255,.11); box-shadow: 0 18px 45px rgba(0,0,0,.24); }
html.dark-mode .settings-premium .settings-nav-item { color: #c4bddb; }
html.dark-mode .settings-premium .settings-nav-item:hover { background: rgba(255,255,255,.08); color: #fff; }
html.dark-mode .settings-premium .settings-nav-item.active { background: linear-gradient(135deg, rgba(124,58,237,.32), rgba(249,115,22,.16)); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
html.dark-mode .settings-premium input,
html.dark-mode .settings-premium select { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.13) !important; color: #f5f3ff !important; }
html.dark-mode .settings-premium option { background: #181421; color: #f5f3ff; }/* ═══════════════════════════════════════════════════════════
   🌙 DARK MODE — FIX DE COLORES INLINE (HEX EXACTOS)
   Extensión de module-styles.css (que llegó a su límite de líneas).
   Muchas tarjetas usan style={{background:"#f5f3ff", color:"#5b21b6"}}
   con hex que no matchea ninguna clase Tailwind, por lo que el color
   de texto claro global no aplicaba y quedaban ilegibles sobre fondos
   claros en modo oscuro. Se detectan por selector de atributo y se
   oscurecen a translúcido del mismo tinte + se aclara el texto.
   Se importa una sola vez en Layout.jsx y aplica globalmente.
   ═══════════════════════════════════════════════════════════ */

/* ── Fondos pastel/neutros vía inline style → translúcido oscuro ── */
html.dark-mode main [style*="#f3f4f6"],
html.dark-mode main [style*="#f9fafb"],
html.dark-mode main [style*="#fafafa"],
html.dark-mode main [style*="#f8fafc"],
html.dark-mode main [style*="#e2e8f0"],
html.dark-mode main [style*="#f4f4f8"],
html.dark-mode [role="dialog"] [style*="#f3f4f6"],
html.dark-mode [role="dialog"] [style*="#f9fafb"],
html.dark-mode [role="dialog"] [style*="#fafafa"] {
  background-color: rgba(255,255,255,0.06) !important;
  background-image: none !important;
  border-color: rgba(255,255,255,0.14) !important;
}

html.dark-mode main [style*="#f5f3ff"],
html.dark-mode main [style*="#ede9fe"],
html.dark-mode main [style*="#ddd6fe"],
html.dark-mode main [style*="#e0e7ff"],
html.dark-mode main [style*="#f8faff"],
html.dark-mode main [style*="#faf5ff"],
html.dark-mode main [style*="#e9d5ff"],
html.dark-mode main [style*="#eef2ff"],
html.dark-mode main [style*="#c4b5fd"],
html.dark-mode [role="dialog"] [style*="#f5f3ff"],
html.dark-mode [role="dialog"] [style*="#ede9fe"],
html.dark-mode [role="dialog"] [style*="#ddd6fe"],
html.dark-mode [role="dialog"] [style*="#faf5ff"],
html.dark-mode [role="dialog"] [style*="#e9d5ff"] {
  background-color: rgba(139,92,246,0.14) !important;
  background-image: none !important;
  border-color: rgba(139,92,246,0.30) !important;
}

html.dark-mode main [style*="#eff6ff"],
html.dark-mode main [style*="#bfdbfe"],
html.dark-mode main [style*="#e0f2fe"],
html.dark-mode [role="dialog"] [style*="#eff6ff"],
html.dark-mode [role="dialog"] [style*="#bfdbfe"] {
  background-color: rgba(59,130,246,0.14) !important;
  background-image: none !important;
  border-color: rgba(59,130,246,0.30) !important;
}

html.dark-mode main [style*="#f0fdf4"],
html.dark-mode main [style*="#bbf7d0"],
html.dark-mode main [style*="#ecfdf5"],
html.dark-mode main [style*="#d1fae5"],
html.dark-mode [role="dialog"] [style*="#f0fdf4"],
html.dark-mode [role="dialog"] [style*="#bbf7d0"] {
  background-color: rgba(16,185,129,0.14) !important;
  background-image: none !important;
  border-color: rgba(16,185,129,0.30) !important;
}

html.dark-mode main [style*="#fffbeb"],
html.dark-mode main [style*="#fde68a"],
html.dark-mode main [style*="#fef3c7"],
html.dark-mode main [style*="#fff7ed"],
html.dark-mode main [style*="#fed7aa"],
html.dark-mode main [style*="#ffedd5"],
html.dark-mode [role="dialog"] [style*="#fffbeb"],
html.dark-mode [role="dialog"] [style*="#fde68a"],
html.dark-mode [role="dialog"] [style*="#fef3c7"] {
  background-color: rgba(245,158,11,0.14) !important;
  background-image: none !important;
  border-color: rgba(245,158,11,0.30) !important;
}

html.dark-mode main [style*="#fef2f2"],
html.dark-mode main [style*="#fecaca"],
html.dark-mode main [style*="#fee2e2"],
html.dark-mode main [style*="#fca5a5"],
html.dark-mode main [style*="#fce7f3"],
html.dark-mode main [style*="#fff1f2"],
html.dark-mode main [style*="#fecdd3"],
html.dark-mode [role="dialog"] [style*="#fef2f2"],
html.dark-mode [role="dialog"] [style*="#fecaca"],
html.dark-mode [role="dialog"] [style*="#fee2e2"],
html.dark-mode [role="dialog"] [style*="#fca5a5"] {
  background-color: rgba(239,68,68,0.14) !important;
  background-image: none !important;
  border-color: rgba(239,68,68,0.30) !important;
}

/* ── Texto de acento oscuro (700/800/900) sobre esos fondos → aclarar ── */
html.dark-mode main [style*="#7c3aed"],
html.dark-mode main [style*="#5b21b6"],
html.dark-mode main [style*="#6d28d9"],
html.dark-mode main [style*="#4c1d95"],
html.dark-mode main [style*="#8b5cf6"],
html.dark-mode [role="dialog"] [style*="#7c3aed"],
html.dark-mode [role="dialog"] [style*="#5b21b6"],
html.dark-mode [role="dialog"] [style*="#6d28d9"] { color: #c4b5fd !important; }

html.dark-mode main [style*="#059669"],
html.dark-mode main [style*="#065f46"],
html.dark-mode main [style*="#10b981"],
html.dark-mode [role="dialog"] [style*="#059669"],
html.dark-mode [role="dialog"] [style*="#065f46"] { color: #6ee7b7 !important; }

html.dark-mode main [style*="#2563eb"],
html.dark-mode main [style*="#1e40af"],
html.dark-mode main [style*="#1d4ed8"],
html.dark-mode main [style*="#3b82f6"],
html.dark-mode [role="dialog"] [style*="#2563eb"],
html.dark-mode [role="dialog"] [style*="#1e40af"] { color: #93c5fd !important; }

html.dark-mode main [style*="#92400e"],
html.dark-mode main [style*="#78350f"],
html.dark-mode main [style*="#d97706"],
html.dark-mode [role="dialog"] [style*="#92400e"],
html.dark-mode [role="dialog"] [style*="#78350f"] { color: #fcd34d !important; }

html.dark-mode main [style*="#c2410c"],
html.dark-mode main [style*="#9a3412"],
html.dark-mode [role="dialog"] [style*="#c2410c"],
html.dark-mode [role="dialog"] [style*="#9a3412"] { color: #fdba74 !important; }

html.dark-mode main [style*="#dc2626"],
html.dark-mode main [style*="#991b1b"],
html.dark-mode main [style*="#b91c1c"],
html.dark-mode main [style*="#ef4444"],
html.dark-mode main [style*="#e11d48"],
html.dark-mode [role="dialog"] [style*="#dc2626"],
html.dark-mode [role="dialog"] [style*="#991b1b"],
html.dark-mode [role="dialog"] [style*="#ef4444"] { color: #fca5a5 !important; }

html.dark-mode main [style*="#9d174d"],
html.dark-mode [role="dialog"] [style*="#9d174d"] { color: #f9a8d4 !important; }

/* ── Labels/etiquetas con color de acento medio (500) sobre fondo claro ── */
html.dark-mode main [style*="color: \"#7c3aed\""] { color: #c4b5fd !important; }

/* ── Switch (toggle) casi invisible en modo oscuro: bg-input/bg-background
   quedan muy oscuros y sin contraste contra el fondo de la tarjeta/diálogo.
   Se refuerza el track y el "thumb" para que sean claramente visibles. ── */
html.dark-mode button[role="switch"] {
  border-color: rgba(255,255,255,0.35) !important;
}
html.dark-mode button[role="switch"][data-state="unchecked"] {
  background-color: rgba(255,255,255,0.22) !important;
}
html.dark-mode button[role="switch"][data-state="checked"] {
  background-color: #7c3aed !important;
}
html.dark-mode button[role="switch"] span {
  background-color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
}

/* ── Campana de notificaciones (NotificacionesBell) ──
   El panel se renderiza vía portal a document.body y ahora invierte
   correctamente a modo oscuro; sus estilos oscuros viven directamente
   en components/NotificacionesBell.jsx (selector .notif-panel con
   especificidad propia, sin necesitar reglas globales aquí). ── *//* ═══════════════════════════════════════════════════════════
   🌙 DARK MODE — FIX DE COLORES INLINE (EQUIVALENTES RGB)
   Los navegadores normalizan los colores hex inline (style={{color:"#1e1b4b"}})
   a rgb(r, g, b) en el atributo `style` real del DOM. Por eso las reglas en
   dark-mode-inline-fix.css / module-styles.css que buscan [style*="#1e1b4b"]
   NUNCA coinciden: el fondo de la tarjeta sí cambia (usa la palabra clave
   "white", que el navegador conserva tal cual), pero el texto se queda con
   su color hex oscuro original -> texto oscuro sobre tarjeta oscura = invisible.
   Este archivo replica las mismas reglas usando el equivalente rgb(...) real
   que el navegador guarda, para que sí se apliquen. Aplica a Consulta de
   Asegurados y a cualquier otro módulo con el mismo patrón.
   ═══════════════════════════════════════════════════════════ */

/* ── Texto base oscuro (navy/gris muy oscuro) → claro ── */
html.dark-mode main [style*="rgb(30, 27, 75)"],
html.dark-mode main [style*="rgb(49, 46, 129)"],
html.dark-mode main [style*="rgb(76, 29, 149)"],
html.dark-mode main [style*="rgb(67, 56, 202)"],
html.dark-mode main [style*="rgb(17, 24, 39)"],
html.dark-mode main [style*="rgb(31, 41, 55)"],
html.dark-mode main [style*="rgb(55, 65, 81)"],
html.dark-mode main [style*="rgb(75, 85, 99)"],
html.dark-mode [role="dialog"] [style*="rgb(30, 27, 75)"],
html.dark-mode [role="dialog"] [style*="rgb(55, 65, 81)"] {
  color: #ede9fe !important;
}

/* ── Grises medios (label secundario) → gris claro legible ── */
html.dark-mode main [style*="rgb(107, 114, 128)"],
html.dark-mode main [style*="rgb(156, 163, 175)"],
html.dark-mode [role="dialog"] [style*="rgb(107, 114, 128)"],
html.dark-mode [role="dialog"] [style*="rgb(156, 163, 175)"] {
  color: #b3b3b3 !important;
}

/* ── Gris muy claro (placeholders "—") → tenue visible ── */
html.dark-mode main [style*="rgb(209, 213, 219)"] {
  color: #8a8a8a !important;
}

/* ── Violeta/indigo de marca (texto) → lila vivo ── */
html.dark-mode main [style*="rgb(124, 58, 237)"],
html.dark-mode main [style*="rgb(91, 33, 182)"],
html.dark-mode main [style*="rgb(109, 40, 217)"],
html.dark-mode main [style*="rgb(76, 29, 149)"],
html.dark-mode main [style*="rgb(139, 92, 246)"],
html.dark-mode [role="dialog"] [style*="rgb(124, 58, 237)"],
html.dark-mode [role="dialog"] [style*="rgb(91, 33, 182)"],
html.dark-mode [role="dialog"] [style*="rgb(109, 40, 217)"] {
  color: #c4b5fd !important;
}

/* ── Indigo-500 (links/iconos, ej. "Volver a búsqueda") → vivo ── */
html.dark-mode main [style*="rgb(99, 102, 241)"],
html.dark-mode [role="dialog"] [style*="rgb(99, 102, 241)"] {
  color: #a5b4fc !important;
}

/* ── Verde esmeralda (texto) → verde vivo ── */
html.dark-mode main [style*="rgb(5, 150, 105)"],
html.dark-mode main [style*="rgb(6, 95, 70)"],
html.dark-mode main [style*="rgb(16, 185, 129)"],
html.dark-mode [role="dialog"] [style*="rgb(5, 150, 105)"],
html.dark-mode [role="dialog"] [style*="rgb(6, 95, 70)"] {
  color: #6ee7b7 !important;
}

/* ── Azul (texto) → azul vivo ── */
html.dark-mode main [style*="rgb(37, 99, 235)"],
html.dark-mode main [style*="rgb(30, 64, 175)"],
html.dark-mode main [style*="rgb(29, 78, 216)"],
html.dark-mode main [style*="rgb(59, 130, 246)"],
html.dark-mode [role="dialog"] [style*="rgb(37, 99, 235)"],
html.dark-mode [role="dialog"] [style*="rgb(30, 64, 175)"] {
  color: #93c5fd !important;
}

/* ── Ámbar/naranja oscuro (texto) → ámbar vivo ── */
html.dark-mode main [style*="rgb(146, 64, 14)"],
html.dark-mode main [style*="rgb(120, 53, 15)"],
html.dark-mode main [style*="rgb(217, 119, 6)"],
html.dark-mode [role="dialog"] [style*="rgb(146, 64, 14)"],
html.dark-mode [role="dialog"] [style*="rgb(120, 53, 15)"] {
  color: #fcd34d !important;
}

/* ── Naranja oscuro (texto, moroso) → naranja vivo ── */
html.dark-mode main [style*="rgb(194, 65, 12)"],
html.dark-mode main [style*="rgb(154, 52, 18)"],
html.dark-mode [role="dialog"] [style*="rgb(194, 65, 12)"],
html.dark-mode [role="dialog"] [style*="rgb(154, 52, 18)"] {
  color: #fdba74 !important;
}

/* ── Rojo oscuro (texto, suspendido/vencido) → rojo vivo ── */
html.dark-mode main [style*="rgb(220, 38, 38)"],
html.dark-mode main [style*="rgb(153, 27, 27)"],
html.dark-mode main [style*="rgb(185, 28, 28)"],
html.dark-mode main [style*="rgb(239, 68, 68)"],
html.dark-mode main [style*="rgb(225, 29, 72)"],
html.dark-mode [role="dialog"] [style*="rgb(220, 38, 38)"],
html.dark-mode [role="dialog"] [style*="rgb(153, 27, 27)"],
html.dark-mode [role="dialog"] [style*="rgb(185, 28, 28)"] {
  color: #fca5a5 !important;
}

/* ── Rosa oscuro (texto) → rosa vivo ── */
html.dark-mode main [style*="rgb(157, 23, 77)"] {
  color: #f9a8d4 !important;
}

/* ── Fondos pastel claros con hex inline (equivalentes rgb) → translúcido oscuro ── */
html.dark-mode main [style*="rgb(243, 244, 246)"],
html.dark-mode main [style*="rgb(249, 250, 251)"],
html.dark-mode main [style*="rgb(250, 250, 250)"],
html.dark-mode main [style*="rgb(248, 250, 252)"],
html.dark-mode main [style*="rgb(226, 232, 240)"],
html.dark-mode main [style*="rgb(244, 244, 248)"] {
  background-color: rgba(255,255,255,0.06) !important;
  background-image: none !important;
}

/* ── Bordes/divisores grises muy claros vía inline style (borderColor,
   border, borderBottom, borderTop) → translúcido sutil visible en oscuro.
   Cubre #e5e7eb/#f3f4f6/#f9fafb/#e0e7ff y sus equivalentes rgb que el
   navegador normaliza en el atributo style real. ── */
html.dark-mode main [style*="rgb(229, 231, 235)"],
html.dark-mode main [style*="rgb(243, 244, 246)"],
html.dark-mode main [style*="rgb(249, 250, 251)"],
html.dark-mode main [style*="rgb(224, 231, 255)"],
html.dark-mode main [style*="rgb(241, 245, 249)"],
html.dark-mode [role="dialog"] [style*="rgb(229, 231, 235)"],
html.dark-mode [role="dialog"] [style*="rgb(243, 244, 246)"] {
  border-color: rgba(255,255,255,0.12) !important;
}

/* ── Fondos "white"/#fff/#ffffff pasados como color de FONDO en inputs
   nativos y selects (background: "white" inline) → superficie oscura ── */
html.dark-mode main input[style*="background: white"],
html.dark-mode main input[style*="background:#fff"],
html.dark-mode main select[style*="background: white"],
html.dark-mode main select[style*="background:#fff"],
html.dark-mode main [style*="background: white"],
html.dark-mode main [style*="background:white"],
html.dark-mode [role="dialog"] [style*="background: white"],
html.dark-mode [role="dialog"] [style*="background:white"],
html.dark-mode .fixed [style*="background: white"],
html.dark-mode .fixed [style*="background:white"] {
  background-color: #111111 !important;
}
/* Texto oscuro inline (#1e1b4b, #374151, etc.) dentro de esos inputs ya
   se aclara por las reglas de color de arriba; forzamos también el
   placeholder para que no quede invisible */
html.dark-mode main input::-moz-placeholder { opacity: 1; }
html.dark-mode main input::placeholder { opacity: 1; }

/* ── Modales que NO usan role="dialog" (implementados manualmente con
   "fixed inset-0 bg-black/50" + tarjeta bg-white) — muy común en este
   proyecto (Cobros, AcreditarPagoModal, confirmaciones de eliminar).
   Se detectan por la clase bg-white dentro de un contenedor .fixed. ── */
html.dark-mode .fixed.inset-0 { background-color: rgba(0,0,0,0.75) !important; }
html.dark-mode .fixed .bg-white { background-color: #0d0d0d !important; color: #e5e5e5; }
html.dark-mode .fixed .bg-gray-50 { background-color: #111111 !important; }
html.dark-mode .fixed [style*="background: #fafafa"],
html.dark-mode .fixed [style*="background:#fafafa"],
html.dark-mode .fixed [style*="rgb(250, 250, 250)"] { background-color: #111111 !important; }

/* Bordes de tarjetas/inputs dentro de modales manuales por rgb literal */
html.dark-mode .fixed [style*="rgb(229, 231, 235)"],
html.dark-mode .fixed [style*="rgb(243, 244, 246)"] { border-color: rgba(255,255,255,0.12) !important; }

/* ── Fondo #fafafa inline (muy usado en inputStyle de formularios
   embebidos como AlertaCobrosPendientes) → superficie oscura ── */
html.dark-mode main [style*="rgb(250, 250, 250)"],
html.dark-mode main [style*="background: #fafafa"],
html.dark-mode main [style*="background:#fafafa"] {
  background-color: #111111 !important;
}

/* ── Tarjetas/paneles con bg-white de Tailwind (no inline) dentro de
   secciones que ya viven en dark mode pero no son .fixed/[role=dialog]
   — ej. formulario inline de AlertaCobrosPendientes, filas de lista.
   Restringido a main para no afectar el propio modal/dropdown de shadcn
   que ya maneja su tema vía tokens. ── */
html.dark-mode main .bg-white { background-color: #111111 !important; }
html.dark-mode main .bg-gray-50 { background-color: #161616 !important; }
html.dark-mode main .bg-red-50 { background-color: rgba(225,29,72,0.12) !important; }
html.dark-mode main .bg-red-100 { background-color: rgba(225,29,72,0.18) !important; }
html.dark-mode main .bg-green-50 { background-color: rgba(16,185,129,0.12) !important; }
html.dark-mode main .bg-blue-50 { background-color: rgba(59,130,246,0.12) !important; }
html.dark-mode main .border-red-200,
html.dark-mode main .border-red-300 { border-color: rgba(225,29,72,0.35) !important; }
html.dark-mode main .border-green-200 { border-color: rgba(16,185,129,0.35) !important; }
html.dark-mode main .border-blue-200 { border-color: rgba(59,130,246,0.35) !important; }
html.dark-mode main .border-purple-100,
html.dark-mode main .border-purple-200 { border-color: rgba(124,58,237,0.35) !important; }
/* Texto de utilidades Tailwind con contraste bajo sobre fondo oscuro */
html.dark-mode main .text-gray-700,
html.dark-mode main .text-gray-800 { color: #e5e5e5 !important; }
html.dark-mode main .text-gray-500,
html.dark-mode main .text-gray-400 { color: #a3a3a3 !important; }

/* ── Encabezados de tabla y bordes claros con hex #f3f4f6/#f8faff/#f9fafb
   usados como background+borderBottom en filas de listas (AseguradosList,
   Cobros, etc.) — cubierto también por rgb() arriba, se añade el shorthand
   "background:" con hex de 6 dígitos por si el navegador no normaliza ── */
html.dark-mode main [style*="background: #f8faff"],
html.dark-mode main [style*="background:#f8faff"],
html.dark-mode main [style*="rgb(248, 250, 255)"] {
  background-color: #131313 !important;
}

/* ── Badges de estado con fondos pastel muy claros no cubiertos por las
   reglas de rgb() genéricas (naranja/rosa claros tipo #fff7ed, #fff1f2) ── */
html.dark-mode main [style*="rgb(255, 247, 237)"],
html.dark-mode main [style*="rgb(255, 241, 242)"],
html.dark-mode main [style*="rgb(255, 251, 235)"] {
  background-color: rgba(255,255,255,0.08) !important;
}

html.dark-mode main [style*="rgb(245, 243, 255)"],
html.dark-mode main [style*="rgb(237, 233, 254)"],
html.dark-mode main [style*="rgb(221, 214, 254)"],
html.dark-mode main [style*="rgb(224, 231, 255)"],
html.dark-mode main [style*="rgb(248, 250, 255)"],
html.dark-mode main [style*="rgb(250, 245, 255)"],
html.dark-mode main [style*="rgb(233, 213, 255)"],
html.dark-mode main [style*="rgb(238, 242, 255)"],
html.dark-mode main [style*="rgb(196, 181, 253)"] {
  background-color: rgba(139,92,246,0.14) !important;
  background-image: none !important;
}

html.dark-mode main [style*="rgb(239, 246, 255)"],
html.dark-mode main [style*="rgb(191, 219, 254)"],
html.dark-mode main [style*="rgb(224, 242, 254)"] {
  background-color: rgba(59,130,246,0.14) !important;
  background-image: none !important;
}

html.dark-mode main [style*="rgb(240, 253, 244)"],
html.dark-mode main [style*="rgb(187, 247, 208)"],
html.dark-mode main [style*="rgb(236, 253, 245)"],
html.dark-mode main [style*="rgb(209, 250, 229)"] {
  background-color: rgba(16,185,129,0.14) !important;
  background-image: none !important;
}

html.dark-mode main [style*="rgb(255, 251, 235)"],
html.dark-mode main [style*="rgb(253, 230, 138)"],
html.dark-mode main [style*="rgb(254, 243, 199)"],
html.dark-mode main [style*="rgb(255, 247, 237)"],
html.dark-mode main [style*="rgb(254, 215, 170)"],
html.dark-mode main [style*="rgb(255, 237, 213)"] {
  background-color: rgba(245,158,11,0.14) !important;
  background-image: none !important;
}

html.dark-mode main [style*="rgb(254, 242, 242)"],
html.dark-mode main [style*="rgb(254, 202, 202)"],
html.dark-mode main [style*="rgb(254, 226, 226)"],
html.dark-mode main [style*="rgb(252, 165, 165)"],
html.dark-mode main [style*="rgb(252, 231, 243)"],
html.dark-mode main [style*="rgb(255, 241, 242)"],
html.dark-mode main [style*="rgb(254, 205, 211)"] {
  background-color: rgba(239,68,68,0.14) !important;
  background-image: none !important;
}

/* ── Fondos blancos vía inline hex (equivalente rgb de #ffffff) ── */
html.dark-mode main [style*="rgb(255, 255, 255)"] {
  background-color: #0d0d0d !important;
}

/* ═══════════════════════════════════════════════════════════
   🛡️ RED DE SEGURIDAD GENÉRICA — cualquier color inline oscuro
   o claro que NO haya sido cazado por una regla específica arriba.
   Como los navegadores normalizan todo a rgb(r,g,b), interceptamos
   por RANGOS usando atributos data (imposible con selectores CSS
   puros sobre rgb literal), así que en su lugar reforzamos con
   `filter` sobre contenedores completos como último recurso SOLO
   para texto muy oscuro que no matcheó ninguna regla anterior.
   ═══════════════════════════════════════════════════════════ */

/* Cualquier badge/píldora con fondo inline claro (heurística: bg via
   background shorthand con # claro) que no matcheó arriba, forzamos
   min-contraste con un borde sutil + texto heredado claro */
html.dark-mode main [style*="background: #f"],
html.dark-mode main [style*="background:#f"],
html.dark-mode main [style*="background: rgb(2"],
html.dark-mode main [style*="background: rgb(3"] {
  border: 1px solid rgba(255,255,255,0.08);
}

/* Grises adicionales de marca frecuentes no cubiertos arriba */
html.dark-mode main [style*="rgb(55, 48, 163)"],
html.dark-mode main [style*="rgb(79, 70, 229)"] { color: #a5b4fc !important; }
html.dark-mode main [style*="rgb(196, 181, 253)"] { color: #ede9fe !important; }
html.dark-mode main [style*="rgb(196, 181, 253)"]:not([style*="background"]) { color: #c4b5fd !important; }/* ═══════════════════════════════════════════════════════════
   🌙 DARK MODE — RED DE SEGURIDAD EXTRA (huecos de legibilidad)
   Complemento de module-styles.css / dark-mode-inline-fix.css /
   dark-mode-rgb-fix.css. Cubre colores de texto inline (hex + su
   equivalente rgb que el navegador normaliza en el DOM) que NO
   estaban listados y por eso quedaban oscuros sobre fondos oscuros
   = texto ilegible. Se importa una sola vez en Layout.jsx.
   Aplica en main, [role="dialog"] y modales manuales (.fixed).
   ═══════════════════════════════════════════════════════════ */

/* ── Slate / gris azulado oscuro usado como texto (títulos y cuerpo) ── */
html.dark-mode main [style*="#0f172a"],
html.dark-mode main [style*="#1e293b"],
html.dark-mode main [style*="#334155"],
html.dark-mode main [style*="#475569"],
html.dark-mode main [style*="rgb(15, 23, 42)"],
html.dark-mode main [style*="rgb(30, 41, 59)"],
html.dark-mode main [style*="rgb(51, 65, 85)"],
html.dark-mode main [style*="rgb(71, 85, 105)"],
html.dark-mode [role="dialog"] [style*="#0f172a"],
html.dark-mode [role="dialog"] [style*="#334155"],
html.dark-mode [role="dialog"] [style*="#475569"],
html.dark-mode .fixed [style*="#334155"],
html.dark-mode .fixed [style*="#475569"] {
  color: #e5e5e5 !important;
}

/* ── Slate medio (#64748b / #94a3b8) como texto secundario ── */
html.dark-mode main [style*="#64748b"],
html.dark-mode main [style*="#94a3b8"],
html.dark-mode main [style*="rgb(100, 116, 139)"],
html.dark-mode main [style*="rgb(148, 163, 184)"],
html.dark-mode [role="dialog"] [style*="#64748b"],
html.dark-mode .fixed [style*="#64748b"] {
  color: #a3a3a3 !important;
}

/* ── Ámbar oscuro no cubierto: #b45309 (amber-700), #a16207 (yellow-700) ── */
html.dark-mode main [style*="#b45309"],
html.dark-mode main [style*="#a16207"],
html.dark-mode main [style*="#854d0e"],
html.dark-mode main [style*="rgb(180, 83, 9)"],
html.dark-mode main [style*="rgb(161, 98, 7)"],
html.dark-mode main [style*="rgb(133, 77, 14)"],
html.dark-mode [role="dialog"] [style*="#b45309"],
html.dark-mode .fixed [style*="#b45309"],
html.dark-mode .fixed [style*="rgb(180, 83, 9)"] {
  color: #fcd34d !important;
}

/* ── Indigo oscuro de marca: #3730a3, #4338ca, #4f46e5 como texto ── */
html.dark-mode main [style*="#3730a3"],
html.dark-mode main [style*="#4338ca"],
html.dark-mode main [style*="#4f46e5"],
html.dark-mode main [style*="rgb(55, 48, 163)"],
html.dark-mode main [style*="rgb(67, 56, 202)"],
html.dark-mode main [style*="rgb(79, 70, 229)"],
html.dark-mode [role="dialog"] [style*="#3730a3"],
html.dark-mode .fixed [style*="#3730a3"] {
  color: #c4b5fd !important;
}

/* ── Cyan / teal oscuro como texto (#0e7490, #0f766e, #155e75) ── */
html.dark-mode main [style*="#0e7490"],
html.dark-mode main [style*="#0f766e"],
html.dark-mode main [style*="#155e75"],
html.dark-mode main [style*="rgb(14, 116, 144)"],
html.dark-mode main [style*="rgb(15, 118, 110)"] {
  color: #67e8f9 !important;
}

/* ── Rosa/fucsia oscuro como texto (#be185d, #831843, #9d174d) ── */
html.dark-mode main [style*="#be185d"],
html.dark-mode main [style*="#831843"],
html.dark-mode main [style*="rgb(190, 24, 93)"],
html.dark-mode main [style*="rgb(131, 24, 67)"] {
  color: #f9a8d4 !important;
}

/* ═══════════════════════════════════════════════════════════
   Clases Tailwind con TEXTO muy claro (-300/-200) usado como
   contenido real (no solo iconos decorativos). En modo CLARO son
   demasiado tenues sobre fondo blanco. Los subimos un tono para
   asegurar legibilidad. Solo afecta texto, no iconos con tamaño
   (los iconos decorativos siguen viéndose bien igual).
   ═══════════════════════════════════════════════════════════ */
html:not(.dark-mode) main .text-gray-300 { color: #9ca3af; }
html:not(.dark-mode) main .text-slate-300 { color: #94a3b8; }

/* En modo oscuro esos textos/íconos tenues → tono visible neutro */
html.dark-mode main .text-gray-300,
html.dark-mode main .text-slate-300,
html.dark-mode main .text-gray-200,
html.dark-mode main .text-slate-200 { color: #6b6b6b !important; }

/* ── Superficie oscura de tarjeta bg-gray-900 con texto claro (KPI Usuarios) ──
   En dark mode el fondo #020202 + text-white ya funciona; aseguramos que el
   subtexto text-gray-300 no se pierda. ── */
html.dark-mode main .bg-gray-900 .text-gray-300,
html.dark-mode main .bg-gray-900 .text-white { color: #f5f5f5 !important; }

/* ── Anillos/bordes de foco y divisores inline no cubiertos ── */
html.dark-mode main [style*="#e5e7eb"],
html.dark-mode main [style*="rgb(229, 231, 235)"] {
  border-color: rgba(255,255,255,0.14) !important;
}

@keyframes premium-nav-reveal { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }
@keyframes premium-nav-expand { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

/* ══════════════════════════════════════════
   BASE SHELL — flat, elegant, "app menu" style
══════════════════════════════════════════ */
.floating-sidebar-wrap { padding: .85rem 0 .85rem .85rem; }
.floating-sidebar {
  border-radius: 1.6rem;
  box-shadow: 0 10px 40px hsl(240 30% 20% / .14), 0 2px 10px hsl(240 30% 20% / .08);
  border: 1px solid hsl(240 15% 76%);
}
.is-dark .floating-sidebar {
  box-shadow: 0 10px 40px hsl(0 0% 0% / .55), 0 2px 10px hsl(0 0% 0% / .3);
  border-color: hsl(240 8% 18%);
}
.premium-sidebar {
  background: hsl(240 25% 98.5%);
  font-family: 'Manrope', sans-serif;
  border-radius: inherit;
}
.premium-header { border-bottom: 1px solid hsl(240 15% 78%); }
.premium-logo-frame { background: hsl(0 0% 100%); border: 1px solid hsl(240 15% 72%); box-shadow: 0 2px 6px hsl(240 20% 20% / .08); }
.premium-logo-icon, .premium-brand-subtitle { color: hsl(240 10% 32%); }
.premium-brand-title, .premium-alert-title { color: hsl(240 30% 10%); }
.premium-close-btn, .premium-section-chevron { color: hsl(240 10% 30%); }
.premium-close-btn:hover { color: hsl(240 30% 10%); background: hsl(240 15% 90%); }
.premium-collapse-btn { color: hsl(240 10% 26%); background: hsl(0 0% 100%); border: 1px solid hsl(240 15% 74%); }
.premium-collapse-btn:hover { color: hsl(var(--primary)); border-color: hsl(var(--primary) / .35); background: hsl(var(--primary) / .07); }
.premium-alert-banner { background: hsl(0 0% 100%); border: 1px solid hsl(240 15% 74%); box-shadow: 0 2px 8px hsl(240 20% 20% / .07); }
.premium-alert-sub, .premium-alert-chevron, .premium-section-label { color: hsl(240 10% 32%); }

/* ── Search box (Buscar · Ctrl K) ── */
.premium-search-box {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding: .58rem .8rem;
  border-radius: .9rem;
  background: hsl(0 0% 100%);
  border: 1px solid hsl(240 15% 72%);
  box-shadow: 0 1px 3px hsl(240 20% 20% / .07);
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.premium-search-box:focus-within { border-color: hsl(var(--primary) / .5); background: hsl(0 0% 100%); box-shadow: 0 0 0 3px hsl(var(--primary) / .12); }
.premium-search-icon { color: hsl(240 10% 32%); }
.premium-search-box:focus-within .premium-search-icon { color: hsl(var(--primary)); }
.premium-search-input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  color: hsl(240 30% 12%);
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.premium-search-input:focus, .premium-search-input:focus-visible {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
.premium-search-input::-moz-placeholder { color: hsl(240 8% 48%); }
.premium-search-input::placeholder { color: hsl(240 8% 48%); }
.premium-search-clear { color: hsl(240 10% 32%); display: grid; place-items: center; width: 1.1rem; height: 1.1rem; border-radius: 999px; }
.premium-search-clear:hover { background: hsl(240 15% 82%); color: hsl(240 30% 15%); }
.premium-search-kbd {
  font-size: .62rem; font-weight: 700; letter-spacing: .02em; color: hsl(240 10% 30%);
  background: hsl(240 15% 92%); border: 1px solid hsl(240 15% 70%); border-radius: .4rem; padding: .12rem .38rem;
}

/* ── Section labels (flat, minimal — no boxed toggle) ── */
.premium-navigation { scrollbar-gutter: stable; }
.premium-navigation-caption { margin: 0 0 .7rem .3rem; color: hsl(240 10% 32%); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.premium-nav-section-enter { animation: premium-nav-reveal 320ms cubic-bezier(.22,1,.36,1) both; animation-delay: calc(var(--nav-section-index, 0) * 45ms); }
.premium-nav-item-enter { animation: premium-nav-reveal 260ms cubic-bezier(.22,1,.36,1) both; animation-delay: calc(var(--nav-item-index, 0) * 22ms); }
.premium-collapsed-divider { height: 1px; margin: .3rem .7rem; background: hsl(240 15% 75%); }

.premium-section-toggle {
  position: relative; padding: .5rem .4rem; margin-top: .3rem; border: none; background: transparent;
  border-radius: .6rem; color: hsl(240 30% 12%); cursor: pointer; transition: background-color .16s ease;
}
.premium-section-toggle:hover { background: hsl(240 15% 90%); }
.premium-section-title { color: hsl(240 10% 26%); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; line-height: 1.1; }
.premium-section-icon { display: none; }

/* ── Nav items: flat rows, no boxes, subtle left accent bar on hover/active ── */
.premium-nav-items { display: grid; gap: .1rem; padding: .1rem 0 .3rem; animation: premium-nav-expand 240ms cubic-bezier(.22,1,.36,1) both; }
.premium-nav-item {
  position: relative; min-height: 2.5rem; padding: .45rem .55rem .45rem .5rem; overflow: hidden;
  border: 1px solid transparent; border-radius: .7rem;
  transition: background-color .16s ease, transform .16s ease;
}
.premium-nav-item > * { position: relative; z-index: 1; }
.premium-nav-item::before {
  position: absolute; inset: .3rem auto .3rem 0; width: 3px; border-radius: 999px; content: '';
  opacity: 0; background: hsl(var(--primary)); transition: opacity .16s ease;
}
.premium-nav-icon { border-radius: .55rem; color: hsl(240 10% 26%); background: transparent; transition: color .16s ease, background-color .16s ease; }
.premium-nav-label { color: hsl(240 20% 15%); }
.premium-nav-chevron-active { color: hsl(var(--primary)); }

.premium-nav-item:hover { background: hsl(240 15% 90%); }
.premium-nav-item:hover .premium-nav-icon { color: hsl(240 30% 10%); }
.premium-nav-item:hover .premium-nav-label { color: hsl(240 30% 10%); }
.premium-nav-item:active { transform: scale(.985); }

.premium-nav-active { background: hsl(var(--primary) / .12); }
.premium-nav-active::before { opacity: 1; }
.premium-nav-icon-active { color: hsl(var(--primary)); background: transparent; }
.premium-nav-label-active { color: hsl(var(--primary)); }

/* ══════════════════════════════════════════
   TOPBAR BRAND — elegant, strictly scoped to .desktop-topbar
   (all rules below are nested under .desktop-topbar so they can
   never leak into module pages or the sidebar)
══════════════════════════════════════════ */
.desktop-topbar { position: relative; }
.desktop-topbar::after {
  content: '';
  position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, hsl(var(--primary) / .35) 45%, hsl(var(--primary) / .35) 55%, transparent);
  opacity: .8;
}
.desktop-topbar .topbar-logo-frame {
  background: linear-gradient(155deg, hsl(0 0% 100%), hsl(240 20% 97%));
  border: 1px solid hsl(240 15% 78%);
  box-shadow: 0 2px 8px hsl(240 25% 20% / .10), inset 0 1px 0 hsl(0 0% 100% / .6);
  transition: box-shadow .3s ease, transform .3s ease;
  animation: topbarLogoFloat 5s ease-in-out infinite;
}
.desktop-topbar:hover .topbar-logo-frame {
  box-shadow: 0 4px 14px hsl(var(--primary) / .22), inset 0 1px 0 hsl(0 0% 100% / .6);
  transform: scale(1.06) rotate(-2deg);
  animation-play-state: paused;
}
.is-dark .desktop-topbar .topbar-logo-frame {
  background: linear-gradient(155deg, hsl(240 8% 16%), hsl(240 8% 11%));
  border-color: hsl(240 8% 22%);
  box-shadow: 0 2px 10px hsl(0 0% 0% / .4);
}
@keyframes topbarLogoFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-2px) rotate(1.5deg); }
}
.desktop-topbar .topbar-brand-title {
  font-family: 'Playfair Display', 'Manrope', serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .01em;
  padding-top: 1px;
  transition: letter-spacing .3s ease, text-shadow .3s ease;
  color: hsl(240 32% 14%);
  text-shadow: 0 0 0 transparent;
  animation: topbarTitleGlow 5s ease-in-out infinite;
}
.desktop-topbar:hover .topbar-brand-title { letter-spacing: .035em; animation-duration: 2.2s; }
@keyframes topbarTitleGlow {
  0%, 100% { text-shadow: 0 0 0 hsl(var(--primary) / 0); }
  50% { text-shadow: 0 0 10px hsl(var(--primary) / .35); }
}
.is-dark .desktop-topbar .topbar-brand-title { color: hsl(0 0% 97%); }
.desktop-topbar .topbar-brand-subtitle {
  font-family: 'Manrope', sans-serif;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: hsl(var(--primary) / .75);
  margin-top: 3px;
  position: relative;
  opacity: .88;
  animation: topbarSubtitleFade 5s ease-in-out infinite;
}
@keyframes topbarSubtitleFade {
  0%, 100% { opacity: .78; letter-spacing: .12em; }
  50% { opacity: 1; letter-spacing: .16em; }
}
.is-dark .desktop-topbar .topbar-brand-subtitle { color: hsl(var(--primary) / .8); }
@media (prefers-reduced-motion: reduce) {
  .desktop-topbar .topbar-logo-frame, .desktop-topbar .topbar-brand-title, .desktop-topbar .topbar-brand-subtitle { animation: none !important; }
}

/* ── Footer / user card ── */
.premium-footer { border-top: 1px solid hsl(240 15% 78%); background: transparent; }
.premium-user-card { background: hsl(0 0% 100%); border: 1px solid hsl(240 15% 72%); box-shadow: 0 1px 3px hsl(240 20% 20% / .07); }
.premium-user-card:hover { background: hsl(240 15% 92%); border-color: hsl(240 15% 65%); }
.premium-user-avatar { color: #ffffff; background: linear-gradient(145deg, #7c3aed, #6d28d9); box-shadow: 0 2px 8px rgba(124,58,237,0.45); }
.premium-user-role { color: hsl(142 70% 26%); }
.premium-user-menu { background: hsl(0 0% 100%); border: 1px solid hsl(240 15% 72%); box-shadow: 0 12px 30px hsl(240 20% 10% / .15); }
.premium-logout-btn { color: hsl(var(--muted-foreground)); }
.premium-logout-btn:hover { color: hsl(var(--destructive)); background: hsl(var(--destructive) / .08); }

/* ══════════════════════════════════════════
   DARK MODE
══════════════════════════════════════════ */
.is-dark .premium-sidebar { background: hsl(240 10% 8%); }
.is-dark .premium-header { border-bottom-color: hsl(240 8% 18%); }
.is-dark .premium-logo-frame { background: hsl(240 8% 14%); border-color: hsl(240 8% 20%); }
.is-dark .premium-brand-title, .is-dark .premium-alert-title { color: hsl(0 0% 96%); }
.is-dark .premium-brand-subtitle, .is-dark .premium-logo-icon { color: hsl(240 6% 62%); }
.is-dark .premium-navigation-caption, .is-dark .premium-alert-sub, .is-dark .premium-alert-chevron, .is-dark .premium-section-label { color: hsl(240 6% 58%); }
.is-dark .premium-collapsed-divider { background: hsl(240 8% 20%); }
.is-dark .premium-close-btn { color: hsl(240 6% 58%); }
.is-dark .premium-close-btn:hover { color: hsl(0 0% 96%); background: hsl(240 8% 16%); }
.is-dark .premium-collapse-btn { color: hsl(240 6% 62%); background: hsl(240 8% 13%); border-color: hsl(240 8% 20%); }
.is-dark .premium-collapse-btn:hover { color: hsl(var(--primary)); border-color: hsl(var(--primary) / .4); background: hsl(var(--primary) / .1); }
.is-dark .premium-alert-banner { background: hsl(240 8% 13%); border-color: hsl(240 8% 20%); }

.is-dark .premium-search-box { background: hsl(240 8% 13%); border-color: hsl(240 8% 20%); }
.is-dark .premium-search-box:focus-within { border-color: hsl(var(--primary) / .5); background: hsl(240 8% 15%); box-shadow: 0 0 0 3px hsl(var(--primary) / .15); }
.is-dark .premium-search-icon { color: hsl(240 6% 58%); }
.is-dark .premium-search-input { color: hsl(0 0% 94%); }
.is-dark .premium-search-input::-moz-placeholder { color: hsl(240 6% 52%); }
.is-dark .premium-search-input::placeholder { color: hsl(240 6% 52%); }
.is-dark .premium-search-clear:hover { background: hsl(240 8% 22%); color: hsl(0 0% 94%); }
.is-dark .premium-search-kbd { color: hsl(240 6% 62%); background: hsl(240 8% 16%); border-color: hsl(240 8% 24%); }

.is-dark .premium-section-toggle { color: hsl(0 0% 94%); }
.is-dark .premium-section-toggle:hover { background: hsl(240 8% 15%); }
.is-dark .premium-section-title { color: hsl(240 6% 55%); }

.is-dark .premium-nav-icon { color: hsl(240 6% 62%); }
.is-dark .premium-nav-label { color: hsl(240 6% 75%); }
.is-dark .premium-nav-item:hover { background: hsl(240 8% 15%); }
.is-dark .premium-nav-item:hover .premium-nav-icon { color: hsl(0 0% 94%); }
.is-dark .premium-nav-item:hover .premium-nav-label { color: hsl(0 0% 94%); }
.is-dark .premium-nav-active { background: hsl(var(--primary) / .16); }
.is-dark .premium-nav-icon-active { color: hsl(var(--primary)); }
.is-dark .premium-nav-label-active { color: hsl(0 0% 98%); }
.is-dark .premium-nav-chevron-active { color: hsl(var(--primary)); }

.is-dark .premium-footer { border-top-color: hsl(240 8% 18%); background: transparent; }
.is-dark .premium-user-card { background: hsl(240 8% 13%); border-color: hsl(240 8% 20%); box-shadow: 0 1px 3px hsl(0 0% 0% / .3); }
.is-dark .premium-user-card:hover { background: hsl(240 8% 16%); border-color: hsl(240 8% 24%); }
.is-dark .premium-user-role { color: hsl(142 55% 55%); }
.is-dark .premium-user-menu { background: hsl(240 8% 12%); border-color: hsl(240 8% 20%); box-shadow: 0 12px 30px hsl(0 0% 0% / .4); }

@media (prefers-reduced-motion: reduce) {
  .premium-nav-section-enter, .premium-nav-item-enter, .premium-nav-items { animation: none !important; }
  .premium-nav-item, .premium-nav-icon, .premium-section-toggle { transition: none !important; }
}/*
! tailwindcss v3.4.3 | 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] {
  display: none;
}
    :root {
        --background: hsl(0 0% 100%);
        --foreground: hsl(222.2 47.4% 11.2%);
        --muted: hsl(210 40% 96.1%);
        --muted-foreground: hsl(215.4 16.3% 46.9%);
        --popover: hsl(0 0% 100%);
        --popover-foreground: hsl(222.2 47.4% 11.2%);
        --border: hsl(214.3 31.8% 91.4%);
        --input: hsl(214.3 31.8% 91.4%);
        --card: hsl(0 0% 100%);
        --card-foreground: hsl(222.2 47.4% 11.2%);
        --primary: hsl(222.2 47.4% 11.2%);
        --primary-foreground: hsl(210 40% 98%);
        --secondary: hsl(210 40% 96.1%);
        --secondary-foreground: hsl(222.2 47.4% 11.2%);
        --accent: hsl(210 40% 96.1%);
        --accent-foreground: hsl(222.2 47.4% 11.2%);
        --destructive: hsl(0 100% 50%);
        --destructive-foreground: hsl(210 40% 98%);
        --ring: hsl(215 20.2% 65.1%);
        --radius: 0.5rem;

        /* Sidebar variables */
        --sidebar-background: hsl(0 0% 98%);
        --sidebar-foreground: hsl(240 5.3% 26.1%);
        --sidebar-primary: hsl(240 5.9% 10%);
        --sidebar-primary-foreground: hsl(0 0% 98%);
        --sidebar-accent: hsl(240 4.8% 95.9%);
        --sidebar-accent-foreground: hsl(240 5.9% 10%);
        --sidebar-border: hsl(220 13% 91%);
        --sidebar-ring: hsl(217.2 91.2% 59.8%);
    }

    .dark {
        --background: hsl(224 71% 4%);
        --foreground: hsl(213 31% 91%);
        --muted: hsl(223 47% 11%);
        --muted-foreground: hsl(215.4 16.3% 56.9%);
        --accent: hsl(216 34% 17%);
        --accent-foreground: hsl(210 40% 98%);
        --popover: hsl(224 71% 4%);
        --popover-foreground: hsl(215 20.2% 65.1%);
        --border: hsl(216 34% 17%);
        --input: hsl(216 34% 17%);
        --card: hsl(224 71% 4%);
        --card-foreground: hsl(213 31% 91%);
        --primary: hsl(210 40% 98%);
        --primary-foreground: hsl(222.2 47.4% 1.2%);
        --secondary: hsl(222.2 47.4% 11.2%);
        --secondary-foreground: hsl(210 40% 98%);
        --destructive: hsl(0 63% 31%);
        --destructive-foreground: hsl(210 40% 98%);
        --ring: hsl(216 34% 17%);

        /* Sidebar variables for dark mode */
        --sidebar-background: hsl(240 5.9% 10%);
        --sidebar-foreground: hsl(240 4.8% 95.9%);
        --sidebar-primary: hsl(224.3 76.3% 48%);
        --sidebar-primary-foreground: hsl(0 0% 100%);
        --sidebar-accent: hsl(240 3.7% 15.9%);
        --sidebar-accent-foreground: hsl(240 4.8% 95.9%);
        --sidebar-border: hsl(240 3.7% 15.9%);
        --sidebar-ring: hsl(217.2 91.2% 59.8%);
    }

    * {
        border-color: var(--border);
    }

    body {
        margin: 0;
        padding: 0;
        font-family: system-ui, -apple-system, sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        background-color: var(--background);
        color: var(--foreground);
    }

*, ::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:  ;
}
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}
@media (min-width: 1400px) {

  .container {
    max-width: 1400px;
  }
}
.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 !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-6 {
  left: 1.5rem;
  right: 1.5rem;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-0 {
  bottom: -0px;
}
.-bottom-0\.5 {
  bottom: -0.125rem;
}
.-bottom-10 {
  bottom: -2.5rem;
}
.-bottom-12 {
  bottom: -3rem;
}
.-bottom-16 {
  bottom: -4rem;
}
.-bottom-20 {
  bottom: -5rem;
}
.-bottom-24 {
  bottom: -6rem;
}
.-bottom-32 {
  bottom: -8rem;
}
.-left-1 {
  left: -0.25rem;
}
.-left-10 {
  left: -2.5rem;
}
.-left-12 {
  left: -3rem;
}
.-left-16 {
  left: -4rem;
}
.-left-24 {
  left: -6rem;
}
.-left-8 {
  left: -2rem;
}
.-left-\[18px\] {
  left: -18px;
}
.-left-\[25px\] {
  left: -25px;
}
.-right-0 {
  right: -0px;
}
.-right-0\.5 {
  right: -0.125rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-1\.5 {
  right: -0.375rem;
}
.-right-10 {
  right: -2.5rem;
}
.-right-12 {
  right: -3rem;
}
.-right-14 {
  right: -3.5rem;
}
.-right-16 {
  right: -4rem;
}
.-right-2 {
  right: -0.5rem;
}
.-right-20 {
  right: -5rem;
}
.-right-6 {
  right: -1.5rem;
}
.-right-8 {
  right: -2rem;
}
.-top-1 {
  top: -0.25rem;
}
.-top-1\.5 {
  top: -0.375rem;
}
.-top-10 {
  top: -2.5rem;
}
.-top-12 {
  top: -3rem;
}
.-top-14 {
  top: -3.5rem;
}
.-top-16 {
  top: -4rem;
}
.-top-2 {
  top: -0.5rem;
}
.-top-20 {
  top: -5rem;
}
.-top-24 {
  top: -6rem;
}
.-top-28 {
  top: -7rem;
}
.-top-6 {
  top: -1.5rem;
}
.-top-8 {
  top: -2rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-5 {
  bottom: 1.25rem;
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-1\/3 {
  left: 33.333333%;
}
.left-2 {
  left: 0.5rem;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.left-3\.5 {
  left: 0.875rem;
}
.left-4 {
  left: 1rem;
}
.left-\[50\%\] {
  left: 50%;
}
.right-0 {
  right: 0px;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-2 {
  right: 0.5rem;
}
.right-2\.5 {
  right: 0.625rem;
}
.right-3 {
  right: 0.75rem;
}
.right-3\.5 {
  right: 0.875rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-6 {
  right: 1.5rem;
}
.right-8 {
  right: 2rem;
}
.right-\[22\%\] {
  right: 22%;
}
.top-0 {
  top: 0px;
}
.top-1 {
  top: 0.25rem;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-12 {
  top: 3rem;
}
.top-2 {
  top: 0.5rem;
}
.top-2\.5 {
  top: 0.625rem;
}
.top-3 {
  top: 0.75rem;
}
.top-3\.5 {
  top: 0.875rem;
}
.top-4 {
  top: 1rem;
}
.top-5 {
  top: 1.25rem;
}
.top-6 {
  top: 1.5rem;
}
.top-7 {
  top: 1.75rem;
}
.top-9 {
  top: 2.25rem;
}
.top-\[1px\] {
  top: 1px;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[60\%\] {
  top: 60%;
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.-z-10 {
  z-index: -10;
}
.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-\[1000\] {
  z-index: 1000;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[1\] {
  z-index: 1;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[70\] {
  z-index: 70;
}
.z-\[998\] {
  z-index: 998;
}
.z-\[9999\] {
  z-index: 9999;
}
.z-\[999\] {
  z-index: 999;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-first {
  order: -9999;
}
.order-last {
  order: 9999;
}
.col-span-1 {
  grid-column: span 1 / span 1;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.col-span-5 {
  grid-column: span 5 / span 5;
}
.col-span-6 {
  grid-column: span 6 / span 6;
}
.\!m-0 {
  margin: 0px !important;
}
.m-0 {
  margin: 0px;
}
.m-auto {
  margin: auto;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-my-2 {
  margin-top: -0.5rem;
  margin-bottom: -0.5rem;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}
.mx-2 {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}
.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-0 {
  margin-top: 0px;
  margin-bottom: 0px;
}
.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.-ml-4 {
  margin-left: -1rem;
}
.-mt-0 {
  margin-top: -0px;
}
.-mt-0\.5 {
  margin-top: -0.125rem;
}
.-mt-1 {
  margin-top: -0.25rem;
}
.-mt-3 {
  margin-top: -0.75rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.mb-0 {
  margin-bottom: 0px;
}
.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-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-7 {
  margin-bottom: 1.75rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-0 {
  margin-left: 0px;
}
.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-auto {
  margin-left: auto;
}
.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-10 {
  margin-top: 2.5rem;
}
.mt-14 {
  margin-top: 3.5rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-24 {
  margin-top: 6rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.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;
}
.\!block {
  display: block !important;
}
.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;
}
.hidden {
  display: none;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.size-10 {
  width: 2.5rem;
  height: 2.5rem;
}
.size-3 {
  width: 0.75rem;
  height: 0.75rem;
}
.size-3\.5 {
  width: 0.875rem;
  height: 0.875rem;
}
.size-4 {
  width: 1rem;
  height: 1rem;
}
.size-6 {
  width: 1.5rem;
  height: 1.5rem;
}
.size-8 {
  width: 2rem;
  height: 2rem;
}
.size-\[--cell-size\] {
  width: var(--cell-size);
  height: var(--cell-size);
}
.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-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-36 {
  height: 9rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-44 {
  height: 11rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-52 {
  height: 13rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-72 {
  height: 18rem;
}
.h-8 {
  height: 2rem;
}
.h-80 {
  height: 20rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[--cell-size\] {
  height: var(--cell-size);
}
.h-\[1px\] {
  height: 1px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[3px\] {
  height: 3px;
}
.h-\[70vh\] {
  height: 70vh;
}
.h-\[90vh\] {
  height: 90vh;
}
.h-\[calc\(100\%-1\.5rem\)\] {
  height: calc(100% - 1.5rem);
}
.h-\[calc\(100vh-2rem\)\] {
  height: calc(100vh - 2rem);
}
.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
  height: var(--radix-navigation-menu-viewport-height);
}
.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;
}
.h-svh {
  height: 100svh;
}
.max-h-24 {
  max-height: 6rem;
}
.max-h-28 {
  max-height: 7rem;
}
.max-h-32 {
  max-height: 8rem;
}
.max-h-36 {
  max-height: 9rem;
}
.max-h-40 {
  max-height: 10rem;
}
.max-h-44 {
  max-height: 11rem;
}
.max-h-48 {
  max-height: 12rem;
}
.max-h-52 {
  max-height: 13rem;
}
.max-h-56 {
  max-height: 14rem;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-64 {
  max-height: 16rem;
}
.max-h-72 {
  max-height: 18rem;
}
.max-h-80 {
  max-height: 20rem;
}
.max-h-\[--radix-context-menu-content-available-height\] {
  max-height: var(--radix-context-menu-content-available-height);
}
.max-h-\[--radix-select-content-available-height\] {
  max-height: var(--radix-select-content-available-height);
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[410px\] {
  max-height: 410px;
}
.max-h-\[560px\] {
  max-height: 560px;
}
.max-h-\[620px\] {
  max-height: 620px;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[92vh\] {
  max-height: 92vh;
}
.max-h-\[94vh\] {
  max-height: 94vh;
}
.max-h-\[95vh\] {
  max-height: 95vh;
}
.max-h-\[calc\(100dvh-2rem\)\] {
  max-height: calc(100dvh - 2rem);
}
.max-h-\[calc\(100vh-260px\)\] {
  max-height: calc(100vh - 260px);
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
  max-height: var(--radix-dropdown-menu-content-available-height);
}
.max-h-screen {
  max-height: 100vh;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-10 {
  min-height: 2.5rem;
}
.min-h-12 {
  min-height: 3rem;
}
.min-h-24 {
  min-height: 6rem;
}
.min-h-40 {
  min-height: 10rem;
}
.min-h-48 {
  min-height: 12rem;
}
.min-h-56 {
  min-height: 14rem;
}
.min-h-64 {
  min-height: 16rem;
}
.min-h-72 {
  min-height: 18rem;
}
.min-h-\[180px\] {
  min-height: 180px;
}
.min-h-\[300px\] {
  min-height: 300px;
}
.min-h-\[420px\] {
  min-height: 420px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[60px\] {
  min-height: 60px;
}
.min-h-\[60vh\] {
  min-height: 60vh;
}
.min-h-\[70vh\] {
  min-height: 70vh;
}
.min-h-\[calc\(100vh-9rem\)\] {
  min-height: calc(100vh - 9rem);
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.min-h-svh {
  min-height: 100svh;
}
.w-0 {
  width: 0px;
}
.w-0\.5 {
  width: 0.125rem;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.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-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-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-52 {
  width: 13rem;
}
.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-\[--cell-size\] {
  width: var(--cell-size);
}
.w-\[--sidebar-width\] {
  width: var(--sidebar-width);
}
.w-\[100px\] {
  width: 100px;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[272px\] {
  width: 272px;
}
.w-\[280px\] {
  width: 280px;
}
.w-\[2px\] {
  width: 2px;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[44\%\] {
  width: 44%;
}
.w-\[46\%\] {
  width: 46%;
}
.w-\[76px\] {
  width: 76px;
}
.w-\[92px\] {
  width: 92px;
}
.w-\[92vw\] {
  width: 92vw;
}
.w-\[95vw\] {
  width: 95vw;
}
.w-\[96vw\] {
  width: 96vw;
}
.w-\[calc\(100\%-2rem\)\] {
  width: calc(100% - 2rem);
}
.w-\[min\(22rem\2c calc\(100vw-2rem\)\)\] {
  width: min(22rem,calc(100vw - 2rem));
}
.w-auto {
  width: auto;
}
.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-10 {
  min-width: 2.5rem;
}
.min-w-36 {
  min-width: 9rem;
}
.min-w-4 {
  min-width: 1rem;
}
.min-w-40 {
  min-width: 10rem;
}
.min-w-44 {
  min-width: 11rem;
}
.min-w-48 {
  min-width: 12rem;
}
.min-w-5 {
  min-width: 1.25rem;
}
.min-w-64 {
  min-width: 16rem;
}
.min-w-8 {
  min-width: 2rem;
}
.min-w-9 {
  min-width: 2.25rem;
}
.min-w-\[--cell-size\] {
  min-width: var(--cell-size);
}
.min-w-\[1000px\] {
  min-width: 1000px;
}
.min-w-\[104px\] {
  min-width: 104px;
}
.min-w-\[1050px\] {
  min-width: 1050px;
}
.min-w-\[1120px\] {
  min-width: 1120px;
}
.min-w-\[12rem\] {
  min-width: 12rem;
}
.min-w-\[130px\] {
  min-width: 130px;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[16px\] {
  min-width: 16px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[20px\] {
  min-width: 20px;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[2300px\] {
  min-width: 2300px;
}
.min-w-\[640px\] {
  min-width: 640px;
}
.min-w-\[720px\] {
  min-width: 720px;
}
.min-w-\[760px\] {
  min-width: 760px;
}
.min-w-\[800px\] {
  min-width: 800px;
}
.min-w-\[820px\] {
  min-width: 820px;
}
.min-w-\[850px\] {
  min-width: 850px;
}
.min-w-\[860px\] {
  min-width: 860px;
}
.min-w-\[880px\] {
  min-width: 880px;
}
.min-w-\[8rem\] {
  min-width: 8rem;
}
.min-w-\[900px\] {
  min-width: 900px;
}
.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-28 {
  max-width: 7rem;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-32 {
  max-width: 8rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-7xl {
  max-width: 80rem;
}
.max-w-\[--skeleton-width\] {
  max-width: var(--skeleton-width);
}
.max-w-\[120px\] {
  max-width: 120px;
}
.max-w-\[130px\] {
  max-width: 130px;
}
.max-w-\[140px\] {
  max-width: 140px;
}
.max-w-\[1440px\] {
  max-width: 1440px;
}
.max-w-\[150px\] {
  max-width: 150px;
}
.max-w-\[1600px\] {
  max-width: 1600px;
}
.max-w-\[160px\] {
  max-width: 160px;
}
.max-w-\[180px\] {
  max-width: 180px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[220px\] {
  max-width: 220px;
}
.max-w-\[300px\] {
  max-width: 300px;
}
.max-w-\[392px\] {
  max-width: 392px;
}
.max-w-\[560px\] {
  max-width: 560px;
}
.max-w-\[75\%\] {
  max-width: 75%;
}
.max-w-\[85\%\] {
  max-width: 85%;
}
.max-w-\[92\%\] {
  max-width: 92%;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-max {
  max-width: -moz-max-content;
  max-width: max-content;
}
.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-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.grow-0 {
  flex-grow: 0;
}
.basis-full {
  flex-basis: 100%;
}
.caption-bottom {
  caption-side: bottom;
}
.border-collapse {
  border-collapse: collapse;
}
.origin-\[--radix-context-menu-content-transform-origin\] {
  transform-origin: var(--radix-context-menu-content-transform-origin);
}
.origin-\[--radix-dropdown-menu-content-transform-origin\] {
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[--radix-hover-card-content-transform-origin\] {
  transform-origin: var(--radix-hover-card-content-transform-origin);
}
.origin-\[--radix-menubar-content-transform-origin\] {
  transform-origin: var(--radix-menubar-content-transform-origin);
}
.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);
}
.origin-\[--radix-tooltip-content-transform-origin\] {
  transform-origin: var(--radix-tooltip-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-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-x-px {
  --tw-translate-x: -1px;
  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-y-7 {
  --tw-translate-y: -1.75rem;
  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-8 {
  --tw-translate-y: -2rem;
  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-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));
}
.translate-x-4 {
  --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));
}
.translate-x-5 {
  --tw-translate-x: 1.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));
}
.translate-x-6 {
  --tw-translate-x: 1.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-x-7 {
  --tw-translate-x: 1.75rem;
  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-8 {
  --tw-translate-x: 2rem;
  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-px {
  --tw-translate-x: 1px;
  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-3 {
  --tw-translate-y: 0.75rem;
  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-45 {
  --tw-rotate: 45deg;
  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));
}
.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-\[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));
}
.animate-\[wiggle_1s_ease-in-out\] {
  animation: wiggle 1s ease-in-out;
}
@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 spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-default {
  cursor: default;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.cursor-text {
  cursor: text;
}
.cursor-wait {
  cursor: wait;
}
.touch-none {
  touch-action: none;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize-y {
  resize: vertical;
}
.resize {
  resize: both;
}
.list-inside {
  list-style-position: inside;
}
.list-decimal {
  list-style-type: decimal;
}
.list-disc {
  list-style-type: disc;
}
.list-none {
  list-style-type: none;
}
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.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_auto\] {
  grid-template-columns: 1fr auto;
}
.grid-cols-\[1fr_auto_auto\] {
  grid-template-columns: 1fr auto auto;
}
.flex-row {
  flex-direction: row;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}
.flex-wrap {
  flex-wrap: wrap;
}
.place-content-center {
  place-content: center;
}
.place-items-center {
  place-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-stretch {
  align-items: stretch;
}
.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-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-7 {
  gap: 1.75rem;
}
.gap-x-2 {
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.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-1 {
  row-gap: 0.25rem;
}
.gap-y-1\.5 {
  row-gap: 0.375rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.gap-y-3 {
  row-gap: 0.75rem;
}
.gap-y-4 {
  row-gap: 1rem;
}
.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-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-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * 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-7 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.75rem * 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-x > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-x-reverse: 0;
  border-right-width: calc(1px * var(--tw-divide-x-reverse));
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-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-amber-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-divide-opacity));
}
.divide-border > :not([hidden]) ~ :not([hidden]) {
  border-color: var(--border);
}
.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity));
}
.divide-gray-50 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-divide-opacity));
}
.divide-red-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-divide-opacity));
}
.divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-divide-opacity));
}
.self-start {
  align-self: flex-start;
}
.self-end {
  align-self: flex-end;
}
.self-center {
  align-self: center;
}
.self-stretch {
  align-self: stretch;
}
.justify-self-center {
  justify-self: center;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.text-wrap {
  text-wrap: wrap;
}
.text-balance {
  text-wrap: balance;
}
.break-words {
  overflow-wrap: break-word;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[1\.5rem\] {
  border-radius: 1.5rem;
}
.rounded-\[1\.75rem\] {
  border-radius: 1.75rem;
}
.rounded-\[2\.5rem\] {
  border-radius: 2.5rem;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.rounded-\[2rem\] {
  border-radius: 2rem;
}
.rounded-\[calc\(var\(--radius\)-5px\)\] {
  border-radius: calc(var(--radius) - 5px);
}
.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-2xl {
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.rounded-b-3xl {
  border-bottom-right-radius: 1.5rem;
  border-bottom-left-radius: 1.5rem;
}
.rounded-l-md {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.rounded-l-xl {
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}
.rounded-r-full {
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
.rounded-r-md {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.rounded-t-\[10px\] {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.rounded-t-\[2rem\] {
  border-top-left-radius: 2rem;
  border-top-right-radius: 2rem;
}
.rounded-bl-md {
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.rounded-br-md {
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.rounded-tl-sm {
  border-top-left-radius: calc(var(--radius) - 4px);
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-\[1\.5px\] {
  border-width: 1.5px;
}
.border-\[3px\] {
  border-width: 3px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-l {
  border-left-width: 1px;
}
.border-l-0 {
  border-left-width: 0px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-dashed {
  border-style: dashed;
}
.border-\[\#7c3aed\]\/25 {
  border-color: rgb(124 58 237 / 0.25);
}
.border-\[--color-border\] {
  border-color: var(--color-border);
}
.border-amber-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity));
}
.border-amber-200 {
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity));
}
.border-amber-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity));
}
.border-amber-300\/30 {
  border-color: rgb(252 211 77 / 0.3);
}
.border-amber-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity));
}
.border-amber-500\/20 {
  border-color: rgb(245 158 11 / 0.2);
}
.border-amber-500\/25 {
  border-color: rgb(245 158 11 / 0.25);
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}
.border-amber-600 {
  --tw-border-opacity: 1;
  border-color: rgb(217 119 6 / var(--tw-border-opacity));
}
.border-background {
  border-color: var(--background);
}
.border-black\/5 {
  border-color: rgb(0 0 0 / 0.05);
}
.border-blue-100 {
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / var(--tw-border-opacity));
}
.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity));
}
.border-blue-300 {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity));
}
.border-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity));
}
.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity));
}
.border-blue-500\/20 {
  border-color: rgb(59 130 246 / 0.2);
}
.border-blue-600 {
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / var(--tw-border-opacity));
}
.border-border {
  border-color: var(--border);
}
.border-current {
  border-color: currentColor;
}
.border-cyan-300 {
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity));
}
.border-destructive {
  border-color: var(--destructive);
}
.border-emerald-100 {
  --tw-border-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-border-opacity));
}
.border-emerald-200 {
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity));
}
.border-emerald-300 {
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / var(--tw-border-opacity));
}
.border-emerald-300\/30 {
  border-color: rgb(110 231 183 / 0.3);
}
.border-emerald-400 {
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity));
}
.border-emerald-400\/20 {
  border-color: rgb(52 211 153 / 0.2);
}
.border-emerald-400\/40 {
  border-color: rgb(52 211 153 / 0.4);
}
.border-emerald-500 {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity));
}
.border-emerald-500\/15 {
  border-color: rgb(16 185 129 / 0.15);
}
.border-emerald-500\/20 {
  border-color: rgb(16 185 129 / 0.2);
}
.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}
.border-fuchsia-100 {
  --tw-border-opacity: 1;
  border-color: rgb(250 232 255 / var(--tw-border-opacity));
}
.border-fuchsia-200 {
  --tw-border-opacity: 1;
  border-color: rgb(245 208 254 / var(--tw-border-opacity));
}
.border-fuchsia-300 {
  --tw-border-opacity: 1;
  border-color: rgb(240 171 252 / var(--tw-border-opacity));
}
.border-fuchsia-400\/15 {
  border-color: rgb(232 121 249 / 0.15);
}
.border-fuchsia-400\/30 {
  border-color: rgb(232 121 249 / 0.3);
}
.border-fuchsia-500\/15 {
  border-color: rgb(217 70 239 / 0.15);
}
.border-fuchsia-500\/20 {
  border-color: rgb(217 70 239 / 0.2);
}
.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}
.border-gray-400 {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity));
}
.border-gray-50 {
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-border-opacity));
}
.border-gray-500 {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity));
}
.border-green-100 {
  --tw-border-opacity: 1;
  border-color: rgb(220 252 231 / var(--tw-border-opacity));
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity));
}
.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity));
}
.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity));
}
.border-indigo-100 {
  --tw-border-opacity: 1;
  border-color: rgb(224 231 255 / var(--tw-border-opacity));
}
.border-indigo-200 {
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / var(--tw-border-opacity));
}
.border-indigo-300 {
  --tw-border-opacity: 1;
  border-color: rgb(165 180 252 / var(--tw-border-opacity));
}
.border-input {
  border-color: var(--input);
}
.border-lime-200 {
  --tw-border-opacity: 1;
  border-color: rgb(217 249 157 / var(--tw-border-opacity));
}
.border-lime-300 {
  --tw-border-opacity: 1;
  border-color: rgb(190 242 100 / var(--tw-border-opacity));
}
.border-muted-foreground {
  border-color: var(--muted-foreground);
}
.border-orange-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity));
}
.border-orange-200\/70 {
  border-color: rgb(254 215 170 / 0.7);
}
.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity));
}
.border-orange-300\/40 {
  border-color: rgb(253 186 116 / 0.4);
}
.border-orange-300\/50 {
  border-color: rgb(253 186 116 / 0.5);
}
.border-orange-400\/25 {
  border-color: rgb(251 146 60 / 0.25);
}
.border-orange-400\/30 {
  border-color: rgb(251 146 60 / 0.3);
}
.border-orange-500\/20 {
  border-color: rgb(249 115 22 / 0.2);
}
.border-orange-500\/30 {
  border-color: rgb(249 115 22 / 0.3);
}
.border-pink-200 {
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / var(--tw-border-opacity));
}
.border-pink-300 {
  --tw-border-opacity: 1;
  border-color: rgb(249 168 212 / var(--tw-border-opacity));
}
.border-primary {
  border-color: var(--primary);
}
.border-primary-foreground {
  border-color: var(--primary-foreground);
}
.border-purple-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 232 255 / var(--tw-border-opacity));
}
.border-purple-200 {
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / var(--tw-border-opacity));
}
.border-purple-50 {
  --tw-border-opacity: 1;
  border-color: rgb(250 245 255 / var(--tw-border-opacity));
}
.border-red-100 {
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / var(--tw-border-opacity));
}
.border-red-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity));
}
.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity));
}
.border-red-300\/30 {
  border-color: rgb(252 165 165 / 0.3);
}
.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
}
.border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2);
}
.border-rose-100 {
  --tw-border-opacity: 1;
  border-color: rgb(255 228 230 / var(--tw-border-opacity));
}
.border-rose-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / var(--tw-border-opacity));
}
.border-rose-200\/60 {
  border-color: rgb(254 205 211 / 0.6);
}
.border-rose-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / var(--tw-border-opacity));
}
.border-rose-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 113 133 / var(--tw-border-opacity));
}
.border-rose-500 {
  --tw-border-opacity: 1;
  border-color: rgb(244 63 94 / var(--tw-border-opacity));
}
.border-rose-500\/20 {
  border-color: rgb(244 63 94 / 0.2);
}
.border-rose-500\/30 {
  border-color: rgb(244 63 94 / 0.3);
}
.border-secondary {
  border-color: var(--secondary);
}
.border-sidebar-border {
  border-color: var(--sidebar-border);
}
.border-sky-100 {
  --tw-border-opacity: 1;
  border-color: rgb(224 242 254 / var(--tw-border-opacity));
}
.border-sky-200 {
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / var(--tw-border-opacity));
}
.border-sky-300 {
  --tw-border-opacity: 1;
  border-color: rgb(125 211 252 / var(--tw-border-opacity));
}
.border-sky-500 {
  --tw-border-opacity: 1;
  border-color: rgb(14 165 233 / var(--tw-border-opacity));
}
.border-sky-500\/15 {
  border-color: rgb(14 165 233 / 0.15);
}
.border-sky-500\/20 {
  border-color: rgb(14 165 233 / 0.2);
}
.border-slate-100 {
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity));
}
.border-slate-300 {
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity));
}
.border-teal-100 {
  --tw-border-opacity: 1;
  border-color: rgb(204 251 241 / var(--tw-border-opacity));
}
.border-teal-200 {
  --tw-border-opacity: 1;
  border-color: rgb(153 246 228 / var(--tw-border-opacity));
}
.border-teal-300 {
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / var(--tw-border-opacity));
}
.border-teal-400 {
  --tw-border-opacity: 1;
  border-color: rgb(45 212 191 / var(--tw-border-opacity));
}
.border-teal-400\/30 {
  border-color: rgb(45 212 191 / 0.3);
}
.border-teal-500\/20 {
  border-color: rgb(20 184 166 / 0.2);
}
.border-transparent {
  border-color: transparent;
}
.border-violet-100 {
  --tw-border-opacity: 1;
  border-color: rgb(237 233 254 / var(--tw-border-opacity));
}
.border-violet-200 {
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity));
}
.border-violet-300 {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity));
}
.border-violet-300\/30 {
  border-color: rgb(196 181 253 / 0.3);
}
.border-violet-400 {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity));
}
.border-violet-400\/15 {
  border-color: rgb(167 139 250 / 0.15);
}
.border-violet-400\/25 {
  border-color: rgb(167 139 250 / 0.25);
}
.border-violet-500 {
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity));
}
.border-violet-500\/20 {
  border-color: rgb(139 92 246 / 0.2);
}
.border-violet-600 {
  --tw-border-opacity: 1;
  border-color: rgb(124 58 237 / var(--tw-border-opacity));
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/40 {
  border-color: rgb(255 255 255 / 0.4);
}
.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity));
}
.border-b-transparent {
  border-bottom-color: transparent;
}
.border-l-green-500 {
  --tw-border-opacity: 1;
  border-left-color: rgb(34 197 94 / var(--tw-border-opacity));
}
.border-l-transparent {
  border-left-color: transparent;
}
.border-r-fuchsia-600\/40 {
  border-right-color: rgb(192 38 211 / 0.4);
}
.border-t-fuchsia-600 {
  --tw-border-opacity: 1;
  border-top-color: rgb(192 38 211 / var(--tw-border-opacity));
}
.border-t-primary {
  border-top-color: var(--primary);
}
.border-t-transparent {
  border-top-color: transparent;
}
.border-t-violet-600 {
  --tw-border-opacity: 1;
  border-top-color: rgb(124 58 237 / var(--tw-border-opacity));
}
.border-t-white {
  --tw-border-opacity: 1;
  border-top-color: rgb(255 255 255 / var(--tw-border-opacity));
}
.border-opacity-20 {
  --tw-border-opacity: 0.2;
}
.bg-\[\#7c3aed\]\/10 {
  background-color: rgb(124 58 237 / 0.1);
}
.bg-\[--color-bg\] {
  background-color: var(--color-bg);
}
.bg-accent {
  background-color: var(--accent);
}
.bg-amber-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity));
}
.bg-amber-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity));
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity));
}
.bg-amber-400\/20 {
  background-color: rgb(251 191 36 / 0.2);
}
.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity));
}
.bg-amber-50\/50 {
  background-color: rgb(255 251 235 / 0.5);
}
.bg-amber-50\/80 {
  background-color: rgb(255 251 235 / 0.8);
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity));
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/\[0\.06\] {
  background-color: rgb(245 158 11 / 0.06);
}
.bg-amber-500\/\[0\.07\] {
  background-color: rgb(245 158 11 / 0.07);
}
.bg-amber-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity));
}
.bg-background {
  background-color: var(--background);
}
.bg-black\/10 {
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.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));
}
.bg-blue-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity));
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity));
}
.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-50\/60 {
  background-color: rgb(239 246 255 / 0.6);
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity));
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-blue-500\/\[0\.07\] {
  background-color: rgb(59 130 246 / 0.07);
}
.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity));
}
.bg-border {
  background-color: var(--border);
}
.bg-card {
  background-color: var(--card);
}
.bg-cyan-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity));
}
.bg-cyan-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity));
}
.bg-destructive {
  background-color: var(--destructive);
}
.bg-emerald-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity));
}
.bg-emerald-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity));
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity));
}
.bg-emerald-400\/20 {
  background-color: rgb(52 211 153 / 0.2);
}
.bg-emerald-400\/30 {
  background-color: rgb(52 211 153 / 0.3);
}
.bg-emerald-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity));
}
.bg-emerald-50\/40 {
  background-color: rgb(236 253 245 / 0.4);
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity));
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/15 {
  background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-500\/5 {
  background-color: rgb(16 185 129 / 0.05);
}
.bg-emerald-500\/\[0\.07\] {
  background-color: rgb(16 185 129 / 0.07);
}
.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity));
}
.bg-foreground {
  background-color: var(--foreground);
}
.bg-fuchsia-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 232 255 / var(--tw-bg-opacity));
}
.bg-fuchsia-300\/50 {
  background-color: rgb(240 171 252 / 0.5);
}
.bg-fuchsia-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 244 255 / var(--tw-bg-opacity));
}
.bg-fuchsia-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 70 239 / var(--tw-bg-opacity));
}
.bg-fuchsia-500\/10 {
  background-color: rgb(217 70 239 / 0.1);
}
.bg-fuchsia-500\/5 {
  background-color: rgb(217 70 239 / 0.05);
}
.bg-fuchsia-500\/\[0\.05\] {
  background-color: rgb(217 70 239 / 0.05);
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity));
}
.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity));
}
.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}
.bg-gray-50\/50 {
  background-color: rgb(249 250 251 / 0.5);
}
.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity));
}
.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity));
}
.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\/80 {
  background-color: rgb(240 253 244 / 0.8);
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity));
}
.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}
.bg-green-600\/20 {
  background-color: rgb(22 163 74 / 0.2);
}
.bg-indigo-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity));
}
.bg-indigo-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity));
}
.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity));
}
.bg-input {
  background-color: var(--input);
}
.bg-lime-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(247 254 231 / var(--tw-bg-opacity));
}
.bg-muted {
  background-color: var(--muted);
}
.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity));
}
.bg-orange-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 186 116 / var(--tw-bg-opacity));
}
.bg-orange-300\/60 {
  background-color: rgb(253 186 116 / 0.6);
}
.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity));
}
.bg-orange-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity));
}
.bg-orange-50\/50 {
  background-color: rgb(255 247 237 / 0.5);
}
.bg-orange-50\/60 {
  background-color: rgb(255 247 237 / 0.6);
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity));
}
.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}
.bg-orange-500\/5 {
  background-color: rgb(249 115 22 / 0.05);
}
.bg-orange-500\/\[0\.06\] {
  background-color: rgb(249 115 22 / 0.06);
}
.bg-orange-500\/\[0\.07\] {
  background-color: rgb(249 115 22 / 0.07);
}
.bg-orange-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity));
}
.bg-orange-600\/20 {
  background-color: rgb(234 88 12 / 0.2);
}
.bg-pink-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity));
}
.bg-pink-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity));
}
.bg-pink-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity));
}
.bg-popover {
  background-color: var(--popover);
}
.bg-primary {
  background-color: var(--primary);
}
.bg-primary-foreground {
  background-color: var(--primary-foreground);
}
.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / var(--tw-bg-opacity));
}
.bg-purple-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity));
}
.bg-purple-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity));
}
.bg-purple-50\/40 {
  background-color: rgb(250 245 255 / 0.4);
}
.bg-purple-500\/10 {
  background-color: rgb(168 85 247 / 0.1);
}
.bg-purple-600\/20 {
  background-color: rgb(147 51 234 / 0.2);
}
.bg-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity));
}
.bg-red-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / var(--tw-bg-opacity));
}
.bg-red-200\/60 {
  background-color: rgb(254 202 202 / 0.6);
}
.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity));
}
.bg-red-400\/20 {
  background-color: rgb(248 113 113 / 0.2);
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
}
.bg-red-50\/20 {
  background-color: rgb(254 242 242 / 0.2);
}
.bg-red-50\/50 {
  background-color: rgb(254 242 242 / 0.5);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/5 {
  background-color: rgb(239 68 68 / 0.05);
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity));
}
.bg-red-900\/40 {
  background-color: rgb(127 29 29 / 0.4);
}
.bg-red-950\/20 {
  background-color: rgb(69 10 10 / 0.2);
}
.bg-rose-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity));
}
.bg-rose-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity));
}
.bg-rose-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity));
}
.bg-rose-50\/30 {
  background-color: rgb(255 241 242 / 0.3);
}
.bg-rose-50\/50 {
  background-color: rgb(255 241 242 / 0.5);
}
.bg-rose-50\/60 {
  background-color: rgb(255 241 242 / 0.6);
}
.bg-rose-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity));
}
.bg-rose-500\/10 {
  background-color: rgb(244 63 94 / 0.1);
}
.bg-rose-500\/80 {
  background-color: rgb(244 63 94 / 0.8);
}
.bg-rose-500\/\[0\.04\] {
  background-color: rgb(244 63 94 / 0.04);
}
.bg-rose-500\/\[0\.07\] {
  background-color: rgb(244 63 94 / 0.07);
}
.bg-rose-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity));
}
.bg-rose-900\/30 {
  background-color: rgb(136 19 55 / 0.3);
}
.bg-secondary {
  background-color: var(--secondary);
}
.bg-sidebar {
  background-color: var(--sidebar-background);
}
.bg-sidebar-border {
  background-color: var(--sidebar-border);
}
.bg-sky-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity));
}
.bg-sky-400\/20 {
  background-color: rgb(56 189 248 / 0.2);
}
.bg-sky-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity));
}
.bg-sky-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity));
}
.bg-sky-500\/10 {
  background-color: rgb(14 165 233 / 0.1);
}
.bg-sky-500\/5 {
  background-color: rgb(14 165 233 / 0.05);
}
.bg-sky-500\/\[0\.03\] {
  background-color: rgb(14 165 233 / 0.03);
}
.bg-sky-500\/\[0\.06\] {
  background-color: rgb(14 165 233 / 0.06);
}
.bg-sky-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / var(--tw-bg-opacity));
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity));
}
.bg-slate-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity));
}
.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity));
}
.bg-slate-50\/60 {
  background-color: rgb(248 250 252 / 0.6);
}
.bg-slate-50\/80 {
  background-color: rgb(248 250 252 / 0.8);
}
.bg-slate-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity));
}
.bg-slate-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity));
}
.bg-slate-900\/40 {
  background-color: rgb(15 23 42 / 0.4);
}
.bg-slate-900\/60 {
  background-color: rgb(15 23 42 / 0.6);
}
.bg-teal-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity));
}
.bg-teal-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(45 212 191 / var(--tw-bg-opacity));
}
.bg-teal-400\/10 {
  background-color: rgb(45 212 191 / 0.1);
}
.bg-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity));
}
.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity));
}
.bg-teal-500\/10 {
  background-color: rgb(20 184 166 / 0.1);
}
.bg-teal-500\/\[0\.07\] {
  background-color: rgb(20 184 166 / 0.07);
}
.bg-teal-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(13 148 136 / var(--tw-bg-opacity));
}
.bg-teal-600\/20 {
  background-color: rgb(13 148 136 / 0.2);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity));
}
.bg-violet-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity));
}
.bg-violet-400\/20 {
  background-color: rgb(167 139 250 / 0.2);
}
.bg-violet-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity));
}
.bg-violet-50\/30 {
  background-color: rgb(245 243 255 / 0.3);
}
.bg-violet-50\/70 {
  background-color: rgb(245 243 255 / 0.7);
}
.bg-violet-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / var(--tw-bg-opacity));
}
.bg-violet-500\/10 {
  background-color: rgb(139 92 246 / 0.1);
}
.bg-violet-500\/5 {
  background-color: rgb(139 92 246 / 0.05);
}
.bg-violet-500\/80 {
  background-color: rgb(139 92 246 / 0.8);
}
.bg-violet-500\/\[0\.07\] {
  background-color: rgb(139 92 246 / 0.07);
}
.bg-violet-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity));
}
.bg-violet-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity));
}
.bg-violet-900\/30 {
  background-color: rgb(76 29 149 / 0.3);
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}
.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\/40 {
  background-color: rgb(255 255 255 / 0.4);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity));
}
.bg-yellow-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / var(--tw-bg-opacity));
}
.bg-yellow-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity));
}
.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity));
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity));
}
.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-l {
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-\[\#5b21b6\] {
  --tw-gradient-from: #5b21b6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(91 33 182 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-400 {
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/10 {
  --tw-gradient-from: rgb(245 158 11 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-background {
  --tw-gradient-from: var(--background) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400 {
  --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 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-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-500\/10 {
  --tw-gradient-from: rgb(59 130 246 / 0.1) 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-card {
  --tw-gradient-from: var(--card) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500 {
  --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-400 {
  --tw-gradient-from: #34d399 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500 {
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/10 {
  --tw-gradient-from: rgb(16 185 129 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/\[0\.05\] {
  --tw-gradient-from: rgb(16 185 129 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-600 {
  --tw-gradient-from: #059669 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-300 {
  --tw-gradient-from: #f0abfc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 171 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500 {
  --tw-gradient-from: #d946ef var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/15 {
  --tw-gradient-from: rgb(217 70 239 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/25 {
  --tw-gradient-from: rgb(217 70 239 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/40 {
  --tw-gradient-from: rgb(217 70 239 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/\[0\.05\] {
  --tw-gradient-from: rgb(217 70 239 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/\[0\.06\] {
  --tw-gradient-from: rgb(217 70 239 / 0.06) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/\[0\.08\] {
  --tw-gradient-from: rgb(217 70 239 / 0.08) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-600 {
  --tw-gradient-from: #c026d3 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 38 211 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-600 {
  --tw-gradient-from: #4b5563 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-900 {
  --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);
}
.from-indigo-500 {
  --tw-gradient-from: #6366f1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-300 {
  --tw-gradient-from: #fdba74 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 186 116 / 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-pink-500 {
  --tw-gradient-from: #ec4899 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary {
  --tw-gradient-from: var(--primary) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500 {
  --tw-gradient-from: #a855f7 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);
}
.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-rose-400 {
  --tw-gradient-from: #fb7185 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 113 133 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500 {
  --tw-gradient-from: #f43f5e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500\/10 {
  --tw-gradient-from: rgb(244 63 94 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500\/\[0\.06\] {
  --tw-gradient-from: rgb(244 63 94 / 0.06) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-secondary {
  --tw-gradient-from: var(--secondary) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-400 {
  --tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-500 {
  --tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-500\/15 {
  --tw-gradient-from: rgb(14 165 233 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-500 {
  --tw-gradient-from: #64748b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-500 {
  --tw-gradient-from: #14b8a6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 184 166 / 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-100 {
  --tw-gradient-from: #ede9fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 233 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400 {
  --tw-gradient-from: #a78bfa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-50 {
  --tw-gradient-from: #f5f3ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 243 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500 {
  --tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/10 {
  --tw-gradient-from: rgb(139 92 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/\[0\.08\] {
  --tw-gradient-from: rgb(139 92 246 / 0.08) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 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);
}
.from-white\/40 {
  --tw-gradient-from: rgb(255 255 255 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-500 {
  --tw-gradient-from: #eab308 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[\#9333ea\] {
  --tw-gradient-to: rgb(147 51 234 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-accent {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--accent) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-background {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--background) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-card {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--card) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-100 {
  --tw-gradient-to: rgb(250 232 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fae8ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-300\/60 {
  --tw-gradient-to: rgb(253 186 116 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(253 186 116 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-500\/5 {
  --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(249 115 22 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--primary) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-500\/5 {
  --tw-gradient-to: rgb(20 184 166 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(20 184 166 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-500\/\[0\.04\] {
  --tw-gradient-to: rgb(139 92 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(139 92 246 / 0.04) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#f97316\] {
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}
.to-accent {
  --tw-gradient-to: var(--accent) var(--tw-gradient-to-position);
}
.to-amber-500\/0 {
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
}
.to-amber-600 {
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}
.to-blue-500\/0 {
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
}
.to-blue-600 {
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-blue-600\/15 {
  --tw-gradient-to: rgb(37 99 235 / 0.15) var(--tw-gradient-to-position);
}
.to-border {
  --tw-gradient-to: var(--border) var(--tw-gradient-to-position);
}
.to-card {
  --tw-gradient-to: var(--card) var(--tw-gradient-to-position);
}
.to-cyan-500 {
  --tw-gradient-to: #06b6d4 var(--tw-gradient-to-position);
}
.to-cyan-600 {
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}
.to-emerald-500\/0 {
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
}
.to-emerald-600 {
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-fuchsia-500 {
  --tw-gradient-to: #d946ef var(--tw-gradient-to-position);
}
.to-fuchsia-500\/\[0\.06\] {
  --tw-gradient-to: rgb(217 70 239 / 0.06) var(--tw-gradient-to-position);
}
.to-fuchsia-600 {
  --tw-gradient-to: #c026d3 var(--tw-gradient-to-position);
}
.to-gray-600 {
  --tw-gradient-to: #4b5563 var(--tw-gradient-to-position);
}
.to-gray-700 {
  --tw-gradient-to: #374151 var(--tw-gradient-to-position);
}
.to-green-600 {
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}
.to-green-700 {
  --tw-gradient-to: #15803d 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-500 {
  --tw-gradient-to: #6366f1 var(--tw-gradient-to-position);
}
.to-indigo-600 {
  --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position);
}
.to-indigo-700 {
  --tw-gradient-to: #4338ca var(--tw-gradient-to-position);
}
.to-orange-400\/20 {
  --tw-gradient-to: rgb(251 146 60 / 0.2) var(--tw-gradient-to-position);
}
.to-orange-400\/30 {
  --tw-gradient-to: rgb(251 146 60 / 0.3) var(--tw-gradient-to-position);
}
.to-orange-50 {
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-orange-500 {
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}
.to-orange-500\/15 {
  --tw-gradient-to: rgb(249 115 22 / 0.15) var(--tw-gradient-to-position);
}
.to-orange-500\/\[0\.04\] {
  --tw-gradient-to: rgb(249 115 22 / 0.04) var(--tw-gradient-to-position);
}
.to-orange-600 {
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.to-pink-100 {
  --tw-gradient-to: #fce7f3 var(--tw-gradient-to-position);
}
.to-pink-50 {
  --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position);
}
.to-pink-600 {
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}
.to-primary {
  --tw-gradient-to: var(--primary) var(--tw-gradient-to-position);
}
.to-purple-600 {
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.to-red-500 {
  --tw-gradient-to: #ef4444 var(--tw-gradient-to-position);
}
.to-red-600 {
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.to-rose-500\/0 {
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
}
.to-rose-600 {
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}
.to-sky-500 {
  --tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position);
}
.to-sky-600 {
  --tw-gradient-to: #0284c7 var(--tw-gradient-to-position);
}
.to-slate-600 {
  --tw-gradient-to: #475569 var(--tw-gradient-to-position);
}
.to-slate-700 {
  --tw-gradient-to: #334155 var(--tw-gradient-to-position);
}
.to-teal-500 {
  --tw-gradient-to: #14b8a6 var(--tw-gradient-to-position);
}
.to-teal-500\/5 {
  --tw-gradient-to: rgb(20 184 166 / 0.05) var(--tw-gradient-to-position);
}
.to-teal-600 {
  --tw-gradient-to: #0d9488 var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-violet-500\/0 {
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
}
.to-violet-600 {
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}
.to-white\/40 {
  --tw-gradient-to: rgb(255 255 255 / 0.4) var(--tw-gradient-to-position);
}
.to-yellow-600 {
  --tw-gradient-to: #ca8a04 var(--tw-gradient-to-position);
}
.fill-current {
  fill: currentColor;
}
.fill-emerald-500 {
  fill: #10b981;
}
.fill-gray-300 {
  fill: #d1d5db;
}
.fill-primary {
  fill: var(--primary);
}
.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-14 {
  padding: 3.5rem;
}
.p-16 {
  padding: 4rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-7 {
  padding: 1.75rem;
}
.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-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.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-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[--cell-size\] {
  padding-left: var(--cell-size);
  padding-right: var(--cell-size);
}
.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-14 {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.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-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-28 {
  padding-top: 7rem;
  padding-bottom: 7rem;
}
.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-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-0\.5 {
  padding-bottom: 0.125rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-3\.5 {
  padding-bottom: 0.875rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pl-0 {
  padding-left: 0px;
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-11 {
  padding-left: 2.75rem;
}
.pl-12 {
  padding-left: 3rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-5 {
  padding-left: 1.25rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-7 {
  padding-left: 1.75rem;
}
.pl-8 {
  padding-left: 2rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pl-\[56px\] {
  padding-left: 56px;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-11 {
  padding-right: 2.75rem;
}
.pr-12 {
  padding-right: 3rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-2\.5 {
  padding-right: 0.625rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pr-5 {
  padding-right: 1.25rem;
}
.pr-6 {
  padding-right: 1.5rem;
}
.pr-7 {
  padding-right: 1.75rem;
}
.pr-8 {
  padding-right: 2rem;
}
.pr-9 {
  padding-right: 2.25rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-0\.5 {
  padding-top: 0.125rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-1\.5 {
  padding-top: 0.375rem;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-3\.5 {
  padding-top: 0.875rem;
}
.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;
}
.align-middle {
  vertical-align: middle;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.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-\[0\.8rem\] {
  font-size: 0.8rem;
}
.text-\[10\.5px\] {
  font-size: 10.5px;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11\.5px\] {
  font-size: 11.5px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[22px\] {
  font-size: 22px;
}
.text-\[7px\] {
  font-size: 7px;
}
.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-sm\/relaxed {
  font-size: 0.875rem;
  line-height: 1.625;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.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;
}
.normal-case {
  text-transform: none;
}
.italic {
  font-style: italic;
}
.not-italic {
  font-style: normal;
}
.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-5 {
  line-height: 1.25rem;
}
.leading-6 {
  line-height: 1.5rem;
}
.leading-\[1\.05\] {
  line-height: 1.05;
}
.leading-\[1\.15\] {
  line-height: 1.15;
}
.leading-none {
  line-height: 1;
}
.leading-normal {
  line-height: 1.5;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[\.13em\] {
  letter-spacing: .13em;
}
.tracking-\[\.14em\] {
  letter-spacing: .14em;
}
.tracking-\[\.15em\] {
  letter-spacing: .15em;
}
.tracking-\[\.16em\] {
  letter-spacing: .16em;
}
.tracking-\[\.18em\] {
  letter-spacing: .18em;
}
.tracking-\[0\.06em\] {
  letter-spacing: 0.06em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.13em\] {
  letter-spacing: 0.13em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}
.tracking-\[0\.16em\] {
  letter-spacing: 0.16em;
}
.tracking-\[0\.18em\] {
  letter-spacing: 0.18em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.22em\] {
  letter-spacing: 0.22em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.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-\[\#7c3aed\] {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity));
}
.text-accent {
  color: var(--accent);
}
.text-accent-foreground {
  color: var(--accent-foreground);
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity));
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity));
}
.text-amber-50 {
  --tw-text-opacity: 1;
  color: rgb(255 251 235 / var(--tw-text-opacity));
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity));
}
.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity));
}
.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity));
}
.text-amber-800 {
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity));
}
.text-amber-800\/90 {
  color: rgb(146 64 14 / 0.9);
}
.text-amber-900 {
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity));
}
.text-background {
  color: var(--background);
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity));
}
.text-blue-100 {
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity));
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity));
}
.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / var(--tw-text-opacity));
}
.text-card-foreground {
  color: var(--card-foreground);
}
.text-current {
  color: currentColor;
}
.text-cyan-600 {
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity));
}
.text-cyan-700 {
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity));
}
.text-destructive {
  color: var(--destructive);
}
.text-destructive-foreground {
  color: var(--destructive-foreground);
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity));
}
.text-emerald-50 {
  --tw-text-opacity: 1;
  color: rgb(236 253 245 / var(--tw-text-opacity));
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity));
}
.text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity));
}
.text-emerald-700 {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity));
}
.text-emerald-800 {
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity));
}
.text-emerald-900 {
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity));
}
.text-foreground {
  color: var(--foreground);
}
.text-fuchsia-500 {
  --tw-text-opacity: 1;
  color: rgb(217 70 239 / var(--tw-text-opacity));
}
.text-fuchsia-500\/60 {
  color: rgb(217 70 239 / 0.6);
}
.text-fuchsia-600 {
  --tw-text-opacity: 1;
  color: rgb(192 38 211 / var(--tw-text-opacity));
}
.text-fuchsia-700 {
  --tw-text-opacity: 1;
  color: rgb(162 28 175 / var(--tw-text-opacity));
}
.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity));
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity));
}
.text-green-900 {
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity));
}
.text-indigo-200 {
  --tw-text-opacity: 1;
  color: rgb(199 210 254 / var(--tw-text-opacity));
}
.text-indigo-300 {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity));
}
.text-indigo-400 {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity));
}
.text-indigo-500 {
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / var(--tw-text-opacity));
}
.text-indigo-600 {
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / var(--tw-text-opacity));
}
.text-indigo-700 {
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / var(--tw-text-opacity));
}
.text-lime-600 {
  --tw-text-opacity: 1;
  color: rgb(101 163 13 / var(--tw-text-opacity));
}
.text-muted-foreground {
  color: var(--muted-foreground);
}
.text-orange-300 {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity));
}
.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity));
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity));
}
.text-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity));
}
.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity));
}
.text-orange-900 {
  --tw-text-opacity: 1;
  color: rgb(124 45 18 / var(--tw-text-opacity));
}
.text-pink-600 {
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity));
}
.text-pink-700 {
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / var(--tw-text-opacity));
}
.text-popover-foreground {
  color: var(--popover-foreground);
}
.text-primary {
  color: var(--primary);
}
.text-primary-foreground {
  color: var(--primary-foreground);
}
.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity));
}
.text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity));
}
.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity));
}
.text-purple-700 {
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / var(--tw-text-opacity));
}
.text-purple-900 {
  --tw-text-opacity: 1;
  color: rgb(88 28 135 / var(--tw-text-opacity));
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity));
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity));
}
.text-red-50 {
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity));
}
.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity));
}
.text-rose-300 {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity));
}
.text-rose-400 {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity));
}
.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity));
}
.text-rose-600 {
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity));
}
.text-rose-700 {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity));
}
.text-rose-800 {
  --tw-text-opacity: 1;
  color: rgb(159 18 57 / var(--tw-text-opacity));
}
.text-secondary-foreground {
  color: var(--secondary-foreground);
}
.text-sidebar-foreground {
  color: var(--sidebar-foreground);
}
.text-sky-400 {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity));
}
.text-sky-500 {
  --tw-text-opacity: 1;
  color: rgb(14 165 233 / var(--tw-text-opacity));
}
.text-sky-500\/60 {
  color: rgb(14 165 233 / 0.6);
}
.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity));
}
.text-sky-700 {
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity));
}
.text-sky-800 {
  --tw-text-opacity: 1;
  color: rgb(7 89 133 / var(--tw-text-opacity));
}
.text-sky-950 {
  --tw-text-opacity: 1;
  color: rgb(8 47 73 / var(--tw-text-opacity));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity));
}
.text-teal-300 {
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity));
}
.text-teal-400 {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity));
}
.text-teal-600 {
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / var(--tw-text-opacity));
}
.text-teal-700 {
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity));
}
.text-teal-800\/70 {
  color: rgb(17 94 89 / 0.7);
}
.text-teal-900 {
  --tw-text-opacity: 1;
  color: rgb(19 78 74 / var(--tw-text-opacity));
}
.text-violet-100 {
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / var(--tw-text-opacity));
}
.text-violet-100\/70 {
  color: rgb(237 233 254 / 0.7);
}
.text-violet-100\/80 {
  color: rgb(237 233 254 / 0.8);
}
.text-violet-200 {
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity));
}
.text-violet-200\/70 {
  color: rgb(221 214 254 / 0.7);
}
.text-violet-300 {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity));
}
.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity));
}
.text-violet-50 {
  --tw-text-opacity: 1;
  color: rgb(245 243 255 / var(--tw-text-opacity));
}
.text-violet-500 {
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / var(--tw-text-opacity));
}
.text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity));
}
.text-violet-700 {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity));
}
.text-violet-800 {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity));
}
.text-violet-900 {
  --tw-text-opacity: 1;
  color: rgb(76 29 149 / var(--tw-text-opacity));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-white\/95 {
  color: rgb(255 255 255 / 0.95);
}
.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity));
}
.text-yellow-700 {
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / var(--tw-text-opacity));
}
.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity));
}
.text-yellow-900 {
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / var(--tw-text-opacity));
}
.text-zinc-600 {
  --tw-text-opacity: 1;
  color: rgb(82 82 91 / var(--tw-text-opacity));
}
.text-zinc-700 {
  --tw-text-opacity: 1;
  color: rgb(63 63 70 / var(--tw-text-opacity));
}
.text-zinc-800 {
  --tw-text-opacity: 1;
  color: rgb(39 39 42 / var(--tw-text-opacity));
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.underline-offset-4 {
  text-underline-offset: 4px;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.accent-amber-500 {
  accent-color: #f59e0b;
}
.accent-blue-500 {
  accent-color: #3b82f6;
}
.accent-emerald-500 {
  accent-color: #10b981;
}
.accent-emerald-600 {
  accent-color: #059669;
}
.accent-foreground {
  accent-color: var(--foreground);
}
.accent-fuchsia-500 {
  accent-color: #d946ef;
}
.accent-indigo-500 {
  accent-color: #6366f1;
}
.accent-lime-500 {
  accent-color: #84cc16;
}
.accent-orange-500 {
  accent-color: #f97316;
}
.accent-pink-500 {
  accent-color: #ec4899;
}
.accent-primary {
  accent-color: var(--primary);
}
.accent-rose-500 {
  accent-color: #f43f5e;
}
.accent-sky-500 {
  accent-color: #0ea5e9;
}
.accent-slate-500 {
  accent-color: #64748b;
}
.accent-teal-500 {
  accent-color: #14b8a6;
}
.accent-teal-600 {
  accent-color: #0d9488;
}
.accent-violet-500 {
  accent-color: #8b5cf6;
}
.accent-violet-600 {
  accent-color: #7c3aed;
}
.accent-yellow-500 {
  accent-color: #eab308;
}
.opacity-0 {
  opacity: 0;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-100 {
  opacity: 1;
}
.opacity-15 {
  opacity: 0.15;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-45 {
  opacity: 0.45;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-85 {
  opacity: 0.85;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-95 {
  opacity: 0.95;
}
.opacity-\[0\.04\] {
  opacity: 0.04;
}
.opacity-\[0\.06\] {
  opacity: 0.06;
}
.opacity-\[0\.08\] {
  opacity: 0.08;
}
.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_-8px_24px_-8px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 -8px 24px -8px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 -8px 24px -8px 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_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 0 0 0 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-\[0_16px_42px_-30px_hsl\(var\(--foreground\)\/0\.35\)\] {
  --tw-shadow: 0 16px 42px -30px hsl(var(--foreground)/0.35);
  --tw-shadow-colored: 0 16px 42px -30px 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_18px_45px_-30px_hsl\(var\(--foreground\)\/0\.32\)\] {
  --tw-shadow: 0 18px 45px -30px hsl(var(--foreground)/0.32);
  --tw-shadow-colored: 0 18px 45px -30px 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_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 1px 2px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 1px 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-\[0_20px_60px_-28px_hsl\(var\(--primary\)\/0\.45\)\] {
  --tw-shadow: 0 20px 60px -28px hsl(var(--primary)/0.45);
  --tw-shadow-colored: 0 20px 60px -28px 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_24px_80px_-20px_rgba\(124\2c 58\2c 237\2c 0\.25\)\] {
  --tw-shadow: 0 24px 80px -20px rgba(124,58,237,0.25);
  --tw-shadow-colored: 0 24px 80px -20px 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_24px_80px_-20px_rgba\(249\2c 115\2c 22\2c 0\.25\)\] {
  --tw-shadow: 0 24px 80px -20px rgba(249,115,22,0.25);
  --tw-shadow-colored: 0 24px 80px -20px 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_25px_70px_-25px_rgba\(124\2c 58\2c 237\2c 0\.5\)\] {
  --tw-shadow: 0 25px 70px -25px rgba(124,58,237,0.5);
  --tw-shadow-colored: 0 25px 70px -25px 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-emerald-200 {
  --tw-shadow-color: #a7f3d0;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-violet-100 {
  --tw-shadow-color: #ede9fe;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-violet-200 {
  --tw-shadow-color: #ddd6fe;
  --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-4 {
  --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(4px + 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-inset {
  --tw-ring-inset: inset;
}
.ring-amber-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 230 138 / var(--tw-ring-opacity));
}
.ring-amber-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity));
}
.ring-amber-500\/20 {
  --tw-ring-color: rgb(245 158 11 / 0.2);
}
.ring-blue-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity));
}
.ring-blue-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity));
}
.ring-blue-500\/20 {
  --tw-ring-color: rgb(59 130 246 / 0.2);
}
.ring-border {
  --tw-ring-color: var(--border);
}
.ring-card {
  --tw-ring-color: var(--card);
}
.ring-cyan-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 211 238 / var(--tw-ring-opacity));
}
.ring-destructive {
  --tw-ring-color: var(--destructive);
}
.ring-emerald-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity));
}
.ring-emerald-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(52 211 153 / var(--tw-ring-opacity));
}
.ring-emerald-500\/20 {
  --tw-ring-color: rgb(16 185 129 / 0.2);
}
.ring-fuchsia-500\/10 {
  --tw-ring-color: rgb(217 70 239 / 0.1);
}
.ring-fuchsia-600 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(192 38 211 / var(--tw-ring-opacity));
}
.ring-indigo-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(129 140 248 / var(--tw-ring-opacity));
}
.ring-orange-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity));
}
.ring-orange-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity));
}
.ring-pink-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(244 114 182 / var(--tw-ring-opacity));
}
.ring-primary {
  --tw-ring-color: var(--primary);
}
.ring-red-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity));
}
.ring-red-500\/20 {
  --tw-ring-color: rgb(239 68 68 / 0.2);
}
.ring-ring {
  --tw-ring-color: var(--ring);
}
.ring-rose-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 205 211 / var(--tw-ring-opacity));
}
.ring-rose-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 113 133 / var(--tw-ring-opacity));
}
.ring-sidebar-ring {
  --tw-ring-color: var(--sidebar-ring);
}
.ring-sky-500\/20 {
  --tw-ring-color: rgb(14 165 233 / 0.2);
}
.ring-slate-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(241 245 249 / var(--tw-ring-opacity));
}
.ring-teal-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(45 212 191 / var(--tw-ring-opacity));
}
.ring-violet-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(237 233 254 / var(--tw-ring-opacity));
}
.ring-violet-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(221 214 254 / var(--tw-ring-opacity));
}
.ring-violet-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 139 250 / var(--tw-ring-opacity));
}
.ring-violet-500\/20 {
  --tw-ring-color: rgb(139 92 246 / 0.2);
}
.ring-white {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity));
}
.ring-white\/15 {
  --tw-ring-color: rgb(255 255 255 / 0.15);
}
.ring-white\/20 {
  --tw-ring-color: rgb(255 255 255 / 0.2);
}
.ring-white\/25 {
  --tw-ring-color: rgb(255 255 255 / 0.25);
}
.ring-white\/30 {
  --tw-ring-color: rgb(255 255 255 / 0.3);
}
.ring-white\/40 {
  --tw-ring-color: rgb(255 255 255 / 0.4);
}
.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}
.ring-offset-background {
  --tw-ring-offset-color: 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-2xl {
  --tw-blur: blur(40px);
  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-xl {
  --tw-blur: blur(24px);
  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 {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px 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);
}
.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) !important;
}
.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-md {
  --tw-backdrop-blur: blur(12px);
  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-\[color\2c box-shadow\] {
  transition-property: color,box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[left\2c right\2c width\] {
  transition-property: left,right,width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[margin\2c opacity\] {
  transition-property: margin,opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-\[width\2c height\2c padding\] {
  transition-property: width,height,padding;
  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;
}
.delay-100 {
  transition-delay: 100ms;
}
.delay-150 {
  transition-delay: 150ms;
}
.delay-200 {
  transition-delay: 200ms;
}
.duration-100 {
  transition-duration: 100ms;
}
.duration-1000 {
  transition-duration: 1000ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.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);
}
.\[--cell-size\:2rem\] {
  --cell-size: 2rem;
}
.\[animation\:portalFade_0\.35s_ease-out_both\] {
  animation: portalFade 0.35s ease-out both;
}
.\[animation\:portalFade_0\.3s_ease-out_both\] {
  animation: portalFade 0.3s ease-out both;
}
.\[animation\:portalFade_0\.45s_ease-out_both\] {
  animation: portalFade 0.45s ease-out both;
}
.\[animation\:portalFade_0\.4s_ease-out_both\] {
  animation: portalFade 0.4s ease-out both;
}
.\[animation\:portalFade_0\.5s_0\.1s_ease-out_both\] {
  animation: portalFade 0.5s 0.1s ease-out both;
}
.\[animation\:portalFade_0\.5s_ease-out_both\] {
  animation: portalFade 0.5s ease-out both;
}
.\[animation\:portalPulse_1\.8s_ease-in-out_infinite\] {
  animation: portalPulse 1.8s ease-in-out infinite;
}
.\[color-scheme\:dark\] {
  color-scheme: dark;
}

#root {
    width: 100%;
    min-height: 100vh;
}

.marker\:hidden *::marker {
  display: none;
}

.marker\:hidden::marker {
  display: none;
}

.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;
}

.file\:text-foreground::file-selector-button {
  color: var(--foreground);
}

.placeholder\:text-muted-foreground::-moz-placeholder {
  color: var(--muted-foreground);
}

.placeholder\:text-muted-foreground::placeholder {
  color: var(--muted-foreground);
}

.placeholder\:text-slate-400::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
}

.placeholder\:text-slate-400::placeholder {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
}

.placeholder\:text-slate-500::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity));
}

.placeholder\:text-slate-500::placeholder {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity));
}

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:-inset-2::after {
  content: var(--tw-content);
  inset: -0.5rem;
}

.after\:inset-y-0::after {
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}

.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}

.after\:w-1::after {
  content: var(--tw-content);
  width: 0.25rem;
}

.after\:w-\[2px\]::after {
  content: var(--tw-content);
  width: 2px;
}

.after\:-translate-x-1\/2::after {
  content: var(--tw-content);
  --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));
}

.first\:rounded-l-md:first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.first\:border-l:first-child {
  border-left-width: 1px;
}

.last\:mt-0:last-child {
  margin-top: 0px;
}

.last\:rounded-r-md:last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.last\:border-0:last-child {
  border-width: 0px;
}

.last\:pb-0:last-child {
  padding-bottom: 0px;
}

.open\:border-teal-300[open] {
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / var(--tw-border-opacity));
}

.open\:shadow-sm[open] {
  --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);
}

.focus-within\:ring-2:focus-within {
  --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\:z-20:hover {
  z-index: 20;
}

.hover\:-translate-y-0:hover {
  --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));
}

.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\:-translate-y-1\.5:hover {
  --tw-translate-y: -0.375rem;
  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-2:hover {
  --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));
}

.hover\:translate-x-0:hover {
  --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));
}

.hover\:translate-x-0\.5:hover {
  --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));
}

.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\.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-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / var(--tw-border-opacity));
}

.hover\:border-border:hover {
  border-color: var(--border);
}

.hover\:border-fuchsia-400\/30:hover {
  border-color: rgb(232 121 249 / 0.3);
}

.hover\:border-fuchsia-400\/40:hover {
  border-color: rgb(232 121 249 / 0.4);
}

.hover\:border-fuchsia-500\/30:hover {
  border-color: rgb(217 70 239 / 0.3);
}

.hover\:border-gray-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity));
}

.hover\:border-gray-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}

.hover\:border-primary:hover {
  border-color: var(--primary);
}

.hover\:border-violet-200:hover {
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / var(--tw-border-opacity));
}

.hover\:border-violet-300:hover {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity));
}

.hover\:border-violet-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity));
}

.hover\:border-white\/15:hover {
  border-color: rgb(255 255 255 / 0.15);
}

.hover\:bg-accent:hover {
  background-color: var(--accent);
}

.hover\:bg-amber-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / var(--tw-bg-opacity));
}

.hover\:bg-amber-100\/50:hover {
  background-color: rgb(254 243 199 / 0.5);
}

.hover\:bg-amber-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity));
}

.hover\:bg-amber-500\/15:hover {
  background-color: rgb(245 158 11 / 0.15);
}

.hover\:bg-amber-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity));
}

.hover\:bg-amber-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity));
}

.hover\:bg-black\/5:hover {
  background-color: rgb(0 0 0 / 0.05);
}

.hover\:bg-blue-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity));
}

.hover\:bg-blue-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity));
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity));
}

.hover\:bg-emerald-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / var(--tw-bg-opacity));
}

.hover\:bg-emerald-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / var(--tw-bg-opacity));
}

.hover\:bg-emerald-500\/20:hover {
  background-color: rgb(16 185 129 / 0.2);
}

.hover\:bg-emerald-500\/5:hover {
  background-color: rgb(16 185 129 / 0.05);
}

.hover\:bg-emerald-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / var(--tw-bg-opacity));
}

.hover\:bg-fuchsia-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 244 255 / var(--tw-bg-opacity));
}

.hover\:bg-fuchsia-500\/10:hover {
  background-color: rgb(217 70 239 / 0.1);
}

.hover\:bg-fuchsia-500\/5:hover {
  background-color: rgb(217 70 239 / 0.05);
}

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity));
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}

.hover\:bg-green-500\/15:hover {
  background-color: rgb(34 197 94 / 0.15);
}

.hover\:bg-indigo-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / var(--tw-bg-opacity));
}

.hover\:bg-indigo-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / var(--tw-bg-opacity));
}

.hover\:bg-indigo-50\/40:hover {
  background-color: rgb(238 242 255 / 0.4);
}

.hover\:bg-indigo-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / var(--tw-bg-opacity));
}

.hover\:bg-lime-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(247 254 231 / var(--tw-bg-opacity));
}

.hover\:bg-muted:hover {
  background-color: var(--muted);
}

.hover\:bg-orange-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / var(--tw-bg-opacity));
}

.hover\:bg-orange-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity));
}

.hover\:bg-orange-500\/15:hover {
  background-color: rgb(249 115 22 / 0.15);
}

.hover\:bg-orange-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity));
}

.hover\:bg-orange-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity));
}

.hover\:bg-pink-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity));
}

.hover\:bg-primary:hover {
  background-color: var(--primary);
}

.hover\:bg-purple-100\/60:hover {
  background-color: rgb(243 232 255 / 0.6);
}

.hover\:bg-purple-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / var(--tw-bg-opacity));
}

.hover\:bg-purple-500\/15:hover {
  background-color: rgb(168 85 247 / 0.15);
}

.hover\:bg-red-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity));
}

.hover\:bg-red-100\/60:hover {
  background-color: rgb(254 226 226 / 0.6);
}

.hover\:bg-red-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
}

.hover\:bg-red-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity));
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity));
}

.hover\:bg-rose-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / var(--tw-bg-opacity));
}

.hover\:bg-rose-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 205 211 / var(--tw-bg-opacity));
}

.hover\:bg-rose-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / var(--tw-bg-opacity));
}

.hover\:bg-rose-50\/30:hover {
  background-color: rgb(255 241 242 / 0.3);
}

.hover\:bg-rose-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity));
}

.hover\:bg-rose-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / var(--tw-bg-opacity));
}

.hover\:bg-rose-950\/10:hover {
  background-color: rgb(76 5 25 / 0.1);
}

.hover\:bg-secondary:hover {
  background-color: var(--secondary);
}

.hover\:bg-sidebar-accent:hover {
  background-color: var(--sidebar-accent);
}

.hover\:bg-sky-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity));
}

.hover\:bg-sky-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity));
}

.hover\:bg-sky-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / var(--tw-bg-opacity));
}

.hover\:bg-slate-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity));
}

.hover\:bg-slate-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / var(--tw-bg-opacity));
}

.hover\:bg-slate-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity));
}

.hover\:bg-slate-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity));
}

.hover\:bg-teal-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity));
}

.hover\:bg-teal-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity));
}

.hover\:bg-teal-500\/15:hover {
  background-color: rgb(20 184 166 / 0.15);
}

.hover\:bg-teal-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity));
}

.hover\:bg-violet-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / var(--tw-bg-opacity));
}

.hover\:bg-violet-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity));
}

.hover\:bg-violet-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity));
}

.hover\:bg-violet-50\/30:hover {
  background-color: rgb(245 243 255 / 0.3);
}

.hover\:bg-violet-50\/40:hover {
  background-color: rgb(245 243 255 / 0.4);
}

.hover\:bg-violet-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity));
}

.hover\:bg-violet-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / var(--tw-bg-opacity));
}

.hover\:bg-violet-950\/10:hover {
  background-color: rgb(46 16 101 / 0.1);
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/30:hover {
  background-color: rgb(255 255 255 / 0.3);
}

.hover\:bg-white\/80:hover {
  background-color: rgb(255 255 255 / 0.8);
}

.hover\:bg-white\/90:hover {
  background-color: rgb(255 255 255 / 0.9);
}

.hover\:bg-yellow-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity));
}

.hover\:text-accent-foreground:hover {
  color: var(--accent-foreground);
}

.hover\:text-destructive:hover {
  color: var(--destructive);
}

.hover\:text-foreground:hover {
  color: var(--foreground);
}

.hover\:text-fuchsia-600:hover {
  --tw-text-opacity: 1;
  color: rgb(192 38 211 / var(--tw-text-opacity));
}

.hover\:text-gray-600:hover {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}

.hover\:text-gray-700:hover {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity));
}

.hover\:text-green-900:hover {
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / var(--tw-text-opacity));
}

.hover\:text-muted-foreground:hover {
  color: var(--muted-foreground);
}

.hover\:text-primary:hover {
  color: var(--primary);
}

.hover\:text-primary-foreground:hover {
  color: var(--primary-foreground);
}

.hover\:text-red-600:hover {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity));
}

.hover\:text-rose-700:hover {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity));
}

.hover\:text-sidebar-accent-foreground:hover {
  color: var(--sidebar-accent-foreground);
}

.hover\:text-slate-600:hover {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity));
}

.hover\:text-slate-700:hover {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity));
}

.hover\:text-slate-900:hover {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity));
}

.hover\:text-teal-700:hover {
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / var(--tw-text-opacity));
}

.hover\:text-violet-600:hover {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity));
}

.hover\:text-violet-700:hover {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / var(--tw-text-opacity));
}

.hover\:text-violet-800:hover {
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / var(--tw-text-opacity));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-70:hover {
  opacity: 0.7;
}

.hover\:opacity-80:hover {
  opacity: 0.8;
}

.hover\:opacity-90:hover {
  opacity: 0.9;
}

.hover\:shadow-2xl:hover {
  --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);
}

.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 0 0 0 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-\[0_24px_48px_-28px_hsl\(var\(--primary\)\/0\.35\)\]:hover {
  --tw-shadow: 0 24px 48px -28px hsl(var(--primary)/0.35);
  --tw-shadow-colored: 0 24px 48px -28px 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-\[0_24px_50px_-30px_hsl\(var\(--primary\)\/0\.4\)\]:hover {
  --tw-shadow: 0 24px 50px -30px hsl(var(--primary)/0.4);
  --tw-shadow-colored: 0 24px 50px -30px 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-\[0_28px_60px_-24px_rgba\(192\2c 38\2c 211\2c 0\.4\)\]:hover {
  --tw-shadow: 0 28px 60px -24px rgba(192,38,211,0.4);
  --tw-shadow-colored: 0 28px 60px -24px 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\:after\:bg-sidebar-border:hover::after {
  content: var(--tw-content);
  background-color: var(--sidebar-border);
}

.focus\:border-primary:focus {
  border-color: var(--primary);
}

.focus\:border-teal-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / var(--tw-border-opacity));
}

.focus\:border-violet-300:focus {
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / var(--tw-border-opacity));
}

.focus\:bg-accent:focus {
  background-color: var(--accent);
}

.focus\:bg-white:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.focus\:text-accent-foreground:focus {
  color: var(--accent-foreground);
}

.focus\:opacity-100:focus {
  opacity: 1;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-0: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(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);
}

.focus\:ring-1: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(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\: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-4: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(4px + 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-amber-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity));
}

.focus\:ring-blue-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity));
}

.focus\:ring-emerald-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity));
}

.focus\:ring-indigo-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity));
}

.focus\:ring-orange-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 186 116 / var(--tw-ring-opacity));
}

.focus\:ring-red-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity));
}

.focus\:ring-ring:focus {
  --tw-ring-color: var(--ring);
}

.focus\:ring-rose-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 164 175 / var(--tw-ring-opacity));
}

.focus\:ring-sky-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(125 211 252 / var(--tw-ring-opacity));
}

.focus\:ring-teal-100:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(204 251 241 / var(--tw-ring-opacity));
}

.focus\:ring-teal-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(20 184 166 / var(--tw-ring-opacity));
}

.focus\:ring-violet-200:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(221 214 254 / var(--tw-ring-opacity));
}

.focus\:ring-violet-300:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity));
}

.focus\:ring-violet-50:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 243 255 / var(--tw-ring-opacity));
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:border-ring:focus-visible {
  border-color: var(--ring);
}

.focus-visible\:bg-background:focus-visible {
  background-color: var(--background);
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-0: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(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);
}

.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-\[3px\]: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(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);
}

.focus-visible\:ring-destructive:focus-visible {
  --tw-ring-color: var(--destructive);
}

.focus-visible\:ring-emerald-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity));
}

.focus-visible\:ring-emerald-500\/30:focus-visible {
  --tw-ring-color: rgb(16 185 129 / 0.3);
}

.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: var(--ring);
}

.focus-visible\:ring-rose-400:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 113 133 / var(--tw-ring-opacity));
}

.focus-visible\:ring-sidebar-ring:focus-visible {
  --tw-ring-color: var(--sidebar-ring);
}

.focus-visible\:ring-offset-0:focus-visible {
  --tw-ring-offset-width: 0px;
}

.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:ring-offset-background:focus-visible {
  --tw-ring-offset-color: 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\.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\:bg-sidebar-accent:active {
  background-color: var(--sidebar-accent);
}

.active\:text-sidebar-accent-foreground:active {
  color: var(--sidebar-accent-foreground);
}

.disabled\:pointer-events-none:disabled {
  pointer-events: none;
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:bg-muted:disabled {
  background-color: var(--muted);
}

.disabled\:text-muted-foreground:disabled {
  color: var(--muted-foreground);
}

.disabled\:opacity-30:disabled {
  opacity: 0.3;
}

.disabled\:opacity-40:disabled {
  opacity: 0.4;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.disabled\:opacity-60:disabled {
  opacity: 0.6;
}

.disabled\:hover\:translate-y-0:hover:disabled {
  --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));
}

.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[open] .group-open\: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));
}

.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:flex {
  display: flex;
}

.group:hover .group-hover\:hidden {
  display: none;
}

.group:hover .group-hover\:w-1 {
  width: 0.25rem;
}

.group:hover .group-hover\:w-1\.5 {
  width: 0.375rem;
}

.group:hover .group-hover\:w-2 {
  width: 0.5rem;
}

.group:hover .group-hover\:-translate-y-1 {
  --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));
}

.group:hover .group-hover\: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));
}

.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\:translate-x-1 {
  --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));
}

.group:hover .group-hover\:rotate-3 {
  --tw-rotate: 3deg;
  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\:scale-125 {
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.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));
}

.group:hover .group-hover\:bg-primary {
  background-color: var(--primary);
}

.group:hover .group-hover\:bg-violet-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / var(--tw-bg-opacity));
}

.group:hover .group-hover\:bg-violet-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / var(--tw-bg-opacity));
}

.group:hover .group-hover\:text-emerald-600 {
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / var(--tw-text-opacity));
}

.group:hover .group-hover\:text-fuchsia-600 {
  --tw-text-opacity: 1;
  color: rgb(192 38 211 / var(--tw-text-opacity));
}

.group:hover .group-hover\:text-primary {
  color: var(--primary);
}

.group:hover .group-hover\:text-primary-foreground {
  color: var(--primary-foreground);
}

.group:hover .group-hover\:text-violet-600 {
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / var(--tw-text-opacity));
}

.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-35 {
  opacity: 0.35;
}

.group:hover .group-hover\:opacity-40 {
  opacity: 0.4;
}

.group:hover .group-hover\:opacity-60 {
  opacity: 0.6;
}

.group:hover .group-hover\:opacity-70 {
  opacity: 0.7;
}

.group:hover .group-hover\:opacity-\[0\.22\] {
  opacity: 0.22;
}

.group.toaster .group-\[\.toaster\]\:border-border {
  border-color: var(--border);
}

.group.toast .group-\[\.toast\]\:bg-muted {
  background-color: var(--muted);
}

.group.toast .group-\[\.toast\]\:bg-primary {
  background-color: var(--primary);
}

.group.toaster .group-\[\.toaster\]\:bg-background {
  background-color: var(--background);
}

.group.destructive .group-\[\.destructive\]\:text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity));
}

.group.toast .group-\[\.toast\]\:text-muted-foreground {
  color: var(--muted-foreground);
}

.group.toast .group-\[\.toast\]\:text-primary-foreground {
  color: var(--primary-foreground);
}

.group.toaster .group-\[\.toaster\]\:text-foreground {
  color: var(--foreground);
}

.group.toaster .group-\[\.toaster\]\: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);
}

.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
  background-color: var(--destructive);
}

.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
  color: 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));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
  --tw-ring-color: 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));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
  --tw-ring-offset-color: #dc2626;
}

.peer\/menu-button:hover ~ .peer-hover\/menu-button\:text-sidebar-accent-foreground {
  color: var(--sidebar-accent-foreground);
}

.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}

.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}

.has-\[\>button\]\:ml-\[-0\.45rem\]:has(>button) {
  margin-left: -0.45rem;
}

.has-\[\>button\]\:mr-\[-0\.4rem\]:has(>button) {
  margin-right: -0.4rem;
}

.has-\[\>kbd\]\:ml-\[-0\.35rem\]:has(>kbd) {
  margin-left: -0.35rem;
}

.has-\[\>kbd\]\:mr-\[-0\.35rem\]:has(>kbd) {
  margin-right: -0.35rem;
}

.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]) {
  height: auto;
}

.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]) {
  height: auto;
}

.has-\[\>textarea\]\:h-auto:has(>textarea) {
  height: auto;
}

.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]) {
  width: 100%;
}

.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]) {
  flex-direction: column;
}

.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]) {
  flex-direction: column;
}

.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]) {
  flex-direction: column;
}

.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]) {
  align-items: flex-start;
}

.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]) {
  gap: 0.5rem;
}

.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]) {
  gap: 0.75rem;
}

.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]) {
  gap: 0.75rem;
}

.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]) {
  border-radius: calc(var(--radius) - 2px);
}

.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]) {
  border-width: 1px;
}

.has-\[\[data-slot\]\[aria-invalid\=true\]\]\:border-destructive:has([data-slot][aria-invalid=true]) {
  border-color: var(--destructive);
}

.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]) {
  background-color: var(--sidebar-background);
}

.has-\[\>svg\]\:p-0:has(>svg) {
  padding: 0px;
}

.has-\[\>svg\]\:px-2:has(>svg) {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.has-\[\>svg\]\:px-2\.5:has(>svg) {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.has-\[\:disabled\]\:opacity-50:has(:disabled) {
  opacity: 0.5;
}

.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-1:has([data-slot=input-group-control]: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);
}

.has-\[\[data-slot\=input-group-control\]\:focus-visible\]\:ring-ring:has([data-slot=input-group-control]:focus-visible) {
  --tw-ring-color: var(--ring);
}

.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:translate-y-0\.5 {
  --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));
}

.group\/item:has([data-slot=item-description]) .group-has-\[\[data-slot\=item-description\]\]\/item\:self-start {
  align-self: flex-start;
}

.group\/field:has([data-orientation=horizontal]) .group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance {
  text-wrap: balance;
}

.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pb-2\.5 {
  padding-bottom: 0.625rem;
}

.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pt-2\.5 {
  padding-top: 0.625rem;
}

.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8 {
  padding-right: 2rem;
}

.aria-disabled\:pointer-events-none[aria-disabled="true"] {
  pointer-events: none;
}

.aria-disabled\:opacity-50[aria-disabled="true"] {
  opacity: 0.5;
}

.aria-selected\:text-muted-foreground[aria-selected="true"] {
  color: var(--muted-foreground);
}

.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true] {
  pointer-events: none;
}

.data-\[disabled\]\:pointer-events-none[data-disabled] {
  pointer-events: none;
}

.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical] {
  height: auto;
}

.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical] {
  height: 1px;
}

.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical] {
  width: 100%;
}

.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-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical] {
  flex-direction: column;
}

.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group] {
  gap: 0.75rem;
}

.data-\[range-end\=true\]\:rounded-md[data-range-end=true] {
  border-radius: calc(var(--radius) - 2px);
}

.data-\[range-middle\=true\]\:rounded-none[data-range-middle=true] {
  border-radius: 0px;
}

.data-\[range-start\=true\]\:rounded-md[data-range-start=true] {
  border-radius: calc(var(--radius) - 2px);
}

.data-\[selected\=true\]\:rounded-none[data-selected=true] {
  border-radius: 0px;
}

.data-\[state\=checked\]\:border-violet-600[data-state=checked] {
  --tw-border-opacity: 1;
  border-color: rgb(124 58 237 / var(--tw-border-opacity));
}

.data-\[active\=true\]\:bg-sidebar-accent[data-active=true] {
  background-color: var(--sidebar-accent);
}

.data-\[range-end\=true\]\:bg-primary[data-range-end=true] {
  background-color: var(--primary);
}

.data-\[range-middle\=true\]\:bg-accent[data-range-middle=true] {
  background-color: var(--accent);
}

.data-\[range-start\=true\]\:bg-primary[data-range-start=true] {
  background-color: var(--primary);
}

.data-\[selected-single\=true\]\:bg-primary[data-selected-single=true] {
  background-color: var(--primary);
}

.data-\[selected\=true\]\:bg-accent[data-selected=true] {
  background-color: var(--accent);
}

.data-\[state\=active\]\:bg-white[data-state=active] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.data-\[state\=checked\]\:bg-primary[data-state=checked] {
  background-color: var(--primary);
}

.data-\[state\=checked\]\:bg-violet-600[data-state=checked] {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity));
}

.data-\[state\=on\]\:bg-accent[data-state=on] {
  background-color: var(--accent);
}

.data-\[state\=open\]\:bg-accent[data-state=open] {
  background-color: var(--accent);
}

.data-\[state\=open\]\:bg-secondary[data-state=open] {
  background-color: var(--secondary);
}

.data-\[state\=selected\]\:bg-muted[data-state=selected] {
  background-color: var(--muted);
}

.data-\[state\=unchecked\]\:bg-input[data-state=unchecked] {
  background-color: var(--input);
}

.data-\[variant\=label\]\:text-sm[data-variant=label] {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.data-\[variant\=legend\]\:text-base[data-variant=legend] {
  font-size: 1rem;
  line-height: 1.5rem;
}

.data-\[active\=true\]\:font-medium[data-active=true] {
  font-weight: 500;
}

.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true] {
  color: var(--sidebar-accent-foreground);
}

.data-\[empty\=true\]\:text-muted-foreground[data-empty=true] {
  color: var(--muted-foreground);
}

.data-\[invalid\=true\]\:text-destructive[data-invalid=true] {
  color: var(--destructive);
}

.data-\[placeholder\]\:text-muted-foreground[data-placeholder] {
  color: var(--muted-foreground);
}

.data-\[range-end\=true\]\:text-primary-foreground[data-range-end=true] {
  color: var(--primary-foreground);
}

.data-\[range-middle\=true\]\:text-accent-foreground[data-range-middle=true] {
  color: var(--accent-foreground);
}

.data-\[range-start\=true\]\:text-primary-foreground[data-range-start=true] {
  color: var(--primary-foreground);
}

.data-\[selected-single\=true\]\:text-primary-foreground[data-selected-single=true] {
  color: var(--primary-foreground);
}

.data-\[selected\=true\]\:text-accent-foreground[data-selected=true] {
  color: var(--accent-foreground);
}

.data-\[state\=active\]\:text-emerald-700[data-state=active] {
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity));
}

.data-\[state\=checked\]\:text-primary-foreground[data-state=checked] {
  color: var(--primary-foreground);
}

.data-\[state\=on\]\:text-accent-foreground[data-state=on] {
  color: var(--accent-foreground);
}

.data-\[state\=open\]\:text-accent-foreground[data-state=open] {
  color: var(--accent-foreground);
}

.data-\[state\=open\]\:text-muted-foreground[data-state=open] {
  color: var(--muted-foreground);
}

.data-\[disabled\=true\]\:opacity-50[data-disabled=true] {
  opacity: 0.5;
}

.data-\[disabled\]\:opacity-50[data-disabled] {
  opacity: 0.5;
}

.data-\[state\=open\]\:opacity-100[data-state=open] {
  opacity: 1;
}

.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;
}

.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]::after {
  content: var(--tw-content);
  left: 0px;
}

.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]::after {
  content: var(--tw-content);
  height: 0.25rem;
}

.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]::after {
  content: var(--tw-content);
  width: 100%;
}

.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]::after {
  content: var(--tw-content);
  --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));
}

.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]::after {
  content: var(--tw-content);
  --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-\[state\=open\]\:hover\:bg-accent:hover[data-state=open] {
  background-color: var(--accent);
}

.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open] {
  background-color: var(--sidebar-accent);
}

.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open] {
  color: var(--sidebar-accent-foreground);
}

.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open] {
  background-color: var(--accent);
}

.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:relative {
  position: relative;
}

.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  left: calc(var(--sidebar-width) * -1);
}

.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  right: calc(var(--sidebar-width) * -1);
}

.group[data-side=left] .group-data-\[side\=left\]\:-right-4 {
  right: -1rem;
}

.group[data-side=right] .group-data-\[side\=right\]\:left-0 {
  left: 0px;
}

.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:z-10 {
  z-index: 10;
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8 {
  margin-top: -2rem;
}

.group\/field-group[data-variant=outline] .group-data-\[variant\=outline\]\/field-group\:-mb-2 {
  margin-bottom: -0.5rem;
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden {
  display: none;
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8 {
  width: 2rem !important;
  height: 2rem !important;
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] {
  width: var(--sidebar-width-icon);
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem);
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}

.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0 {
  width: 0px;
}

.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\: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));
}

.group[data-side=right] .group-data-\[side\=right\]\: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));
}

.group[data-state=open] .group-data-\[state\=open\]\: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));
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden {
  overflow: hidden;
}

.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg {
  border-radius: var(--radius);
}

.group[data-variant=floating] .group-data-\[variant\=floating\]\:border {
  border-width: 1px;
}

.group[data-side=left] .group-data-\[side\=left\]\:border-r {
  border-right-width: 1px;
}

.group[data-side=right] .group-data-\[side\=right\]\:border-l {
  border-left-width: 1px;
}

.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:border-ring {
  border-color: var(--ring);
}

.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border {
  border-color: var(--sidebar-border);
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0 {
  padding: 0px !important;
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2 {
  padding: 0.5rem !important;
}

.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0 {
  opacity: 0;
}

.group\/field[data-disabled=true] .group-data-\[disabled\=true\]\/field\:opacity-50 {
  opacity: 0.5;
}

.group\/input-group[data-disabled=true] .group-data-\[disabled\=true\]\/input-group\:opacity-50 {
  opacity: 0.5;
}

.group[data-variant=floating] .group-data-\[variant\=floating\]\: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);
}

.group\/day[data-focused=true] .group-data-\[focused\=true\]\/day\:ring-\[3px\] {
  --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);
}

.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after {
  content: var(--tw-content);
  left: 100%;
}

.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover {
  background-color: var(--sidebar-background);
}

.peer\/menu-button[data-size=default] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
  top: 0.375rem;
}

.peer\/menu-button[data-size=lg] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
  top: 0.625rem;
}

.peer\/menu-button[data-size=sm] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1 {
  top: 0.25rem;
}

.peer\/menu-button[data-active=true] ~ .peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground {
  color: var(--sidebar-accent-foreground);
}

.dark\:border-amber-400\/20:is(.dark *) {
  border-color: rgb(251 191 36 / 0.2);
}

.dark\:border-amber-400\/25:is(.dark *) {
  border-color: rgb(251 191 36 / 0.25);
}

.dark\:border-amber-500\/20:is(.dark *) {
  border-color: rgb(245 158 11 / 0.2);
}

.dark\:border-amber-500\/40:is(.dark *) {
  border-color: rgb(245 158 11 / 0.4);
}

.dark\:border-blue-400\/40:is(.dark *) {
  border-color: rgb(96 165 250 / 0.4);
}

.dark\:border-blue-500\/20:is(.dark *) {
  border-color: rgb(59 130 246 / 0.2);
}

.dark\:border-destructive:is(.dark *) {
  border-color: var(--destructive);
}

.dark\:border-emerald-500\/20:is(.dark *) {
  border-color: rgb(16 185 129 / 0.2);
}

.dark\:border-emerald-500\/30:is(.dark *) {
  border-color: rgb(16 185 129 / 0.3);
}

.dark\:border-emerald-500\/40:is(.dark *) {
  border-color: rgb(16 185 129 / 0.4);
}

.dark\:border-emerald-800\/40:is(.dark *) {
  border-color: rgb(6 95 70 / 0.4);
}

.dark\:border-fuchsia-500\/20:is(.dark *) {
  border-color: rgb(217 70 239 / 0.2);
}

.dark\:border-fuchsia-500\/30:is(.dark *) {
  border-color: rgb(217 70 239 / 0.3);
}

.dark\:border-gray-500\/20:is(.dark *) {
  border-color: rgb(107 114 128 / 0.2);
}

.dark\:border-orange-400\/20:is(.dark *) {
  border-color: rgb(251 146 60 / 0.2);
}

.dark\:border-orange-400\/25:is(.dark *) {
  border-color: rgb(251 146 60 / 0.25);
}

.dark\:border-orange-500\/20:is(.dark *) {
  border-color: rgb(249 115 22 / 0.2);
}

.dark\:border-orange-500\/25:is(.dark *) {
  border-color: rgb(249 115 22 / 0.25);
}

.dark\:border-purple-500\/20:is(.dark *) {
  border-color: rgb(168 85 247 / 0.2);
}

.dark\:border-red-500\/20:is(.dark *) {
  border-color: rgb(239 68 68 / 0.2);
}

.dark\:border-rose-500\/20:is(.dark *) {
  border-color: rgb(244 63 94 / 0.2);
}

.dark\:border-rose-500\/40:is(.dark *) {
  border-color: rgb(244 63 94 / 0.4);
}

.dark\:border-rose-500\/50:is(.dark *) {
  border-color: rgb(244 63 94 / 0.5);
}

.dark\:border-sky-500\/30:is(.dark *) {
  border-color: rgb(14 165 233 / 0.3);
}

.dark\:border-slate-500\/20:is(.dark *) {
  border-color: rgb(100 116 139 / 0.2);
}

.dark\:border-teal-500\/20:is(.dark *) {
  border-color: rgb(20 184 166 / 0.2);
}

.dark\:border-violet-500\/20:is(.dark *) {
  border-color: rgb(139 92 246 / 0.2);
}

.dark\:border-violet-500\/25:is(.dark *) {
  border-color: rgb(139 92 246 / 0.25);
}

.dark\:border-white\/10:is(.dark *) {
  border-color: rgb(255 255 255 / 0.1);
}

.dark\:border-white\/20:is(.dark *) {
  border-color: rgb(255 255 255 / 0.2);
}

.dark\:bg-amber-300:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(252 211 77 / var(--tw-bg-opacity));
}

.dark\:bg-amber-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity));
}

.dark\:bg-amber-400\/10:is(.dark *) {
  background-color: rgb(251 191 36 / 0.1);
}

.dark\:bg-amber-400\/15:is(.dark *) {
  background-color: rgb(251 191 36 / 0.15);
}

.dark\:bg-amber-400\/25:is(.dark *) {
  background-color: rgb(251 191 36 / 0.25);
}

.dark\:bg-amber-500\/10:is(.dark *) {
  background-color: rgb(245 158 11 / 0.1);
}

.dark\:bg-amber-500\/15:is(.dark *) {
  background-color: rgb(245 158 11 / 0.15);
}

.dark\:bg-amber-500\/20:is(.dark *) {
  background-color: rgb(245 158 11 / 0.2);
}

.dark\:bg-amber-600:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity));
}

.dark\:bg-black\/10:is(.dark *) {
  background-color: rgb(0 0 0 / 0.1);
}

.dark\:bg-blue-400\/10:is(.dark *) {
  background-color: rgb(96 165 250 / 0.1);
}

.dark\:bg-blue-500\/10:is(.dark *) {
  background-color: rgb(59 130 246 / 0.1);
}

.dark\:bg-blue-500\/15:is(.dark *) {
  background-color: rgb(59 130 246 / 0.15);
}

.dark\:bg-blue-500\/20:is(.dark *) {
  background-color: rgb(59 130 246 / 0.2);
}

.dark\:bg-emerald-300:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(110 231 183 / var(--tw-bg-opacity));
}

.dark\:bg-emerald-400:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity));
}

.dark\:bg-emerald-400\/10:is(.dark *) {
  background-color: rgb(52 211 153 / 0.1);
}

.dark\:bg-emerald-500\/10:is(.dark *) {
  background-color: rgb(16 185 129 / 0.1);
}

.dark\:bg-emerald-500\/15:is(.dark *) {
  background-color: rgb(16 185 129 / 0.15);
}

.dark\:bg-fuchsia-400\/30:is(.dark *) {
  background-color: rgb(232 121 249 / 0.3);
}

.dark\:bg-fuchsia-400\/40:is(.dark *) {
  background-color: rgb(232 121 249 / 0.4);
}

.dark\:bg-fuchsia-500\/15:is(.dark *) {
  background-color: rgb(217 70 239 / 0.15);
}

.dark\:bg-gray-500\/10:is(.dark *) {
  background-color: rgb(107 114 128 / 0.1);
}

.dark\:bg-gray-900:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity));
}

.dark\:bg-green-500\/10:is(.dark *) {
  background-color: rgb(34 197 94 / 0.1);
}

.dark\:bg-green-500\/15:is(.dark *) {
  background-color: rgb(34 197 94 / 0.15);
}

.dark\:bg-green-500\/20:is(.dark *) {
  background-color: rgb(34 197 94 / 0.2);
}

.dark\:bg-green-500\/25:is(.dark *) {
  background-color: rgb(34 197 94 / 0.25);
}

.dark\:bg-green-500\/5:is(.dark *) {
  background-color: rgb(34 197 94 / 0.05);
}

.dark\:bg-indigo-500\/15:is(.dark *) {
  background-color: rgb(99 102 241 / 0.15);
}

.dark\:bg-orange-400\/10:is(.dark *) {
  background-color: rgb(251 146 60 / 0.1);
}

.dark\:bg-orange-500\/10:is(.dark *) {
  background-color: rgb(249 115 22 / 0.1);
}

.dark\:bg-orange-500\/15:is(.dark *) {
  background-color: rgb(249 115 22 / 0.15);
}

.dark\:bg-orange-500\/25:is(.dark *) {
  background-color: rgb(249 115 22 / 0.25);
}

.dark\:bg-purple-500\/10:is(.dark *) {
  background-color: rgb(168 85 247 / 0.1);
}

.dark\:bg-purple-500\/15:is(.dark *) {
  background-color: rgb(168 85 247 / 0.15);
}

.dark\:bg-purple-500\/20:is(.dark *) {
  background-color: rgb(168 85 247 / 0.2);
}

.dark\:bg-purple-500\/25:is(.dark *) {
  background-color: rgb(168 85 247 / 0.25);
}

.dark\:bg-red-500\/10:is(.dark *) {
  background-color: rgb(239 68 68 / 0.1);
}

.dark\:bg-red-500\/15:is(.dark *) {
  background-color: rgb(239 68 68 / 0.15);
}

.dark\:bg-rose-500\/10:is(.dark *) {
  background-color: rgb(244 63 94 / 0.1);
}

.dark\:bg-rose-500\/15:is(.dark *) {
  background-color: rgb(244 63 94 / 0.15);
}

.dark\:bg-rose-500\/20:is(.dark *) {
  background-color: rgb(244 63 94 / 0.2);
}

.dark\:bg-sky-400\/10:is(.dark *) {
  background-color: rgb(56 189 248 / 0.1);
}

.dark\:bg-sky-500\/10:is(.dark *) {
  background-color: rgb(14 165 233 / 0.1);
}

.dark\:bg-sky-500\/15:is(.dark *) {
  background-color: rgb(14 165 233 / 0.15);
}

.dark\:bg-slate-500\/10:is(.dark *) {
  background-color: rgb(100 116 139 / 0.1);
}

.dark\:bg-slate-500\/15:is(.dark *) {
  background-color: rgb(100 116 139 / 0.15);
}

.dark\:bg-slate-800:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity));
}

.dark\:bg-teal-500\/10:is(.dark *) {
  background-color: rgb(20 184 166 / 0.1);
}

.dark\:bg-teal-500\/15:is(.dark *) {
  background-color: rgb(20 184 166 / 0.15);
}

.dark\:bg-teal-500\/25:is(.dark *) {
  background-color: rgb(20 184 166 / 0.25);
}

.dark\:bg-transparent:is(.dark *) {
  background-color: transparent;
}

.dark\:bg-violet-400\/30:is(.dark *) {
  background-color: rgb(167 139 250 / 0.3);
}

.dark\:bg-violet-500\/15:is(.dark *) {
  background-color: rgb(139 92 246 / 0.15);
}

.dark\:bg-white\/\[0\.02\]:is(.dark *) {
  background-color: rgb(255 255 255 / 0.02);
}

.dark\:bg-white\/\[0\.04\]:is(.dark *) {
  background-color: rgb(255 255 255 / 0.04);
}

.dark\:from-\[\#150a26\]:is(.dark *) {
  --tw-gradient-from: #150a26 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(21 10 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-\[\#1a1229\]:is(.dark *) {
  --tw-gradient-from: #1a1229 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 18 41 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-fuchsia-500\/10:is(.dark *) {
  --tw-gradient-from: rgb(217 70 239 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-fuchsia-500\/40:is(.dark *) {
  --tw-gradient-from: rgb(217 70 239 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-primary:is(.dark *) {
  --tw-gradient-from: var(--primary) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:from-slate-800:is(.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-violet-950\/40:is(.dark *) {
  --tw-gradient-from: rgb(46 16 101 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(46 16 101 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.dark\:via-\[\#241a3d\]:is(.dark *) {
  --tw-gradient-to: rgb(36 26 61 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #241a3d var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.dark\:via-\[\#2b1249\]:is(.dark *) {
  --tw-gradient-to: rgb(43 18 73 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #2b1249 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.dark\:via-background:is(.dark *) {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--background) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.dark\:via-fuchsia-500\/10:is(.dark *) {
  --tw-gradient-to: rgb(217 70 239 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(217 70 239 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.dark\:to-\[\#2f1c3f\]:is(.dark *) {
  --tw-gradient-to: #2f1c3f var(--tw-gradient-to-position);
}

.dark\:to-\[\#3a1533\]:is(.dark *) {
  --tw-gradient-to: #3a1533 var(--tw-gradient-to-position);
}

.dark\:to-indigo-700:is(.dark *) {
  --tw-gradient-to: #4338ca var(--tw-gradient-to-position);
}

.dark\:to-pink-950\/30:is(.dark *) {
  --tw-gradient-to: rgb(80 7 36 / 0.3) var(--tw-gradient-to-position);
}

.dark\:to-slate-900:is(.dark *) {
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}

.dark\:to-transparent:is(.dark *) {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.dark\:text-accent:is(.dark *) {
  color: var(--accent);
}

.dark\:text-amber-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity));
}

.dark\:text-amber-100\/80:is(.dark *) {
  color: rgb(254 243 199 / 0.8);
}

.dark\:text-amber-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity));
}

.dark\:text-amber-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity));
}

.dark\:text-amber-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity));
}

.dark\:text-blue-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity));
}

.dark\:text-blue-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity));
}

.dark\:text-blue-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity));
}

.dark\:text-emerald-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity));
}

.dark\:text-emerald-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity));
}

.dark\:text-emerald-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity));
}

.dark\:text-emerald-400\/80:is(.dark *) {
  color: rgb(52 211 153 / 0.8);
}

.dark\:text-fuchsia-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(240 171 252 / var(--tw-text-opacity));
}

.dark\:text-fuchsia-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / var(--tw-text-opacity));
}

.dark\:text-gray-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / var(--tw-text-opacity));
}

.dark\:text-gray-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity));
}

.dark\:text-gray-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity));
}

.dark\:text-gray-600:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity));
}

.dark\:text-green-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity));
}

.dark\:text-green-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity));
}

.dark\:text-green-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity));
}

.dark\:text-indigo-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity));
}

.dark\:text-orange-100\/90:is(.dark *) {
  color: rgb(255 237 213 / 0.9);
}

.dark\:text-orange-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 215 170 / var(--tw-text-opacity));
}

.dark\:text-orange-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity));
}

.dark\:text-orange-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity));
}

.dark\:text-orange-50:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 247 237 / var(--tw-text-opacity));
}

.dark\:text-purple-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / var(--tw-text-opacity));
}

.dark\:text-purple-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity));
}

.dark\:text-purple-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity));
}

.dark\:text-red-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity));
}

.dark\:text-red-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity));
}

.dark\:text-red-400\/80:is(.dark *) {
  color: rgb(248 113 113 / 0.8);
}

.dark\:text-rose-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 205 211 / var(--tw-text-opacity));
}

.dark\:text-rose-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity));
}

.dark\:text-rose-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity));
}

.dark\:text-sky-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(125 211 252 / var(--tw-text-opacity));
}

.dark\:text-sky-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity));
}

.dark\:text-slate-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity));
}

.dark\:text-slate-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity));
}

.dark\:text-slate-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity));
}

.dark\:text-teal-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(153 246 228 / var(--tw-text-opacity));
}

.dark\:text-teal-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity));
}

.dark\:text-teal-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity));
}

.dark\:text-violet-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity));
}

.dark\:text-violet-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity));
}

.dark\:text-white:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.dark\:hover\:border-white\/20:hover:is(.dark *) {
  border-color: rgb(255 255 255 / 0.2);
}

.dark\:hover\:bg-amber-400\/15:hover:is(.dark *) {
  background-color: rgb(251 191 36 / 0.15);
}

.dark\:hover\:bg-amber-500:hover:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity));
}

.dark\:hover\:bg-amber-500\/15:hover:is(.dark *) {
  background-color: rgb(245 158 11 / 0.15);
}

.dark\:hover\:bg-blue-500\/15:hover:is(.dark *) {
  background-color: rgb(59 130 246 / 0.15);
}

.dark\:hover\:bg-emerald-500\/20:hover:is(.dark *) {
  background-color: rgb(16 185 129 / 0.2);
}

.dark\:hover\:bg-green-500\/15:hover:is(.dark *) {
  background-color: rgb(34 197 94 / 0.15);
}

.dark\:hover\:bg-orange-400\/15:hover:is(.dark *) {
  background-color: rgb(251 146 60 / 0.15);
}

.dark\:hover\:bg-orange-500\/15:hover:is(.dark *) {
  background-color: rgb(249 115 22 / 0.15);
}

.dark\:hover\:bg-purple-500\/15:hover:is(.dark *) {
  background-color: rgb(168 85 247 / 0.15);
}

.dark\:hover\:bg-rose-500\/10:hover:is(.dark *) {
  background-color: rgb(244 63 94 / 0.1);
}

.dark\:hover\:bg-teal-500\/15:hover:is(.dark *) {
  background-color: rgb(20 184 166 / 0.15);
}

.dark\:hover\:text-emerald-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity));
}

.dark\:hover\:text-green-300:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity));
}

.dark\:hover\:text-white:hover:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.group:hover .dark\:group-hover\:text-fuchsia-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / var(--tw-text-opacity));
}

@media (min-width: 640px) {

  .sm\:bottom-0 {
    bottom: 0px;
  }

  .sm\:right-0 {
    right: 0px;
  }

  .sm\:top-auto {
    top: auto;
  }

  .sm\:order-1 {
    order: 1;
  }

  .sm\:order-2 {
    order: 2;
  }

  .sm\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .sm\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .sm\:my-8 {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }

  .sm\:mt-0 {
    margin-top: 0px;
  }

  .sm\:block {
    display: block;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:flex {
    display: flex;
  }

  .sm\:table-cell {
    display: table-cell;
  }

  .sm\:grid {
    display: grid;
  }

  .sm\:hidden {
    display: none;
  }

  .sm\:h-12 {
    height: 3rem;
  }

  .sm\:w-12 {
    width: 3rem;
  }

  .sm\:w-36 {
    width: 9rem;
  }

  .sm\:w-44 {
    width: 11rem;
  }

  .sm\:w-48 {
    width: 12rem;
  }

  .sm\:w-52 {
    width: 13rem;
  }

  .sm\:w-56 {
    width: 14rem;
  }

  .sm\:w-\[340px\] {
    width: 340px;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:w-fit {
    width: -moz-fit-content;
    width: fit-content;
  }

  .sm\:min-w-0 {
    min-width: 0px;
  }

  .sm\:min-w-\[285px\] {
    min-width: 285px;
  }

  .sm\:max-w-\[42\%\] {
    max-width: 42%;
  }

  .sm\:max-w-sm {
    max-width: 24rem;
  }

  .sm\:flex-none {
    flex: none;
  }

  .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\:flex-row {
    flex-direction: row;
  }

  .sm\:flex-row-reverse {
    flex-direction: row-reverse;
  }

  .sm\:flex-col {
    flex-direction: column;
  }

  .sm\:items-end {
    align-items: flex-end;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-end {
    justify-content: flex-end;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-2 {
    gap: 0.5rem;
  }

  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }

  .sm\:gap-4 {
    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\:self-auto {
    align-self: auto;
  }

  .sm\:rounded-\[2rem\] {
    border-radius: 2rem;
  }

  .sm\:rounded-lg {
    border-radius: var(--radius);
  }

  .sm\:p-10 {
    padding: 2.5rem;
  }

  .sm\:p-4 {
    padding: 1rem;
  }

  .sm\:p-5 {
    padding: 1.25rem;
  }

  .sm\:p-6 {
    padding: 1.5rem;
  }

  .sm\:p-7 {
    padding: 1.75rem;
  }

  .sm\:p-8 {
    padding: 2rem;
  }

  .sm\:p-9 {
    padding: 2.25rem;
  }

  .sm\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .sm\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

  .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\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .sm\:py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .sm\:py-14 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .sm\:pl-7 {
    padding-left: 1.75rem;
  }

  .sm\:text-left {
    text-align: left;
  }

  .sm\:text-right {
    text-align: right;
  }

  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-\[32px\] {
    font-size: 32px;
  }

  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 768px) {

  .md\:absolute {
    position: absolute;
  }

  .md\:left-auto {
    left: auto;
  }

  .md\:left-full {
    left: 100%;
  }

  .md\:right-full {
    right: 100%;
  }

  .md\:top-0 {
    top: 0px;
  }

  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .md\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .md\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .md\:col-span-7 {
    grid-column: span 7 / span 7;
  }

  .md\:ml-3 {
    margin-left: 0.75rem;
  }

  .md\:mr-3 {
    margin-right: 0.75rem;
  }

  .md\:mt-0 {
    margin-top: 0px;
  }

  .md\:block {
    display: block;
  }

  .md\:flex {
    display: flex;
  }

  .md\:table-cell {
    display: table-cell;
  }

  .md\:hidden {
    display: none;
  }

  .md\:h-12 {
    height: 3rem;
  }

  .md\:h-14 {
    height: 3.5rem;
  }

  .md\:h-6 {
    height: 1.5rem;
  }

  .md\:h-7 {
    height: 1.75rem;
  }

  .md\:w-12 {
    width: 3rem;
  }

  .md\:w-14 {
    width: 3.5rem;
  }

  .md\:w-48 {
    width: 12rem;
  }

  .md\:w-6 {
    width: 1.5rem;
  }

  .md\:w-7 {
    width: 1.75rem;
  }

  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
    width: var(--radix-navigation-menu-viewport-width);
  }

  .md\:w-auto {
    width: auto;
  }

  .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-\[1fr_auto_1fr\] {
    grid-template-columns: 1fr auto 1fr;
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-center {
    align-items: center;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:p-12 {
    padding: 3rem;
  }

  .md\:p-5 {
    padding: 1.25rem;
  }

  .md\:p-6 {
    padding: 1.5rem;
  }

  .md\:px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .md\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .md\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .md\:opacity-0 {
    opacity: 0;
  }

  .after\:md\:hidden::after {
    content: var(--tw-content);
    display: none;
  }

  .peer[data-variant=inset] ~ .md\:peer-data-\[variant\=inset\]\:m-2 {
    margin: 0.5rem;
  }

  .peer[data-state=collapsed][data-variant=inset] ~ .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2 {
    margin-left: 0.5rem;
  }

  .peer[data-variant=inset] ~ .md\:peer-data-\[variant\=inset\]\:ml-0 {
    margin-left: 0px;
  }

  .peer[data-variant=inset] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl {
    border-radius: 0.75rem;
  }

  .peer[data-variant=inset] ~ .md\:peer-data-\[variant\=inset\]\: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);
  }
}

@media (min-width: 1024px) {

  .lg\:static {
    position: static;
  }

  .lg\:sticky {
    position: sticky;
  }

  .lg\:top-6 {
    top: 1.5rem;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .lg\:mt-0 {
    margin-top: 0px;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:table-cell {
    display: table-cell;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:h-\[calc\(100vh-160px\)\] {
    height: calc(100vh - 160px);
  }

  .lg\:w-56 {
    width: 14rem;
  }

  .lg\:w-80 {
    width: 20rem;
  }

  .lg\:w-\[170px\] {
    width: 170px;
  }

  .lg\:w-\[20\%\] {
    width: 20%;
  }

  .lg\:w-\[200px\] {
    width: 200px;
  }

  .lg\:w-\[26\%\] {
    width: 26%;
  }

  .lg\:w-\[330px\] {
    width: 330px;
  }

  .lg\:w-\[34\%\] {
    width: 34%;
  }

  .lg\:max-w-md {
    max-width: 28rem;
  }

  .lg\:flex-none {
    flex: none;
  }

  .lg\:flex-shrink-0 {
    flex-shrink: 0;
  }

  .lg\: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));
  }

  .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-\[1\.05fr_0\.95fr\] {
    grid-template-columns: 1.05fr 0.95fr;
  }

  .lg\:grid-cols-\[1\.15fr_\.85fr\] {
    grid-template-columns: 1.15fr .85fr;
  }

  .lg\:grid-cols-\[1\.45fr_1fr\] {
    grid-template-columns: 1.45fr 1fr;
  }

  .lg\:grid-cols-\[160px_minmax\(0\2c 1fr\)_24px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 160px minmax(0,1fr) 24px minmax(0,1fr);
  }

  .lg\:grid-cols-\[1fr_1\.2fr\] {
    grid-template-columns: 1fr 1.2fr;
  }

  .lg\:grid-cols-\[1fr_180px_180px_auto\] {
    grid-template-columns: 1fr 180px 180px auto;
  }

  .lg\:grid-cols-\[1fr_1fr\] {
    grid-template-columns: 1fr 1fr;
  }

  .lg\:grid-cols-\[1fr_auto_auto\] {
    grid-template-columns: 1fr auto auto;
  }

  .lg\:grid-cols-\[220px_1fr\] {
    grid-template-columns: 220px 1fr;
  }

  .lg\:grid-cols-\[minmax\(0\2c 1fr\)_220px_220px\] {
    grid-template-columns: minmax(0,1fr) 220px 220px;
  }

  .lg\:flex-row {
    flex-direction: row;
  }

  .lg\:flex-nowrap {
    flex-wrap: nowrap;
  }

  .lg\:items-end {
    align-items: flex-end;
  }

  .lg\:items-center {
    align-items: center;
  }

  .lg\:justify-end {
    justify-content: flex-end;
  }

  .lg\:justify-between {
    justify-content: space-between;
  }

  .lg\:self-auto {
    align-self: auto;
  }

  .lg\:border-l {
    border-left-width: 1px;
  }

  .lg\:border-t-0 {
    border-top-width: 0px;
  }

  .lg\:p-8 {
    padding: 2rem;
  }

  .lg\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .lg\:pl-4 {
    padding-left: 1rem;
  }

  .lg\:pl-5 {
    padding-left: 1.25rem;
  }

  .lg\:pt-0 {
    padding-top: 0px;
  }

  .lg\:text-right {
    text-align: right;
  }
}

@media (min-width: 1280px) {

  .xl\:sticky {
    position: sticky;
  }

  .xl\:top-6 {
    top: 1.5rem;
  }

  .xl\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .xl\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .xl\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .xl\:min-w-\[465px\] {
    min-width: 465px;
  }

  .xl\:grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .xl\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .xl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .xl\:grid-cols-\[1fr_auto_auto_auto\] {
    grid-template-columns: 1fr auto auto auto;
  }

  .xl\:grid-cols-\[250px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 250px minmax(0,1fr);
  }

  .xl\:grid-cols-\[360px_minmax\(0\2c 1fr\)\] {
    grid-template-columns: 360px minmax(0,1fr);
  }

  .xl\:flex-row {
    flex-direction: row;
  }

  .xl\:items-center {
    align-items: center;
  }

  .xl\:justify-between {
    justify-content: space-between;
  }
}

.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content] {
  flex: none;
}

.\[\&\:first-child\[data-selected\=true\]_button\]\:rounded-l-md:first-child[data-selected=true] button {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
  padding-right: 0px;
}

.\[\&\:last-child\[data-selected\=true\]_button\]\:rounded-r-md:last-child[data-selected=true] button {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>*:not(:first-child) {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>*:not(:first-child) {
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}

.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>*:not(:first-child) {
  border-left-width: 0px;
}

.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>*:not(:first-child) {
  border-top-width: 0px;
}

.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>*:not(:last-child) {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>*:not(:last-child) {
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.\[\&\>\*\]\:w-full>* {
  width: 100%;
}

.\[\&\>\*\]\:focus-visible\:relative:focus-visible>* {
  position: relative;
}

.\[\&\>\*\]\:focus-visible\:z-10:focus-visible>* {
  z-index: 10;
}

.\[\&\>\.sr-only\]\:w-auto>.sr-only {
  width: auto;
}

.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group] {
  gap: 1rem;
}

.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label] {
  flex: 1 1 auto;
}

.\[\&\>\[data-slot\=field\]\]\:p-4>[data-slot=field] {
  padding: 1rem;
}

.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md>[data-slot=select-trigger]:last-of-type:has(select[aria-hidden=true]:last-child) {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*='w-']) {
  width: -moz-fit-content;
  width: fit-content;
}

.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox] {
  --tw-translate-y: 2px;
  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));
}

.\[\&\>a\:hover\]\:text-primary>a:hover {
  color: var(--primary);
}

.\[\&\>a\]\:underline>a {
  text-decoration-line: underline;
}

.\[\&\>a\]\:underline-offset-4>a {
  text-underline-offset: 4px;
}

.\[\&\>button\]\:hidden>button {
  display: none;
}

.\[\&\>input\]\:flex-1>input {
  flex: 1 1 0%;
}

.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3>input:has(>[data-align=block-end]) {
  padding-top: 0.75rem;
}

.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3>input:has(>[data-align=block-start]) {
  padding-bottom: 0.75rem;
}

.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-2>input:has(>[data-align=inline-end]) {
  padding-right: 0.5rem;
}

.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-2>input:has(>[data-align=inline-start]) {
  padding-left: 0.5rem;
}

.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd {
  border-radius: calc(var(--radius) - 5px);
}

.\[\&\>span\:last-child\]\:truncate>span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.\[\&\>span\]\:line-clamp-1>span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.\[\&\>span\]\:text-xs>span {
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&\>span\]\:opacity-70>span {
  opacity: 0.7;
}

.\[\&\>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\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*='size-']) {
  width: 0.875rem;
  height: 0.875rem;
}

.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*='size-']) {
  width: 1rem;
  height: 1rem;
}

.\[\&\>svg\]\:absolute>svg {
  position: absolute;
}

.\[\&\>svg\]\:left-4>svg {
  left: 1rem;
}

.\[\&\>svg\]\:top-4>svg {
  top: 1rem;
}

.\[\&\>svg\]\:size-3\.5>svg {
  width: 0.875rem;
  height: 0.875rem;
}

.\[\&\>svg\]\:size-4>svg {
  width: 1rem;
  height: 1rem;
}

.\[\&\>svg\]\:h-2\.5>svg {
  height: 0.625rem;
}

.\[\&\>svg\]\:h-3>svg {
  height: 0.75rem;
}

.\[\&\>svg\]\:h-3\.5>svg {
  height: 0.875rem;
}

.\[\&\>svg\]\:w-2\.5>svg {
  width: 0.625rem;
}

.\[\&\>svg\]\:w-3>svg {
  width: 0.75rem;
}

.\[\&\>svg\]\:w-3\.5>svg {
  width: 0.875rem;
}

.\[\&\>svg\]\:shrink-0>svg {
  flex-shrink: 0;
}

.\[\&\>svg\]\:text-destructive>svg {
  color: var(--destructive);
}

.\[\&\>svg\]\:text-foreground>svg {
  color: var(--foreground);
}

.\[\&\>svg\]\:text-muted-foreground>svg {
  color: var(--muted-foreground);
}

.\[\&\>svg\]\:text-sidebar-accent-foreground>svg {
  color: var(--sidebar-accent-foreground);
}

.\[\&\>svg\~\*\]\:pl-7>svg~* {
  padding-left: 1.75rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}

.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
  --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));
}

.\[\&\[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));
}

.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
  fill: var(--muted-foreground);
}

.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
  stroke: var(--border);
}

.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
  stroke: transparent;
}

.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
  stroke: var(--border);
}

.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
  fill: var(--muted);
}

.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
  fill: var(--muted);
}

.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
  stroke: var(--border);
}

.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
  stroke: transparent;
}

.\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
  font-weight: 500;
}

.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
  color: var(--muted-foreground);
}

.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
  padding-top: 0px;
}

.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
  height: 1.25rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
  width: 1.25rem;
}

.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
  height: 3rem;
}

.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
  height: 1.25rem;
}

.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
  width: 1.25rem;
}

.\[\&_img\]\:size-full img {
  width: 100%;
  height: 100%;
}

.\[\&_img\]\:object-cover img {
  -o-object-fit: cover;
     object-fit: cover;
}

.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}

.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*='size-']) {
  width: 0.75rem;
  height: 0.75rem;
}

.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*='size-']) {
  width: 1rem;
  height: 1rem;
}

.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-6 svg:not([class*='size-']) {
  width: 1.5rem;
  height: 1.5rem;
}

.\[\&_svg\]\:pointer-events-none svg {
  pointer-events: none;
}

.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}

.\[\&_svg\]\:shrink-0 svg {
  flex-shrink: 0;
}

.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}

.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}

[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
  right: -0.5rem;
}

[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}

[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}

[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
  left: -0.5rem;
}

[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}

[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}

[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent {
  background-color: transparent;
}

[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent {
  background-color: transparent;
}

[data-slot=tooltip-content] .\[\[data-slot\=tooltip-content\]_\&\]\:text-background {
  color: var(--background);
}

[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5 {
  margin-top: -0.375rem;
}
/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */
.ql-container {
  box-sizing: border-box;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  height: 100%;
  margin: 0px;
  position: relative;
}
.ql-container.ql-disabled .ql-tooltip {
  visibility: hidden;
}
.ql-container.ql-disabled .ql-editor ul[data-checked] > li::before {
  pointer-events: none;
}
.ql-clipboard {
  left: -100000px;
  height: 1px;
  overflow-y: hidden;
  position: absolute;
  top: 50%;
}
.ql-clipboard p {
  margin: 0;
  padding: 0;
}
.ql-editor {
  box-sizing: border-box;
  line-height: 1.42;
  height: 100%;
  outline: none;
  overflow-y: auto;
  padding: 12px 15px;
  -o-tab-size: 4;
     tab-size: 4;
  -moz-tab-size: 4;
  text-align: left;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.ql-editor > * {
  cursor: text;
}
.ql-editor p,
.ql-editor ol,
.ql-editor ul,
.ql-editor pre,
.ql-editor blockquote,
.ql-editor h1,
.ql-editor h2,
.ql-editor h3,
.ql-editor h4,
.ql-editor h5,
.ql-editor h6 {
  margin: 0;
  padding: 0;
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol,
.ql-editor ul {
  padding-left: 1.5em;
}
.ql-editor ol > li,
.ql-editor ul > li {
  list-style-type: none;
}
.ql-editor ul > li::before {
  content: '\2022';
}
.ql-editor ul[data-checked=true],
.ql-editor ul[data-checked=false] {
  pointer-events: none;
}
.ql-editor ul[data-checked=true] > li *,
.ql-editor ul[data-checked=false] > li * {
  pointer-events: all;
}
.ql-editor ul[data-checked=true] > li::before,
.ql-editor ul[data-checked=false] > li::before {
  color: #777;
  cursor: pointer;
  pointer-events: all;
}
.ql-editor ul[data-checked=true] > li::before {
  content: '\2611';
}
.ql-editor ul[data-checked=false] > li::before {
  content: '\2610';
}
.ql-editor li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}
.ql-editor li:not(.ql-direction-rtl)::before {
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
}
.ql-editor li.ql-direction-rtl::before {
  margin-left: 0.3em;
  margin-right: -1.5em;
}
.ql-editor ol li:not(.ql-direction-rtl),
.ql-editor ul li:not(.ql-direction-rtl) {
  padding-left: 1.5em;
}
.ql-editor ol li.ql-direction-rtl,
.ql-editor ul li.ql-direction-rtl {
  padding-right: 1.5em;
}
.ql-editor ol li {
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  counter-increment: list-0;
}
.ql-editor ol li:before {
  content: counter(list-0, decimal) '. ';
}
.ql-editor ol li.ql-indent-1 {
  counter-increment: list-1;
}
.ql-editor ol li.ql-indent-1:before {
  content: counter(list-1, lower-alpha) '. ';
}
.ql-editor ol li.ql-indent-1 {
  counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-2 {
  counter-increment: list-2;
}
.ql-editor ol li.ql-indent-2:before {
  content: counter(list-2, lower-roman) '. ';
}
.ql-editor ol li.ql-indent-2 {
  counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-3 {
  counter-increment: list-3;
}
.ql-editor ol li.ql-indent-3:before {
  content: counter(list-3, decimal) '. ';
}
.ql-editor ol li.ql-indent-3 {
  counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-4 {
  counter-increment: list-4;
}
.ql-editor ol li.ql-indent-4:before {
  content: counter(list-4, lower-alpha) '. ';
}
.ql-editor ol li.ql-indent-4 {
  counter-reset: list-5 list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-5 {
  counter-increment: list-5;
}
.ql-editor ol li.ql-indent-5:before {
  content: counter(list-5, lower-roman) '. ';
}
.ql-editor ol li.ql-indent-5 {
  counter-reset: list-6 list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-6 {
  counter-increment: list-6;
}
.ql-editor ol li.ql-indent-6:before {
  content: counter(list-6, decimal) '. ';
}
.ql-editor ol li.ql-indent-6 {
  counter-reset: list-7 list-8 list-9;
}
.ql-editor ol li.ql-indent-7 {
  counter-increment: list-7;
}
.ql-editor ol li.ql-indent-7:before {
  content: counter(list-7, lower-alpha) '. ';
}
.ql-editor ol li.ql-indent-7 {
  counter-reset: list-8 list-9;
}
.ql-editor ol li.ql-indent-8 {
  counter-increment: list-8;
}
.ql-editor ol li.ql-indent-8:before {
  content: counter(list-8, lower-roman) '. ';
}
.ql-editor ol li.ql-indent-8 {
  counter-reset: list-9;
}
.ql-editor ol li.ql-indent-9 {
  counter-increment: list-9;
}
.ql-editor ol li.ql-indent-9:before {
  content: counter(list-9, decimal) '. ';
}
.ql-editor .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}
.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}
.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3em;
}
.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5em;
}
.ql-editor .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}
.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}
.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6em;
}
.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5em;
}
.ql-editor .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9em;
}
.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5em;
}
.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9em;
}
.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5em;
}
.ql-editor .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12em;
}
.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5em;
}
.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12em;
}
.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5em;
}
.ql-editor .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15em;
}
.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5em;
}
.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15em;
}
.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5em;
}
.ql-editor .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18em;
}
.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5em;
}
.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18em;
}
.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5em;
}
.ql-editor .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21em;
}
.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5em;
}
.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21em;
}
.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5em;
}
.ql-editor .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24em;
}
.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5em;
}
.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24em;
}
.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5em;
}
.ql-editor .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27em;
}
.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5em;
}
.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27em;
}
.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5em;
}
.ql-editor .ql-video {
  display: block;
  max-width: 100%;
}
.ql-editor .ql-video.ql-align-center {
  margin: 0 auto;
}
.ql-editor .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}
.ql-editor .ql-bg-black {
  background-color: #000;
}
.ql-editor .ql-bg-red {
  background-color: #e60000;
}
.ql-editor .ql-bg-orange {
  background-color: #f90;
}
.ql-editor .ql-bg-yellow {
  background-color: #ff0;
}
.ql-editor .ql-bg-green {
  background-color: #008a00;
}
.ql-editor .ql-bg-blue {
  background-color: #06c;
}
.ql-editor .ql-bg-purple {
  background-color: #93f;
}
.ql-editor .ql-color-white {
  color: #fff;
}
.ql-editor .ql-color-red {
  color: #e60000;
}
.ql-editor .ql-color-orange {
  color: #f90;
}
.ql-editor .ql-color-yellow {
  color: #ff0;
}
.ql-editor .ql-color-green {
  color: #008a00;
}
.ql-editor .ql-color-blue {
  color: #06c;
}
.ql-editor .ql-color-purple {
  color: #93f;
}
.ql-editor .ql-font-serif {
  font-family: Georgia, Times New Roman, serif;
}
.ql-editor .ql-font-monospace {
  font-family: Monaco, Courier New, monospace;
}
.ql-editor .ql-size-small {
  font-size: 0.75em;
}
.ql-editor .ql-size-large {
  font-size: 1.5em;
}
.ql-editor .ql-size-huge {
  font-size: 2.5em;
}
.ql-editor .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}
.ql-editor .ql-align-center {
  text-align: center;
}
.ql-editor .ql-align-justify {
  text-align: justify;
}
.ql-editor .ql-align-right {
  text-align: right;
}
.ql-editor.ql-blank::before {
  color: rgba(0,0,0,0.6);
  content: attr(data-placeholder);
  font-style: italic;
  left: 15px;
  pointer-events: none;
  position: absolute;
  right: 15px;
}
.ql-snow.ql-toolbar:after,
.ql-snow .ql-toolbar:after {
  clear: both;
  content: '';
  display: table;
}
.ql-snow.ql-toolbar button,
.ql-snow .ql-toolbar button {
  background: none;
  border: none;
  cursor: pointer;
  display: inline-block;
  float: left;
  height: 24px;
  padding: 3px 5px;
  width: 28px;
}
.ql-snow.ql-toolbar button svg,
.ql-snow .ql-toolbar button svg {
  float: left;
  height: 100%;
}
.ql-snow.ql-toolbar button:active:hover,
.ql-snow .ql-toolbar button:active:hover {
  outline: none;
}
.ql-snow.ql-toolbar input.ql-image[type=file],
.ql-snow .ql-toolbar input.ql-image[type=file] {
  display: none;
}
.ql-snow.ql-toolbar button:hover,
.ql-snow .ql-toolbar button:hover,
.ql-snow.ql-toolbar button:focus,
.ql-snow .ql-toolbar button:focus,
.ql-snow.ql-toolbar button.ql-active,
.ql-snow .ql-toolbar button.ql-active,
.ql-snow.ql-toolbar .ql-picker-label:hover,
.ql-snow .ql-toolbar .ql-picker-label:hover,
.ql-snow.ql-toolbar .ql-picker-label.ql-active,
.ql-snow .ql-toolbar .ql-picker-label.ql-active,
.ql-snow.ql-toolbar .ql-picker-item:hover,
.ql-snow .ql-toolbar .ql-picker-item:hover,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: #06c;
}
.ql-snow.ql-toolbar button:hover .ql-fill,
.ql-snow .ql-toolbar button:hover .ql-fill,
.ql-snow.ql-toolbar button:focus .ql-fill,
.ql-snow .ql-toolbar button:focus .ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,
.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,
.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  fill: #06c;
}
.ql-snow.ql-toolbar button:hover .ql-stroke,
.ql-snow .ql-toolbar button:hover .ql-stroke,
.ql-snow.ql-toolbar button:focus .ql-stroke,
.ql-snow .ql-toolbar button:focus .ql-stroke,
.ql-snow.ql-toolbar button.ql-active .ql-stroke,
.ql-snow .ql-toolbar button.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,
.ql-snow.ql-toolbar button:hover .ql-stroke-miter,
.ql-snow .ql-toolbar button:hover .ql-stroke-miter,
.ql-snow.ql-toolbar button:focus .ql-stroke-miter,
.ql-snow .ql-toolbar button:focus .ql-stroke-miter,
.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,
.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,
.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: #06c;
}
@media (pointer: coarse) {
  .ql-snow.ql-toolbar button:hover:not(.ql-active),
  .ql-snow .ql-toolbar button:hover:not(.ql-active) {
    color: #444;
  }
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {
    fill: #444;
  }
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,
  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,
  .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {
    stroke: #444;
  }
}
.ql-snow {
  box-sizing: border-box;
}
.ql-snow * {
  box-sizing: border-box;
}
.ql-snow .ql-hidden {
  display: none;
}
.ql-snow .ql-out-bottom,
.ql-snow .ql-out-top {
  visibility: hidden;
}
.ql-snow .ql-tooltip {
  position: absolute;
  transform: translateY(10px);
}
.ql-snow .ql-tooltip a {
  cursor: pointer;
  text-decoration: none;
}
.ql-snow .ql-tooltip.ql-flip {
  transform: translateY(-10px);
}
.ql-snow .ql-formats {
  display: inline-block;
  vertical-align: middle;
}
.ql-snow .ql-formats:after {
  clear: both;
  content: '';
  display: table;
}
.ql-snow .ql-stroke {
  fill: none;
  stroke: #444;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.ql-snow .ql-stroke-miter {
  fill: none;
  stroke: #444;
  stroke-miterlimit: 10;
  stroke-width: 2;
}
.ql-snow .ql-fill,
.ql-snow .ql-stroke.ql-fill {
  fill: #444;
}
.ql-snow .ql-empty {
  fill: none;
}
.ql-snow .ql-even {
  fill-rule: evenodd;
}
.ql-snow .ql-thin,
.ql-snow .ql-stroke.ql-thin {
  stroke-width: 1;
}
.ql-snow .ql-transparent {
  opacity: 0.4;
}
.ql-snow .ql-direction svg:last-child {
  display: none;
}
.ql-snow .ql-direction.ql-active svg:last-child {
  display: inline;
}
.ql-snow .ql-direction.ql-active svg:first-child {
  display: none;
}
.ql-snow .ql-editor h1 {
  font-size: 2em;
}
.ql-snow .ql-editor h2 {
  font-size: 1.5em;
}
.ql-snow .ql-editor h3 {
  font-size: 1.17em;
}
.ql-snow .ql-editor h4 {
  font-size: 1em;
}
.ql-snow .ql-editor h5 {
  font-size: 0.83em;
}
.ql-snow .ql-editor h6 {
  font-size: 0.67em;
}
.ql-snow .ql-editor a {
  text-decoration: underline;
}
.ql-snow .ql-editor blockquote {
  border-left: 4px solid #ccc;
  margin-bottom: 5px;
  margin-top: 5px;
  padding-left: 16px;
}
.ql-snow .ql-editor code,
.ql-snow .ql-editor pre {
  background-color: #f0f0f0;
  border-radius: 3px;
}
.ql-snow .ql-editor pre {
  white-space: pre-wrap;
  margin-bottom: 5px;
  margin-top: 5px;
  padding: 5px 10px;
}
.ql-snow .ql-editor code {
  font-size: 85%;
  padding: 2px 4px;
}
.ql-snow .ql-editor pre.ql-syntax {
  background-color: #23241f;
  color: #f8f8f2;
  overflow: visible;
}
.ql-snow .ql-editor img {
  max-width: 100%;
}
.ql-snow .ql-picker {
  color: #444;
  display: inline-block;
  float: left;
  font-size: 14px;
  font-weight: 500;
  height: 24px;
  position: relative;
  vertical-align: middle;
}
.ql-snow .ql-picker-label {
  cursor: pointer;
  display: inline-block;
  height: 100%;
  padding-left: 8px;
  padding-right: 2px;
  position: relative;
  width: 100%;
}
.ql-snow .ql-picker-label::before {
  display: inline-block;
  line-height: 22px;
}
.ql-snow .ql-picker-options {
  background-color: #fff;
  display: none;
  min-width: 100%;
  padding: 4px 8px;
  position: absolute;
  white-space: nowrap;
}
.ql-snow .ql-picker-options .ql-picker-item {
  cursor: pointer;
  display: block;
  padding-bottom: 5px;
  padding-top: 5px;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  color: #ccc;
  z-index: 2;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
  fill: #ccc;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
  stroke: #ccc;
}
.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  display: block;
  margin-top: -1px;
  top: 100%;
  z-index: 1;
}
.ql-snow .ql-color-picker,
.ql-snow .ql-icon-picker {
  width: 28px;
}
.ql-snow .ql-color-picker .ql-picker-label,
.ql-snow .ql-icon-picker .ql-picker-label {
  padding: 2px 4px;
}
.ql-snow .ql-color-picker .ql-picker-label svg,
.ql-snow .ql-icon-picker .ql-picker-label svg {
  right: 4px;
}
.ql-snow .ql-icon-picker .ql-picker-options {
  padding: 4px 0px;
}
.ql-snow .ql-icon-picker .ql-picker-item {
  height: 24px;
  width: 24px;
  padding: 2px 4px;
}
.ql-snow .ql-color-picker .ql-picker-options {
  padding: 3px 5px;
  width: 152px;
}
.ql-snow .ql-color-picker .ql-picker-item {
  border: 1px solid transparent;
  float: left;
  height: 16px;
  margin: 2px;
  padding: 0px;
  width: 16px;
}
.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
  position: absolute;
  margin-top: -9px;
  right: 0;
  top: 50%;
  width: 18px;
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before {
  content: attr(data-label);
}
.ql-snow .ql-picker.ql-header {
  width: 98px;
}
.ql-snow .ql-picker.ql-header .ql-picker-label::before,
.ql-snow .ql-picker.ql-header .ql-picker-item::before {
  content: 'Normal';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  content: 'Heading 1';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  content: 'Heading 2';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  content: 'Heading 3';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  content: 'Heading 4';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  content: 'Heading 5';
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  content: 'Heading 6';
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
  font-size: 2em;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
  font-size: 1.5em;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
  font-size: 1.17em;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
  font-size: 1em;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
  font-size: 0.83em;
}
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
  font-size: 0.67em;
}
.ql-snow .ql-picker.ql-font {
  width: 108px;
}
.ql-snow .ql-picker.ql-font .ql-picker-label::before,
.ql-snow .ql-picker.ql-font .ql-picker-item::before {
  content: 'Sans Serif';
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  content: 'Serif';
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  content: 'Monospace';
}
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before {
  font-family: Georgia, Times New Roman, serif;
}
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before {
  font-family: Monaco, Courier New, monospace;
}
.ql-snow .ql-picker.ql-size {
  width: 98px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
  content: 'Normal';
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  content: 'Small';
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  content: 'Large';
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  content: 'Huge';
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before {
  font-size: 10px;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before {
  font-size: 18px;
}
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before {
  font-size: 32px;
}
.ql-snow .ql-color-picker.ql-background .ql-picker-item {
  background-color: #fff;
}
.ql-snow .ql-color-picker.ql-color .ql-picker-item {
  background-color: #000;
}
.ql-toolbar.ql-snow {
  border: 1px solid #ccc;
  box-sizing: border-box;
  font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  padding: 8px;
}
.ql-toolbar.ql-snow .ql-formats {
  margin-right: 15px;
}
.ql-toolbar.ql-snow .ql-picker-label {
  border: 1px solid transparent;
}
.ql-toolbar.ql-snow .ql-picker-options {
  border: 1px solid transparent;
  box-shadow: rgba(0,0,0,0.2) 0 2px 8px;
}
.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  border-color: #ccc;
}
.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  border-color: #ccc;
}
.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,
.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {
  border-color: #000;
}
.ql-toolbar.ql-snow + .ql-container.ql-snow {
  border-top: 0px;
}
.ql-snow .ql-tooltip {
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0px 0px 5px #ddd;
  color: #444;
  padding: 5px 12px;
  white-space: nowrap;
}
.ql-snow .ql-tooltip::before {
  content: "Visit URL:";
  line-height: 26px;
  margin-right: 8px;
}
.ql-snow .ql-tooltip input[type=text] {
  display: none;
  border: 1px solid #ccc;
  font-size: 13px;
  height: 26px;
  margin: 0px;
  padding: 3px 5px;
  width: 170px;
}
.ql-snow .ql-tooltip a.ql-preview {
  display: inline-block;
  max-width: 200px;
  overflow-x: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}
.ql-snow .ql-tooltip a.ql-action::after {
  border-right: 1px solid #ccc;
  content: 'Edit';
  margin-left: 16px;
  padding-right: 8px;
}
.ql-snow .ql-tooltip a.ql-remove::before {
  content: 'Remove';
  margin-left: 8px;
}
.ql-snow .ql-tooltip a {
  line-height: 26px;
}
.ql-snow .ql-tooltip.ql-editing a.ql-preview,
.ql-snow .ql-tooltip.ql-editing a.ql-remove {
  display: none;
}
.ql-snow .ql-tooltip.ql-editing input[type=text] {
  display: inline-block;
}
.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
  border-right: 0px;
  content: 'Save';
  padding-right: 0px;
}
.ql-snow .ql-tooltip[data-mode=link]::before {
  content: "Enter link:";
}
.ql-snow .ql-tooltip[data-mode=formula]::before {
  content: "Enter formula:";
}
.ql-snow .ql-tooltip[data-mode=video]::before {
  content: "Enter video:";
}
.ql-snow a {
  color: #06c;
}
.ql-container.ql-snow {
  border: 1px solid #ccc;
}
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::-moz-selection {
	background: transparent;
}
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;
	transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}
