/* ============================================================
   MULTI-TENANT BRAND COLORS

   CSS variables are injected by base.html based on tenant:
   --tenant-primary: Primary brand color
   --tenant-secondary: Secondary brand color
   --tenant-accent: Accent/CTA color
   --tenant-background: Background color
   --tenant-brand-dark: Dark brand variant
   --tenant-surface: Surface/card background
   --tenant-border: Border color
   --tenant-tertiary: Tertiary brand color
   --tenant-text-primary: Primary text color
   --tenant-text-secondary: Secondary text color
   --tenant-text-muted: Muted text color
   --tenant-wildcard: Wildcard/utility color

   These override the default Earthy Aurora palette on a per-tenant basis.
   ============================================================ */

/* Primary brand color utilities */
.btn-tenant-primary {
  background-color: var(--tenant-primary);
  color: white;
}

.btn-tenant-primary:hover {
  background-color: var(--tenant-primary);
  filter: brightness(1.1);
}

.bg-tenant-primary {
  background-color: var(--tenant-primary);
}

.text-tenant-primary {
  color: var(--tenant-primary);
}

.border-tenant-primary {
  border-color: var(--tenant-primary);
}

/* Secondary brand color utilities */
.bg-tenant-secondary {
  background-color: var(--tenant-secondary);
}

.text-tenant-secondary {
  color: var(--tenant-secondary);
}

/* Accent brand color utilities (for CTAs, highlights) */
.bg-tenant-accent {
  background-color: var(--tenant-accent);
}

.text-tenant-accent {
  color: var(--tenant-accent);
}

/* Keep existing Earthy Aurora palette as fallback */
/* ... existing CSS below ... */

/* Earthy Aurora Theme - Prepped */
* {
  box-sizing: border-box;
}

body {
  background: linear-gradient(180deg, var(--tenant-background, #111A19) 0%, var(--tenant-surface, #284139) 50%, var(--tenant-background, #111A19) 100%);
  min-height: 100vh;
  font-family: 'Inter', sans-serif;
}

/* Glassmorphism Card */
.mind-card {
  background: linear-gradient(135deg, rgb(from var(--tenant-surface, #284139) r g b / 0.5) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.7) 100%);
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border: 1px solid rgb(from var(--tenant-secondary, #F8D794) r g b / 0.1);
  border-top: 1px solid rgb(from var(--tenant-secondary, #F8D794) r g b / 0.15);
  border-radius: 20px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgb(from var(--tenant-secondary, #F8D794) r g b / 0.05);
}

.mind-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(from var(--tenant-primary, #B86830) r g b / 0.4), transparent);
  opacity: 0.7;
}

.mind-card:hover {
  background: linear-gradient(135deg, rgb(from var(--tenant-surface, #284139) r g b / 0.6) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.8) 100%);
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
  transform: translateY(-2px);
}

/* Flagged Question Card */
.mind-card.is-flagged {
  border: 2px solid rgb(from var(--tenant-secondary, #F8D794) r g b / 0.5) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), 0 0 0 2px rgb(from var(--tenant-secondary, #F8D794) r g b / 0.2), inset 0 1px 0 rgb(from var(--tenant-secondary, #F8D794) r g b / 0.05);
}

/* Dropdown Menu - Less Transparent */
.mind-card-dropdown {
  background: linear-gradient(135deg, rgb(from var(--tenant-surface, #284139) r g b / 0.85) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.95) 100%);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgb(from var(--tenant-secondary, #F8D794) r g b / 0.15);
  border-top: 1px solid rgb(from var(--tenant-secondary, #F8D794) r g b / 0.2);
  border-radius: 14px;
  transition: all 0.2s ease;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgb(from var(--tenant-secondary, #F8D794) r g b / 0.1);
}

/* Primary Button */
.mind-btn {
  background: linear-gradient(135deg, var(--tenant-primary, #B86830) 0%, var(--tenant-surface, #284139) 100%);
  color: white;
  border: none;
  border-radius: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mind-btn:hover {
  box-shadow: 0 4px 20px rgb(from var(--tenant-primary, #B86830) r g b / 0.5);
  transform: translateY(-1px);
}

/* Secondary Button */
.mind-btn-secondary {
  background: rgb(from var(--tenant-accent, #809076) r g b / 0.12);
  border: 1px solid var(--tenant-accent, #809076);
  color: var(--tenant-accent, #9aac94);
  border-radius: 14px;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}

.mind-btn-secondary:hover {
  background: rgb(from var(--tenant-accent, #809076) r g b / 0.25);
  border-color: var(--tenant-accent, #9aac94);
}

/* Utility Classes */
.icon-wasabi {
  color: var(--tenant-accent, #809076);
}

.icon-earth {
  color: var(--tenant-primary, #B86830);
}

.icon-khaki {
  color: var(--tenant-secondary, #F8D794);
}

.icon-emerald {
  color: var(--tenant-surface, #284139);
}

.bg-wasabi-soft {
  background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.2);
}

.bg-earth-soft {
  background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2);
}

.bg-earth-soft-pill {
  background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.45);
}

.bg-khaki-soft {
  background-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.2);
}

.border-wasabi-soft {
  border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.4);
}

.border-earth-soft {
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.4);
}

.border-khaki-soft {
  border-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.3);
}

.glow-brand {
  text-shadow: 0 0 20px rgb(from var(--tenant-primary, #B86830) r g b / 0.5);
}

.text-shadow-soft {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35), 0 2px 12px rgba(0, 0, 0, 0.2);
}

/* Progress Ring */
.stat-ring {
  background: conic-gradient(var(--tenant-primary, #B86830) var(--progress), rgb(from var(--tenant-primary, #B86830) r g b / 0.15) 0);
  border-radius: 50%;
  padding: 4px;
}

.stat-ring-inner {
  background: var(--tenant-surface, #284139);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hero Title Gradient */
.hero-title {
  background: linear-gradient(135deg, var(--tenant-text-primary, #f8fafc) 0%, var(--tenant-secondary, #F8D794) 50%, var(--tenant-primary, #B86830) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Dark outer glow for gradient text */
.hero-title-glow {
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.5));
}

/* Feature Icon */
.feature-icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgb(from var(--tenant-primary, #B86830) r g b / 0.2) 0%, rgb(from var(--tenant-surface, #284139) r g b / 0.4) 100%);
  border: 1px solid rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Stat Card */
.stat-card {
  text-align: center;
  padding: 24px;
}

.stat-number {
  font-size: 3rem;
  font-weight: 800;
  background: linear-gradient(135deg, var(--tenant-secondary, #F8D794) 0%, var(--tenant-primary, #B86830) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Testimonial Card */
.testimonial-card {
  position: relative;
}

.testimonial-card::before {
  content: '"';
  position: absolute;
  top: -10px;
  left: 20px;
  font-size: 80px;
  font-family: Georgia, serif;
  color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2);
  line-height: 1;
}

/* Floating Animation */
.floating {
  animation: float 6s ease-in-out infinite;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-20px);
  }
}

/* Pulse Glow Animation */
.pulse-glow {
  animation: pulseGlow 2s ease-in-out infinite;
}

@keyframes pulseGlow {

  0%,
  100% {
    box-shadow: 0 0 20px rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
  }

  50% {
    box-shadow: 0 0 40px rgb(from var(--tenant-primary, #B86830) r g b / 0.6);
  }
}

/* Mind Card Extended */
.mind-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: linear-gradient(135deg, rgb(from var(--tenant-secondary, #F8D794) r g b / 0.03) 0%, transparent 50%);
  pointer-events: none;
}

.mind-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgb(from var(--tenant-primary, #B86830) r g b / 0.2);
}

/* Static card - disables lift hover for non-interactive containers */
.mind-card.mind-card-static:hover {
  transform: none;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgb(from var(--tenant-secondary, #F8D794) r g b / 0.05);
  border-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.1);
  background: linear-gradient(135deg, rgb(from var(--tenant-surface, #284139) r g b / 0.5) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.7) 100%);
}

/* Mind Button Extended */
.mind-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.mind-btn:hover::after {
  left: 100%;
}

.mind-btn:hover {
  transform: translateY(-2px);
}

/* Mind Button Secondary Extended */
.mind-btn-secondary:hover {
  color: var(--tenant-secondary, #F8D794);
}

/* Mind Button Ghost */
.mind-btn-ghost {
  background: transparent;
  border: none;
  color: var(--tenant-text-primary, #f8fafc);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.mind-btn-ghost:hover {
  color: var(--tenant-secondary, #F8D794);
}

/* Alpine.js x-cloak - prevents flash of uncompiled content */
[x-cloak] {
  display: none !important;
}

/* =============================================================================
   Question Interface Styles
   ============================================================================= */

/* Timer warning animation */
.timer-warning {
  animation: timerPulse 1s infinite;
}

@keyframes timerPulse {

  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.6;
  }
}

/* Question Option Card */
.option-card {
  background: linear-gradient(135deg, rgb(from var(--tenant-surface, #284139) r g b / 0.3) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.5) 100%);
  border: 1px solid rgb(from var(--tenant-accent, #809076) r g b / 0.2);
  border-radius: 14px;
  transition: all 0.2s ease;
  cursor: pointer;
}

.option-card:hover {
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5);
  background: linear-gradient(135deg, rgb(from var(--tenant-surface, #284139) r g b / 0.4) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.6) 100%);
}

.option-card.selected {
  border-color: var(--tenant-primary, #B86830);
  background: linear-gradient(135deg, rgb(from var(--tenant-primary, #B86830) r g b / 0.2) 0%, rgb(from var(--tenant-surface, #284139) r g b / 0.4) 100%);
  box-shadow: 0 0 0 2px rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
}

/* Option Letter Badge */
.option-letter {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-family: 'JetBrains Mono', monospace;
  transition: all 0.2s ease;
}

.option-card.selected .option-letter {
  background: linear-gradient(135deg, var(--tenant-primary, #B86830) 0%, var(--tenant-surface, #284139) 100%);
  color: white;
}

/* Question Image */
.question-image {
  border-radius: 12px;
  border: 1px solid rgb(from var(--tenant-accent, #809076) r g b / 0.3);
  background: rgb(from var(--tenant-background, #111A19) r g b / 0.5);
}

/* Annex Badge */
.annex-badge {
  background: linear-gradient(135deg, rgb(from var(--tenant-primary, #B86830) r g b / 0.3) 0%, rgb(from var(--tenant-surface, #284139) r g b / 0.5) 100%);
  border: 1px solid rgb(from var(--tenant-primary, #B86830) r g b / 0.4);
  border-radius: 10px;
  transition: all 0.2s ease;
}

.annex-badge:hover {
  background: linear-gradient(135deg, rgb(from var(--tenant-primary, #B86830) r g b / 0.4) 0%, rgb(from var(--tenant-surface, #284139) r g b / 0.6) 100%);
  border-color: var(--tenant-primary, #B86830);
}

/* Question Palette Dot */
.palette-dot {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  display: block;
  text-align: center;
  line-height: 40px;
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
  text-decoration: none;
}

/* Ensure question navigation grids work properly */
#question-sidebar .grid,
#results-nav-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}

.palette-dot.answered {
  background: linear-gradient(135deg, var(--tenant-accent, #809076) 0%, var(--tenant-surface, #284139) 100%);
  color: white;
}

.palette-dot.current {
  background: linear-gradient(135deg, var(--tenant-primary, #B86830) 0%, var(--tenant-surface, #284139) 100%) !important;
  color: white !important;
  box-shadow: 0 0 0 2px rgb(from var(--tenant-primary, #B86830) r g b / 0.5) !important;
}

.palette-dot.flagged {
  border: 2px solid var(--tenant-secondary, #F8D794) !important;
}

.palette-dot.unanswered {
  background: rgb(from var(--tenant-background, #111A19) r g b / 0.6);
  border: 1px solid rgb(from var(--tenant-accent, #809076) r g b / 0.3);
  color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.6);
}

.palette-dot:hover {
  transform: scale(1.1);
}

/* Section Card */
.section-card {
  padding: 10px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgb(from var(--tenant-surface, #284139) r g b / 0.25) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.35) 100%);
  border: 1px solid rgb(from var(--tenant-accent, #809076) r g b / 0.15);
}

.section-card.current {
  background: linear-gradient(135deg, rgb(from var(--tenant-primary, #B86830) r g b / 0.12) 0%, rgb(from var(--tenant-surface, #284139) r g b / 0.25) 100%);
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.35);
}

/* Modal Styles */
.modal-overlay {
  background: rgb(from var(--tenant-background, #111A19) r g b / 0.85);
  backdrop-filter: blur(8px);
}

.modal-content {
  background: linear-gradient(135deg, rgb(from var(--tenant-surface, #284139) r g b / 0.95) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.98) 100%);
  border: 1px solid rgb(from var(--tenant-secondary, #F8D794) r g b / 0.2);
}

/* Exam Header Bar */
.exam-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  background: rgb(from var(--tenant-background, #111A19) r g b / 0.8);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

/* Question Number Badge */
.question-number-badge {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
}

/* =============================================================================
   Results Pages Styles
   ============================================================================= */

/* Correct/Incorrect colors */
.bg-correct-soft {
  background-color: rgba(34, 197, 94, 0.15);
}

.bg-incorrect-soft {
  background-color: rgba(239, 68, 68, 0.15);
}

/* Score Ring */
.score-ring {
  --ring-color: #22c55e;
  --ring-bg: rgba(34, 197, 94, 0.15);
  background: conic-gradient(var(--ring-color) var(--progress), var(--ring-bg) 0);
  border-radius: 50%;
  padding: 6px;
}

.score-ring.is-failed {
  --ring-color: #ef4444;
  --ring-bg: rgba(239, 68, 68, 0.15);
}

.score-ring-inner {
  background: linear-gradient(135deg, var(--tenant-surface, #284139) 0%, var(--tenant-background, #111A19) 100%);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

/* Question Row (for results list) */
.question-row {
  padding: 12px 16px;
  border-radius: 12px;
  background: rgb(from var(--tenant-surface, #284139) r g b / 0.2);
  border: 1px solid rgb(from var(--tenant-accent, #809076) r g b / 0.15);
  transition: all 0.2s ease;
  cursor: pointer;
}

.question-row:hover {
  background: rgb(from var(--tenant-surface, #284139) r g b / 0.35);
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
  transform: translateX(4px);
}

.question-row.correct {
  border-left: 3px solid #22c55e;
}

.question-row.incorrect {
  border-left: 3px solid #ef4444;
}

/* Weak Area Card */
.weak-area {
  padding: 12px 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgb(from var(--tenant-surface, #284139) r g b / 0.2) 100%);
  border: 1px solid rgba(239, 68, 68, 0.2);
}

/* Result Card Styles */
.result-correct {
  border-left: 3px solid #22c55e;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.1) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.5) 100%);
}

.result-incorrect {
  border-left: 3px solid #ef4444;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgb(from var(--tenant-background, #111A19) r g b / 0.5) 100%);
}

/* Explanation Image */
.explanation-image {
  border-radius: 12px;
  border: 1px solid rgba(34, 197, 94, 0.3);
  background: rgb(from var(--tenant-background, #111A19) r g b / 0.5);
}

/* Image Carousel */
.image-carousel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.carousel-btn {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgb(from var(--tenant-surface, #284139) r g b / 0.5);
  border: 1px solid rgb(from var(--tenant-accent, #809076) r g b / 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.carousel-btn:hover {
  background: rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5);
}

.carousel-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.carousel-dots {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin-top: 8px;
}

.carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgb(from var(--tenant-accent, #809076) r g b / 0.3);
  cursor: pointer;
  transition: all 0.2s ease;
}

.carousel-dot.active {
  background: var(--tenant-primary, #B86830);
}

/* Rating Button */
.rating-btn {
  padding: 12px 20px;
  border-radius: 12px;
  border: 1px solid rgb(from var(--tenant-accent, #809076) r g b / 0.3);
  background: rgb(from var(--tenant-surface, #284139) r g b / 0.3);
  transition: all 0.2s ease;
  cursor: pointer;
}

.rating-btn:hover {
  background: rgb(from var(--tenant-surface, #284139) r g b / 0.5);
  border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.5);
}

.rating-btn.selected-helpful {
  background: rgba(34, 197, 94, 0.2);
  border-color: #22c55e;
  color: #22c55e;
}

.rating-btn.selected-unhelpful {
  background: rgba(239, 68, 68, 0.2);
  border-color: #ef4444;
  color: #ef4444;
}

/* Confetti Animation */
.confetti {
  position: fixed;
  top: 0;
  width: 10px;
  height: 10px;
  background: var(--tenant-secondary, #F8D794);
  animation: confetti-fall 3s ease-out forwards;
  z-index: 100;
  pointer-events: none;
}

@keyframes confetti-fall {
  0% {
    transform: translateY(-20px) rotate(0deg);
    opacity: 1;
  }

  100% {
    transform: translateY(100vh) rotate(720deg);
    opacity: 0;
  }
}

/* Palette Dot for Results Review */
#results-nav-grid .palette-dot.unanswered {
  border: 2px solid rgba(239, 68, 68, 0.5);
}

.palette-dot.correct {
  background: rgba(34, 197, 94, 0.3);
  border: 2px solid rgba(34, 197, 94, 0.8);
  color: #22c55e;
}

.palette-dot.incorrect {
  background: rgba(239, 68, 68, 0.3);
  border: 2px solid rgba(239, 68, 68, 0.8);
  color: #ef4444;
}

/* =============================================================================
   Auth Form Styles (Login/Signup)
   ============================================================================= */

/* Form Input */
.form-input {
  width: 100%;
  padding-top: 14px;
  padding-right: 16px;
  padding-bottom: 14px;
  padding-left: 16px;
  border-radius: 12px;
  background: rgb(from var(--tenant-background, #111A19) r g b / 0.6);
  border: 1px solid rgb(from var(--tenant-accent, #809076) r g b / 0.3);
  color: var(--tenant-text-primary, #f8fafc);
  font-size: 14px;
  transition: all 0.2s ease;
}

.form-input:focus {
  outline: none;
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5);
  background: rgb(from var(--tenant-background, #111A19) r g b / 0.8);
  box-shadow: 0 0 0 3px rgb(from var(--tenant-primary, #B86830) r g b / 0.1);
}

.form-input::placeholder {
  color: rgb(from var(--tenant-accent, #809076) r g b / 0.5);
}

.form-input.error {
  border-color: rgba(239, 68, 68, 0.5);
}

/* Input with left icon */
.form-input-with-icon {
  padding-left: 48px !important;
}

/* Input with right icon (password toggle) */
.form-input-with-right-icon {
  padding-right: 48px !important;
}

/* Form Label */
.form-label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--tenant-text-primary, #f8fafc);
  margin-bottom: 8px;
}

/* Password Toggle */
.password-toggle {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: rgb(from var(--tenant-accent, #809076) r g b / 0.6);
  cursor: pointer;
  transition: color 0.2s;
  background: none;
  border: none;
  padding: 4px;
}

.password-toggle:hover {
  color: var(--tenant-secondary, #F8D794);
}

/* Custom Checkbox */
.custom-checkbox {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
  border-radius: 4px;
  background: rgb(from var(--tenant-background, #111A19) r g b / 0.8);
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.custom-checkbox:hover {
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5);
  background: rgb(from var(--tenant-background, #111A19) r g b / 0.9);
}

.custom-checkbox:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
}

.custom-checkbox:checked {
  background: var(--tenant-primary, #b86830);
  border-color: var(--tenant-primary, #b86830);
}

.custom-checkbox:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* File Input Button Styling */
.form-file-input::-webkit-file-upload-button {
  appearance: none;
  -webkit-appearance: none;
  margin-right: 16px;
  padding: 10px 16px;
  border-radius: 8px;
  border: none;
  font-size: 14px;
  font-weight: 600;
  background: rgb(from var(--tenant-primary, #B86830) r g b / 0.2);
  color: var(--tenant-primary, #b86830);
  cursor: pointer;
  transition: background 0.2s ease;
}

.form-file-input::-webkit-file-upload-button:hover {
  background: rgba(184, 104, 48, 0.3);
}

.form-file-input::-ms-browse {
  margin-right: 16px;
  padding: 10px 16px;
  border-radius: 8px;
  border: none;
  font-size: 14px;
  font-weight: 600;
  background: rgb(from var(--tenant-primary, #B86830) r g b / 0.2);
  color: var(--tenant-primary, #b86830);
  cursor: pointer;
  transition: background 0.2s ease;
}

.form-file-input::-ms-browse:hover {
  background: rgba(184, 104, 48, 0.3);
}

/* Hide number input spinners */
.hide-number-spinners {
  -moz-appearance: textfield;
}

.hide-number-spinners::-webkit-inner-spin-button,
.hide-number-spinners::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Divider */
.divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 24px 0;
}

.divider::before,
.divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgb(from var(--tenant-accent, #809076) r g b / 0.2);
}

/* Social Button */
.social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px;
  border-radius: 12px;
  background: rgb(from var(--tenant-surface, #284139) r g b / 0.3);
  border: 1px solid rgb(from var(--tenant-accent, #809076) r g b / 0.3);
  color: var(--tenant-text-primary, #f8fafc);
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s ease;
  width: 100%;
  cursor: pointer;
}

.social-btn:hover {
  background: rgb(from var(--tenant-surface, #284139) r g b / 0.5);
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
}

/* Password Strength */
.password-strength {
  height: 4px;
  border-radius: 2px;
  margin-top: 8px;
  transition: all 0.3s ease;
  flex: 1;
}

.strength-weak {
  background: #ef4444;
  width: 33%;
}

.strength-medium {
  background: #eab308;
  width: 66%;
}

.strength-strong {
  background: #22c55e;
  width: 100%;
}

/* Role Card (for signup) */
.role-card {
  padding: 16px;
  border-radius: 12px;
  background: rgb(from var(--tenant-surface, #284139) r g b / 0.2);
  border: 2px solid rgb(from var(--tenant-accent, #809076) r g b / 0.2);
  cursor: pointer;
  transition: all 0.2s ease;
}

.role-card:hover {
  background: rgb(from var(--tenant-surface, #284139) r g b / 0.35);
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3);
}

.role-card.selected {
  background: rgb(from var(--tenant-primary, #B86830) r g b / 0.15);
  border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5);
}

/* KaTeX Math Formula Spacing */
.katex-display {
  margin: 0.5em 0 !important;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.25em 0;
}

.katex-display > .katex {
  white-space: normal;
}

.katex {
  font-size: 1em;
}

.katex-html {
  overflow-x: auto;
  overflow-y: hidden;
}

/* Reduce prose line-height for tighter content - only in question content */
#question-content .prose {
  line-height: 1.6;
}

#question-content .prose p {
  margin-bottom: 0.5em;
}

#question-content .prose p:last-child {
  margin-bottom: 0;
}

/* Reduce option card padding for more compact layout */
.option-card {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}/* =============================================================================
   EARTHY AURORA → TENANT CSS VARIABLE OVERRIDES

   These override compiled Tailwind classes to make them respond to the
   tenant's color configuration injected by base.html.

   DO NOT EDIT the tailwind.css compiled file — edit theme.css instead.
   Covers all 100 templates that use Earthy Aurora Tailwind class names.
   ============================================================================= */

/* ---------- egyptian-earth → --tenant-primary (#B86830) ---------- */
.bg-egyptian-earth        { background-color: var(--tenant-primary, #B86830) !important; }
.text-egyptian-earth      { color: var(--tenant-primary, #B86830) !important; }
.border-egyptian-earth    { border-color: var(--tenant-primary, #B86830) !important; }
.ring-egyptian-earth      { --tw-ring-color: var(--tenant-primary, #B86830) !important; }
.fill-egyptian-earth      { fill: var(--tenant-primary, #B86830) !important; }
.stroke-egyptian-earth    { stroke: var(--tenant-primary, #B86830) !important; }
.decoration-egyptian-earth { text-decoration-color: var(--tenant-primary, #B86830) !important; }
/* Opacity variants */
.bg-egyptian-earth\/5    { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.05) !important; }
.bg-egyptian-earth\/10   { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.1)  !important; }
.bg-egyptian-earth\/20   { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2)  !important; }
.bg-egyptian-earth\/30   { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3)  !important; }
.bg-egyptian-earth\/35   { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.35) !important; }
.bg-egyptian-earth\/40   { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.4)  !important; }
.bg-egyptian-earth\/50   { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5)  !important; }
.bg-egyptian-earth\/60   { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.6) !important; }
.bg-egyptian-earth\/70   { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.7) !important; }
.bg-egyptian-earth\/80   { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.8) !important; }
.border-egyptian-earth\/5  { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.05) !important; }
.border-egyptian-earth\/10 { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.1)  !important; }
.border-egyptian-earth\/20 { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2)  !important; }
.border-egyptian-earth\/30 { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3)  !important; }
.border-egyptian-earth\/40 { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.4)  !important; }
.border-egyptian-earth\/50 { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5)  !important; }
.border-egyptian-earth\/60 { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.6) !important; }
.text-egyptian-earth\/5  { color: rgb(from var(--tenant-primary, #B86830) r g b / 0.05) !important; }
.text-egyptian-earth\/10 { color: rgb(from var(--tenant-primary, #B86830) r g b / 0.1)  !important; }
.text-egyptian-earth\/20 { color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2)  !important; }
.text-egyptian-earth\/30 { color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3)  !important; }
.text-egyptian-earth\/40 { color: rgb(from var(--tenant-primary, #B86830) r g b / 0.4)  !important; }
.text-egyptian-earth\/50 { color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5)  !important; }
.text-egyptian-earth\/60 { color: rgb(from var(--tenant-primary, #B86830) r g b / 0.6)  !important; }
.text-egyptian-earth\/70 { color: rgb(from var(--tenant-primary, #B86830) r g b / 0.7)  !important; }
.text-egyptian-earth\/80 { color: rgb(from var(--tenant-primary, #B86830) r g b / 0.8)  !important; }
.ring-egyptian-earth\/20 { --tw-ring-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2) !important; }
.ring-egyptian-earth\/30 { --tw-ring-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3) !important; }
.ring-egyptian-earth\/50 { --tw-ring-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5) !important; }
/* peer-checked variants */
.peer-checked\:border-egyptian-earth:where(.peer:checked ~ *) { border-color: var(--tenant-primary, #B86830) !important; }
.peer-checked\:bg-egyptian-earth/20:where(.peer:checked ~ *)  { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2) !important; }
.peer-checked\:text-egyptian-earth:where(.peer:checked ~ *)    { color: var(--tenant-primary, #B86830) !important; }
.peer-checked\:text-noir-de-vigne:where(.peer:checked ~ *)     { color: var(--tenant-background, #111A19) !important; }

/* ---------- creased-khaki → --tenant-secondary (#F8D794) ---------- */
.bg-creased-khaki        { background-color: var(--tenant-secondary, #F8D794) !important; }
.text-creased-khaki      { color: var(--tenant-secondary, #F8D794) !important; }
.border-creased-khaki    { border-color: var(--tenant-secondary, #F8D794) !important; }
.ring-creased-khaki      { --tw-ring-color: var(--tenant-secondary, #F8D794) !important; }
.fill-creased-khaki      { fill: var(--tenant-secondary, #F8D794) !important; }
/* Opacity variants */
.bg-creased-khaki\/10    { background-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.1)  !important; }
.bg-creased-khaki\/15    { background-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.15) !important; }
.bg-creased-khaki\/20    { background-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.2)  !important; }
.bg-creased-khaki\/30    { background-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.3)  !important; }
.bg-creased-khaki\/40    { background-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.4)  !important; }
.bg-creased-khaki\/80    { background-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.8)  !important; }
.border-creased-khaki\/10 { border-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.1)  !important; }
.border-creased-khaki\/20 { border-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.2)  !important; }
.border-creased-khaki\/30 { border-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.3)  !important; }
.border-creased-khaki\/40 { border-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.4)  !important; }
.border-creased-khaki\/80 { border-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.8)  !important; }
.text-creased-khaki\/10  { color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.1)  !important; }
.text-creased-khaki\/20  { color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.2)  !important; }
.text-creased-khaki\/30  { color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.3)  !important; }
.text-creased-khaki\/40  { color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.4)  !important; }
.text-creased-khaki\/80  { color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.8)  !important; }

/* ---------- wasabi → --tenant-accent (#809076) ---------- */
.bg-wasabi        { background-color: var(--tenant-accent, #809076) !important; }
.text-wasabi      { color: var(--tenant-accent, #809076) !important; }
.border-wasabi    { border-color: var(--tenant-accent, #809076) !important; }
.ring-wasabi      { --tw-ring-color: var(--tenant-accent, #809076) !important; }
.fill-wasabi      { fill: var(--tenant-accent, #809076) !important; }
/* Opacity variants */
.bg-wasabi\/5    { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.05) !important; }
.bg-wasabi\/10   { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.1)  !important; }
.bg-wasabi\/20   { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.2)  !important; }
.bg-wasabi\/30   { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.3)  !important; }
.bg-wasabi\/40   { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.4)  !important; }
.bg-wasabi\/50   { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.5)  !important; }
.bg-wasabi\/60   { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.6)  !important; }
.bg-wasabi\/70   { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.7)  !important; }
.bg-wasabi\/80   { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.8)  !important; }
.border-wasabi\/5  { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.05) !important; }
.border-wasabi\/10 { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.1)  !important; }
.border-wasabi\/20 { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.2)  !important; }
.border-wasabi\/30 { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.3)  !important; }
.border-wasabi\/40 { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.4)  !important; }
.border-wasabi\/50 { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.5)  !important; }
.border-wasabi\/60 { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.6)  !important; }
.border-wasabi\/70 { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.7)  !important; }
.border-wasabi\/80 { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.8)  !important; }
.text-wasabi\/5  { color: rgb(from var(--tenant-accent, #809076) r g b / 0.05) !important; }
.text-wasabi\/10 { color: rgb(from var(--tenant-accent, #809076) r g b / 0.1)  !important; }
.text-wasabi\/20 { color: rgb(from var(--tenant-accent, #809076) r g b / 0.2)  !important; }
.text-wasabi\/30 { color: rgb(from var(--tenant-accent, #809076) r g b / 0.3)  !important; }
.text-wasabi\/40 { color: rgb(from var(--tenant-accent, #809076) r g b / 0.4)  !important; }
.text-wasabi\/50 { color: rgb(from var(--tenant-accent, #809076) r g b / 0.5)  !important; }
.text-wasabi\/60 { color: rgb(from var(--tenant-accent, #809076) r g b / 0.6)  !important; }
.text-wasabi\/70 { color: rgb(from var(--tenant-accent, #809076) r g b / 0.7)  !important; }
.text-wasabi\/80 { color: rgb(from var(--tenant-accent, #809076) r g b / 0.8)  !important; }
.ring-wasabi\/20 { --tw-ring-color: rgb(from var(--tenant-accent, #809076) r g b / 0.2) !important; }
.ring-wasabi\/50 { --tw-ring-color: rgb(from var(--tenant-accent, #809076) r g b / 0.5) !important; }
/* safelisted */
.border-wasabi\/50 { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.5) !important; }

/* ---------- noir-de-vigne → --tenant-background (#111A19) ---------- */
.bg-noir-de-vigne        { background-color: var(--tenant-background, #111A19) !important; }
.text-noir-de-vigne      { color: var(--tenant-background, #111A19) !important; }
.border-noir-de-vigne    { border-color: var(--tenant-background, #111A19) !important; }
.ring-noir-de-vigne      { --tw-ring-color: var(--tenant-background, #111A19) !important; }
/* Opacity variants */
.bg-noir-de-vigne\/20    { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.2)  !important; }
.bg-noir-de-vigne\/30    { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.3)  !important; }
.bg-noir-de-vigne\/40    { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.4)  !important; }
.bg-noir-de-vigne\/50    { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.5)  !important; }
.bg-noir-de-vigne\/60    { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.6)  !important; }
.bg-noir-de-vigne\/70    { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.7)  !important; }
.bg-noir-de-vigne\/80    { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.8)  !important; }
.bg-noir-de-vigne\/90    { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.9)  !important; }
.bg-noir-de-vigne\/95    { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.95) !important; }
.border-noir-de-vigne\/20 { border-color: rgb(from var(--tenant-background, #111A19) r g b / 0.2)  !important; }
.border-noir-de-vigne\/30 { border-color: rgb(from var(--tenant-background, #111A19) r g b / 0.3)  !important; }
.border-noir-de-vigne\/40 { border-color: rgb(from var(--tenant-background, #111A19) r g b / 0.4)  !important; }
.border-noir-de-vigne\/50 { border-color: rgb(from var(--tenant-background, #111A19) r g b / 0.5)  !important; }
.text-noir-de-vigne\/20  { color: rgb(from var(--tenant-background, #111A19) r g b / 0.2)  !important; }
.text-noir-de-vigne\/50  { color: rgb(from var(--tenant-background, #111A19) r g b / 0.5)  !important; }
/* safelisted */
.bg-noir-de-vigne\/50 { background-color: rgb(from var(--tenant-background, #111A19) r g b / 0.5) !important; }

/* ---------- emerald-green → --tenant-surface (#284139) ---------- */
.bg-emerald-green        { background-color: var(--tenant-surface, #284139) !important; }
.text-emerald-green      { color: var(--tenant-surface, #284139) !important; }
.border-emerald-green    { border-color: var(--tenant-surface, #284139) !important; }
.ring-emerald-green      { --tw-ring-color: var(--tenant-surface, #284139) !important; }
/* Opacity variants */
.bg-emerald-green\/5     { background-color: rgb(from var(--tenant-surface, #284139) r g b / 0.05) !important; }
.bg-emerald-green\/10    { background-color: rgb(from var(--tenant-surface, #284139) r g b / 0.1)  !important; }
.bg-emerald-green\/20    { background-color: rgb(from var(--tenant-surface, #284139) r g b / 0.2)  !important; }
.bg-emerald-green\/30    { background-color: rgb(from var(--tenant-surface, #284139) r g b / 0.3)  !important; }
.bg-emerald-green\/40    { background-color: rgb(from var(--tenant-surface, #284139) r g b / 0.4)  !important; }
.bg-emerald-green\/50    { background-color: rgb(from var(--tenant-surface, #284139) r g b / 0.5)  !important; }
.bg-emerald-green\/60    { background-color: rgb(from var(--tenant-surface, #284139) r g b / 0.6)  !important; }
.border-emerald-green\/10 { border-color: rgb(from var(--tenant-surface, #284139) r g b / 0.1)  !important; }
.border-emerald-green\/20 { border-color: rgb(from var(--tenant-surface, #284139) r g b / 0.2)  !important; }
.border-emerald-green\/30 { border-color: rgb(from var(--tenant-surface, #284139) r g b / 0.3)  !important; }
.border-emerald-green\/40 { border-color: rgb(from var(--tenant-surface, #284139) r g b / 0.4)  !important; }
.border-emerald-green\/50 { border-color: rgb(from var(--tenant-surface, #284139) r g b / 0.5)  !important; }
.text-emerald-green\/20  { color: rgb(from var(--tenant-surface, #284139) r g b / 0.2)  !important; }
.text-emerald-green\/50  { color: rgb(from var(--tenant-surface, #284139) r g b / 0.5)  !important; }
.text-emerald-green\/60  { color: rgb(from var(--tenant-surface, #284139) r g b / 0.6)  !important; }

/* ---------- pearl → --tenant-text-primary (#f8fafc) ---------- */
.bg-pearl        { background-color: var(--tenant-text-primary, #f8fafc) !important; }
.text-pearl      { color: var(--tenant-text-primary, #f8fafc) !important; }
.border-pearl    { border-color: var(--tenant-text-primary, #f8fafc) !important; }
.ring-pearl      { --tw-ring-color: var(--tenant-text-primary, #f8fafc) !important; }
.fill-pearl      { fill: var(--tenant-text-primary, #f8fafc) !important; }
.placeholder-pearl::placeholder { color: var(--tenant-text-primary, #f8fafc) !important; }
/* Opacity variants */
.bg-pearl\/5     { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.05) !important; }
.bg-pearl\/10    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.1)  !important; }
.bg-pearl\/20    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.2)  !important; }
.bg-pearl\/30    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.3)  !important; }
.bg-pearl\/35    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.35) !important; }
.bg-pearl\/40    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.4)  !important; }
.bg-pearl\/50    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.5)  !important; }
.bg-pearl\/60    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.6)  !important; }
.bg-pearl\/70    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.7)  !important; }
.bg-pearl\/80    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.8)  !important; }
.bg-pearl\/85    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.85) !important; }
.bg-pearl\/90    { background-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.9)  !important; }
.border-pearl\/10 { border-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.1)  !important; }
.border-pearl\/20 { border-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.2)  !important; }
.border-pearl\/30 { border-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.3)  !important; }
.border-pearl\/40 { border-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.4)  !important; }
.text-pearl\/5   { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.05) !important; }
.text-pearl\/10  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.1)  !important; }
.text-pearl\/20  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.2)  !important; }
.text-pearl\/30  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.3)  !important; }
.text-pearl\/35  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.35) !important; }
.text-pearl\/40  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.4)  !important; }
.text-pearl\/50  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.5)  !important; }
.text-pearl\/60  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.6)  !important; }
.text-pearl\/70  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.7)  !important; }
.text-pearl\/80  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.8)  !important; }
.text-pearl\/85  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.85) !important; }
.text-pearl\/90  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.9)  !important; }
.ring-pearl\/20  { --tw-ring-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.2) !important; }
.ring-pearl\/30  { --tw-ring-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.3) !important; }
.ring-pearl\/50  { --tw-ring-color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.5) !important; }

/* ---------- GRADIENT COLOR STOPS ---------- */
/* from-X: Sets gradient start color. Sets all 3 gradient custom properties. */
.from-egyptian-earth  { --tw-gradient-from: var(--tenant-primary, #B86830) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgb(from var(--tenant-primary, #B86830) r g b / 0) var(--tw-gradient-to-position) !important; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important; }
.from-wasabi          { --tw-gradient-from: var(--tenant-accent, #809076) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgb(from var(--tenant-accent, #809076) r g b / 0) var(--tw-gradient-to-position) !important; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important; }
.from-emerald-green   { --tw-gradient-from: var(--tenant-surface, #284139) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgb(from var(--tenant-surface, #284139) r g b / 0) var(--tw-gradient-to-position) !important; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important; }
.from-noir-de-vigne   { --tw-gradient-from: var(--tenant-background, #111A19) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgb(from var(--tenant-background, #111A19) r g b / 0) var(--tw-gradient-to-position) !important; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important; }
.from-creased-khaki   { --tw-gradient-from: var(--tenant-secondary, #F8D794) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgb(from var(--tenant-secondary, #F8D794) r g b / 0) var(--tw-gradient-to-position) !important; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important; }
/* from-X opacity variants (found in templates: /5, /20, /30, /90) */
.from-egyptian-earth\/5  { --tw-gradient-from: rgb(from var(--tenant-primary, #B86830) r g b / 0.05) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgb(from var(--tenant-primary, #B86830) r g b / 0) var(--tw-gradient-to-position) !important; }
.from-egyptian-earth\/30 { --tw-gradient-from: rgb(from var(--tenant-primary, #B86830) r g b / 0.3) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgb(from var(--tenant-primary, #B86830) r g b / 0) var(--tw-gradient-to-position) !important; }
.from-wasabi\/20         { --tw-gradient-from: rgb(from var(--tenant-accent, #809076) r g b / 0.2) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgb(from var(--tenant-accent, #809076) r g b / 0) var(--tw-gradient-to-position) !important; }
.from-noir-de-vigne\/90  { --tw-gradient-from: rgb(from var(--tenant-background, #111A19) r g b / 0.9) var(--tw-gradient-from-position) !important; --tw-gradient-to: rgb(from var(--tenant-background, #111A19) r g b / 0) var(--tw-gradient-to-position) !important; }

/* to-X: Sets gradient end color only */
.to-emerald-green  { --tw-gradient-to: var(--tenant-surface, #284139) var(--tw-gradient-to-position) !important; }
.to-egyptian-earth { --tw-gradient-to: var(--tenant-primary, #B86830) var(--tw-gradient-to-position) !important; }
.to-noir-de-vigne  { --tw-gradient-to: var(--tenant-background, #111A19) var(--tw-gradient-to-position) !important; }
.to-creased-khaki  { --tw-gradient-to: var(--tenant-secondary, #F8D794) var(--tw-gradient-to-position) !important; }
/* to-X opacity variants */
.to-emerald-green\/30  { --tw-gradient-to: rgb(from var(--tenant-surface, #284139) r g b / 0.3) var(--tw-gradient-to-position) !important; }
.to-egyptian-earth\/10 { --tw-gradient-to: rgb(from var(--tenant-primary, #B86830) r g b / 0.1) var(--tw-gradient-to-position) !important; }

/* via-X: Sets middle gradient stop */
.via-egyptian-earth { --tw-gradient-to: rgb(from var(--tenant-primary, #B86830) r g b / 0) var(--tw-gradient-to-position) !important; --tw-gradient-stops: var(--tw-gradient-from), var(--tenant-primary, #B86830) var(--tw-gradient-via-position), var(--tw-gradient-to) !important; }

/* ---------- SHADOW COLOR CLASSES ---------- */
.shadow-egyptian-earth\/20 { --tw-shadow-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2) !important; }
.shadow-egyptian-earth\/30 { --tw-shadow-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3) !important; }
.shadow-egyptian-earth\/50 { --tw-shadow-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5) !important; }

/* ---------- HOVER STATE VARIANTS ---------- */
/* hover: background */
.hover\:bg-egyptian-earth:hover     { background-color: var(--tenant-primary, #B86830) !important; }
.hover\:bg-egyptian-earth/20:hover { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2) !important; }
.hover\:bg-egyptian-earth/30:hover { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3) !important; }
.hover\:bg-egyptian-earth/80:hover { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.8) !important; }
.hover\:bg-wasabi/30:hover         { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.3) !important; }
/* hover: text */
.hover\:text-creased-khaki:hover    { color: var(--tenant-secondary, #F8D794) !important; }
.hover\:text-pearl:hover            { color: var(--tenant-text-primary, #f8fafc) !important; }
.hover\:text-wasabi:hover           { color: var(--tenant-accent, #809076) !important; }
.hover\:text-egyptian-earth:hover   { color: var(--tenant-primary, #B86830) !important; }
/* hover: background (missing from original list) */
.hover\:bg-creased-khaki:hover      { background-color: var(--tenant-secondary, #F8D794) !important; }
/* hover: border */
.hover\:border-egyptian-earth/50:hover { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5) !important; }
.hover\:border-egyptian-earth/70:hover { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.7) !important; }
/* hover: shadow */
.hover\:shadow-egyptian-earth/50:hover { --tw-shadow-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5) !important; }

/* ---------- GROUP-HOVER STATE VARIANTS ---------- */
.group:hover .group-hover\:bg-egyptian-earth/20    { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.2) !important; }
.group:hover .group-hover\:bg-egyptian-earth/30    { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3) !important; }
.group:hover .group-hover\:bg-egyptian-earth/35    { background-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.35) !important; }
.group:hover .group-hover\:bg-wasabi/30            { background-color: rgb(from var(--tenant-accent, #809076) r g b / 0.3) !important; }
.group:hover .group-hover\:bg-creased-khaki/30     { background-color: rgb(from var(--tenant-secondary, #F8D794) r g b / 0.3) !important; }
.group:hover .group-hover\:border-egyptian-earth/70 { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.7) !important; }
.group:hover .group-hover\:border-wasabi/50        { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.5) !important; }
.group:hover .group-hover\:text-creased-khaki       { color: var(--tenant-secondary, #F8D794) !important; }
.group:hover .group-hover\:text-wasabi              { color: var(--tenant-accent, #809076) !important; }
.group:hover .group-hover\:text-egyptian-earth      { color: var(--tenant-primary, #B86830) !important; }

/* ---------- FOCUS STATE VARIANTS ---------- */
.focus\:border-wasabi/50:focus         { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.5) !important; }
.focus\:border-wasabi/60:focus         { border-color: rgb(from var(--tenant-accent, #809076) r g b / 0.6) !important; }
.focus\:border-egyptian-earth:focus     { border-color: var(--tenant-primary, #B86830) !important; }
.focus\:border-egyptian-earth/60:focus { border-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.6) !important; }
.focus\:ring-egyptian-earth:focus       { --tw-ring-color: var(--tenant-primary, #B86830) !important; }
.focus\:ring-egyptian-earth/30:focus   { --tw-ring-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.3) !important; }
.focus\:ring-egyptian-earth/50:focus   { --tw-ring-color: rgb(from var(--tenant-primary, #B86830) r g b / 0.5) !important; }
.focus\:border-creased-khaki:focus      { border-color: var(--tenant-secondary, #F8D794) !important; }
.focus\:ring-creased-khaki:focus        { --tw-ring-color: var(--tenant-secondary, #F8D794) !important; }

/* ---------- PLACEHOLDER CLASSES ---------- */
/* Traditional placeholder-X syntax */
.placeholder-wasabi\/40::placeholder { color: rgb(from var(--tenant-accent, #809076) r g b / 0.4) !important; }
.placeholder-wasabi\/50::placeholder { color: rgb(from var(--tenant-accent, #809076) r g b / 0.5) !important; }
/* Modern placeholder: colon syntax (placeholder:text-X) */
.placeholder\:text-wasabi/40::placeholder { color: rgb(from var(--tenant-accent, #809076) r g b / 0.4) !important; }
.placeholder\:text-wasabi/50::placeholder { color: rgb(from var(--tenant-accent, #809076) r g b / 0.5) !important; }
.placeholder\:text-pearl/30::placeholder { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.3) !important; }
.placeholder\:text-pearl/40::placeholder  { color: rgb(from var(--tenant-text-primary, #f8fafc) r g b / 0.4) !important; }

/* ---------- SELECT OPTION BACKGROUNDS ---------- */
/* The [&>option]:bg-noir-de-vigne arbitrary variant cannot be targeted by class override. */
/* A global rule covers all <select> dropdowns, which is the correct scope anyway. */
select option {
  background-color: var(--tenant-background, #111A19);
  color: var(--tenant-text-primary, #f8fafc);
}

/* =============================================================================
   END EARTHY AURORA OVERRIDES
   ============================================================================= */
