/* ============================================================================
   PRO MODE — Bloomberg Terminal + Notion dark + Linear
   Dense, monospace, dark, data-focused. Power user aesthetic.
   ============================================================================ */
body.mode-pro {
  background: #0f0f1a !important;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(255,255,255,0.015) 39px, rgba(255,255,255,0.015) 40px),
    repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(255,255,255,0.015) 39px, rgba(255,255,255,0.015) 40px) !important;
  font-family: 'Inter', -apple-system, sans-serif !important;
  color: #e0e0f0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  padding: 16px !important;
  --sec: #7070a0 !important;
  --bdr: rgba(255,255,255,0.08) !important;
  --primary: #D4A843;
  --primary-light: rgba(212,168,67,0.1);
  --gold-light: rgba(212,168,67,0.06);
}

/* Links */
body.mode-pro a { color: #00D4FF !important; text-decoration: none !important; }
body.mode-pro a:hover { color: #66E5FF !important; text-decoration: underline !important; }

/* Placeholder text */
body.mode-pro input::placeholder,
body.mode-pro textarea::placeholder {
  color: #505080 !important;
  opacity: 1 !important;
}

/* Selection */
body.mode-pro ::selection {
  background: rgba(212,168,67,0.3) !important;
  color: #e0e0f0 !important;
}

/* HR */
body.mode-pro hr { border: none !important; border-top: 1px solid rgba(255,255,255,0.08) !important; margin: 12px 0 !important; }

/* Textarea focus-visible */
body.mode-pro textarea:focus-visible {
  outline: 2px solid #00D4FF !important;
  outline-offset: 2px !important;
}

/* Custom scrollbar */
body.mode-pro ::-webkit-scrollbar { width: 6px !important; height: 6px !important; }
body.mode-pro ::-webkit-scrollbar-track { background: transparent !important; }
body.mode-pro ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.1) !important; border-radius: 3px !important; }
body.mode-pro ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2) !important; }

/* Typography */
body.mode-pro h1 {
  font-family: 'Inter', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #D4A843 !important;
  letter-spacing: -0.5px !important;
  margin-bottom: 4px !important;
}
body.mode-pro h2 {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #D4A843 !important;
  letter-spacing: 0 !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  letter-spacing: 1.5px !important;
}
body.mode-pro h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #e0e0f0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 8px !important;
}
body.mode-pro .subtitle {
  color: #7070a0 !important;
  font-size: 12px !important;
  font-family: 'JetBrains Mono', monospace !important;
  margin-bottom: 16px !important;
}

/* Cards */
body.mode-pro .card {
  background: #1a1a2e !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  transition: border-color 0.2s !important;
}
body.mode-pro .card:hover {
  border-color: rgba(212,168,67,0.3) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.5), 0 0 20px rgba(212,168,67,0.03) !important;
  transform: none !important;
}
/* Section header decoration - gold bar */
body.mode-pro .card > h2:first-child,
body.mode-pro .card > div:first-child > h2 {
  padding-left: 14px !important;
  position: relative !important;
}
body.mode-pro .card > h2:first-child::before,
body.mode-pro .card > div:first-child > h2::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  bottom: 2px !important;
  width: 3px !important;
  border-radius: 2px !important;
  background: #D4A843 !important;
  display: block !important;
}

/* Header */
body.mode-pro .header-row {
  background: #1a1a2e !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
  margin-bottom: 12px !important;
}

/* Castle icon */
body.mode-pro .castle-icon {
  width: 40px !important;
  height: 40px !important;
  filter: brightness(0) invert(0.8) sepia(1) saturate(3) hue-rotate(10deg) !important;
  transition: transform 0.3s !important;
}
body.mode-pro .castle-icon:hover { transform: scale(1.05) !important; }
body.mode-pro .sparkle {
  color: #D4A843 !important;
  font-size: 12px !important;
  animation: sparkle-pulse 2.5s ease-in-out infinite !important;
  filter: drop-shadow(0 0 4px rgba(212,168,67,0.6)) !important;
}
body.mode-pro .sparkle:nth-child(1) { top: -6px !important; right: -10px !important; }
body.mode-pro .sparkle:nth-child(2) { top: 10px !important; right: -20px !important; font-size: 10px !important; }
body.mode-pro .sparkle:nth-child(3) { top: -4px !important; right: -30px !important; font-size: 8px !important; }

/* Buttons — outlined, sharp */
body.mode-pro .btn {
  padding: 8px 16px !important;
  border-radius: 6px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  min-height: 34px !important;
  letter-spacing: 0.3px !important;
  transition: all 0.2s !important;
  text-transform: uppercase !important;
}
body.mode-pro .btn-primary {
  background: transparent !important;
  color: #D4A843 !important;
  border: 1.5px solid #D4A843 !important;
  box-shadow: none !important;
}
body.mode-pro .btn-primary:hover {
  background: #D4A843 !important;
  color: #0f0f1a !important;
  box-shadow: 0 0 16px rgba(212,168,67,0.3) !important;
  transform: none !important;
}
body.mode-pro .btn-secondary {
  background: transparent !important;
  color: #7070a0 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  box-shadow: none !important;
}
body.mode-pro .btn-secondary:hover {
  background: rgba(255,255,255,0.05) !important;
  border-color: rgba(255,255,255,0.2) !important;
  color: #e0e0f0 !important;
  transform: none !important;
}
body.mode-pro .btn-danger {
  background: transparent !important;
  color: #ff4444 !important;
  border: 1.5px solid #ff4444 !important;
  box-shadow: none !important;
}
body.mode-pro .btn-danger:hover {
  background: #ff4444 !important;
  color: #0f0f1a !important;
  transform: none !important;
}
body.mode-pro .btn-success {
  background: transparent !important;
  color: #00ff88 !important;
  border: 1.5px solid #00ff88 !important;
  box-shadow: none !important;
}
body.mode-pro .btn-success:hover {
  background: #00ff88 !important;
  color: #0f0f1a !important;
  transform: none !important;
}
body.mode-pro .btn-warning {
  background: transparent !important;
  color: #ff9500 !important;
  border: 1.5px solid #ff9500 !important;
  box-shadow: none !important;
}
body.mode-pro .btn-warning:hover {
  background: #ff9500 !important;
  color: #0f0f1a !important;
  transform: none !important;
}
body.mode-pro .btn-small {
  padding: 6px 12px !important;
  font-size: 11px !important;
  min-height: 30px !important;
}
body.mode-pro .btn-icon {
  padding: 6px !important;
  min-width: 34px !important;
  min-height: 34px !important;
}

/* Tab Bar — compact, gold underline */
body.mode-pro .tabs-wrap {
  background: rgba(15,15,26,0.95) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
  margin-bottom: 16px !important;
  margin-left: -16px !important;
  margin-right: -16px !important;
  padding: 0 16px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
body.mode-pro .tabs-wrap::after {
  background: linear-gradient(90deg, transparent, rgba(15,15,26,0.95)) !important;
  width: 48px !important;
}
body.mode-pro .tabs {
  padding-right: 32px !important;
}
body.mode-pro .tab {
  padding: 12px 16px !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  background: none !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #7070a0 !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  transition: all 0.2s !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
body.mode-pro .tab-icon { margin-right: 4px !important; }
body.mode-pro .tab:hover {
  color: #e0e0f0 !important;
  background: rgba(255,255,255,0.03) !important;
  border-radius: 0 !important;
}
body.mode-pro .tab.active {
  color: #D4A843 !important;
  border-bottom-color: #D4A843 !important;
  background: rgba(212,168,67,0.05) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}

/* Setup Pills — compact, dark */
body.mode-pro .overview-pills,
body.mode-pro .plan-pills,
body.mode-pro .reservations-pills,
body.mode-pro .attractions-pills,
body.mode-pro .setup-pills {
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
body.mode-pro .overview-pill,
body.mode-pro .plan-pill,
body.mode-pro .reservations-pill,
body.mode-pro .attractions-pill,
body.mode-pro .setup-pill {
  padding: 6px 16px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(255,255,255,0.03) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #7070a0 !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  transition: all 0.2s !important;
  box-shadow: none !important;
}
body.mode-pro .overview-pill:hover,
body.mode-pro .plan-pill:hover,
body.mode-pro .reservations-pill:hover,
body.mode-pro .attractions-pill:hover,
body.mode-pro .setup-pill:hover {
  border-color: #D4A843 !important;
  color: #D4A843 !important;
  transform: none !important;
  box-shadow: none !important;
}
body.mode-pro .overview-pill.active,
body.mode-pro .plan-pill.active,
body.mode-pro .reservations-pill.active,
body.mode-pro .attractions-pill.active,
body.mode-pro .setup-pill.active {
  border-color: #D4A843 !important;
  background: rgba(212,168,67,0.1) !important;
  color: #D4A843 !important;
  box-shadow: 0 0 8px rgba(212,168,67,0.1) !important;
}

/* Tools pills — Pro */
body.mode-pro .tools-pills {
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding-bottom: 12px !important;
  margin-bottom: 20px !important;
}
body.mode-pro .tools-pill {
  padding: 6px 16px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(255,255,255,0.03) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #7070a0 !important;
  font-family: 'Inter', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  transition: all 0.2s !important;
}
body.mode-pro .tools-pill:hover {
  border-color: #D4A843 !important;
  color: #D4A843 !important;
}
body.mode-pro .tools-pill.active {
  border-color: #D4A843 !important;
  background: rgba(212,168,67,0.1) !important;
  color: #D4A843 !important;
  box-shadow: 0 0 8px rgba(212,168,67,0.1) !important;
}

/* More dropdown */
body.mode-pro .tab-more-dropdown {
  border-radius: 6px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: #1a1a2e !important;
  backdrop-filter: none !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.5) !important;
  padding: 4px !important;
}
body.mode-pro .tab-more-item {
  border-radius: 4px !important;
  padding: 8px 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #e0e0f0 !important;
  border: none !important;
  background: none !important;
}
body.mode-pro .tab-more-item:hover { background: rgba(255,255,255,0.05) !important; }
body.mode-pro .tab-more-item.active { color: #D4A843 !important; background: rgba(212,168,67,0.08) !important; }
body.mode-pro .tab-more-item .tab-icon { font-size: 14px !important; }

/* Sidebar — Pro: dark command center, cyan accents */
body.mode-pro #sidebar {
  background: #0a0a14 !important;
  border-right: 1px solid rgba(0,212,255,0.15) !important;
  width: 200px;
}
body.mode-pro .sidebar-header {
  padding: 16px 12px 12px !important;
}
body.mode-pro .sidebar-title {
  font-family: 'JetBrains Mono', 'Inter', monospace !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #D4A843 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}
body.mode-pro .sidebar-subtitle {
  color: #505080 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
}
body.mode-pro .sidebar-collapse-btn {
  color: #505080 !important;
}
body.mode-pro .sidebar-collapse-btn:hover {
  background: rgba(0,212,255,0.08) !important;
  color: #00D4FF !important;
}
body.mode-pro .nav-divider {
  background: rgba(255,255,255,0.05) !important;
}
body.mode-pro .nav-item {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #7070a0 !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
}
body.mode-pro .nav-item:hover {
  background: rgba(0,212,255,0.06) !important;
  color: #b0b0d0 !important;
}
body.mode-pro .nav-item.active {
  border-left: 2px solid #00D4FF !important;
  color: #00D4FF !important;
  background: rgba(0,212,255,0.08) !important;
  font-weight: 600 !important;
}
body.mode-pro .nav-icon {
  font-size: 16px !important;
}
body.mode-pro .sidebar-footer {
  border-top-color: rgba(255,255,255,0.05) !important;
  background: #080812 !important;
}
body.mode-pro #contentHeader h1 {
  font-family: 'JetBrains Mono', 'Inter', monospace !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #D4A843 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
}
body.mode-pro #mainContent {
  padding: 0 16px 16px !important;
}

/* Bottom bar — Pro */
body.mode-pro #bottomBar {
  background: #0a0a14 !important;
  border-top: 1px solid rgba(0,212,255,0.15) !important;
}
body.mode-pro .bottom-tab {
  color: #505080 !important;
  font-family: 'Inter', sans-serif !important;
}
body.mode-pro .bottom-tab.active {
  color: #00D4FF !important;
}
body.mode-pro .bottom-tab.active::after {
  content: '' !important;
  position: absolute !important;
  bottom: 6px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 20px !important;
  height: 2px !important;
  background: #00D4FF !important;
}
body.mode-pro .more-panel {
  background: #0f0f1a !important;
  border-top: 1px solid rgba(0,212,255,0.15) !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.4) !important;
}
body.mode-pro .more-panel-item {
  color: #7070a0 !important;
  background: none !important;
}
body.mode-pro .more-panel-item:hover {
  background: rgba(0,212,255,0.06) !important;
  color: #00D4FF !important;
}
body.mode-pro .more-panel-close {
  color: #505080 !important;
}

/* Inputs — dark, monospace, compact */
body.mode-pro input[type="date"],
body.mode-pro input[type="text"],
body.mode-pro input[type="number"],
body.mode-pro input[type="time"],
body.mode-pro input[type="password"],
body.mode-pro select,
body.mode-pro textarea {
  padding: 8px 12px !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-family: 'JetBrains Mono', monospace !important;
  background: #252540 !important;
  color: #e0e0f0 !important;
  transition: border-color 0.2s !important;
}
body.mode-pro input:focus,
body.mode-pro select:focus,
body.mode-pro textarea:focus {
  border-color: #00D4FF !important;
  box-shadow: 0 0 0 2px rgba(0,212,255,0.15) !important;
  outline: none !important;
}
body.mode-pro .crowd-input,
body.mode-pro .compact-input {
  padding: 4px 6px !important;
  font-size: 12px !important;
  border-radius: 3px !important;
  font-weight: 600 !important;
  min-height: auto !important;
}
body.mode-pro input[type="time"].compact-input {
  width: 105px !important;
  padding: 4px 6px !important;
  font-size: 12px !important;
}
body.mode-pro .compact-select {
  padding: 4px 8px !important;
  font-size: 12px !important;
  border-radius: 3px !important;
  min-width: auto !important;
  min-height: auto !important;
}
body.mode-pro .form-group label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #7070a0 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
}

/* Calendar — grid with thin borders */
body.mode-pro .calendar-grid {
  gap: 12px !important;
}
body.mode-pro .day-card {
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 6px !important;
  background: #1a1a2e !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
  transition: border-color 0.2s !important;
}
body.mode-pro .day-card:hover {
  border-color: rgba(212,168,67,0.3) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important;
  transform: none !important;
}
body.mode-pro .day-card.has-conflict {
  border-color: #ff4444 !important;
  box-shadow: 0 0 12px rgba(255,68,68,0.15) !important;
}
body.mode-pro .day-header {
  padding: 10px 14px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  font-family: 'JetBrains Mono', monospace !important;
  letter-spacing: 0 !important;
  color: #D4A843 !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}
body.mode-pro .day-body {
  padding: 10px 14px !important;
}
body.mode-pro .day-hotel {
  font-size: 11px !important;
  color: #7070a0 !important;
  margin-bottom: 8px !important;
  font-weight: 500 !important;
  font-family: 'JetBrains Mono', monospace !important;
}
body.mode-pro .park-assigned {
  padding: 6px 12px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-family: 'JetBrains Mono', monospace !important;
  box-shadow: none !important;
}

/* Crowd items */
body.mode-pro .crowd-item {
  font-size: 11px !important;
  padding: 3px 6px !important;
  border-radius: 3px !important;
  background: rgba(255,255,255,0.03) !important;
  font-family: 'JetBrains Mono', monospace !important;
}
body.mode-pro .crowd-badge {
  border-radius: 3px !important;
  font-weight: 700 !important;
  font-size: 11px !important;
}

/* Score bar */
body.mode-pro .score-bar {
  margin-top: 8px !important;
  padding: 6px 10px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  font-family: 'JetBrains Mono', monospace !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}
body.mode-pro .score-great { background: rgba(0,255,136,0.1) !important; color: #00ff88 !important; }
body.mode-pro .score-good { background: rgba(255,149,0,0.1) !important; color: #ff9500 !important; }
body.mode-pro .score-bad { background: rgba(255,68,68,0.1) !important; color: #ff4444 !important; }

/* Dining items */
body.mode-pro .dining-item {
  font-size: 12px !important;
  padding: 6px 10px !important;
  background: rgba(212,168,67,0.05) !important;
  border-radius: 4px !important;
  border: 1px solid rgba(212,168,67,0.1) !important;
  font-weight: 500 !important;
  color: #e0e0f0 !important;
  font-family: 'JetBrains Mono', monospace !important;
}

/* Event tags */
body.mode-pro .event-tag {
  font-size: 10px !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
  font-weight: 600 !important;
  font-family: 'JetBrains Mono', monospace !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}
body.mode-pro .event-tag { background: rgba(168,85,247,0.15) !important; color: #a855f7 !important; }
body.mode-pro .event-tag.ext-evening { background: rgba(0,212,255,0.1) !important; color: #00D4FF !important; }
body.mode-pro .event-tag.after-hours { background: rgba(255,68,68,0.1) !important; color: #ff4444 !important; }
body.mode-pro .event-tag.festival { background: rgba(0,255,136,0.1) !important; color: #00ff88 !important; }

/* Guest/Group badges */
body.mode-pro .guest-badge {
  display: inline-block !important;
  font-size: 10px !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
  background: rgba(0,212,255,0.1) !important;
  color: #00D4FF !important;
  font-weight: 600 !important;
  font-family: 'JetBrains Mono', monospace !important;
  margin-top: 4px !important;
}
body.mode-pro .transfer-badge {
  font-size: 10px !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
  background: rgba(255,149,0,0.1) !important;
  color: #ff9500 !important;
  font-weight: 600 !important;
  font-family: 'JetBrains Mono', monospace !important;
}
body.mode-pro .group-badge {
  display: inline-block !important;
  font-size: 10px !important;
  padding: 2px 6px !important;
  border-radius: 3px !important;
  background: rgba(168,85,247,0.15) !important;
  color: #a855f7 !important;
  font-weight: 600 !important;
  font-family: 'JetBrains Mono', monospace !important;
}

/* Dashboard — terminal readout */
body.mode-pro .dash-grid {
  gap: 12px !important;
}
body.mode-pro .dash-card {
  background: #1a1a2e !important;
  border-radius: 6px !important;
  padding: 16px !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3) !important;
  transition: border-color 0.2s !important;
}
body.mode-pro .dash-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: #D4A843 !important;
  border-radius: 6px 6px 0 0 !important;
  opacity: 1 !important;
}
body.mode-pro .dash-card:hover {
  border-color: rgba(212,168,67,0.3) !important;
  transform: none !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.4) !important;
}
body.mode-pro .dash-card h4 {
  font-size: 10px !important;
  text-transform: uppercase !important;
  color: #7070a0 !important;
  margin-bottom: 8px !important;
  letter-spacing: 2px !important;
  font-weight: 700 !important;
  font-family: 'JetBrains Mono', monospace !important;
}
body.mode-pro .dash-pct {
  font-size: 36px !important;
  font-weight: 700 !important;
  margin-bottom: 2px !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: #D4A843 !important;
}
body.mode-pro .dash-bar {
  height: 4px !important;
  border-radius: 2px !important;
  background: rgba(255,255,255,0.06) !important;
  margin-top: 8px !important;
}
body.mode-pro .dash-bar-fill { border-radius: 2px !important; }
body.mode-pro .dash-detail {
  font-size: 11px !important;
  color: #7070a0 !important;
  margin-top: 6px !important;
  font-weight: 500 !important;
  font-family: 'JetBrains Mono', monospace !important;
}

/* Stat boxes */
body.mode-pro .stat-box {
  background: #1a1a2e !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  padding: 12px 16px !important;
  box-shadow: none !important;
  transition: border-color 0.2s !important;
}
body.mode-pro .stat-box:hover { transform: none !important; border-color: rgba(212,168,67,0.2) !important; }
body.mode-pro .stat-box .stat-value {
  font-size: 24px !important;
  font-weight: 700 !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: #D4A843 !important;
}
body.mode-pro .stat-box .stat-label {
  font-size: 10px !important;
  color: #7070a0 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  font-weight: 600 !important;
  font-family: 'JetBrains Mono', monospace !important;
}

/* Modals — dark, sharp */
body.mode-pro .modal-backdrop {
  background: rgba(0,0,0,0.6) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}
body.mode-pro .modal {
  background: #1a1a2e !important;
  border-radius: 8px !important;
  padding: 24px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.6) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #e0e0f0 !important;
}
body.mode-pro .modal h3 { margin-bottom: 16px !important; color: #D4A843 !important; }
body.mode-pro .confirm-modal-backdrop {
  background: rgba(0,0,0,0.6) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  backdrop-filter: blur(8px) !important;
}
body.mode-pro .confirm-modal {
  background: #1a1a2e !important;
  border-radius: 8px !important;
  padding: 24px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.6) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: #e0e0f0 !important;
  animation: slideUp 0.3s var(--ease-out) !important;
}
body.mode-pro .confirm-modal-msg { font-size: 14px !important; color: #e0e0f0 !important; margin-bottom: 20px !important; }
body.mode-pro .confirm-modal-input {
  padding: 8px 12px !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 4px !important;
  font-family: 'JetBrains Mono', monospace !important;
  background: #252540 !important;
  color: #e0e0f0 !important;
  margin-bottom: 16px !important;
}

/* Itinerary pills */
body.mode-pro .itin-pill {
  padding: 6px 14px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: rgba(255,255,255,0.03) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #7070a0 !important;
  font-family: 'JetBrains Mono', monospace !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  box-shadow: none !important;
  transition: all 0.2s !important;
}
body.mode-pro .itin-pill:hover { border-color: #D4A843 !important; color: #D4A843 !important; transform: none !important; }
body.mode-pro .itin-pill.active {
  border-color: #D4A843 !important;
  background: rgba(212,168,67,0.1) !important;
  color: #D4A843 !important;
  box-shadow: 0 0 8px rgba(212,168,67,0.1) !important;
}

/* Timeline items */
body.mode-pro .tl-item { padding: 8px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; }
body.mode-pro .tl-time { font-size: 11px !important; font-weight: 600 !important; color: #00D4FF !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .tl-marker { border-radius: 2px !important; }
body.mode-pro .tl-name { font-weight: 600 !important; font-size: 13px !important; color: #e0e0f0 !important; }
body.mode-pro .tl-meta { font-size: 11px !important; color: #7070a0 !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .tl-type { font-size: 9px !important; padding: 1px 6px !important; border-radius: 3px !important; font-weight: 700 !important; font-family: 'JetBrains Mono', monospace !important; text-transform: uppercase !important; }
body.mode-pro .tl-park-hrs { padding: 6px 10px !important; border-radius: 4px !important; font-size: 11px !important; background: rgba(0,212,255,0.06) !important; color: #e0e0f0 !important; }
body.mode-pro .tl-gap { padding: 4px 10px !important; font-size: 11px !important; color: #7070a0 !important; border-left: 2px dashed rgba(255,255,255,0.1) !important; margin-left: 85px !important; }

/* AI Chat */
body.mode-pro .ai-chat {
  padding: 16px !important;
  background: #0f0f1a !important;
  border-radius: 6px !important;
  margin-bottom: 12px !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}
body.mode-pro .ai-msg { font-size: 13px !important; line-height: 1.6 !important; }
body.mode-pro .ai-msg.user {
  background: rgba(0,212,255,0.12) !important;
  color: #e0e0f0 !important;
  padding: 10px 14px !important;
  border-radius: 6px 6px 2px 6px !important;
  border: 1px solid rgba(0,212,255,0.2) !important;
  box-shadow: none !important;
}
body.mode-pro .ai-msg.asst {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  padding: 10px 14px !important;
  border-radius: 6px 6px 6px 2px !important;
  color: #e0e0f0 !important;
  box-shadow: none !important;
}
body.mode-pro .ai-pbtn {
  padding: 4px 10px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  background: rgba(255,255,255,0.03) !important;
  font-size: 11px !important;
  color: #00D4FF !important;
  font-family: 'JetBrains Mono', monospace !important;
}
body.mode-pro .ai-pbtn:hover { background: rgba(0,212,255,0.08) !important; border-color: #00D4FF !important; }

/* Ride cards */
body.mode-pro .ride-card {
  padding: 12px !important;
  border-radius: 6px !important;
  background: #1a1a2e !important;
  border-left-width: 3px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
  transition: border-color 0.2s !important;
}
body.mode-pro .ride-card:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.4) !important; transform: none !important; }
body.mode-pro .ride-ll { font-size: 9px !important; padding: 1px 6px !important; border-radius: 3px !important; font-weight: 700 !important; font-family: 'JetBrains Mono', monospace !important; text-transform: uppercase !important; }
body.mode-pro .ride-ll-none { background: rgba(255,255,255,0.06) !important; color: #7070a0 !important; }
body.mode-pro .height-warn { color: #ff4444 !important; font-weight: 700 !important; font-size: 11px !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .height-ok { color: #00ff88 !important; font-size: 11px !important; font-family: 'JetBrains Mono', monospace !important; }

/* Budget table — full monospace, zebra hover */
body.mode-pro .budget-table { font-size: 12px !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .budget-table th, body.mode-pro .budget-table td {
  padding: 8px 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
}
body.mode-pro .budget-table th {
  text-align: left !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  color: #D4A843 !important;
  letter-spacing: 1.5px !important;
}
body.mode-pro .budget-table tr:hover td { background: rgba(255,255,255,0.03) !important; }
body.mode-pro .budget-total {
  font-weight: 700 !important;
  background: rgba(212,168,67,0.08) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 13px !important;
  color: #D4A843 !important;
}

/* Packing */
body.mode-pro .pack-cat h3 { border-bottom: 1px solid rgba(255,255,255,0.06) !important; padding-bottom: 6px !important; margin-bottom: 8px !important; }
body.mode-pro .pack-item { font-size: 13px !important; color: #e0e0f0 !important; }

/* Park hours */
body.mode-pro .park-hrs { font-size: 11px !important; padding: 4px 8px !important; background: rgba(0,212,255,0.06) !important; border-radius: 3px !important; margin-bottom: 6px !important; color: #e0e0f0 !important; }
body.mode-pro .park-hrs .eeh-badge { background: #00D4FF !important; color: #0f0f1a !important; font-size: 9px !important; padding: 1px 6px !important; border-radius: 3px !important; font-weight: 700 !important; }

/* Perks */
body.mode-pro .perk-item { font-size: 12px !important; padding: 4px 0 !important; color: #e0e0f0 !important; }
body.mode-pro .perk-bullet { color: #D4A843 !important; font-weight: 700 !important; }

/* Session strip */
body.mode-pro .session-strip { border-radius: 4px !important; height: 24px !important; background: rgba(255,255,255,0.03) !important; box-shadow: none !important; }
body.mode-pro .session-block { font-size: 9px !important; font-weight: 700 !important; padding: 0 4px !important; letter-spacing: 0.5px !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .session-add-btn { border-radius: 3px !important; border: 1px dashed rgba(255,255,255,0.15) !important; background: transparent !important; font-size: 12px !important; color: #7070a0 !important; }
body.mode-pro .session-add-btn:hover { border-color: #D4A843 !important; color: #D4A843 !important; }

/* Gantt — dark cells, monospace (horizontal layout) */
body.mode-pro .gantt-h-wrap {
  border-color: rgba(255,255,255,0.08) !important;
  background: #0d0d1a !important;
}
body.mode-pro .gantt-h-header {
  background: #1a1a2e !important;
  border-bottom-color: rgba(255,255,255,0.08) !important;
}
body.mode-pro .gantt-h-corner {
  background: #1a1a2e !important;
  border-right-color: rgba(255,255,255,0.08) !important;
}
body.mode-pro .gantt-h-cell {
  font-family: 'JetBrains Mono', monospace !important;
  color: #D4A843 !important;
  font-size: 9px !important;
}
body.mode-pro .gantt-h-day-label {
  background: #1a1a2e !important;
  font-family: 'JetBrains Mono', monospace !important;
  color: #e0e0f0 !important;
  border-right-color: rgba(255,255,255,0.08) !important;
}
body.mode-pro .gantt-h-day-label div:last-child { color: #D4A843 !important; }
body.mode-pro .gantt-h-row { border-color: rgba(255,255,255,0.04) !important; }
body.mode-pro .gantt-h-gridline { border-color: rgba(255,255,255,0.04) !important; }
body.mode-pro .gantt-h-gridline-hour { border-color: rgba(255,255,255,0.08) !important; }
body.mode-pro .gantt-block {
  border-radius: 3px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  padding: 2px 4px !important;
  font-family: 'JetBrains Mono', monospace !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
}

/* Timeline countdown */
body.mode-pro .tl-countdown {
  text-align: center !important;
  padding: 24px !important;
  margin-bottom: 16px !important;
  background: #1a1a2e !important;
  border: 1px solid rgba(212,168,67,0.2) !important;
  border-radius: 6px !important;
  color: #e0e0f0 !important;
  box-shadow: 0 0 24px rgba(212,168,67,0.05) !important;
}
body.mode-pro .tl-countdown .tl-cd-number { font-family: 'JetBrains Mono', monospace !important; font-size: 48px !important; font-weight: 700 !important; color: #D4A843 !important; }
body.mode-pro .tl-countdown .tl-cd-label { font-size: 12px !important; color: #7070a0 !important; font-family: 'JetBrains Mono', monospace !important; text-transform: uppercase !important; letter-spacing: 2px !important; }

/* Timeline milestones */
body.mode-pro .tl-milestone { border-radius: 6px !important; border: 1px solid rgba(255,255,255,0.06) !important; box-shadow: none !important; }
body.mode-pro .tl-milestone:hover { box-shadow: 0 0 8px rgba(212,168,67,0.05) !important; }
body.mode-pro .tl-milestone.current { border-color: rgba(212,168,67,0.3) !important; box-shadow: 0 0 16px rgba(212,168,67,0.08) !important; }
body.mode-pro .tl-milestone.past { opacity: 0.6 !important; }
body.mode-pro .tl-milestone-header { padding: 12px 16px !important; }
body.mode-pro .tl-milestone.current .tl-milestone-header { background: rgba(212,168,67,0.06) !important; }
body.mode-pro .tl-milestone.past .tl-milestone-header { background: rgba(0,255,136,0.03) !important; }
body.mode-pro .tl-milestone.future .tl-milestone-header { background: rgba(255,255,255,0.02) !important; }
body.mode-pro .tl-milestone-title { font-weight: 700 !important; font-size: 13px !important; color: #e0e0f0 !important; }
body.mode-pro .tl-milestone-date { font-size: 12px !important; color: #7070a0 !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .tl-milestone-badge { font-size: 10px !important; padding: 2px 8px !important; border-radius: 3px !important; font-weight: 700 !important; font-family: 'JetBrains Mono', monospace !important; text-transform: uppercase !important; }
body.mode-pro .tl-milestone-badge.now { background: #D4A843 !important; color: #0f0f1a !important; }
body.mode-pro .tl-milestone-badge.done { background: #00ff88 !important; color: #0f0f1a !important; }
body.mode-pro .tl-milestone-badge.upcoming { background: rgba(255,255,255,0.06) !important; color: #7070a0 !important; }
body.mode-pro .tl-milestone-body { padding: 0 16px 12px !important; }
body.mode-pro .tl-check-item { padding: 6px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; font-size: 13px !important; color: #e0e0f0 !important; }
body.mode-pro .tl-check-item:last-child { border-bottom: none !important; }
body.mode-pro .tl-check-item input[type="checkbox"]:disabled { accent-color: #00ff88 !important; }
body.mode-pro .tl-check-item.auto-done { color: #00ff88 !important; }
body.mode-pro .tl-check-item .tl-check-auto { font-size: 10px !important; color: #00ff88 !important; }
body.mode-pro .tl-check-item .tl-check-hint { font-size: 11px !important; color: #7070a0 !important; }

body.mode-pro .tl-summary-stat { padding: 10px !important; background: rgba(212,168,67,0.06) !important; border-radius: 4px !important; }
body.mode-pro .tl-summary-stat .val { font-size: 18px !important; font-weight: 700 !important; color: #D4A843 !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .tl-summary-stat .lbl { font-size: 10px !important; color: #7070a0 !important; text-transform: uppercase !important; font-family: 'JetBrains Mono', monospace !important; letter-spacing: 1px !important; }

body.mode-pro .tl-progress-line { background: rgba(255,255,255,0.06) !important; }
body.mode-pro .tl-progress-line.done { background: #00ff88 !important; }
body.mode-pro .tl-progress-line.active { background: linear-gradient(90deg, #00ff88, #D4A843) !important; }
body.mode-pro .tl-progress-node { border: 2px solid rgba(255,255,255,0.1) !important; background: #1a1a2e !important; color: #7070a0 !important; font-size: 11px !important; }
body.mode-pro .tl-progress-node.done { border-color: #00ff88 !important; background: #00ff88 !important; color: #0f0f1a !important; }
body.mode-pro .tl-progress-node.active { border-color: #D4A843 !important; background: #D4A843 !important; color: #0f0f1a !important; box-shadow: 0 0 8px rgba(212,168,67,0.3) !important; }

/* Version cards */
body.mode-pro .version-card { padding: 12px 16px !important; background: #1a1a2e !important; border-radius: 4px !important; border: 1px solid rgba(255,255,255,0.06) !important; box-shadow: none !important; }
body.mode-pro .version-card:hover { border-color: rgba(212,168,67,0.2) !important; box-shadow: none !important; }
body.mode-pro .version-card.active { border-color: #D4A843 !important; background: rgba(212,168,67,0.06) !important; box-shadow: 0 0 8px rgba(212,168,67,0.1) !important; }

/* Optimizer */
body.mode-pro .opt-panel {
  background: #1a1a2e !important;
  border: 1px solid rgba(212,168,67,0.2) !important;
  color: #e0e0f0 !important;
  border-radius: 6px !important;
  padding: 20px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 0 20px rgba(212,168,67,0.05) !important;
}
body.mode-pro .opt-panel h2 { color: #D4A843 !important; }
body.mode-pro .opt-result-card { background: rgba(255,255,255,0.04) !important; border-radius: 4px !important; padding: 10px !important; border: 1px solid rgba(255,255,255,0.06) !important; }

/* Review section */
body.mode-pro .review-section-header { color: #D4A843 !important; border-bottom: 1px solid rgba(212,168,67,0.2) !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .review-section { color: #e0e0f0 !important; }

/* Conflict banner */
body.mode-pro .conflict-banner { background: rgba(255,68,68,0.06) !important; border: 1px solid rgba(255,68,68,0.2) !important; border-radius: 4px !important; padding: 10px 14px !important; margin-bottom: 12px !important; }
body.mode-pro .conflict-item { padding: 6px 0 !important; font-size: 12px !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; color: #e0e0f0 !important; }
body.mode-pro .conflict-icon { font-size: 14px !important; }

/* FTUE */
body.mode-pro .ftue-backdrop { background: rgba(0,0,0,0.6) !important; -webkit-backdrop-filter: blur(8px) !important; backdrop-filter: blur(8px) !important; }
body.mode-pro .ftue-card { background: #1a1a2e !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 8px !important; box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important; color: #e0e0f0 !important; padding: 32px !important; max-width: 520px !important; position: relative !important; overflow: hidden !important; animation: slideUp 0.3s var(--ease-out) !important; }
body.mode-pro .ftue-card::before { content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 2px !important; background: #D4A843 !important; }
body.mode-pro .ftue-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: rgba(255,255,255,0.1) !important; }
body.mode-pro .ftue-dot.active { background: #D4A843 !important; width: 24px !important; border-radius: 3px !important; }
body.mode-pro .ftue-dot.done { background: #00ff88 !important; }
body.mode-pro .ftue-icon { font-size: 44px !important; text-align: center !important; margin-bottom: 14px !important; }
body.mode-pro .ftue-title { font-family: 'Inter', sans-serif !important; font-size: 22px !important; font-weight: 700 !important; color: #D4A843 !important; text-align: center !important; margin-bottom: 8px !important; }
body.mode-pro .ftue-desc { font-size: 13px !important; color: #7070a0 !important; text-align: center !important; line-height: 1.6 !important; margin-bottom: 20px !important; }
body.mode-pro .ftue-desc strong { color: #e0e0f0 !important; }
body.mode-pro .ftue-tip { background: rgba(212,168,67,0.06) !important; border-radius: 4px !important; padding: 10px 14px !important; font-size: 12px !important; color: #e0e0f0 !important; margin-bottom: 20px !important; border-left: 3px solid #D4A843 !important; }

/* Loading */
body.mode-pro .loading-overlay { background: #0f0f1a !important; }
body.mode-pro .loading-overlay p { font-size: 13px !important; color: #7070a0 !important; font-weight: 600 !important; font-family: 'JetBrains Mono', monospace !important; margin-top: 16px !important; }
body.mode-pro .loading-spinner { border: 3px solid rgba(255,255,255,0.06) !important; border-top-color: #D4A843 !important; }

/* Empty state */
body.mode-pro .empty-state { padding: 40px 24px !important; color: #7070a0 !important; }
body.mode-pro .empty-state-icon { font-size: 44px !important; margin-bottom: 14px !important; opacity: 0.3 !important; }
body.mode-pro .empty-state-heading { font-family: 'Inter', sans-serif !important; font-size: 16px !important; font-weight: 700 !important; color: #e0e0f0 !important; margin-bottom: 6px !important; }
body.mode-pro .empty-state-desc { font-size: 13px !important; line-height: 1.5 !important; max-width: 340px !important; }

/* Auth */
body.mode-pro .auth-name { font-size: 12px !important; font-weight: 600 !important; color: #e0e0f0 !important; max-width: 120px !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
body.mode-pro .auth-avatar { border: 2px solid #D4A843 !important; }
body.mode-pro .sync-badge { font-size: 10px !important; font-weight: 700 !important; padding: 2px 8px !important; border-radius: 3px !important; text-transform: uppercase !important; letter-spacing: 1px !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .sync-badge.synced { background: rgba(0,255,136,0.15) !important; color: #00ff88 !important; }
body.mode-pro .sync-badge.syncing { background: rgba(255,149,0,0.15) !important; color: #ff9500 !important; }
body.mode-pro .sync-badge.offline { background: rgba(255,68,68,0.15) !important; color: #ff4444 !important; }
body.mode-pro .sync-badge.guest { background: rgba(255,255,255,0.06) !important; color: #7070a0 !important; }
body.mode-pro .sync-badge.shared { background: rgba(0,212,255,0.15) !important; color: #00D4FF !important; }
body.mode-pro .btn-signin { background: rgba(255,255,255,0.04) !important; border: 1px solid rgba(255,255,255,0.1) !important; border-radius: 6px !important; padding: 6px 14px !important; font-size: 12px !important; font-weight: 600 !important; color: #e0e0f0 !important; display: flex !important; align-items: center !important; gap: 8px !important; }
body.mode-pro .btn-signin:hover { background: rgba(255,255,255,0.08) !important; border-color: #D4A843 !important; }
body.mode-pro .btn-signin svg { width: 16px !important; height: 16px !important; }
body.mode-pro .btn-signout { background: none !important; border: none !important; font-size: 11px !important; color: #7070a0 !important; padding: 2px 6px !important; border-radius: 4px !important; }
body.mode-pro .btn-signout:hover { background: rgba(255,255,255,0.05) !important; color: #e0e0f0 !important; }
body.mode-pro .btn-share { background: #D4A843 !important; color: #0f0f1a !important; border: none !important; border-radius: 4px !important; padding: 4px 12px !important; font-size: 11px !important; font-weight: 700 !important; }
body.mode-pro .btn-share:hover { background: #B8912E !important; }
body.mode-pro .share-code-display { color: #D4A843 !important; font-family: 'JetBrains Mono', monospace !important; font-size: 28px !important; letter-spacing: 8px !important; }
body.mode-pro .member-row { padding: 8px !important; border-radius: 4px !important; background: rgba(255,255,255,0.03) !important; }
body.mode-pro .member-row img { border: 2px solid #D4A843 !important; }
body.mode-pro .member-row .member-name { font-size: 12px !important; font-weight: 600 !important; color: #e0e0f0 !important; }
body.mode-pro .member-row .member-email { font-size: 10px !important; color: #7070a0 !important; }
body.mode-pro .member-role { font-size: 10px !important; font-weight: 700 !important; text-transform: uppercase !important; color: #7070a0 !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .member-role.owner { color: #D4A843 !important; }

/* Export FAB */
body.mode-pro .export-fab { position: fixed !important; bottom: 28px !important; right: 28px !important; width: 48px !important; height: 48px !important; border-radius: 6px !important; background: #D4A843 !important; color: #0f0f1a !important; border: none !important; font-size: 20px !important; cursor: pointer !important; box-shadow: 0 4px 16px rgba(212,168,67,0.3) !important; z-index: 100 !important; }
body.mode-pro .export-fab:hover { box-shadow: 0 0 24px rgba(212,168,67,0.4) !important; transform: scale(1.05) !important; }

/* Cal filter */
body.mode-pro #calFilterBanner { background: rgba(255,149,0,0.08) !important; border: 1px solid rgba(255,149,0,0.25) !important; border-radius: 4px !important; padding: 8px 14px !important; font-size: 12px !important; color: #ff9500 !important; margin-bottom: 10px !important; }
body.mode-pro #calFilterBanner .btn { padding: 4px 10px !important; font-size: 11px !important; background: #ff9500 !important; color: #0f0f1a !important; border-radius: 3px !important; }
body.mode-pro .cal-filter-active { border-color: #D4A843 !important; background: rgba(212,168,67,0.06) !important; }
body.mode-pro .filter-hidden-badge { font-size: 10px !important; color: #ff9500 !important; background: rgba(255,149,0,0.08) !important; padding: 2px 6px !important; border-radius: 3px !important; }

/* Weather */
body.mode-pro .day-weather { font-size: 11px !important; color: #7070a0 !important; padding: 4px 8px !important; margin-bottom: 6px !important; background: rgba(255,255,255,0.03) !important; border-radius: 4px !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .day-weather.live { color: #e0e0f0 !important; }
body.mode-pro .weather-live-badge { background: #00ff88 !important; color: #0f0f1a !important; font-size: 8px !important; font-weight: 700 !important; padding: 1px 4px !important; border-radius: 2px !important; font-family: 'JetBrains Mono', monospace !important; text-transform: uppercase !important; }

/* Star ratings */
body.mode-pro .star-rate span { font-size: 18px !important; color: rgba(255,255,255,0.1) !important; }
body.mode-pro .star-rate span.lit { color: #D4A843 !important; }
body.mode-pro .star-rate-sm span { font-size: 14px !important; }

/* Rain mode */
body.mode-pro .rain-active { background: rgba(0,212,255,0.06) !important; border-color: #00D4FF !important; }
body.mode-pro .rain-badge { display: inline-block !important; font-size: 10px !important; padding: 2px 6px !important; border-radius: 3px !important; background: #00D4FF !important; color: #0f0f1a !important; font-weight: 700 !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .rain-indoor { background: rgba(0,255,136,0.06) !important; border-left: 3px solid #00ff88 !important; padding: 4px 8px !important; border-radius: 0 3px 3px 0 !important; font-size: 11px !important; color: #00ff88 !important; }

/* Walk/Zone */
body.mode-pro .walk-time { padding: 4px 0 4px 87px !important; font-size: 11px !important; color: #7070a0 !important; font-style: italic !important; }
body.mode-pro .zone-strip { border-radius: 3px !important; }
body.mode-pro .zone-block { font-size: 9px !important; font-weight: 700 !important; padding: 0 3px !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .zone-backtrack { background: rgba(255,68,68,0.06) !important; border: 1px solid rgba(255,68,68,0.2) !important; border-radius: 3px !important; padding: 4px 8px !important; font-size: 10px !important; color: #ff4444 !important; margin: 2px 0 2px 87px !important; }

/* LL Strategy */
body.mode-pro .ll-strat-card { padding: 14px !important; border-radius: 6px !important; border: 1px solid rgba(255,255,255,0.06) !important; background: #1a1a2e !important; margin-bottom: 12px !important; box-shadow: none !important; }
body.mode-pro .ll-strat-card:hover { box-shadow: 0 0 8px rgba(212,168,67,0.05) !important; }
body.mode-pro .ll-strat-list { list-style: none !important; counter-reset: ll !important; }
body.mode-pro .ll-strat-list li { counter-increment: ll !important; padding: 6px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; font-size: 12px !important; color: #e0e0f0 !important; display: flex !important; align-items: center !important; gap: 8px !important; }
body.mode-pro .ll-strat-list li::before { content: counter(ll) !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 20px !important; height: 20px !important; border-radius: 3px !important; background: #D4A843 !important; color: #0f0f1a !important; font-size: 10px !important; font-weight: 700 !important; flex-shrink: 0 !important; font-family: 'JetBrains Mono', monospace !important; }

/* QS Guide */
body.mode-pro .qs-card { padding: 10px !important; border-radius: 4px !important; background: rgba(255,255,255,0.03) !important; margin-bottom: 8px !important; color: #e0e0f0 !important; }
body.mode-pro .qs-pick { font-size: 10px !important; padding: 1px 6px !important; border-radius: 3px !important; background: #00ff88 !important; color: #0f0f1a !important; font-weight: 700 !important; }

/* Character cards */
body.mode-pro .char-card { padding: 10px !important; border-radius: 4px !important; background: rgba(255,255,255,0.03) !important; margin-bottom: 8px !important; color: #e0e0f0 !important; }
body.mode-pro .char-wish-btn { padding: 3px 8px !important; border-radius: 3px !important; border: 1px solid rgba(255,255,255,0.1) !important; background: rgba(255,255,255,0.03) !important; font-size: 10px !important; color: #7070a0 !important; }
body.mode-pro .char-wish-btn.active { border-color: #ff4444 !important; background: rgba(255,68,68,0.1) !important; color: #ff4444 !important; }

/* Festival */
body.mode-pro .fest-overlay { background: rgba(0,255,136,0.04) !important; border: 1px solid rgba(0,255,136,0.15) !important; border-radius: 4px !important; padding: 8px 10px !important; color: #e0e0f0 !important; font-size: 11px !important; }
body.mode-pro .fest-booth { background: rgba(255,255,255,0.04) !important; border: 1px solid rgba(0,255,136,0.15) !important; border-radius: 3px !important; font-size: 10px !important; color: #e0e0f0 !important; padding: 2px 6px !important; }

/* Budget cat */
body.mode-pro .budget-cat { padding: 8px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; color: #e0e0f0 !important; font-family: 'JetBrains Mono', monospace !important; font-size: 12px !important; }
body.mode-pro .budget-cat-bar { background: rgba(255,255,255,0.04) !important; border-radius: 2px !important; }

/* Wishlist */
body.mode-pro .wish-item { padding: 6px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; font-size: 12px !important; color: #e0e0f0 !important; }
body.mode-pro .wish-vote-btn { border: 1px solid rgba(255,255,255,0.1) !important; background: rgba(255,255,255,0.03) !important; color: #7070a0 !important; }
body.mode-pro .wish-vote-btn.voted { border-color: #00ff88 !important; background: rgba(0,255,136,0.08) !important; color: #00ff88 !important; }

/* Tasks */
body.mode-pro .task-row { padding: 6px 0 !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; font-size: 12px !important; color: #e0e0f0 !important; }
body.mode-pro .task-due { font-size: 10px !important; padding: 2px 6px !important; border-radius: 3px !important; font-weight: 700 !important; font-family: 'JetBrains Mono', monospace !important; }
body.mode-pro .task-due.overdue { background: rgba(255,68,68,0.15) !important; color: #ff4444 !important; }
body.mode-pro .task-due.soon { background: rgba(255,149,0,0.15) !important; color: #ff9500 !important; }
body.mode-pro .task-due.ok { background: rgba(0,255,136,0.08) !important; color: #00ff88 !important; }

body.mode-pro .pending-invite-row { padding: 6px 8px !important; font-size: 12px !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; color: #e0e0f0 !important; }

/* Focus */
body.mode-pro button:focus-visible, body.mode-pro .btn:focus-visible, body.mode-pro .tab:focus-visible,
body.mode-pro a:focus-visible, body.mode-pro input:focus-visible, body.mode-pro select:focus-visible {
  outline: 2px solid #00D4FF !important;
  outline-offset: 2px !important;
}
body.mode-pro .btn:active, body.mode-pro .tab:active { transform: scale(0.97) !important; }
body.mode-pro .btn:disabled { opacity: 0.4 !important; cursor: not-allowed !important; pointer-events: none !important; }

/* Mode toggle */
body.mode-pro .mode-toggle {
  background: none !important;
  border: 1px solid rgba(212,168,67,0.3) !important;
  border-radius: 6px !important;
  padding: 4px 14px 4px 4px !important;
  font-family: inherit !important;
}
body.mode-pro .mode-toggle:hover { border-color: #D4A843 !important; box-shadow: 0 0 12px rgba(212,168,67,0.15) !important; }
body.mode-pro .mode-toggle-track { background: #D4A843 !important; }
body.mode-pro .mode-toggle-thumb { background: #0f0f1a !important; box-shadow: none !important; transform: translateX(20px) !important; }
body.mode-pro .mode-toggle-label { font-size: 12px !important; font-weight: 700 !important; color: #D4A843 !important; font-family: 'JetBrains Mono', monospace !important; text-transform: uppercase !important; letter-spacing: 1px !important; }

/* Autocomplete */
body.mode-pro .autocomplete-list { background: #1a1a2e !important; border: 1px solid rgba(255,255,255,0.08) !important; border-radius: 4px !important; box-shadow: 0 8px 24px rgba(0,0,0,0.5) !important; }
body.mode-pro .ac-item { padding: 6px 10px !important; border-bottom: 1px solid rgba(255,255,255,0.04) !important; font-size: 12px !important; color: #e0e0f0 !important; }
body.mode-pro .ac-item:hover, body.mode-pro .ac-item.highlighted { background: rgba(212,168,67,0.08) !important; }
body.mode-pro .ac-item .ac-name { font-weight: 600 !important; }
body.mode-pro .ac-item .ac-meta { font-size: 10px !important; color: #7070a0 !important; }

body.mode-pro .sr-only-focusable:focus { background: #D4A843 !important; color: #0f0f1a !important; border-radius: 4px !important; font-size: 12px !important; font-weight: 700 !important; z-index: 10000 !important; box-shadow: 0 4px 12px rgba(0,0,0,0.5) !important; padding: 10px 16px !important; position: fixed !important; top: 8px !important; left: 8px !important; }
body.mode-pro #exportContainer { background: #1a1a2e !important; color: #e0e0f0 !important; font-family: 'JetBrains Mono', monospace !important; }

/* Pro Mobile */
@media (max-width: 900px) {
  body.mode-pro .tab-label { display: none !important; }
  body.mode-pro .tab { padding: 10px 12px !important; }
  body.mode-pro .tab-icon { margin-right: 0 !important; }
}
@media (max-width: 768px) {
  body.mode-pro { padding: 10px !important; font-size: 12px !important; }
  body.mode-pro .calendar-grid { grid-template-columns: 1fr !important; }
  body.mode-pro .form-row { flex-direction: column !important; }
  body.mode-pro h1 { font-size: 18px !important; }
  body.mode-pro .tabs { gap: 0 !important; }
  body.mode-pro .ride-grid { grid-template-columns: 1fr !important; }
  body.mode-pro .card { padding: 12px !important; }
  body.mode-pro .header-row { padding: 10px 14px !important; }
  body.mode-pro .tabs-wrap { margin-left: -10px !important; margin-right: -10px !important; padding-left: 10px !important; padding-right: 10px !important; }
  body.mode-pro .dash-pct { font-size: 28px !important; }
  body.mode-pro .tab-more-dropdown { position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important; top: auto !important; background: #1a1a2e !important; border-radius: 6px 6px 0 0 !important; border: 1px solid rgba(255,255,255,0.08) !important; padding: 10px !important; z-index: 150 !important; box-shadow: 0 -8px 32px rgba(0,0,0,0.4) !important; }
}
@media (max-width: 767px) {
  /* Segment control container */
  body.mode-pro .overview-pills,
  body.mode-pro .plan-pills,
  body.mode-pro .reservations-pills,
  body.mode-pro .attractions-pills,
  body.mode-pro .setup-pills,
  body.mode-pro .tools-pills {
    background: #12122a !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }

  /* Inactive segments */
  body.mode-pro .overview-pill,
  body.mode-pro .plan-pill,
  body.mode-pro .reservations-pill,
  body.mode-pro .attractions-pill,
  body.mode-pro .setup-pill,
  body.mode-pro .tools-pill {
    background: transparent !important;
    color: #505080 !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
  }

  /* Active segments */
  body.mode-pro .overview-pill.active,
  body.mode-pro .plan-pill.active,
  body.mode-pro .reservations-pill.active,
  body.mode-pro .attractions-pill.active,
  body.mode-pro .setup-pill.active,
  body.mode-pro .tools-pill.active {
    background: transparent !important;
    color: #00D4FF !important;
    border: 1px solid #00D4FF !important;
    box-shadow: 0 0 8px rgba(0,212,255,0.15) !important;
  }

  /* Remove setup vertical layout — grid handles it now */
  body.mode-pro .setup-pills {
    flex-direction: unset !important;
  }

  /* Touch-safe small buttons */
  body.mode-pro .btn-small {
    min-height: 44px !important;
    padding: 8px 12px !important;
  }
}

@media (max-width: 480px) {
  body.mode-pro { padding: 6px !important; }
  body.mode-pro h1 { font-size: 16px !important; }
  body.mode-pro h2 { font-size: 12px !important; }
  body.mode-pro .card { padding: 10px !important; }
  body.mode-pro input[type="date"], body.mode-pro input[type="text"], body.mode-pro input[type="number"],
  body.mode-pro input[type="time"], body.mode-pro select, body.mode-pro textarea { font-size: 16px !important; }
  body.mode-pro .header-row { flex-direction: column !important; align-items: stretch !important; gap: 8px !important; padding: 10px 12px !important; }
  body.mode-pro .castle-icon { width: 32px !important; height: 32px !important; }
  body.mode-pro .tabs-wrap { margin-left: -6px !important; margin-right: -6px !important; padding-left: 6px !important; padding-right: 6px !important; }
}
