@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap');html,
body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.content-area {
  margin-top: 0; /* Remove margin to eliminate space below header */
}

.app-container {
  flex: 1;
  position: relative;
  margin: 0;
  padding: 0;
}

.app-footer {
  height: 60px;
}

.app-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #333;
  height: 6%;
  opacity: 0.9;
}

.custom-footer {
  padding: 1rem 0;
}

.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.footer-links {
  display: flex;
  gap: 1rem;
}

@media (max-width: 640px) {
  .footer-content {
    flex-direction: column;
    gap: 1rem;
  }
}

.form-bg-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 60vh;
}

.logo-container {
  margin-left: 210px;
}
/* 
 * 🎯 TRIGGER ANIMATIONS
 * Psychological micro-interactions designed to create engagement and retention
 * Built by Nexus - The Animation Psychology Expert 🎭
 */

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3) translateY(-50px);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes shimmer {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes glow {
  0%,
  100% {
    box-shadow: 0 0 5px rgba(59, 130, 246, 0.3);
  }
  50% {
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.6),
      0 0 30px rgba(59, 130, 246, 0.4);
  }
}

@keyframes celebrationPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
  }
  70% {
    transform: scale(1.05);
    box-shadow: 0 0 0 10px rgba(34, 197, 94, 0);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
  }
}

/* Utility classes for  animations */
.animate-fadeIn {
  animation: fadeIn 0.3s ease-out;
}

.animate-slideInUp {
  animation: slideInUp 0.4s ease-out;
}

.animate-slideInLeft {
  animation: slideInLeft 0.4s ease-out;
}

.animate-slideInRight {
  animation: slideInRight 0.4s ease-out;
}

.animate-bounceIn {
  animation: bounceIn 0.6s ease-out;
}

.animate-shimmer {
  animation: shimmer 2s infinite;
}

.animate-glow {
  animation: glow 2s ease-in-out infinite alternate;
}

.animate-celebrationPulse {
  animation: celebrationPulse 1s ease-out;
}

/* Hover effects for maximum engagement */
.hover-lift {
  transition: all 0.2s ease-out;
}

.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.hover-glow {
  transition: all 0.3s ease-out;
}

.hover-glow:hover {
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.4);
  transform: scale(1.02);
}

/* Critical task urgency pulse */
.critical-pulse {
  animation: pulse 1s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.4);
}

/* Success celebration ring effect */
.success-ring {
  position: relative;
}

.success-ring::after {
  content: "";
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border: 2px solid rgba(34, 197, 94, 0.6);
  border-radius: inherit;
  animation: celebrationPulse 1.5s ease-out infinite;
}

/* Magnetic button effect for critical actions */
.magnetic-button {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.magnetic-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.3),
    transparent
  );
  transition: left 0.5s;
}

.magnetic-button:hover::before {
  left: 100%;
}

.magnetic-button:hover {
  transform: scale(1.05) translateY(-1px);
}

/* Progress bar enthusiasm */
.progress-enthusiastic {
  background: linear-gradient(45deg, #3b82f6, #8b5cf6, #06b6d4, #10b981);
  background-size: 300% 300%;
  animation: gradient-shift 3s ease infinite;
}

@keyframes gradient-shift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Completion celebration confetti */
.confetti-container {
  position: relative;
  overflow: hidden;
}

.confetti-piece {
  position: absolute;
  width: 6px;
  height: 6px;
  background: #fbbf24;
  animation: confetti-fall 3s linear infinite;
}

@keyframes confetti-fall {
  0% {
    transform: translateY(-100vh) rotate(0deg);
    opacity: 1;
  }
  100% {
    transform: translateY(100vh) rotate(720deg);
    opacity: 0;
  }
}

/* Micro-interaction feedback */
.feedback-ripple {
  position: relative;
  overflow: hidden;
}

.feedback-ripple::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  transform: translate(-50%, -50%);
  transition: width 0.3s, height 0.3s;
}

.feedback-ripple:active::after {
  width: 300px;
  height: 300px;
}
/* 🎭 STAGING ROLE SWITCHER STYLES */

.staging-role-switcher {
  position: fixed;
  top: 80px;
  right: 20px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: flex-end;
}

/* ========== STAGING BADGE ========== */
.staging-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: white;
  border-radius: 2rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
  animation: slideInRight 0.3s ease-out;
}

.staging-pulse {
  width: 8px;
  height: 8px;
  background: white;
  border-radius: 50%;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.2);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ========== ROLE SWITCHER CONTAINER ========== */
.role-switcher-container {
  position: relative;
}

.role-switcher-button {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 1.25rem;
  background: white;
  border: 3px solid #e2e8f0;
  border-radius: 1rem;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  min-width: 220px;
}

.role-switcher-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.current-role {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
}

.role-icon {
  font-size: 1.5rem;
  line-height: 1;
}

.role-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.125rem;
}

.role-label {
  font-size: 0.7rem;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.role-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1e293b;
}

.chevron {
  transition: transform 0.2s;
  color: #64748b;
}

.chevron.open {
  transform: rotate(180deg);
}

/* ========== DROPDOWN ========== */
.role-switcher-overlay {
  position: fixed;
  inset: 0;
  z-index: 9998;
}

.role-switcher-dropdown {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  width: 280px;
  background: white;
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  z-index: 9999;
  animation: slideDown 0.2s ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dropdown-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.25rem;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  color: white;
  font-weight: 700;
  font-size: 0.95rem;
}

.dropdown-header .close-button {
  margin-left: auto;
  background: none;
  border: none;
  color: white;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.25rem;
  opacity: 0.8;
  transition: all 0.2s;
}

.dropdown-header .close-button:hover {
  opacity: 1;
  transform: scale(1.1);
}

/* ========== ROLES LIST ========== */
.roles-list {
  max-height: 400px;
  overflow-y: auto;
  padding: 0.5rem;
}

.role-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.875rem 1rem;
  background: white;
  border: none;
  border-left: 4px solid transparent;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: all 0.2s;
  text-align: left;
  position: relative;
}

.role-option:hover {
  background: #f8fafc;
  transform: translateX(4px);
}

.role-option.active {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  font-weight: 700;
}

.role-option .role-icon {
  font-size: 1.25rem;
}

.role-option .role-label {
  flex: 1;
  font-size: 0.9rem;
  font-weight: 600;
  color: #1e293b;
}

.check-icon {
  color: #10b981;
}

/* ========== DROPDOWN FOOTER ========== */
.dropdown-footer {
  padding: 0.75rem 1.25rem;
  background: #fef3c7;
  border-top: 2px solid #fde68a;
}

.warning-text {
  font-size: 0.75rem;
  font-weight: 600;
  color: #92400e;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* ========== SCROLLBAR ========== */
.roles-list::-webkit-scrollbar {
  width: 6px;
}

.roles-list::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 3px;
}

.roles-list::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 3px;
}

.roles-list::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* ========== MINIMIZE ACTIONS ========== */
.minimize-toggle {
  margin-left: 0.5rem;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  color: white;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 14px;
  font-weight: bold;
  transition: all 0.2s;
  padding: 0;
  line-height: 0;
}

.minimize-toggle:hover {
  background: rgba(255, 255, 255, 0.4);
  transform: scale(1.1);
}

.minimized-trigger {
  width: 48px;
  height: 48px;
  background: white;
  border: 3px solid #e2e8f0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.2s;
  padding: 0;
}

.minimized-trigger:hover {
  transform: scale(1.1) translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.minimized-trigger .role-icon {
  margin: 0;
}

/* ========== RESPONSIVE ========== */
@media (max-width: 768px) {
  .staging-role-switcher {
    top: 70px;
    right: 10px;
  }

  .staging-badge {
    font-size: 0.7rem;
    padding: 0.375rem 0.75rem;
  }

  .role-switcher-button {
    min-width: 180px;
    padding: 0.625rem 1rem;
  }

  .role-switcher-dropdown {
    width: 240px;
  }
}
@keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@keyframes notyf-fadeinleft{0%{opacity:0;transform:translateX(25%)}to{opacity:1;transform:translateX(0)}}@keyframes notyf-fadeoutright{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(25%)}}@keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@keyframes ripple{0%{transform:scale(0) translateY(-45%) translateX(13%)}to{transform:scale(1) translateY(-45%) translateX(13%)}}.notyf{position:fixed;top:0;left:0;height:100%;width:100%;color:#fff;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;pointer-events:none;box-sizing:border-box;padding:20px}.notyf__icon--error,.notyf__icon--success{height:21px;width:21px;background:#fff;border-radius:50%;display:block;margin:0 auto;position:relative}.notyf__icon--error:after,.notyf__icon--error:before{content:"";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px;left:9px;height:12px;top:5px}.notyf__icon--error:after{transform:rotate(-45deg)}.notyf__icon--error:before{transform:rotate(45deg)}.notyf__icon--success:after,.notyf__icon--success:before{content:"";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px}.notyf__icon--success:after{height:6px;transform:rotate(-45deg);top:9px;left:6px}.notyf__icon--success:before{height:11px;transform:rotate(45deg);top:5px;left:10px}.notyf__toast{display:block;overflow:hidden;pointer-events:auto;animation:notyf-fadeinup .3s ease-in forwards;box-shadow:0 3px 7px 0 rgba(0,0,0,.25);position:relative;padding:0 15px;border-radius:2px;max-width:300px;transform:translateY(25%);box-sizing:border-box;flex-shrink:0}.notyf__toast--disappear{transform:translateY(0);animation:notyf-fadeoutdown .3s forwards;animation-delay:.25s}.notyf__toast--disappear .notyf__icon,.notyf__toast--disappear .notyf__message{animation:notyf-fadeoutdown .3s forwards;opacity:1;transform:translateY(0)}.notyf__toast--disappear .notyf__dismiss{animation:notyf-fadeoutright .3s forwards;opacity:1;transform:translateX(0)}.notyf__toast--disappear .notyf__message{animation-delay:.05s}.notyf__toast--upper{margin-bottom:20px}.notyf__toast--lower{margin-top:20px}.notyf__toast--dismissible .notyf__wrapper{padding-right:30px}.notyf__ripple{height:400px;width:400px;position:absolute;transform-origin:bottom right;right:0;top:0;border-radius:50%;transform:scale(0) translateY(-51%) translateX(13%);z-index:5;animation:ripple .4s ease-out forwards}.notyf__wrapper{display:flex;align-items:center;padding-top:17px;padding-bottom:17px;padding-right:15px;border-radius:3px;position:relative;z-index:10}.notyf__icon{width:22px;text-align:center;font-size:1.3em;opacity:0;animation:notyf-fadeinup .3s forwards;animation-delay:.3s;margin-right:13px}.notyf__dismiss{position:absolute;top:0;right:0;height:100%;width:26px;margin-right:-15px;animation:notyf-fadeinleft .3s forwards;animation-delay:.35s;opacity:0}.notyf__dismiss-btn{background-color:rgba(0,0,0,.25);border:none;cursor:pointer;transition:opacity .2s ease,background-color .2s ease;outline:none;opacity:.35;height:100%;width:100%}.notyf__dismiss-btn:after,.notyf__dismiss-btn:before{content:"";background:#fff;height:12px;width:2px;border-radius:3px;position:absolute;left:calc(50% - 1px);top:calc(50% - 5px)}.notyf__dismiss-btn:after{transform:rotate(-45deg)}.notyf__dismiss-btn:before{transform:rotate(45deg)}.notyf__dismiss-btn:hover{opacity:.7;background-color:rgba(0,0,0,.15)}.notyf__dismiss-btn:active{opacity:.8}.notyf__message{vertical-align:middle;position:relative;opacity:0;animation:notyf-fadeinup .3s forwards;animation-delay:.25s;line-height:1.5em}@media only screen and (max-width:480px){.notyf{padding:0}.notyf__ripple{height:600px;width:600px;animation-duration:.5s}.notyf__toast{max-width:none;border-radius:0;box-shadow:0 -2px 7px 0 rgba(0,0,0,.13);width:100%}.notyf__dismiss{width:56px}}/* 
  AI Investor Assistant - "Professional Blue" Design System
  Matches Pricing.jsx: Clean, minimal, modern, responsive.
*/

:root {
  /* Core Palette - Derived from Pricing.jsx & Blue Aesthetic */
  --ia-primary: #2563eb; /* Blue 600 */
  --ia-primary-hover: #1d4ed8; /* Blue 700 */
  --ia-primary-light: #eff6ff; /* Blue 50 */
  
  --ia-bg-gradient: linear-gradient(to right, #0f172a, #1e3a8a, #312e81); /* Hero Header Gradient */
  --ia-bg-main: #f8fafc; /* Slate 50/100ish */
  --ia-bg-card: #ffffff;
  
  --ia-text-primary: #0f172a; /* Slate 900 */
  --ia-text-secondary: #64748b; /* Slate 500 */
  --ia-text-dim: #94a3b8; /* Slate 400 */
  
  --ia-border: #e2e8f0; /* Slate 200 */
  --ia-border-focus: #2563eb;
  
  --ia-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ia-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);

  /* Dark Mode Overrides (Optional - keeping consistent with Pricing.jsx being mostly light/clean) */
}

[data-theme='dark'] {
  /* Minimal dark mode support if needed, but primary request is "Pricing Page" look (Light/Clean) */
  --ia-bg-main: #0f172a;
  --ia-bg-card: #1e293b;
  --ia-text-primary: #f8fafc;
  --ia-text-secondary: #cbd5e1;
  --ia-border: #334155;
  --ia-primary-light: rgba(37, 99, 235, 0.2);
}

/* Base Container Reset */
.modern-chat-container, .expanded-view {
  background-color: var(--ia-bg-card) !important;
  color: var(--ia-text-primary) !important;
  font-family: 'Lato', 'Inter', sans-serif !important;
  border-radius: 16px;
  box-shadow: var(--ia-shadow-lg);
  border: 1px solid var(--ia-border);
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 🔧 FIX: Ensure container can expand when sidebar is open */
.expanded-view > div:first-of-type {
  min-width: 100%;
  width: 100%;
}

/* 🔧 FIX: Ensure main layout doesn't cause horizontal scroll */
.expanded-view .flex.h-full {
  position: relative;
  width: 100%;
}

/* Header Styling - Matching Pricing Page Gradient */
.modern-header, .expanded-view-header {
  background: var(--ia-bg-gradient);
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  color: white;
  flex-shrink: 0;
}

.header-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.status-dot {
  width: 8px;
  height: 8px;
  background: #38bdf8; /* Sky 400 */
  border-radius: 50%;
  box-shadow: 0 0 8px #38bdf8;
}

.status-dot.pulsing {
  animation: status-pulse 2s infinite;
}

@keyframes status-pulse {
  0% { box-shadow: 0 0 0 0 rgba(56, 189, 248, 0.7); }
  70% { box-shadow: 0 0 0 6px rgba(56, 189, 248, 0); }
  100% { box-shadow: 0 0 0 0 rgba(56, 189, 248, 0); }
}

.assistant-name {
  font-weight: 800; /* Bold like Pricing headers */
  font-size: 1.125rem;
  letter-spacing: -0.01em;
  color: white;
}

.ai-avatar-glow {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 0 15px rgba(255, 100, 255, 0.1); /* Subtle */
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.action-btn {
  color: white;
  opacity: 0.8;
  padding: 8px;
  border-radius: 8px;
  transition: all 0.2s;
  background: transparent;
  border: none;
  cursor: pointer;
}

.action-btn:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
}

/* Main Chat Area */
.main-chat-area {
  background: var(--ia-bg-main); /* Light Slate/Blue Tint */
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

/* Messages List */
.messages-container-modern {
  flex: 1;
  overflow-y: auto;
  padding: 24px 0;
  display: flex;
  flex-direction: column;
}

.messages-list {
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* Message Bubbles - Clean & Professional */
.message-wrapper {
  display: flex;
  gap: 12px;
  max-width: 85%;
}

.message-wrapper.user-message {
  align-self: flex-end;
  flex-direction: row-reverse;
}

.ai-avatar-circle {
  background: var(--ia-bg-gradient);
  color: white;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.75rem;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.user-avatar-circle {
  background: #cbd5e1;
  color: #475569;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.message-bubble {
  padding: 14px 18px;
  border-radius: 12px;
  font-size: 0.95rem;
  line-height: 1.6;
  position: relative;
  box-shadow: 0 1px 2px rgba(0,0,0,0.05); /* Very subtle shadow */
}

/* AI Message: White card on light bg */
.ai-message .message-bubble {
  background: white;
  color: var(--ia-text-primary) !important; /* Force dark text */
  border: 1px solid var(--ia-border);
  border-top-left-radius: 2px;
}

.ai-message .message-bubble * {
  color: var(--ia-text-primary) !important; /* Force all child elements to be dark */
}

/* User Message: Solid Blue */
.user-message .message-bubble {
  background: var(--ia-primary);
  color: white;
  border-top-right-radius: 2px;
  box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.2); /* Colored shadow */
}

/* Input Area - Fixed Squeezing Bug & Layout */
.modern-input-area {
  background: var(--ia-bg-card);
  border-top: 1px solid var(--ia-border);
  padding: 16px 24px 24px;
  width: 100%;
  box-sizing: border-box;
  flex-shrink: 0; /* Prevent collapsing */
  display: flex;
  flex-direction: column;
  gap: 12px; /* Space between suggestions and input */
}

.input-container-modern {
  display: flex;
  gap: 12px;
  align-items: flex-end;
  background: var(--ia-bg-main);
  border: 1px solid var(--ia-border);
  border-radius: 24px; /* Pill shape like Search */
  padding: 8px 8px 8px 20px;
  transition: all 0.2s;
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box !important; /* Force width compliance */
}

.input-container-modern:focus-within {
  border-color: var(--ia-border-focus);
  box-shadow: 0 0 0 3px var(--ia-primary-light);
  background: white;
}

.modern-textarea {
  flex: 1;
  background: transparent;
  border: none;
  padding: 10px 0;
  max-height: 120px;
  font-size: 1rem;
  line-height: 1.5;
  outline: none;
  resize: none;
  color: var(--ia-text-primary) !important; /* Force dark text */
  min-height: 44px; /* Ensure height */
}

.modern-textarea::-moz-placeholder {
  color: var(--ia-text-secondary); /* Lighter placeholder */
  opacity: 0.6;
}

.modern-textarea::placeholder {
  color: var(--ia-text-secondary); /* Lighter placeholder */
  opacity: 0.6;
}

.send-button-modern {
  background: var(--ia-primary);
  color: white;
  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}

.send-button-modern:hover:not(:disabled) {
  background: var(--ia-primary-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 6px rgba(37, 99, 235, 0.3);
}

.send-button-modern:disabled {
  background: #e2e8f0;
  color: #94a3b8;
  cursor: not-allowed;
}

/* Suggestion Chips - 🔧 FIX: Better layout, no extra padding */
.modern-suggestions {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  max-width: 900px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  scrollbar-width: none; /* Hide scrollbar */
  padding-bottom: 0; /* Remove extra padding */
}

/* Hide scrollbar for suggestions */
.modern-suggestions::-webkit-scrollbar {
  display: none;
}

.suggestion-chip-modern {
  background: white;
  border: 1px solid var(--ia-border);
  color: var(--ia-primary);
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
  cursor: pointer;
  transition: all 0.2s;
}

.suggestion-chip-modern:hover {
  background: var(--ia-primary-light);
  border-color: var(--ia-primary);
  transform: translateY(-1px);
}

/* 
  📱 MOBILE IMMERSIVE EXPERIENCE
  Forces full-screen, hides standard UI clutter
*/
@media (max-width: 768px) {
  /* Enforce Fullscreen on Container */
  .modern-chat-container, .expanded-view {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    border: none !important;
    margin: 0 !important;
    z-index: 9999 !important;
  }

  /* Adjust Header for unsafe areas */
  .modern-header {
    padding-top: max(16px, env(safe-area-inset-top) + 16px);
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Optimize Input Area for Touch - 🔧 IMPROVED */
  .modern-input-area {
    padding: 12px 16px max(16px, env(safe-area-inset-bottom) + 16px);
    border-top: 1px solid var(--ia-border);
    gap: 8px; /* Tighter spacing on mobile */
  }

  .input-container-modern {
    padding: 6px 6px 6px 16px;
    border-radius: 26px;
    width: 100%; /* Full width on mobile */
    max-width: 100%; /* Override desktop max-width */
  }

  .send-button-modern {
    width: 40px;
    height: 40px;
    border-radius: 50%;
  }

  .modern-textarea {
    font-size: 16px !important; /* Prevent iOS zoom */
  }

  /* Max Widths reset for full width */
  .messages-list, .modern-suggestions {
    max-width: 100%;
    padding-left: 16px; 
    padding-right: 16px;
  }
  
  /* Input container full width on mobile */
  .input-container-modern {
    max-width: 100%;
    margin: 0; /* Remove auto margin */
    padding: 6px 6px 6px 16px; /* Ensure consistent padding */
  }
  
  /* Suggestions full width on mobile */
  .modern-suggestions {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.text-content {
  line-height: 1.5;
  word-wrap: break-word;
}

.text-link {
  color: var(--link-color);
  text-decoration: underline;
  word-break: break-all;
}

.user-message .text-link {
  color: rgba(255, 255, 255, 0.9);
}

/* Dark mode overrides */
.dark-mode .text-link {
  color: var(--dark-link-color);
}

.dark-mode .user-message .text-link {
  color: rgba(255, 255, 255, 0.9);
}
.property-analysis-container {
  width: 100%;
  max-width: 800px;
  margin: 1rem 0;
  background-color: var(--bg-primary);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.analysis-tabs {
  display: flex;
  border-bottom: 1px solid var(--border-color);
  background-color: var(--bg-secondary);
  overflow-x: auto;
  scrollbar-width: none;
}

.analysis-tabs::-webkit-scrollbar {
  display: none;
}

.tab-button {
  padding: 0.75rem 1rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-secondary);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.tab-button:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--text-primary);
}

.tab-button.active {
  color: var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
  background-color: rgba(var(--primary-color-rgb), 0.05);
}

.analysis-content {
  padding: 1.5rem;
}

.analysis-text {
  margin-bottom: 1.5rem;
  line-height: 1.6;
  color: var(--text-primary);
}

.property-details-card {
  background-color: var(--bg-secondary);
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.property-details-card h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

.property-details-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
}

.property-detail-item {
  display: flex;
  flex-direction: column;
}

.detail-label {
  font-size: 0.85rem;
  color: var(--text-secondary);
  margin-bottom: 0.25rem;
}

.detail-value {
  font-weight: 500;
  color: var(--text-primary);
}

.charts-container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.chart-wrapper {
  border-radius: 8px;
  background-color: var(--bg-secondary);
  padding: 1rem;
}

.metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 1rem;
}

.metric-card {
  background-color: var(--bg-secondary);
  border-radius: 8px;
  padding: 1rem;
  text-align: center;
}

.metric-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}

.metric-name {
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.expenses-table {
  margin-top: 1.5rem;
  overflow-x: auto;
}

.expenses-table table {
  width: 100%;
  border-collapse: collapse;
}

.expenses-table th,
.expenses-table td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid var(--border-color);
}

.expenses-table th {
  font-weight: 600;
  color: var(--text-secondary);
  background-color: var(--bg-secondary);
}

.market-insights-container {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.market-overview {
  background-color: var(--bg-secondary);
  border-radius: 8px;
  padding: 1rem;
}

.market-overview h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}

.market-sections {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.market-section {
  background-color: var(--bg-secondary);
  border-radius: 8px;
  padding: 1rem;
}

.market-section h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.similar-properties-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1rem;
}

.similar-property-card {
  background-color: var(--bg-secondary);
  border-radius: 8px;
  padding: 1rem;
  position: relative;
  display: flex;
  flex-direction: column;
}

.property-similarity {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background-color: var(--primary-color);
  color: white;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.8rem;
  font-weight: 500;
}

.similar-property-card h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 1rem;
}

.property-basic-details {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.property-price {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}

.property-description {
  font-size: 0.9rem;
  color: var(--text-secondary);
  margin-bottom: 1rem;
  flex-grow: 1;
}

.view-property-button {
  background-color: var(--primary-color);
  color: white;
  border: none;
  border-radius: 4px;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-weight: 500;
  transition: background-color 0.2s ease;
}

.view-property-button:hover {
  background-color: var(--primary-color-dark);
}

.no-data-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 2rem;
  text-align: center;
}

.no-data-message p {
  color: var(--text-secondary);
  margin: 0;
}

.analysis-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--border-color);
  background-color: var(--bg-secondary);
}

.action-button {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-weight: 500;
  transition: all 0.2s ease;
}

.action-button:hover {
  background-color: var(--bg-hover);
}

.action-button.primary {
  background-color: var(--primary-color);
  color: white;
  border-color: var(--primary-color);
}

.action-button.primary:hover {
  background-color: var(--primary-color-dark);
}

/* Dark mode overrides */
.dark-mode .property-analysis-container {
  background-color: var(--dark-bg-primary);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.dark-mode .analysis-tabs {
  background-color: var(--dark-bg-secondary);
  border-bottom-color: var(--dark-border-color);
}

.dark-mode .tab-button:hover {
  background-color: rgba(255, 255, 255, 0.05);
}

.dark-mode .tab-button.active {
  background-color: rgba(var(--primary-color-rgb), 0.2);
}

.dark-mode .property-details-card,
.dark-mode .chart-wrapper,
.dark-mode .metric-card,
.dark-mode .market-overview,
.dark-mode .market-section,
.dark-mode .similar-property-card {
  background-color: var(--dark-bg-secondary);
}

.dark-mode .expenses-table th {
  background-color: var(--dark-bg-secondary);
}

.dark-mode .action-button {
  background-color: var(--dark-bg-primary);
  color: var(--dark-text-primary);
  border-color: var(--dark-border-color);
}

.dark-mode .action-button:hover {
  background-color: var(--dark-bg-hover);
}

/* Responsive design */
@media (max-width: 768px) {
  .property-analysis-container {
    max-width: 100%;
    border-radius: 0;
    margin: 0.5rem 0;
  }
  
  .analysis-content {
    padding: 1rem;
  }
  
  .property-details-grid,
  .metrics-grid {
    grid-template-columns: 1fr 1fr;
  }
  
  .charts-container {
    gap: 1rem;
  }
  
  .similar-properties-grid {
    grid-template-columns: 1fr;
  }
  
  .analysis-actions {
    padding: 0.75rem 1rem;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .property-details-grid,
  .metrics-grid {
    grid-template-columns: 1fr;
  }
  
  .tab-button {
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
  }
}
/* FallbackMessage.css - Styling for error and fallback messages */

.fallback-message-container {
  display: flex;
  justify-content: center;
  margin: 15px 0;
  width: 100%;
}

.fallback-message {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem;
  margin: 0.5rem 0;
  border-radius: 8px;
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  max-width: 100%;
  text-align: center;
}

.fallback-message-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px;
  border-radius: 8px;
  background-color: #fff4f4;
  border: 1px solid #ffdbdb;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  max-width: 90%;
  width: 500px;
}

.fallback-icon {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  color: #e53935;
}

.fallback-content {
  width: 100%;
}

.fallback-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #343a40;
  text-align: center;
}

.fallback-description {
  font-size: 0.9rem;
  color: #495057;
  margin-bottom: 1rem;
}

.fallback-technical-details {
  font-size: 12px;
  color: #9e9e9e;
  background-color: #f5f5f5;
  padding: 8px;
  border-radius: 4px;
  margin-bottom: 12px;
  max-width: 100%;
  overflow-wrap: break-word;
  text-align: center;
}

.fallback-details {
  background-color: #e9ecef;
  padding: 0.75rem;
  border-radius: 4px;
  margin-bottom: 1rem;
  font-size: 0.8rem;
  color: #6c757d;
  overflow-wrap: break-word;
  max-height: 100px;
  overflow-y: auto;
}

.fallback-retry-button {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  background-color: #4263eb;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
}

.fallback-retry-button:hover {
  background-color: #364fc7;
}

.fallback-retry-button:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(66, 99, 235, 0.5);
}

/* Variations based on error type */
.fallback-message[data-error-type="UNSAFE_CONTENT"] {
  border-color: #ff8787;
  background-color: #fff5f5;
}

.fallback-message[data-error-type="UNSAFE_CONTENT"] .fallback-title {
  color: #c92a2a;
}

.fallback-message[data-error-type="CONNECTION_ERROR"],
.fallback-message[data-error-type="TIMEOUT_ERROR"] {
  border-color: #ffa94d;
  background-color: #fff9db;
}

.fallback-message[data-error-type="CONNECTION_ERROR"] .fallback-title,
.fallback-message[data-error-type="TIMEOUT_ERROR"] .fallback-title {
  color: #e67700;
}

/* Animation for loading state if needed */
@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

.fallback-message.loading {
  animation: pulse 1.5s infinite;
}
/* 
  Modernized Message Bubbles
  Linked to the Global Design System in InvestorAssistant.css
*/

.message-container {
  display: flex;
  margin-bottom: 24px;
  width: 100%;
  animation: message-in 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.assistant-message {
  justify-content: flex-start;
  flex-direction: row;
}

.user-message {
  justify-content: flex-end;
  flex-direction: row-reverse;
}

.message-bubble {
  max-width: 85%;
  padding: 14px 18px;
  border-radius: 18px;
  font-size: 0.95rem;
  line-height: 1.6;
  position: relative;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  word-wrap: break-word;
}

.assistant-message .message-bubble {
  background: var(--bg-secondary);
  color: var(--text-primary);
  border: 1px solid var(--border-color);
  border-top-left-radius: 4px;
}

.user-message .message-bubble {
  background: var(--modern-primary);
  color: white;
  border-top-right-radius: 4px;
}

/* Avatars */
.avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.assistant-avatar {
  background: var(--modern-bg-gradient);
  color: white;
}

.user-avatar {
  background: #cbd5e1;
  color: #1e293b;
}

.avatar svg {
  width: 18px;
  height: 18px;
}

.avatar-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}

/* Timestamp */
.message-timestamp {
  font-size: 0.7rem;
  margin-top: 6px;
  opacity: 0.6;
}

.assistant-message .message-timestamp {
  text-align: left;
}

.user-message .message-timestamp {
  text-align: right;
  color: rgba(255, 255, 255, 0.8);
}

/* Typing Indicator */
.typing {
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.typing-dot {
  width: 6px;
  height: 6px;
  background-color: var(--modern-primary);
  border-radius: 50%;
  animation: typing 1.4s infinite ease-in-out;
}

.typing-dot:nth-child(2) { animation-delay: 0.2s; }
.typing-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes typing {
  0%, 60%, 100% { transform: translateY(0); }
  30% { transform: translateY(-4px); }
}

@keyframes message-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Formatting support */
.message-bubble h1, .message-bubble h2, .message-bubble h3 {
  margin-top: 12px;
  margin-bottom: 8px;
  font-weight: 700;
}

.message-bubble p {
  margin: 0 0 12px 0;
}

.message-bubble p:last-child {
  margin-bottom: 0;
}

.message-bubble ul, .message-bubble ol {
  margin: 8px 0;
  padding-left: 20px;
}
/* 🎨 ENHANCED CONVERSATION LIST - NEXUS & WESNER PREMIUM DESIGN
Built by The Ultimate Design Dream Team! 💙✨🔥
Features: Full Integration with Sidebar Gradient, Enhanced Visibility
*/

/* ====================================
💬 CONVERSATION LIST CONTAINER
==================================== */

.conversation-list-container {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: transparent;
  overflow: hidden;
}

/* ====================================
💬 CONVERSATION LIST STYLES
==================================== */

.conversation-list {
  flex: 1;
  padding: 0 16px;
  overflow-y: auto;
  background: transparent;
}

.conversation-item {
  padding: 20px;
  margin-bottom: 12px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(15px);
  border: 2px solid rgba(59, 130, 246, 0.15);
  border-radius: 24px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.conversation-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    rgba(59, 130, 246, 0.6) 0%,
    rgba(124, 58, 237, 0.6) 50%,
    rgba(139, 92, 246, 0.6) 100%
  );
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.conversation-item:hover {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(59, 130, 246, 0.3);
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 25px 50px -12px rgba(59, 130, 246, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.conversation-item:hover::before {
  transform: scaleX(1);
}

.conversation-item.active {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.15) 0%,
    rgba(124, 58, 237, 0.12) 100%
  );
  border-color: rgba(59, 130, 246, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 20px 40px -10px rgba(59, 130, 246, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.conversation-item.active::before {
  transform: scaleX(1);
  height: 4px;
}

.conversation-item img {
  width: 48px;
  height: 48px;
  border-radius: 20px;
  margin-right: 16px;
  border: 3px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}

.conversation-item:hover img {
  transform: scale(1.1) rotate(2deg);
  box-shadow: 0 12px 25px rgba(59, 130, 246, 0.2),
    0 0 0 3px rgba(59, 130, 246, 0.2);
}

.conversation-info h4 {
  font-size: 18px;
  font-weight: 700;
  color: rgb(30, 41, 59);
  margin-bottom: 4px;
  letter-spacing: -0.025em;
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.conversation-info p {
  font-size: 14px;
  color: rgb(100, 116, 139);
  font-weight: 500;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.conversation-time {
  font-size: 12px;
  color: rgb(59, 130, 246);
  font-weight: 600;
  background: rgba(59, 130, 246, 0.1);
  padding: 6px 12px;
  border-radius: 12px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(59, 130, 246, 0.2);
}

/* Enhanced unread indicators */
.conversation-item.unread {
  background: rgba(59, 130, 246, 0.08);
  border-color: rgba(59, 130, 246, 0.25);
}

.conversation-item.unread h4 {
  font-weight: 800;
}

.conversation-item.unread::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  background: linear-gradient(45deg, #3b82f6, #6366f1);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

/* Priority badges enhancement */
.priority-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  backdrop-filter: blur(10px);
  border: 1px solid;
}

.priority-badge.high {
  background: rgba(239, 68, 68, 0.1);
  color: rgb(185, 28, 28);
  border-color: rgba(239, 68, 68, 0.2);
}

.priority-badge.medium {
  background: rgba(245, 158, 11, 0.1);
  color: rgb(180, 83, 9);
  border-color: rgba(245, 158, 11, 0.2);
}

.priority-badge.low {
  background: rgba(34, 197, 94, 0.1);
  color: rgb(21, 128, 61);
  border-color: rgba(34, 197, 94, 0.2);
}

/* Role badges enhancement */
.role-badge {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.1) 0%,
    rgba(124, 58, 237, 0.1) 100%
  );
  color: rgb(59, 130, 246);
  border: 1px solid rgba(59, 130, 246, 0.2);
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: capitalize;
  backdrop-filter: blur(10px);
}

/* ====================================
🛠️ CUSTOM SCROLLBAR FOR CONVERSATION LIST
==================================== */

.conversation-list::-webkit-scrollbar {
  width: 8px;
}

.conversation-list::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 12px;
  margin: 8px;
}

.conversation-list::-webkit-scrollbar-thumb {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.4) 0%,
    rgba(124, 58, 237, 0.4) 100%
  );
  border-radius: 12px;
  border: 2px solid transparent;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.conversation-list::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.6) 0%,
    rgba(124, 58, 237, 0.6) 100%
  );
}

/* ====================================
✨ NO MESSAGES STATE - Integrated with Gradient
==================================== */

.no-conversations-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  background: transparent;
}

.no-conversations-icon {
  width: 4rem;
  height: 4rem;
  margin-bottom: 1.5rem;
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.15) 0%,
    rgba(124, 58, 237, 0.1) 100%
  );
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(15px);
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.no-conversations-icon svg {
  width: 2rem;
  height: 2rem;
  color: rgba(59, 130, 246, 0.8);
}

.no-conversations-text {
  font-size: 1.25rem;
  font-weight: 700;
  background: linear-gradient(135deg, #334155 0%, #475569 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 0.5rem;
  letter-spacing: -0.025em;
}

.no-conversations-subtext {
  font-size: 0.875rem;
  color: rgba(100, 116, 139, 0.8);
  line-height: 1.6;
  max-width: 280px;
}

/* ====================================
📱 RESPONSIVE DESIGN
==================================== */

@media (max-width: 1024px) {
  .conversation-item {
    padding: 16px;
    margin-bottom: 8px;
  }

  .conversation-item img {
    width: 40px;
    height: 40px;
  }
}

@media (max-width: 768px) {
  .conversation-list {
    padding: 0 12px;
  }

  .conversation-item {
    padding: 12px;
    margin-bottom: 6px;
  }

  .conversation-item img {
    width: 36px;
    height: 36px;
  }
}

/* ====================================
✨ NEXUS SPECIAL EFFECTS FOR CONVERSATIONS
==================================== */

.conversation-glow {
  animation: conversationGlow 3s ease-in-out infinite alternate;
}

@keyframes conversationGlow {
  from {
    box-shadow: 0 8px 25px rgba(59, 130, 246, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.3);
  }
  to {
    box-shadow: 0 15px 35px rgba(59, 130, 246, 0.2),
      inset 0 1px 0 rgba(255, 255, 255, 0.4);
  }
}

.conversation-pulse {
  animation: conversationPulse 2s ease-in-out infinite;
}

@keyframes conversationPulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.01);
  }
}

/* Enhanced search results */
.search-results-empty {
  padding: 2rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  margin: 1rem;
  backdrop-filter: blur(10px);
}

.search-results-empty h3 {
  font-size: 1.125rem;
  font-weight: 600;
  color: rgba(100, 116, 139, 0.8);
  margin-bottom: 0.5rem;
}

.search-results-empty p {
  font-size: 0.875rem;
  color: rgba(148, 163, 184, 0.8);
}
/* 🎨 MESSAGE LIST ENHANCED - DRIBBBLE-INSPIRED DESIGN
Built by Nexus & Wesner - The Ultimate Design Dream Team! 💙✨
Features: Glassmorphism, Gradients, Smooth Animations, Premium Feel
*/

/* ====================================
💬 MESSAGE LIST STYLES
==================================== */

.message-list {
  flex: 1;
  padding: 32px;
  background: linear-gradient(135deg,
    rgb(248, 250, 252) 0%,
    rgba(239, 246, 255, 0.5) 25%,
    rgba(224, 242, 254, 0.3) 50%,
    rgba(238, 242, 255, 0.5) 75%,
    rgb(248, 250, 252) 100%
  );
  position: relative;
}

.message-list::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 100%;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(124, 58, 237, 0.1) 20%,
    rgba(59, 130, 246, 0.1) 50%,
    rgba(139, 92, 246, 0.1) 80%,
    transparent 100%
  );
  pointer-events: none;
}

.message-item {
  margin-bottom: 24px;
  position: relative;
  animation: messageSlideIn 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.message-item.sent {
  display: flex;
  justify-content: flex-end;
}

.message-item.received {
  display: flex;
  justify-content: flex-start;
}

.message-content {
  max-width: 70%;
  padding: 20px 24px;
  border-radius: 24px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  position: relative;
  backdrop-filter: blur(10px);
  box-shadow:
    0 15px 35px rgba(0, 0, 0, 0.08),
    0 0 0 1px rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}

.message-content:hover {
  transform: translateY(-2px);
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.12),
    0 0 0 1px rgba(255, 255, 255, 0.2);
}

.message-item.sent .message-content {
  background: linear-gradient(135deg,
    rgb(124, 58, 237) 0%,
    rgb(139, 92, 246) 50%,
    rgb(59, 130, 246) 100%
  );
  color: white;
  border-bottom-right-radius: 8px;
  position: relative;
}

.message-item.sent .message-content::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg,
    rgba(255, 255, 255, 0.1) 0%,
    transparent 50%,
    rgba(0, 0, 0, 0.05) 100%
  );
  border-radius: inherit;
  pointer-events: none;
}

.message-item.received .message-content {
  background: rgba(255, 255, 255, 0.9);
  color: rgb(30, 41, 59);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-bottom-left-radius: 8px;
}

.message-time {
  font-size: 12px;
  font-weight: 600;
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.message-item.sent .message-time {
  color: rgba(255, 255, 255, 0.8);
  justify-content: flex-end;
}

.message-item.received .message-time {
  color: rgb(148, 163, 184);
  justify-content: flex-start;
}

.sender-avatar {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  margin-right: 12px;
  margin-top: 4px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  box-shadow:
    0 8px 16px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(255, 255, 255, 0.2);
}

.sender-name {
  font-weight: 700;
  font-size: 14px;
  color: rgb(30, 41, 59);
  margin-bottom: 6px;
  letter-spacing: -0.025em;
}

/* ====================================
💬 SENTIMENT INDICATOR STYLES
==================================== */

.sentiment-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  margin-top: 8px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.sentiment-positive {
  background: rgba(34, 197, 94, 0.1);
  color: rgb(21, 128, 61);
  border-color: rgba(34, 197, 94, 0.2);
}

.sentiment-negative {
  background: rgba(239, 68, 68, 0.1);
  color: rgb(185, 28, 28);
  border-color: rgba(239, 68, 68, 0.2);
}

.sentiment-neutral {
  background: rgba(59, 130, 246, 0.1);
  color: rgb(29, 78, 216);
  border-color: rgba(59, 130, 246, 0.2);
}

/* ====================================
💬 MESSAGE ACTIONS STYLES
==================================== */

.message-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.3s ease;
}

.message-item:hover .message-actions {
  opacity: 1;
  transform: translateY(0);
}

.message-action-btn {
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  color: rgb(100, 116, 139);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 4px;
}

.message-action-btn:hover {
  background: rgba(124, 58, 237, 0.1);
  border-color: rgba(124, 58, 237, 0.3);
  color: rgb(124, 58, 237);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(124, 58, 237, 0.2);
}

/* ====================================
💬 AI ENHANCEMENT INDICATOR
==================================== */

.ai-enhanced-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  background: linear-gradient(135deg,
    rgba(124, 58, 237, 0.1) 0%,
    rgba(59, 130, 246, 0.08) 100%
  );
  border-radius: 8px;
  font-size: 10px;
  font-weight: 700;
  color: rgb(124, 58, 237);
  margin-left: 8px;
  border: 1px solid rgba(124, 58, 237, 0.2);
}

.ai-enhanced-indicator .sparkle {
  animation: sparkleRotate 2s ease-in-out infinite;
}

@keyframes sparkleRotate {
  0%, 100% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.2); }
}

/* ====================================
💬 TYPING INDICATOR
==================================== */

.typing-indicator {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 20px;
  margin-bottom: 16px;
  max-width: 200px;
  border: 1px solid rgba(148, 163, 184, 0.2);
}

.typing-dots {
  display: flex;
  gap: 4px;
}

.typing-dot {
  width: 6px;
  height: 6px;
  background: rgb(148, 163, 184);
  border-radius: 50%;
  animation: typingPulse 1.5s ease-in-out infinite;
}

.typing-dot:nth-child(2) {
  animation-delay: 0.2s;
}

.typing-dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes typingPulse {
  0%, 60%, 100% {
    transform: scale(1);
    opacity: 0.5;
  }
  30% {
    transform: scale(1.2);
    opacity: 1;
  }
}

/* ====================================
📱 RESPONSIVE DESIGN
==================================== */

@media (max-width: 1024px) {
  .message-list {
    padding: 20px;
  }

  .message-content {
    max-width: 85%;
    padding: 16px 20px;
  }
}

@media (max-width: 768px) {
  .message-list {
    padding: 16px;
  }

  .message-content {
    max-width: 90%;
    padding: 14px 18px;
    font-size: 14px;
  }
  
  .sender-avatar {
    width: 32px;
    height: 32px;
    margin-right: 8px;
  }
}/* 🎨 ENHANCED MESSAGE COMPOSER - DRIBBBLE-INSPIRED DESIGN
Built by Nexus & Wesner - The Ultimate Design Dream Team! 💙✨
Features: Glassmorphism, Gradients, Smooth Animations, Premium Feel
*/

/* ====================================
🎨 ENHANCED MESSAGE COMPOSER STYLES
==================================== */

.enhanced-composer {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  border-radius: 24px;
  padding: 24px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  box-shadow:
    0 25px 50px -12px rgba(0, 0, 0, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  position: relative;
}

.composer-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.1);
}

.composer-action {
  padding: 12px;
  background: rgba(124, 58, 237, 0.08);
  border: 1px solid rgba(124, 58, 237, 0.15);
  border-radius: 12px;
  color: rgb(124, 58, 237);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.composer-action:hover {
  background: rgba(124, 58, 237, 0.15);
  border-color: rgba(124, 58, 237, 0.3);
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 8px 20px rgba(124, 58, 237, 0.2);
}

.ai-enhancement-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: linear-gradient(135deg,
    rgba(124, 58, 237, 0.1) 0%,
    rgba(59, 130, 246, 0.08) 100%
  );
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  color: rgb(124, 58, 237);
  border: 1px solid rgba(124, 58, 237, 0.2);
}

.ai-enhancement-indicator .sparkle {
  animation: sparkleRotate 2s ease-in-out infinite;
}

@keyframes sparkleRotate {
  0%, 100% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.2); }
}

/* ====================================
💬 MESSAGE INPUT STYLES
==================================== */

.message-input {
  padding: 32px;
  background: linear-gradient(135deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(239, 246, 255, 0.8) 50%,
    rgba(224, 242, 254, 0.7) 100%
  );
  backdrop-filter: blur(20px);
  border-top: 2px solid rgba(148, 163, 184, 0.1);
  position: relative;
}

.message-input::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(124, 58, 237, 0.3) 50%,
    transparent 100%
  );
}

.message-input-container {
  background: linear-gradient(135deg,
    rgba(239, 246, 255, 0.8) 0%,
    rgba(224, 242, 254, 0.6) 50%,
    rgba(238, 242, 255, 0.8) 100%
  );
  backdrop-filter: blur(20px);
  border-radius: 28px;
  padding: 24px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  box-shadow:
    0 25px 50px -12px rgba(124, 58, 237, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  position: relative;
  overflow: hidden;
}

.message-input-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg,
    rgba(124, 58, 237, 0.02) 0%,
    rgba(59, 130, 246, 0.02) 100%
  );
  pointer-events: none;
}

.message-input input,
.message-input textarea {
  width: 100%;
  padding: 20px 24px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(15px);
  border: 2px solid rgba(148, 163, 184, 0.15);
  border-radius: 20px;
  font-size: 16px;
  font-weight: 500;
  color: rgb(30, 41, 59);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow:
    0 8px 25px rgba(0, 0, 0, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  resize: none;
  font-family: inherit;
}

.message-input input:focus,
.message-input textarea:focus {
  outline: none;
  border-color: rgb(124, 58, 237);
  background: rgba(255, 255, 255, 0.98);
  box-shadow:
    0 0 0 4px rgba(124, 58, 237, 0.1),
    0 15px 35px rgba(124, 58, 237, 0.08);
  transform: translateY(-2px);
}

.message-input input::-moz-placeholder, .message-input textarea::-moz-placeholder {
  color: rgb(148, 163, 184);
  font-weight: 400;
}

.message-input input::placeholder,
.message-input textarea::placeholder {
  color: rgb(148, 163, 184);
  font-weight: 400;
}

.message-input button {
  margin-left: 16px;
  padding: 20px 32px;
  background: linear-gradient(135deg,
    rgb(124, 58, 237) 0%,
    rgb(139, 92, 246) 50%,
    rgb(59, 130, 246) 100%
  );
  color: white;
  border: none;
  border-radius: 20px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow:
    0 15px 35px rgba(124, 58, 237, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 8px;
}

.message-input button::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.2) 50%,
    transparent 100%
  );
  transition: left 0.6s ease;
}

.message-input button:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow:
    0 20px 40px rgba(124, 58, 237, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.message-input button:hover::before {
  left: 100%;
}

.message-input button:active {
  transform: translateY(-1px) scale(1.02);
}

.message-input button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

.message-input button:disabled:hover {
  transform: none;
  box-shadow:
    0 15px 35px rgba(124, 58, 237, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* ====================================
🎨 ENHANCEMENT FEATURES
==================================== */

.enhancement-panel {
  margin-top: 16px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 16px;
  animation: slideInUp 0.3s ease;
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.enhancement-options {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.enhancement-option {
  padding: 8px 12px;
  background: rgba(124, 58, 237, 0.08);
  border: 1px solid rgba(124, 58, 237, 0.2);
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  color: rgb(124, 58, 237);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 4px;
}

.enhancement-option:hover {
  background: rgba(124, 58, 237, 0.15);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(124, 58, 237, 0.2);
}

.enhancement-option.selected {
  background: rgb(124, 58, 237);
  color: white;
  border-color: rgb(124, 58, 237);
}

.feedback-section {
  margin-top: 16px;
  padding: 12px;
  background: rgba(249, 250, 251, 0.9);
  border-radius: 12px;
  border: 1px solid rgba(209, 213, 219, 0.5);
}

.feedback-buttons {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.feedback-btn {
  padding: 6px 12px;
  border: 1px solid rgba(209, 213, 219, 0.5);
  border-radius: 8px;
  background: white;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 4px;
}

.feedback-btn:hover {
  background: rgba(124, 58, 237, 0.05);
  border-color: rgba(124, 58, 237, 0.2);
  transform: translateY(-1px);
}

.feedback-btn.positive {
  color: rgb(34, 197, 94);
  border-color: rgba(34, 197, 94, 0.3);
}

.feedback-btn.negative {
  color: rgb(239, 68, 68);
  border-color: rgba(239, 68, 68, 0.3);
}

/* ====================================
📱 RESPONSIVE DESIGN
==================================== */

@media (max-width: 1024px) {
  .message-input {
    padding: 20px;
  }

  .message-input-container {
    padding: 20px;
  }
}

@media (max-width: 768px) {
  .message-input {
    padding: 16px;
  }

  .message-input-container {
    padding: 16px;
  }

  .message-input input,
  .message-input textarea {
    padding: 16px 20px;
    font-size: 14px;
  }

  .message-input button {
    padding: 16px 24px;
    font-size: 14px;
    margin-left: 12px;
  }

  .composer-toolbar {
    gap: 8px;
  }

  .composer-action {
    padding: 10px;
  }

  .enhancement-options {
    gap: 6px;
  }
}/* 🎨 ENHANCED MESSAGES PAGE - NEXUS & WESNER PREMIUM DESIGN
Built by The Ultimate Design Dream Team! 💙✨🔥
Features: Full Gradient Sidebar, Enhanced Visibility, Premium Feel
*/

/* ====================================
📱 MAIN MESSAGES CONTAINER
==================================== */

.messages-container {
  display: flex;
  height: calc(100vh - 80px);
  width: 100vw;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(239, 246, 255, 0.8) 25%,
    rgba(224, 242, 254, 0.7) 50%,
    rgba(238, 242, 255, 0.8) 75%,
    rgba(255, 255, 255, 0.95) 100%
  );
  backdrop-filter: blur(20px);
  position: fixed;
  top: 80px;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 1;
}

.messages-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(
      circle at 30% 20%,
      rgba(124, 58, 237, 0.05) 0%,
      transparent 50%
    ),
    radial-gradient(
      circle at 70% 80%,
      rgba(59, 130, 246, 0.03) 0%,
      transparent 50%
    );
  pointer-events: none;
}

/* ====================================
🎯 ENHANCED SIDEBAR STYLES - FULL GRADIENT
==================================== */

.sidebar {
  width: 350px;
  padding: 0;
  /* FULL GRADIENT BACKGROUND - THE MAGIC! */
  background: linear-gradient(
    180deg,
    rgba(239, 246, 255, 0.95) 0%,
    rgba(224, 242, 254, 0.9) 15%,
    rgba(219, 234, 254, 0.85) 30%,
    rgba(199, 225, 255, 0.8) 50%,
    rgba(186, 230, 253, 0.75) 70%,
    rgba(224, 242, 254, 0.8) 85%,
    rgba(239, 246, 255, 0.9) 100%
  );
  backdrop-filter: blur(25px);
  border-right: 2px solid rgba(59, 130, 246, 0.15);
  overflow-y: hidden;
  position: relative;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.2),
    25px 0 50px -12px rgba(59, 130, 246, 0.08);
  display: flex;
  flex-direction: column;
}

/* Enhanced gradient border effect */
.sidebar::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  background: linear-gradient(
    180deg,
    rgba(59, 130, 246, 0.4) 0%,
    rgba(124, 58, 237, 0.3) 50%,
    rgba(59, 130, 246, 0.4) 100%
  );
}

/* SIDEBAR HEADER - Enhanced visibility and contrast */
.sidebar .p-6 {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.12) 0%,
    rgba(99, 102, 241, 0.1) 30%,
    rgba(139, 92, 246, 0.08) 70%,
    rgba(124, 58, 237, 0.1) 100%
  ) !important;
  backdrop-filter: blur(30px);
  border-bottom: 2px solid rgba(59, 130, 246, 0.1);
  position: relative;
}

/* ENHANCED MESSAGES HEADING - Better visibility */
.sidebar h1 {
  text-shadow: 0 2px 4px rgba(255, 255, 255, 0.5);
  font-weight: 900 !important;
  font-size: 1.75rem !important;
  background: linear-gradient(
    135deg,
    #1e293b 0%,
    #334155 50%,
    #475569 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  letter-spacing: -0.025em;
  position: relative;
  z-index: 10;
}

/* ENHANCED BUTTONS - Much better visibility */
.sidebar button {
  background: rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(15px) !important;
  border: 2px solid rgba(59, 130, 246, 0.2) !important;
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.sidebar button:hover {
  background: rgba(255, 255, 255, 1) !important;
  border-color: rgba(59, 130, 246, 0.4) !important;
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 12px 30px rgba(59, 130, 246, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;
}

.sidebar button svg {
  color: rgba(59, 130, 246, 0.8) !important;
  transition: all 0.3s ease !important;
}

.sidebar button:hover svg {
  color: rgba(59, 130, 246, 1) !important;
  filter: drop-shadow(0 2px 4px rgba(59, 130, 246, 0.3));
}

/* ENHANCED SEARCH BAR */
.sidebar input {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(20px) !important;
  border: 2px solid rgba(59, 130, 246, 0.2) !important;
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}

.sidebar input:focus {
  background: rgba(255, 255, 255, 1) !important;
  border-color: rgba(59, 130, 246, 0.5) !important;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15),
    0 15px 35px rgba(59, 130, 246, 0.2) !important;
}

/* STATS CARDS - Enhanced visibility */
.sidebar .grid > div {
  background: rgba(255, 255, 255, 0.85) !important;
  backdrop-filter: blur(20px) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.4) !important;
}

/* CONVERSATION LIST AREA - Keep gradient flowing */
.sidebar .flex-1 {
  background: transparent !important;
  overflow-y: auto !important;
}

/* NO MESSAGES STATE - Beautiful gradient message */
.no-messages-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.4) !important;
  backdrop-filter: blur(15px);
  border-radius: 24px;
  margin: 16px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.1);
}

.no-messages-icon {
  width: 4rem;
  height: 4rem;
  margin-bottom: 1.5rem;
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.2) 0%,
    rgba(124, 58, 237, 0.15) 100%
  );
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.2);
}

.no-messages-icon svg {
  width: 2rem;
  height: 2rem;
  color: rgba(59, 130, 246, 0.8);
}

.no-messages-text {
  font-size: 1.125rem;
  font-weight: 700;
  color: rgba(15, 23, 42, 0.9) !important;
  margin-bottom: 0.5rem;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.5);
}

.no-messages-subtext {
  font-size: 0.875rem;
  color: rgba(51, 65, 85, 0.8) !important;
  line-height: 1.5;
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.3);
}

/* ====================================
💬 CHAT AREA STYLES - ENHANCED
==================================== */

.chat-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(25px);
  position: relative;
}

.chat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 32px;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(30px);
  border-bottom: 2px solid rgba(59, 130, 246, 0.08);
  box-shadow: 0 4px 20px rgba(59, 130, 246, 0.05);
  position: relative;
}

.chat-header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(59, 130, 246, 0.2) 50%,
    transparent 100%
  );
}

/* ====================================
📝 MESSAGE LIST STYLES - ENHANCED
==================================== */

.message-list {
  flex: 1;
  padding: 32px;
  overflow-y: auto;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(15px);
  position: relative;
}

.message-list::-webkit-scrollbar {
  width: 8px;
}

.message-list::-webkit-scrollbar-track {
  background: rgba(59, 130, 246, 0.1);
  border-radius: 12px;
}

.message-list::-webkit-scrollbar-thumb {
  background: linear-gradient(
    180deg,
    rgba(59, 130, 246, 0.4) 0%,
    rgba(124, 58, 237, 0.4) 100%
  );
  border-radius: 12px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

.message-list::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
    180deg,
    rgba(59, 130, 246, 0.6) 0%,
    rgba(124, 58, 237, 0.6) 100%
  );
}

/* ====================================
🛠️ CUSTOM SCROLLBAR FOR SIDEBAR
==================================== */

.custom-scrollbar::-webkit-scrollbar {
  width: 8px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 12px;
  margin: 8px;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.4) 0%,
    rgba(124, 58, 237, 0.4) 100%
  );
  border-radius: 12px;
  border: 2px solid transparent;
  background-clip: padding-box;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
    135deg,
    rgba(59, 130, 246, 0.6) 0%,
    rgba(124, 58, 237, 0.6) 100%
  );
}

/* ====================================
📱 RESPONSIVE DESIGN
==================================== */

@media (max-width: 1024px) {
  .sidebar {
    width: 300px;
    padding: 0;
  }

  .chat-header {
    padding: 20px 24px;
  }

  .message-list {
    padding: 24px;
  }
}

@media (max-width: 768px) {
  .messages-container {
    flex-direction: column;
  }

  .sidebar {
    width: 100%;
    height: 200px;
    border-right: none;
    border-bottom: 2px solid rgba(59, 130, 246, 0.15);
  }

  .chat-area {
    flex: 1;
  }

  .chat-header {
    padding: 16px 20px;
  }

  .message-list {
    padding: 20px;
  }
}

/* ====================================
✨ NEXUS SPECIAL EFFECTS
==================================== */

.nexus-glow {
  animation: nexusGlow 3s ease-in-out infinite alternate;
}

@keyframes nexusGlow {
  from {
    box-shadow: 0 15px 35px rgba(59, 130, 246, 0.2),
      inset 0 1px 0 rgba(255, 255, 255, 0.3);
  }
  to {
    box-shadow: 0 20px 45px rgba(59, 130, 246, 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.4);
  }
}

.gradient-pulse {
  animation: gradientPulse 4s ease-in-out infinite;
}

@keyframes gradientPulse {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

/* ====================================
🎯 OVERRIDE ANY CONFLICTING STYLES
==================================== */

/* Ensure sidebar maintains full gradient */
.messages-container .sidebar .no-messages-state,
.messages-container .sidebar .conversation-item {
  background: transparent !important;
}

.messages-container .sidebar {
  background: linear-gradient(
    180deg,
    rgba(239, 246, 255, 0.95) 0%,
    rgba(224, 242, 254, 0.9) 15%,
    rgba(219, 234, 254, 0.85) 30%,
    rgba(199, 225, 255, 0.8) 50%,
    rgba(186, 230, 253, 0.75) 70%,
    rgba(224, 242, 254, 0.8) 85%,
    rgba(239, 246, 255, 0.9) 100%
  ) !important;
}

/* Ensure header section has proper backdrop */
.messages-container .sidebar .p-6 {
  background: rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(30px) !important;
}

/* Make sure conversation list area is transparent */
.messages-container .sidebar .flex-1 {
  background: transparent !important;
}
/* 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;
		}
	}
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

/* FONT_START */
@font-face {
  font-family: 'swiper-icons';
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}
.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}
.swiper-button-lock {
  display: none;
}
/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}
/* Navigation font end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}
.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
          -moz-appearance: none;
       appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet:only-child {
  display: none !important;
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform,
        200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform,
        200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform,
    200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}
.swiper-pagination-lock {
  display: none;
}
:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}
.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}
.swiper-scrollbar-cursor-drag {
  cursor: move;
}
.swiper-scrollbar-lock {
  display: none;
}
/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}
/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper.swiper-cube {
  overflow: visible;
}
.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}
.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}
.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}
/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}
/* Cube slide shadows end */
.swiper.swiper-flip {
  overflow: visible;
}
.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}
/* Flip slide shadows end */
.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}
.swiper.swiper-cards {
  overflow: visible;
}
.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
	transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
	/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
	transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}
.marker-cluster-small {
	background-color: rgba(181, 226, 140, 0.6);
	}
.marker-cluster-small div {
	background-color: rgba(110, 204, 57, 0.6);
	}

.marker-cluster-medium {
	background-color: rgba(241, 211, 87, 0.6);
	}
.marker-cluster-medium div {
	background-color: rgba(240, 194, 12, 0.6);
	}

.marker-cluster-large {
	background-color: rgba(253, 156, 115, 0.6);
	}
.marker-cluster-large div {
	background-color: rgba(241, 128, 23, 0.6);
	}

	/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
	background-color: rgb(181, 226, 140);
	}
.leaflet-oldie .marker-cluster-small div {
	background-color: rgb(110, 204, 57);
	}

.leaflet-oldie .marker-cluster-medium {
	background-color: rgb(241, 211, 87);
	}
.leaflet-oldie .marker-cluster-medium div {
	background-color: rgb(240, 194, 12);
	}

.leaflet-oldie .marker-cluster-large {
	background-color: rgb(253, 156, 115);
	}
.leaflet-oldie .marker-cluster-large div {
	background-color: rgb(241, 128, 23);
}

.marker-cluster {
	background-clip: padding-box;
	border-radius: 20px;
	}
.marker-cluster div {
	width: 30px;
	height: 30px;
	margin-left: 5px;
	margin-top: 5px;

	text-align: center;
	border-radius: 15px;
	font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
	}
.marker-cluster span {
	line-height: 30px;
	}/* ==========================================
   AI Growth Partnership Dashboard - Dribbble Vibe
   Theme: "Transparent Blue Gradient"
   ========================================== */

:root {
  --ai-primary-gradient: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);
  --ai-card-bg: rgba(255, 255, 255, 0.9);
  --ai-card-border: 1px solid rgba(255, 255, 255, 0.5);
  --ai-card-shadow: 0 10px 30px -5px rgba(30, 58, 138, 0.1);
  --ai-text-dark: #0f172a;
  --ai-text-muted: #64748b;
  --ai-accent-blue: #3b82f6;
  --ai-success-green: #10b981;
}

.ai-growth-dashboard {
  background-color: #f8fafc; /* Light airy background */
  min-height: 100vh;
  font-family: 'Inter', sans-serif;
  color: var(--ai-text-dark);
  padding-bottom: 3rem;
}

/* ==========================================
   Hero Section
   ========================================== */
.dashboard-hero {
  background: var(--ai-primary-gradient);
  padding: 3rem 2rem 4rem;
  text-align: center;
  color: white;
  position: relative;
  overflow: hidden;
  margin-bottom: -2rem; /* Overlap effect for cards */
}

/* Subtle pattern overlay if desired */
.dashboard-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: 
    radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 20%),
    radial-gradient(circle at 80% 30%, rgba(255,255,255,0.1) 0%, transparent 20%);
  pointer-events: none;
}

.hero-title {
  font-size: 2.5rem;
  font-weight: 800;
  margin: 0;
  background: linear-gradient(to right, #ffffff, #93c5fd);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 2px 10px rgba(0,0,0,0.2);
  letter-spacing: -0.5px;
}

.hero-subtitle {
  font-size: 1.1rem;
  color: #bfdbfe;
  margin-top: 0.75rem;
  font-weight: 500;
  opacity: 0.9;
}

/* ==========================================
   Metrics Row (Floating Cards)
   ========================================== */
.metrics-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  padding: 0 2rem;
  margin-top: -3.5rem; /* Pull up to overlap hero */
  position: relative;
  z-index: 10;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

.metric-card {
  background: var(--ai-card-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: var(--ai-card-border);
  border-radius: 20px;
  padding: 1.5rem;
  box-shadow: var(--ai-card-shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 140px;
}

.metric-card.featured {
  background: linear-gradient(145deg, #ffffff 0%, #eff6ff 100%);
  border: 1px solid #dbeafe;
}

.metric-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px -5px rgba(30, 58, 138, 0.15);
}

.metric-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.metric-icon {
  font-size: 1.5rem;
  background: #eff6ff;
  padding: 0.5rem;
  border-radius: 12px;
  color: var(--ai-accent-blue);
}

.metric-card.featured .metric-icon {
  background: #dbf4ff;
  color: #0284c7;
}

.metric-value {
  font-size: 2.25rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.1;
  margin: 0.5rem 0;
}

.metric-label {
  font-size: 0.875rem;
  color: var(--ai-text-muted);
  font-weight: 500;
}

/* Tooltip/Trend styling */
.metric-trend {
  font-size: 0.875rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  border-radius: 99px;
}
.trend-up { color: var(--ai-success-green); background: #d1fae5; }
.trend-down { color: #ef4444; background: #fee2e2; }
.trend-neutral { color: var(--ai-text-muted); background: #f1f5f9; }

/* ==========================================
   Tabs Navigation (Styled)
   ========================================== */
.dashboard-tabs {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin: 3rem 0 2rem;
  padding: 0 1rem;
  flex-wrap: wrap;
}

.tab-button {
  background: transparent;
  border: none;
  padding: 0.75rem 1.5rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ai-text-muted);
  border-radius: 99px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.tab-button:hover {
  background: rgba(30, 58, 138, 0.05);
  color: var(--ai-accent-blue);
}

.tab-button.active {
  background: var(--ai-primary-gradient);
  color: white;
  box-shadow: 0 4px 12px rgba(30, 58, 138, 0.2);
}

/* ==========================================
   Main Content Area
   ========================================== */
.dashboard-content {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
  animation: fadeIn 0.4s ease-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ==========================================
   Trust Journey Timeline (Dribbble Style)
   ========================================== */
.trust-journey-section {
  background: white;
  border-radius: 20px;
  padding: 2rem;
  margin-bottom: 2rem;
  box-shadow: var(--ai-card-shadow);
  border: 1px solid #f1f5f9;
}

.section-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.timeline-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1rem 0;
}

/* The connecting line */
.timeline-track-bg {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 4px;
  background: #e2e8f0;
  transform: translateY(-50%);
  z-index: 1;
  border-radius: 2px;
}

.timeline-track-fill {
  position: absolute;
  top: 50%;
  left: 0;
  height: 4px;
  background: var(--ai-primary-gradient);
  transform: translateY(-50%);
  z-index: 2;
  border-radius: 2px;
  transition: width 1s ease-in-out;
}

.timeline-step {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  transition: transform 0.2s;
}

.timeline-step:hover {
  transform: translateY(-2px);
}

.step-indicator {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: white;
  border: 4px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  transition: all 0.3s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.timeline-step.completed .step-indicator {
  background: var(--ai-accent-blue);
  border-color: var(--ai-accent-blue);
  color: white;
}

.timeline-step.active .step-indicator {
  background: white;
  border-color: var(--ai-accent-blue);
  color: var(--ai-accent-blue);
  transform: scale(1.2);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2);
}

.step-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ai-text-muted);
}

.timeline-step.active .step-label {
  color: var(--ai-accent-blue);
  font-weight: 700;
}

/* ==========================================
   Dual Panels (Moments & Tracks)
   ========================================== */
.dual-panel-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-bottom: 3rem;
}

.panel-card {
  background: white;
  border-radius: 20px;
  padding: 1.5rem;
  box-shadow: var(--ai-card-shadow);
  border: 1px solid #f1f5f9;
  height: 100%;
}

.panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f1f5f9;
}

.panel-header h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
  color: #1e293b;
}

/* Learning Moments Stream */
.moment-stream {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-height: 400px;
  overflow-y: auto;
  padding-right: 0.5rem;
}

.stream-item {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  border-radius: 12px;
  background: #f8fafc;
  transition: background 0.2s;
}

.stream-item:hover {
  background: #eff6ff;
}

.stream-icon {
  width: 36px;
  height: 36px;
  background: white;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.stream-content h4 {
  margin: 0 0 0.25rem 0;
  font-size: 0.95rem;
  color: #334155;
  line-height: 1.4;
}

.stream-time {
  font-size: 0.75rem;
  color: #94a3b8;
}

/* Growth Tracks Grid */
.tracks-grid-mini {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 1rem;
}

.track-card-mini {
  background: #f8fafc;
  border-radius: 12px;
  padding: 1rem;
  text-align: center;
  border: 1px solid transparent;
  transition: all 0.2s;
}

.track-card-mini:hover {
  background: white;
  border-color: #bfdbfe;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);
}

.track-icon {
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
  display: block;
}

.track-name {
  font-size: 0.85rem;
  font-weight: 600;
  color: #475569;
  display: block;
  margin-bottom: 0.5rem;
}

.track-progress {
  height: 4px;
  background: #e2e8f0;
  border-radius: 2px;
  overflow: hidden;
}

.track-fill {
  height: 100%;
  background: var(--ai-success-green);
  border-radius: 2px;
}

/* ==========================================
   Responsive
   ========================================== */
@media (max-width: 1024px) {
  .metrics-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .hero-title {
    font-size: 2rem;
  }
  
  .metrics-row {
    grid-template-columns: 1fr;
    margin-top: -2rem;
  }
  
  .dual-panel-grid {
    grid-template-columns: 1fr;
  }
  
  .timeline-container {
    flex-wrap: wrap; 
  }

  /* Vertical Tabs on Mobile */
  .dashboard-tabs {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  
  .tab-button {
    width: 100%;
    justify-content: flex-start;
    border-radius: 12px;
  }
}
/**
 * Overview Panel Styles
 */

.overview-panel {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Stats Grid */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}

.stat-card {
  background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 20%);
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.stat-card.featured {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  grid-column: span 2;
}

.stat-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.stat-icon {
  font-size: 1.5rem;
}

.stat-header h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  opacity: 0.9;
}

.stat-value-large {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.stat-trend {
  font-size: 2rem;
}

.stat-value {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #2d3748;
}

.stat-card.featured .stat-value {
  color: white;
}

.stat-description {
  margin: 0;
  font-size: 0.9rem;
  opacity: 0.8;
}

/* Journey Phase Card */
.journey-phase-card {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.phase-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
}

.phase-header h3 {
  margin: 0;
  font-size: 1.3rem;
  color: #2d3748;
}

.refresh-button {
  font-size: 1.5rem;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.refresh-button:hover {
  transform: rotate(180deg);
}

.phase-badge {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-radius: 8px;
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.phase-description {
  color: #4a5568;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.phase-milestones {
  color: #718096;
  font-size: 0.95rem;
}

/* Trust Level Card */
.trust-level-card {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.trust-level-card h3 {
  margin: 0 0 1.5rem 0;
  font-size: 1.3rem;
  color: #2d3748;
}

.trust-meter {
  margin-bottom: 1rem;
}

.trust-levels {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding: 1rem 0;
}

.trust-levels::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 4px;
  background: #e2e8f0;
  transform: translateY(-50%);
  z-index: 0;
}

.trust-level {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  position: relative;
  z-index: 1;
}

.trust-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e2e8f0;
  border: 3px solid white;
  transition: all 0.3s ease;
}

.trust-level.active .trust-dot {
  width: 30px;
  height: 30px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.trust-level.passed .trust-dot {
  background: #667eea;
}

.trust-label {
  font-size: 0.85rem;
  color: #718096;
  text-transform: capitalize;
}

.trust-level.active .trust-label {
  color: #667eea;
  font-weight: 600;
}

.trust-description {
  color: #4a5568;
  line-height: 1.6;
  margin: 0;
}

/* Recent Moments Card */
.recent-moments-card {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.recent-moments-card h3 {
  margin: 0 0 1.5rem 0;
  font-size: 1.3rem;
  color: #2d3748;
}

.moments-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.moment-item {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  background: #f7fafc;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.moment-item:hover {
  background: #edf2f7;
  transform: translateX(4px);
}

.moment-type {
  font-size: 2rem;
  flex-shrink: 0;
}

.moment-content {
  flex: 1;
}

.moment-content h4 {
  margin: 0 0 0.5rem 0;
  font-size: 1rem;
  color: #2d3748;
}

.moment-content p {
  margin: 0 0 0.5rem 0;
  font-size: 0.9rem;
  color: #718096;
}

.moment-date {
  font-size: 0.8rem;
  color: #a0aec0;
}

.moment-impact {
  padding: 0.25rem 0.75rem;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: capitalize;
  align-self: flex-start;
}

.moment-impact.minor {
  background: #bee3f8;
  color: #2c5282;
}

.moment-impact.moderate {
  background: #feebc8;
  color: #7c2d12;
}

.moment-impact.significant {
  background: #fed7d7;
  color: #742a2a;
}

.moment-impact.major {
  background: #fbb6ce;
  color: #702459;
}

/* Quick Actions */
.quick-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.action-button {
  flex: 1;
  min-width: 200px;
  padding: 1rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all 0.3s ease;
}

.action-button.primary {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.action-button.secondary {
  background: white;
  color: #667eea;
  border: 2px solid #667eea;
}

.action-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.action-button span {
  font-size: 1.2rem;
}

/* Responsive */
@media (max-width: 768px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }

  .stat-card.featured {
    grid-column: span 1;
  }

  .trust-levels {
    flex-direction: column;
    gap: 1rem;
  }

  .trust-levels::before {
    width: 4px;
    height: 100%;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }

  .quick-actions {
    flex-direction: column;
  }

  .action-button {
    min-width: 100%;
  }
}
/**
 * Journey Timeline Styles
 */

.journey-timeline {
  padding: 1rem 0;
}

.timeline-header {
  margin-bottom: 2rem;
}

.timeline-header h2 {
  margin: 0 0 0.5rem 0;
  font-size: 1.8rem;
  color: #2d3748;
}

.timeline-header p {
  margin: 0;
  color: #718096;
}

.current-phase-banner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-radius: 12px;
  margin-bottom: 3rem;
}

.phase-emoji {
  font-size: 4rem;
}

.current-phase-banner h3 {
  margin: 0 0 0.5rem 0;
  font-size: 1.5rem;
}

.current-phase-banner p {
  margin: 0;
  opacity: 0.9;
}

.timeline-container {
  padding: 2rem 0;
}

.no-milestones {
  text-align: center;
  padding: 4rem 2rem;
  color: #718096;
}

.no-milestones .milestone-icon {
  font-size: 4rem;
  display: block;
  margin-bottom: 1rem;
}

.timeline-track {
  position: relative;
  padding-left: 3rem;
}

.timeline-item {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
  position: relative;
}

.timeline-item:last-child .marker-line {
  display: none;
}

.timeline-marker {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.marker-dot {
  width: 20px;
  height: 20px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 50%;
  border: 4px solid white;
  box-shadow: 0 0 0 2px #667eea;
  z-index: 2;
}

.marker-line {
  width: 2px;
  height: 100%;
  min-height: 60px;
  background: #e2e8f0;
  margin-top: -4px;
}

.timeline-content {
  flex: 1;
  background: white;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.timeline-content:hover {
  transform: translateX(8px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.milestone-type {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  font-size: 1.5rem;
}

.milestone-label {
  font-size: 0.9rem;
  font-weight: 600;
  color: #667eea;
  text-transform: capitalize;
}

.milestone-details {
  margin: 0 0 0.75rem 0;
  color: #4a5568;
  line-height: 1.6;
}

.milestone-date {
  font-size: 0.85rem;
  color: #a0aec0;
}

@media (max-width: 768px) {
  .current-phase-banner {
    flex-direction: column;
    text-align: center;
  }

  .timeline-track {
    padding-left: 2rem;
  }

  .timeline-content {
    padding: 1rem;
  }
}
/**
 * Learning Moments Panel Styles
 */

.learning-moments-panel {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Header */
.moments-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.moments-header h2 {
  margin: 0 0 0.5rem 0;
  font-size: 1.8rem;
  color: #2d3748;
}

.moments-subtitle {
  color: #718096;
  margin: 0;
  font-size: 1rem;
}

/* Filters */
.moments-filters {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.filter-button {
  padding: 0.75rem 1.25rem;
  border: 2px solid #e2e8f0;
  background: white;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  color: #4a5568;
}

.filter-button:hover {
  border-color: #667eea;
  background: #f7fafc;
}

.filter-button.active {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-color: transparent;
}

/* Moments List */
.moments-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 1.5rem;
}

.moment-card {
  background: white;
  padding: 1.5rem;
  border-radius: 12px;
  border-left: 4px solid #e2e8f0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.moment-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.moment-card.failure {
  border-left-color: #fc8181;
}

.moment-card.breakthrough {
  border-left-color: #68d391;
}

.moment-card.user_correction {
  border-left-color: #f6ad55;
}

.moment-card.pattern_discovery {
  border-left-color: #4299e1;
}

.moment-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.moment-type-badge {
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  background: #f7fafc;
  color: #4a5568;
}

.moment-type-badge.large {
  font-size: 1.1rem;
  padding: 0.6rem 1.2rem;
}

.impact-badge {
  padding: 0.3rem 0.7rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

.impact-badge.minor {
  background: #bee3f8;
  color: #2c5282;
}

.impact-badge.moderate {
  background: #feebc8;
  color: #7c2d12;
}

.impact-badge.significant {
  background: #fed7d7;
  color: #742a2a;
}

.impact-badge.major {
  background: #fbb6ce;
  color: #702459;
}

.moment-title {
  margin: 0 0 0.75rem 0;
  font-size: 1.2rem;
  color: #2d3748;
  font-weight: 600;
}

.moment-summary {
  margin: 0 0 1rem 0;
  color: #4a5568;
  line-height: 1.6;
  font-size: 0.95rem;
}

.moment-meta {
  display: flex;
  gap: 1rem;
  font-size: 0.85rem;
  color: #718096;
}

.moment-category,
.moment-date {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

.unviewed-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  padding: 0.3rem 0.7rem;
  background: #667eea;
  color: white;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
}

/* Modal */
.moment-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 2rem;
  animation: fadeIn 0.2s ease;
}

.moment-modal {
  background: white;
  border-radius: 16px;
  max-width: 700px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  animation: slideUp 0.3s ease;
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.modal-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 40px;
  height: 40px;
  border: none;
  background: #f7fafc;
  border-radius: 50%;
  font-size: 1.5rem;
  cursor: pointer;
  transition: all 0.3s ease;
  color: #4a5568;
}

.modal-close:hover {
  background: #e2e8f0;
  transform: rotate(90deg);
}

.modal-header {
  padding: 2rem 2rem 1rem 2rem;
  border-bottom: 2px solid #f7fafc;
}

.modal-header h2 {
  margin: 1rem 0 0 0;
  font-size: 1.8rem;
  color: #2d3748;
}

.modal-content {
  padding: 2rem;
}

.narrative-section {
  margin-bottom: 2rem;
}

.narrative-section h4 {
  margin: 0 0 0.75rem 0;
  font-size: 1.1rem;
  color: #2d3748;
  font-weight: 600;
}

.narrative-section p {
  margin: 0;
  color: #4a5568;
  line-height: 1.7;
}

.ai-suggestion {
  padding: 1rem;
  background: #f7fafc;
  border-left: 4px solid #667eea;
  border-radius: 4px;
  font-style: italic;
}

.narrative-section.highlight {
  background: linear-gradient(135deg, #fef5e7 0%, #fdebd0 100%);
  padding: 1.5rem;
  border-radius: 12px;
  border-left: 4px solid #f6ad55;
}

.narrative-section.adjustment {
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  padding: 1.5rem;
  border-radius: 12px;
  border-left: 4px solid #68d391;
}

.modal-actions {
  padding: 1.5rem 2rem 2rem 2rem;
  border-top: 2px solid #f7fafc;
}

.modal-actions h4 {
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
  color: #2d3748;
}

.reaction-buttons {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.reaction-buttons button {
  flex: 1;
  min-width: 120px;
  padding: 0.75rem 1rem;
  border: 2px solid #e2e8f0;
  background: white;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  color: #4a5568;
}

.reaction-buttons button:hover {
  border-color: #667eea;
  background: #f7fafc;
  transform: translateY(-2px);
}

/* Responsive */
@media (max-width: 768px) {
  .moments-list {
    grid-template-columns: 1fr;
  }

  .moment-modal {
    margin: 1rem;
    max-height: 95vh;
  }

  .modal-header,
  .modal-content,
  .modal-actions {
    padding: 1.5rem;
  }

  .reaction-buttons {
    flex-direction: column;
  }

  .reaction-buttons button {
    min-width: 100%;
  }
}
/**
 * Loading State Styles
 */

.loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
  min-height: 400px;
}

.loading-spinner {
  width: 60px;
  height: 60px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #667eea;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 1.5rem;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.loading-message {
  font-size: 1.1rem;
  color: #718096;
  margin: 0;
}
/**
 * Empty State Styles
 */

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
  text-align: center;
  min-height: 400px;
}

.empty-icon {
  font-size: 5rem;
  margin-bottom: 1.5rem;
  opacity: 0.6;
}

.empty-title {
  font-size: 1.8rem;
  color: #2d3748;
  margin: 0 0 1rem 0;
  font-weight: 600;
}

.empty-message {
  font-size: 1.1rem;
  color: #718096;
  margin: 0 0 2rem 0;
  max-width: 500px;
}

.empty-action-button {
  padding: 0.75rem 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.empty-action-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}
/**
 * Growth Tracks Panel Styles
 */

.growth-tracks-panel {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.tracks-header h2 {
  margin: 0 0 0.5rem 0;
  font-size: 1.8rem;
  color: #2d3748;
}

.tracks-header p {
  margin: 0;
  color: #718096;
}

/* Summary Grid */
.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 1rem;
}

.summary-card {
  background: white;
  padding: 1.5rem;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.summary-value {
  font-size: 2.5rem;
  font-weight: 700;
  color: #667eea;
  margin-bottom: 0.5rem;
}

.summary-label {
  font-size: 0.9rem;
  color: #718096;
}

/* Tracks Grid */
.tracks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.track-card {
  background: white;
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: all 0.3s ease;
}

.track-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.track-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.track-header h3 {
  margin: 0;
  font-size: 1.2rem;
  color: #2d3748;
  flex: 1;
}

.level-badge {
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

.level-badge.large {
  padding: 0.6rem 1.2rem;
  font-size: 0.9rem;
}

.level-badge.beginner {
  background: #e6fffa;
  color: #234e52;
}

.level-badge.developing {
  background: #e0e7ff;
  color: #3730a3;
}

.level-badge.proficient {
  background: #dbeafe;
  color: #1e3a8a;
}

.level-badge.advanced {
  background: #fef3c7;
  color: #78350f;
}

.level-badge.expert {
  background: #fce7f3;
  color: #831843;
}

.progress-bar {
  height: 8px;
  background: #e2e8f0;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 0.5rem;
}

.progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
  transition: width 0.5s ease;
}

.progress-label {
  text-align: right;
  font-size: 0.9rem;
  font-weight: 600;
  color: #667eea;
  margin-bottom: 1rem;
}

.track-meta {
  display: flex;
  gap: 1rem;
  font-size: 0.85rem;
  color: #718096;
}

/* Modal */
.track-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 2rem;
}

.track-modal {
  background: white;
  border-radius: 16px;
  max-width: 700px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
}

.modal-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 40px;
  height: 40px;
  border: none;
  background: #f7fafc;
  border-radius: 50%;
  font-size: 1.5rem;
  cursor: pointer;
  transition: all 0.3s ease;
}

.modal-close:hover {
  background: #e2e8f0;
  transform: rotate(90deg);
}

.modal-header {
  padding: 2rem;
  border-bottom: 2px solid #f7fafc;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal-header h2 {
  margin: 0;
  font-size: 1.8rem;
  color: #2d3748;
  flex: 1;
}

.modal-content {
  padding: 2rem;
}

.track-description {
  margin-bottom: 2rem;
  color: #4a5568;
  line-height: 1.6;
}

.skills-section,
.goals-section {
  margin-bottom: 2rem;
}

.skills-section h3,
.goals-section h3 {
  margin: 0 0 1rem 0;
  font-size: 1.2rem;
  color: #2d3748;
}

.skill-item {
  margin-bottom: 1.5rem;
}

.skill-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.skill-name {
  font-weight: 600;
  color: #2d3748;
}

.skill-level {
  font-weight: 600;
  color: #667eea;
}

.skill-progress-bar {
  height: 6px;
  background: #e2e8f0;
  border-radius: 3px;
  overflow: hidden;
}

.skill-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
  transition: width 0.5s ease;
}

.goal-item {
  padding: 1rem;
  background: #f7fafc;
  border-radius: 8px;
  margin-bottom: 1rem;
}

.goal-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.75rem;
}

.goal-description {
  flex: 1;
  color: #2d3748;
  font-weight: 500;
}

.goal-status {
  padding: 0.25rem 0.75rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: capitalize;
}

.goal-status.not_started {
  background: #e2e8f0;
  color: #4a5568;
}

.goal-status.in_progress {
  background: #dbeafe;
  color: #1e3a8a;
}

.goal-status.achieved {
  background: #d1fae5;
  color: #065f46;
}

.goal-status.missed {
  background: #fee2e2;
  color: #991b1b;
}

.goal-progress {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.goal-progress-bar {
  flex: 1;
  height: 6px;
  background: #e2e8f0;
  border-radius: 3px;
  overflow: hidden;
}

.goal-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
  transition: width 0.5s ease;
}

.goal-progress-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #667eea;
  min-width: 40px;
  text-align: right;
}

@media (max-width: 768px) {
  .tracks-grid {
    grid-template-columns: 1fr;
  }

  .summary-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/**
 * Your AI Story Styles
 */

.your-ai-story {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.story-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.story-header h2 {
  margin: 0 0 0.5rem 0;
  font-size: 1.8rem;
  color: #2d3748;
}

.story-header p {
  margin: 0;
  color: #718096;
}

.regenerate-button {
  padding: 0.75rem 1.5rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.regenerate-button:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.regenerate-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Story Stats */
.story-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.stat-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.stat-icon {
  font-size: 2.5rem;
}

.stat-value {
  font-size: 2rem;
  font-weight: 700;
  color: #667eea;
  line-height: 1;
}

.stat-label {
  font-size: 0.85rem;
  color: #718096;
  margin-top: 0.25rem;
}

/* Story Summary */
.story-summary {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.story-summary h3 {
  margin: 0 0 1.5rem 0;
  font-size: 1.5rem;
  color: #2d3748;
}

.summary-narrative {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #4a5568;
  margin-bottom: 2rem;
}

.highlights-section,
.challenges-section,
.growth-section {
  margin-top: 1.5rem;
}

.highlights-section h4,
.challenges-section h4,
.growth-section h4 {
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
  color: #2d3748;
  font-weight: 600;
}

.highlights-section ul,
.challenges-section ul,
.growth-section ul {
  margin: 0;
  padding-left: 1.5rem;
}

.highlights-section li,
.challenges-section li,
.growth-section li {
  margin-bottom: 0.75rem;
  color: #4a5568;
  line-height: 1.6;
}

/* Story Chapters */
.story-chapters {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.story-chapters h3 {
  margin: 0 0 1.5rem 0;
  font-size: 1.5rem;
  color: #2d3748;
}

.chapter-card {
  padding: 1.5rem;
  background: #f7fafc;
  border-radius: 12px;
  margin-bottom: 1.5rem;
  border-left: 4px solid #667eea;
  transition: all 0.3s ease;
}

.chapter-card:hover {
  background: #edf2f7;
  transform: translateX(4px);
}

.chapter-header {
  margin-bottom: 1rem;
}

.chapter-number {
  display: inline-block;
  padding: 0.3rem 0.8rem;
  background: #667eea;
  color: white;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.chapter-header h4 {
  margin: 0.5rem 0 0 0;
  font-size: 1.3rem;
  color: #2d3748;
}

.chapter-narrative {
  color: #4a5568;
  line-height: 1.7;
  margin-bottom: 1rem;
}

.chapter-meta {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  font-size: 0.85rem;
  color: #718096;
}

@media (max-width: 768px) {
  .story-header {
    flex-direction: column;
    gap: 1rem;
  }

  .regenerate-button {
    width: 100%;
  }

  .story-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .chapter-meta {
    flex-direction: column;
    gap: 0.5rem;
  }
}
/**
 * Teach Your AI Styles
 */

.teach-your-ai {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.teach-header h2 {
  margin: 0 0 0.5rem 0;
  font-size: 1.8rem;
  color: #2d3748;
}

.teach-header p {
  margin: 0;
  color: #718096;
  font-size: 1.1rem;
}

.teach-content {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 2rem;
}

/* Info Section */
.teach-info {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.teach-info h3 {
  margin: 0 0 1rem 0;
  font-size: 1.3rem;
  color: #2d3748;
}

.teach-info p {
  color: #4a5568;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

.teaching-examples h4 {
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
  color: #2d3748;
  font-weight: 600;
}

.teaching-examples ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.teaching-examples li {
  padding: 0.75rem;
  margin-bottom: 0.5rem;
  background: #f7fafc;
  border-radius: 8px;
  color: #4a5568;
  line-height: 1.6;
}

/* Form Container */
.teach-form-container {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.teach-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  position: relative;
}

.form-group label {
  font-weight: 600;
  color: #2d3748;
  font-size: 1rem;
}

.form-group input,
.form-group textarea {
  padding: 0.75rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 1rem;
  font-family: inherit;
  transition: all 0.3s ease;
  resize: vertical;
}

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.char-count {
  position: absolute;
  bottom: 0.5rem;
  right: 0.75rem;
  font-size: 0.75rem;
  color: #a0aec0;
  background: white;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
}

.submit-button {
  padding: 1rem 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 1rem;
}

.submit-button:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.submit-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.success-message {
  padding: 1rem;
  background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);
  color: #065f46;
  border-radius: 8px;
  font-weight: 600;
  text-align: center;
  animation: slideDown 0.3s ease;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Footer */
.teach-footer {
  background: #f7fafc;
  padding: 1.5rem;
  border-radius: 12px;
  text-align: center;
}

.privacy-note {
  margin: 0;
  color: #718096;
  font-size: 0.95rem;
}

/* Responsive */
@media (max-width: 968px) {
  .teach-content {
    grid-template-columns: 1fr;
  }

  .teach-info {
    order: 2;
  }

  .teach-form-container {
    order: 1;
  }
}

@media (max-width: 768px) {
  .form-group input,
  .form-group textarea {
    font-size: 16px; /* Prevent zoom on iOS */
  }

  .submit-button {
    width: 100%;
  }
}
/**
 * ==========================================
 * Alignment Score Styles
 * ==========================================
 *
 * Styles for all alignment score components
 * Built by Wesner & Nexus - The AI Growth Partnership Team 🧠
 */

/* ==========================================
   ALIGNMENT SCORE CARD
   ========================================== */

.alignment-score-card {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 20px;
  padding: 32px;
  color: white;
  box-shadow: 0 10px 40px rgba(102, 126, 234, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.alignment-score-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 50px rgba(102, 126, 234, 0.4);
}

.alignment-score-card.loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.loading-spinner {
  width: 50px;
  height: 50px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Header */
.alignment-score-header {
  text-align: center;
  margin-bottom: 24px;
}

.alignment-score-header h2 {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 8px 0;
  color: white;
}

.alignment-score-subtitle {
  font-size: 16px;
  opacity: 0.9;
  margin: 0;
}

/* Main Score Display */
.alignment-score-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 24px;
}

.score-circle {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.score-circle:hover {
  transform: scale(1.05);
}

.score-value {
  font-size: 56px;
  font-weight: 800;
  line-height: 1;
  color: white;
}

.score-max {
  font-size: 20px;
  opacity: 0.8;
  margin-top: 4px;
}

/* Progress Bar */
.score-progress-bar {
  width: 100%;
  max-width: 400px;
  height: 12px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}

.score-progress-fill {
  height: 100%;
  border-radius: 10px;
  transition: width 1s ease-out;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}

/* Phase & Trend */
.alignment-score-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.phase-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 30px;
  font-weight: 600;
  font-size: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease;
}

.phase-badge:hover {
  transform: scale(1.05);
}

.phase-emoji {
  font-size: 20px;
}

.phase-label {
  color: white;
}

.trend-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  border-radius: 30px;
  font-weight: 600;
  font-size: 14px;
}

.trend-icon {
  font-size: 18px;
}

.trend-text {
  color: white;
}

/* Next Milestone */
.next-milestone {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.milestone-label {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 8px 0;
  opacity: 0.9;
}

.milestone-text {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 4px 0;
}

.milestone-points {
  font-size: 14px;
  margin: 0;
  opacity: 0.8;
}

/* View Breakdown Button */
.view-breakdown-btn {
  width: 100%;
  padding: 16px;
  background: white;
  color: #667eea;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.view-breakdown-btn:hover {
  background: #f8f9ff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.view-breakdown-btn:active {
  transform: translateY(0);
}

/* ==========================================
   ALIGNMENT SCORE BREAKDOWN
   ========================================== */

.alignment-score-breakdown {
  background: white;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.breakdown-header {
  margin-bottom: 32px;
}

.breakdown-header h3 {
  font-size: 24px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 8px 0;
}

.breakdown-subtitle {
  font-size: 16px;
  color: #6b7280;
  margin: 0;
}

/* Dimension Card */
.dimension-card {
  background: #f9fafb;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
  border: 2px solid #e5e7eb;
  transition: all 0.3s ease;
}

.dimension-card:hover {
  border-color: #667eea;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.1);
}

.dimension-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.dimension-title {
  font-size: 18px;
  font-weight: 700;
  color: #1f2937;
  margin: 0;
}

.dimension-score {
  font-size: 24px;
  font-weight: 800;
  color: #667eea;
}

.dimension-weight {
  font-size: 14px;
  color: #6b7280;
  margin-left: 8px;
}

.dimension-description {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 16px 0;
  line-height: 1.6;
}

.dimension-progress {
  width: 100%;
  height: 8px;
  background: #e5e7eb;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 16px;
}

.dimension-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
  border-radius: 4px;
  transition: width 1s ease-out;
}

.dimension-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.detail-item {
  background: white;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
}

.detail-label {
  font-size: 12px;
  color: #6b7280;
  margin: 0 0 4px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.detail-value {
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
  margin: 0;
}

/* ==========================================
   DOMAIN COVERAGE GRID
   ========================================== */

.domain-coverage-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.domain-card {
  background: white;
  border-radius: 12px;
  padding: 20px;
  border: 2px solid #e5e7eb;
  transition: all 0.3s ease;
  cursor: pointer;
}

.domain-card.understood {
  border-color: #10b981;
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
}

.domain-card.not-understood {
  border-color: #e5e7eb;
  background: #f9fafb;
}

.domain-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

.domain-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.domain-icon {
  font-size: 24px;
}

.domain-name {
  font-size: 16px;
  font-weight: 700;
  color: #1f2937;
  margin: 0;
}

.domain-status {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.status-badge {
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
}

.status-badge.understood {
  background: #10b981;
  color: white;
}

.status-badge.not-understood {
  background: #e5e7eb;
  color: #6b7280;
}

.domain-confidence {
  font-size: 14px;
  color: #6b7280;
}

.domain-patterns {
  margin-top: 12px;
}

.patterns-label {
  font-size: 12px;
  color: #6b7280;
  margin: 0 0 8px 0;
  font-weight: 600;
}

.pattern-tag {
  display: inline-block;
  padding: 4px 10px;
  background: #667eea;
  color: white;
  border-radius: 12px;
  font-size: 11px;
  margin: 0 4px 4px 0;
}

/* ==========================================
   ALIGNMENT EVENTS FEED
   ========================================== */

.alignment-events-feed {
  background: white;
  border-radius: 16px;
  padding: 24px;
}

.events-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.events-title {
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
  margin: 0;
}

.event-filters {
  display: flex;
  gap: 8px;
}

.filter-btn {
  padding: 8px 16px;
  background: #f3f4f6;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
  cursor: pointer;
  transition: all 0.2s ease;
}

.filter-btn.active {
  background: #667eea;
  color: white;
}

.filter-btn:hover {
  background: #e5e7eb;
}

.filter-btn.active:hover {
  background: #5568d3;
}

.events-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.event-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #f9fafb;
  border-radius: 12px;
  border-left: 4px solid #e5e7eb;
  transition: all 0.2s ease;
}

.event-item.acceleration {
  border-left-color: #10b981;
}

.event-item.deceleration {
  border-left-color: #ef4444;
}

.event-item:hover {
  background: #f3f4f6;
  transform: translateX(4px);
}

.event-icon {
  font-size: 24px;
  flex-shrink: 0;
}

.event-content {
  flex: 1;
}

.event-description {
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 4px 0;
}

.event-date {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
}

.event-points {
  font-size: 18px;
  font-weight: 800;
  flex-shrink: 0;
}

.event-points.positive {
  color: #10b981;
}

.event-points.negative {
  color: #ef4444;
}

/* ==========================================
   ALIGNMENT SCORE WIDGET (Compact)
   ========================================== */

.alignment-score-widget {
  background: white;
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.alignment-score-widget:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.widget-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.widget-header h4 {
  font-size: 16px;
  font-weight: 700;
  color: #1f2937;
  margin: 0;
}

.trend-badge {
  font-size: 12px;
  padding: 4px 10px;
  background: #f3f4f6;
  border-radius: 12px;
  font-weight: 600;
  color: #6b7280;
}

.widget-score {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.widget-score-circle {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--phase-color, #667eea);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.widget-score-value {
  font-size: 28px;
  font-weight: 800;
  color: white;
}

.widget-info {
  flex: 1;
}

.widget-phase {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
  text-transform: capitalize;
}

.widget-progress {
  width: 100%;
  height: 6px;
  background: #e5e7eb;
  border-radius: 3px;
  overflow: hidden;
}

.widget-progress-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 1s ease-out;
}

.widget-footer {
  border-top: 1px solid #e5e7eb;
  padding-top: 12px;
}

.widget-insight {
  font-size: 13px;
  color: #6b7280;
  margin: 0 0 12px 0;
  line-height: 1.5;
}

.widget-expand-btn {
  width: 100%;
  padding: 10px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.widget-expand-btn:hover {
  background: #5568d3;
  transform: translateY(-1px);
}

.loading-spinner-small {
  width: 30px;
  height: 30px;
  border: 3px solid #e5e7eb;
  border-top-color: #667eea;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 20px auto;
}

/* ==========================================
   ADDITIONAL COMPONENT STYLES
   ========================================== */

.domain-coverage-container {
  background: white;
  border-radius: 16px;
  padding: 24px;
}

.domain-coverage-header {
  margin-bottom: 24px;
}

.domain-coverage-header h3 {
  font-size: 20px;
  font-weight: 700;
  color: #1f2937;
  margin: 0 0 8px 0;
}

.domain-coverage-subtitle {
  font-size: 14px;
  color: #6b7280;
  margin: 0;
}

.domain-card.selected {
  border-color: #667eea;
  box-shadow: 0 8px 20px rgba(102, 126, 234, 0.2);
}

.domain-detail-tip {
  text-align: center;
  margin-top: 16px;
  padding: 12px;
  background: #f9fafb;
  border-radius: 8px;
}

.domain-detail-tip p {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
}

.events-empty {
  text-align: center;
  padding: 40px 20px;
  color: #6b7280;
}

.events-empty p {
  margin: 0;
  font-size: 15px;
}

.dimensions-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ==========================================
   RESPONSIVE DESIGN
   ========================================== */

@media (max-width: 768px) {
  .alignment-score-card {
    padding: 24px;
  }

  .score-circle {
    width: 140px;
    height: 140px;
  }

  .score-value {
    font-size: 48px;
  }

  .alignment-score-info {
    flex-direction: column;
    align-items: stretch;
  }

  .domain-coverage-grid {
    grid-template-columns: 1fr;
  }

  .dimension-details {
    grid-template-columns: 1fr;
  }

  .events-header {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .event-filters {
    flex-wrap: wrap;
  }
}

@media (max-width: 480px) {
  .alignment-score-card {
    padding: 20px;
  }

  .alignment-score-header h2 {
    font-size: 24px;
  }

  .score-circle {
    width: 120px;
    height: 120px;
  }

  .score-value {
    font-size: 40px;
  }
}
/**
 * AI Growth Partnership Dashboard Tour Styles
 * 
 * Beautiful, modern tour overlay with spotlight effect
 */

.tour-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(4px);
  z-index: 9998;
  animation: fadeIn 0.3s ease-out;
}

.tour-spotlight {
  position: absolute;
  border-radius: 12px;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.75);
  z-index: 9999;
  pointer-events: none;
  transition: all 0.3s ease-out;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.75), 0 0 20px rgba(72, 187, 120, 0.5);
  }
  50% {
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.75), 0 0 40px rgba(72, 187, 120, 0.8);
  }
}

.tour-card {
  position: fixed;
  background: linear-gradient(135deg, #1a365d 0%, #2d3748 100%);
  border: 1px solid rgba(72, 187, 120, 0.3);
  border-radius: 16px;
  padding: 24px;
  max-width: 450px;
  z-index: 10000;
  box-shadow: 
    0 20px 60px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  animation: slideIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.tour-card-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.tour-card-top {
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
}

.tour-card-bottom {
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

.tour-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 8px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  transition: all 0.2s ease;
}

.tour-close:hover {
  background: rgba(255, 255, 255, 0.2);
  color: white;
  transform: rotate(90deg);
}

.tour-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.tour-icon {
  color: #48bb78;
  animation: sparkle 2s ease-in-out infinite;
}

@keyframes sparkle {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.1); }
}

.tour-header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: white;
  line-height: 1.3;
}

.tour-description {
  color: rgba(255, 255, 255, 0.85);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 24px 0;
}

.tour-footer {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.tour-progress {
  display: flex;
  gap: 8px;
  justify-content: center;
}

.tour-progress-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}

.tour-progress-dot.active {
  background: #48bb78;
  width: 24px;
  border-radius: 4px;
}

.tour-progress-dot.completed {
  background: rgba(72, 187, 120, 0.5);
}

.tour-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
}

.tour-btn {
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  border: none;
}

.tour-btn-primary {
  background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);
  color: white;
  box-shadow: 0 4px 12px rgba(72, 187, 120, 0.3);
}

.tour-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(72, 187, 120, 0.4);
}

.tour-btn-secondary {
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.tour-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Responsive */
@media (max-width: 768px) {
  .tour-card {
    max-width: calc(100% - 32px);
    margin: 0 16px;
  }

  .tour-card-center {
    top: 50%;
    left: 16px;
    right: 16px;
    transform: translateY(-50%);
  }

  .tour-card-top,
  .tour-card-bottom {
    left: 16px;
    right: 16px;
    transform: none;
  }
}
/**
 * AI Growth Dashboard Page Styles
 */

.ai-growth-dashboard-page {
  display: flex;
  min-height: 100vh;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  width: 100%;
  margin: 0;
  padding: 0;
}

.ai-growth-main-content {
  flex: 1;
  transition: margin-left 0.3s ease;
  overflow-x: hidden;
  width: 100%;
  max-width: 100%;
}

.ai-growth-main-content.sidebar-open {
  margin-left: 280px;
}

.ai-growth-main-content.sidebar-closed {
  margin-left: 80px;
}

.access-denied {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  text-align: center;
  color: white;
  padding: 2rem;
}

.access-denied h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.access-denied p {
  font-size: 1.1rem;
  opacity: 0.8;
  margin: 0.5rem 0;
}
.roi-calculator-form {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 1rem;
}

.roi-calculator-form fieldset.input-group {
  border: 1px solid var(--border-color, #e0e0e0);
  border-radius: 8px;
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  background: var(--fieldset-bg, #ffffff);
}

.roi-calculator-form legend {
  font-weight: 600;
  color: var(--text-primary, #333333);
  padding: 0 0.5rem;
  margin-bottom: 0.5rem;
}

.roi-calculator-form .fields-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}

.roi-calculator-form .field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.roi-calculator-form label {
  font-size: 0.9rem;
  color: var(--text-secondary, #666666);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.roi-calculator-form .unit {
  font-size: 0.8rem;
  color: var(--text-muted, #888888);
}

.roi-calculator-form .input-wrapper {
  position: relative;
}

.roi-calculator-form input {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid var(--input-border, #cccccc);
  border-radius: 4px;
  font-size: 1rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.roi-calculator-form input:focus {
  border-color: var(--focus-border, #4D9D74);
  box-shadow: 0 0 0 2px rgba(77, 157, 116, 0.2);
  outline: none;
}

.roi-calculator-form input.error {
  border-color: var(--error-color, #dc3545);
}

.roi-calculator-form .error-message {
  position: absolute;
  font-size: 0.8rem;
  color: var(--error-color, #dc3545);
  margin-top: 0.25rem;
}

.roi-calculator-form .form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
}

.roi-calculator-form .calculate-button {
  background-color: var(--primary-color, #4D9D74);
  color: white;
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}

.roi-calculator-form .calculate-button:hover {
  background-color: var(--primary-color-dark, #3d7d5d);
}

.roi-calculator-form .calculate-button:disabled {
  background-color: var(--disabled-color, #cccccc);
  cursor: not-allowed;
}

/* Accessibility improvements */
.roi-calculator-form input:focus-visible {
  outline: 2px solid var(--focus-border, #4D9D74);
  outline-offset: 1px;
}

.roi-calculator-form .calculate-button:focus-visible {
  outline: 2px solid var(--focus-border, #4D9D74);
  outline-offset: 2px;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .roi-calculator-form {
    --border-color: #444444;
    --fieldset-bg: #1a1a1a;
    --text-primary: #ffffff;
    --text-secondary: #bbbbbb;
    --text-muted: #888888;
    --input-border: #555555;
    --focus-border: #6dbd94;
    --primary-color: #6dbd94;
    --primary-color-dark: #4D9D74;
    --disabled-color: #444444;
  }

  .roi-calculator-form input {
    background-color: #2a2a2a;
    color: #ffffff;
  }
}

/* High contrast mode support */
@media (forced-colors: active) {
  .roi-calculator-form input,
  .roi-calculator-form .calculate-button {
    border: 1px solid ButtonBorder;
  }

  .roi-calculator-form .calculate-button:disabled {
    opacity: 0.5;
  }
}

/* Responsive adjustments */
@media (max-width: 600px) {
  .roi-calculator-form {
    padding: 0.5rem;
  }

  .roi-calculator-form fieldset.input-group {
    padding: 1rem;
  }

  .roi-calculator-form .fields-grid {
    grid-template-columns: 1fr;
  }

  .roi-calculator-form .form-actions {
    position: sticky;
    bottom: 0;
    background: var(--fieldset-bg, #ffffff);
    padding: 1rem;
    margin: 0 -0.5rem;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  }
}

/* Print styles */
@media print {
  .roi-calculator-form {
    border: none;
    padding: 0;
    max-width: none;
  }

  .roi-calculator-form fieldset.input-group {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    border: 1px solid #000000;
    margin-bottom: 1rem;
  }

  .roi-calculator-form input {
    border: 1px solid #000000;
  }

  .roi-calculator-form .error-message {
    display: none;
  }

  .roi-calculator-form .form-actions {
    display: none;
  }
}.roi-calculator {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  font-family: var(--font-family, system-ui, -apple-system, sans-serif);
}

.roi-calculator.embedded {
  max-width: 100%;
}

/* Results section */
.roi-results {
  margin-top: 2rem;
  padding: 1.5rem;
  background: var(--results-bg, #f8f9fa);
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.roi-results h3 {
  margin: 0 0 1.5rem;
  color: var(--heading-color, #2c3e50);
  font-size: 1.5rem;
  font-weight: 600;
}

.roi-results h4 {
  margin: 0 0 1rem;
  color: var(--subheading-color, #34495e);
  font-size: 1.1rem;
  font-weight: 500;
}

/* Results summary grid layout */
.results-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}

.metric-group {
  padding: 1.25rem;
  background: var(--metric-group-bg, #ffffff);
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Individual metrics */
.result-metric {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--border-color, rgba(0, 0, 0, 0.1));
}

.result-metric:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.metric-label {
  color: var(--label-color, #666666);
  font-size: 0.9rem;
}

.metric-value {
  color: var(--value-color, #2c3e50);
  font-weight: 600;
  font-size: 1.1rem;
}

/* Metric group specific styles */
.metric-group.cash-flow .metric-value {
  color: var(--cash-flow-color, #2ecc71);
}

.metric-group.returns .metric-value {
  color: var(--returns-color, #3498db);
}

.metric-group.investment .metric-value {
  color: var(--investment-color, #9b59b6);
}

.metric-group.monthly .metric-value {
  color: var(--monthly-color, #e67e22);
}

/* Positive/Negative values */
.metric-value.positive {
  color: var(--positive-color, #2ecc71);
}

.metric-value.negative {
  color: var(--negative-color, #e74c3c);
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
  .roi-calculator {
    --results-bg: #1a1a1a;
    --metric-group-bg: #2a2a2a;
    --heading-color: #ffffff;
    --subheading-color: #dddddd;
    --label-color: #999999;
    --value-color: #ffffff;
    --border-color: rgba(255, 255, 255, 0.1);
    --cash-flow-color: #2ecc71;
    --returns-color: #3498db;
    --investment-color: #9b59b6;
    --monthly-color: #e67e22;
    --positive-color: #2ecc71;
    --negative-color: #e74c3c;
  }
}

/* Print styles */
@media print {
  .roi-calculator {
    max-width: none;
  }

  .roi-results {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    background: none;
    box-shadow: none;
    padding: 0;
  }

  .metric-group {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    background: none;
    box-shadow: none;
    border: 1px solid #000000;
  }

  .result-metric {
    border-bottom-color: #cccccc;
  }

  .metric-value {
    color: #000000 !important;
  }

  .metric-value.positive,
  .metric-value.negative {
    color: #000000 !important;
  }
}

/* High contrast mode support */
@media (forced-colors: active) {
  .roi-calculator {
    --border-color: ButtonBorder;
  }

  .metric-group {
    border: 1px solid ButtonBorder;
  }

  .result-metric {
    border-bottom: 1px solid ButtonBorder;
  }

  .metric-value {
    color: ButtonText;
  }
}

/* Responsive adjustments */
@media (max-width: 600px) {
  .roi-results {
    padding: 1rem;
    margin-top: 1.5rem;
  }

  .results-summary {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .metric-group {
    padding: 1rem;
  }

  .metric-label {
    font-size: 0.85rem;
  }

  .metric-value {
    font-size: 1rem;
  }
}/* LegalAISecurityTab Styles */

.legal-ai-security-tab {
  padding: 24px;
  background: #f9fafb;
  min-height: 100vh;
}

/* Header */
.tab-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 32px;
}

.tab-header h1 {
  margin: 0 0 8px 0;
  font-size: 28px;
  font-weight: 700;
  color: #111827;
}

.tab-header p {
  margin: 0;
  font-size: 14px;
  color: #6b7280;
}

/* Time Range Selector */
.time-range-selector {
  display: flex;
  gap: 8px;
  background: white;
  padding: 4px;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.range-button {
  padding: 8px 16px;
  border: none;
  background: transparent;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #6b7280;
  cursor: pointer;
  transition: all 0.2s;
}

.range-button:hover {
  background: #f3f4f6;
  color: #111827;
}

.range-button.active {
  background: #3b82f6;
  color: white;
}

/* Overview Stats */
.overview-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-bottom: 32px;
}

.stat-card {
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.stat-icon {
  font-size: 32px;
  flex-shrink: 0;
}

.stat-content h3 {
  margin: 0 0 4px 0;
  font-size: 32px;
  font-weight: 700;
  color: #111827;
}

.stat-content p {
  margin: 0 0 8px 0;
  font-size: 14px;
  color: #6b7280;
  font-weight: 500;
}

.stat-detail {
  font-size: 12px;
  color: #6b7280;
}

.stat-detail.success {
  color: #059669;
  font-weight: 600;
}

/* Metrics Grid */
.metrics-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.metric-section {
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.metric-section.full-width {
  grid-column: 1 / -1;
}

.metric-section h2 {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: 600;
  color: #111827;
}

.metric-section h3 {
  margin: 20px 0 12px 0;
  font-size: 15px;
  font-weight: 600;
  color: #374151;
}

.metric-section h4 {
  margin: 16px 0 12px 0;
  font-size: 13px;
  font-weight: 600;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Threat Detection */
.threat-breakdown {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.threat-item {
  padding: 12px;
  background: #f9fafb;
  border-radius: 8px;
}

.threat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.threat-name {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  text-transform: capitalize;
}

.threat-trend {
  font-size: 18px;
}

.threat-trend.up {
  color: #dc2626;
}

.threat-trend.down {
  color: #059669;
}

.threat-trend.stable {
  color: #6b7280;
}

.threat-stats {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 13px;
}

.threat-count {
  color: #6b7280;
}

.threat-percentage {
  font-weight: 600;
  color: #111827;
}

.threat-bar {
  height: 6px;
  background: #e5e7eb;
  border-radius: 3px;
  overflow: hidden;
}

.threat-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #3b82f6, #2563eb);
  transition: width 0.3s;
}

/* Recent Threats */
.recent-threats {
  margin-top: 24px;
}

.threat-log {
  padding: 12px;
  margin-bottom: 8px;
  border-radius: 8px;
  border-left: 4px solid;
}

.threat-log.critical {
  background: #fef2f2;
  border-left-color: #dc2626;
}

.threat-log.high {
  background: #fff7ed;
  border-left-color: #ea580c;
}

.threat-log.medium {
  background: #fffbeb;
  border-left-color: #f59e0b;
}

.threat-log-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6px;
}

.threat-type {
  font-size: 12px;
  font-weight: 600;
  color: #111827;
  text-transform: capitalize;
}

.threat-time {
  font-size: 11px;
  color: #6b7280;
}

.threat-pattern {
  font-size: 13px;
  color: #374151;
  margin-bottom: 4px;
}

.threat-action {
  font-size: 12px;
  color: #6b7280;
}

/* Handoff Reasons */
.handoff-reasons {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.handoff-reason {
  padding: 12px;
  background: #f9fafb;
  border-radius: 8px;
}

.reason-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.reason-name {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
}

.urgency-badge {
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
}

.urgency-badge.critical {
  background: #fef2f2;
  color: #dc2626;
}

.urgency-badge.high {
  background: #fff7ed;
  color: #ea580c;
}

.urgency-badge.medium {
  background: #fffbeb;
  color: #f59e0b;
}

.reason-stats {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 13px;
  color: #6b7280;
}

.reason-bar {
  height: 6px;
  background: #e5e7eb;
  border-radius: 3px;
  overflow: hidden;
}

.reason-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #10b981, #059669);
  transition: width 0.3s;
}

/* State Breakdown */
.state-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 12px;
}

.state-item {
  padding: 12px;
  background: #f9fafb;
  border-radius: 8px;
  text-align: center;
}

.state-name {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 4px;
}

.state-count {
  font-size: 20px;
  font-weight: 700;
  color: #3b82f6;
  margin-bottom: 2px;
}

.state-success {
  font-size: 12px;
  color: #059669;
  font-weight: 500;
}

/* Learning Grid */
.learning-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

.learning-card {
  padding: 20px;
  background: #f9fafb;
  border-radius: 8px;
}

.learning-card h3 {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: #111827;
}

.learning-velocity {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
}

.velocity-item {
  flex: 1;
  text-align: center;
  padding: 12px;
  background: white;
  border-radius: 8px;
}

.velocity-number {
  display: block;
  font-size: 24px;
  font-weight: 700;
  color: #3b82f6;
  margin-bottom: 4px;
}

.velocity-label {
  display: block;
  font-size: 12px;
  color: #6b7280;
}

.learned-pattern {
  padding: 12px;
  background: white;
  border-radius: 6px;
  margin-bottom: 8px;
}

.pattern-name {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  margin-bottom: 6px;
}

.pattern-stats {
  display: flex;
  gap: 12px;
  font-size: 12px;
  color: #6b7280;
}

/* Jargon Stats */
.jargon-stats {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}

.jargon-stat {
  flex: 1;
  text-align: center;
  padding: 12px;
  background: white;
  border-radius: 8px;
}

.jargon-number {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #10b981;
  margin-bottom: 4px;
}

.jargon-label {
  display: block;
  font-size: 11px;
  color: #6b7280;
}

.translated-term {
  display: flex;
  justify-content: space-between;
  padding: 8px 12px;
  background: white;
  border-radius: 6px;
  margin-bottom: 6px;
}

.term-name {
  font-size: 13px;
  color: #374151;
}

.term-count {
  font-size: 13px;
  font-weight: 600;
  color: #10b981;
}

/* Scam Detection */
.scam-overview {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}

.scam-stat {
  flex: 1;
  text-align: center;
  padding: 12px;
  background: white;
  border-radius: 8px;
}

.scam-stat.success {
  background: #f0fdf4;
}

.scam-number {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #dc2626;
  margin-bottom: 4px;
}

.scam-stat.success .scam-number {
  color: #059669;
}

.scam-label {
  display: block;
  font-size: 11px;
  color: #6b7280;
}

.scam-type {
  padding: 10px 12px;
  background: white;
  border-radius: 6px;
  margin-bottom: 8px;
}

.scam-type-name {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #111827;
  margin-bottom: 6px;
}

.scam-type-stats {
  display: flex;
  gap: 12px;
  font-size: 12px;
  color: #6b7280;
}

.scam-type-stats .success {
  color: #059669;
  font-weight: 600;
}

/* Behavioral Analytics */
.behavioral-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.risk-distribution {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.risk-level {
  padding: 12px;
  border-radius: 8px;
}

.risk-level.low {
  background: #f0fdf4;
}

.risk-level.medium {
  background: #fffbeb;
}

.risk-level.high {
  background: #fff7ed;
}

.risk-level.critical {
  background: #fef2f2;
}

.risk-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}

.risk-name {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  text-transform: capitalize;
}

.risk-percentage {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}

.risk-count {
  font-size: 12px;
  color: #6b7280;
  margin-bottom: 8px;
}

.risk-bar {
  height: 6px;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 3px;
  overflow: hidden;
}

.risk-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #10b981, #059669);
  transition: width 0.3s;
}

.session-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.session-stat {
  text-align: center;
  padding: 16px;
  background: #f9fafb;
  border-radius: 8px;
}

.session-number {
  display: block;
  font-size: 24px;
  font-weight: 700;
  color: #3b82f6;
  margin-bottom: 4px;
}

.session-label {
  display: block;
  font-size: 12px;
  color: #6b7280;
}

/* Loading State */
.legal-ai-tab-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}

.loading-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid #e5e7eb;
  border-top-color: #3b82f6;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.legal-ai-tab-loading p {
  color: #6b7280;
  font-size: 14px;
}

/* Responsive */
@media (max-width: 1024px) {
  .metrics-grid {
    grid-template-columns: 1fr;
  }

  .behavioral-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .legal-ai-security-tab {
    padding: 16px;
  }

  .tab-header {
    flex-direction: column;
    gap: 16px;
  }

  .overview-stats {
    grid-template-columns: 1fr;
  }

  .learning-grid {
    grid-template-columns: 1fr;
  }

  .learning-velocity,
  .jargon-stats,
  .scam-overview {
    flex-direction: column;
  }

  .session-stats {
    grid-template-columns: 1fr;
  }
}


*, ::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(63 131 248 / 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(63 131 248 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #E5E7EB; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9CA3AF; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9CA3AF; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

[data-tooltip-style^='light'] + .tooltip > .tooltip-arrow:before{
  border-style: solid;
  border-color: #e5e7eb;
}

[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='top'] > .tooltip-arrow:before{
  border-bottom-width: 1px;
  border-right-width: 1px;
}

[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='right'] > .tooltip-arrow:before{
  border-bottom-width: 1px;
  border-left-width: 1px;
}

[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='bottom'] > .tooltip-arrow:before{
  border-top-width: 1px;
  border-left-width: 1px;
}

[data-tooltip-style^='light'] + .tooltip[data-popper-placement^='left'] > .tooltip-arrow:before{
  border-top-width: 1px;
  border-right-width: 1px;
}

.tooltip[data-popper-placement^='top'] > .tooltip-arrow{
  bottom: -4px;
}

.tooltip[data-popper-placement^='bottom'] > .tooltip-arrow{
  top: -4px;
}

.tooltip[data-popper-placement^='left'] > .tooltip-arrow{
  right: -4px;
}

.tooltip[data-popper-placement^='right'] > .tooltip-arrow{
  left: -4px;
}

.tooltip.invisible > .tooltip-arrow:before{
  visibility: hidden;
}

[data-popper-arrow],[data-popper-arrow]:before{
  position: absolute;
  width: 8px;
  height: 8px;
  background: inherit;
}

[data-popper-arrow]{
  visibility: hidden;
}

[data-popper-arrow]:before{
  content: "";
  visibility: visible;
  transform: rotate(45deg);
}

[data-popper-arrow]:after{
  content: "";
  visibility: visible;
  transform: rotate(45deg);
  position: absolute;
  width: 9px;
  height: 9px;
  background: inherit;
}

[role="tooltip"] > [data-popper-arrow]:before{
  border-style: solid;
  border-color: #e5e7eb;
}

.dark [role="tooltip"] > [data-popper-arrow]:before{
  border-style: solid;
  border-color: #4b5563;
}

[role="tooltip"] > [data-popper-arrow]:after{
  border-style: solid;
  border-color: #e5e7eb;
}

.dark [role="tooltip"] > [data-popper-arrow]:after{
  border-style: solid;
  border-color: #4b5563;
}

[data-popover][role="tooltip"][data-popper-placement^='top'] > [data-popper-arrow]:before{
  border-bottom-width: 1px;
  border-right-width: 1px;
}

[data-popover][role="tooltip"][data-popper-placement^='top'] > [data-popper-arrow]:after{
  border-bottom-width: 1px;
  border-right-width: 1px;
}

[data-popover][role="tooltip"][data-popper-placement^='right'] > [data-popper-arrow]:before{
  border-bottom-width: 1px;
  border-left-width: 1px;
}

[data-popover][role="tooltip"][data-popper-placement^='right'] > [data-popper-arrow]:after{
  border-bottom-width: 1px;
  border-left-width: 1px;
}

[data-popover][role="tooltip"][data-popper-placement^='bottom'] > [data-popper-arrow]:before{
  border-top-width: 1px;
  border-left-width: 1px;
}

[data-popover][role="tooltip"][data-popper-placement^='bottom'] > [data-popper-arrow]:after{
  border-top-width: 1px;
  border-left-width: 1px;
}

[data-popover][role="tooltip"][data-popper-placement^='left'] > [data-popper-arrow]:before{
  border-top-width: 1px;
  border-right-width: 1px;
}

[data-popover][role="tooltip"][data-popper-placement^='left'] > [data-popper-arrow]:after{
  border-top-width: 1px;
  border-right-width: 1px;
}

[data-popover][role="tooltip"][data-popper-placement^='top'] > [data-popper-arrow]{
  bottom: -5px;
}

[data-popover][role="tooltip"][data-popper-placement^='bottom'] > [data-popper-arrow]{
  top: -5px;
}

[data-popover][role="tooltip"][data-popper-placement^='left'] > [data-popper-arrow]{
  right: -5px;
}

[data-popover][role="tooltip"][data-popper-placement^='right'] > [data-popper-arrow]{
  left: -5px;
}

[role="tooltip"].invisible > [data-popper-arrow]:before{
  visibility: hidden;
}

[role="tooltip"].invisible > [data-popper-arrow]:after{
  visibility: hidden;
}

[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-color: #6B7280;
  border-width: 1px;
  border-radius: 0px;
  padding-top: 0.5rem;
  padding-right: 0.75rem;
  padding-bottom: 0.5rem;
  padding-left: 0.75rem;
  font-size: 1rem;
  line-height: 1.5rem;
  --tw-shadow: 0 0 #0000;
}

[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #1C64F2;
  --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);
  border-color: #1C64F2;
}

input::-moz-placeholder, textarea::-moz-placeholder{
  color: #6B7280;
  opacity: 1;
}

input::placeholder,textarea::placeholder{
  color: #6B7280;
  opacity: 1;
}

::-webkit-datetime-edit-fields-wrapper{
  padding: 0;
}

input[type="time"]::-webkit-calendar-picker-indicator{
  background: none;
}

select:not([size]){
  background-image: url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e");
  background-position: right 0.75rem center;
  background-repeat: no-repeat;
  background-size: 0.75em 0.75em;
  padding-right: 2.5rem;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}

:is([dir=rtl]) select:not([size]){
  background-position: left 0.75rem center;
  padding-right: 0.75rem;
  padding-left: 0;
}

[multiple]{
  background-image: initial;
  background-position: initial;
  background-repeat: unset;
  background-size: initial;
  padding-right: 0.75rem;
  -webkit-print-color-adjust: unset;
          print-color-adjust: unset;
}

[type='checkbox'],[type='radio']{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
  display: inline-block;
  vertical-align: middle;
  background-origin: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
  height: 1rem;
  width: 1rem;
  color: #1C64F2;
  background-color: #fff;
  border-color: #6B7280;
  border-width: 1px;
  --tw-shadow: 0 0 #0000;
}

[type='checkbox']{
  border-radius: 0px;
}

[type='radio']{
  border-radius: 100%;
}

[type='checkbox']:focus,[type='radio']:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
  --tw-ring-offset-width: 2px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: #1C64F2;
  --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);
}

[type='checkbox']:checked,[type='radio']:checked,.dark [type='checkbox']:checked,.dark [type='radio']:checked{
  border-color: transparent;
  background-color: currentColor;
  background-size: 0.55em 0.55em;
  background-position: center;
  background-repeat: no-repeat;
}

[type='checkbox']:checked{
  background-image: url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 0.55em 0.55em;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}

[type='radio']:checked{
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
  background-size: 1em 1em;
}

.dark [type='radio']:checked{
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
  background-size: 1em 1em;
}

[type='checkbox']:indeterminate{
  background-image: url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M0.5 6h14'/%3e %3c/svg%3e");
  background-color: currentColor;
  border-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 0.55em 0.55em;
  -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
}

[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus{
  border-color: transparent;
  background-color: currentColor;
}

[type='file']{
  background: unset;
  border-color: inherit;
  border-width: 0;
  border-radius: 0;
  padding: 0;
  font-size: unset;
  line-height: inherit;
}

[type='file']:focus{
  outline: 1px auto inherit;
}

input[type=file]::file-selector-button{
  color: white;
  background: #1F2937;
  border: 0;
  font-weight: 500;
  font-size: 0.875rem;
  cursor: pointer;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  padding-left: 2rem;
  padding-right: 1rem;
  margin-inline-start: -1rem;
  margin-inline-end: 1rem;
}

input[type=file]::file-selector-button:hover{
  background: #374151;
}

:is([dir=rtl]) input[type=file]::file-selector-button{
  padding-right: 2rem;
  padding-left: 1rem;
}

.dark input[type=file]::file-selector-button{
  color: white;
  background: #4B5563;
}

.dark input[type=file]::file-selector-button:hover{
  background: #6B7280;
}

input[type="range"]::-webkit-slider-thumb{
  height: 1.25rem;
  width: 1.25rem;
  background: #1C64F2;
  border-radius: 9999px;
  border: 0;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

input[type="range"]:disabled::-webkit-slider-thumb{
  background: #9CA3AF;
}

.dark input[type="range"]:disabled::-webkit-slider-thumb{
  background: #6B7280;
}

input[type="range"]:focus::-webkit-slider-thumb{
  outline: 2px solid transparent;
  outline-offset: 2px;
  --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);
  --tw-ring-opacity: 1px;
  --tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity));
}

input[type="range"]::-moz-range-thumb{
  height: 1.25rem;
  width: 1.25rem;
  background: #1C64F2;
  border-radius: 9999px;
  border: 0;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

input[type="range"]:disabled::-moz-range-thumb{
  background: #9CA3AF;
}

.dark input[type="range"]:disabled::-moz-range-thumb{
  background: #6B7280;
}

input[type="range"]::-moz-range-progress{
  background: #3F83F8;
}

input[type="range"]::-ms-fill-lower{
  background: #3F83F8;
}

:root {
    --background: 0 0% 100%;
    --foreground: 222.2 84% 4.9%;

    --primary: 222.2 47.4% 11.2%;
    --primary-foreground: 210 40% 98%;

    --secondary: 210 40% 96.1%;
    --secondary-foreground: 222.2 47.4% 11.2%;

    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;

    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --ring: 222.2 84% 4.9%;
  }

body {
    font-family: 'Lato', sans-serif;
  }

.\!container{
  width: 100% !important;
}

.container{
  width: 100%;
}

@media (min-width: 640px){

  .\!container{
    max-width: 640px !important;
  }

  .container{
    max-width: 640px;
  }
}

@media (min-width: 768px){

  .\!container{
    max-width: 768px !important;
  }

  .container{
    max-width: 768px;
  }
}

@media (min-width: 1024px){

  .\!container{
    max-width: 1024px !important;
  }

  .container{
    max-width: 1024px;
  }
}

@media (min-width: 1280px){

  .\!container{
    max-width: 1280px !important;
  }

  .container{
    max-width: 1280px;
  }
}

@media (min-width: 1536px){

  .\!container{
    max-width: 1536px !important;
  }

  .container{
    max-width: 1536px;
  }
}

input[type="range"] {
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    background: transparent;
    cursor: pointer;
  }

input[type="range"]::-webkit-slider-track{
  height: 0.5rem;
  border-radius: 0.5rem;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    height: 1.25rem;
    width: 1.25rem;
    cursor: pointer;
    border-radius: 9999px;
    --tw-bg-opacity: 1;
    background-color: rgb(28 100 242 / var(--tw-bg-opacity, 1));
    --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);
    --tw-shadow-color: rgb(195 221 253 / 0.5);
    --tw-shadow: var(--tw-shadow-colored);
    margin-top: -6px;
  }

input[type="range"]::-moz-range-thumb{
  height: 1.25rem;
  width: 1.25rem;
  cursor: pointer;
  border-radius: 9999px;
  border-width: 0px;
  --tw-bg-opacity: 1;
  background-color: rgb(28 100 242 / var(--tw-bg-opacity, 1));
  --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);
  --tw-shadow-color: rgb(195 221 253 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

input[type="range"]:focus {
    outline: none;
  }

input[type="range"]:focus::-webkit-slider-thumb{
  --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);
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity, 1));
  --tw-ring-offset-width: 2px;
}

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

.\!visible{
  visibility: visible !important;
}

.visible{
  visibility: visible;
}

.invisible{
  visibility: hidden;
}

.collapse{
  visibility: collapse;
}

.static{
  position: static;
}

.fixed{
  position: fixed;
}

.absolute{
  position: absolute;
}

.relative{
  position: relative;
}

.sticky{
  position: sticky;
}

.inset-0{
  inset: 0px;
}

.inset-0\.5{
  inset: 0.125rem;
}

.inset-\[1px\]{
  inset: 1px;
}

.inset-y-0{
  top: 0px;
  bottom: 0px;
}

.-bottom-0\.5{
  bottom: -0.125rem;
}

.-bottom-1{
  bottom: -0.25rem;
}

.-bottom-12{
  bottom: -3rem;
}

.-bottom-16{
  bottom: -4rem;
}

.-bottom-2{
  bottom: -0.5rem;
}

.-bottom-32{
  bottom: -8rem;
}

.-bottom-4{
  bottom: -1rem;
}

.-bottom-5{
  bottom: -1.25rem;
}

.-bottom-8{
  bottom: -2rem;
}

.-left-1{
  left: -0.25rem;
}

.-left-12{
  left: -3rem;
}

.-left-2{
  left: -0.5rem;
}

.-left-20{
  left: -5rem;
}

.-left-6{
  left: -1.5rem;
}

.-left-8{
  left: -2rem;
}

.-left-\[10\%\]{
  left: -10%;
}

.-right-0\.5{
  right: -0.125rem;
}

.-right-1{
  right: -0.25rem;
}

.-right-2{
  right: -0.5rem;
}

.-right-20{
  right: -5rem;
}

.-right-3{
  right: -0.75rem;
}

.-right-4{
  right: -1rem;
}

.-right-6{
  right: -1.5rem;
}

.-right-8{
  right: -2rem;
}

.-right-\[5\%\]{
  right: -5%;
}

.-top-1{
  top: -0.25rem;
}

.-top-12{
  top: -3rem;
}

.-top-2{
  top: -0.5rem;
}

.-top-3{
  top: -0.75rem;
}

.-top-6{
  top: -1.5rem;
}

.-top-\[10\%\]{
  top: -10%;
}

.bottom-0{
  bottom: 0px;
}

.bottom-1{
  bottom: 0.25rem;
}

.bottom-16{
  bottom: 4rem;
}

.bottom-2{
  bottom: 0.5rem;
}

.bottom-20{
  bottom: 5rem;
}

.bottom-3{
  bottom: 0.75rem;
}

.bottom-4{
  bottom: 1rem;
}

.bottom-40{
  bottom: 10rem;
}

.bottom-6{
  bottom: 1.5rem;
}

.bottom-8{
  bottom: 2rem;
}

.bottom-\[10\%\]{
  bottom: 10%;
}

.bottom-full{
  bottom: 100%;
}

.left-0{
  left: 0px;
}

.left-0\.5{
  left: 0.125rem;
}

.left-1{
  left: 0.25rem;
}

.left-1\/2{
  left: 50%;
}

.left-1\/4{
  left: 25%;
}

.left-12{
  left: 3rem;
}

.left-16{
  left: 4rem;
}

.left-2{
  left: 0.5rem;
}

.left-20{
  left: 5rem;
}

.left-3{
  left: 0.75rem;
}

.left-4{
  left: 1rem;
}

.left-40{
  left: 10rem;
}

.left-6{
  left: 1.5rem;
}

.left-7{
  left: 1.75rem;
}

.left-8{
  left: 2rem;
}

.left-\[16\%\]{
  left: 16%;
}

.left-\[5\%\]{
  left: 5%;
}

.left-full{
  left: 100%;
}

.right-0{
  right: 0px;
}

.right-1{
  right: 0.25rem;
}

.right-1\/4{
  right: 25%;
}

.right-12{
  right: 3rem;
}

.right-16{
  right: 4rem;
}

.right-2{
  right: 0.5rem;
}

.right-2\.5{
  right: 0.625rem;
}

.right-20{
  right: 5rem;
}

.right-24{
  right: 6rem;
}

.right-3{
  right: 0.75rem;
}

.right-4{
  right: 1rem;
}

.right-6{
  right: 1.5rem;
}

.right-8{
  right: 2rem;
}

.right-\[16\%\]{
  right: 16%;
}

.right-\[3\%\]{
  right: 3%;
}

.right-\[5\%\]{
  right: 5%;
}

.top-0{
  top: 0px;
}

.top-0\.5{
  top: 0.125rem;
}

.top-1{
  top: 0.25rem;
}

.top-1\.5{
  top: 0.375rem;
}

.top-1\/2{
  top: 50%;
}

.top-12{
  top: 3rem;
}

.top-16{
  top: 4rem;
}

.top-2{
  top: 0.5rem;
}

.top-2\.5{
  top: 0.625rem;
}

.top-20{
  top: 5rem;
}

.top-24{
  top: 6rem;
}

.top-3{
  top: 0.75rem;
}

.top-3\.5{
  top: 0.875rem;
}

.top-4{
  top: 1rem;
}

.top-40{
  top: 10rem;
}

.top-5{
  top: 1.25rem;
}

.top-6{
  top: 1.5rem;
}

.top-8{
  top: 2rem;
}

.top-\[13\%\]{
  top: 13%;
}

.top-\[20\%\]{
  top: 20%;
}

.top-\[23\%\]{
  top: 23%;
}

.top-\[72px\]{
  top: 72px;
}

.top-\[76px\]{
  top: 76px;
}

.top-full{
  top: 100%;
}

.isolate{
  isolation: isolate;
}

.-z-10{
  z-index: -10;
}

.z-0{
  z-index: 0;
}

.z-10{
  z-index: 10;
}

.z-20{
  z-index: 20;
}

.z-30{
  z-index: 30;
}

.z-40{
  z-index: 40;
}

.z-50{
  z-index: 50;
}

.z-\[10000\]{
  z-index: 10000;
}

.z-\[10001\]{
  z-index: 10001;
}

.z-\[1000\]{
  z-index: 1000;
}

.z-\[100\]{
  z-index: 100;
}

.z-\[60\]{
  z-index: 60;
}

.z-\[8000\]{
  z-index: 8000;
}

.z-\[9000\]{
  z-index: 9000;
}

.z-\[9999\]{
  z-index: 9999;
}

.col-auto{
  grid-column: auto;
}

.col-span-1{
  grid-column: span 1 / span 1;
}

.col-span-12{
  grid-column: span 12 / span 12;
}

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

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

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

.col-span-6{
  grid-column: span 6 / span 6;
}

.col-span-8{
  grid-column: span 8 / span 8;
}

.col-span-full{
  grid-column: 1 / -1;
}

.m-0{
  margin: 0px;
}

.m-1{
  margin: 0.25rem;
}

.m-2{
  margin: 0.5rem;
}

.m-3{
  margin: 0.75rem;
}

.m-4{
  margin: 1rem;
}

.m-6{
  margin: 1.5rem;
}

.-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}

.mx-1{
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.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-3{
  margin-top: -0.75rem;
  margin-bottom: -0.75rem;
}

.my-12{
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.my-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.my-7{
  margin-top: 1.75rem;
  margin-bottom: 1.75rem;
}

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

.-mb-12{
  margin-bottom: -3rem;
}

.-mb-16{
  margin-bottom: -4rem;
}

.-mb-20{
  margin-bottom: -5rem;
}

.-mb-32{
  margin-bottom: -8rem;
}

.-mb-px{
  margin-bottom: -1px;
}

.-ml-1{
  margin-left: -0.25rem;
}

.-ml-12{
  margin-left: -3rem;
}

.-ml-2{
  margin-left: -0.5rem;
}

.-ml-20{
  margin-left: -5rem;
}

.-ml-32{
  margin-left: -8rem;
}

.-mr-1{
  margin-right: -0.25rem;
}

.-mr-12{
  margin-right: -3rem;
}

.-mr-16{
  margin-right: -4rem;
}

.-mr-20{
  margin-right: -5rem;
}

.-mr-32{
  margin-right: -8rem;
}

.-mt-10{
  margin-top: -2.5rem;
}

.-mt-12{
  margin-top: -3rem;
}

.-mt-16{
  margin-top: -4rem;
}

.-mt-20{
  margin-top: -5rem;
}

.-mt-24{
  margin-top: -6rem;
}

.-mt-32{
  margin-top: -8rem;
}

.-mt-4{
  margin-top: -1rem;
}

.-mt-8{
  margin-top: -2rem;
}

.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-12{
  margin-bottom: 3rem;
}

.mb-16{
  margin-bottom: 4rem;
}

.mb-2{
  margin-bottom: 0.5rem;
}

.mb-20{
  margin-bottom: 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-8{
  margin-bottom: 2rem;
}

.me-1{
  margin-inline-end: 0.25rem;
}

.me-2{
  margin-inline-end: 0.5rem;
}

.me-3{
  margin-inline-end: 0.75rem;
}

.me-4{
  margin-inline-end: 1rem;
}

.me-5{
  margin-inline-end: 1.25rem;
}

.me-auto{
  margin-inline-end: auto;
}

.ml-0{
  margin-left: 0px;
}

.ml-1{
  margin-left: 0.25rem;
}

.ml-1\.5{
  margin-left: 0.375rem;
}

.ml-12{
  margin-left: 3rem;
}

.ml-2{
  margin-left: 0.5rem;
}

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

.ml-4{
  margin-left: 1rem;
}

.ml-5{
  margin-left: 1.25rem;
}

.ml-6{
  margin-left: 1.5rem;
}

.ml-64{
  margin-left: 16rem;
}

.ml-8{
  margin-left: 2rem;
}

.ml-\[60px\]{
  margin-left: 60px;
}

.ml-auto{
  margin-left: auto;
}

.mr-1{
  margin-right: 0.25rem;
}

.mr-1\.5{
  margin-right: 0.375rem;
}

.mr-2{
  margin-right: 0.5rem;
}

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

.mr-4{
  margin-right: 1rem;
}

.mr-6{
  margin-right: 1.5rem;
}

.-ms-2{
  margin-inline-start: -0.5rem;
}

.ms-1{
  margin-inline-start: 0.25rem;
}

.ms-2{
  margin-inline-start: 0.5rem;
}

.ms-auto{
  margin-inline-start: auto;
}

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

.mt-0\.5{
  margin-top: 0.125rem;
}

.mt-1{
  margin-top: 0.25rem;
}

.mt-1\.5{
  margin-top: 0.375rem;
}

.mt-10{
  margin-top: 2.5rem;
}

.mt-12{
  margin-top: 3rem;
}

.mt-14{
  margin-top: 3.5rem;
}

.mt-16{
  margin-top: 4rem;
}

.mt-2{
  margin-top: 0.5rem;
}

.mt-20{
  margin-top: 5rem;
}

.mt-3{
  margin-top: 0.75rem;
}

.mt-4{
  margin-top: 1rem;
}

.mt-5{
  margin-top: 1.25rem;
}

.mt-6{
  margin-top: 1.5rem;
}

.mt-7{
  margin-top: 1.75rem;
}

.mt-8{
  margin-top: 2rem;
}

.mt-auto{
  margin-top: auto;
}

.line-clamp-1{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.line-clamp-2{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.line-clamp-3{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.line-clamp-4{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.block{
  display: block;
}

.inline-block{
  display: inline-block;
}

.inline{
  display: inline;
}

.flex{
  display: flex;
}

.inline-flex{
  display: inline-flex;
}

.table{
  display: table;
}

.grid{
  display: grid;
}

.contents{
  display: contents;
}

.hidden{
  display: none;
}

.aspect-square{
  aspect-ratio: 1 / 1;
}

.aspect-video{
  aspect-ratio: 16 / 9;
}

.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-36{
  height: 9rem;
}

.h-4{
  height: 1rem;
}

.h-40{
  height: 10rem;
}

.h-48{
  height: 12rem;
}

.h-5{
  height: 1.25rem;
}

.h-6{
  height: 1.5rem;
}

.h-64{
  height: 16rem;
}

.h-7{
  height: 1.75rem;
}

.h-72{
  height: 18rem;
}

.h-8{
  height: 2rem;
}

.h-80{
  height: 20rem;
}

.h-9{
  height: 2.25rem;
}

.h-96{
  height: 24rem;
}

.h-\[180px\]{
  height: 180px;
}

.h-\[25\%\]{
  height: 25%;
}

.h-\[2px\]{
  height: 2px;
}

.h-\[30\%\]{
  height: 30%;
}

.h-\[300px\]{
  height: 300px;
}

.h-\[320px\]{
  height: 320px;
}

.h-\[40\%\]{
  height: 40%;
}

.h-\[550px\]{
  height: 550px;
}

.h-\[600px\]{
  height: 600px;
}

.h-\[60px\]{
  height: 60px;
}

.h-\[700px\]{
  height: 700px;
}

.h-\[90vh\]{
  height: 90vh;
}

.h-\[95vh\]{
  height: 95vh;
}

.h-\[calc\(100vh-12rem\)\]{
  height: calc(100vh - 12rem);
}

.h-\[calc\(100vh-16rem\)\]{
  height: calc(100vh - 16rem);
}

.h-\[calc\(100vh-200px\)\]{
  height: calc(100vh - 200px);
}

.h-\[calc\(100vh-60px\)\]{
  height: calc(100vh - 60px);
}

.h-\[calc\(100vh-80px\)\]{
  height: calc(100vh - 80px);
}

.h-auto{
  height: auto;
}

.h-full{
  height: 100%;
}

.h-px{
  height: 1px;
}

.h-screen{
  height: 100vh;
}

.max-h-0{
  max-height: 0px;
}

.max-h-16{
  max-height: 4rem;
}

.max-h-32{
  max-height: 8rem;
}

.max-h-40{
  max-height: 10rem;
}

.max-h-48{
  max-height: 12rem;
}

.max-h-60{
  max-height: 15rem;
}

.max-h-64{
  max-height: 16rem;
}

.max-h-96{
  max-height: 24rem;
}

.max-h-\[300px\]{
  max-height: 300px;
}

.max-h-\[600px\]{
  max-height: 600px;
}

.max-h-\[70vh\]{
  max-height: 70vh;
}

.max-h-\[80vh\]{
  max-height: 80vh;
}

.max-h-\[85vh\]{
  max-height: 85vh;
}

.max-h-\[90vh\]{
  max-height: 90vh;
}

.max-h-\[95vh\]{
  max-height: 95vh;
}

.max-h-\[calc\(100vh-300px\)\]{
  max-height: calc(100vh - 300px);
}

.max-h-\[calc\(90vh-180px\)\]{
  max-height: calc(90vh - 180px);
}

.max-h-\[calc\(90vh-200px\)\]{
  max-height: calc(90vh - 200px);
}

.max-h-\[calc\(95vh-200px\)\]{
  max-height: calc(95vh - 200px);
}

.max-h-full{
  max-height: 100%;
}

.max-h-none{
  max-height: none;
}

.min-h-0{
  min-height: 0px;
}

.min-h-\[100px\]{
  min-height: 100px;
}

.min-h-\[120px\]{
  min-height: 120px;
}

.min-h-\[150px\]{
  min-height: 150px;
}

.min-h-\[300px\]{
  min-height: 300px;
}

.min-h-\[400px\]{
  min-height: 400px;
}

.min-h-\[56px\]{
  min-height: 56px;
}

.min-h-\[600px\]{
  min-height: 600px;
}

.min-h-\[700px\]{
  min-height: 700px;
}

.min-h-\[800px\]{
  min-height: 800px;
}

.min-h-full{
  min-height: 100%;
}

.min-h-screen{
  min-height: 100vh;
}

.w-0{
  width: 0px;
}

.w-0\.5{
  width: 0.125rem;
}

.w-1{
  width: 0.25rem;
}

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

.w-1\/2{
  width: 50%;
}

.w-1\/3{
  width: 33.333333%;
}

.w-1\/4{
  width: 25%;
}

.w-10{
  width: 2.5rem;
}

.w-11{
  width: 2.75rem;
}

.w-12{
  width: 3rem;
}

.w-14{
  width: 3.5rem;
}

.w-16{
  width: 4rem;
}

.w-2{
  width: 0.5rem;
}

.w-2\.5{
  width: 0.625rem;
}

.w-2\/3{
  width: 66.666667%;
}

.w-2\/4{
  width: 50%;
}

.w-2\/5{
  width: 40%;
}

.w-20{
  width: 5rem;
}

.w-24{
  width: 6rem;
}

.w-28{
  width: 7rem;
}

.w-3{
  width: 0.75rem;
}

.w-3\.5{
  width: 0.875rem;
}

.w-3\/4{
  width: 75%;
}

.w-3\/5{
  width: 60%;
}

.w-32{
  width: 8rem;
}

.w-36{
  width: 9rem;
}

.w-4{
  width: 1rem;
}

.w-40{
  width: 10rem;
}

.w-48{
  width: 12rem;
}

.w-5{
  width: 1.25rem;
}

.w-5\/6{
  width: 83.333333%;
}

.w-56{
  width: 14rem;
}

.w-6{
  width: 1.5rem;
}

.w-64{
  width: 16rem;
}

.w-7{
  width: 1.75rem;
}

.w-72{
  width: 18rem;
}

.w-8{
  width: 2rem;
}

.w-80{
  width: 20rem;
}

.w-9{
  width: 2.25rem;
}

.w-96{
  width: 24rem;
}

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

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

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

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

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

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

.w-\[90vw\]{
  width: 90vw;
}

.w-\[95vw\]{
  width: 95vw;
}

.w-auto{
  width: auto;
}

.w-full{
  width: 100%;
}

.w-px{
  width: 1px;
}

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

.min-w-48{
  min-width: 12rem;
}

.min-w-5{
  min-width: 1.25rem;
}

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

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

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

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

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

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

.min-w-full{
  min-width: 100%;
}

.min-w-max{
  min-width: -moz-max-content;
  min-width: max-content;
}

.max-w-24{
  max-width: 6rem;
}

.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-\[1400px\]{
  max-width: 1400px;
}

.max-w-\[150px\]{
  max-width: 150px;
}

.max-w-\[1600px\]{
  max-width: 1600px;
}

.max-w-\[1920px\]{
  max-width: 1920px;
}

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

.max-w-\[600px\]{
  max-width: 600px;
}

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

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

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

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

.max-w-full{
  max-width: 100%;
}

.max-w-lg{
  max-width: 32rem;
}

.max-w-md{
  max-width: 28rem;
}

.max-w-none{
  max-width: none;
}

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

.max-w-xl{
  max-width: 36rem;
}

.max-w-xs{
  max-width: 20rem;
}

.flex-1{
  flex: 1 1 0%;
}

.flex-shrink-0{
  flex-shrink: 0;
}

.shrink-0{
  flex-shrink: 0;
}

.flex-grow{
  flex-grow: 1;
}

.grow{
  flex-grow: 1;
}

.origin-left{
  transform-origin: left;
}

.-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-24{
  --tw-translate-x: -6rem;
  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-full{
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-32{
  --tw-translate-y: -8rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-8{
  --tw-translate-y: -2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-0\.5{
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-1{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.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-16{
  --tw-translate-x: 4rem;
  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-32{
  --tw-translate-x: 8rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-4{
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-5{
  --tw-translate-x: 1.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-6{
  --tw-translate-x: 1.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-7{
  --tw-translate-x: 1.75rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-x-8{
  --tw-translate-x: 2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.translate-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-16{
  --tw-translate-y: 4rem;
  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-24{
  --tw-translate-y: 6rem;
  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-4{
  --tw-translate-y: 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-y-8{
  --tw-translate-y: 2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

.-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-12{
  --tw-rotate: 12deg;
  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-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));
}

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

.-skew-x-12{
  --tw-skew-x: -12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-100{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-105{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-110{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-90{
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-\[1\.02\]{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.scale-x-0{
  --tw-scale-x: 0;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

@keyframes bounce{

  0%, 100%{
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50%{
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}

.animate-bounce{
  animation: bounce 1s infinite;
}

@keyframes ping{

  75%, 100%{
    transform: scale(2);
    opacity: 0;
  }
}

.animate-ping{
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

@keyframes pulse{

  50%{
    opacity: .5;
  }
}

.animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}

.animate-spin{
  animation: spin 1s linear infinite;
}

.cursor-default{
  cursor: default;
}

.cursor-ew-resize{
  cursor: ew-resize;
}

.cursor-grab{
  cursor: grab;
}

.cursor-help{
  cursor: help;
}

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

.cursor-pointer{
  cursor: pointer;
}

.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-decimal{
  list-style-type: decimal;
}

.list-disc{
  list-style-type: disc;
}

.appearance-none{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.auto-rows-min{
  grid-auto-rows: min-content;
}

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

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

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

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

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

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

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

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

.grid-cols-\[200px_1fr\]{
  grid-template-columns: 200px 1fr;
}

.grid-rows-6{
  grid-template-rows: repeat(6, minmax(0, 1fr));
}

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

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

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

.flex-wrap{
  flex-wrap: wrap;
}

.items-start{
  align-items: flex-start;
}

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

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

.items-baseline{
  align-items: baseline;
}

.justify-start{
  justify-content: flex-start;
}

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

.justify-center{
  justify-content: center;
}

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

.justify-around{
  justify-content: space-around;
}

.gap-0\.5{
  gap: 0.125rem;
}

.gap-1{
  gap: 0.25rem;
}

.gap-1\.5{
  gap: 0.375rem;
}

.gap-10{
  gap: 2.5rem;
}

.gap-12{
  gap: 3rem;
}

.gap-16{
  gap: 4rem;
}

.gap-2{
  gap: 0.5rem;
}

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

.gap-3{
  gap: 0.75rem;
}

.gap-4{
  gap: 1rem;
}

.gap-5{
  gap: 1.25rem;
}

.gap-6{
  gap: 1.5rem;
}

.gap-8{
  gap: 2rem;
}

.gap-x-3{
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
}

.gap-x-4{
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

.gap-x-6{
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}

.gap-y-1{
  row-gap: 0.25rem;
}

.gap-y-3{
  row-gap: 0.75rem;
}

.gap-y-5{
  row-gap: 1.25rem;
}

.-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-0\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.125rem * var(--tw-space-x-reverse));
  margin-left: calc(0.125rem * calc(1 - var(--tw-space-x-reverse)));
}

.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-1\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.375rem * var(--tw-space-x-reverse));
  margin-left: calc(0.375rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1.25rem * var(--tw-space-x-reverse));
  margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(2rem * var(--tw-space-x-reverse));
  margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}

.space-y-1\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}

.space-y-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}

.space-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}

.space-y-2\.5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}

.space-y-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}

.space-y-4 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.space-y-5 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}

.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}

.space-y-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.divide-x > :not([hidden]) ~ :not([hidden]){
  --tw-divide-x-reverse: 0;
  border-right-width: calc(1px * var(--tw-divide-x-reverse));
  border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
}

.divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-gray-100 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));
}

.divide-gray-200 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}

.divide-slate-200 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-divide-opacity, 1));
}

.self-start{
  align-self: flex-start;
}

.self-end{
  align-self: flex-end;
}

.self-center{
  align-self: center;
}

.overflow-auto{
  overflow: auto;
}

.overflow-hidden{
  overflow: hidden;
}

.overflow-x-auto{
  overflow-x: auto;
}

.overflow-y-auto{
  overflow-y: auto;
}

.scroll-smooth{
  scroll-behavior: smooth;
}

.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.whitespace-nowrap{
  white-space: nowrap;
}

.whitespace-pre-line{
  white-space: pre-line;
}

.whitespace-pre-wrap{
  white-space: pre-wrap;
}

.break-all{
  word-break: break-all;
}

.rounded{
  border-radius: 0.25rem;
}

.rounded-2xl{
  border-radius: 1rem;
}

.rounded-3xl{
  border-radius: 1.5rem;
}

.rounded-\[1\.5rem\]{
  border-radius: 1.5rem;
}

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

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

.rounded-\[32px\]{
  border-radius: 32px;
}

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

.rounded-full{
  border-radius: 9999px;
}

.rounded-lg{
  border-radius: 0.5rem;
}

.rounded-md{
  border-radius: 0.375rem;
}

.rounded-none{
  border-radius: 0px;
}

.rounded-sm{
  border-radius: 0.125rem;
}

.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-b-lg{
  border-bottom-right-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-b-md{
  border-bottom-right-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.rounded-b-xl{
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}

.rounded-e-lg{
  border-start-end-radius: 0.5rem;
  border-end-end-radius: 0.5rem;
}

.rounded-l-lg{
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}

.rounded-l-md{
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem;
}

.rounded-r{
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.rounded-r-lg{
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

.rounded-r-md{
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

.rounded-r-xl{
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.rounded-s-lg{
  border-start-start-radius: 0.5rem;
  border-end-start-radius: 0.5rem;
}

.rounded-t-2xl{
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}

.rounded-t-3xl{
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}

.rounded-t-lg{
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

.rounded-t-md{
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}

.rounded-bl-2xl{
  border-bottom-left-radius: 1rem;
}

.rounded-bl-md{
  border-bottom-left-radius: 0.375rem;
}

.rounded-bl-none{
  border-bottom-left-radius: 0px;
}

.rounded-br-md{
  border-bottom-right-radius: 0.375rem;
}

.rounded-br-none{
  border-bottom-right-radius: 0px;
}

.rounded-tl-md{
  border-top-left-radius: 0.375rem;
}

.rounded-tl-none{
  border-top-left-radius: 0px;
}

.rounded-tr-none{
  border-top-right-radius: 0px;
}

.border{
  border-width: 1px;
}

.border-0{
  border-width: 0px;
}

.border-2{
  border-width: 2px;
}

.border-4{
  border-width: 4px;
}

.border-x{
  border-left-width: 1px;
  border-right-width: 1px;
}

.border-y{
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.border-b{
  border-bottom-width: 1px;
}

.border-b-2{
  border-bottom-width: 2px;
}

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

.border-l-0{
  border-left-width: 0px;
}

.border-l-2{
  border-left-width: 2px;
}

.border-l-4{
  border-left-width: 4px;
}

.border-l-\[6px\]{
  border-left-width: 6px;
}

.border-r{
  border-right-width: 1px;
}

.border-r-4{
  border-right-width: 4px;
}

.border-t{
  border-top-width: 1px;
}

.border-t-2{
  border-top-width: 2px;
}

.border-t-4{
  border-top-width: 4px;
}

.border-solid{
  border-style: solid;
}

.border-dashed{
  border-style: dashed;
}

.border-none{
  border-style: none;
}

.border-\[\#1e3a8a\]\/20{
  border-color: rgb(30 58 138 / 0.2);
}

.border-\[\#312e81\]\/20{
  border-color: rgb(49 46 129 / 0.2);
}

.border-\[\#7CB342\]{
  --tw-border-opacity: 1;
  border-color: rgb(124 179 66 / var(--tw-border-opacity, 1));
}

.border-\[\#7CB342\]\/20{
  border-color: rgb(124 179 66 / 0.2);
}

.border-\[\#7CB342\]\/30{
  border-color: rgb(124 179 66 / 0.3);
}

.border-amber-100{
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1));
}

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

.border-amber-200{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}

.border-amber-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}

.border-amber-400{
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}

.border-amber-500{
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.border-amber-500\/10{
  border-color: rgb(245 158 11 / 0.1);
}

.border-amber-500\/30{
  border-color: rgb(245 158 11 / 0.3);
}

.border-amber-500\/50{
  border-color: rgb(245 158 11 / 0.5);
}

.border-amber-600{
  --tw-border-opacity: 1;
  border-color: rgb(217 119 6 / var(--tw-border-opacity, 1));
}

.border-black{
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}

.border-blue-100{
  --tw-border-opacity: 1;
  border-color: rgb(225 239 254 / var(--tw-border-opacity, 1));
}

.border-blue-100\/50{
  border-color: rgb(225 239 254 / 0.5);
}

.border-blue-200{
  --tw-border-opacity: 1;
  border-color: rgb(195 221 253 / var(--tw-border-opacity, 1));
}

.border-blue-200\/50{
  border-color: rgb(195 221 253 / 0.5);
}

.border-blue-300{
  --tw-border-opacity: 1;
  border-color: rgb(164 202 254 / var(--tw-border-opacity, 1));
}

.border-blue-400{
  --tw-border-opacity: 1;
  border-color: rgb(118 169 250 / var(--tw-border-opacity, 1));
}

.border-blue-500{
  --tw-border-opacity: 1;
  border-color: rgb(63 131 248 / var(--tw-border-opacity, 1));
}

.border-blue-500\/10{
  border-color: rgb(63 131 248 / 0.1);
}

.border-blue-500\/20{
  border-color: rgb(63 131 248 / 0.2);
}

.border-blue-500\/30{
  border-color: rgb(63 131 248 / 0.3);
}

.border-blue-600{
  --tw-border-opacity: 1;
  border-color: rgb(28 100 242 / var(--tw-border-opacity, 1));
}

.border-blue-700{
  --tw-border-opacity: 1;
  border-color: rgb(26 86 219 / var(--tw-border-opacity, 1));
}

.border-cyan-100{
  --tw-border-opacity: 1;
  border-color: rgb(207 250 254 / var(--tw-border-opacity, 1));
}

.border-cyan-200{
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
}

.border-cyan-500{
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}

.border-emerald-100{
  --tw-border-opacity: 1;
  border-color: rgb(209 250 229 / var(--tw-border-opacity, 1));
}

.border-emerald-200{
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}

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

.border-emerald-500{
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}

.border-emerald-600{
  --tw-border-opacity: 1;
  border-color: rgb(5 150 105 / var(--tw-border-opacity, 1));
}

.border-gray-100{
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}

.border-gray-100\/50{
  border-color: rgb(243 244 246 / 0.5);
}

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

.border-gray-200\/50{
  border-color: rgb(229 231 235 / 0.5);
}

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

.border-gray-400{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.border-gray-50{
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));
}

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

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

.border-gray-800{
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}

.border-gray-900{
  --tw-border-opacity: 1;
  border-color: rgb(17 24 39 / var(--tw-border-opacity, 1));
}

.border-green-100{
  --tw-border-opacity: 1;
  border-color: rgb(222 247 236 / var(--tw-border-opacity, 1));
}

.border-green-200{
  --tw-border-opacity: 1;
  border-color: rgb(188 240 218 / var(--tw-border-opacity, 1));
}

.border-green-300{
  --tw-border-opacity: 1;
  border-color: rgb(132 225 188 / var(--tw-border-opacity, 1));
}

.border-green-400{
  --tw-border-opacity: 1;
  border-color: rgb(49 196 141 / var(--tw-border-opacity, 1));
}

.border-green-50{
  --tw-border-opacity: 1;
  border-color: rgb(243 250 247 / var(--tw-border-opacity, 1));
}

.border-green-500{
  --tw-border-opacity: 1;
  border-color: rgb(14 159 110 / var(--tw-border-opacity, 1));
}

.border-green-500\/50{
  border-color: rgb(14 159 110 / 0.5);
}

.border-green-600{
  --tw-border-opacity: 1;
  border-color: rgb(5 122 85 / var(--tw-border-opacity, 1));
}

.border-indigo-100{
  --tw-border-opacity: 1;
  border-color: rgb(229 237 255 / var(--tw-border-opacity, 1));
}

.border-indigo-200{
  --tw-border-opacity: 1;
  border-color: rgb(205 219 254 / var(--tw-border-opacity, 1));
}

.border-indigo-400{
  --tw-border-opacity: 1;
  border-color: rgb(141 162 251 / var(--tw-border-opacity, 1));
}

.border-indigo-500{
  --tw-border-opacity: 1;
  border-color: rgb(104 117 245 / var(--tw-border-opacity, 1));
}

.border-lime-200{
  --tw-border-opacity: 1;
  border-color: rgb(217 249 157 / var(--tw-border-opacity, 1));
}

.border-lime-400{
  --tw-border-opacity: 1;
  border-color: rgb(163 230 53 / var(--tw-border-opacity, 1));
}

.border-orange-100{
  --tw-border-opacity: 1;
  border-color: rgb(254 236 220 / var(--tw-border-opacity, 1));
}

.border-orange-200{
  --tw-border-opacity: 1;
  border-color: rgb(252 217 189 / var(--tw-border-opacity, 1));
}

.border-orange-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 186 140 / var(--tw-border-opacity, 1));
}

.border-orange-400{
  --tw-border-opacity: 1;
  border-color: rgb(255 138 76 / var(--tw-border-opacity, 1));
}

.border-orange-500{
  --tw-border-opacity: 1;
  border-color: rgb(255 90 31 / var(--tw-border-opacity, 1));
}

.border-orange-600{
  --tw-border-opacity: 1;
  border-color: rgb(208 56 1 / var(--tw-border-opacity, 1));
}

.border-pink-200{
  --tw-border-opacity: 1;
  border-color: rgb(250 209 232 / var(--tw-border-opacity, 1));
}

.border-purple-100{
  --tw-border-opacity: 1;
  border-color: rgb(237 235 254 / var(--tw-border-opacity, 1));
}

.border-purple-200{
  --tw-border-opacity: 1;
  border-color: rgb(220 215 254 / var(--tw-border-opacity, 1));
}

.border-purple-300{
  --tw-border-opacity: 1;
  border-color: rgb(202 191 253 / var(--tw-border-opacity, 1));
}

.border-purple-400{
  --tw-border-opacity: 1;
  border-color: rgb(172 148 250 / var(--tw-border-opacity, 1));
}

.border-purple-500{
  --tw-border-opacity: 1;
  border-color: rgb(144 97 249 / var(--tw-border-opacity, 1));
}

.border-purple-600{
  --tw-border-opacity: 1;
  border-color: rgb(126 58 242 / var(--tw-border-opacity, 1));
}

.border-red-100{
  --tw-border-opacity: 1;
  border-color: rgb(253 232 232 / var(--tw-border-opacity, 1));
}

.border-red-200{
  --tw-border-opacity: 1;
  border-color: rgb(251 213 213 / var(--tw-border-opacity, 1));
}

.border-red-300{
  --tw-border-opacity: 1;
  border-color: rgb(248 180 180 / var(--tw-border-opacity, 1));
}

.border-red-400{
  --tw-border-opacity: 1;
  border-color: rgb(249 128 128 / var(--tw-border-opacity, 1));
}

.border-red-500{
  --tw-border-opacity: 1;
  border-color: rgb(240 82 82 / var(--tw-border-opacity, 1));
}

.border-red-500\/20{
  border-color: rgb(240 82 82 / 0.2);
}

.border-red-600{
  --tw-border-opacity: 1;
  border-color: rgb(224 36 36 / var(--tw-border-opacity, 1));
}

.border-red-700{
  --tw-border-opacity: 1;
  border-color: rgb(200 30 30 / var(--tw-border-opacity, 1));
}

.border-rose-100{
  --tw-border-opacity: 1;
  border-color: rgb(255 228 230 / var(--tw-border-opacity, 1));
}

.border-slate-100{
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}

.border-slate-100\/50{
  border-color: rgb(241 245 249 / 0.5);
}

.border-slate-200{
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}

.border-slate-200\/50{
  border-color: rgb(226 232 240 / 0.5);
}

.border-slate-200\/60{
  border-color: rgb(226 232 240 / 0.6);
}

.border-slate-300{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.border-slate-50{
  --tw-border-opacity: 1;
  border-color: rgb(248 250 252 / var(--tw-border-opacity, 1));
}

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

.border-slate-700\/50{
  border-color: rgb(51 65 85 / 0.5);
}

.border-slate-800{
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}

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

.border-teal-100{
  --tw-border-opacity: 1;
  border-color: rgb(213 245 246 / var(--tw-border-opacity, 1));
}

.border-teal-500{
  --tw-border-opacity: 1;
  border-color: rgb(6 148 162 / var(--tw-border-opacity, 1));
}

.border-transparent{
  border-color: transparent;
}

.border-violet-100{
  --tw-border-opacity: 1;
  border-color: rgb(237 233 254 / var(--tw-border-opacity, 1));
}

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

.border-white{
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

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

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

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

.border-white\/50{
  border-color: rgb(255 255 255 / 0.5);
}

.border-yellow-200{
  --tw-border-opacity: 1;
  border-color: rgb(252 233 106 / var(--tw-border-opacity, 1));
}

.border-yellow-300{
  --tw-border-opacity: 1;
  border-color: rgb(250 202 21 / var(--tw-border-opacity, 1));
}

.border-yellow-400{
  --tw-border-opacity: 1;
  border-color: rgb(227 160 8 / var(--tw-border-opacity, 1));
}

.border-yellow-500{
  --tw-border-opacity: 1;
  border-color: rgb(194 120 3 / var(--tw-border-opacity, 1));
}

.border-yellow-600{
  --tw-border-opacity: 1;
  border-color: rgb(159 88 10 / var(--tw-border-opacity, 1));
}

.border-l-amber-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.border-l-blue-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(63 131 248 / var(--tw-border-opacity, 1));
}

.border-l-gray-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.border-l-purple-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(144 97 249 / var(--tw-border-opacity, 1));
}

.border-l-red-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(240 82 82 / var(--tw-border-opacity, 1));
}

.border-l-yellow-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(194 120 3 / var(--tw-border-opacity, 1));
}

.border-t-blue-500{
  --tw-border-opacity: 1;
  border-top-color: rgb(63 131 248 / var(--tw-border-opacity, 1));
}

.border-t-blue-600{
  --tw-border-opacity: 1;
  border-top-color: rgb(28 100 242 / var(--tw-border-opacity, 1));
}

.border-t-emerald-500{
  --tw-border-opacity: 1;
  border-top-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}

.border-t-gray-900{
  --tw-border-opacity: 1;
  border-top-color: rgb(17 24 39 / var(--tw-border-opacity, 1));
}

.border-t-green-500{
  --tw-border-opacity: 1;
  border-top-color: rgb(14 159 110 / var(--tw-border-opacity, 1));
}

.border-t-indigo-600{
  --tw-border-opacity: 1;
  border-top-color: rgb(88 80 236 / var(--tw-border-opacity, 1));
}

.border-t-slate-600{
  --tw-border-opacity: 1;
  border-top-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}

.border-t-slate-800{
  --tw-border-opacity: 1;
  border-top-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}

.border-t-transparent{
  border-top-color: transparent;
}

.border-t-white{
  --tw-border-opacity: 1;
  border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-opacity-20{
  --tw-border-opacity: 0.2;
}

.border-opacity-30{
  --tw-border-opacity: 0.3;
}

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

.bg-\[\#0f172a\]{
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1e3a8a\]\/10{
  background-color: rgb(30 58 138 / 0.1);
}

.bg-\[\#7CB342\]{
  --tw-bg-opacity: 1;
  background-color: rgb(124 179 66 / var(--tw-bg-opacity, 1));
}

.bg-\[\#7CB342\]\/10{
  background-color: rgb(124 179 66 / 0.1);
}

.bg-\[\#7CB342\]\/5{
  background-color: rgb(124 179 66 / 0.05);
}

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

.bg-amber-200{
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}

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

.bg-amber-50\/30{
  background-color: rgb(255 251 235 / 0.3);
}

.bg-amber-50\/50{
  background-color: rgb(255 251 235 / 0.5);
}

.bg-amber-50\/80{
  background-color: rgb(255 251 235 / 0.8);
}

.bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}

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

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

.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

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

.bg-black\/20{
  background-color: rgb(0 0 0 / 0.2);
}

.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\/70{
  background-color: rgb(0 0 0 / 0.7);
}

.bg-black\/80{
  background-color: rgb(0 0 0 / 0.8);
}

.bg-black\/95{
  background-color: rgb(0 0 0 / 0.95);
}

.bg-blue-100{
  --tw-bg-opacity: 1;
  background-color: rgb(225 239 254 / var(--tw-bg-opacity, 1));
}

.bg-blue-100\/30{
  background-color: rgb(225 239 254 / 0.3);
}

.bg-blue-100\/50{
  background-color: rgb(225 239 254 / 0.5);
}

.bg-blue-200{
  --tw-bg-opacity: 1;
  background-color: rgb(195 221 253 / var(--tw-bg-opacity, 1));
}

.bg-blue-300{
  --tw-bg-opacity: 1;
  background-color: rgb(164 202 254 / var(--tw-bg-opacity, 1));
}

.bg-blue-400{
  --tw-bg-opacity: 1;
  background-color: rgb(118 169 250 / var(--tw-bg-opacity, 1));
}

.bg-blue-400\/20{
  background-color: rgb(118 169 250 / 0.2);
}

.bg-blue-50{
  --tw-bg-opacity: 1;
  background-color: rgb(235 245 255 / var(--tw-bg-opacity, 1));
}

.bg-blue-50\/30{
  background-color: rgb(235 245 255 / 0.3);
}

.bg-blue-50\/50{
  background-color: rgb(235 245 255 / 0.5);
}

.bg-blue-50\/80{
  background-color: rgb(235 245 255 / 0.8);
}

.bg-blue-500{
  --tw-bg-opacity: 1;
  background-color: rgb(63 131 248 / var(--tw-bg-opacity, 1));
}

.bg-blue-500\/20{
  background-color: rgb(63 131 248 / 0.2);
}

.bg-blue-500\/5{
  background-color: rgb(63 131 248 / 0.05);
}

.bg-blue-500\/90{
  background-color: rgb(63 131 248 / 0.9);
}

.bg-blue-600{
  --tw-bg-opacity: 1;
  background-color: rgb(28 100 242 / var(--tw-bg-opacity, 1));
}

.bg-blue-600\/10{
  background-color: rgb(28 100 242 / 0.1);
}

.bg-blue-600\/90{
  background-color: rgb(28 100 242 / 0.9);
}

.bg-blue-900\/20{
  background-color: rgb(35 56 118 / 0.2);
}

.bg-current{
  background-color: currentColor;
}

.bg-cyan-100{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}

.bg-cyan-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}

.bg-cyan-500{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}

.bg-cyan-500\/10{
  background-color: rgb(6 182 212 / 0.1);
}

.bg-cyan-500\/20{
  background-color: rgb(6 182 212 / 0.2);
}

.bg-destructive{
  background-color: hsl(var(--destructive));
}

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

.bg-emerald-200{
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}

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

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

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

.bg-emerald-50\/50{
  background-color: rgb(236 253 245 / 0.5);
}

.bg-emerald-50\/80{
  background-color: rgb(236 253 245 / 0.8);
}

.bg-emerald-500{
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}

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

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

.bg-emerald-600{
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}

.bg-emerald-900\/20{
  background-color: rgb(6 78 59 / 0.2);
}

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

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

.bg-gray-300{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.bg-gray-400{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

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

.bg-gray-50\/80{
  background-color: rgb(249 250 251 / 0.8);
}

.bg-gray-500{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-600{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.bg-gray-700{
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

.bg-gray-700\/50{
  background-color: rgb(55 65 81 / 0.5);
}

.bg-gray-800{
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

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

.bg-green-100{
  --tw-bg-opacity: 1;
  background-color: rgb(222 247 236 / var(--tw-bg-opacity, 1));
}

.bg-green-200{
  --tw-bg-opacity: 1;
  background-color: rgb(188 240 218 / var(--tw-bg-opacity, 1));
}

.bg-green-300{
  --tw-bg-opacity: 1;
  background-color: rgb(132 225 188 / var(--tw-bg-opacity, 1));
}

.bg-green-400{
  --tw-bg-opacity: 1;
  background-color: rgb(49 196 141 / var(--tw-bg-opacity, 1));
}

.bg-green-50{
  --tw-bg-opacity: 1;
  background-color: rgb(243 250 247 / var(--tw-bg-opacity, 1));
}

.bg-green-50\/50{
  background-color: rgb(243 250 247 / 0.5);
}

.bg-green-50\/80{
  background-color: rgb(243 250 247 / 0.8);
}

.bg-green-500{
  --tw-bg-opacity: 1;
  background-color: rgb(14 159 110 / var(--tw-bg-opacity, 1));
}

.bg-green-500\/20{
  background-color: rgb(14 159 110 / 0.2);
}

.bg-green-600{
  --tw-bg-opacity: 1;
  background-color: rgb(5 122 85 / var(--tw-bg-opacity, 1));
}

.bg-green-900{
  --tw-bg-opacity: 1;
  background-color: rgb(1 71 55 / var(--tw-bg-opacity, 1));
}

.bg-indigo-100{
  --tw-bg-opacity: 1;
  background-color: rgb(229 237 255 / var(--tw-bg-opacity, 1));
}

.bg-indigo-100\/20{
  background-color: rgb(229 237 255 / 0.2);
}

.bg-indigo-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 245 255 / var(--tw-bg-opacity, 1));
}

.bg-indigo-50\/30{
  background-color: rgb(240 245 255 / 0.3);
}

.bg-indigo-50\/50{
  background-color: rgb(240 245 255 / 0.5);
}

.bg-indigo-500{
  --tw-bg-opacity: 1;
  background-color: rgb(104 117 245 / var(--tw-bg-opacity, 1));
}

.bg-indigo-500\/20{
  background-color: rgb(104 117 245 / 0.2);
}

.bg-indigo-500\/5{
  background-color: rgb(104 117 245 / 0.05);
}

.bg-indigo-600{
  --tw-bg-opacity: 1;
  background-color: rgb(88 80 236 / var(--tw-bg-opacity, 1));
}

.bg-lime-100{
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1));
}

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

.bg-orange-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 236 220 / var(--tw-bg-opacity, 1));
}

.bg-orange-200{
  --tw-bg-opacity: 1;
  background-color: rgb(252 217 189 / var(--tw-bg-opacity, 1));
}

.bg-orange-300{
  --tw-bg-opacity: 1;
  background-color: rgb(253 186 140 / var(--tw-bg-opacity, 1));
}

.bg-orange-400{
  --tw-bg-opacity: 1;
  background-color: rgb(255 138 76 / var(--tw-bg-opacity, 1));
}

.bg-orange-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 248 241 / var(--tw-bg-opacity, 1));
}

.bg-orange-50\/50{
  background-color: rgb(255 248 241 / 0.5);
}

.bg-orange-500{
  --tw-bg-opacity: 1;
  background-color: rgb(255 90 31 / var(--tw-bg-opacity, 1));
}

.bg-orange-600{
  --tw-bg-opacity: 1;
  background-color: rgb(208 56 1 / var(--tw-bg-opacity, 1));
}

.bg-orange-900\/20{
  background-color: rgb(119 29 29 / 0.2);
}

.bg-pink-100{
  --tw-bg-opacity: 1;
  background-color: rgb(252 232 243 / var(--tw-bg-opacity, 1));
}

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

.bg-pink-50\/50{
  background-color: rgb(253 242 248 / 0.5);
}

.bg-pink-500{
  --tw-bg-opacity: 1;
  background-color: rgb(231 70 148 / var(--tw-bg-opacity, 1));
}

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

.bg-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(237 235 254 / var(--tw-bg-opacity, 1));
}

.bg-purple-200{
  --tw-bg-opacity: 1;
  background-color: rgb(220 215 254 / var(--tw-bg-opacity, 1));
}

.bg-purple-300{
  --tw-bg-opacity: 1;
  background-color: rgb(202 191 253 / var(--tw-bg-opacity, 1));
}

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

.bg-purple-50\/30{
  background-color: rgb(246 245 255 / 0.3);
}

.bg-purple-50\/50{
  background-color: rgb(246 245 255 / 0.5);
}

.bg-purple-50\/80{
  background-color: rgb(246 245 255 / 0.8);
}

.bg-purple-500{
  --tw-bg-opacity: 1;
  background-color: rgb(144 97 249 / var(--tw-bg-opacity, 1));
}

.bg-purple-500\/10{
  background-color: rgb(144 97 249 / 0.1);
}

.bg-purple-500\/20{
  background-color: rgb(144 97 249 / 0.2);
}

.bg-purple-600{
  --tw-bg-opacity: 1;
  background-color: rgb(126 58 242 / var(--tw-bg-opacity, 1));
}

.bg-purple-700{
  --tw-bg-opacity: 1;
  background-color: rgb(108 43 217 / var(--tw-bg-opacity, 1));
}

.bg-red-100{
  --tw-bg-opacity: 1;
  background-color: rgb(253 232 232 / var(--tw-bg-opacity, 1));
}

.bg-red-200{
  --tw-bg-opacity: 1;
  background-color: rgb(251 213 213 / var(--tw-bg-opacity, 1));
}

.bg-red-400{
  --tw-bg-opacity: 1;
  background-color: rgb(249 128 128 / var(--tw-bg-opacity, 1));
}

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

.bg-red-50\/50{
  background-color: rgb(253 242 242 / 0.5);
}

.bg-red-50\/80{
  background-color: rgb(253 242 242 / 0.8);
}

.bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(240 82 82 / var(--tw-bg-opacity, 1));
}

.bg-red-500\/10{
  background-color: rgb(240 82 82 / 0.1);
}

.bg-red-600{
  --tw-bg-opacity: 1;
  background-color: rgb(224 36 36 / var(--tw-bg-opacity, 1));
}

.bg-red-700{
  --tw-bg-opacity: 1;
  background-color: rgb(200 30 30 / var(--tw-bg-opacity, 1));
}

.bg-red-900{
  --tw-bg-opacity: 1;
  background-color: rgb(119 29 29 / var(--tw-bg-opacity, 1));
}

.bg-red-900\/20{
  background-color: rgb(119 29 29 / 0.2);
}

.bg-red-900\/30{
  background-color: rgb(119 29 29 / 0.3);
}

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

.bg-sky-100\/20{
  background-color: rgb(224 242 254 / 0.2);
}

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

.bg-sky-500{
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}

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

.bg-slate-100\/80{
  background-color: rgb(241 245 249 / 0.8);
}

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

.bg-slate-200\/50{
  background-color: rgb(226 232 240 / 0.5);
}

.bg-slate-300{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}

.bg-slate-400{
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}

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

.bg-slate-50\/50{
  background-color: rgb(248 250 252 / 0.5);
}

.bg-slate-600{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.bg-slate-700{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}

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

.bg-slate-800\/50{
  background-color: rgb(30 41 59 / 0.5);
}

.bg-slate-900{
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

.bg-slate-900\/20{
  background-color: rgb(15 23 42 / 0.2);
}

.bg-slate-900\/5{
  background-color: rgb(15 23 42 / 0.05);
}

.bg-slate-900\/50{
  background-color: rgb(15 23 42 / 0.5);
}

.bg-slate-900\/60{
  background-color: rgb(15 23 42 / 0.6);
}

.bg-slate-900\/70{
  background-color: rgb(15 23 42 / 0.7);
}

.bg-teal-100{
  --tw-bg-opacity: 1;
  background-color: rgb(213 245 246 / var(--tw-bg-opacity, 1));
}

.bg-teal-50{
  --tw-bg-opacity: 1;
  background-color: rgb(237 250 250 / var(--tw-bg-opacity, 1));
}

.bg-teal-50\/30{
  background-color: rgb(237 250 250 / 0.3);
}

.bg-teal-500{
  --tw-bg-opacity: 1;
  background-color: rgb(6 148 162 / var(--tw-bg-opacity, 1));
}

.bg-transparent{
  background-color: transparent;
}

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

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

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

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

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

.bg-white\/40{
  background-color: rgb(255 255 255 / 0.4);
}

.bg-white\/5{
  background-color: rgb(255 255 255 / 0.05);
}

.bg-white\/50{
  background-color: rgb(255 255 255 / 0.5);
}

.bg-white\/60{
  background-color: rgb(255 255 255 / 0.6);
}

.bg-white\/70{
  background-color: rgb(255 255 255 / 0.7);
}

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

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

.bg-white\/95{
  background-color: rgb(255 255 255 / 0.95);
}

.bg-yellow-100{
  --tw-bg-opacity: 1;
  background-color: rgb(253 246 178 / var(--tw-bg-opacity, 1));
}

.bg-yellow-200{
  --tw-bg-opacity: 1;
  background-color: rgb(252 233 106 / var(--tw-bg-opacity, 1));
}

.bg-yellow-300{
  --tw-bg-opacity: 1;
  background-color: rgb(250 202 21 / var(--tw-bg-opacity, 1));
}

.bg-yellow-400{
  --tw-bg-opacity: 1;
  background-color: rgb(227 160 8 / var(--tw-bg-opacity, 1));
}

.bg-yellow-50{
  --tw-bg-opacity: 1;
  background-color: rgb(253 253 234 / var(--tw-bg-opacity, 1));
}

.bg-yellow-50\/80{
  background-color: rgb(253 253 234 / 0.8);
}

.bg-yellow-500{
  --tw-bg-opacity: 1;
  background-color: rgb(194 120 3 / var(--tw-bg-opacity, 1));
}

.bg-yellow-600{
  --tw-bg-opacity: 1;
  background-color: rgb(159 88 10 / var(--tw-bg-opacity, 1));
}

.bg-opacity-10{
  --tw-bg-opacity: 0.1;
}

.bg-opacity-15{
  --tw-bg-opacity: 0.15;
}

.bg-opacity-20{
  --tw-bg-opacity: 0.2;
}

.bg-opacity-30{
  --tw-bg-opacity: 0.3;
}

.bg-opacity-50{
  --tw-bg-opacity: 0.5;
}

.bg-opacity-60{
  --tw-bg-opacity: 0.6;
}

.bg-opacity-70{
  --tw-bg-opacity: 0.7;
}

.bg-opacity-75{
  --tw-bg-opacity: 0.75;
}

.bg-opacity-80{
  --tw-bg-opacity: 0.8;
}

.bg-opacity-90{
  --tw-bg-opacity: 0.9;
}

.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}

.bg-gradient-to-bl{
  background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
}

.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.bg-gradient-to-l{
  background-image: linear-gradient(to left, var(--tw-gradient-stops));
}

.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-t{
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}

.from-\[\#0f172a\]{
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#7CB342\]{
  --tw-gradient-from: #7CB342 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 179 66 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-100{
  --tw-gradient-from: #fef3c7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 243 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-400{
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-50{
  --tw-gradient-from: #fffbeb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 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-black{
  --tw-gradient-from: #000000 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/30{
  --tw-gradient-from: rgb(0 0 0 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/60{
  --tw-gradient-from: rgb(0 0 0 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/70{
  --tw-gradient-from: rgb(0 0 0 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/80{
  --tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-100{
  --tw-gradient-from: #E1EFFE var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-100\/30{
  --tw-gradient-from: rgb(225 239 254 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-100\/60{
  --tw-gradient-from: rgb(225 239 254 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(225 239 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-200{
  --tw-gradient-from: #C3DDFD var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-200\/30{
  --tw-gradient-from: rgb(195 221 253 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(195 221 253 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-400{
  --tw-gradient-from: #76A9FA var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(118 169 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-400\/10{
  --tw-gradient-from: rgb(118 169 250 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(118 169 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-400\/20{
  --tw-gradient-from: rgb(118 169 250 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(118 169 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-50{
  --tw-gradient-from: #EBF5FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(235 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-50\/50{
  --tw-gradient-from: rgb(235 245 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(235 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-500{
  --tw-gradient-from: #3F83F8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-500\/10{
  --tw-gradient-from: rgb(63 131 248 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-500\/20{
  --tw-gradient-from: rgb(63 131 248 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-500\/5{
  --tw-gradient-from: rgb(63 131 248 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-600{
  --tw-gradient-from: #1C64F2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-blue-600\/80{
  --tw-gradient-from: rgb(28 100 242 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-400{
  --tw-gradient-from: #22d3ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-50{
  --tw-gradient-from: #ecfeff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 254 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-500{
  --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-emerald-100{
  --tw-gradient-from: #d1fae5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 250 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-emerald-200{
  --tw-gradient-from: #a7f3d0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 243 208 / 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-50{
  --tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 253 245 / 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\/20{
  --tw-gradient-from: rgb(16 185 129 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-emerald-600{
  --tw-gradient-from: #059669 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-200{
  --tw-gradient-from: #E5E7EB var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(229 231 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-50{
  --tw-gradient-from: #F9FAFB var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-50\/50{
  --tw-gradient-from: rgb(249 250 251 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-500{
  --tw-gradient-from: #6B7280 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-600{
  --tw-gradient-from: #4B5563 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-700{
  --tw-gradient-from: #374151 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-800{
  --tw-gradient-from: #1F2937 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900{
  --tw-gradient-from: #111827 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-100{
  --tw-gradient-from: #DEF7EC var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(222 247 236 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-400{
  --tw-gradient-from: #31C48D var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-50{
  --tw-gradient-from: #F3FAF7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 250 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-500{
  --tw-gradient-from: #0E9F6E var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 159 110 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-600{
  --tw-gradient-from: #057A55 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 122 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-700{
  --tw-gradient-from: #046C4E var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(4 108 78 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-indigo-200\/20{
  --tw-gradient-from: rgb(205 219 254 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(205 219 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-indigo-50{
  --tw-gradient-from: #F0F5FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-indigo-600{
  --tw-gradient-from: #5850EC var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(88 80 236 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-indigo-800{
  --tw-gradient-from: #42389D var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(66 56 157 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-lime-100{
  --tw-gradient-from: #ecfccb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 252 203 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-orange-400{
  --tw-gradient-from: #FF8A4C var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 138 76 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-orange-50{
  --tw-gradient-from: #FFF8F1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 248 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-orange-500{
  --tw-gradient-from: #FF5A1F var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 90 31 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-orange-500\/20{
  --tw-gradient-from: rgb(255 90 31 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 90 31 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-orange-600{
  --tw-gradient-from: #D03801 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(208 56 1 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-pink-200{
  --tw-gradient-from: #FAD1E8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 209 232 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-pink-400{
  --tw-gradient-from: #F17EB8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 126 184 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-pink-50{
  --tw-gradient-from: #FDF2F8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-pink-500{
  --tw-gradient-from: #E74694 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-purple-100{
  --tw-gradient-from: #EDEBFE var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 235 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-purple-100\/30{
  --tw-gradient-from: rgb(237 235 254 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 235 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-purple-400{
  --tw-gradient-from: #AC94FA var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(172 148 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-purple-400\/10{
  --tw-gradient-from: rgb(172 148 250 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(172 148 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-purple-50{
  --tw-gradient-from: #F6F5FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(246 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-purple-500{
  --tw-gradient-from: #9061F9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-purple-600{
  --tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-100{
  --tw-gradient-from: #FDE8E8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 232 232 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-200{
  --tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-50{
  --tw-gradient-from: #FDF2F2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-500{
  --tw-gradient-from: #F05252 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 82 82 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-500\/20{
  --tw-gradient-from: rgb(240 82 82 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 82 82 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-600{
  --tw-gradient-from: #E02424 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 36 36 / 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-slate-100{
  --tw-gradient-from: #f1f5f9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(241 245 249 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-50{
  --tw-gradient-from: #f8fafc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-500{
  --tw-gradient-from: #64748b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-600{
  --tw-gradient-from: #475569 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(71 85 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-700{
  --tw-gradient-from: #334155 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-800{
  --tw-gradient-from: #1e293b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-900{
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-teal-50{
  --tw-gradient-from: #EDFAFA var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 250 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-transparent{
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-violet-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-white{
  --tw-gradient-from: #ffffff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-white\/20{
  --tw-gradient-from: rgb(255 255 255 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-white\/80{
  --tw-gradient-from: rgb(255 255 255 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-white\/90{
  --tw-gradient-from: rgb(255 255 255 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-yellow-400{
  --tw-gradient-from: #E3A008 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(227 160 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-yellow-50{
  --tw-gradient-from: #FDFDEA var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 253 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-yellow-500{
  --tw-gradient-from: #C27803 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(194 120 3 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-amber-50{
  --tw-gradient-to: rgb(255 251 235 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fffbeb var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/50{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-100{
  --tw-gradient-to: rgb(225 239 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #E1EFFE var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-50{
  --tw-gradient-to: rgb(235 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #EBF5FF var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-50\/20{
  --tw-gradient-to: rgb(235 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(235 245 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-50\/30{
  --tw-gradient-to: rgb(235 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(235 245 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-50\/40{
  --tw-gradient-to: rgb(235 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(235 245 255 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-500{
  --tw-gradient-to: rgb(63 131 248 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #3F83F8 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-600{
  --tw-gradient-to: rgb(28 100 242 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1C64F2 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-600\/20{
  --tw-gradient-to: rgb(28 100 242 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(28 100 242 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-900{
  --tw-gradient-to: rgb(35 56 118 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #233876 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-emerald-50{
  --tw-gradient-to: rgb(236 253 245 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ecfdf5 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-emerald-600{
  --tw-gradient-to: rgb(5 150 105 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #059669 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-emerald-600\/20{
  --tw-gradient-to: rgb(5 150 105 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(5 150 105 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-300{
  --tw-gradient-to: rgb(209 213 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #D1D5DB var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-green-200{
  --tw-gradient-to: rgb(188 240 218 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #BCF0DA var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-green-50{
  --tw-gradient-to: rgb(243 250 247 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #F3FAF7 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-green-500{
  --tw-gradient-to: rgb(14 159 110 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0E9F6E var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-green-600{
  --tw-gradient-to: rgb(5 122 85 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #057A55 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-indigo-200{
  --tw-gradient-to: rgb(205 219 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #CDDBFE var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-indigo-50{
  --tw-gradient-to: rgb(240 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #F0F5FF var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-indigo-50\/50{
  --tw-gradient-to: rgb(240 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(240 245 255 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-indigo-500{
  --tw-gradient-to: rgb(104 117 245 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #6875F5 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-indigo-600{
  --tw-gradient-to: rgb(88 80 236 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #5850EC var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-orange-500{
  --tw-gradient-to: rgb(255 90 31 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #FF5A1F var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-orange-600{
  --tw-gradient-to: rgb(208 56 1 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #D03801 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-orange-600\/20{
  --tw-gradient-to: rgb(208 56 1 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(208 56 1 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-pink-50{
  --tw-gradient-to: rgb(253 242 248 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #FDF2F8 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-pink-600{
  --tw-gradient-to: rgb(214 31 105 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #D61F69 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-400{
  --tw-gradient-to: rgb(172 148 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #AC94FA var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-50{
  --tw-gradient-to: rgb(246 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #F6F5FF var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-600{
  --tw-gradient-to: rgb(126 58 242 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7E3AF2 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-600\/80{
  --tw-gradient-to: rgb(126 58 242 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(126 58 242 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-red-600{
  --tw-gradient-to: rgb(224 36 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #E02424 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-red-600\/20{
  --tw-gradient-to: rgb(224 36 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(224 36 36 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-red-700{
  --tw-gradient-to: rgb(200 30 30 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #C81E1E var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-slate-50\/50{
  --tw-gradient-to: rgb(248 250 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(248 250 252 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-slate-800{
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e293b var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-slate-900{
  --tw-gradient-to: rgb(15 23 42 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0f172a var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-transparent{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ffffff var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white\/20{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white\/60{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-yellow-200{
  --tw-gradient-to: rgb(252 233 106 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #FCE96A var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-\[\#1e3a8a\]{
  --tw-gradient-to: #1e3a8a var(--tw-gradient-to-position);
}

.to-\[\#558B2F\]{
  --tw-gradient-to: #558B2F var(--tw-gradient-to-position);
}

.to-amber-100{
  --tw-gradient-to: #fef3c7 var(--tw-gradient-to-position);
}

.to-amber-50{
  --tw-gradient-to: #fffbeb var(--tw-gradient-to-position);
}

.to-amber-500{
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}

.to-amber-600{
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}

.to-amber-600\/20{
  --tw-gradient-to: rgb(217 119 6 / 0.2) var(--tw-gradient-to-position);
}

.to-blue-100{
  --tw-gradient-to: #E1EFFE var(--tw-gradient-to-position);
}

.to-blue-200{
  --tw-gradient-to: #C3DDFD var(--tw-gradient-to-position);
}

.to-blue-50{
  --tw-gradient-to: #EBF5FF var(--tw-gradient-to-position);
}

.to-blue-50\/30{
  --tw-gradient-to: rgb(235 245 255 / 0.3) var(--tw-gradient-to-position);
}

.to-blue-50\/40{
  --tw-gradient-to: rgb(235 245 255 / 0.4) var(--tw-gradient-to-position);
}

.to-blue-500{
  --tw-gradient-to: #3F83F8 var(--tw-gradient-to-position);
}

.to-blue-600{
  --tw-gradient-to: #1C64F2 var(--tw-gradient-to-position);
}

.to-blue-700{
  --tw-gradient-to: #1A56DB var(--tw-gradient-to-position);
}

.to-blue-800{
  --tw-gradient-to: #1E429F var(--tw-gradient-to-position);
}

.to-blue-900{
  --tw-gradient-to: #233876 var(--tw-gradient-to-position);
}

.to-cyan-100{
  --tw-gradient-to: #cffafe var(--tw-gradient-to-position);
}

.to-cyan-50{
  --tw-gradient-to: #ecfeff var(--tw-gradient-to-position);
}

.to-cyan-500{
  --tw-gradient-to: #06b6d4 var(--tw-gradient-to-position);
}

.to-emerald-100{
  --tw-gradient-to: #d1fae5 var(--tw-gradient-to-position);
}

.to-emerald-50{
  --tw-gradient-to: #ecfdf5 var(--tw-gradient-to-position);
}

.to-emerald-500{
  --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}

.to-emerald-600{
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}

.to-emerald-700{
  --tw-gradient-to: #047857 var(--tw-gradient-to-position);
}

.to-emerald-800{
  --tw-gradient-to: #065f46 var(--tw-gradient-to-position);
}

.to-gray-100{
  --tw-gradient-to: #F3F4F6 var(--tw-gradient-to-position);
}

.to-gray-200{
  --tw-gradient-to: #E5E7EB var(--tw-gradient-to-position);
}

.to-gray-300{
  --tw-gradient-to: #D1D5DB var(--tw-gradient-to-position);
}

.to-gray-50{
  --tw-gradient-to: #F9FAFB var(--tw-gradient-to-position);
}

.to-gray-500{
  --tw-gradient-to: #6B7280 var(--tw-gradient-to-position);
}

.to-gray-600{
  --tw-gradient-to: #4B5563 var(--tw-gradient-to-position);
}

.to-gray-700{
  --tw-gradient-to: #374151 var(--tw-gradient-to-position);
}

.to-gray-900{
  --tw-gradient-to: #111827 var(--tw-gradient-to-position);
}

.to-green-100{
  --tw-gradient-to: #DEF7EC var(--tw-gradient-to-position);
}

.to-green-200{
  --tw-gradient-to: #BCF0DA var(--tw-gradient-to-position);
}

.to-green-50{
  --tw-gradient-to: #F3FAF7 var(--tw-gradient-to-position);
}

.to-green-500{
  --tw-gradient-to: #0E9F6E var(--tw-gradient-to-position);
}

.to-green-600{
  --tw-gradient-to: #057A55 var(--tw-gradient-to-position);
}

.to-green-700{
  --tw-gradient-to: #046C4E var(--tw-gradient-to-position);
}

.to-green-900{
  --tw-gradient-to: #014737 var(--tw-gradient-to-position);
}

.to-indigo-100{
  --tw-gradient-to: #E5EDFF var(--tw-gradient-to-position);
}

.to-indigo-50{
  --tw-gradient-to: #F0F5FF var(--tw-gradient-to-position);
}

.to-indigo-50\/20{
  --tw-gradient-to: rgb(240 245 255 / 0.2) var(--tw-gradient-to-position);
}

.to-indigo-50\/40{
  --tw-gradient-to: rgb(240 245 255 / 0.4) var(--tw-gradient-to-position);
}

.to-indigo-500{
  --tw-gradient-to: #6875F5 var(--tw-gradient-to-position);
}

.to-indigo-500\/10{
  --tw-gradient-to: rgb(104 117 245 / 0.1) var(--tw-gradient-to-position);
}

.to-indigo-600{
  --tw-gradient-to: #5850EC var(--tw-gradient-to-position);
}

.to-indigo-600\/20{
  --tw-gradient-to: rgb(88 80 236 / 0.2) var(--tw-gradient-to-position);
}

.to-indigo-600\/80{
  --tw-gradient-to: rgb(88 80 236 / 0.8) var(--tw-gradient-to-position);
}

.to-indigo-700{
  --tw-gradient-to: #5145CD var(--tw-gradient-to-position);
}

.to-lime-50{
  --tw-gradient-to: #f7fee7 var(--tw-gradient-to-position);
}

.to-orange-100{
  --tw-gradient-to: #FEECDC var(--tw-gradient-to-position);
}

.to-orange-400{
  --tw-gradient-to: #FF8A4C var(--tw-gradient-to-position);
}

.to-orange-50{
  --tw-gradient-to: #FFF8F1 var(--tw-gradient-to-position);
}

.to-orange-500{
  --tw-gradient-to: #FF5A1F var(--tw-gradient-to-position);
}

.to-orange-600{
  --tw-gradient-to: #D03801 var(--tw-gradient-to-position);
}

.to-orange-700{
  --tw-gradient-to: #B43403 var(--tw-gradient-to-position);
}

.to-pink-100{
  --tw-gradient-to: #FCE8F3 var(--tw-gradient-to-position);
}

.to-pink-100\/30{
  --tw-gradient-to: rgb(252 232 243 / 0.3) var(--tw-gradient-to-position);
}

.to-pink-200\/20{
  --tw-gradient-to: rgb(250 209 232 / 0.2) var(--tw-gradient-to-position);
}

.to-pink-400{
  --tw-gradient-to: #F17EB8 var(--tw-gradient-to-position);
}

.to-pink-50{
  --tw-gradient-to: #FDF2F8 var(--tw-gradient-to-position);
}

.to-pink-500{
  --tw-gradient-to: #E74694 var(--tw-gradient-to-position);
}

.to-pink-500\/10{
  --tw-gradient-to: rgb(231 70 148 / 0.1) var(--tw-gradient-to-position);
}

.to-pink-600{
  --tw-gradient-to: #D61F69 var(--tw-gradient-to-position);
}

.to-purple-100{
  --tw-gradient-to: #EDEBFE var(--tw-gradient-to-position);
}

.to-purple-100\/40{
  --tw-gradient-to: rgb(237 235 254 / 0.4) var(--tw-gradient-to-position);
}

.to-purple-200{
  --tw-gradient-to: #DCD7FE var(--tw-gradient-to-position);
}

.to-purple-200\/30{
  --tw-gradient-to: rgb(220 215 254 / 0.3) var(--tw-gradient-to-position);
}

.to-purple-400{
  --tw-gradient-to: #AC94FA var(--tw-gradient-to-position);
}

.to-purple-400\/20{
  --tw-gradient-to: rgb(172 148 250 / 0.2) var(--tw-gradient-to-position);
}

.to-purple-50{
  --tw-gradient-to: #F6F5FF var(--tw-gradient-to-position);
}

.to-purple-50\/20{
  --tw-gradient-to: rgb(246 245 255 / 0.2) var(--tw-gradient-to-position);
}

.to-purple-50\/30{
  --tw-gradient-to: rgb(246 245 255 / 0.3) var(--tw-gradient-to-position);
}

.to-purple-50\/50{
  --tw-gradient-to: rgb(246 245 255 / 0.5) var(--tw-gradient-to-position);
}

.to-purple-500{
  --tw-gradient-to: #9061F9 var(--tw-gradient-to-position);
}

.to-purple-500\/10{
  --tw-gradient-to: rgb(144 97 249 / 0.1) var(--tw-gradient-to-position);
}

.to-purple-500\/5{
  --tw-gradient-to: rgb(144 97 249 / 0.05) var(--tw-gradient-to-position);
}

.to-purple-600{
  --tw-gradient-to: #7E3AF2 var(--tw-gradient-to-position);
}

.to-purple-700{
  --tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position);
}

.to-purple-900{
  --tw-gradient-to: #4A1D96 var(--tw-gradient-to-position);
}

.to-red-100{
  --tw-gradient-to: #FDE8E8 var(--tw-gradient-to-position);
}

.to-red-400{
  --tw-gradient-to: #F98080 var(--tw-gradient-to-position);
}

.to-red-50{
  --tw-gradient-to: #FDF2F2 var(--tw-gradient-to-position);
}

.to-red-500{
  --tw-gradient-to: #F05252 var(--tw-gradient-to-position);
}

.to-red-600{
  --tw-gradient-to: #E02424 var(--tw-gradient-to-position);
}

.to-red-700{
  --tw-gradient-to: #C81E1E var(--tw-gradient-to-position);
}

.to-red-800{
  --tw-gradient-to: #9B1C1C var(--tw-gradient-to-position);
}

.to-rose-100{
  --tw-gradient-to: #ffe4e6 var(--tw-gradient-to-position);
}

.to-rose-200{
  --tw-gradient-to: #fecdd3 var(--tw-gradient-to-position);
}

.to-rose-400{
  --tw-gradient-to: #fb7185 var(--tw-gradient-to-position);
}

.to-rose-50{
  --tw-gradient-to: #fff1f2 var(--tw-gradient-to-position);
}

.to-rose-600{
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}

.to-rose-700{
  --tw-gradient-to: #be123c var(--tw-gradient-to-position);
}

.to-rose-700\/20{
  --tw-gradient-to: rgb(190 18 60 / 0.2) var(--tw-gradient-to-position);
}

.to-sky-400{
  --tw-gradient-to: #38bdf8 var(--tw-gradient-to-position);
}

.to-sky-50{
  --tw-gradient-to: #f0f9ff var(--tw-gradient-to-position);
}

.to-sky-500\/20{
  --tw-gradient-to: rgb(14 165 233 / 0.2) var(--tw-gradient-to-position);
}

.to-slate-100{
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
}

.to-slate-200{
  --tw-gradient-to: #e2e8f0 var(--tw-gradient-to-position);
}

.to-slate-50{
  --tw-gradient-to: #f8fafc var(--tw-gradient-to-position);
}

.to-slate-500{
  --tw-gradient-to: #64748b var(--tw-gradient-to-position);
}

.to-slate-600{
  --tw-gradient-to: #475569 var(--tw-gradient-to-position);
}

.to-slate-700{
  --tw-gradient-to: #334155 var(--tw-gradient-to-position);
}

.to-slate-800{
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}

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

.to-teal-100{
  --tw-gradient-to: #D5F5F6 var(--tw-gradient-to-position);
}

.to-teal-100\/30{
  --tw-gradient-to: rgb(213 245 246 / 0.3) var(--tw-gradient-to-position);
}

.to-teal-200{
  --tw-gradient-to: #AFECEF var(--tw-gradient-to-position);
}

.to-teal-400{
  --tw-gradient-to: #16BDCA var(--tw-gradient-to-position);
}

.to-teal-50{
  --tw-gradient-to: #EDFAFA var(--tw-gradient-to-position);
}

.to-teal-500{
  --tw-gradient-to: #0694A2 var(--tw-gradient-to-position);
}

.to-teal-600{
  --tw-gradient-to: #047481 var(--tw-gradient-to-position);
}

.to-teal-600\/20{
  --tw-gradient-to: rgb(4 116 129 / 0.2) var(--tw-gradient-to-position);
}

.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.to-violet-100{
  --tw-gradient-to: #ede9fe var(--tw-gradient-to-position);
}

.to-violet-50{
  --tw-gradient-to: #f5f3ff var(--tw-gradient-to-position);
}

.to-violet-600{
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}

.to-white{
  --tw-gradient-to: #ffffff var(--tw-gradient-to-position);
}

.to-white\/40{
  --tw-gradient-to: rgb(255 255 255 / 0.4) var(--tw-gradient-to-position);
}

.to-white\/60{
  --tw-gradient-to: rgb(255 255 255 / 0.6) var(--tw-gradient-to-position);
}

.to-yellow-100{
  --tw-gradient-to: #FDF6B2 var(--tw-gradient-to-position);
}

.bg-cover{
  background-size: cover;
}

.bg-clip-text{
  -webkit-background-clip: text;
          background-clip: text;
}

.bg-center{
  background-position: center;
}

.fill-amber-400{
  fill: #fbbf24;
}

.fill-amber-500{
  fill: #f59e0b;
}

.fill-blue-100{
  fill: #E1EFFE;
}

.fill-current{
  fill: currentColor;
}

.fill-rose-500{
  fill: #f43f5e;
}

.fill-white{
  fill: #ffffff;
}

.fill-yellow-400{
  fill: #E3A008;
}

.fill-yellow-500{
  fill: #C27803;
}

.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}

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

.p-0{
  padding: 0px;
}

.p-1{
  padding: 0.25rem;
}

.p-1\.5{
  padding: 0.375rem;
}

.p-10{
  padding: 2.5rem;
}

.p-12{
  padding: 3rem;
}

.p-16{
  padding: 4rem;
}

.p-2{
  padding: 0.5rem;
}

.p-2\.5{
  padding: 0.625rem;
}

.p-20{
  padding: 5rem;
}

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

.px-0{
  padding-left: 0px;
  padding-right: 0px;
}

.px-1{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

.px-1\.5{
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}

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

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

.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}

.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

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

.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

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

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

.py-0{
  padding-top: 0px;
  padding-bottom: 0px;
}

.py-0\.5{
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}

.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

.py-1\.5{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

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

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

.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}

.py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-3\.5{
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-0{
  padding-bottom: 0px;
}

.pb-1{
  padding-bottom: 0.25rem;
}

.pb-12{
  padding-bottom: 3rem;
}

.pb-16{
  padding-bottom: 4rem;
}

.pb-2{
  padding-bottom: 0.5rem;
}

.pb-20{
  padding-bottom: 5rem;
}

.pb-3{
  padding-bottom: 0.75rem;
}

.pb-4{
  padding-bottom: 1rem;
}

.pb-5{
  padding-bottom: 1.25rem;
}

.pb-6{
  padding-bottom: 1.5rem;
}

.pb-8{
  padding-bottom: 2rem;
}

.pe-2{
  padding-inline-end: 0.5rem;
}

.pe-8{
  padding-inline-end: 2rem;
}

.pl-1{
  padding-left: 0.25rem;
}

.pl-10{
  padding-left: 2.5rem;
}

.pl-11{
  padding-left: 2.75rem;
}

.pl-12{
  padding-left: 3rem;
}

.pl-14{
  padding-left: 3.5rem;
}

.pl-2{
  padding-left: 0.5rem;
}

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

.pr-10{
  padding-right: 2.5rem;
}

.pr-12{
  padding-right: 3rem;
}

.pr-16{
  padding-right: 4rem;
}

.pr-2{
  padding-right: 0.5rem;
}

.pr-24{
  padding-right: 6rem;
}

.pr-3{
  padding-right: 0.75rem;
}

.pr-32{
  padding-right: 8rem;
}

.pr-4{
  padding-right: 1rem;
}

.pr-6{
  padding-right: 1.5rem;
}

.pr-8{
  padding-right: 2rem;
}

.ps-0{
  padding-inline-start: 0px;
}

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

.pt-0\.5{
  padding-top: 0.125rem;
}

.pt-1{
  padding-top: 0.25rem;
}

.pt-10{
  padding-top: 2.5rem;
}

.pt-12{
  padding-top: 3rem;
}

.pt-14{
  padding-top: 3.5rem;
}

.pt-16{
  padding-top: 4rem;
}

.pt-2{
  padding-top: 0.5rem;
}

.pt-20{
  padding-top: 5rem;
}

.pt-3{
  padding-top: 0.75rem;
}

.pt-4{
  padding-top: 1rem;
}

.pt-5{
  padding-top: 1.25rem;
}

.pt-6{
  padding-top: 1.5rem;
}

.pt-8{
  padding-top: 2rem;
}

.pt-\[56\.25\%\]{
  padding-top: 56.25%;
}

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

.text-center{
  text-align: center;
}

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

.text-start{
  text-align: start;
}

.text-end{
  text-align: end;
}

.align-middle{
  vertical-align: middle;
}

.font-\[\'Lato\'\2c sans-serif\]{
  font-family: 'Lato',sans-serif;
}

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

.font-serif{
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}

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

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

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

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

.text-6xl{
  font-size: 3.75rem;
  line-height: 1;
}

.text-7xl{
  font-size: 4.5rem;
  line-height: 1;
}

.text-9xl{
  font-size: 8rem;
  line-height: 1;
}

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

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

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

.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}

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

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

.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}

.font-black{
  font-weight: 900;
}

.font-bold{
  font-weight: 700;
}

.font-extrabold{
  font-weight: 800;
}

.font-light{
  font-weight: 300;
}

.font-medium{
  font-weight: 500;
}

.font-normal{
  font-weight: 400;
}

.font-semibold{
  font-weight: 600;
}

.uppercase{
  text-transform: uppercase;
}

.lowercase{
  text-transform: lowercase;
}

.capitalize{
  text-transform: capitalize;
}

.italic{
  font-style: italic;
}

.leading-4{
  line-height: 1rem;
}

.leading-5{
  line-height: 1.25rem;
}

.leading-6{
  line-height: 1.5rem;
}

.leading-9{
  line-height: 2.25rem;
}

.leading-none{
  line-height: 1;
}

.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-tighter{
  letter-spacing: -0.05em;
}

.tracking-wide{
  letter-spacing: 0.025em;
}

.tracking-wider{
  letter-spacing: 0.05em;
}

.tracking-widest{
  letter-spacing: 0.1em;
}

.text-\[\#0f172a\]{
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}

.text-\[\#1e3a8a\]{
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}

.text-\[\#312e81\]{
  --tw-text-opacity: 1;
  color: rgb(49 46 129 / var(--tw-text-opacity, 1));
}

.text-\[\#7CB342\]{
  --tw-text-opacity: 1;
  color: rgb(124 179 66 / var(--tw-text-opacity, 1));
}

.text-\[\#7CB342\]\/20{
  color: rgb(124 179 66 / 0.2);
}

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

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

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

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

.text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.text-amber-700{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.text-amber-800{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}

.text-amber-900{
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}

.text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.text-blue-100{
  --tw-text-opacity: 1;
  color: rgb(225 239 254 / var(--tw-text-opacity, 1));
}

.text-blue-200{
  --tw-text-opacity: 1;
  color: rgb(195 221 253 / var(--tw-text-opacity, 1));
}

.text-blue-300{
  --tw-text-opacity: 1;
  color: rgb(164 202 254 / var(--tw-text-opacity, 1));
}

.text-blue-300\/60{
  color: rgb(164 202 254 / 0.6);
}

.text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(118 169 250 / var(--tw-text-opacity, 1));
}

.text-blue-50{
  --tw-text-opacity: 1;
  color: rgb(235 245 255 / var(--tw-text-opacity, 1));
}

.text-blue-500{
  --tw-text-opacity: 1;
  color: rgb(63 131 248 / var(--tw-text-opacity, 1));
}

.text-blue-600{
  --tw-text-opacity: 1;
  color: rgb(28 100 242 / var(--tw-text-opacity, 1));
}

.text-blue-700{
  --tw-text-opacity: 1;
  color: rgb(26 86 219 / var(--tw-text-opacity, 1));
}

.text-blue-800{
  --tw-text-opacity: 1;
  color: rgb(30 66 159 / var(--tw-text-opacity, 1));
}

.text-blue-800\/80{
  color: rgb(30 66 159 / 0.8);
}

.text-blue-900{
  --tw-text-opacity: 1;
  color: rgb(35 56 118 / var(--tw-text-opacity, 1));
}

.text-cyan-300{
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.text-cyan-400{
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}

.text-cyan-500{
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}

.text-cyan-600{
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}

.text-cyan-700{
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}

.text-cyan-800{
  --tw-text-opacity: 1;
  color: rgb(21 94 117 / var(--tw-text-opacity, 1));
}

.text-destructive-foreground{
  color: hsl(var(--destructive-foreground));
}

.text-emerald-100{
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}

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

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

.text-emerald-500{
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}

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

.text-emerald-700{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}

.text-emerald-800{
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

.text-emerald-900{
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}

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

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

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

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

.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

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

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

.text-gray-800{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.text-gray-900{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.text-green-100{
  --tw-text-opacity: 1;
  color: rgb(222 247 236 / var(--tw-text-opacity, 1));
}

.text-green-200{
  --tw-text-opacity: 1;
  color: rgb(188 240 218 / var(--tw-text-opacity, 1));
}

.text-green-300{
  --tw-text-opacity: 1;
  color: rgb(132 225 188 / var(--tw-text-opacity, 1));
}

.text-green-400{
  --tw-text-opacity: 1;
  color: rgb(49 196 141 / var(--tw-text-opacity, 1));
}

.text-green-500{
  --tw-text-opacity: 1;
  color: rgb(14 159 110 / var(--tw-text-opacity, 1));
}

.text-green-600{
  --tw-text-opacity: 1;
  color: rgb(5 122 85 / var(--tw-text-opacity, 1));
}

.text-green-700{
  --tw-text-opacity: 1;
  color: rgb(4 108 78 / var(--tw-text-opacity, 1));
}

.text-green-700\/70{
  color: rgb(4 108 78 / 0.7);
}

.text-green-800{
  --tw-text-opacity: 1;
  color: rgb(3 84 63 / var(--tw-text-opacity, 1));
}

.text-green-900{
  --tw-text-opacity: 1;
  color: rgb(1 71 55 / var(--tw-text-opacity, 1));
}

.text-indigo-200{
  --tw-text-opacity: 1;
  color: rgb(205 219 254 / var(--tw-text-opacity, 1));
}

.text-indigo-500{
  --tw-text-opacity: 1;
  color: rgb(104 117 245 / var(--tw-text-opacity, 1));
}

.text-indigo-600{
  --tw-text-opacity: 1;
  color: rgb(88 80 236 / var(--tw-text-opacity, 1));
}

.text-indigo-700{
  --tw-text-opacity: 1;
  color: rgb(81 69 205 / var(--tw-text-opacity, 1));
}

.text-indigo-800{
  --tw-text-opacity: 1;
  color: rgb(66 56 157 / var(--tw-text-opacity, 1));
}

.text-indigo-900{
  --tw-text-opacity: 1;
  color: rgb(54 47 120 / var(--tw-text-opacity, 1));
}

.text-lime-600{
  --tw-text-opacity: 1;
  color: rgb(101 163 13 / var(--tw-text-opacity, 1));
}

.text-lime-700{
  --tw-text-opacity: 1;
  color: rgb(77 124 15 / var(--tw-text-opacity, 1));
}

.text-lime-800{
  --tw-text-opacity: 1;
  color: rgb(63 98 18 / var(--tw-text-opacity, 1));
}

.text-lime-900{
  --tw-text-opacity: 1;
  color: rgb(54 83 20 / var(--tw-text-opacity, 1));
}

.text-orange-100{
  --tw-text-opacity: 1;
  color: rgb(254 236 220 / var(--tw-text-opacity, 1));
}

.text-orange-300{
  --tw-text-opacity: 1;
  color: rgb(253 186 140 / var(--tw-text-opacity, 1));
}

.text-orange-400{
  --tw-text-opacity: 1;
  color: rgb(255 138 76 / var(--tw-text-opacity, 1));
}

.text-orange-500{
  --tw-text-opacity: 1;
  color: rgb(255 90 31 / var(--tw-text-opacity, 1));
}

.text-orange-600{
  --tw-text-opacity: 1;
  color: rgb(208 56 1 / var(--tw-text-opacity, 1));
}

.text-orange-700{
  --tw-text-opacity: 1;
  color: rgb(180 52 3 / var(--tw-text-opacity, 1));
}

.text-orange-800{
  --tw-text-opacity: 1;
  color: rgb(138 44 13 / var(--tw-text-opacity, 1));
}

.text-orange-900{
  --tw-text-opacity: 1;
  color: rgb(119 29 29 / var(--tw-text-opacity, 1));
}

.text-pink-300\/60{
  color: rgb(248 180 217 / 0.6);
}

.text-pink-400{
  --tw-text-opacity: 1;
  color: rgb(241 126 184 / var(--tw-text-opacity, 1));
}

.text-pink-600{
  --tw-text-opacity: 1;
  color: rgb(214 31 105 / var(--tw-text-opacity, 1));
}

.text-pink-700{
  --tw-text-opacity: 1;
  color: rgb(191 18 93 / var(--tw-text-opacity, 1));
}

.text-pink-800{
  --tw-text-opacity: 1;
  color: rgb(153 21 75 / var(--tw-text-opacity, 1));
}

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

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

.text-purple-100{
  --tw-text-opacity: 1;
  color: rgb(237 235 254 / var(--tw-text-opacity, 1));
}

.text-purple-200{
  --tw-text-opacity: 1;
  color: rgb(220 215 254 / var(--tw-text-opacity, 1));
}

.text-purple-400{
  --tw-text-opacity: 1;
  color: rgb(172 148 250 / var(--tw-text-opacity, 1));
}

.text-purple-500{
  --tw-text-opacity: 1;
  color: rgb(144 97 249 / var(--tw-text-opacity, 1));
}

.text-purple-600{
  --tw-text-opacity: 1;
  color: rgb(126 58 242 / var(--tw-text-opacity, 1));
}

.text-purple-700{
  --tw-text-opacity: 1;
  color: rgb(108 43 217 / var(--tw-text-opacity, 1));
}

.text-purple-800{
  --tw-text-opacity: 1;
  color: rgb(85 33 181 / var(--tw-text-opacity, 1));
}

.text-purple-900{
  --tw-text-opacity: 1;
  color: rgb(74 29 150 / var(--tw-text-opacity, 1));
}

.text-red-100{
  --tw-text-opacity: 1;
  color: rgb(253 232 232 / var(--tw-text-opacity, 1));
}

.text-red-200{
  --tw-text-opacity: 1;
  color: rgb(251 213 213 / var(--tw-text-opacity, 1));
}

.text-red-300{
  --tw-text-opacity: 1;
  color: rgb(248 180 180 / var(--tw-text-opacity, 1));
}

.text-red-400{
  --tw-text-opacity: 1;
  color: rgb(249 128 128 / var(--tw-text-opacity, 1));
}

.text-red-500{
  --tw-text-opacity: 1;
  color: rgb(240 82 82 / var(--tw-text-opacity, 1));
}

.text-red-600{
  --tw-text-opacity: 1;
  color: rgb(224 36 36 / var(--tw-text-opacity, 1));
}

.text-red-700{
  --tw-text-opacity: 1;
  color: rgb(200 30 30 / var(--tw-text-opacity, 1));
}

.text-red-700\/70{
  color: rgb(200 30 30 / 0.7);
}

.text-red-800{
  --tw-text-opacity: 1;
  color: rgb(155 28 28 / var(--tw-text-opacity, 1));
}

.text-red-900{
  --tw-text-opacity: 1;
  color: rgb(119 29 29 / var(--tw-text-opacity, 1));
}

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

.text-rose-500{
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}

.text-rose-600{
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}

.text-secondary-foreground{
  color: hsl(var(--secondary-foreground));
}

.text-sky-200{
  --tw-text-opacity: 1;
  color: rgb(186 230 253 / var(--tw-text-opacity, 1));
}

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

.text-sky-600{
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}

.text-sky-700{
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}

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

.text-slate-200{
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

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

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

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

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

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

.text-slate-800{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

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

.text-teal-500{
  --tw-text-opacity: 1;
  color: rgb(6 148 162 / var(--tw-text-opacity, 1));
}

.text-teal-600{
  --tw-text-opacity: 1;
  color: rgb(4 116 129 / var(--tw-text-opacity, 1));
}

.text-teal-600\/60{
  color: rgb(4 116 129 / 0.6);
}

.text-teal-700{
  --tw-text-opacity: 1;
  color: rgb(3 102 114 / var(--tw-text-opacity, 1));
}

.text-teal-700\/80{
  color: rgb(3 102 114 / 0.8);
}

.text-teal-800{
  --tw-text-opacity: 1;
  color: rgb(5 80 92 / var(--tw-text-opacity, 1));
}

.text-teal-900{
  --tw-text-opacity: 1;
  color: rgb(1 68 81 / var(--tw-text-opacity, 1));
}

.text-transparent{
  color: transparent;
}

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

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

.text-white\/40{
  color: rgb(255 255 255 / 0.4);
}

.text-white\/5{
  color: rgb(255 255 255 / 0.05);
}

.text-white\/60{
  color: rgb(255 255 255 / 0.6);
}

.text-white\/70{
  color: rgb(255 255 255 / 0.7);
}

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

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

.text-yellow-300{
  --tw-text-opacity: 1;
  color: rgb(250 202 21 / var(--tw-text-opacity, 1));
}

.text-yellow-300\/60{
  color: rgb(250 202 21 / 0.6);
}

.text-yellow-400{
  --tw-text-opacity: 1;
  color: rgb(227 160 8 / var(--tw-text-opacity, 1));
}

.text-yellow-500{
  --tw-text-opacity: 1;
  color: rgb(194 120 3 / var(--tw-text-opacity, 1));
}

.text-yellow-600{
  --tw-text-opacity: 1;
  color: rgb(159 88 10 / var(--tw-text-opacity, 1));
}

.text-yellow-700{
  --tw-text-opacity: 1;
  color: rgb(142 75 16 / var(--tw-text-opacity, 1));
}

.text-yellow-700\/70{
  color: rgb(142 75 16 / 0.7);
}

.text-yellow-800{
  --tw-text-opacity: 1;
  color: rgb(114 59 19 / var(--tw-text-opacity, 1));
}

.text-yellow-900{
  --tw-text-opacity: 1;
  color: rgb(99 49 18 / var(--tw-text-opacity, 1));
}

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

.line-through{
  text-decoration-line: line-through;
}

.no-underline{
  text-decoration-line: none;
}

.decoration-blue-200{
  text-decoration-color: #C3DDFD;
}

.decoration-2{
  text-decoration-thickness: 2px;
}

.placeholder-gray-400::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-400::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-500::-moz-placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

.placeholder-gray-500::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}

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

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

.placeholder-white\/60::-moz-placeholder{
  color: rgb(255 255 255 / 0.6);
}

.placeholder-white\/60::placeholder{
  color: rgb(255 255 255 / 0.6);
}

.accent-emerald-600{
  accent-color: #059669;
}

.opacity-0{
  opacity: 0;
}

.opacity-10{
  opacity: 0.1;
}

.opacity-100{
  opacity: 1;
}

.opacity-20{
  opacity: 0.2;
}

.opacity-25{
  opacity: 0.25;
}

.opacity-30{
  opacity: 0.3;
}

.opacity-40{
  opacity: 0.4;
}

.opacity-5{
  opacity: 0.05;
}

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

.mix-blend-multiply{
  mix-blend-mode: multiply;
}

.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_-10px_20px_-5px_rgba\(0\2c 0\2c 0\2c 0\.05\)\]{
  --tw-shadow: 0 -10px 20px -5px rgba(0,0,0,0.05);
  --tw-shadow-colored: 0 -10px 20px -5px 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_-10px_40px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{
  --tw-shadow: 0 -10px 40px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 -10px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[0_8px_24px_rgba\(15\2c 23\2c 42\2c 0\.08\)\]{
  --tw-shadow: 0 8px 24px rgba(15,23,42,0.08);
  --tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-inner{
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-lg{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-none{
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-xl{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-\[\#7CB342\]\/10{
  --tw-shadow-color: rgb(124 179 66 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-\[\#7CB342\]\/20{
  --tw-shadow-color: rgb(124 179 66 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-\[\#7CB342\]\/30{
  --tw-shadow-color: rgb(124 179 66 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-\[\#7CB342\]\/40{
  --tw-shadow-color: rgb(124 179 66 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-amber-500\/20{
  --tw-shadow-color: rgb(245 158 11 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-amber-500\/30{
  --tw-shadow-color: rgb(245 158 11 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-blue-100\/30{
  --tw-shadow-color: rgb(225 239 254 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-blue-100\/50{
  --tw-shadow-color: rgb(225 239 254 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-blue-200{
  --tw-shadow-color: #C3DDFD;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-blue-200\/50{
  --tw-shadow-color: rgb(195 221 253 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-blue-500\/20{
  --tw-shadow-color: rgb(63 131 248 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-blue-500\/25{
  --tw-shadow-color: rgb(63 131 248 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-blue-500\/30{
  --tw-shadow-color: rgb(63 131 248 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-blue-600\/20{
  --tw-shadow-color: rgb(28 100 242 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-100{
  --tw-shadow-color: #cffafe;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-500\/25{
  --tw-shadow-color: rgb(6 182 212 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-emerald-200{
  --tw-shadow-color: #a7f3d0;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-emerald-50\/50{
  --tw-shadow-color: rgb(236 253 245 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-emerald-500\/20{
  --tw-shadow-color: rgb(16 185 129 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-emerald-500\/25{
  --tw-shadow-color: rgb(16 185 129 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-emerald-500\/30{
  --tw-shadow-color: rgb(16 185 129 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-green-50\/50{
  --tw-shadow-color: rgb(243 250 247 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-green-500\/50{
  --tw-shadow-color: rgb(14 159 110 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-indigo-200{
  --tw-shadow-color: #CDDBFE;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-indigo-200\/50{
  --tw-shadow-color: rgb(205 219 254 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-lime-50\/50{
  --tw-shadow-color: rgb(247 254 231 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-orange-500\/20{
  --tw-shadow-color: rgb(255 90 31 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-orange-500\/25{
  --tw-shadow-color: rgb(255 90 31 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-purple-200\/50{
  --tw-shadow-color: rgb(220 215 254 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-purple-500\/25{
  --tw-shadow-color: rgb(144 97 249 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-purple-500\/30{
  --tw-shadow-color: rgb(144 97 249 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-100\/50{
  --tw-shadow-color: rgb(253 232 232 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-200{
  --tw-shadow-color: #FBD5D5;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-200\/50{
  --tw-shadow-color: rgb(251 213 213 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-300{
  --tw-shadow-color: #F8B4B4;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-500\/20{
  --tw-shadow-color: rgb(240 82 82 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-500\/25{
  --tw-shadow-color: rgb(240 82 82 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-500\/30{
  --tw-shadow-color: rgb(240 82 82 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-100{
  --tw-shadow-color: #f1f5f9;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-100\/50{
  --tw-shadow-color: rgb(241 245 249 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-200{
  --tw-shadow-color: #e2e8f0;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-200\/40{
  --tw-shadow-color: rgb(226 232 240 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-200\/50{
  --tw-shadow-color: rgb(226 232 240 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-200\/60{
  --tw-shadow-color: rgb(226 232 240 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-300{
  --tw-shadow-color: #cbd5e1;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-300\/50{
  --tw-shadow-color: rgb(203 213 225 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-400{
  --tw-shadow-color: #94a3b8;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-50{
  --tw-shadow-color: #f8fafc;
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-500\/25{
  --tw-shadow-color: rgb(100 116 139 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-900\/10{
  --tw-shadow-color: rgb(15 23 42 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-white\/20{
  --tw-shadow-color: rgb(255 255 255 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

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

.outline{
  outline-style: solid;
}

.outline-primary{
  outline-color: hsl(var(--primary));
}

.outline-secondary{
  outline-color: hsl(var(--secondary));
}

.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-amber-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1));
}

.ring-blue-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity, 1));
}

.ring-blue-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity, 1));
}

.ring-blue-400\/20{
  --tw-ring-color: rgb(118 169 250 / 0.2);
}

.ring-blue-50\/50{
  --tw-ring-color: rgb(235 245 255 / 0.5);
}

.ring-blue-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity, 1));
}

.ring-blue-500\/50{
  --tw-ring-color: rgb(63 131 248 / 0.5);
}

.ring-emerald-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(52 211 153 / var(--tw-ring-opacity, 1));
}

.ring-emerald-50{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(236 253 245 / var(--tw-ring-opacity, 1));
}

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

.ring-green-100{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(222 247 236 / var(--tw-ring-opacity, 1));
}

.ring-green-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(132 225 188 / var(--tw-ring-opacity, 1));
}

.ring-green-50{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(243 250 247 / var(--tw-ring-opacity, 1));
}

.ring-indigo-50{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(240 245 255 / var(--tw-ring-opacity, 1));
}

.ring-orange-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 90 31 / var(--tw-ring-opacity, 1));
}

.ring-purple-100{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(237 235 254 / var(--tw-ring-opacity, 1));
}

.ring-red-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 213 213 / var(--tw-ring-opacity, 1));
}

.ring-red-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(240 82 82 / var(--tw-ring-opacity, 1));
}

.ring-slate-50{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 250 252 / var(--tw-ring-opacity, 1));
}

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

.ring-white{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}

.ring-white\/10{
  --tw-ring-color: rgb(255 255 255 / 0.1);
}

.ring-white\/20{
  --tw-ring-color: rgb(255 255 255 / 0.2);
}

.ring-opacity-50{
  --tw-ring-opacity: 0.5;
}

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

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

.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-\[100px\]{
  --tw-blur: blur(100px);
  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-\[120px\]{
  --tw-blur: blur(120px);
  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-\[2px\]{
  --tw-blur: blur(2px);
  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-\[4px\]{
  --tw-blur: blur(4px);
  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-\[5px\]{
  --tw-blur: blur(5px);
  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-\[6px\]{
  --tw-blur: blur(6px);
  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-\[80px\]{
  --tw-blur: blur(80px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-lg{
  --tw-blur: blur(16px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-sm{
  --tw-blur: blur(4px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.blur-xl{
  --tw-blur: blur(24px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow{
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow-lg{
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow-md{
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.drop-shadow-sm{
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-blur{
  --tw-backdrop-blur: blur(8px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-lg{
  --tw-backdrop-blur: blur(16px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-md{
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-blur-xl{
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.backdrop-filter{
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-colors{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-opacity{
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-shadow{
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.delay-100{
  transition-delay: 100ms;
}

.delay-1000{
  transition-delay: 1000ms;
}

.delay-200{
  transition-delay: 200ms;
}

.duration-1000{
  transition-duration: 1000ms;
}

.duration-150{
  transition-duration: 150ms;
}

.duration-200{
  transition-duration: 200ms;
}

.duration-300{
  transition-duration: 300ms;
}

.duration-500{
  transition-duration: 500ms;
}

.duration-700{
  transition-duration: 700ms;
}

.ease-in{
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.\[animation-delay\:-0\.15s\]{
  animation-delay: -0.15s;
}

.\[animation-delay\:-0\.3s\]{
  animation-delay: -0.3s;
}

.\[animation-delay\:0\.2s\]{
  animation-delay: 0.2s;
}

.\[animation-delay\:0\.4s\]{
  animation-delay: 0.4s;
}

/* Custom range slider styles */

/* Rest of your existing styles */

.file\:mr-4::file-selector-button{
  margin-right: 1rem;
}

.file\:rounded-full::file-selector-button{
  border-radius: 9999px;
}

.file\:border-0::file-selector-button{
  border-width: 0px;
}

.file\:bg-blue-50::file-selector-button{
  --tw-bg-opacity: 1;
  background-color: rgb(235 245 255 / var(--tw-bg-opacity, 1));
}

.file\:px-4::file-selector-button{
  padding-left: 1rem;
  padding-right: 1rem;
}

.file\:py-2::file-selector-button{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

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

.file\:font-semibold::file-selector-button{
  font-weight: 600;
}

.file\:text-blue-700::file-selector-button{
  --tw-text-opacity: 1;
  color: rgb(26 86 219 / var(--tw-text-opacity, 1));
}

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

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

.after\:ml-0\.5::after{
  content: var(--tw-content);
  margin-left: 0.125rem;
}

.after\:text-red-500::after{
  content: var(--tw-content);
  --tw-text-opacity: 1;
  color: rgb(240 82 82 / var(--tw-text-opacity, 1));
}

.after\:content-\[\"\*\"\]::after{
  --tw-content: "*";
  content: var(--tw-content);
}

.last\:mb-0:last-child{
  margin-bottom: 0px;
}

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

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

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

.checked\:border-transparent:checked{
  border-color: transparent;
}

.checked\:bg-blue-500:checked{
  --tw-bg-opacity: 1;
  background-color: rgb(63 131 248 / var(--tw-bg-opacity, 1));
}

.focus-within\:border-blue-500:focus-within{
  --tw-border-opacity: 1;
  border-color: rgb(63 131 248 / var(--tw-border-opacity, 1));
}

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

.focus-within\:ring-2:focus-within{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus-within\:ring-blue-500:focus-within{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity, 1));
}

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

.hover\:-translate-y-0\.5:hover{
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-1:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-2:hover{
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-110:hover{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-\[1\.01\]:hover{
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-\[1\.02\]:hover{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:transform:hover{
  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 spin{

  to{
    transform: rotate(360deg);
  }
}

.hover\:animate-spin:hover{
  animation: spin 1s linear infinite;
}

.hover\:border-\[\#1e3a8a\]\/40:hover{
  border-color: rgb(30 58 138 / 0.4);
}

.hover\:border-\[\#312e81\]\/40:hover{
  border-color: rgb(49 46 129 / 0.4);
}

.hover\:border-\[\#7CB342\]\/50:hover{
  border-color: rgb(124 179 66 / 0.5);
}

.hover\:border-amber-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}

.hover\:border-amber-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}

.hover\:border-amber-500\/30:hover{
  border-color: rgb(245 158 11 / 0.3);
}

.hover\:border-blue-100:hover{
  --tw-border-opacity: 1;
  border-color: rgb(225 239 254 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(195 221 253 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(164 202 254 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(118 169 250 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(63 131 248 / var(--tw-border-opacity, 1));
}

.hover\:border-blue-500\/30:hover{
  border-color: rgb(63 131 248 / 0.3);
}

.hover\:border-cyan-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity, 1));
}

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

.hover\:border-emerald-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}

.hover\:border-emerald-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}

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

.hover\:border-gray-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.hover\:border-green-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(188 240 218 / var(--tw-border-opacity, 1));
}

.hover\:border-green-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(132 225 188 / var(--tw-border-opacity, 1));
}

.hover\:border-green-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(49 196 141 / var(--tw-border-opacity, 1));
}

.hover\:border-indigo-100:hover{
  --tw-border-opacity: 1;
  border-color: rgb(229 237 255 / var(--tw-border-opacity, 1));
}

.hover\:border-indigo-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(104 117 245 / var(--tw-border-opacity, 1));
}

.hover\:border-orange-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(253 186 140 / var(--tw-border-opacity, 1));
}

.hover\:border-orange-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(255 90 31 / var(--tw-border-opacity, 1));
}

.hover\:border-purple-100:hover{
  --tw-border-opacity: 1;
  border-color: rgb(237 235 254 / var(--tw-border-opacity, 1));
}

.hover\:border-purple-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(220 215 254 / var(--tw-border-opacity, 1));
}

.hover\:border-purple-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(202 191 253 / var(--tw-border-opacity, 1));
}

.hover\:border-purple-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(172 148 250 / var(--tw-border-opacity, 1));
}

.hover\:border-purple-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(144 97 249 / var(--tw-border-opacity, 1));
}

.hover\:border-red-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(248 180 180 / var(--tw-border-opacity, 1));
}

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

.hover\:border-slate-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}

.hover\:border-teal-100:hover{
  --tw-border-opacity: 1;
  border-color: rgb(213 245 246 / var(--tw-border-opacity, 1));
}

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

.hover\:bg-\[\#689F38\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(104 159 56 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#689f38\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(104 159 56 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#7CB342\]\/10:hover{
  background-color: rgb(124 179 66 / 0.1);
}

.hover\:bg-\[\#7CB342\]\/5:hover{
  background-color: rgb(124 179 66 / 0.05);
}

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

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

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

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

.hover\:bg-black:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(225 239 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(195 221 253 / var(--tw-bg-opacity, 1));
}

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

.hover\:bg-blue-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(28 100 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-600\/20:hover{
  background-color: rgb(28 100 242 / 0.2);
}

.hover\:bg-blue-600\/90:hover{
  background-color: rgb(28 100 242 / 0.9);
}

.hover\:bg-blue-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(26 86 219 / var(--tw-bg-opacity, 1));
}

.hover\:bg-destructive\/80:hover{
  background-color: hsl(var(--destructive) / 0.8);
}

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

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

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

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

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

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

.hover\:bg-gray-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

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

.hover\:bg-gray-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

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

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

.hover\:bg-gray-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(222 247 236 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(188 240 218 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 250 247 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(5 122 85 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(4 108 78 / var(--tw-bg-opacity, 1));
}

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

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

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

.hover\:bg-indigo-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(81 69 205 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 236 220 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(252 217 189 / var(--tw-bg-opacity, 1));
}

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

.hover\:bg-orange-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(208 56 1 / var(--tw-bg-opacity, 1));
}

.hover\:bg-orange-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(180 52 3 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary\/80:hover{
  background-color: hsl(var(--primary) / 0.8);
}

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

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

.hover\:bg-purple-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(126 58 242 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(108 43 217 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(85 33 181 / var(--tw-bg-opacity, 1));
}

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

.hover\:bg-red-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(251 213 213 / var(--tw-bg-opacity, 1));
}

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

.hover\:bg-red-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 82 82 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-500\/10:hover{
  background-color: rgb(240 82 82 / 0.1);
}

.hover\:bg-red-500\/20:hover{
  background-color: rgb(240 82 82 / 0.2);
}

.hover\:bg-red-500\/90:hover{
  background-color: rgb(240 82 82 / 0.9);
}

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

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

.hover\:bg-secondary\/80:hover{
  background-color: hsl(var(--secondary) / 0.8);
}

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

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

.hover\:bg-slate-200\/50:hover{
  background-color: rgb(226 232 240 / 0.5);
}

.hover\:bg-slate-300:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}

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

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

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

.hover\:bg-slate-700\/50:hover{
  background-color: rgb(51 65 85 / 0.5);
}

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

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

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

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

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

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

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

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

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

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

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

.hover\:bg-yellow-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(253 246 178 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(252 233 106 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(253 253 234 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(159 88 10 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(142 75 16 / var(--tw-bg-opacity, 1));
}

.hover\:bg-opacity-20:hover{
  --tw-bg-opacity: 0.2;
}

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

.hover\:bg-gradient-to-r:hover{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.hover\:from-black:hover{
  --tw-gradient-from: #000000 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-blue-50\/50:hover{
  --tw-gradient-from: rgb(235 245 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(235 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-blue-500:hover{
  --tw-gradient-from: #3F83F8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-blue-600:hover{
  --tw-gradient-from: #1C64F2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-blue-700:hover{
  --tw-gradient-from: #1A56DB var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 86 219 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-emerald-700:hover{
  --tw-gradient-from: #047857 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(4 120 87 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-gray-700:hover{
  --tw-gradient-from: #374151 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-green-100:hover{
  --tw-gradient-from: #DEF7EC var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(222 247 236 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-green-600:hover{
  --tw-gradient-from: #057A55 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 122 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-green-700:hover{
  --tw-gradient-from: #046C4E var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(4 108 78 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-orange-100:hover{
  --tw-gradient-from: #FEECDC var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 236 220 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-100:hover{
  --tw-gradient-from: #EDEBFE var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 235 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-600:hover{
  --tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-700:hover{
  --tw-gradient-from: #6C2BD9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(108 43 217 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-red-100:hover{
  --tw-gradient-from: #FDE8E8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 232 232 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-red-600:hover{
  --tw-gradient-from: #E02424 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 36 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-red-700:hover{
  --tw-gradient-from: #C81E1E var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(200 30 30 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-slate-700:hover{
  --tw-gradient-from: #334155 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-yellow-100:hover{
  --tw-gradient-from: #FDF6B2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 246 178 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:via-blue-700:hover{
  --tw-gradient-to: rgb(26 86 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1A56DB var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.hover\:via-emerald-700:hover{
  --tw-gradient-to: rgb(4 120 87 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #047857 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.hover\:via-green-700:hover{
  --tw-gradient-to: rgb(4 108 78 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #046C4E var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.hover\:via-indigo-700:hover{
  --tw-gradient-to: rgb(81 69 205 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #5145CD var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.hover\:to-amber-100:hover{
  --tw-gradient-to: #fef3c7 var(--tw-gradient-to-position);
}

.hover\:to-blue-100:hover{
  --tw-gradient-to: #E1EFFE var(--tw-gradient-to-position);
}

.hover\:to-blue-700:hover{
  --tw-gradient-to: #1A56DB var(--tw-gradient-to-position);
}

.hover\:to-blue-800:hover{
  --tw-gradient-to: #1E429F var(--tw-gradient-to-position);
}

.hover\:to-emerald-100:hover{
  --tw-gradient-to: #d1fae5 var(--tw-gradient-to-position);
}

.hover\:to-emerald-700:hover{
  --tw-gradient-to: #047857 var(--tw-gradient-to-position);
}

.hover\:to-emerald-800:hover{
  --tw-gradient-to: #065f46 var(--tw-gradient-to-position);
}

.hover\:to-gray-800:hover{
  --tw-gradient-to: #1F2937 var(--tw-gradient-to-position);
}

.hover\:to-green-700:hover{
  --tw-gradient-to: #046C4E var(--tw-gradient-to-position);
}

.hover\:to-green-800:hover{
  --tw-gradient-to: #03543F var(--tw-gradient-to-position);
}

.hover\:to-indigo-700:hover{
  --tw-gradient-to: #5145CD var(--tw-gradient-to-position);
}

.hover\:to-indigo-800:hover{
  --tw-gradient-to: #42389D var(--tw-gradient-to-position);
}

.hover\:to-pink-600:hover{
  --tw-gradient-to: #D61F69 var(--tw-gradient-to-position);
}

.hover\:to-pink-700:hover{
  --tw-gradient-to: #BF125D var(--tw-gradient-to-position);
}

.hover\:to-purple-50\/30:hover{
  --tw-gradient-to: rgb(246 245 255 / 0.3) var(--tw-gradient-to-position);
}

.hover\:to-purple-600:hover{
  --tw-gradient-to: #7E3AF2 var(--tw-gradient-to-position);
}

.hover\:to-purple-700:hover{
  --tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position);
}

.hover\:to-purple-800:hover{
  --tw-gradient-to: #5521B5 var(--tw-gradient-to-position);
}

.hover\:to-red-700:hover{
  --tw-gradient-to: #C81E1E var(--tw-gradient-to-position);
}

.hover\:to-red-800:hover{
  --tw-gradient-to: #9B1C1C var(--tw-gradient-to-position);
}

.hover\:to-rose-100:hover{
  --tw-gradient-to: #ffe4e6 var(--tw-gradient-to-position);
}

.hover\:to-slate-800:hover{
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}

.hover\:to-teal-700:hover{
  --tw-gradient-to: #036672 var(--tw-gradient-to-position);
}

.hover\:text-\[\#689f38\]:hover{
  --tw-text-opacity: 1;
  color: rgb(104 159 56 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#7CB342\]:hover{
  --tw-text-opacity: 1;
  color: rgb(124 179 66 / var(--tw-text-opacity, 1));
}

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

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

.hover\:text-amber-900:hover{
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-200:hover{
  --tw-text-opacity: 1;
  color: rgb(195 221 253 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-500:hover{
  --tw-text-opacity: 1;
  color: rgb(63 131 248 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-600:hover{
  --tw-text-opacity: 1;
  color: rgb(28 100 242 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-700:hover{
  --tw-text-opacity: 1;
  color: rgb(26 86 219 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-800:hover{
  --tw-text-opacity: 1;
  color: rgb(30 66 159 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-900:hover{
  --tw-text-opacity: 1;
  color: rgb(35 56 118 / var(--tw-text-opacity, 1));
}

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

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

.hover\:text-emerald-800:hover{
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}

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

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

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

.hover\:text-gray-800:hover{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-900:hover{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.hover\:text-green-500:hover{
  --tw-text-opacity: 1;
  color: rgb(14 159 110 / var(--tw-text-opacity, 1));
}

.hover\:text-green-600:hover{
  --tw-text-opacity: 1;
  color: rgb(5 122 85 / var(--tw-text-opacity, 1));
}

.hover\:text-green-700:hover{
  --tw-text-opacity: 1;
  color: rgb(4 108 78 / var(--tw-text-opacity, 1));
}

.hover\:text-green-800:hover{
  --tw-text-opacity: 1;
  color: rgb(3 84 63 / var(--tw-text-opacity, 1));
}

.hover\:text-green-900:hover{
  --tw-text-opacity: 1;
  color: rgb(1 71 55 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-600:hover{
  --tw-text-opacity: 1;
  color: rgb(88 80 236 / var(--tw-text-opacity, 1));
}

.hover\:text-indigo-900:hover{
  --tw-text-opacity: 1;
  color: rgb(54 47 120 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-700:hover{
  --tw-text-opacity: 1;
  color: rgb(180 52 3 / var(--tw-text-opacity, 1));
}

.hover\:text-orange-900:hover{
  --tw-text-opacity: 1;
  color: rgb(119 29 29 / var(--tw-text-opacity, 1));
}

.hover\:text-purple-500:hover{
  --tw-text-opacity: 1;
  color: rgb(144 97 249 / var(--tw-text-opacity, 1));
}

.hover\:text-purple-600:hover{
  --tw-text-opacity: 1;
  color: rgb(126 58 242 / var(--tw-text-opacity, 1));
}

.hover\:text-purple-700:hover{
  --tw-text-opacity: 1;
  color: rgb(108 43 217 / var(--tw-text-opacity, 1));
}

.hover\:text-purple-800:hover{
  --tw-text-opacity: 1;
  color: rgb(85 33 181 / var(--tw-text-opacity, 1));
}

.hover\:text-purple-900:hover{
  --tw-text-opacity: 1;
  color: rgb(74 29 150 / var(--tw-text-opacity, 1));
}

.hover\:text-red-300:hover{
  --tw-text-opacity: 1;
  color: rgb(248 180 180 / var(--tw-text-opacity, 1));
}

.hover\:text-red-500:hover{
  --tw-text-opacity: 1;
  color: rgb(240 82 82 / var(--tw-text-opacity, 1));
}

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

.hover\:text-red-700:hover{
  --tw-text-opacity: 1;
  color: rgb(200 30 30 / var(--tw-text-opacity, 1));
}

.hover\:text-red-800:hover{
  --tw-text-opacity: 1;
  color: rgb(155 28 28 / var(--tw-text-opacity, 1));
}

.hover\:text-red-900:hover{
  --tw-text-opacity: 1;
  color: rgb(119 29 29 / var(--tw-text-opacity, 1));
}

.hover\:text-rose-500:hover{
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}

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

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

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

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

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

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

.hover\:text-yellow-500:hover{
  --tw-text-opacity: 1;
  color: rgb(194 120 3 / var(--tw-text-opacity, 1));
}

.hover\:text-yellow-600:hover{
  --tw-text-opacity: 1;
  color: rgb(159 88 10 / var(--tw-text-opacity, 1));
}

.hover\:text-yellow-900:hover{
  --tw-text-opacity: 1;
  color: rgb(99 49 18 / var(--tw-text-opacity, 1));
}

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

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

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

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

.hover\:opacity-95:hover{
  opacity: 0.95;
}

.hover\:shadow:hover{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-2xl:hover{
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover{
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-md:hover{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-sm:hover{
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-xl:hover{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-blue-100\/50:hover{
  --tw-shadow-color: rgb(225 239 254 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-200:hover{
  --tw-shadow-color: #C3DDFD;
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-300:hover{
  --tw-shadow-color: #A4CAFE;
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-50:hover{
  --tw-shadow-color: #EBF5FF;
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-500\/20:hover{
  --tw-shadow-color: rgb(63 131 248 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-500\/25:hover{
  --tw-shadow-color: rgb(63 131 248 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-500\/30:hover{
  --tw-shadow-color: rgb(63 131 248 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-blue-500\/50:hover{
  --tw-shadow-color: rgb(63 131 248 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-emerald-500\/30:hover{
  --tw-shadow-color: rgb(16 185 129 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-green-300:hover{
  --tw-shadow-color: #84E1BC;
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-slate-200\/50:hover{
  --tw-shadow-color: rgb(226 232 240 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-slate-300\/80:hover{
  --tw-shadow-color: rgb(203 213 225 / 0.8);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-white\/50:hover{
  --tw-shadow-color: rgb(255 255 255 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:file\:bg-blue-100::file-selector-button:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(225 239 254 / var(--tw-bg-opacity, 1));
}

.focus\:z-10:focus{
  z-index: 10;
}

.focus\:border-\[\#7CB342\]:focus{
  --tw-border-opacity: 1;
  border-color: rgb(124 179 66 / var(--tw-border-opacity, 1));
}

.focus\:border-amber-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.focus\:border-amber-500\/30:focus{
  border-color: rgb(245 158 11 / 0.3);
}

.focus\:border-blue-400:focus{
  --tw-border-opacity: 1;
  border-color: rgb(118 169 250 / var(--tw-border-opacity, 1));
}

.focus\:border-blue-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(63 131 248 / var(--tw-border-opacity, 1));
}

.focus\:border-blue-500\/30:focus{
  border-color: rgb(63 131 248 / 0.3);
}

.focus\:border-blue-600:focus{
  --tw-border-opacity: 1;
  border-color: rgb(28 100 242 / var(--tw-border-opacity, 1));
}

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

.focus\:border-green-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(14 159 110 / var(--tw-border-opacity, 1));
}

.focus\:border-indigo-600:focus{
  --tw-border-opacity: 1;
  border-color: rgb(88 80 236 / var(--tw-border-opacity, 1));
}

.focus\:border-orange-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(255 90 31 / var(--tw-border-opacity, 1));
}

.focus\:border-pink-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(231 70 148 / var(--tw-border-opacity, 1));
}

.focus\:border-purple-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(144 97 249 / var(--tw-border-opacity, 1));
}

.focus\:border-red-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(240 82 82 / var(--tw-border-opacity, 1));
}

.focus\:border-red-600:focus{
  --tw-border-opacity: 1;
  border-color: rgb(224 36 36 / var(--tw-border-opacity, 1));
}

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

.focus\:border-transparent:focus{
  border-color: transparent;
}

.focus\:border-yellow-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(194 120 3 / var(--tw-border-opacity, 1));
}

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

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

.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-\[\#7CB342\]\/40:focus{
  --tw-ring-color: rgb(124 179 66 / 0.4);
}

.focus\:ring-amber-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity, 1));
}

.focus\:ring-amber-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1));
}

.focus\:ring-black:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1));
}

.focus\:ring-blue-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(225 239 254 / var(--tw-ring-opacity, 1));
}

.focus\:ring-blue-200:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity, 1));
}

.focus\:ring-blue-200\/50:focus{
  --tw-ring-color: rgb(195 221 253 / 0.5);
}

.focus\:ring-blue-300:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity, 1));
}

.focus\:ring-blue-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity, 1));
}

.focus\:ring-blue-400\/50:focus{
  --tw-ring-color: rgb(118 169 250 / 0.5);
}

.focus\:ring-blue-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity, 1));
}

.focus\:ring-blue-500\/20:focus{
  --tw-ring-color: rgb(63 131 248 / 0.2);
}

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

.focus\:ring-gray-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1));
}

.focus\:ring-green-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(222 247 236 / var(--tw-ring-opacity, 1));
}

.focus\:ring-green-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(14 159 110 / var(--tw-ring-opacity, 1));
}

.focus\:ring-indigo-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(104 117 245 / var(--tw-ring-opacity, 1));
}

.focus\:ring-orange-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 236 220 / var(--tw-ring-opacity, 1));
}

.focus\:ring-orange-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 90 31 / var(--tw-ring-opacity, 1));
}

.focus\:ring-pink-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 232 243 / var(--tw-ring-opacity, 1));
}

.focus\:ring-pink-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(231 70 148 / var(--tw-ring-opacity, 1));
}

.focus\:ring-purple-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(237 235 254 / var(--tw-ring-opacity, 1));
}

.focus\:ring-purple-200\/50:focus{
  --tw-ring-color: rgb(220 215 254 / 0.5);
}

.focus\:ring-purple-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(144 97 249 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 232 232 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-200:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 213 213 / var(--tw-ring-opacity, 1));
}

.focus\:ring-red-200\/50:focus{
  --tw-ring-color: rgb(251 213 213 / 0.5);
}

.focus\:ring-red-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(240 82 82 / var(--tw-ring-opacity, 1));
}

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

.focus\:ring-white\/50:focus{
  --tw-ring-color: rgb(255 255 255 / 0.5);
}

.focus\:ring-yellow-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(253 246 178 / var(--tw-ring-opacity, 1));
}

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

.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\:cursor-grabbing:active{
  cursor: grabbing;
}

.active\:bg-gray-300:active{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.active\:bg-gray-500:active{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.active\:bg-gray-600:active{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.active\:bg-slate-500:active{
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}

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

.disabled\:bg-blue-300:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(164 202 254 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-blue-400:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(118 169 250 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-gray-300:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-gray-400:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-slate-300:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}

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

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

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

.disabled\:shadow-none:disabled{
  --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);
}

.disabled\:hover\:scale-100:hover:disabled{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:visible{
  visibility: visible;
}

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

.group:hover .group-hover\:translate-x-1{
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:rotate-12{
  --tw-rotate: 12deg;
  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-6{
  --tw-rotate: 6deg;
  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-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));
}

.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\:scale-150{
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:scale-x-100{
  --tw-scale-x: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

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

.group:hover .group-hover\:bg-black\/10{
  background-color: rgb(0 0 0 / 0.1);
}

.group:hover .group-hover\:bg-blue-100{
  --tw-bg-opacity: 1;
  background-color: rgb(225 239 254 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-blue-200{
  --tw-bg-opacity: 1;
  background-color: rgb(195 221 253 / var(--tw-bg-opacity, 1));
}

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

.group:hover .group-hover\:bg-blue-500\/10{
  background-color: rgb(63 131 248 / 0.1);
}

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

.group:hover .group-hover\:bg-green-100{
  --tw-bg-opacity: 1;
  background-color: rgb(222 247 236 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-green-200{
  --tw-bg-opacity: 1;
  background-color: rgb(188 240 218 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(237 235 254 / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

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

.group:hover .group-hover\:text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(118 169 250 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-blue-500{
  --tw-text-opacity: 1;
  color: rgb(63 131 248 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-blue-600{
  --tw-text-opacity: 1;
  color: rgb(28 100 242 / var(--tw-text-opacity, 1));
}

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

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

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

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

.group:hover .group-hover\:text-gray-900{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-green-600{
  --tw-text-opacity: 1;
  color: rgb(5 122 85 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-indigo-600{
  --tw-text-opacity: 1;
  color: rgb(88 80 236 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-purple-600{
  --tw-text-opacity: 1;
  color: rgb(126 58 242 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-red-600{
  --tw-text-opacity: 1;
  color: rgb(224 36 36 / var(--tw-text-opacity, 1));
}

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

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

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

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

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

.group:hover .group-hover\:text-yellow-600{
  --tw-text-opacity: 1;
  color: rgb(159 88 10 / var(--tw-text-opacity, 1));
}

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

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

.group:hover .group-hover\:blur-0{
  --tw-blur: blur(0);
  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);
}

.dark\:\!bg-gray-700:is(.dark *){
  --tw-bg-opacity: 1 !important;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1)) !important;
}

.dark\:bg-gray-700:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}

@media (min-width: 640px){

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

  .sm\:mx-auto{
    margin-left: auto;
    margin-right: auto;
  }

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

  .sm\:block{
    display: block;
  }

  .sm\:inline{
    display: inline;
  }

  .sm\:hidden{
    display: none;
  }

  .sm\:h-4{
    height: 1rem;
  }

  .sm\:h-\[16px\]{
    height: 16px;
  }

  .sm\:h-\[18px\]{
    height: 18px;
  }

  .sm\:h-\[220px\]{
    height: 220px;
  }

  .sm\:w-4{
    width: 1rem;
  }

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

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

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

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

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

  .sm\:w-full{
    width: 100%;
  }

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

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

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

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

  .sm\: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-between{
    justify-content: space-between;
  }

  .sm\:gap-1\.5{
    gap: 0.375rem;
  }

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

  .sm\:gap-6{
    gap: 1.5rem;
  }

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

  .sm\:space-x-2 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse: 0;
    margin-right: calc(0.5rem * var(--tw-space-x-reverse));
    margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
  }

  .sm\:space-x-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)));
  }

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

  .sm\:rounded-lg{
    border-radius: 0.5rem;
  }

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

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

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

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

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

  .sm\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

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

  .sm\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

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

  .sm\:pr-20{
    padding-right: 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-5xl{
    font-size: 3rem;
    line-height: 1;
  }

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

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

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

  .sm\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 768px){

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

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

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

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

  .md\:mb-0{
    margin-bottom: 0px;
  }

  .md\:mb-1{
    margin-bottom: 0.25rem;
  }

  .md\:mb-8{
    margin-bottom: 2rem;
  }

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

  .md\:block{
    display: block;
  }

  .md\:inline{
    display: inline;
  }

  .md\:flex{
    display: flex;
  }

  .md\:grid{
    display: grid;
  }

  .md\:hidden{
    display: none;
  }

  .md\:aspect-video{
    aspect-ratio: 16 / 9;
  }

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

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

  .md\:h-16{
    height: 4rem;
  }

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

  .md\:h-4{
    height: 1rem;
  }

  .md\:h-5{
    height: 1.25rem;
  }

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

  .md\:h-64{
    height: 16rem;
  }

  .md\:h-8{
    height: 2rem;
  }

  .md\:h-\[18px\]{
    height: 18px;
  }

  .md\:h-\[22px\]{
    height: 22px;
  }

  .md\:h-\[500px\]{
    height: 500px;
  }

  .md\:h-auto{
    height: auto;
  }

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

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

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

  .md\:w-4{
    width: 1rem;
  }

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

  .md\:w-5{
    width: 1.25rem;
  }

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

  .md\:w-64{
    width: 16rem;
  }

  .md\:w-8{
    width: 2rem;
  }

  .md\:w-96{
    width: 24rem;
  }

  .md\:w-\[18px\]{
    width: 18px;
  }

  .md\:w-\[22px\]{
    width: 22px;
  }

  .md\:w-\[450px\]{
    width: 450px;
  }

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

  .md\:w-px{
    width: 1px;
  }

  .md\:flex-shrink-0{
    flex-shrink: 0;
  }

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

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

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

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

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

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

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

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

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

  .md\:items-start{
    align-items: flex-start;
  }

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

  .md\:justify-start{
    justify-content: flex-start;
  }

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

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

  .md\:gap-3{
    gap: 0.75rem;
  }

  .md\:gap-4{
    gap: 1rem;
  }

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

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

  .md\:rounded-2xl{
    border-radius: 1rem;
  }

  .md\:rounded-3xl{
    border-radius: 1.5rem;
  }

  .md\:rounded-xl{
    border-radius: 0.75rem;
  }

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

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

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

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

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

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

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

  .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .md\:pb-24{
    padding-bottom: 6rem;
  }

  .md\:pt-20{
    padding-top: 5rem;
  }

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

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

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

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

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

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

  .md\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .md\:text-\[12rem\]{
    font-size: 12rem;
  }

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

  .md\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

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

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

@media (min-width: 1024px){

  .lg\:z-30{
    z-index: 30;
  }

  .lg\:col-span-1{
    grid-column: span 1 / span 1;
  }

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

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

  .lg\:col-span-6{
    grid-column: span 6 / span 6;
  }

  .lg\:col-span-9{
    grid-column: span 9 / span 9;
  }

  .lg\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .lg\:ml-auto{
    margin-left: auto;
  }

  .lg\:block{
    display: block;
  }

  .lg\:flex{
    display: flex;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:min-h-\[800px\]{
    min-height: 800px;
  }

  .lg\:min-h-\[900px\]{
    min-height: 900px;
  }

  .lg\:w-1\/5{
    width: 20%;
  }

  .lg\:w-4\/5{
    width: 80%;
  }

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

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

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

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

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

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

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

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

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

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

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

  .lg\:grid-cols-\[1fr_auto_1fr\]{
    grid-template-columns: 1fr auto 1fr;
  }

  .lg\:grid-cols-\[280px_1fr_320px\]{
    grid-template-columns: 280px 1fr 320px;
  }

  .lg\:grid-cols-\[300px_1fr_350px\]{
    grid-template-columns: 300px 1fr 350px;
  }

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

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

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

  .lg\:gap-24{
    gap: 6rem;
  }

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

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

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

  .lg\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .lg\:pl-80{
    padding-left: 20rem;
  }

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

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

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

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

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

@media (min-width: 1280px){

  .xl\:col-span-1{
    grid-column: span 1 / span 1;
  }

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

  .xl\:block{
    display: block;
  }

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

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

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

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

  .xl\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }
}

@media print{

  .print\:hidden{
    display: none;
  }

  .print\:p-6{
    padding: 1.5rem;
  }
}
/* Essential Custom Styles for HomeLeafs Application */

/* Custom color for HomeLeafs branding */
.homeleafs-text {
  color: #c1e1c1;
}

/* Sidebar styling */
.sidebar {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* Form border customization */
.border {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

/* Profile card components */
.profile-cover {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  background-size: cover;
}

.avatar-xl {
  height: 6rem;
  width: 6rem;
  border-radius: 9999px;
}

.card-body {
  padding: 1rem;
}

/* Custom button styles */
.btn-gray-800 {
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.btn-gray-800:hover {
  opacity: 0.95;
}

.btn-secondary {
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(63 131 248 / var(--tw-bg-opacity, 1));
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.btn-secondary:hover {
  opacity: 0.95;
}

/* Notification & Alert Section */
.list-group > :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));
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}

.list-group-item {
  border-bottom-width: 1px;
  padding-left: 0px;
  padding-right: 0px;
}

.form-switch {
  display: flex;
  justify-content: flex-end;
}

/* Toggle styling */
.form-check-input {
  border-radius: 9999px;
}

/* Utility classes for special layout needs */
.flex-items-center {
  display: flex;
  align-items: center;
}

.file-field {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Responsive text utilities */
.h3 {
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
}

.fw-normal {
  font-weight: 400;
}

.text-gray {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-dark {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}

.small {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

/* Layout utilities */
.d-inline-flex {
  display: inline-flex;
}

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

.d-md-block {
  display: block;
}

.justify-content-xl-center {
  justify-content: center;
}

/* Spacing utilities */
.me-2 {
  margin-right: 0.5rem;
}

.ms-xl-3 {
  margin-left: 0.75rem;
}

.mt-n7 {
  margin-top: -1.75rem;
}

/* Text alignment - removed circular dependency */

/* Border radius override for specific components */
.rounded-top {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
