/* ═══════════════════════════════════════════════════════════
   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; }/* ═══════════════════════════════════════════════════════════
   🌙 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. Se decidió mantener
   SIEMPRE su apariencia de modo claro (fondo blanco/lila, texto oscuro),
   sin invertir a modo oscuro, para evitar bajo contraste. El "caza-blancos"
   global de module-styles.css (html.dark-mode .bg-white:not(...):not(...))
   tiene MÁS especificidad (3 clases) que un selector con .notif-panel (2
   clases), así que ganaba él y dejaba el fondo oscuro con texto oscuro
   encima = invisible. Se usa el id #notif-panel-root (especificidad de ID,
   máxima) para garantizar que estas reglas siempre ganen. ── */
html.dark-mode #notif-panel-root {
  background-color: #ffffff !important;
  color: #1e1b4b !important;
}
html.dark-mode #notif-panel-root .bg-white { background-color: #ffffff !important; }
html.dark-mode #notif-panel-root .bg-slate-50,
html.dark-mode #notif-panel-root .bg-slate-50\/80,
html.dark-mode #notif-panel-root .bg-slate-100 { background-color: #f8fafc !important; }
html.dark-mode #notif-panel-root .hover\:bg-slate-50:hover,
html.dark-mode #notif-panel-root .hover\:bg-white\/80:hover { background-color: #f8fafc !important; }
html.dark-mode #notif-panel-root .text-slate-900 { color: #0f172a !important; }
html.dark-mode #notif-panel-root h3,
html.dark-mode #notif-panel-root p,
html.dark-mode #notif-panel-root span { color: inherit; }
html.dark-mode #notif-panel-root .text-slate-700,
html.dark-mode #notif-panel-root .hover\:text-slate-700:hover { color: #334155 !important; }
html.dark-mode #notif-panel-root .text-slate-600 { color: #475569 !important; }
html.dark-mode #notif-panel-root .text-slate-500 { color: #64748b !important; }
html.dark-mode #notif-panel-root .text-slate-400,
html.dark-mode #notif-panel-root .hover\:text-slate-400 { color: #94a3b8 !important; }
html.dark-mode #notif-panel-root [style*="rgba(226,232,240,0.85)"] {
  border-color: rgba(226,232,240,0.85) !important;
}
html.dark-mode #notif-panel-root [style*="rgba(148,163,184,0.25)"] {
  border-color: rgba(148,163,184,0.25) !important;
}
html.dark-mode #notif-panel-root [style*="rgba(255,255,255,0.85)"] {
  background-color: rgba(255,255,255,0.85) !important;
}/* ═══════════════════════════════════════════════════════════
   🌙 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;
}/*
! 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:  ;
}
.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;
}
.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-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-0 {
  bottom: -0px;
}
.-bottom-0\.5 {
  bottom: -0.125rem;
}
.-bottom-12 {
  bottom: -3rem;
}
.-left-12 {
  left: -3rem;
}
.-left-\[18px\] {
  left: -18px;
}
.-right-0 {
  right: -0px;
}
.-right-0\.5 {
  right: -0.125rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-10 {
  right: -2.5rem;
}
.-right-12 {
  right: -3rem;
}
.-right-16 {
  right: -4rem;
}
.-right-2 {
  right: -0.5rem;
}
.-right-8 {
  right: -2rem;
}
.-top-1 {
  top: -0.25rem;
}
.-top-10 {
  top: -2.5rem;
}
.-top-12 {
  top: -3rem;
}
.-top-16 {
  top: -4rem;
}
.-top-2 {
  top: -0.5rem;
}
.-top-8 {
  top: -2rem;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-5 {
  bottom: 1.25rem;
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: 0px;
}
.left-1\/2 {
  left: 50%;
}
.left-2 {
  left: 0.5rem;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.left-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-8 {
  right: 2rem;
}
.top-0 {
  top: 0px;
}
.top-1 {
  top: 0.25rem;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-2 {
  top: 0.5rem;
}
.top-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-\[1px\] {
  top: 1px;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[60\%\] {
  top: 60%;
}
.top-full {
  top: 100%;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.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-\[998\] {
  z-index: 998;
}
.z-\[9999\] {
  z-index: 9999;
}
.z-\[999\] {
  z-index: 999;
}
.order-first {
  order: -9999;
}
.order-last {
  order: 9999;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-4 {
  grid-column: span 4 / span 4;
}
.\!m-0 {
  margin: 0px !important;
}
.m-0 {
  margin: 0px;
}
.-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-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-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.-mb-px {
  margin-bottom: -1px;
}
.-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-10 {
  margin-bottom: 2.5rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.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;
}
.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-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-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-0 {
  height: 0px;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-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-9 {
  height: 2.25rem;
}
.h-\[--cell-size\] {
  height: var(--cell-size);
}
.h-\[1px\] {
  height: 1px;
}
.h-\[3px\] {
  height: 3px;
}
.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-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-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-\[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\(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-\[300px\] {
  min-height: 300px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[60px\] {
  min-height: 60px;
}
.min-h-\[60vh\] {
  min-height: 60vh;
}
.min-h-\[72px\] {
  min-height: 72px;
}
.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-56 {
  width: 14rem;
}
.w-6 {
  width: 1.5rem;
}
.w-60 {
  width: 15rem;
}
.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-\[280px\] {
  width: 280px;
}
.w-\[2px\] {
  width: 2px;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[3px\] {
  width: 3px;
}
.w-\[44\%\] {
  width: 44%;
}
.w-\[68px\] {
  width: 68px;
}
.w-\[95vw\] {
  width: 95vw;
}
.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-48 {
  min-width: 12rem;
}
.min-w-5 {
  min-width: 1.25rem;
}
.min-w-52 {
  min-width: 13rem;
}
.min-w-8 {
  min-width: 2rem;
}
.min-w-9 {
  min-width: 2.25rem;
}
.min-w-\[--cell-size\] {
  min-width: var(--cell-size);
}
.min-w-\[12rem\] {
  min-width: 12rem;
}
.min-w-\[130px\] {
  min-width: 130px;
}
.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-\[800px\] {
  min-width: 800px;
}
.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);
}
.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-\[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-\[560px\] {
  max-width: 560px;
}
.max-w-\[75\%\] {
  max-width: 75%;
}
.max-w-\[85rem\] {
  max-width: 85rem;
}
.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;
}
.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-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-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-\[-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-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));
}
.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 {
  resize: both;
}
.list-inside {
  list-style-position: inside;
}
.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-\[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;
}
.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-3 {
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.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-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));
}
.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));
}
.self-start {
  align-self: flex-start;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-x-hidden {
  overflow-x: hidden;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.text-wrap {
  text-wrap: wrap;
}
.text-balance {
  text-wrap: balance;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[2px\] {
  border-radius: 2px;
}
.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-\[10px\] {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.rounded-t-lg {
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
}
.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-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-\[--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-400\/20 {
  border-color: rgb(251 191 36 / 0.2);
}
.border-amber-400\/30 {
  border-color: rgb(251 191 36 / 0.3);
}
.border-amber-600 {
  --tw-border-opacity: 1;
  border-color: rgb(217 119 6 / var(--tw-border-opacity));
}
.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-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-cyan-400\/20 {
  border-color: rgb(34 211 238 / 0.2);
}
.border-cyan-400\/30 {
  border-color: rgb(34 211 238 / 0.3);
}
.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\/15 {
  border-color: rgb(52 211 153 / 0.15);
}
.border-emerald-400\/20 {
  border-color: rgb(52 211 153 / 0.2);
}
.border-emerald-500 {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / 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\/20 {
  border-color: rgb(232 121 249 / 0.2);
}
.border-fuchsia-500 {
  --tw-border-opacity: 1;
  border-color: rgb(217 70 239 / var(--tw-border-opacity));
}
.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-indigo-400\/15 {
  border-color: rgb(129 140 248 / 0.15);
}
.border-indigo-400\/20 {
  border-color: rgb(129 140 248 / 0.2);
}
.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-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity));
}
.border-orange-400\/20 {
  border-color: rgb(251 146 60 / 0.2);
}
.border-orange-400\/30 {
  border-color: rgb(251 146 60 / 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-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-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity));
}
.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\/70 {
  border-color: rgb(254 205 211 / 0.7);
}
.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-400\/20 {
  border-color: rgb(251 113 133 / 0.2);
}
.border-rose-400\/30 {
  border-color: rgb(251 113 133 / 0.3);
}
.border-rose-500 {
  --tw-border-opacity: 1;
  border-color: rgb(244 63 94 / var(--tw-border-opacity));
}
.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-400\/15 {
  border-color: rgb(56 189 248 / 0.15);
}
.border-sky-400\/20 {
  border-color: rgb(56 189 248 / 0.2);
}
.border-sky-500 {
  --tw-border-opacity: 1;
  border-color: rgb(14 165 233 / var(--tw-border-opacity));
}
.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-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-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-400 {
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / var(--tw-border-opacity));
}
.border-violet-500 {
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / var(--tw-border-opacity));
}
.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\/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-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-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-\[--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-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\/5 {
  background-color: rgb(245 158 11 / 0.05);
}
.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-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-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity));
}
.bg-cyan-500\/10 {
  background-color: rgb(6 182 212 / 0.1);
}
.bg-cyan-500\/5 {
  background-color: rgb(6 182 212 / 0.05);
}
.bg-cyan-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / 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-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\/\[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-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\/\[0\.07\] {
  background-color: rgb(217 70 239 / 0.07);
}
.bg-fuchsia-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 38 211 / var(--tw-bg-opacity));
}
.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\/30 {
  background-color: rgb(240 253 244 / 0.3);
}
.bg-green-50\/50 {
  background-color: rgb(240 253 244 / 0.5);
}
.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-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-500\/10 {
  background-color: rgb(99 102 241 / 0.1);
}
.bg-indigo-500\/\[0\.07\] {
  background-color: rgb(99 102 241 / 0.07);
}
.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-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-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-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity));
}
.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-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-50\/50 {
  background-color: rgb(250 245 255 / 0.5);
}
.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-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity));
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity));
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity));
}
.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\/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\/5 {
  background-color: rgb(244 63 94 / 0.05);
}
.bg-rose-500\/80 {
  background-color: rgb(244 63 94 / 0.8);
}
.bg-rose-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity));
}
.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-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\/\[0\.07\] {
  background-color: rgb(14 165 233 / 0.07);
}
.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-100\/80 {
  background-color: rgb(241 245 249 / 0.8);
}
.bg-slate-200\/70 {
  background-color: rgb(226 232 240 / 0.7);
}
.bg-slate-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / var(--tw-bg-opacity));
}
.bg-slate-50\/50 {
  background-color: rgb(248 250 252 / 0.5);
}
.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-teal-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / var(--tw-bg-opacity));
}
.bg-teal-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / var(--tw-bg-opacity));
}
.bg-teal-50\/50 {
  background-color: rgb(240 253 250 / 0.5);
}
.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity));
}
.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-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\/50 {
  background-color: rgb(245 243 255 / 0.5);
}
.bg-violet-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / var(--tw-bg-opacity));
}
.bg-violet-500\/80 {
  background-color: rgb(139 92 246 / 0.8);
}
.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-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\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/60 {
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.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-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.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-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-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\/\[0\.06\] {
  --tw-gradient-from: rgb(16 185 129 / 0.06) 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-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-indigo-500\/\[0\.06\] {
  --tw-gradient-from: rgb(99 102 241 / 0.06) 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-400 {
  --tw-gradient-from: #fb923c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 146 60 / 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-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-50 {
  --tw-gradient-from: #fff1f2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 241 242 / 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\/\[0\.06\] {
  --tw-gradient-from: rgb(14 165 233 / 0.06) 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-50 {
  --tw-gradient-from: #f8fafc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-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-200 {
  --tw-gradient-from: #ddd6fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(221 214 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-50\/50 {
  --tw-gradient-from: rgb(245 243 255 / 0.5) 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-50\/60 {
  --tw-gradient-from: rgb(245 243 255 / 0.6) 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-600 {
  --tw-gradient-from: #7c3aed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-violet-100 {
  --tw-gradient-to: rgb(237 233 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ede9fe var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-blue-500 {
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}
.to-blue-600 {
  --tw-gradient-to: #2563eb 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-green-600 {
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}
.to-indigo-100 {
  --tw-gradient-to: #e0e7ff var(--tw-gradient-to-position);
}
.to-indigo-500 {
  --tw-gradient-to: #6366f1 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-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-purple-600 {
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.to-red-500 {
  --tw-gradient-to: #ef4444 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-teal-500 {
  --tw-gradient-to: #14b8a6 var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-violet-50\/30 {
  --tw-gradient-to: rgb(245 243 255 / 0.3) var(--tw-gradient-to-position);
}
.to-violet-50\/40 {
  --tw-gradient-to: rgb(245 243 255 / 0.4) var(--tw-gradient-to-position);
}
.to-violet-500 {
  --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
}
.to-violet-600 {
  --tw-gradient-to: #7c3aed 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-14 {
  padding: 3.5rem;
}
.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-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-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-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-1\.5 {
  padding-bottom: 0.375rem;
}
.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-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-\[52px\] {
  padding-left: 52px;
}
.pl-\[56px\] {
  padding-left: 56px;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-10 {
  padding-right: 2.5rem;
}
.pr-11 {
  padding-right: 2.75rem;
}
.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-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;
}
.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-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[0\.8rem\] {
  font-size: 0.8rem;
}
.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-\[15px\] {
  font-size: 15px;
}
.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-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-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-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.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-accent {
  color: var(--accent);
}
.text-accent-foreground {
  color: var(--accent-foreground);
}
.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-700\/80 {
  color: rgb(180 83 9 / 0.8);
}
.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-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-200 {
  --tw-text-opacity: 1;
  color: rgb(191 219 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-200 {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity));
}
.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-foreground {
  color: var(--foreground);
}
.text-fuchsia-500 {
  --tw-text-opacity: 1;
  color: rgb(217 70 239 / var(--tw-text-opacity));
}
.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-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-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-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-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-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / 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-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-600\/80 {
  color: rgb(225 29 72 / 0.8);
}
.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-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-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-500 {
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / 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-violet-100 {
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / var(--tw-text-opacity));
}
.text-violet-200 {
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity));
}
.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / 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-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-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-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-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-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-20 {
  opacity: 0.2;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-\[0\.04\] {
  opacity: 0.04;
}
.opacity-\[0\.05\] {
  opacity: 0.05;
}
.opacity-\[0\.06\] {
  opacity: 0.06;
}
.opacity-\[0\.07\] {
  opacity: 0.07;
}
.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_-4px_16px_rgba\(0\2c 0\2c 0\2c 0\.04\)\] {
  --tw-shadow: 0 -4px 16px rgba(0,0,0,0.04);
  --tw-shadow-colored: 0 -4px 16px 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_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-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-emerald-600\/30 {
  --tw-shadow-color: rgb(5 150 105 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-fuchsia-600\/30 {
  --tw-shadow-color: rgb(192 38 211 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-indigo-600\/30 {
  --tw-shadow-color: rgb(79 70 229 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-rose-500\/30 {
  --tw-shadow-color: rgb(244 63 94 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-sky-600\/30 {
  --tw-shadow-color: rgb(2 132 199 / 0.3);
  --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-blue-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(219 234 254 / var(--tw-ring-opacity));
}
.ring-blue-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity));
}
.ring-card {
  --tw-ring-color: var(--card);
}
.ring-destructive {
  --tw-ring-color: var(--destructive);
}
.ring-emerald-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 250 229 / var(--tw-ring-opacity));
}
.ring-emerald-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity));
}
.ring-orange-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 237 213 / var(--tw-ring-opacity));
}
.ring-orange-200 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity));
}
.ring-red-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity));
}
.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-sidebar-ring {
  --tw-ring-color: var(--sidebar-ring);
}
.ring-slate-100 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(241 245 249 / 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-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-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);
}
.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-\[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-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-0 {
  transition-delay: 0s;
}
.delay-100 {
  transition-delay: 100ms;
}
.delay-150 {
  transition-delay: 150ms;
}
.delay-200 {
  transition-delay: 200ms;
}
.delay-300 {
  transition-delay: 300ms;
}
.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;
}

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

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

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

.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\: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-blue-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity));
}

.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-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-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity));
}

.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-blue-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity));
}

.hover\:bg-blue-50\/40:hover {
  background-color: rgb(239 246 255 / 0.4);
}

.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-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-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-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / 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\/30:hover {
  background-color: rgb(238 242 255 / 0.3);
}

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

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

.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-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-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-red-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity));
}

.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-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-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / 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-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-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\/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-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-800:hover {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / 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-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-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-\[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-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-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-blue-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / 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-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\:bg-white:focus-visible {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.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-red-400:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity));
}

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

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

.focus-visible\:ring-violet-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(139 92 246 / var(--tw-ring-opacity));
}

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

.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\: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\: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-primary {
  color: var(--primary);
}

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

.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-\[0\.16\] {
  opacity: 0.16;
}

.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\=active\]\:text-violet-700[data-state=active] {
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / 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-destructive:is(.dark *) {
  border-color: var(--destructive);
}

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

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

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

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

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

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

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

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

.dark\:text-gray-100:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / 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-slate-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity));
}

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

@media (min-width: 640px) {

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

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

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

  .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-44 {
    width: 11rem;
  }

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

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

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

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

  .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-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-lg {
    border-radius: var(--radius);
  }

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

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

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

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

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

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

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

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

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

@media (min-width: 768px) {

  .md\:absolute {
    position: absolute;
  }

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

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

  .md\:block {
    display: block;
  }

  .md\:flex {
    display: flex;
  }

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

  .md\:hidden {
    display: none;
  }

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

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

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

  .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\:col-span-2 {
    grid-column: span 2 / span 2;
  }

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

  .lg\:block {
    display: block;
  }

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

  .lg\:w-\[170px\] {
    width: 170px;
  }

  .lg\:w-\[180px\] {
    width: 180px;
  }

  .lg\:w-\[20\%\] {
    width: 20%;
  }

  .lg\:w-\[200px\] {
    width: 200px;
  }

  .lg\:w-\[26\%\] {
    width: 26%;
  }

  .lg\:w-\[34\%\] {
    width: 34%;
  }

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

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

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

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

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

  .lg\:border-t-0 {
    border-top-width: 0px;
  }

  .lg\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

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

  .lg\:pl-4 {
    padding-left: 1rem;
  }

  .lg\:pt-0 {
    padding-top: 0px;
  }

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

@media (min-width: 1280px) {

  .xl\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.\[\&\+\[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;
		}
	}
