/* Shared theme picker (main app + auth pages) */

.et-theme-picker {
  position: relative;
}

.et-theme-picker-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  color: var(--et-sidebar-muted, var(--et-muted));
  background: transparent;
  border: 1px solid var(--et-sidebar-border, var(--et-border));
  border-radius: 12px;
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease;
}

.et-theme-picker-toggle:hover {
  color: var(--et-sidebar-text, var(--et-text));
  background: var(--et-sidebar-soft, var(--et-surface-soft));
}

.et-theme-picker-menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  z-index: 1060;
  width: min(15rem, 80vw);
  padding: 0.75rem;
  background: var(--et-surface);
  color: var(--et-text);
  border: 1px solid var(--et-border);
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.et-theme-picker-title {
  margin: 0 0 0.5rem;
  padding: 0 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--et-muted);
}

.et-theme-option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.5rem;
  text-align: left;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.et-theme-option:hover {
  background: var(--et-surface-soft);
}

.et-theme-option.is-active {
  background: var(--et-primary-soft);
  border-color: color-mix(in srgb, var(--et-primary) 25%, transparent);
}

.et-theme-swatch {
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18);
}

.et-theme-swatch-blue {
  background: linear-gradient(135deg, #2563eb 0%, #0ea5e9 100%);
}

.et-theme-swatch-green {
  background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
}

.et-theme-swatch-purple {
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
}

.et-theme-option-text {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

.et-theme-option-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--et-text);
}

.et-theme-option-desc {
  font-size: 0.6875rem;
  color: var(--et-muted);
}

.et-theme-picker-auth {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 10;
}
