:root[data-theme="dark"] {
  --bg-base: #0b0f14;
  --bg-surface: #121821;
  --bg-surface-glass: rgba(18, 24, 33, 0.8);
  --text-primary: #f5f7fa;
  --text-secondary: #a8b0ba;
  --text-tertiary: #6b7480;
  --border-subtle: rgba(255, 255, 255, 0.06);
  --border-medium: rgba(255, 255, 255, 0.12);
  --accent: #6b7cff;
  --accent-bright: #8b9fff;
  --success: #20c997;
  --warning: #f6c344;
  --danger: #ff6b6b;
  --neutral: #a8b0ba;
  --subscription: #38bdf8;
}

:root[data-theme="dark"] .header-logo img {
  filter: brightness(0) invert(1);
}

:root[data-theme="light"] {
  --bg-base: #ffffff;
  --bg-surface: #f8fafb;
  --bg-surface-glass: rgba(248, 250, 251, 0.8);
  --text-primary: #0b0f14;
  --text-secondary: #4a5568;
  --text-tertiary: #8a94a3;
  --border-subtle: rgba(0, 0, 0, 0.08);
  --border-medium: rgba(0, 0, 0, 0.15);
  --accent: #6b7cff;
  --accent-bright: #5a6bee;
  --success: #20c997;
  --warning: #f6c344;
  --danger: #ff6b6b;
  --neutral: #a8b0ba;
  --subscription: #38bdf8;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--text-primary);
  background: var(--bg-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html,
body {
  overflow-x: hidden;
  width: 100%;
}

h1,
h2,
h3,
h4 {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.02em;
}

/* Header Styles */
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-surface-glass);
  backdrop-filter: blur(12px);
}

.header-container {
  max-width: 100%;
  padding: 0 24px;
}

.header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
}

.header-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.logo-text {
  font-size: 1.675rem;
  font-weight: 600;
  color: var(--text-primary);
  text-transform: lowercase;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.icon-button {
  padding: 8px;
  border-radius: 8px;
  transition: all 0.2s;
  color: var(--text-secondary);
  background: transparent;
  border: none;
  cursor: pointer;
}

/* Sidebar Styles */
.sidebar {
  position: fixed;
  top: 80px;
  left: 0;
  height: calc(100vh - 80px);
  width: 16rem;
  background: var(--bg-surface);
  border-right: 1px solid var(--border-subtle);
  transition: all 0.3s ease;
  z-index: 40;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
}

.sidebar-nav {
  flex: 1;
  padding: 8px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  color: var(--text-secondary);
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.nav-item:hover {
  background: rgba(107, 124, 255, 0.1);
  color: var(--text-primary);
}

.nav-item-active {
  color: var(--accent);
  background: rgba(107, 124, 255, 0.1);
}

.nav-item svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  min-width: 20px;
}

.nav-item span {
  font-size: 14px;
  font-weight: 500;
}

/* Main Content */
.main-content {
  margin-left: 280px;
  transition: margin-left 0.3s ease;
  min-height: 100vh;
  padding-top: 80px;
}

.dashboard-content {
  padding: 32px;
  max-width: 100%;
}

/* Store Display */
.store-switcher-sidebar {
  padding: 16px;
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 16px;
}

.store-dropdown-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
  color: var(--text-primary);
}

.store-dropdown-btn:hover {
  background: rgba(107, 124, 255, 0.1);
  border-color: var(--accent);
}

.store-dropdown-btn .store-name {
  flex: 1;
  text-align: left;
  font-weight: 500;
}

.store-dropdown-menu {
  display: none;
  position: absolute;
  top: 70px;
  left: 16px;
  right: 16px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 100;
  max-height: 400px;
  overflow-y: auto;
}

.dropdown-header {
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  border-bottom: 1px solid var(--border-subtle);
}

.store-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  color: var(--text-primary);
  text-decoration: none;
  transition: all 0.2s;
  cursor: pointer;
}

.store-option:hover {
  background: rgba(107, 124, 255, 0.1);
}

.store-option.active {
  background: rgba(107, 124, 255, 0.15);
  font-weight: 600;
}

.store-option.add-store {
  color: var(--accent);
  font-weight: 500;
}

.dropdown-divider {
  height: 1px;
  background: var(--border-subtle);
  margin: 8px 0;
}

.store-display-sidebar {
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 16px;
  color: var(--text-primary);
  font-weight: 500;
}

/* User Section */
.user-section {
  border-top: 1px solid var(--border-subtle);
  padding: 16px;
  position: relative;
  flex-shrink: 0;
}

.user-info {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  padding: 8px;
  border-radius: 8px;
  transition: background 0.2s;
  overflow: hidden;
}

.user-info:hover {
  background: rgba(107, 124, 255, 0.1);
}

.user-avatar {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 16px;
}

.user-details {
  flex: 1;
  min-width: 0;
}

.user-name {
  font-weight: 600;
  color: var(--text-primary);
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.user-email {
  font-size: 12px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.user-menu-btn {
  min-width: 24px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  font-size: 18px;
  font-weight: bold;
}

.user-dropdown {
  position: absolute;
  bottom: 100%;
  left: 16px;
  width: calc(100% - 32px);
  min-width: 200px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  margin-bottom: 8px;
  display: none;
  z-index: 1000;
  overflow: hidden;
}

.user-dropdown.show {
  display: block;
}

.user-dropdown a,
.user-dropdown button {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 14px 16px;
  color: var(--text-primary);
  text-decoration: none;
  font-size: 14px;
  transition: background 0.2s;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.user-dropdown a:hover,
.user-dropdown button:hover {
  background: rgba(107, 124, 255, 0.1);
}

.user-dropdown a.logout {
  color: var(--danger);
}

.user-dropdown hr {
  border: none;
  border-top: 1px solid var(--border-subtle);
  margin: 0;
}

/* Toggle Switch */
.toggle-switch {
  position: relative;
  width: 44px;
  height: 24px;
  background: var(--border-subtle);
  border-radius: 12px;
  transition: background 0.3s;
  cursor: pointer;
  flex-shrink: 0;
}

.toggle-switch.active {
  background: var(--accent);
}

.toggle-switch-handle {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  transition: transform 0.3s;
}

.toggle-switch.active .toggle-switch-handle {
  transform: translateX(20px);
}

/* Import Progress */
.import-progress {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(32, 201, 151, 0.1);
  border: 1px solid var(--success);
  border-radius: 8px;
  font-size: 14px;
  color: var(--success);
  font-weight: 500;
}

.import-progress.hidden {
  display: none;
}

.progress-spinner {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.progress-text {
  white-space: nowrap;
}

.progress-percent {
  font-weight: 700;
}

.min-h-screen {
  min-height: 100vh;
  background: var(--bg-base);
}

#mobile-menu-toggle {
  display: none;
}

/* Cards */
.card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  transition: all 0.2s;
  padding: 1.5rem;
}

.help-grid {
  margin-top: 1rem;
}

.page-header {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-bottom: 1.5rem;
}

.page-header p {
  color: var(--text-secondary);
  font-size: 0.875rem;
}

.help-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.help-title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.375rem;
}

.help-text {
  font-size: 0.875rem;
  color: var(--text-secondary);
}

.help-link {
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
}

.help-link:hover {
  text-decoration: underline;
}

.help-contact {
  margin-top: 0.5rem;
}

.create-event-content {
  max-width: 50rem;
  width: 100%;
  margin: 0 auto;
}

.horizon-btn {
  padding: 0.625rem 1.25rem;
  border-radius: 0.5rem;
  border: 1px solid var(--border-subtle);
  background: var(--bg-surface);
  color: var(--text-secondary);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.horizon-btn:hover:not(:disabled) {
  border-color: var(--accent);
  color: var(--text-primary);
}

.horizon-btn.active {
  box-shadow: 0 0 0 1px var(--accent);
  background: rgba(107, 124, 255, 0.15);
  color: var(--accent-bright);
}

.horizon-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.form-card {
  max-width: 32.5rem;
  margin: 0;
  padding: 2rem;
}

.form-title {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.form-subtitle {
  color: var(--text-secondary);
  font-size: 0.8125rem;
  margin-bottom: 1.5rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.form-group label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-primary);
}

.form-group input {
  padding: 0.75rem 0.875rem;
  border-radius: 0.5rem;
  border: 1px solid var(--border-subtle);
  background: var(--bg-base);
  color: var(--text-primary);
  font-size: 0.875rem;
  width: 100%;
  padding-right: 2.625rem;
}

.form-group input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 0.1875rem rgba(107, 124, 255, 0.15);
}

.toggle-visibility {
  position: absolute;
  right: 0.625rem;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

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

.helper-text {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.125rem;
  border-radius: 0.625rem;
  border: none;
  background: var(--accent);
  color: white;
  font-weight: 600;
  cursor: pointer;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
}

.btn-primary:hover {
  box-shadow: 0 0.5rem 1.25rem rgba(107, 124, 255, 0.25);
}

.alert {
  border-radius: 0.5rem;
  padding: 0.75rem 0.875rem;
  margin-bottom: 1rem;
  font-size: 0.8125rem;
}

.alert-success {
  background: rgba(32, 201, 151, 0.12);
  border: 1px solid rgba(32, 201, 151, 0.35);
  color: var(--success);
}

.alert-error {
  background: rgba(255, 107, 107, 0.12);
  border: 1px solid rgba(255, 107, 107, 0.35);
  color: var(--danger);
}

/* Date Filter */
.date-filter-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 8px;
  transition: all 0.2s;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.date-filter-btn:hover {
  border-color: var(--accent);
}

.event-status-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(246, 195, 68, 0.12);
  border: 1px solid rgba(246, 195, 68, 0.35);
  color: var(--text-primary);
  margin-bottom: 24px;
}

.event-status-banner.hidden {
  display: none;
}

.event-status-banner.is-failed {
  background: rgba(255, 107, 107, 0.12);
  border-color: rgba(255, 107, 107, 0.35);
}

.event-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--warning);
  box-shadow: 0 0 0 4px rgba(246, 195, 68, 0.15);
}

.event-status-banner.is-failed .event-status-dot {
  background: var(--danger);
  box-shadow: 0 0 0 4px rgba(255, 107, 107, 0.15);
}

.event-status-title {
  font-size: 14px;
  font-weight: 600;
}

.event-status-subtitle {
  font-size: 12px;
  color: var(--text-secondary);
}

/* Metric Cards */
.metric-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  min-height: 410px;
  transition: all 0.2s ease;
}

.metric-card:hover {
  border-color: var(--accent);
  box-shadow: 0 8px 32px rgba(107, 124, 255, 0.15);
}

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

.metric-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

.metric-subtitle {
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 2px;
}

.metric-center {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.metric-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

.metric-value {
  font-size: 48px;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 0;
  line-height: 1;
}

.metric-change {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 500;
  margin-top: 8px;
}

.metric-change.positive {
  color: var(--success);
}

.metric-change.negative {
  color: var(--danger);
}

.metric-footer {
  padding-top: 16px;
  margin-top: auto;
  border-top: 1px solid var(--border-subtle);
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  width: 100%;
}

.metric-grid.auto-flow {
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
}

.metric-grid > * {
  min-width: 0;
}

/* Legend Items */
.legend-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
}

.legend-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

.legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.legend-text {
  font-size: 12px;
  color: var(--text-secondary);
}

.legend-value {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}

.legend-percent {
  font-size: 12px;
  color: var(--text-secondary);
}

.legend-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.legend-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.legend-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

/* Info Button */
.info-btn {
  padding: 4px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--text-secondary);
  transition: all 0.2s;
}

.info-btn:hover {
  background: rgba(107, 124, 255, 0.1);
}

/* Chart Container */
.chart-container {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 24px;
}

.chart-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 24px;
}

.chart-filters {
  display: flex;
  align-items: center;
  gap: 8px;
}

.chart-filter-btn {
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--border-subtle);
  cursor: pointer;
}

.chart-filter-btn.active {
  background: rgba(107, 124, 255, 0.15);
  color: var(--accent);
  border-color: var(--accent);
}

.chart-filter-btn:hover:not(.active) {
  border-color: var(--accent);
}

.chart-type-btn {
  padding: 6px;
  border-radius: 6px;
  background: transparent;
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.chart-type-btn:hover {
  border-color: var(--accent);
  color: var(--text-primary);
}

.chart-type-btn.active {
  background: rgba(107, 124, 255, 0.15);
  border-color: var(--accent);
  color: var(--accent);
}

/* Responsive */
@media (max-width: 1024px) {
  #mobile-menu-toggle {
    display: block;
  }

  .sidebar {
    transform: translateX(-100%);
  }

  .sidebar.mobile-open {
    transform: translateX(0);
  }

  .main-content {
    margin-left: 0;
  }
}

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

  .metric-grid {
    grid-template-columns: 1fr !important;
  }

  .chart-header {
    flex-direction: column;
    gap: 16px;
  }

  .chart-filters {
    flex-wrap: wrap;
  }

  .metric-value {
    font-size: 36px;
  }

  .import-progress {
    padding: 6px 12px;
  }

  .progress-text {
    display: none;
  }

  .help-grid {
    grid-template-columns: 1fr;
  }

  #horizonButtons {
    flex-wrap: wrap;
    gap: 8px;
  }

  .horizon-btn {
    padding: 0.5rem 0.875rem;
    font-size: 0.8125rem;
    flex: 1 1 calc(50% - 4px);
    min-width: calc(50% - 4px);
  }
}

/* Filter Dropdowns */
.filter-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  min-width: 180px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 50;
  overflow: hidden;
}

.filter-dropdown.show {
  display: block;
}

.filter-option {
  width: 100%;
  padding: 10px 16px;
  text-align: left;
  font-size: 14px;
  background: transparent;
  color: var(--text-primary);
  border: none;
  cursor: pointer;
  transition: all 0.15s;
}

.filter-option:hover {
  background: rgba(107, 124, 255, 0.1);
}

.filter-option.active {
  background: rgba(107, 124, 255, 0.1);
  color: var(--accent);
}

/* Skeleton Loading States */
.skeleton-loader {
  display: none;
}

.metric-card.loading .skeleton-loader {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.metric-card.loading .card-content {
  display: none !important;
}

.metric-card .card-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.metric-card .skeleton-loader {
  height: 100%;
}

/* Skeletons are deliberately theme-AGNOSTIC: one fixed neutral tone that
   reads the same on light and dark, so a late theme flip (or any theme)
   can never change what loading looks like. */
.skeleton {
  background: rgba(128, 138, 150, 0.16);
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}

.skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.25) 50%, transparent 100%);
  animation: shimmer 1.5s infinite;
}

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

  100% {
    transform: translateX(100%);
  }
}

.skeleton-title {
  height: 24px;
  width: 140px;
  margin-bottom: 8px;
}

.skeleton-subtitle {
  height: 16px;
  width: 100px;
}

.skeleton-circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.skeleton-label {
  height: 14px;
  width: 80px;
  margin: 0 auto 12px;
}

.skeleton-value {
  height: 48px;
  width: 120px;
  margin: 0 auto 16px;
  border-radius: 8px;
}

.skeleton-bar {
  height: 8px;
  width: 100%;
  border-radius: 4px;
}

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

.skeleton-row-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.skeleton-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.skeleton-text {
  height: 14px;
  width: 120px;
}

.skeleton-text-sm {
  height: 12px;
  width: 60px;
}

.skeleton-amount {
  height: 20px;
  width: 60px;
}

.skeleton-footer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  text-align: center;
  padding-top: 16px;
  border-top: 1px solid var(--border-subtle);
}

.skeleton-footer-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* Chart loading state */
.chart-card.loading .chart-skeleton {
  display: block;
}

.chart-card.loading .chart-content {
  display: none;
}

.chart-card .chart-skeleton {
  display: none;
}

.skeleton-chart {
  height: 240px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  padding: 20px 50px 30px 50px;
}

.skeleton-chart-bar {
  flex: 1;
  border-radius: 4px 4px 0 0;
  max-width: 20px;
}

.skeleton-chart-line {
  position: absolute;
  left: 50px;
  right: 20px;
  height: 2px;
  border-radius: 1px;
}

/* Growth Bar Chart Styles */
.growth-bar-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  position: relative;
}

.growth-bar-wrapper {
  width: 100%;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
}

.growth-bar {
  flex: 1;
  border-radius: 4px;
  position: relative;
  min-height: 12px;
  transition: all 0.3s;
}

.growth-bar-inner {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 4px;
  min-height: 4px;
  transition: all 0.3s;
}

.growth-bar-label {
  font-size: 12px;
  color: var(--text-secondary);
}

.growth-bar-tooltip {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 100%;
  margin-bottom: 8px;
  width: 112px;
  padding: 8px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
  pointer-events: none;
  z-index: 50;
}

.growth-bar-group:hover .growth-bar-tooltip {
  opacity: 1;
  visibility: visible;
}

.growth-bar-tooltip-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.growth-bar-tooltip-label {
  font-size: 12px;
  color: var(--text-secondary);
}

.growth-bar-tooltip-value {
  font-size: 12px;
  font-weight: 600;
}

.growth-bar-tooltip-footer {
  font-size: 12px;
  text-align: center;
  padding-top: 4px;
  margin-top: 4px;
  border-top: 1px solid var(--border-subtle);
  color: var(--text-secondary);
}

/* Tooltip Styles */
.info-tooltip-wrapper {
  position: relative;
}

.info-tooltip-wrapper .info-tooltip {
  position: absolute;
  bottom: 100%;
  right: 0;
  margin-bottom: 8px;
  padding: 12px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  width: 250px;
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
  display: none;
  z-index: 200;
}

.info-tooltip-wrapper:hover .info-tooltip {
  display: block;
}

/* Change Tooltip */
.change-tooltip-wrapper {
  position: relative;
}

.change-tooltip {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 100%;
  margin-bottom: 8px;
  width: 180px;
  padding: 12px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
  pointer-events: none;
  z-index: 50;
  text-align: center;
}

.change-tooltip-wrapper:hover .change-tooltip {
  opacity: 1;
  visibility: visible;
}

/* Donut chart container */
.donut-container {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.donut-container svg path {
  cursor: pointer;
  transition: opacity 0.2s;
}

.donut-container svg path:hover {
  opacity: 1;
}

/* Utility helpers */
.u-flex {
  display: flex;
}
.u-flex-col {
  display: flex;
  flex-direction: column;
}
.u-items-start {
  align-items: flex-start;
}
.u-items-center {
  align-items: center;
}
.u-items-end {
  align-items: flex-end;
}
.u-justify-between {
  justify-content: space-between;
}
.u-justify-center {
  justify-content: center;
}
.u-justify-end {
  justify-content: flex-end;
}
.u-gap-2 {
  gap: 2px;
}
.u-gap-4 {
  gap: 4px;
}
.u-gap-8 {
  gap: 8px;
}
.u-gap-12 {
  gap: 12px;
}
.u-gap-16 {
  gap: 16px;
}
.u-gap-24 {
  gap: 24px;
}
.u-flex-1 {
  flex: 1;
}
.u-text-right {
  text-align: right;
}
.u-mb-16 {
  margin-bottom: 16px;
}
.u-mb-24 {
  margin-bottom: 24px;
}
.u-mb-32 {
  margin-bottom: 32px;
}
.u-mb-4 {
  margin-bottom: 4px;
}
.u-mt-4 {
  margin-top: 4px;
}
.u-mt-8 {
  margin-top: 8px;
}
.u-mt-auto {
  margin-top: auto;
}
.u-ml-auto {
  margin-left: auto;
}
.u-my-8 {
  margin-top: 8px;
  margin-bottom: 8px;
}
.u-pl-16 {
  padding-left: 16px;
}
.u-pt-16 {
  padding-top: 16px;
}
.u-px-8 {
  padding-left: 8px;
  padding-right: 8px;
}
.u-px-50 {
  padding-left: 50px;
  padding-right: 50px;
}
.u-py-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.u-border-top {
  border-top: 1px solid var(--border-subtle);
}
.u-overflow-visible {
  overflow: visible;
}
.u-pos-rel {
  position: relative;
}
.u-pos-abs {
  position: absolute;
}
.u-w-full {
  width: 100%;
}
.u-w-30 {
  width: 30px;
}
.u-w-60 {
  width: 60px;
}
.u-w-80 {
  width: 80px;
}
.u-w-120 {
  width: 120px;
}
.u-w-200 {
  width: 200px;
}
.u-h-12 {
  height: 12px;
}
.u-h-16 {
  height: 16px;
}
.u-h-20 {
  height: 20px;
}
.u-h-32 {
  height: 32px;
}
.u-h-60 {
  height: 60px;
}
.u-h-70 {
  height: 70px;
}
.u-h-80 {
  height: 80px;
}
.u-h-90 {
  height: 90px;
}
.u-h-200 {
  height: 200px;
}
.u-h-280 {
  height: 280px;
}
.u-rounded-4 {
  border-radius: 4px;
}
.u-rounded-6 {
  border-radius: 6px;
}
.u-rounded-full {
  border-radius: 999px;
}
.u-center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.text-sm {
  font-size: 12px;
}
.text-md {
  font-size: 14px;
}
.text-lg {
  font-size: 18px;
}
.text-strong {
  font-weight: 600;
}
.text-medium {
  font-weight: 500;
}
.text-muted {
  color: var(--text-secondary);
}
.text-primary {
  color: var(--text-primary);
}
.text-success {
  color: var(--success);
}
.text-warning {
  color: var(--warning);
}
.text-danger {
  color: var(--danger);
}
.text-accent {
  color: var(--accent);
}
.text-neutral {
  color: var(--neutral);
}
.text-subscription {
  color: var(--subscription);
}

/* Legend + dots */
.legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}
.legend-dot--neutral {
  background: var(--neutral);
}
.legend-dot--accent {
  background: var(--accent);
}
.legend-dot--success {
  background: var(--success);
}
.legend-dot--warning {
  background: var(--warning);
}
.legend-dot--subscription {
  background: var(--subscription);
}
.legend-line {
  width: 24px;
  height: 2px;
  border-radius: 2px;
}
.legend-line--neutral {
  background: var(--neutral);
}
.legend-line--accent {
  background: var(--accent);
}
.legend-line--success {
  background: var(--success);
}
.legend-line--warning {
  background: var(--warning);
}
.legend-line--subscription {
  background: var(--subscription);
}

/* Metric footer */
.metric-footer-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.metric-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.metric-footer-row--sub {
  padding-left: 16px;
}
.metric-footer-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.metric-footer-label {
  font-size: 12px;
  color: var(--text-secondary);
}
.metric-footer-value {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
}
.metric-change-text {
  font-size: 12px;
  font-weight: 500;
}
.metric-change-text--positive {
  color: var(--success);
}
.metric-change-text--negative {
  color: var(--danger);
}
.metric-change-tooltip {
  font-size: 12px;
  color: var(--text-secondary);
}

/* Donut + tooltip */
.donut-wrapper {
  position: relative;
  width: 240px;
  height: 240px;
  display: inline-block;
}
.donut-wrapper svg {
  display: block;
}
.donut-center-change {
  position: absolute;
  left: 50%;
  top: 61%;
  transform: translate(-50%, -50%);
  margin-top: 3px;
  pointer-events: none;
}
.donut-tooltip {
  position: absolute;
  left: 0;
  top: 0;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 8px 12px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.donut-tooltip-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.donut-tooltip-label {
  font-size: 12px;
  color: var(--text-secondary);
}
.donut-tooltip-value {
  font-size: 14px;
  font-weight: 600;
}

/* Growth bars */
.growth-bar--neutral {
  background: var(--neutral);
}
.growth-bar--success {
  background: var(--success);
}
.growth-bar--warning {
  background: var(--warning);
}
.growth-bar-inner--accent {
  background: var(--accent);
}
.growth-bar-inner--subscription {
  background: var(--subscription);
}
/* When pLTV and Subscription overlays share a bar, split it into halves */
.growth-bar-inner--half-left {
  right: 50%;
}
.growth-bar-inner--half-right {
  left: 50%;
}

/* Empty states */
.empty-state {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
}
.empty-state-full {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
}

/* Trend chart */
.trend-chart-body {
  height: 280px;
  position: relative;
  padding: 20px 0;
}
.trend-svg {
  overflow: visible;
}
.trend-tooltip {
  position: absolute;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 8px 12px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.15s;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
  z-index: 100;
}

/* Skeleton helpers */
.skeleton-subtitle--mt {
  margin-top: 4px;
}
.skeleton-value--spaced {
  margin: 8px 0;
}
.skeleton-pill {
  width: 60px;
  height: 16px;
  margin-top: 8px;
}
.skeleton-wide {
  width: 200px;
  margin-top: 8px;
}
.skeleton-donut {
  width: 200px;
  height: 200px;
  border-radius: 50%;
}
.skeleton-bar-60 {
  width: 100%;
  height: 60px;
  border-radius: 4px;
}
.skeleton-bar-70 {
  width: 100%;
  height: 70px;
  border-radius: 4px;
}
.skeleton-bar-80 {
  width: 100%;
  height: 80px;
  border-radius: 4px;
}
.skeleton-bar-90 {
  width: 100%;
  height: 90px;
  border-radius: 4px;
}
.skeleton-chart-line--20 {
  bottom: 20%;
}
.skeleton-chart-line--40 {
  bottom: 40%;
}
.skeleton-chart-line--60 {
  bottom: 60%;
}
.skeleton-chart-line--80 {
  bottom: 80%;
}
.skeleton-chart-bar--45 {
  height: 45%;
}
.skeleton-chart-bar--50 {
  height: 50%;
}
.skeleton-chart-bar--55 {
  height: 55%;
}
.skeleton-chart-bar--60 {
  height: 60%;
}
.skeleton-chart-bar--65 {
  height: 65%;
}
.skeleton-chart-bar--70 {
  height: 70%;
}
.skeleton-chart-bar--75 {
  height: 75%;
}
.skeleton-chart-bar--80 {
  height: 80%;
}
.skeleton-chart-bar--85 {
  height: 85%;
}

/* Cursor helpers */
.cursor-help {
  cursor: help;
}
.cursor-pointer {
  cursor: pointer;
}

.growth-chart-skeleton {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2px;
  margin-bottom: 24px;
  padding: 0 8px;
  min-height: 150px;
}

.growth-chart-bars {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  padding: 0 8px;
}

.u-w-32 {
  width: 32px;
}

/* Events page */
.events-content {
  padding: 32px;
  max-width: 1400px;
}

.events-header {
  margin-bottom: 48px;
}

.events-title {
  font-size: 2.25rem;
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--text-primary);
}

.events-subtitle {
  font-size: 1.125rem;
  color: var(--text-secondary);
}

.events-section {
  margin-top: 32px;
}

.events-section-title {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 32px;
  color: var(--text-primary);
}

.events-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  align-items: start;
}

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

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

  .event-card-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .event-card-badges {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

.event-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 24px;
  position: relative;
  transition: all 0.2s;
  backdrop-filter: blur(8px);
}

.event-card--create {
  border: 1px dashed var(--border-subtle);
  cursor: pointer;
}

.event-card--create:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.event-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.event-card-icon-bubble {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(107, 124, 255, 0.1);
  border: 1px solid rgba(107, 124, 255, 0.2);
  transition: transform 0.2s;
}

.event-card-title {
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 12px;
  color: var(--text-primary);
}

.event-card-label {
  display: flex;
  align-items: center;
  justify-content: center;
}

.event-card-label-text {
  font-size: 12px;
  padding: 4px 12px;
  border-radius: 6px;
  font-weight: 500;
  background: rgba(107, 124, 255, 0.1);
  color: var(--accent);
}

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

.event-card-name {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text-primary);
}

.event-card-badges {
  display: flex;
  align-items: center;
  gap: 8px;
}

.badge {
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
}

.badge--warning {
  background: rgba(246, 195, 68, 0.1);
  color: var(--warning);
}

.badge--success {
  background: rgba(32, 201, 151, 0.1);
  color: var(--success);
}

.badge--accent {
  background: rgba(107, 124, 255, 0.1);
  color: var(--accent);
}

.badge--google {
  background: rgba(66, 133, 244, 0.12);
  color: rgb(66, 133, 244);
}

.badge--neutral {
  background: rgba(168, 176, 186, 0.12);
  color: var(--neutral);
}

.badge-pill {
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  flex-shrink: 0;
}

.badge-pill--ai {
  background: rgba(107, 124, 255, 0.2);
  border: 1px solid rgba(107, 124, 255, 0.4);
  color: var(--accent-bright);
}

.badge-pill--training {
  background: rgba(246, 195, 68, 0.15);
  border: 1px solid rgba(246, 195, 68, 0.4);
  color: var(--warning);
}

.badge-pill--danger {
  background: rgba(255, 107, 107, 0.15);
  border: 1px solid rgba(255, 107, 107, 0.4);
  color: var(--danger);
}

.event-info-tooltip {
  position: absolute;
  bottom: 100%;
  right: 0;
  margin-bottom: 8px;
  padding: 12px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  width: 250px;
  font-size: 13px;
  color: var(--text-secondary);
  display: none;
  z-index: 200;
}

.event-description {
  margin-bottom: 24px;
  font-size: 14px;
  color: var(--text-secondary);
}

.event-card-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.event-menu-wrapper {
  position: relative;
}

.event-menu-btn {
  padding: 8px;
  border-radius: 8px;
  transition: all 0.2s;
  background: rgba(107, 124, 255, 0.1);
  color: var(--accent-bright);
  border: none;
  cursor: pointer;
}

.event-menu-btn:hover {
  background: rgba(107, 124, 255, 0.18);
}

.event-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
  z-index: 100;
  display: none;
  min-width: 160px;
}

.event-menu.show {
  display: block;
}

.event-menu button,
.event-menu a {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 12px 16px;
  background: transparent;
  border: none;
  color: var(--text-primary);
  text-decoration: none;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.2s;
  text-align: left;
}

.event-menu button:hover,
.event-menu a:hover {
  background: rgba(107, 124, 255, 0.1);
}

.event-menu button.danger {
  color: var(--danger);
}

.event-menu hr {
  border: none;
  border-top: 1px solid var(--border-subtle);
  margin: 0;
}

.badge-icon {
  font-size: 12px;
}

.event-card-new {
  border-radius: 12px;
}

.training-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.training-text {
  font-size: 10px;
  font-weight: 600;
}

.spin {
  animation: spin 1s linear infinite;
}

@keyframes pulseGlow {
  0%,
  100% {
    box-shadow:
      0 0 12px rgba(107, 124, 255, 0.4),
      0 0 4px rgba(107, 124, 255, 0.6);
  }
  50% {
    box-shadow:
      0 0 16px rgba(107, 124, 255, 0.6),
      0 0 8px rgba(107, 124, 255, 0.8);
  }
}

.ai-badge-glow {
  animation: pulseGlow 2s ease-in-out infinite;
}

.inline-notification {
  display: none;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 20px;
  margin-bottom: 24px;
  border-radius: 12px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-surface);
  animation: slideDown 0.3s ease;
}

.inline-notification.show {
  display: flex;
}

.inline-notification.error {
  background: rgba(255, 107, 107, 0.1);
  border-color: var(--danger);
}

.inline-notification.success {
  background: rgba(32, 201, 151, 0.1);
  border-color: var(--success);
}

.inline-notification-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.inline-notification-content {
  flex: 1;
}

.inline-notification-title {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 4px;
  color: var(--text-primary);
}

.inline-notification-message {
  font-size: 14px;
  color: var(--text-secondary);
}

.inline-notification-close {
  padding: 4px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--text-secondary);
  border-radius: 4px;
  transition: all 0.2s;
  flex-shrink: 0;
}

.inline-notification-close:hover {
  background: rgba(0, 0, 0, 0.1);
}

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

.btn-secondary {
  background: var(--bg-base);
  color: var(--text-primary);
  padding: 10px 20px;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}

.btn-secondary:hover {
  border-color: var(--accent);
}

.btn-danger {
  background: var(--danger);
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}

.btn-danger:hover {
  opacity: 0.9;
}

.delete-confirmation {
  margin-top: 16px;
  padding: 16px;
  background: rgba(255, 107, 107, 0.1);
  border: 1px solid var(--danger);
  border-radius: 8px;
  display: none;
}

.delete-confirmation.show {
  display: block;
}

.delete-input {
  width: 100%;
  padding: 12px;
  margin: 12px 0;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  color: var(--text-primary);
  font-size: 14px;
  outline: none;
}

.delete-input:focus {
  border-color: var(--danger);
}

.delete-actions {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.delete-confirmation-title {
  font-size: 14px;
  color: var(--danger);
  margin-bottom: 8px;
  font-weight: 600;
}

.delete-confirmation-text {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 12px;
}

.delete-confirmation-list {
  margin: 0 0 12px 0;
  padding-left: 1.2em;
  font-size: 13px;
  color: var(--text-secondary);
  list-style: disc;
}
.delete-confirmation-list li {
  margin-bottom: 4px;
}
.delete-confirmation-list strong {
  color: var(--text-primary);
}

.delete-confirmation-label {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

.delete-error {
  display: none;
  margin-bottom: 12px;
  padding: 12px;
  background: rgba(255, 107, 107, 0.1);
  border-left: 3px solid var(--danger);
  border-radius: 6px;
  font-size: 13px;
  color: var(--danger);
  align-items: center;
  gap: 8px;
}

.delete-error-icon {
  flex-shrink: 0;
}

.icon-button--flex {
  flex: 1;
}

.info-tooltip-wrapper--relative {
  position: relative;
}

.icon-help {
  cursor: help;
}

.inline-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Edit event page */
.edit-event-content {
  padding: 32px;
  max-width: 800px;
  --edit-label: #98a2b3;
  --edit-value: #101828;
  --edit-title: #101828;
}

:root[data-theme="dark"] .edit-event-content {
  --edit-label: #a8b0ba;
  --edit-value: #f5f7fa;
  --edit-title: #f5f7fa;
}

.edit-event-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 14px;
  margin-bottom: 24px;
  transition: color 0.2s;
}

.edit-event-back:hover {
  color: var(--accent);
}

.edit-event-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
}

.edit-event-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--text-primary);
}

.status-pill {
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

.status-pill--warning {
  background: rgba(246, 195, 68, 0.1);
  color: var(--warning);
}

.status-pill--success {
  background: rgba(32, 201, 151, 0.1);
  color: var(--success);
}

.card-panel {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  margin-bottom: 16px;
  overflow: hidden;
}

.card-panel--danger {
  background: var(--bg-surface);
  border: 1px solid rgba(255, 107, 107, 0.2);
  border-radius: 12px;
  overflow: hidden;
}

.card-panel--tooltip {
  overflow: visible;
}

.card-panel--tooltip .info-tooltip--inline {
  z-index: 400;
}

.card-panel-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--border-subtle);
}

.card-panel-header--row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Header with no body beneath it (e.g. a lone toggle row) — drop the
   separator so it doesn't dangle under the single row. */
.card-panel-header--solo {
  border-bottom: none;
}

.card-panel-body {
  padding: 20px 24px;
}

.card-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--edit-title, var(--text-primary));
}

.card-title--danger {
  color: var(--danger);
}

.card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.card-grid--mb-24 {
  margin-bottom: 24px;
}

.card-grid--mb-20 {
  margin-bottom: 20px;
}

.card-label {
  font-size: 12px;
  color: var(--text-secondary);
  margin-bottom: 4px;
}

.card-label--with-icon {
  display: flex;
  align-items: center;
  gap: 4px;
}

.card-value {
  font-size: 14px;
  font-weight: 600;
  color: var(--edit-value, var(--text-primary));
}

.card-value--success {
  color: var(--success);
}
.card-value--warning {
  color: var(--warning);
}
.card-value--danger {
  color: var(--danger);
}

.section-divider {
  border-top: 1px solid var(--border-subtle);
  padding-top: 20px;
}

.section-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 16px;
}

.ai-status-badge {
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
}

.ai-status-badge--success {
  background: rgba(32, 201, 151, 0.1);
  color: var(--success);
}

.ai-status-badge--warning {
  background: rgba(246, 195, 68, 0.1);
  color: var(--warning);
}

.ai-status-badge--danger {
  background: rgba(255, 107, 107, 0.1);
  color: var(--danger);
}

.ai-badge {
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  flex-shrink: 0;
  background: rgba(107, 124, 255, 0.2);
  border: 1px solid rgba(107, 124, 255, 0.4);
  color: var(--accent-bright);
}

.ai-badge-icon {
  font-size: 12px;
}

.training-box {
  padding: 16px;
  background: rgba(246, 195, 68, 0.05);
  border: 1px solid rgba(246, 195, 68, 0.2);
  border-radius: 8px;
  margin-bottom: 20px;
}

.training-box--danger {
  padding: 16px;
  background: rgba(255, 107, 107, 0.05);
  border: 1px solid rgba(255, 107, 107, 0.2);
  border-radius: 8px;
  margin-bottom: 20px;
}

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

.training-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid var(--warning);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.training-text {
  font-weight: 600;
  color: var(--warning);
}

.training-message {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 12px;
}

.training-progress-track {
  height: 4px;
  background: var(--bg-base);
  border-radius: 2px;
  overflow: hidden;
}

.training-progress-bar {
  height: 100%;
  background: var(--warning);
  transition: width 0.3s;
}

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

.failure-icon {
  font-size: 16px;
}

.failure-title {
  font-weight: 600;
  color: var(--danger);
}

.failure-text {
  font-size: 13px;
  color: var(--text-secondary);
}

.info-tooltip-wrapper--inline {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.info-tooltip--inline {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 8px;
  padding: 12px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  width: 220px;
  font-size: 12px;
  color: var(--text-secondary);
  display: none;
  z-index: 200;
}

.info-tooltip-wrapper--inline:hover .info-tooltip--inline {
  display: block;
}

.metric-value-success {
  font-size: 14px;
  font-weight: 500;
  color: var(--success);
}

.muted-text {
  font-size: 14px;
  color: var(--text-secondary);
}

.muted-text--mb-16 {
  margin-bottom: 16px;
}

.danger-button-ghost {
  padding: 12px 24px;
  background: transparent;
  border: 1px solid var(--danger);
  color: var(--danger);
  border-radius: 8px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.danger-button-ghost:hover {
  background: rgba(255, 107, 107, 0.1);
}

.disabled-button {
  padding: 12px 24px;
  background: transparent;
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  border-radius: 8px;
  font-weight: 500;
  cursor: not-allowed;
  opacity: 0.5;
}

.delete-confirm-panel {
  display: none;
  padding: 20px 24px;
  background: rgba(255, 107, 107, 0.05);
  border-top: 1px solid rgba(255, 107, 107, 0.2);
}

.delete-confirm-title {
  font-size: 14px;
  color: var(--danger);
  margin-bottom: 12px;
  font-weight: 600;
}

.delete-confirm-text {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 12px;
}

.delete-confirm-input {
  width: 100%;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-base);
  color: var(--text-primary);
  font-size: 14px;
  margin-bottom: 12px;
}

.delete-confirm-input:focus {
  outline: none;
  border-color: rgba(255, 107, 107, 0.2);
  box-shadow: none;
}

.delete-confirm-actions {
  display: flex;
  gap: 12px;
}

.delete-confirm-actions .btn-secondary,
.delete-confirm-actions .btn-danger {
  flex: 1;
}

@media (max-width: 1024px) {
  .edit-event-content {
    padding: 16px;
  }

  .card-grid {
    grid-template-columns: 1fr;
  }

  .edit-event-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

/* Create Event page inline styles migrated */
.ce-inline-2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 14px;
  margin-bottom: 24px;
  transition: color 0.2s;
}
.ce-inline-3 {
  margin-bottom: 32px;
}
.ce-inline-4 {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--text-primary);
}
.ce-inline-5 {
  font-size: 14px;
  color: var(--text-secondary);
  margin-top: 8px;
}
.ce-inline-6 {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  margin-bottom: 32px;
}
.ce-inline-7 {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ce-inline-8 {
  background: rgba(107, 124, 255, 0.03);
  border: 1px solid rgba(107, 124, 255, 0.1);
  border-radius: 8px;
  overflow: visible;
}
.ce-inline-9 {
  width: 100%;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
  cursor: pointer;
  transition: background 0.2s;
}
.ce-inline-10 {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ce-inline-11 {
  transition: transform 0.2s;
}
.ce-inline-12 {
  text-align: left;
}
.ce-inline-13 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}
.ce-inline-14 {
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 2px;
}
.ce-inline-15 {
  display: none;
  padding: 0 16px 16px 48px;
}
.ce-inline-16 {
  font-size: 12px;
  color: var(--text-secondary);
  margin-bottom: 12px;
}
.ce-inline-17 {
  width: 100%;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-surface);
  color: var(--text-primary);
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.ce-event-name-wrap {
  display: flex;
  align-items: center;
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-surface);
  transition: border-color 0.2s;
  overflow: hidden;
}
.ce-event-name-wrap:focus-within {
  border-color: var(--accent);
}
.ce-event-name-prefix {
  display: inline-flex;
  align-items: center;
  margin: 6px 0 6px 8px;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(128, 128, 128, 0.18);
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 500;
  user-select: none;
  pointer-events: none;
}
.ce-event-name-input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 12px 16px 12px 10px;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  font-size: 14px;
  outline: none;
}
.ce-inline-18 {
  display: none;
  color: var(--danger);
  font-size: 12px;
  margin-top: 6px;
}
.ce-inline-19 {
  font-size: 11px;
  color: var(--text-secondary);
  margin-top: 8px;
}
.ce-inline-20 {
  position: relative;
  z-index: 30;
}
.ce-inline-21 {
  padding: 6px;
  border-radius: 6px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ce-inline-22 {
  position: absolute;
  bottom: 100%;
  right: 0;
  margin-bottom: 8px;
  padding: 12px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  width: 250px;
  font-size: 13px;
  color: var(--text-secondary);
  display: none;
  z-index: 200;
}
.ce-inline-23 {
  display: flex;
  gap: 8px;
}
.ce-inline-24 {
  flex: 1;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-surface);
  color: var(--text-secondary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.ce-inline-25 {
  flex: 1;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 0 0 1px var(--accent);
  background: rgba(107, 124, 255, 0.15);
  color: var(--accent-bright);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}
.ce-inline-26 {
  width: 100%;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
  transition: background 0.2s;
  gap: 12px;
}
.ce-inline-27 {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.ce-inline-28 {
  transition: transform 0.2s;
  flex-shrink: 0;
  min-width: 20px;
  min-height: 20px;
  cursor: pointer;
}
.ce-inline-29 {
  font-size: 20px;
  flex-shrink: 0;
}
.ce-inline-30 {
  text-align: left;
  min-width: 0;
}
.ce-inline-31 {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.ce-inline-32 {
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  background: rgba(168, 176, 186, 0.1);
  color: var(--text-secondary);
  white-space: nowrap;
}
.ce-inline-33 {
  position: relative;
  width: 44px;
  height: 24px;
  background: var(--border-subtle);
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.3s;
  flex-shrink: 0;
}
.ce-inline-34 {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: white;
  border-radius: 50%;
  transition: transform 0.3s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.ce-inline-35 {
  display: none;
  padding: 0 16px 16px 16px;
}
.ce-inline-36 {
  display: none;
}
.ce-inline-37 {
  text-align: center;
  padding: 48px;
}
.ce-inline-38 {
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}
.ce-inline-39 {
  color: var(--text-secondary);
}
.ce-inline-40 {
  display: none;
  text-align: center;
  padding: 48px;
  background: var(--bg-base);
  border-radius: 12px;
  border: 1px solid var(--border-subtle);
}
.ce-inline-41 {
  margin-bottom: 16px;
}
.ce-inline-42 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--text-primary);
}
.ce-inline-43 {
  position: relative;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 32px 24px 24px;
  margin-bottom: 24px;
  margin-top: 24px;
}
.ce-inline-44 {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary);
}
.ce-inline-45 {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 16px;
}
.ce-inline-46 {
  display: flex;
  align-items: center;
  gap: 8px;
}
.ce-inline-47 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}
.ce-inline-48 {
  position: relative;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  padding-top: 2px;
}
.ce-inline-49 {
  display: none;
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  transform: translateX(-50%);
  width: 280px;
  padding: 16px;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  z-index: 50;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  text-align: left;
}
.ce-inline-50 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--text-primary);
}
.ce-inline-51 {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
  margin: 0;
}
.ce-inline-52 {
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 8px;
  text-align: center;
}
.ce-inline-53 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.ce-inline-54 {
  visibility: hidden;
  text-align: center;
  margin-top: 12px;
  font-size: 12px;
  color: var(--warning);
}
.ce-inline-55 {
  position: relative;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 32px 24px 24px;
  margin-bottom: 24px;
  margin-top: 50px;
}
.ce-inline-56 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.ce-inline-57 {
  font-size: 20px;
  font-weight: 700;
  color: var(--accent);
}
.ce-inline-58 {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 50px;
}
.ce-inline-59 {
  position: relative;
  padding-left: 45px;
  padding-right: 8px;
}
.ce-inline-60 {
  position: absolute;
  left: 0;
  top: 0;
  height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 500;
  color: var(--text-secondary);
  text-align: right;
  width: 54px;
}
.ce-inline-61 {
  display: flex;
  align-items: center;
  gap: 2px;
  justify-content: flex-end;
}
.ce-inline-62 {
  position: relative;
  cursor: help;
  display: flex;
  align-items: center;
  padding: 4px;
}
.ce-inline-63 {
  color: var(--text-secondary);
  pointer-events: none;
}
.ce-inline-64 {
  display: none;
  position: absolute;
  left: 100%;
  margin-left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 220px;
  padding: 16px;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  z-index: 50;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  text-align: left;
}
.ce-inline-65 {
  padding-right: 14px;
}
.ce-inline-66 {
  position: relative;
}
.ce-inline-67 {
  display: block;
  width: 100%;
  height: 180px;
}
.ce-inline-68 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 32px;
  cursor: pointer;
  z-index: 10;
}
/* LTV threshold slider — the <input type="range"> is invisible
   (opacity:0) and sits on top of the custom .ce-inline-70 thumb.
   Previously only 8px tall, which made grabbing hard on mouse and
   basically impossible on touch. Stretched to the full 32px
   container height with a 32x32 invisible thumb hit-target, so the
   entire track area is draggable. The visible thumb stays driven by
   JS updating .ce-inline-70's transform. */
.ce-inline-69 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
  z-index: 11;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  touch-action: pan-y;
}
/* Enlarge the invisible native thumb hit target to match ~visual thumb
   + margin. This is what the browser actually drags. */
.ce-inline-69::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
  pointer-events: auto;
}
.ce-inline-69::-moz-range-thumb {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
}
.ce-inline-69::-webkit-slider-runnable-track {
  height: 100%;
  background: transparent;
  border: none;
}
.ce-inline-69::-moz-range-track {
  height: 100%;
  background: transparent;
  border: none;
}
.ce-inline-70 {
  position: absolute;
  top: 5px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: white;
  border: 3px solid var(--accent);
  box-shadow:
    0 4px 12px rgba(107, 124, 255, 0.4),
    0 0 0 3px rgba(107, 124, 255, 0.1);
  pointer-events: none;
  transform: translateX(-50%);
}
.ce-inline-71 {
  position: absolute;
  top: -10px;
  left: 13%;
  transform: translateX(-50%);
  padding: 8px 12px;
  border-radius: 6px;
  background: var(--accent);
  color: white;
  font-size: 12px;
  pointer-events: none;
  white-space: nowrap;
}
.ce-inline-72 {
  font-weight: 600;
}
.ce-inline-73 {
  font-size: 11px;
  opacity: 0.9;
  margin-top: 2px;
}
.ce-inline-74 {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
}
.ce-inline-75 {
  font-size: 20px;
  font-weight: 700;
  color: var(--success);
}
.ce-inline-76 {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 16px;
}
.ce-inline-77 {
  position: relative;
  padding: 0 8px;
}
.ce-inline-78 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}
.ce-inline-79 {
  font-size: 12px;
  color: var(--text-secondary);
}
.ce-inline-80 {
  position: relative;
  height: 8px;
  border-radius: 9999px;
  background: var(--bg-surface);
}
.ce-inline-81 {
  position: absolute;
  left: 0%;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: rgba(32, 201, 151, 0.1);
}
.ce-inline-82 {
  position: absolute;
  left: 0;
  height: 100%;
  border-radius: 9999px;
  background: linear-gradient(90deg, var(--success) 0%, #20c997 100%);
}
.ce-inline-83 {
  position: absolute;
  top: 20px;
  left: 8px;
  right: 8px;
  width: calc(100% - 16px);
  height: 8px;
  cursor: pointer;
  opacity: 0;
  z-index: 10;
}
.ce-inline-84 {
  position: absolute;
  top: 18px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: white;
  border: 4px solid var(--success);
  box-shadow: 0 2px 8px rgba(32, 201, 151, 0.3);
  pointer-events: none;
}
.ce-inline-85 {
  text-align: center;
  margin-top: 16px;
  padding: 8px 16px;
  border-radius: 8px;
  background: rgba(32, 201, 151, 0.1);
  border: 1px solid rgba(32, 201, 151, 0.2);
}
.ce-inline-86 {
  font-size: 13px;
  color: var(--success);
}
.ce-inline-87 {
  position: relative;
  background: rgba(107, 124, 255, 0.03);
  border: 1.5px solid var(--accent);
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 8px 32px rgba(107, 124, 255, 0.12);
  margin-top: 50px;
}
.ce-inline-88 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
}
.ce-inline-89 {
  space-y: 12px;
}
.ce-inline-90 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}
.ce-inline-91 {
  position: absolute;
  inset: 0;
  border-radius: 8px;
  background: rgba(107, 124, 255, 0.2);
  animation: gentlePulse 2s ease-in-out infinite;
}
.ce-inline-92 {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(107, 124, 255, 0.15);
}
.ce-inline-93 {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent);
  box-shadow: 0 2px 8px rgba(107, 124, 255, 0.4);
}
.ce-inline-94 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--text-primary);
  min-height: 24px;
}
.ce-inline-95 {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}
.ce-inline-96 {
  padding-left: 24px;
  border-left: 1px solid var(--border-subtle);
}
.ce-inline-97 {
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 8px;
  color: var(--text-secondary);
}
.ce-inline-98 {
  display: flex;
  gap: 6px;
}
.ce-inline-99 {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  background: var(--success);
  opacity: 1;
  transition: all 0.3s;
}
.ce-inline-100 {
  font-size: 14px;
  font-weight: 700;
  font-family: monospace;
  color: var(--success);
}
.ce-inline-101 {
  margin-bottom: 12px;
}
.ce-inline-102 {
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 2px;
  color: var(--text-secondary);
}
.ce-inline-103 {
  font-size: 16px;
  font-weight: 600;
  font-family: monospace;
  color: var(--text-primary);
}
.ce-inline-104 {
  width: 100%;
  padding: 14px 24px;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-bright) 100%);
  color: white;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.2s;
}
.ce-inline-2:hover {
  color: var(--accent);
}
.ce-inline-9:hover {
  background: rgba(107, 124, 255, 0.05);
}
.ce-inline-17:focus {
  border-color: var(--accent);
}
.ce-inline-21:hover {
  background: rgba(107, 124, 255, 0.1);
}
.ce-inline-104:hover {
  filter: brightness(1.05);
}

/* Dashboard index (onboarding + setup) */
body.dashboard-index {
  font-size: 18px;
}

body.dashboard-index svg .cls-1,
body.dashboard-index svg .cls-3 {
  fill: #fff;
}

body.dashboard-index svg .cls-2 {
  fill: #4a5568;
}

body.dashboard-index svg .cls-4 {
  fill: #007aff;
}

body.dashboard-index svg .cls-9 {
  fill: #95bf47;
}

body.dashboard-index .di-text-12-muted {
  font-size: 12px;
  color: var(--text-secondary);
}

body.dashboard-index .di-label-14 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--text-primary);
}

body.dashboard-index .di-mb-24 {
  margin-bottom: 24px;
}

body.dashboard-index .di-col-center-8 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

body.dashboard-index .di-center-mb-8 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
}

body.dashboard-index .di-text-12 {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
}

body.dashboard-index .di-text-14-muted-mt-8 {
  margin-top: 8px;
  font-size: 14px;
  color: var(--text-secondary);
}

body.dashboard-index .di-flex-1 {
  flex: 1;
}

body.dashboard-index .di-text-muted {
  color: var(--text-secondary);
}

body.dashboard-index .di-row-center-8 {
  display: flex;
  align-items: center;
  gap: 8px;
}

body.dashboard-index .di-row-center-12-dim {
  display: flex;
  align-items: center;
  gap: 12px;
  opacity: 0.4;
}

body.dashboard-index .di-text-14 {
  font-size: 14px;
  color: var(--text-primary);
  font-weight: 500;
}

body.dashboard-index .di-text-13-muted {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary);
  margin: 0;
}

body.dashboard-index .di-label-block {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--text-primary);
}

body.dashboard-index .di-signal-bar {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  background: var(--success);
  opacity: 1;
  transition: all 0.3s;
}

body.dashboard-index .di-card-bottom {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 0 0 16px 16px;
  border-top: none;
  padding: 48px;
}

body.dashboard-index .di-ltv-title {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-primary);
}

body.dashboard-index .di-text-gradient-accent {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-bright) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

body.dashboard-index .di-ltv-subtitle {
  font-size: 18px;
  max-width: 600px;
  margin: 0 auto;
  color: var(--text-secondary);
}

body.dashboard-index .di-panel-loading {
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  padding: 48px;
}

body.dashboard-index .di-panel-empty {
  display: none;
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
  padding: 48px;
  background: var(--bg-base);
  border-radius: 16px;
  border: 1px solid var(--border-subtle);
}

body.dashboard-index.ltv-no-data #ltvLoadingState {
  display: none;
}

body.dashboard-index.ltv-no-data #ltvNoDataState {
  display: block;
}

body.dashboard-index.ltv-no-data #ltvConfigState {
  display: none;
}

body.dashboard-index .di-title-20 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--text-primary);
}

body.dashboard-index .di-text-muted-mb-24 {
  color: var(--text-secondary);
  margin-bottom: 24px;
}

body.dashboard-index .di-inline-flex {
  display: inline-flex;
}

body.dashboard-index .di-hidden-max-50 {
  display: none;
  max-width: 50rem;
  margin: 0 auto;
}

body.dashboard-index .di-card-32 {
  border-radius: 16px;
  padding: 32px;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
}

body.dashboard-index .di-card-step-24 {
  position: relative;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 32px 24px 24px;
  margin-bottom: 24px;
  margin-top: 24px;
}

body.dashboard-index .di-col-center-mb-16 {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 16px;
}

body.dashboard-index .di-text-13-center-mt-8 {
  font-size: 13px;
  color: var(--text-secondary);
  margin-top: 8px;
  text-align: center;
}

body.dashboard-index .di-row-center-8-center {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

body.dashboard-index .di-msg-warning-hidden {
  visibility: hidden;
  text-align: center;
  margin-top: 12px;
  font-size: 12px;
  color: var(--warning);
}

body.dashboard-index .di-value-accent-20 {
  font-size: 20px;
  font-weight: 700;
  color: var(--accent);
}

body.dashboard-index .di-text-13-mb-50 {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 50px;
}

body.dashboard-index .di-histogram-wrap {
  position: relative;
  padding-left: 45px;
  padding-right: 8px;
}

body.dashboard-index .di-axis-labels {
  position: absolute;
  left: 0;
  top: 0;
  height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 500;
  color: var(--text-secondary);
  text-align: right;
  width: 54px;
}

body.dashboard-index .di-row-end-2 {
  display: flex;
  align-items: center;
  gap: 2px;
  justify-content: flex-end;
}

body.dashboard-index .di-help-wrap {
  position: relative;
  cursor: help;
  display: flex;
  align-items: center;
  padding: 4px;
}

body.dashboard-index .di-icon-muted {
  color: var(--text-secondary);
  pointer-events: none;
}

body.dashboard-index .di-tooltip-right {
  display: none;
  position: absolute;
  left: 100%;
  margin-left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 220px;
  padding: 16px;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  z-index: 50;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  text-align: left;
}

body.dashboard-index .di-canvas-180 {
  display: block;
  width: 100%;
  height: 180px;
}

body.dashboard-index .di-slider-area {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 32px;
  cursor: pointer;
  z-index: 10;
}

/* Account-dashboard LTV slider — same pattern as .ce-inline-69 in the
   onboarding flow. The invisible range input used to be 8px tall, which
   made dragging hard on mouse and worse on touch. Expanded to the full
   32px container with a 32x32 invisible thumb hit-target so the whole
   visible track area is draggable. Visible thumb (.di-slider-thumb) is
   positioned by JS and unchanged. */
body.dashboard-index .di-slider-input {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
  z-index: 11;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  touch-action: pan-y;
}
body.dashboard-index .di-slider-input::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
  pointer-events: auto;
}
body.dashboard-index .di-slider-input::-moz-range-thumb {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
}
body.dashboard-index .di-slider-input::-webkit-slider-runnable-track {
  height: 100%;
  background: transparent;
  border: none;
}
body.dashboard-index .di-slider-input::-moz-range-track {
  height: 100%;
  background: transparent;
  border: none;
}

body.dashboard-index .di-slider-thumb {
  position: absolute;
  top: 5px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: white;
  border: 3px solid var(--accent);
  box-shadow:
    0 4px 12px rgba(107, 124, 255, 0.4),
    0 0 0 3px rgba(107, 124, 255, 0.1);
  pointer-events: none;
  transform: translateX(-50%);
}

body.dashboard-index .di-tooltip-pill {
  position: absolute;
  top: -10px;
  left: 13%;
  transform: translateX(-50%);
  padding: 8px 12px;
  border-radius: 6px;
  background: var(--accent);
  color: white;
  font-size: 12px;
  pointer-events: none;
  white-space: nowrap;
}

body.dashboard-index .di-fw-600 {
  font-weight: 600;
}

body.dashboard-index .di-text-11-muted {
  font-size: 11px;
  opacity: 0.9;
  margin-top: 2px;
}

body.dashboard-index .di-axis-x {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
}

body.dashboard-index .di-value-success-20 {
  font-size: 20px;
  font-weight: 700;
  color: var(--success);
}

body.dashboard-index .di-text-13-mb-16 {
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

body.dashboard-index .di-pad-x-8-rel {
  position: relative;
  padding: 0 8px;
}

body.dashboard-index .di-row-between-mb-8-plain {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}

body.dashboard-index .di-slider-track {
  position: relative;
  height: 8px;
  border-radius: 9999px;
  background: var(--bg-surface);
}

body.dashboard-index .di-slider-recommended {
  position: absolute;
  left: 0%;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: rgba(32, 201, 151, 0.1);
}

body.dashboard-index .di-slider-fill {
  position: absolute;
  left: 0;
  height: 100%;
  border-radius: 9999px;
  background: linear-gradient(90deg, var(--success) 0%, #20c997 100%);
}

body.dashboard-index .di-precision-input {
  position: absolute;
  top: 20px;
  left: 8px;
  right: 8px;
  width: calc(100% - 16px);
  height: 8px;
  cursor: pointer;
  opacity: 0;
  z-index: 10;
}

body.dashboard-index .di-precision-thumb {
  position: absolute;
  top: 18px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: white;
  border: 4px solid var(--success);
  box-shadow: 0 2px 8px rgba(32, 201, 151, 0.3);
  pointer-events: none;
}

body.dashboard-index .di-recommended-pill {
  text-align: center;
  margin-top: 16px;
  padding: 8px 16px;
  border-radius: 8px;
  background: rgba(32, 201, 151, 0.1);
  border: 1px solid rgba(32, 201, 151, 0.2);
}

body.dashboard-index .di-text-13-success {
  font-size: 13px;
  color: var(--success);
}

body.dashboard-index .di-card-accent-50 {
  position: relative;
  background: rgba(107, 124, 255, 0.03);
  border: 1.5px solid var(--accent);
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 8px 32px rgba(107, 124, 255, 0.12);
  margin-top: 50px;
}

body.dashboard-index .di-grid-2-24 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
}

body.dashboard-index .di-row-between-start-12 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

body.dashboard-index .di-glow-overlay {
  position: absolute;
  inset: 0;
  border-radius: 8px;
  background: rgba(107, 124, 255, 0.2);
  animation: gentlePulse 2s ease-in-out infinite;
}

body.dashboard-index .di-icon-44 {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(107, 124, 255, 0.15);
}

body.dashboard-index .di-icon-28 {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent);
  box-shadow: 0 2px 8px rgba(107, 124, 255, 0.4);
}

body.dashboard-index .di-title-16-mb-6 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 6px;
  color: var(--text-primary);
}

body.dashboard-index .di-text-12-muted-15 {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-secondary);
}

body.dashboard-index .di-border-left-24 {
  padding-left: 24px;
  border-left: 1px solid var(--border-subtle);
}

body.dashboard-index .di-text-12-500-mb-8 {
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 8px;
  color: var(--text-secondary);
}

body.dashboard-index .di-row-center-12 {
  display: flex;
  align-items: center;
  gap: 12px;
}

body.dashboard-index .di-row-gap-6 {
  display: flex;
  gap: 6px;
}

body.dashboard-index .di-mono-14-success {
  font-size: 14px;
  font-weight: 700;
  font-family: monospace;
  color: var(--success);
}

body.dashboard-index .di-btn-wide {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 18px;
  font-size: 16px;
  font-weight: 600;
  margin-top: 32px;
}

body.dashboard-index .di-ml-8 {
  margin-left: 8px;
}

body.dashboard-index .di-mb-8 {
  margin-bottom: 8px;
}

body.dashboard-index .di-text-500-mb-4 {
  font-weight: 500;
  margin-bottom: 4px;
  color: var(--text-primary);
}

body.dashboard-index .di-mono {
  font-family: monospace;
}

body.dashboard-index .di-text-left {
  text-align: left;
}

body.dashboard-index .di-card-32-12 {
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 32px;
}

body.dashboard-index .di-text-14-600-mb-4 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--text-primary);
}

body.dashboard-index .di-row-center-24 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

body.dashboard-index .di-icon-wrap-crevio-sm {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(107, 124, 255, 0.1);
}

body.dashboard-index .di-max-700 {
  max-width: 700px;
  margin: 0 auto 32px;
}

body.dashboard-index .di-row-between-mb-12 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}

body.dashboard-index .di-text-14-500-muted {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-secondary);
}

body.dashboard-index .di-text-14-accent-600 {
  font-size: 14px;
  font-weight: 600;
  color: var(--accent);
}

body.dashboard-index .di-hidden {
  display: none;
}

body.dashboard-index .di-progress-track-12 {
  position: relative;
  width: 100%;
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(107, 124, 255, 0.05);
}

body.dashboard-index .di-progress-fill-full {
  position: absolute;
  inset: 0;
  width: 100%;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-bright) 100%);
  box-shadow: 0 0 10px rgba(107, 124, 255, 0.5);
}

body.dashboard-index .di-divider-24 {
  border-top: 1px solid var(--border-subtle);
  padding-top: 24px;
  margin-top: 24px;
  margin-bottom: 24px;
}

body.dashboard-index .di-grid-3-16-mb-24 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

body.dashboard-index .di-stat-card-blue {
  text-align: center;
  padding: 16px;
  border-radius: 8px;
  background: rgba(107, 124, 255, 0.05);
  border: 1px solid rgba(107, 124, 255, 0.1);
}

body.dashboard-index .di-stat-card-green {
  text-align: center;
  padding: 16px;
  border-radius: 8px;
  background: rgba(32, 201, 151, 0.05);
  border: 1px solid rgba(32, 201, 151, 0.1);
}

body.dashboard-index .di-stat-card-yellow {
  text-align: center;
  padding: 16px;
  border-radius: 8px;
  background: rgba(246, 195, 68, 0.05);
  border: 1px solid rgba(246, 195, 68, 0.1);
}

body.dashboard-index .di-hidden-mb-24 {
  display: none;
  margin-bottom: 24px;
}

body.dashboard-index .di-center-mb-12 {
  text-align: center;
  margin-bottom: 12px;
}

body.dashboard-index .di-kicker {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

body.dashboard-index .di-grid-3-16 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

body.dashboard-index .di-stat-card-male {
  text-align: center;
  padding: 16px;
  border-radius: 8px;
  background: rgba(59, 130, 246, 0.05);
  border: 1px solid rgba(59, 130, 246, 0.15);
}

body.dashboard-index .di-count-blue {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 4px;
  color: #3b82f6;
}

body.dashboard-index .di-stat-card-female {
  text-align: center;
  padding: 16px;
  border-radius: 8px;
  background: rgba(236, 72, 153, 0.05);
  border: 1px solid rgba(236, 72, 153, 0.15);
}

body.dashboard-index .di-count-pink {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 4px;
  color: #ec4899;
}

body.dashboard-index .di-stat-card-unknown {
  text-align: center;
  padding: 16px;
  border-radius: 8px;
  background: rgba(107, 114, 128, 0.05);
  border: 1px solid rgba(107, 114, 128, 0.15);
}

body.dashboard-index .di-count-muted {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--text-secondary);
}

body.dashboard-index .di-divider-top-24 {
  border-top: 1px solid var(--border-subtle);
  padding-top: 24px;
}

body.dashboard-index .di-mt-24 {
  margin-top: 24px;
}

body.dashboard-index .di-row-center-top-24 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--border-subtle);
}

body.dashboard-index .di-icon-16-success {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(32, 201, 151, 0.1);
}

body.dashboard-index .di-progress-circle-wrap {
  position: relative;
  width: 256px;
  height: 256px;
  margin: 0 auto 48px;
}

body.dashboard-index .di-rotate-neg-90 {
  transform: rotate(-90deg);
}

body.dashboard-index .di-absolute-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

body.dashboard-index .di-pulse-mb-8 {
  margin-bottom: 8px;
  animation: pulse 2s ease-in-out infinite;
}

body.dashboard-index .di-text-14-muted-mb-8 {
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

body.dashboard-index .di-row-between-center {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

body.dashboard-index .di-card-400 {
  max-width: 400px;
  margin: 0 auto 32px;
  padding: 16px;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}

body.dashboard-index .di-text-13-muted-15 {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.5;
}

body.dashboard-index .di-inline-disabled {
  display: inline-flex;
  opacity: 0.5;
  cursor: not-allowed;
}

body.dashboard-index .di-alert-error-700 {
  max-width: 700px;
  margin: 0 auto 24px;
  padding: 16px;
  background: rgba(255, 107, 107, 0.1);
  border: 1px solid var(--danger);
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}

body.dashboard-index .di-card-24-32 {
  margin-bottom: 32px;
  padding: 24px;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}

body.dashboard-index .di-row-center-12-pointer {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  font-weight: 600;
  color: var(--text-primary);
}

body.dashboard-index .di-label-block-12 {
  display: block;
  font-weight: 600;
  margin-bottom: 12px;
  color: var(--text-primary);
}

body.dashboard-index .di-row-between-13 {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 13px;
  color: var(--text-secondary);
}

body.dashboard-index .di-text-center {
  text-align: center;
}

body.dashboard-index .di-text-right {
  text-align: right;
}

body.dashboard-index .di-text-14-muted-mt-12 {
  margin-top: 12px;
  font-size: 14px;
  color: var(--text-secondary);
}

body.dashboard-index .di-empty-cell {
  text-align: center;
  padding: 32px;
  color: var(--text-secondary);
}

body.dashboard-index .di-text-primary {
  color: var(--text-primary);
}

body.dashboard-index .di-form-700-left {
  max-width: 700px;
  margin: 0 auto;
  text-align: left;
}

body.dashboard-index .di-alert-error-hidden {
  display: none;
  margin-bottom: 24px;
  padding: 16px;
  background: rgba(255, 107, 107, 0.1);
  border: 1px solid var(--danger);
  border-radius: 12px;
  align-items: center;
  gap: 12px;
}

body.dashboard-index .di-input-rounded {
  width: 100%;
  padding: 16px;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  color: var(--text-primary);
  font-size: 16px;
  outline: none;
}

body.dashboard-index .di-warning-box {
  display: none;
  margin-top: 8px;
  padding: 12px;
  background: rgba(246, 195, 68, 0.1);
  border: 1px solid var(--warning);
  border-radius: 8px;
  font-size: 14px;
  color: var(--warning);
}

body.dashboard-index .di-select-rounded {
  width: 100%;
  padding: 16px;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  color: var(--text-primary);
  font-size: 16px;
  outline: none;
  cursor: pointer;
}

body.dashboard-index .di-input-icon {
  width: 100%;
  padding: 16px 16px 16px 32px;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  color: var(--text-primary);
  font-size: 16px;
  outline: none;
}

body.dashboard-index .di-input-icon-surface {
  width: 100%;
  padding: 16px 16px 16px 32px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  color: var(--text-primary);
  font-size: 16px;
  outline: none;
}

body.dashboard-index .di-checkbox-20 {
  width: 20px;
  height: 20px;
  cursor: pointer;
}

body.dashboard-index .di-section-hidden {
  display: none;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--border-subtle);
}

body.dashboard-index .di-message-hidden {
  display: none;
  margin-bottom: 24px;
  padding: 16px;
  border-radius: 8px;
}

body.dashboard-index .di-range-accuracy {
  width: 100%;
  height: 8px;
  border-radius: 5px;
  background: linear-gradient(to right, #ff6b6b 0%, #f6c344 50%, #20c997 100%);
  outline: none;
  -webkit-appearance: none;
  cursor: pointer;
}

body.dashboard-index .di-stroke-transition {
  transition: stroke-dashoffset 0.5s ease;
}

body.dashboard-index .di-training-step {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
}

body.dashboard-index .di-training-step.is-complete {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-bright) 100%);
  color: white;
}

body.dashboard-index .di-training-step.is-active {
  background: rgba(107, 124, 255, 0.1);
  color: var(--accent);
}

body.dashboard-index .di-training-step.is-inactive {
  background: var(--bg-base);
  color: var(--text-secondary);
  border: 2px solid var(--border-subtle);
}

body.dashboard-index .di-training-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary);
}

body.dashboard-index .di-training-label.is-active {
  color: var(--text-primary);
  font-weight: 600;
}

body.dashboard-index .di-training-label.is-complete {
  color: var(--text-primary);
}

body.dashboard-index .di-center-pad-32 {
  text-align: center;
  padding: 32px 0;
}

body.dashboard-index .di-icon-top {
  flex-shrink: 0;
  margin-top: 2px;
}

body.dashboard-index .di-pr-14 {
  padding-right: 14px;
}

body.dashboard-index .di-pos-rel {
  position: relative;
}

body.dashboard-index .di-text-600 {
  font-weight: 600;
  color: var(--text-primary);
}

body.dashboard-index .di-line-flex {
  position: relative;
  flex: 1;
  height: 1px;
  background: var(--border-subtle);
}

body.dashboard-index .di-dot {
  position: absolute;
  top: 50%;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  transform: translate(-50%, -50%);
}

body.dashboard-index .di-dot-delay {
  position: absolute;
  top: 50%;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  transform: translate(-50%, -50%);
  animation-delay: 0.66s;
}

body.dashboard-index .di-spinner-hidden {
  display: none;
  animation: spin 1s linear infinite;
}

body.dashboard-index .di-row-start-12 {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

body.dashboard-index .di-text-danger-14 {
  color: var(--danger);
  font-size: 14px;
  font-weight: 500;
}

body.dashboard-index .di-row-center-8-mb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

body.dashboard-index .di-text-accent {
  color: var(--accent);
}

body.dashboard-index .di-title-24 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 4px;
  color: var(--text-primary);
}

body.dashboard-index .di-opacity-70 {
  opacity: 0.7;
}

body.dashboard-index .di-mb-32 {
  margin-bottom: 32px;
}

body.dashboard-index .di-step-badge {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary);
}

body.dashboard-index .di-text-16 {
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary);
}

body.dashboard-index .di-icon-button {
  position: relative;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  padding-top: 2px;
}

body.dashboard-index .di-tooltip {
  display: none;
  position: absolute;
  left: 50%;
  top: calc(100% + 8px);
  transform: translateX(-50%);
  width: 280px;
  padding: 16px;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  z-index: 50;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  text-align: left;
}

body.dashboard-index .di-icon-wrap-success {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  background: rgba(32, 201, 151, 0.1);
}

body.dashboard-index .di-text-14-600 {
  font-size: 14px;
  font-weight: 600;
}

body.dashboard-index .di-max-500 {
  max-width: 500px;
  margin: 0 auto 32px;
}

body.dashboard-index .di-inline-auto {
  width: auto;
  display: inline-flex;
}

body.dashboard-index .di-max-600 {
  max-width: 700px;
  margin: 0 auto 32px;
}

body.dashboard-index .di-icon-wrap-shopify {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(149, 191, 71, 0.1);
}

body.dashboard-index .di-w-100 {
  width: 100%;
}

body.dashboard-index .di-step-title-left {
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 4px 0;
  color: var(--text-primary);
  text-align: left;
}

body.dashboard-index .di-text-12-left {
  font-size: 12px;
  margin: 0;
  color: var(--text-secondary);
  text-align: left;
}

body.dashboard-index .di-center-mb-32 {
  text-align: center;
  margin-bottom: 32px;
}

body.dashboard-index .di-mb-12 {
  margin-bottom: 12px;
}

body.dashboard-index .di-icon-btn-round {
  position: relative;
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  border-radius: 50%;
}

body.dashboard-index .di-tooltip-left {
  display: none;
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  width: 320px;
  max-width: calc(100vw - 48px);
  padding: 16px;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  z-index: 50;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  text-align: left;
}

body.dashboard-index .di-text-12-16 {
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0;
}

body.dashboard-index .di-input-16 {
  width: 100%;
  flex: 1;
  padding: 16px;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  color: var(--text-primary);
  font-size: 16px;
  outline: none;
}

body.dashboard-index .di-center-mb-24 {
  text-align: center;
  margin-bottom: 24px;
}

body.dashboard-index .di-text-12-muted-0 {
  font-size: 12px;
  color: var(--text-secondary);
  margin: 0;
}

body.dashboard-index .di-row-start-8-mb {
  display: flex;
  align-items: start;
  gap: 8px;
  margin-bottom: 8px;
}

body.dashboard-index .di-title-28 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--text-primary);
}

body.dashboard-index .di-desc-16 {
  font-size: 16px;
  margin-bottom: 48px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  color: var(--text-secondary);
}

body.dashboard-index .di-mono-40 {
  font-size: 40px;
  font-weight: 700;
  font-family: monospace;
  color: var(--text-primary);
}

body.dashboard-index .di-text-14-muted {
  font-size: 14px;
  color: var(--text-secondary);
}

body.dashboard-index .di-spin {
  animation: spin 1s linear infinite;
}

body.dashboard-index .di-text-14-muted-0 {
  font-size: 14px;
  color: var(--text-secondary);
  margin: 0;
}

body.dashboard-index .di-mb-16 {
  margin-bottom: 16px;
}

body.dashboard-index .di-card-step-50 {
  position: relative;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 32px 24px 24px;
  margin-bottom: 24px;
  margin-top: 50px;
}

body.dashboard-index .di-row-between-mb-8 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

body.dashboard-index .di-text-12-500 {
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 2px;
  color: var(--text-secondary);
}

body.dashboard-index .di-mono-16 {
  font-size: 16px;
  font-weight: 600;
  font-family: monospace;
  color: var(--text-primary);
}

body.dashboard-index .di-abs-left-16 {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-secondary);
  font-size: 16px;
}

body.dashboard-index .di-pill-success {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 9999px;
  margin-bottom: 24px;
  background: var(--success);
  color: white;
}

body.dashboard-index .di-title-28-mb-24 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 24px;
  color: var(--text-primary);
}

body.dashboard-index .di-text-16-muted-mb-20 {
  font-size: 16px;
  margin-bottom: 20px;
  color: var(--text-secondary);
}

body.dashboard-index .di-card-soft {
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 20px;
  text-align: left;
}

body.dashboard-index .di-text-12-muted-mb-16 {
  font-size: 12px;
  margin-bottom: 16px;
  color: var(--text-secondary);
}

body.dashboard-index .di-progress-track {
  position: relative;
  width: 100%;
  height: 8px;
  border-radius: 9999px;
  overflow: hidden;
  margin-bottom: 12px;
  background: rgba(107, 124, 255, 0.1);
}

body.dashboard-index .di-progress-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(107, 124, 255, 0.3), transparent);
  background-size: 200% 100%;
}

body.dashboard-index .di-progress-dot {
  position: absolute;
  left: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 8px var(--accent);
}

body.dashboard-index .di-pill-success-soft {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 9999px;
  margin-bottom: 24px;
  background: rgba(32, 201, 151, 0.1);
  color: var(--success);
}

body.dashboard-index .di-title-28-mb-32 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 32px;
  color: var(--text-primary);
}

body.dashboard-index .di-card-24 {
  position: relative;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 24px;
}

body.dashboard-index .di-icon-48-mb-16 {
  font-size: 48px;
  margin-bottom: 16px;
}

body.dashboard-index .di-icon-72 {
  width: 4.5rem;
  height: 4.5rem;
}

body.dashboard-index .di-desc-mb-0 {
  margin-bottom: 0;
}

body.dashboard-index .di-alert-error {
  max-width: 600px;
  margin: 0 auto 24px;
  padding: 16px;
  background: rgba(255, 107, 107, 0.1);
  border: 1px solid var(--danger);
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
}

body.dashboard-index .di-form-28 {
  max-width: 28rem;
  margin: 0 auto;
}

body.dashboard-index .di-help-left {
  margin-top: 8px;
  font-size: 12px;
  color: var(--text-secondary);
  text-align: left;
}

body.dashboard-index .di-btn-block-mb-16 {
  width: 100%;
  margin-bottom: 16px;
}

body.dashboard-index .di-info-card {
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
  text-align: left;
}

body.dashboard-index .di-title-14-mb-12 {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
  color: var(--text-primary);
}

body.dashboard-index .di-list-clean-14 {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
  color: var(--text-secondary);
}

body.dashboard-index .di-row-start-8 {
  display: flex;
  align-items: start;
  gap: 8px;
}

body.dashboard-index .di-form-28-col {
  max-width: 28rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.dashboard-index .di-label-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary);
}

body.dashboard-index .di-help-btn {
  position: relative;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
}

body.dashboard-index .di-tooltip-body {
  font-size: 12px;
  line-height: 1.6;
  color: var(--text-secondary);
}

body.dashboard-index .di-text-mono {
  font-family: monospace;
  color: var(--text-primary);
  font-weight: 500;
}

body.dashboard-index .di-list-plain {
  padding-left: 16px;
  margin-bottom: 8px;
}

body.dashboard-index .di-list-item {
  margin-bottom: 4px;
  text-align: left;
}

body.dashboard-index .di-tooltip-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

body.dashboard-index .di-text-16-muted-nowrap {
  color: var(--text-secondary);
  font-size: 16px;
  white-space: nowrap;
}

body.dashboard-index .di-error-center {
  display: none;
  color: var(--danger);
  font-size: 14px;
  text-align: center;
}

body.dashboard-index .di-text-12-center-muted {
  text-align: center;
  color: var(--text-secondary);
  font-size: 12px;
  margin: 0;
}

body.dashboard-index .di-title-14-center {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 16px;
  color: var(--text-primary);
  text-align: center;
}

body.dashboard-index .di-col-gap-16 {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.dashboard-index .di-col-gap-12 {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.dashboard-index .di-live-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 8px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  background: var(--accent);
  color: white;
}

body.dashboard-index .di-row-center-16 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

body.dashboard-index .di-icon-wrap-crevio {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(107, 124, 255, 0.1);
}

body.dashboard-index .di-icon-wrap-meta {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 122, 255, 0.1);
}

body.dashboard-index .di-max-450 {
  max-width: 450px;
  margin: 0 auto 32px;
}

body.dashboard-index .di-text-16-muted-mb-8 {
  font-size: 16px;
  margin-bottom: 8px;
  color: var(--text-secondary);
}

body.dashboard-index .di-text-16-muted {
  font-size: 16px;
  color: var(--text-secondary);
}

body.dashboard-index.onboarding .sidebar {
  display: none;
}

body.dashboard-index.onboarding .main-content {
  margin-left: 0;
}

body.dashboard-index.onboarding #mobile-menu-toggle {
  display: none;
}

body.dashboard-index .setup-container {
  max-width: 1024px;
  margin: 0 auto;
}

body.dashboard-index .setup-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  padding: 48px;
  text-align: center;
  border-top: 0px;
}

body.dashboard-index .setup-icon-wrapper {
  display: flex;
  justify-content: center;
  margin-bottom: 25px;
}

body.dashboard-index .setup-icon {
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.dashboard-index .setup-icon svg {
  width: 4.5rem;
  height: 4.5rem;
}

body.dashboard-index .setup-title {
  font-size: 1.875rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--text-primary);
}

body.dashboard-index .setup-description {
  font-size: 1.125rem;
  margin-bottom: 48px;
  max-width: 672px;
  margin-left: auto;
  margin-right: auto;
  color: var(--text-secondary);
}

body.dashboard-index .progress-bar {
  max-width: 400px;
  margin: 0 auto 48px;
}

body.dashboard-index .progress-label {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
}

body.dashboard-index .progress-track {
  height: 8px;
  background: var(--bg-base);
  border-radius: 999px;
  overflow: hidden;
}

body.dashboard-index .progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--accent), var(--accent-bright));
  border-radius: 999px;
  transition: width 0.3s ease;
}

body.dashboard-index .setup-steps {
  max-width: 600px;
  margin: 0 auto 48px;
  text-align: left;
}

body.dashboard-index .step-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  margin-bottom: 16px;
}

body.dashboard-index .step-item.completed {
  opacity: 0.6;
}

body.dashboard-index .step-item.active {
  border-color: var(--accent);
}

body.dashboard-index .step-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}

body.dashboard-index .step-icon.completed {
  background: var(--success);
  color: white;
}

body.dashboard-index .step-icon.active {
  background: var(--accent);
  color: white;
}

body.dashboard-index .step-icon.locked {
  background: var(--bg-surface);
  border: 2px solid var(--border-subtle);
  color: var(--text-secondary);
}

body.dashboard-index .step-content {
  flex: 1;
}

body.dashboard-index .step-title {
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--text-primary);
}

body.dashboard-index .step-description {
  font-size: 14px;
  color: var(--text-secondary);
}

body.dashboard-index .btn-primary {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-bright) 100%);
  color: white;
  font-weight: 600;
  padding: 18px 48px;
  border-radius: 6px;
  border: none;
  transition: all 0.2s ease;
  box-shadow: 0 4px 16px rgba(107, 124, 255, 0.25);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  margin-top: 1.5rem;
  text-decoration: none;
  gap: 0.5rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

body.dashboard-index .btn-primary:hover {
  background: linear-gradient(135deg, #5f70f0 0%, #7f90ff 100%);
  box-shadow: 0 6px 24px rgba(107, 124, 255, 0.35);
}

body.dashboard-index .metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
  margin-bottom: 32px;
}

body.dashboard-index .metric-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 24px;
}

body.dashboard-index .metric-label {
  font-size: 14px;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

body.dashboard-index .metric-value {
  font-size: 32px;
  font-weight: 700;
  color: var(--text-primary);
}

body.dashboard-index .metric-sublabel {
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 4px;
}

body.dashboard-index .activity-section {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 32px;
}

body.dashboard-index .activity-title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 20px;
}

body.dashboard-index .activity-table {
  width: 100%;
  border-collapse: collapse;
}

body.dashboard-index .activity-table th {
  text-align: left;
  padding: 12px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  border-bottom: 1px solid var(--border-subtle);
}

body.dashboard-index .activity-table td {
  padding: 16px 12px;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 14px;
}

body.dashboard-index .status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

body.dashboard-index .status-success {
  background: rgba(32, 201, 151, 0.1);
  color: var(--success);
}

body.dashboard-index .status-failed {
  background: rgba(255, 107, 107, 0.1);
  color: var(--danger);
}

body.dashboard-index .shop-connect-form {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

body.dashboard-index .shop-input-wrapper {
  max-width: 700px;
  margin: 0 auto 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.dashboard-index .shop-input-form {
  display: flex;
  gap: 12px;
  align-items: stretch;
}

body.dashboard-index .shop-input-group {
  flex: 1;
  display: flex;
  align-items: stretch;
  background: var(--bg-base);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.2s;
}

body.dashboard-index .shop-input-group:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(107, 124, 255, 0.1);
}

body.dashboard-index .shop-input-group input {
  flex: 1;
  padding: 18px 20px;
  border: none;
  background: transparent;
  color: var(--text-primary);
  font-size: 16px;
  outline: none;
}

body.dashboard-index .shop-input-group input::placeholder {
  color: var(--text-secondary);
}

body.dashboard-index input:focus,
body.dashboard-index textarea:focus,
body.dashboard-index select:focus {
  border-color: var(--accent) !important;
  box-shadow: 0px !important;
}

body.dashboard-index .shop-suffix {
  display: flex;
  align-items: center;
  padding: 18px 20px;
  color: var(--text-secondary);
  font-size: 16px;
  background: transparent;
  border-left: 1px solid var(--border-subtle);
  white-space: nowrap;
}

body.dashboard-index .btn-connect {
  padding: 18px 32px;
  white-space: nowrap;
}

body.dashboard-index .shop-input-wrapper a:hover {
  color: var(--accent) !important;
}

body.dashboard-index .progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  z-index: 10;
  flex: 1;
  position: relative;
}

body.dashboard-index .progress-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  transition: all 0.5s;
}

body.dashboard-index .progress-circle svg {
  width: 24px;
  height: 24px;
}

body.dashboard-index .progress-circle.active {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-bright) 100%);
  color: white;
  border: none;
  box-shadow:
    0 0 0 4px rgba(107, 124, 255, 0.2),
    0 4px 12px rgba(107, 124, 255, 0.3);
  transform: scale(1.1);
}

body.dashboard-index .progress-circle.completed {
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-bright) 100%);
  color: white;
  border: none;
  box-shadow: 0 2px 8px rgba(107, 124, 255, 0.2);
}

body.dashboard-index .progress-circle.inactive {
  background: var(--bg-base);
  border: 2px solid var(--border-subtle);
  color: var(--text-secondary);
}

body.dashboard-index .progress-label.inactive {
  color: var(--text-secondary);
}

body.dashboard-index .progress-stepper {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 32px 24px;
  position: relative;
  margin: 0 auto;
}

body.dashboard-index .progress-stepper::before {
  content: "";
  position: absolute;
  top: 56px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: var(--border-subtle);
  z-index: 1;
}

body.dashboard-index .progress-stepper::after {
  content: "";
  position: absolute;
  top: 56px;
  left: 10%;
  height: 2px;
  width: var(--progress-width, 0%);
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-bright) 100%);
  box-shadow: 0 0 12px rgba(107, 124, 255, 0.5);
  z-index: 2;
  transition: width 0.7s ease-out;
}

body.dashboard-index .rolling-dot {
  animation: roll 2s ease-in-out infinite;
}

body.dashboard-index .shimmer-animation {
  animation: shimmer 1.5s infinite;
}

body.dashboard-index .dot-animation-1 {
  animation: travelDots1 2s ease-in-out infinite;
}

body.dashboard-index .dot-animation-2 {
  animation: travelDots2 2s ease-in-out infinite;
}

body.dashboard-index .header-steps {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 16px 16px 0 0;
  border-bottom: 1px solid var(--border-subtle);
}

body.dashboard-index .horizon-btn {
  padding: 12px 20px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--border-subtle);
  cursor: pointer;
}

body.dashboard-index .horizon-btn:hover:not(:disabled) {
  background: rgba(107, 124, 255, 0.05);
}

body.dashboard-index .horizon-btn.active {
  background: rgba(107, 124, 255, 0.1);
  color: var(--accent);
  border: 1.5px solid var(--accent);
  box-shadow: 0 0 0 3px rgba(107, 124, 255, 0.1);
}

body.dashboard-index .horizon-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

body.dashboard-index #accuracy_slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: white;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  border: 3px solid var(--accent);
}

body.dashboard-index #accuracy_slider::-moz-range-thumb {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: white;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  border: 3px solid var(--accent);
}

body.dashboard-index .sync-step svg.spinning {
  animation: spinCircle 1s linear infinite;
}

body.dashboard-index .progress-indeterminate {
  width: 100%;
  height: 12px;
  background: rgba(107, 124, 255, 0.1);
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}

body.dashboard-index .progress-indeterminate::after {
  content: "";
  position: absolute;
  width: 40%;
  height: 100%;
  background: linear-gradient(90deg, var(--accent) 0%, var(--accent-bright) 100%);
  border-radius: 999px;
  animation: oscillate 1.5s ease-in-out infinite;
  box-shadow: 0 0 10px rgba(107, 124, 255, 0.5);
}

body.dashboard-index .sync-estimate {
  margin-top: 16px;
  padding: 16px;
  background: rgba(107, 124, 255, 0.05);
  border: 1px solid rgba(107, 124, 255, 0.1);
  border-radius: 8px;
  text-align: center;
}

body.dashboard-index .sync-estimate-time {
  font-size: 32px;
  font-weight: 700;
  font-family: monospace;
  color: var(--text-primary);
  margin-bottom: 4px;
}

body.dashboard-index .sync-estimate-label {
  font-size: 13px;
  color: var(--text-secondary);
}

body.dashboard-index .training-info-banner {
  max-width: 500px;
  margin: 0 auto 32px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  background: rgba(107, 124, 255, 0.08);
  border: 1px solid rgba(107, 124, 255, 0.2);
  border-radius: 8px;
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

body.dashboard-index .training-info-banner.is-hidden {
  opacity: 0;
  transform: translateY(-6px);
}

@media (max-width: 768px) {
  body.dashboard-index .progress-stepper {
    padding: 24px 16px;
    gap: 8px;
  }

  body.dashboard-index .progress-stepper::before,
  body.dashboard-index .progress-stepper::after {
    top: 42px;
  }

  body.dashboard-index .header-steps {
    border-radius: 0px !important;
  }

  body.dashboard-index .progress-label {
    display: none;
  }

  body.dashboard-index .progress-circle {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  body.dashboard-index .shop-input-wrapper {
    gap: 12px;
  }

  body.dashboard-index .shop-input-form {
    flex-direction: column;
  }

  body.dashboard-index .btn-connect {
    width: 100%;
    justify-content: center;
  }

  body.dashboard-index .shop-suffix {
    padding: 18px 16px;
  }

  body.dashboard-index .shop-input-group input {
    padding: 18px 16px;
  }

  body.dashboard-index .import-progress {
    padding: 6px 12px;
  }

  body.dashboard-index .progress-text {
    display: none;
  }

  body.dashboard-index .setup-card {
    padding: 32px 24px;
    border-radius: 0px;
    border-left: none;
    border-right: none;
  }

  body.dashboard-index .setup-title {
    font-size: 28px;
  }

  body.dashboard-index .dashboard-content {
    padding: 0;
  }

  body.dashboard-index .metrics-grid {
    grid-template-columns: 1fr;
  }

  body.dashboard-index #shopifyHelpTooltip,
  body.dashboard-index #pixelHelpTooltip,
  body.dashboard-index #tokenHelpTooltip {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: calc(100vw - 32px) !important;
    max-width: 400px !important;
  }
}

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

  50% {
    opacity: 0.8;
    transform: scale(0.95);
  }
}

@keyframes roll {
  0% {
    left: -10px;
  }

  50% {
    left: calc(100% - 0px);
  }

  100% {
    left: -10px;
  }
}

@keyframes travelDots1 {
  0% {
    left: 0%;
  }

  50% {
    left: 100%;
  }

  100% {
    left: 0%;
  }
}

@keyframes travelDots2 {
  0% {
    left: 0%;
  }

  50% {
    left: 100%;
  }

  100% {
    left: 0%;
  }
}

@keyframes gentlePulse {
  0%,
  100% {
    opacity: 0.2;
    transform: scale(1);
  }

  50% {
    opacity: 0.4;
    transform: scale(1.05);
  }
}

@keyframes spinCircle {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes oscillate {
  0% {
    left: 0;
  }

  50% {
    left: 60%;
  }

  100% {
    left: 0;
  }
}

/* Login page styles (login/index.php) */

        html[data-theme="dark"] body.login-page {
            --bg-base: #0b0f14;
            --bg-surface: #121821;
            --bg-surface-glass: rgba(18, 24, 33, 0.8);
            --text-primary: #f5f7fa;
            --text-secondary: #a8b0ba;
            --border-subtle: rgba(255, 255, 255, 0.06);
            --accent: #6b7cff;
            --accent-bright: #8b9fff;
            --success: #20c997;
            --warning: #f6c344;
            --danger: #ff6b6b;
        }

        html[data-theme="light"] body.login-page {
            --bg-base: #ffffff;
            --bg-surface: #f8fafb;
            --bg-surface-glass: rgba(248, 250, 251, 0.8);
            --text-primary: #0b0f14;
            --text-secondary: #4a5568;
            --border-subtle: rgba(0, 0, 0, 0.08);
            --accent: #6b7cff;
            --accent-bright: #5a6bee;
            --success: #20c997;
            --warning: #f6c344;
            --danger: #ff6b6b;
        }

        body.login-page, body.login-page * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body.login-page {
            font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            font-size: 18px;
            line-height: 1.6;
            color: var(--text-primary);
            background: var(--bg-base);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        body.login-page,
        body.login-page {
            overflow-x: hidden;
            width: 100%;
        }

        @media (prefers-reduced-motion: reduce) {

            body.login-page, body.login-page *,
            body.login-page *::before,
            body.login-page *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
            }
        }

        body.login-page h1,
        body.login-page h2,
        body.login-page h3,
        body.login-page h4,
        body.login-page h5,
        body.login-page h6 {
            font-family: "Inter", sans-serif;
            font-weight: 700;
            color: var(--text-primary);
            letter-spacing: -0.02em;
        }

        body.login-page h1 {
            font-size: 3.5rem;
            line-height: 1.1;
            font-weight: 800;
        }

        body.login-page h2 {
            font-size: 2.5rem;
            line-height: 1.2;
            font-weight: 700;
        }

        body.login-page h3 {
            font-size: 1.75rem;
            line-height: 1.3;
        }

        @media (max-width: 768px) {
            body.login-page h1 {
                font-size: 2.5rem;
            }

            body.login-page h2 {
                font-size: 2rem;
            }

            body.login-page h3 {
                font-size: 1.5rem;
            }

            body.login-page {
                font-size: 16px;
            }
        }

        body.login-page .mono {
            font-family: "JetBrains Mono", monospace;
        }

        body.login-page .card {
            background: var(--bg-surface);
            border: 1px solid var(--border-subtle);
            border-radius: 16px;
            transition: all 0.2s ease;
        }

        body.login-page .card:hover {
            border-color: var(--accent);
            box-shadow: 0 8px 32px rgba(107, 124, 255, 0.15);
        }

        body.login-page .shadow-premium {
            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
        }

        body.login-page .shadow-accent {
            box-shadow: 0 4px 16px rgba(107, 124, 255, 0.25);
        }

        body.login-page .nav-link {
            color: var(--text-secondary);
            font-weight: 500;
            font-size: 15px;
            transition: color 0.15s ease;
            text-decoration: none;
        }

        body.login-page .nav-link:hover {
            color: var(--text-primary);
        }

        body.login-page .dropdown-item {
            display: block;
            padding: 12px 16px;
            border-radius: 8px;
            transition: all 0.15s ease;
            text-decoration: none;
        }

        body.login-page .dropdown-item:hover {
            background: rgba(107, 124, 255, 0.1);
        }

        body.login-page .footer-link {
            color: var(--text-secondary);
            font-size: 15px;
            transition: color 0.15s ease;
            text-decoration: none;
        }

        body.login-page .footer-link:hover {
            color: var(--text-primary);
        }

        body.login-page .btn-primary {
            background: linear-gradient(135deg, var(--accent) 0%, var(--accent-bright) 100%);
            color: white;
            font-weight: 600;
            padding: 12px 24px;
            border-radius: 12px;
            border: none;
            font-size: 15px;
            transition: all 0.2s ease;
            box-shadow: 0 4px 16px rgba(107, 124, 255, 0.25);
        }

        body.login-page .btn-primary:hover {
            transform: none;
            box-shadow: 0 6px 24px rgba(107, 124, 255, 0.35);
        }

        body.login-page .btn-secondary {
            color: var(--text-secondary);
            font-weight: 500;
            font-size: 15px;
            transition: all 0.15s ease;
        }

        body.login-page .btn-secondary:hover {
            color: var(--text-primary);
            background: rgba(107, 124, 255, 0.1);
        }

        body.login-page .gap-8 {
            gap: 8px;
        }

        body.login-page .gap-12 {
            gap: 12px;
        }

        body.login-page .gap-16 {
            gap: 16px;
        }

        /* Custom classes from inline styles */
        body.login-page .anim-delay-10 {
            animation-delay: 0.2s;
        }

        body.login-page .anim-delay-114 {
            animation-delay: 0s;
            filter: grayscale(100%);
            opacity: 0.5;
        }

        body.login-page .anim-delay-115 {
            animation-delay: 0.05s;
            filter: grayscale(100%);
            opacity: 0.5;
        }

        body.login-page .anim-delay-116 {
            animation-delay: 0.1s;
            filter: grayscale(100%);
            opacity: 0.5;
        }

        body.login-page .anim-delay-117 {
            animation-delay: 0.15s;
            filter: grayscale(100%);
            opacity: 0.5;
        }

        body.login-page .anim-delay-118 {
            animation-delay: 0.2s;
            filter: grayscale(100%);
            opacity: 0.5;
        }

        body.login-page .anim-delay-119 {
            animation-delay: 0.25s;
            filter: grayscale(100%);
            opacity: 0.5;
        }

        body.login-page .anim-delay-120 {
            animation-delay: 0.3s;
            filter: grayscale(100%);
            opacity: 0.5;
        }

        body.login-page .anim-delay-122 {
            animation-delay: 0.05s;
        }

        body.login-page .anim-delay-123 {
            animation-delay: 0.15s;
        }

        body.login-page .anim-delay-124 {
            animation-delay: 0.25s;
        }

        body.login-page .anim-delay-125 {
            animation-delay: 0.35s;
        }

        body.login-page .anim-delay-14 {
            animation-delay: 0.4s;
        }

        body.login-page .anim-delay-51 {
            animation-delay: 0.05s;
            filter: grayscale(100%);
            opacity: 0.4;
        }

        body.login-page .anim-delay-52 {
            animation-delay: 0.1s;
            filter: grayscale(100%);
            opacity: 0.4;
        }

        body.login-page .anim-delay-53 {
            animation-delay: 0.15s;
            filter: grayscale(100%);
            opacity: 0.4;
        }

        body.login-page .anim-delay-54 {
            animation-delay: 0.2s;
            filter: grayscale(100%);
            opacity: 0.4;
        }

        body.login-page .anim-delay-55 {
            animation-delay: 0.25s;
            filter: grayscale(100%);
            opacity: 0.4;
        }

        body.login-page .anim-delay-56 {
            animation-delay: 0.3s;
            filter: grayscale(100%);
            opacity: 0.4;
        }

        body.login-page .anim-delay-57 {
            animation-delay: 0.3s;
        }

        body.login-page .anim-delay-61 {
            animation-delay: 0s;
        }

        body.login-page .anim-delay-8 {
            animation-delay: 0.1s;
        }

        body.login-page .bg-base {
            background: var(--bg-base);
        }

        body.login-page .bg-base-1 {
            background: var(--bg-base);
            border-top: 1px solid var(--border-subtle);
        }

        body.login-page .bg-base-2 {
            background: var(--bg-base);
            border: 1px solid var(--border-subtle);
            color: var(--text-primary);
        }

        body.login-page .bg-base-3 {
            background: var(--bg-base);
            border: 1px solid var(--border-subtle);
        }

        body.login-page .bg-base-4 {
            background: var(--bg-base);
            border: 1px solid var(--border-subtle);
            color: var(--text-secondary);
            font-size: 14px;
            font-weight: 500;
        }

        body.login-page .bg-base-5 {
            background: var(--bg-base);
            border-bottom: 1px solid var(--border-subtle);
        }

        body.login-page .bg-surface {
            background: var(--bg-surface);
        }

        body.login-page .border-top-subtle {
            border-top: 1px solid var(--border-subtle);
        }

        body.login-page .border-top-subtle-1 {
            background: linear-gradient(135deg, rgba(107, 124, 255, 0.03) 0%, rgba(107, 124, 255, 0.01) 100%);
            border-bottom: 1px solid var(--border-subtle);
            border-top: 1px solid var(--border-subtle);
        }

        body.login-page .card-surface {
            background: var(--bg-surface);
            border: 1px solid var(--border-subtle);
        }

        body.login-page .card-surface-1 {
            background: var(--bg-surface);
            border: 1px solid var(--border-subtle);
            color: var(--text-primary);
        }

        body.login-page .card-surface-2 {
            background: var(--bg-surface);
            border: 1px solid var(--border-subtle);
            color: var(--text-secondary);
            font-size: 14px;
            font-weight: 500;
        }

        body.login-page .card-surface-3 {
            background: var(--bg-surface);
            border-top: 1px solid var(--border-subtle);
        }

        body.login-page .nav-transparent {
            backdrop-filter: none;
            background: transparent;
            border-bottom: none;
        }

        body.login-page .style-100 {
            background: linear-gradient(to right, var(--border-subtle) 0%, var(--border-subtle) 50%, var(--accent) 50%, var(--accent) 100%);
        }

        body.login-page .style-101 {
            background: rgba(107, 124, 255, 0.05);
            border: 1px solid var(--accent);
        }

        body.login-page .style-102 {
            background: rgba(32, 201, 151, 0.15);
            border: 1px solid rgba(32, 201, 151, 0.3);
            transform: scale(1);
        }

        body.login-page .style-103 {
            background: rgba(246, 195, 68, 0.15);
            border: 1px solid rgba(246, 195, 68, 0.3);
            transform: scale(1);
        }

        body.login-page .style-104 {
            color: var(--warning);
        }

        body.login-page .style-105 {
            background: rgba(255, 152, 67, 0.15);
            border: 1px solid rgba(255, 152, 67, 0.3);
            transform: scale(1);
        }

        body.login-page .style-106 {
            color: rgb(255, 152, 67);
        }

        body.login-page .style-107 {
            background: rgba(255, 107, 107, 0.15);
            border: 1px solid rgba(255, 107, 107, 0.3);
            transform: scale(1);
        }

        body.login-page .style-108 {
            background: rgba(255, 152, 67, 0.15);
            border: 2px solid rgba(255, 152, 67, 0.3);
            transform: scale(1.05);
        }

        body.login-page .style-109 {
            background: rgb(255, 152, 67);
        }

        body.login-page .style-110 {
            background: rgba(107, 124, 255, 0.08);
        }

        body.login-page .style-111 {
            background: rgba(246, 195, 68, 0.1);
            color: var(--warning);
        }

        body.login-page .style-112 {
            background: linear-gradient(135deg, var(--accent) 0%, var(--accent-bright) 100%);
        }

        body.login-page .style-127 {
            color: white;
        }

        body.login-page .style-128 {
            color: rgba(255, 255, 255, 0.9);
            font-size: 20px;
        }

        body.login-page .style-129 {
            background: white;
            box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 16px;
            color: var(--accent);
        }

        body.login-page .style-13 {
            color: var(--success);
        }

        body.login-page .style-130 {
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.3);
            color: white;
        }

        body.login-page .style-15 {
            opacity: 1;
            transform: translateY(0px);
            transition: 0.6s;
        }

        body.login-page .style-16 {
            color: var(--accent);
        }

        body.login-page .style-17 {
            height: 200px;
        }

        body.login-page .style-18 {
            opacity: 1;
            transition: opacity 0.8s;
        }

        body.login-page .style-19 {
            transition: stroke-dasharray 2s;
        }

        body.login-page .style-20 {
            transition: stroke-dashoffset 1.5s;
        }

        body.login-page .style-21 {
            cursor: pointer;
            transition: r 0.3s;
        }

        body.login-page .style-22 {
            background: var(--accent);
        }

        body.login-page .style-23 {
            background: var(--success);
        }

        body.login-page .style-24 {
            opacity: 1;
            transform: translateY(0px);
            transition: 0.6s 0.2s;
        }

        body.login-page .style-25 {
            background: rgba(32, 201, 151, 0.1);
            color: var(--success);
        }

        body.login-page .style-26 {
            height: 140px;
        }

        body.login-page .style-27 {
            transition: stroke-dasharray 1s 0.3s;
        }

        body.login-page .style-28 {
            transition: stroke-dasharray 1.5s 0.4s;
        }

        body.login-page .style-29 {
            fill: var(--text-primary);
            font-size: 32px;
            font-weight: bold;
        }

        body.login-page .style-30 {
            fill: var(--text-secondary);
            font-size: 12px;
        }

        body.login-page .style-31 {
            height: 32px;
        }

        body.login-page .style-32 {
            background: var(--success);
            height: 76%;
            opacity: 0.6;
            transition: height 0.3s 0.5s;
        }

        body.login-page .style-33 {
            background: var(--success);
            height: 84%;
            opacity: 0.6;
            transition: height 0.3s 0.55s;
        }

        body.login-page .style-34 {
            background: var(--warning);
            height: 90%;
            opacity: 0.6;
            transition: height 0.3s 0.6s;
        }

        body.login-page .style-35 {
            background: var(--success);
            height: 82%;
            opacity: 0.6;
            transition: height 0.3s 0.65s;
        }

        body.login-page .style-36 {
            background: var(--success);
            height: 78%;
            opacity: 0.6;
            transition: height 0.3s 0.7s;
        }

        body.login-page .style-37 {
            background: var(--success);
            height: 86%;
            opacity: 0.6;
            transition: height 0.3s 0.75s;
        }

        body.login-page .style-38 {
            background: var(--success);
            height: 84%;
            opacity: 0.6;
            transition: height 0.3s 0.8s;
        }

        body.login-page .style-39 {
            background: var(--success);
            height: 80%;
            opacity: 0.6;
            transition: height 0.3s 0.85s;
        }

        body.login-page .style-40 {
            background: var(--success);
            height: 76%;
            opacity: 0.6;
            transition: height 0.3s 0.9s;
        }

        body.login-page .style-41 {
            background: var(--success);
            height: 82%;
            opacity: 0.6;
            transition: height 0.3s 0.95s;
        }

        body.login-page .style-42 {
            background: var(--success);
            height: 84%;
            opacity: 0.6;
            transition: height 0.3s 1s;
        }

        body.login-page .style-43 {
            background: var(--success);
            height: 88%;
            opacity: 0.6;
            transition: height 0.3s 1.05s;
        }

        body.login-page .style-44 {
            background: var(--success);
            height: 86%;
            opacity: 0.6;
            transition: height 0.3s 1.1s;
        }

        body.login-page .style-45 {
            background: var(--success);
            height: 84%;
            opacity: 0.6;
            transition: height 0.3s 1.15s;
        }

        body.login-page .style-47 {
            background: linear-gradient(135deg, rgba(107, 124, 255, 0.05) 0%, rgba(107, 124, 255, 0.02) 100%);
            border: 1px solid var(--accent);
            opacity: 1;
            transform: translateY(0px);
            transition: 0.6s 0.3s;
        }

        body.login-page .style-48 {
            background: var(--accent);
            color: white;
        }

        body.login-page .style-62 {
            background: rgba(107, 124, 255, 0.1);
        }

        body.login-page .style-64 {
            background: rgba(255, 107, 107, 0.1);
        }

        body.login-page .style-65 {
            color: var(--danger);
        }

        body.login-page .style-66 {
            background: var(--border-subtle);
        }

        body.login-page .style-67 {
            background: var(--danger);
            width: 60%;
        }

        body.login-page .style-68 {
            background: var(--text-secondary);
            height: 52.5%;
            opacity: 0.6;
        }

        body.login-page .style-69 {
            background: var(--danger);
            height: 72.5%;
            opacity: 0.6;
        }

        body.login-page .style-70 {
            background: var(--text-secondary);
            height: 48.75%;
            opacity: 0.6;
        }

        body.login-page .style-71 {
            background: var(--danger);
            height: 88.75%;
            opacity: 0.6;
        }

        body.login-page .style-72 {
            background: var(--text-secondary);
            height: 56.25%;
            opacity: 0.6;
        }

        body.login-page .style-73 {
            background: var(--danger);
            height: 77.5%;
            opacity: 0.6;
        }

        body.login-page .style-74 {
            background: var(--text-secondary);
            height: 47.5%;
            opacity: 0.6;
        }

        body.login-page .style-75 {
            background: var(--danger);
            height: 68.75%;
            opacity: 0.6;
        }

        body.login-page .style-76 {
            background: var(--text-secondary);
            height: 60%;
            opacity: 0.6;
        }

        body.login-page .style-77 {
            background: var(--danger);
            height: 86.25%;
            opacity: 0.6;
        }

        body.login-page .style-78 {
            background: var(--text-secondary);
            height: 51.25%;
            opacity: 0.6;
        }

        body.login-page .style-79 {
            background: var(--danger);
            height: 73.75%;
            opacity: 0.6;
        }

        body.login-page .style-80 {
            background: var(--text-secondary);
            height: 55%;
            opacity: 0.6;
        }

        body.login-page .style-81 {
            background: var(--danger);
            height: 82.5%;
            opacity: 0.6;
        }

        body.login-page .style-82 {
            background: var(--text-secondary);
            height: 58.75%;
            opacity: 0.6;
        }

        body.login-page .style-83 {
            background: var(--danger);
            height: 76.25%;
            opacity: 0.6;
        }

        body.login-page .style-84 {
            background: var(--danger);
        }

        body.login-page .style-85 {
            background: linear-gradient(135deg, rgba(107, 124, 255, 0.05) 0%, rgba(107, 124, 255, 0.02) 100%);
            border: 1px solid var(--accent);
        }

        body.login-page .style-86 {
            background: rgba(32, 201, 151, 0.2);
            left: 30%;
            right: 10%;
        }

        body.login-page .style-87 {
            background: var(--accent);
            box-shadow: rgba(107, 124, 255, 0.2) 0px 0px 0px 4px;
            left: 52%;
        }

        body.login-page .style-88 {
            background: var(--success);
            height: 60%;
            opacity: 0.7;
        }

        body.login-page .style-89 {
            background: var(--success);
            height: 56.25%;
            opacity: 0.7;
        }

        body.login-page .style-90 {
            background: var(--success);
            height: 58.75%;
            opacity: 0.7;
        }

        body.login-page .style-91 {
            background: var(--success);
            height: 57.5%;
            opacity: 0.7;
        }

        body.login-page .style-92 {
            background: var(--success);
            height: 55%;
            opacity: 0.7;
        }

        body.login-page .style-93 {
            background: var(--success);
            height: 53.75%;
            opacity: 0.7;
        }

        body.login-page .style-96 {
            height: 180px;
        }

        body.login-page .style-97 {
            background: rgba(32, 201, 151, 0.08);
            border: 1px solid rgba(32, 201, 151, 0.15);
        }

        body.login-page .style-98 {
            fill: var(--warning);
            font-size: 11px;
            font-weight: 600;
        }

        body.login-page .style-99 {
            background: var(--warning);
        }

        body.login-page .text-primary {
            color: var(--text-primary);
        }

        body.login-page .text-primary-tight {
            color: var(--text-primary);
            letter-spacing: -0.03em;
        }

        body.login-page .text-secondary {
            color: var(--text-secondary);
        }

        body.login-page .text-secondary-1 {
            color: var(--text-secondary);
            line-height: 1.7;
        }

        body.login-page .text-secondary-anim-12 {
            animation-delay: 0.3s;
            color: var(--text-secondary);
        }

        body.login-page .text-secondary-lg {
            color: var(--text-secondary);
            font-size: 20px;
        }

        body.login-page .text-secondary-lg-1 {
            color: var(--text-secondary);
            font-size: 19px;
        }

        body.login-page, body.login-page *,
        body.login-page ::before,
        body.login-page ::after {
            --tw-border-spacing-x: 0;
            --tw-border-spacing-y: 0;
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-rotate: 0;
            --tw-skew-x: 0;
            --tw-skew-y: 0;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-pan-x: ;
            --tw-pan-y: ;
            --tw-pinch-zoom: ;
            --tw-scroll-snap-strictness: proximity;
            --tw-gradient-from-position: ;
            --tw-gradient-via-position: ;
            --tw-gradient-to-position: ;
            --tw-ordinal: ;
            --tw-slashed-zero: ;
            --tw-numeric-figure: ;
            --tw-numeric-spacing: ;
            --tw-numeric-fraction: ;
            --tw-ring-inset: ;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-color: rgb(59 130 246 / 0.5);
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-ring-shadow: 0 0 #0000;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-colored: 0 0 #0000;
            --tw-blur: ;
            --tw-brightness: ;
            --tw-contrast: ;
            --tw-grayscale: ;
            --tw-hue-rotate: ;
            --tw-invert: ;
            --tw-saturate: ;
            --tw-sepia: ;
            --tw-drop-shadow: ;
            --tw-backdrop-blur: ;
            --tw-backdrop-brightness: ;
            --tw-backdrop-contrast: ;
            --tw-backdrop-grayscale: ;
            --tw-backdrop-hue-rotate: ;
            --tw-backdrop-invert: ;
            --tw-backdrop-opacity: ;
            --tw-backdrop-saturate: ;
            --tw-backdrop-sepia: ;
            --tw-contain-size: ;
            --tw-contain-layout: ;
            --tw-contain-paint: ;
            --tw-contain-style: ;
        }

        body.login-page ::backdrop {
            --tw-border-spacing-x: 0;
            --tw-border-spacing-y: 0;
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-rotate: 0;
            --tw-skew-x: 0;
            --tw-skew-y: 0;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-pan-x: ;
            --tw-pan-y: ;
            --tw-pinch-zoom: ;
            --tw-scroll-snap-strictness: proximity;
            --tw-gradient-from-position: ;
            --tw-gradient-via-position: ;
            --tw-gradient-to-position: ;
            --tw-ordinal: ;
            --tw-slashed-zero: ;
            --tw-numeric-figure: ;
            --tw-numeric-spacing: ;
            --tw-numeric-fraction: ;
            --tw-ring-inset: ;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-color: rgb(59 130 246 / 0.5);
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-ring-shadow: 0 0 #0000;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-colored: 0 0 #0000;
            --tw-blur: ;
            --tw-brightness: ;
            --tw-contrast: ;
            --tw-grayscale: ;
            --tw-hue-rotate: ;
            --tw-invert: ;
            --tw-saturate: ;
            --tw-sepia: ;
            --tw-drop-shadow: ;
            --tw-backdrop-blur: ;
            --tw-backdrop-brightness: ;
            --tw-backdrop-contrast: ;
            --tw-backdrop-grayscale: ;
            --tw-backdrop-hue-rotate: ;
            --tw-backdrop-invert: ;
            --tw-backdrop-opacity: ;
            --tw-backdrop-saturate: ;
            --tw-backdrop-sepia: ;
            --tw-contain-size: ;
            --tw-contain-layout: ;
            --tw-contain-paint: ;
            --tw-contain-style: ;
        }

        body.login-page, body.login-page *,
        body.login-page ::after,
        body.login-page ::before {
            box-sizing: border-box;
            border-width: 0;
            border-style: solid;
            border-color: #e5e7eb;
        }

        body.login-page ::after,
        body.login-page ::before {
            --tw-content: "";
        }

        body.login-page :host,
        body.login-page {
            line-height: 1.5;
            -webkit-text-size-adjust: 100%;
            -moz-tab-size: 4;
            tab-size: 4;
            font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            font-feature-settings: normal;
            font-variation-settings: normal;
            -webkit-tap-highlight-color: transparent;
        }

        body.login-page {
            margin: 0;
            line-height: inherit;
        }

        body.login-page hr {
            height: 0;
            color: inherit;
            border-top-width: 1px;
        }

        body.login-page abbr:where([title]) {
            -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
        }

        body.login-page h1,
        body.login-page h2,
        body.login-page h3,
        body.login-page h4,
        body.login-page h5,
        body.login-page h6 {
            font-size: inherit;
            font-weight: inherit;
        }

        body.login-page a {
            color: inherit;
            text-decoration: inherit;
        }

        body.login-page b,
        body.login-page strong {
            font-weight: bolder;
        }

        body.login-page code,
        body.login-page kbd,
        body.login-page pre,
        body.login-page samp {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
            font-feature-settings: normal;
            font-variation-settings: normal;
            font-size: 1em;
        }

        body.login-page small {
            font-size: 80%;
        }

        body.login-page sub,
        body.login-page sup {
            font-size: 75%;
            line-height: 0;
            position: relative;
            vertical-align: baseline;
        }

        body.login-page sub {
            bottom: -0.25em;
        }

        body.login-page sup {
            top: -0.5em;
        }

        body.login-page table {
            text-indent: 0;
            border-color: inherit;
            border-collapse: collapse;
        }

        body.login-page button,
        body.login-page input,
        body.login-page optgroup,
        body.login-page select,
        body.login-page textarea {
            font-family: inherit;
            font-feature-settings: inherit;
            font-variation-settings: inherit;
            font-size: 100%;
            font-weight: inherit;
            line-height: inherit;
            letter-spacing: inherit;
            color: inherit;
            margin: 0;
            padding: 0;
        }

        body.login-page button,
        body.login-page select {
            text-transform: none;
        }

        body.login-page button,
        body.login-page input:where([type="button"]),
        body.login-page input:where([type="reset"]),
        body.login-page input:where([type="submit"]) {
            -webkit-appearance: button;
            background-color: transparent;
            background-image: none;
        }

        body.login-page :-moz-focusring {
            outline: auto;
        }

        body.login-page :-moz-ui-invalid {
            box-shadow: none;
        }

        body.login-page progress {
            vertical-align: baseline;
        }

        body.login-page ::-webkit-inner-spin-button,
        body.login-page ::-webkit-outer-spin-button {
            height: auto;
        }

        body.login-page [type="search"] {
            -webkit-appearance: textfield;
            outline-offset: -2px;
        }

        body.login-page ::-webkit-search-decoration {
            -webkit-appearance: none;
        }

        body.login-page ::-webkit-file-upload-button {
            -webkit-appearance: button;
            font: inherit;
        }

        body.login-page summary {
            display: list-item;
        }

        body.login-page blockquote,
        body.login-page dd,
        body.login-page dl,
        body.login-page figure,
        body.login-page h1,
        body.login-page h2,
        body.login-page h3,
        body.login-page h4,
        body.login-page h5,
        body.login-page h6,
        body.login-page hr,
        body.login-page p,
        body.login-page pre {
            margin: 0;
        }

        body.login-page fieldset {
            margin: 0;
            padding: 0;
        }

        body.login-page legend {
            padding: 0;
        }

        body.login-page menu,
        body.login-page ol,
        body.login-page ul {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        body.login-page dialog {
            padding: 0;
        }

        body.login-page textarea {
            resize: vertical;
        }

        body.login-page input::placeholder,
        body.login-page textarea::placeholder {
            opacity: 1;
            color: #9ca3af;
        }

        body.login-page [role="button"],
        body.login-page button {
            cursor: pointer;
        }

        body.login-page :disabled {
            cursor: default;
        }

        body.login-page audio,
        body.login-page canvas,
        body.login-page embed,
        body.login-page iframe,
        body.login-page img,
        body.login-page object,
        body.login-page svg,
        body.login-page video {
            display: block;
            vertical-align: middle;
        }

        body.login-page img,
        body.login-page video {
            max-width: 100%;
            height: auto;
        }

        body.login-page [hidden]:where(:not([hidden="until-found"])) {
            display: none;
        }

        body.login-page .invisible {
            visibility: hidden;
        }

        body.login-page .fixed {
            position: fixed;
        }

        body.login-page .absolute {
            position: absolute;
        }

        body.login-page .relative {
            position: relative;
        }

        body.login-page .inset-0 {
            inset: 0px;
        }

        body.login-page .inset-y-0 {
            top: 0px;
            bottom: 0px;
        }

        body.login-page .top-0 {
            top: 0px;
        }

        body.login-page .bottom-0 {
            bottom: 0px;
        }

        body.login-page .left-0 {
            left: 0px;
        }

        body.login-page .right-0 {
            right: 0px;
        }

        body.login-page .top-1\/2 {
            top: 50%;
        }

        body.login-page .top-full {
            top: 100%;
        }

        body.login-page .z-\[100\] {
            z-index: 100;
        }

        body.login-page .z-50 {
            z-index: 50;
        }

        body.login-page .order-1 {
            order: 1;
        }

        body.login-page .order-2 {
            order: 2;
        }

        body.login-page .col-span-2 {
            grid-column: span 2 / span 2;
        }

        body.login-page .mx-auto {
            margin-left: auto;
            margin-right: auto;
        }

        body.login-page .mb-1 {
            margin-bottom: 0.25rem;
        }

        body.login-page .mb-12 {
            margin-bottom: 3rem;
        }

        body.login-page .mb-16 {
            margin-bottom: 4rem;
        }

        body.login-page .mb-2 {
            margin-bottom: 0.5rem;
        }

        body.login-page .mb-24 {
            margin-bottom: 6rem;
        }

        body.login-page .mb-3 {
            margin-bottom: 0.75rem;
        }

        body.login-page .mb-4 {
            margin-bottom: 1rem;
        }

        body.login-page .mb-6 {
            margin-bottom: 1.5rem;
        }

        body.login-page .mb-8 {
            margin-bottom: 2rem;
        }

        body.login-page .ml-2 {
            margin-left: 0.5rem;
        }

        body.login-page .mr-2 {
            margin-right: 0.5rem;
        }

        body.login-page .mt-1 {
            margin-top: 0.25rem;
        }

        body.login-page .mt-16 {
            margin-top: 4rem;
        }

        body.login-page .mt-2 {
            margin-top: 0.5rem;
        }

        body.login-page .mt-3 {
            margin-top: 0.75rem;
        }

        body.login-page .mt-4 {
            margin-top: 1rem;
        }

        body.login-page .mt-6 {
            margin-top: 1.5rem;
        }

        body.login-page .flex {
            display: flex;
        }

        body.login-page .inline-flex {
            display: inline-flex;
        }

        body.login-page .grid {
            display: grid;
        }

        body.login-page .hidden {
            display: none;
        }

        body.login-page .h-8 {
            height: 2rem;
        }

        body.login-page .h-1\.5 {
            height: 0.375rem;
        }

        body.login-page .h-10 {
            height: 2.5rem;
        }

        body.login-page .h-12 {
            height: 3rem;
        }

        body.login-page .h-14 {
            height: 3.5rem;
        }

        body.login-page .h-16 {
            height: 4rem;
        }

        body.login-page .h-2 {
            height: 0.5rem;
        }

        body.login-page .h-20 {
            height: 5rem;
        }

        body.login-page .h-24 {
            height: 6rem;
        }

        body.login-page .h-3 {
            height: 0.75rem;
        }

        body.login-page .h-32 {
            height: 8rem;
        }

        body.login-page .h-4 {
            height: 1rem;
        }

        body.login-page .h-5 {
            height: 1.25rem;
        }

        body.login-page .h-6 {
            height: 1.5rem;
        }

        body.login-page .h-7 {
            height: 1.75rem;
        }

        body.login-page .h-9 {
            height: 2.25rem;
        }

        body.login-page .h-full {
            height: 100%;
        }

        body.login-page .max-h-screen {
            max-height: 100vh;
        }

        body.login-page .min-h-screen {
            min-height: 100vh;
        }

        body.login-page .w-8 {
            width: 2rem;
        }

        body.login-page .w-full {
            width: 100%;
        }

        body.login-page .w-1\.5 {
            width: 0.375rem;
        }

        body.login-page .w-10 {
            width: 2.5rem;
        }

        body.login-page .w-12 {
            width: 3rem;
        }

        body.login-page .w-14 {
            width: 3.5rem;
        }

        body.login-page .w-16 {
            width: 4rem;
        }

        body.login-page .w-2 {
            width: 0.5rem;
        }

        body.login-page .w-3 {
            width: 0.75rem;
        }

        body.login-page .w-4 {
            width: 1rem;
        }

        body.login-page .w-5 {
            width: 1.25rem;
        }

        body.login-page .w-6 {
            width: 1.5rem;
        }

        body.login-page .w-64 {
            width: 16rem;
        }

        body.login-page .w-7 {
            width: 1.75rem;
        }

        body.login-page .max-w-2xl {
            max-width: 42rem;
        }

        body.login-page .max-w-md {
            max-width: 28rem;
        }

        body.login-page .max-w-3xl {
            max-width: 48rem;
        }

        body.login-page .max-w-4xl {
            max-width: 56rem;
        }

        body.login-page .max-w-5xl {
            max-width: 64rem;
        }

        body.login-page .max-w-6xl {
            max-width: 72rem;
        }

        body.login-page .max-w-7xl {
            max-width: 80rem;
        }

        body.login-page .flex-1 {
            flex: 1 1 0%;
        }

        body.login-page .flex-shrink-0 {
            flex-shrink: 0;
        }

        body.login-page .border-collapse {
            border-collapse: collapse;
        }

        body.login-page .-translate-x-10 {
            --tw-translate-x: -2.5rem;
            transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        }

        body.login-page .-translate-x-12 {
            --tw-translate-x: -3rem;
            transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        }

        body.login-page .-translate-y-1\/2 {
            --tw-translate-y: -50%;
            transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        }

        body.login-page .translate-y-6 {
            --tw-translate-y: 1.5rem;
            transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        }

        body.login-page .transform {
            transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        }

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

        body.login-page .cursor-pointer {
            cursor: pointer;
        }

        body.login-page .appearance-none {
            -webkit-appearance: none;
            appearance: none;
        }

        body.login-page .grid-cols-2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        body.login-page .grid-cols-3 {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        body.login-page .grid-cols-4 {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        body.login-page .flex-col {
            flex-direction: column;
        }

        body.login-page .flex-col-reverse {
            flex-direction: column-reverse;
        }

        body.login-page .flex-wrap {
            flex-wrap: wrap;
        }

        body.login-page .items-start {
            align-items: flex-start;
        }

        body.login-page .items-end {
            align-items: flex-end;
        }

        body.login-page .items-center {
            align-items: center;
        }

        body.login-page .justify-center {
            justify-content: center;
        }

        body.login-page .justify-between {
            justify-content: space-between;
        }

        body.login-page .gap-1 {
            gap: 0.25rem;
        }

        body.login-page .gap-12 {
            gap: 3rem;
        }

        body.login-page .gap-16 {
            gap: 4rem;
        }

        body.login-page .gap-2 {
            gap: 0.5rem;
        }

        body.login-page .gap-3 {
            gap: 0.75rem;
        }

        body.login-page .gap-4 {
            gap: 1rem;
        }

        body.login-page .gap-6 {
            gap: 1.5rem;
        }

        body.login-page .gap-8 {
            gap: 2rem;
        }

        body.login-page .space-y-2> :not([hidden])~ :not([hidden]) {
            --tw-space-y-reverse: 0;
            margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
            margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
        }

        body.login-page .space-y-3> :not([hidden])~ :not([hidden]) {
            --tw-space-y-reverse: 0;
            margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
            margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
        }

        body.login-page .space-y-4> :not([hidden])~ :not([hidden]) {
            --tw-space-y-reverse: 0;
            margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
            margin-bottom: calc(1rem * var(--tw-space-y-reverse));
        }

        body.login-page .space-y-6> :not([hidden])~ :not([hidden]) {
            --tw-space-y-reverse: 0;
            margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
            margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
        }

        body.login-page .space-y-8> :not([hidden])~ :not([hidden]) {
            --tw-space-y-reverse: 0;
            margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
            margin-bottom: calc(2rem * var(--tw-space-y-reverse));
        }

        body.login-page .overflow-hidden {
            overflow: hidden;
        }

        body.login-page .overflow-x-auto {
            overflow-x: auto;
        }

        body.login-page .whitespace-nowrap {
            white-space: nowrap;
        }

        body.login-page .rounded-full {
            border-radius: 9999px;
        }

        body.login-page .rounded {
            border-radius: 0.25rem;
        }

        body.login-page .rounded-2xl {
            border-radius: 1rem;
        }

        body.login-page .rounded-lg {
            border-radius: 0.5rem;
        }

        body.login-page .rounded-md {
            border-radius: 0.375rem;
        }

        body.login-page .rounded-xl {
            border-radius: 0.75rem;
        }

        body.login-page .rounded-t {
            border-top-left-radius: 0.25rem;
            border-top-right-radius: 0.25rem;
        }

        body.login-page .bg-gradient-to-br {
            background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
        }

        body.login-page .via-transparent {
            --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
            --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
        }

        body.login-page .to-transparent {
            --tw-gradient-to: transparent var(--tw-gradient-to-position);
        }

        body.login-page .object-contain {
            object-fit: contain;
        }

        body.login-page .p-4 {
            padding: 1rem;
        }

        body.login-page .p-12 {
            padding: 3rem;
        }

        body.login-page .p-2 {
            padding: 0.5rem;
        }

        body.login-page .p-3 {
            padding: 0.75rem;
        }

        body.login-page .p-6 {
            padding: 1.5rem;
        }

        body.login-page .p-8 {
            padding: 2rem;
        }

        body.login-page .px-10 {
            padding-left: 2.5rem;
            padding-right: 2.5rem;
        }

        body.login-page .px-2 {
            padding-left: 0.5rem;
            padding-right: 0.5rem;
        }

        body.login-page .px-3 {
            padding-left: 0.75rem;
            padding-right: 0.75rem;
        }

        body.login-page .px-4 {
            padding-left: 1rem;
            padding-right: 1rem;
        }

        body.login-page .px-5 {
            padding-left: 1.25rem;
            padding-right: 1.25rem;
        }

        body.login-page .px-6 {
            padding-left: 1.5rem;
            padding-right: 1.5rem;
        }

        body.login-page .px-8 {
            padding-left: 2rem;
            padding-right: 2rem;
        }

        body.login-page .py-0\.5 {
            padding-top: 0.125rem;
            padding-bottom: 0.125rem;
        }

        body.login-page .py-1 {
            padding-top: 0.25rem;
            padding-bottom: 0.25rem;
        }

        body.login-page .py-2 {
            padding-top: 0.5rem;
            padding-bottom: 0.5rem;
        }

        body.login-page .py-24 {
            padding-top: 6rem;
            padding-bottom: 6rem;
        }

        body.login-page .py-3 {
            padding-top: 0.75rem;
            padding-bottom: 0.75rem;
        }

        body.login-page .py-32 {
            padding-top: 8rem;
            padding-bottom: 8rem;
        }

        body.login-page .py-6 {
            padding-top: 1.5rem;
            padding-bottom: 1.5rem;
        }

        body.login-page .py-7 {
            padding-top: 1.75rem;
            padding-bottom: 1.75rem;
        }

        body.login-page .pt-20 {
            padding-top: 5rem;
        }

        body.login-page.privacy-page .pt-20 {
            padding-top: 10rem;
        }

        body.login-page .pt-4 {
            padding-top: 1rem;
        }

        body.login-page .pt-6 {
            padding-top: 1.5rem;
        }

        body.login-page .pt-8 {
            padding-top: 2rem;
            margin-bottom: 2rem;
        }

        body.login-page .text-left {
            text-align: left;
        }

        body.login-page .text-center {
            text-align: center;
        }

        body.login-page .text-right {
            text-align: right;
        }

        body.login-page .text-2xl {
            font-size: 1.5rem;
            line-height: 2rem;
        }

        body.login-page .text-3xl {
            font-size: 1.875rem;
            line-height: 2.25rem;
        }

        body.login-page .text-4xl {
            font-size: 2.25rem;
            line-height: 2.5rem;
        }

        body.login-page .text-5xl {
            font-size: 3rem;
            line-height: 1;
        }

        body.login-page .text-6xl {
            font-size: 3.75rem;
            line-height: 1;
        }

        body.login-page .text-base {
            font-size: 1rem;
            line-height: 1.5rem;
        }

        body.login-page .text-lg {
            font-size: 1.125rem;
            line-height: 1.75rem;
        }

        body.login-page .text-sm {
            font-size: 0.875rem;
            line-height: 1.25rem;
        }

        body.login-page .text-xl {
            font-size: 1.25rem;
            line-height: 1.75rem;
        }

        body.login-page .text-xs {
            font-size: 0.75rem;
            line-height: 1rem;
        }

        body.login-page .font-bold {
            font-weight: 700;
        }

        body.login-page .font-medium {
            font-weight: 500;
        }

        body.login-page .font-normal {
            font-weight: 400;
        }

        body.login-page .font-semibold {
            font-weight: 600;
        }

        body.login-page .leading-relaxed {
            line-height: 1.625;
        }

        body.login-page .leading-tight {
            line-height: 1.25;
        }

        body.login-page .text-white {
            --tw-text-opacity: 1;
            color: rgb(255 255 255 / var(--tw-text-opacity, 1));
        }

        body.login-page .opacity-0 {
            opacity: 0;
        }

        body.login-page .opacity-60 {
            opacity: 0.6;
        }

        body.login-page .shadow {
            --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }

        body.login-page .transition-all {
            transition-property: all;
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-duration: 150ms;
        }

        body.login-page .transition-colors {
            transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
            transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
            transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-duration: 150ms;
        }

        body.login-page .transition-transform {
            transition-property: transform;
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
            transition-duration: 150ms;
        }

        body.login-page .duration-150 {
            transition-duration: 150ms;
        }

        body.login-page .duration-200 {
            transition-duration: 200ms;
        }

        body.login-page .hover\:gap-3:hover {
            gap: 0.75rem;
        }

        body.login-page .hover\:shadow-lg:hover {
            --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }

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

        body.login-page .focus-visible\:ring-1:focus-visible {
            --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
            --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
            box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
        }

        body.login-page .disabled\:pointer-events-none:disabled {
            pointer-events: none;
        }

        body.login-page .disabled\:opacity-50:disabled {
            opacity: 0.5;
        }

        body.login-page .group:hover .group-hover\:visible {
            visibility: visible;
        }

        body.login-page .group:hover .group-hover\:scale-105 {
            --tw-scale-x: 1.05;
            --tw-scale-y: 1.05;
            transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        }

        body.login-page .group:hover .group-hover\:scale-110 {
            --tw-scale-x: 1.1;
            --tw-scale-y: 1.1;
            transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        }

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

        @media (min-width: 640px) {
            body.login-page .sm\:bottom-0 {
                bottom: 0px;
            }

            body.login-page .sm\:right-0 {
                right: 0px;
            }

            body.login-page .sm\:top-auto {
                top: auto;
            }

            body.login-page .sm\:flex-row {
                flex-direction: row;
            }

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

        @media (min-width: 768px) {
            body.login-page .md\:max-w-\[420px\] {
                max-width: 420px;
            }

            body.login-page .md\:grid-cols-2 {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

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

            body.login-page .md\:grid-cols-4 {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }

            body.login-page .md\:grid-cols-6 {
                grid-template-columns: repeat(6, minmax(0, 1fr));
            }

            body.login-page .md\:grid-cols-7 {
                grid-template-columns: repeat(7, minmax(0, 1fr));
            }

            body.login-page .md\:flex-row {
                flex-direction: row;
            }

            body.login-page .md\:py-32 {
                padding-top: 8rem;
                padding-bottom: 8rem;
            }

            body.login-page .md\:text-7xl {
                font-size: 4.5rem;
                line-height: 1;
            }
        }

        @media (min-width: 1024px) {
            body.login-page .lg\:order-1 {
                order: 1;
            }

            body.login-page .lg\:order-2 {
                order: 2;
            }

            body.login-page .lg\:flex {
                display: flex;
            }

            body.login-page .lg\:hidden {
                display: none;
            }

            body.login-page .lg\:grid-cols-2 {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            body.login-page .lg\:grid-cols-4 {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }

            body.login-page .lg\:grid-cols-6 {
                grid-template-columns: repeat(6, minmax(0, 1fr));
            }

            body.login-page .lg\:grid-cols-\[2fr\2c 1fr\] {
                grid-template-columns: 2fr 1fr;
            }

            body.login-page .lg\:flex-row {
                flex-direction: row;
            }
        }

        body.login-page .\[\&_svg\]\:pointer-events-none svg {
            pointer-events: none;
        }

        body.login-page .\[\&_svg\]\:size-4 svg {
            width: 1rem;
            height: 1rem;
        }

        body.login-page .\[\&_svg\]\:shrink-0 svg {
            flex-shrink: 0;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        body.login-page .fade-in-up {
            animation: fadeInUp 0.6s ease forwards;
            opacity: 0;
        }

        body.login-page .btn-primary {
            background: linear-gradient(135deg, var(--accent) 0%, var(--accent-bright) 100%);
            color: white;
            font-weight: 600;
            padding: 12px 24px;
            border-radius: 12px;
            border: none;
            font-size: 15px;
            transition: all 0.2s ease;
            box-shadow: 0 4px 16px rgba(107, 124, 255, 0.25);
        }

        body.login-page header.scrolled {
            background: var(--bg-surface-glass);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--border-subtle) !important;
        }

        body.login-page .max-w-\[480px\] {
            max-width: 480px;
        }

        body.login-page .py-8 {
            padding-top: 2rem;
            padding-bottom: 2rem;
        }

        body.login-page .mt-12 {
            margin-top: 3rem;
        }

        body.login-page .logo-text {
            font-size: 1.675rem;
            font-weight: 600;
            color: var(--text-primary);
            text-transform: lowercase;
        }

        body.login-page .header-logo svg {
            width: 30px;
            height: 30px;
        }

        body.login-page footer .logo-text {
            font-size: 1.35rem;
        }

        body.login-page footer .header-logo {
            gap: 0.5rem;
        }

        body.login-page footer .header-logo svg {
            width: 1.25rem !important;
            height: 1.25rem !important;
        }

        body.login-page header.scrolled {
            background: var(--bg-surface-glass);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--border-subtle);
        }

        /* ADD THESE NEW STYLES: */
        @keyframes spin {
            from {
                transform: rotate(0deg);
            }

            to {
                transform: rotate(360deg);
            }
        }

        body.login-page .animate-spin {
            animation: spin 1s linear infinite;
        }

        body.login-page .success-checkmark {
            animation: checkmark 0.3s ease-in-out;
        }

        @keyframes checkmark {
            0% {
                transform: scale(0);
            }

            50% {
                transform: scale(1.2);
            }

            100% {
                transform: scale(1);
            }
        }

        body.login-page .button-success {
            background: var(--success) !important;
            transition: background 0.3s ease;
        }

        body.login-page .login-mobile-menu {
            top: 80px;
            max-height: 0;
            background: var(--bg-surface);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            z-index: 45;
        }

        body.login-page .login-error-banner {
            background: rgba(255, 107, 107, 0.1);
            border: 1px solid rgba(255, 107, 107, 0.3);
        }

        body.login-page .login-step-hidden {
            display: none;
            opacity: 0;
            transform: translateY(-10px);
            transition: all 0.3s ease;
        }

        body.login-page .login-btn-min {
            min-width: 200px;
        }

        body.login-page .login-btn-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 20px;
        }

        body.login-page .login-muted {
            opacity: 0.7;
        }

        body.login-page .hero-line {
            display: block;
            white-space: nowrap;
        }

        body.login-page .waitlist-input {
            background: var(--bg-surface);
            border: 1px solid var(--border-subtle);
            color: var(--text-primary);
        }

        body.login-page .waitlist-alert {
            width: 100%;
            max-width: 42rem;
            height: 3.25rem;
            margin-left: auto;
            margin-right: auto;
            display: flex;
            align-items: center;
            justify-content: center;
            padding-top: 0;
            padding-bottom: 0;
        }

        body.login-page .list-disc {
            list-style-type: disc;
        }

        body.login-page .pl-6 {
            padding-left: 1.5rem;
        }

        @media (max-width: 640px) {
            body.login-page .hero-line {
                white-space: normal;
            }
        }

        @media (min-width: 768px) {
            body.login-page .md\:text-6xl {
                font-size: 3.75rem;
                line-height: 1;
            }
        }
/* End login page styles */

/* ── Event product-targeting picker ──────────────────────────────────────── */
/* card-panel clips overflow (rounded corners); the Products card must let the
   absolutely-positioned dropdown escape below its edge or it gets cut off. */
#products-card { overflow: visible; }
/* Selected targets: chips capped at 2 rows. Overflow hides behind a "+N more"
   button at the end of row 2 (JS measures rows); expanding shows everything. */
.prodpick-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.prodpick-chips:empty { display: none; }
.prodpick-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(107, 124, 255, 0.08);               /* fallback */
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  border: 1px solid var(--border-subtle);              /* fallback */
  border: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
  border-radius: 8px; padding: 4px 8px;
  font-size: 0.75rem; font-weight: 500; color: var(--accent);
}
.prodpick-chip img {
  width: 20px; height: 20px; border-radius: 4px; object-fit: cover; flex-shrink: 0;
}
.prodpick-chip-dot { color: var(--text-tertiary, var(--text-secondary)); font-weight: 400; }
.prodpick-chip-sub { color: var(--text-secondary); font-weight: 400; }
.prodpick-chip button {
  border: none; background: transparent; color: var(--text-tertiary, var(--text-secondary));
  cursor: pointer; display: flex; align-items: center; padding: 0 0 0 2px;
  transition: opacity 0.12s ease;
}
.prodpick-chip button:hover { opacity: 0.7; }
.prodpick-chip button svg { width: 12px; height: 12px; }
.prodpick-more {
  display: inline-flex; align-items: center;
  border: 1px solid var(--border-subtle); background: transparent;
  border-radius: 8px; padding: 4px 10px;
  font-size: 0.75rem; font-weight: 500; color: var(--accent); cursor: pointer;
}
.prodpick-more:hover { border-color: var(--accent); }
.prodpick-search { position: relative; }
.prodpick-input {
  width: 100%; box-sizing: border-box; padding: 10px 12px; border-radius: 8px;
  border: 1px solid var(--border-subtle); background: var(--bg-base);
  color: var(--text-primary); font-size: 0.9rem;
}
.prodpick-input:focus { outline: none; border-color: var(--accent); }
/* Google-style attachment: while the dropdown is open the input squares its
   bottom corners and shares the dropdown's border color, so input + list read
   as one continuous control (the input's bottom border is the divider). */
.prodpick-search--open .prodpick-input,
.prodpick-search--open .prodpick-input:focus {
  border-bottom-left-radius: 0; border-bottom-right-radius: 0;
  border-color: var(--border-subtle);                  /* fallback */
  border-color: color-mix(in srgb, var(--accent) 22%, transparent);
}
.prodpick-results {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 30;
  max-height: 280px; overflow-y: auto; padding: 4px 0;
  background: var(--bg-elevated, var(--bg-base));
  border: 1px solid var(--border-subtle);              /* fallback */
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  border-top: none;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
}
.prodpick-result {
  display: flex; align-items: center; gap: 12px; padding: 10px 16px;
  cursor: pointer; color: var(--text-primary);
  transition: background 0.1s ease;
}
.prodpick-result:hover {
  background: rgba(107, 124, 255, 0.08);               /* fallback */
  background: color-mix(in srgb, var(--accent) 8%, transparent);
}
.prodpick-result img, .prodpick-noimg {
  width: 32px; height: 32px; border-radius: 6px; object-fit: cover;
  flex-shrink: 0; background: var(--bg-base);
  border: 1px solid var(--border-subtle);
}
.prodpick-noimg {
  display: flex; align-items: center; justify-content: center;
  color: var(--text-secondary);
}
.prodpick-noimg svg { width: 15px; height: 15px; }
.prodpick-result-text { flex: 1; min-width: 0; }
.prodpick-result-title {
  font-size: 0.875rem; font-weight: 500;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.prodpick-loading { padding: 10px 12px; color: var(--text-secondary); font-size: 0.85rem; }
.prodpick-chip--missing {
  border-color: var(--danger); color: var(--danger);
  background: color-mix(in srgb, var(--danger) 8%, transparent);
}
.prodpick-chip--missing button { color: var(--danger); }
.prodpick-warn {
  display: flex; align-items: flex-start; gap: 8px;
  background: rgba(240, 173, 78, 0.12); border: 1px solid rgba(240, 173, 78, 0.4);
  color: var(--warning, #f0ad4e); border-radius: 8px; padding: 10px 12px;
  font-size: 0.85rem; line-height: 1.4; margin-bottom: 14px;
}
/* Segmented mode control (Products / Product types / Collections) */
.prodpick-modes {
  display: inline-flex; gap: 2px; margin-bottom: 10px; padding: 3px;
  background: var(--bg-base); border: 1px solid var(--border-subtle); border-radius: 10px;
}
.prodpick-mode {
  padding: 6px 14px; border-radius: 7px; border: none;
  background: transparent; color: var(--text-secondary);
  font-size: 0.8rem; font-weight: 500; cursor: pointer;
  transition: background 0.12s ease, color 0.12s ease;
}
.prodpick-mode:hover { color: var(--text-primary); }
.prodpick-mode.active { background: var(--accent); color: #fff; }
.prodpick-tag {
  font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 600;
  color: var(--accent); border: 1px solid var(--border-subtle); border-radius: 4px;
  padding: 1px 5px; margin-right: 6px;
}
.prodpick-result-sub {
  color: var(--text-secondary); font-size: 0.75rem; margin-top: 1px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* Multi-select: leading checkbox per row; selected rows stay listed, tinted,
   with the box filled and a right-aligned "Selected" flag (mockup style). */
.prodpick-check {
  width: 16px; height: 16px; border-radius: 4px; flex-shrink: 0;
  border: 1.5px solid var(--border-medium, var(--border-subtle));
  display: flex; align-items: center; justify-content: center;
  background: transparent; color: #fff;
}
.prodpick-check svg { width: 10px; height: 10px; display: none; }
.prodpick-result--checked .prodpick-check { background: var(--accent); border-color: var(--accent); }
.prodpick-result--checked .prodpick-check svg { display: block; }
.prodpick-result--checked {
  background: rgba(107, 124, 255, 0.08);               /* fallback */
  background: color-mix(in srgb, var(--accent) 8%, transparent);
}
.prodpick-selected-flag {
  display: none; flex-shrink: 0; font-size: 0.75rem; font-weight: 500; color: var(--accent);
}
.prodpick-result--checked .prodpick-selected-flag { display: inline; }

/* ── Min Order Value slider (create-event / edit-event) ──
   Same construction as the LTV threshold slider: the native range input is
   an invisible full-height overlay; the visible track/fill/thumb/bubble are
   custom elements driven by JS. */
.movs-wrap {
  position: relative;
  margin-top: 6px;
  /* Reserved band for the value bubble so it never overlaps the text above. */
  padding-top: 34px;
}
.movs-track-area {
  position: relative;
  height: 32px;
}
.movs-track {
  position: absolute;
  top: 12px;
  left: 0;
  right: 0;
  height: 8px;
  border-radius: 4px;
  background: var(--border-subtle);
}
.movs-fill {
  position: absolute;
  top: 12px;
  left: 0;
  width: 0;
  height: 8px;
  border-radius: 4px;
  background: var(--accent);
  pointer-events: none;
}
.movs-range {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
  z-index: 11;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  touch-action: pan-y;
}
.movs-range::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
  pointer-events: auto;
}
.movs-range::-moz-range-thumb {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: transparent;
  border: none;
  cursor: pointer;
}
.movs-range::-webkit-slider-runnable-track {
  height: 100%;
  background: transparent;
  border: none;
}
.movs-range::-moz-range-track {
  height: 100%;
  background: transparent;
  border: none;
}
.movs-thumb {
  position: absolute;
  top: 5px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: white;
  border: 3px solid var(--accent);
  box-shadow:
    0 4px 12px rgba(107, 124, 255, 0.4),
    0 0 0 3px rgba(107, 124, 255, 0.1);
  pointer-events: none;
  transform: translateX(-50%);
}
.movs-bubble {
  position: absolute;
  top: -28px;
  transform: translateX(-50%);
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--accent);
  color: white;
  font-size: 12px;
  font-weight: 600;
  pointer-events: none;
  white-space: nowrap;
  z-index: 12;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.movs-aov {
  position: absolute;
  /* Below the track: 34px bubble band + 32px track area + 20px gap.
     (Absolute top ignores the wrap's padding, so it's spelled out.) */
  top: 86px;
  transform: translateX(-50%);
  padding: 2px 6px;
  border: none;
  border-radius: 4px;
  background: rgba(246, 195, 68, 0.12);
  color: var(--warning);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  z-index: 12;
}
.movs-aov:hover {
  background: rgba(246, 195, 68, 0.25);
}
.movs-aov-tick {
  position: absolute;
  left: 50%;
  top: -30px;
  width: 2px;
  height: 28px;
  background: var(--warning);
  opacity: 0.7;
  pointer-events: none;
}
.movs-axis {
  position: relative;
  height: 16px;
  margin-top: 40px;
}
.movs-axis-tick {
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  /* Match the LTV threshold slider's x-axis labels (.ce-inline-74). */
  font-size: 12px;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
}
.movs-axis-tick::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -7px;
  width: 1px;
  height: 5px;
  background: var(--border-medium);
}
.movs-axis-tick--first {
  transform: none;
}
.movs-axis-tick--first::before {
  left: 1px;
}
.movs-axis-tick--last {
  transform: translateX(-100%);
}
.movs-axis-tick--last::before {
  left: calc(100% - 1px);
}
.movs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.movs-input-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  background: var(--bg-surface);
  color: var(--text-secondary);
  font-size: 14px;
}
.movs-input-wrap input {
  width: 80px;
  border: none;
  outline: none;
  background: transparent;
  color: var(--text-primary);
  font-size: 14px;
  font-weight: 600;
}
.movs-input-wrap input::-webkit-outer-spin-button,
.movs-input-wrap input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.movs-readout {
  font-size: 0.85rem;
  color: var(--text-secondary);
}
.movs-readout strong {
  color: var(--text-primary);
  font-weight: 600;
}
.movs-stats {
  display: flex;
  align-items: stretch;
  margin-top: 16px;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  background: var(--bg-base);
  overflow: hidden;
}
.movs-stat {
  flex: 1;
  min-width: 0;
  padding: 12px 16px;
}
.movs-stat + .movs-stat {
  border-left: 1px solid var(--border-subtle);
}
.movs-stat-value {
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.2;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}
.movs-stat-label {
  margin-top: 4px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.movs-coverage {
  margin-top: 7px;
  height: 4px;
  border-radius: 2px;
  background: var(--border-subtle);
  overflow: hidden;
}
.movs-coverage-fill {
  height: 100%;
  width: 0;
  border-radius: 2px;
  background: var(--accent);
  transition: width 0.15s ease;
}
