/* ============================================================
   Sales & Marketing Workshop — workshop.css  v1.1.0
   Alle Farben via CSS Custom Properties — anpassbar im Admin.
   !important an kritischen Stellen: WP-Theme-Override-Fix (#6)
   ============================================================ */

/* --- Custom Properties (Defaults; werden via wp_add_inline_style überschrieben) --- */
:root {
  --smw-primary:      #D06050;
  --smw-mint:         #D06050;
  --smw-gold:         #D4906A;
  --smw-bg:           #19100C;
  --smw-bg-secondary: #1E1612;
  --smw-text:         #EDE8E3;
  --smw-text-muted:   #7A6E68;
  --smw-border:       #2A2420;
  --smw-accent:       #D06050;
  --smw-surface:      #241C18;

  /* Derived */
  --smw-primary-dark:  color-mix(in srgb, var(--smw-primary) 80%, #fff);
  --smw-primary-light: color-mix(in srgb, var(--smw-primary) 14%, #19100C);
  --smw-mint-light:    color-mix(in srgb, var(--smw-primary) 14%, #19100C);
  --smw-radius:        10px;
  --smw-radius-sm:     7px;
  --smw-shadow:        0 2px 8px rgba(0,0,0,.45);
}

/* --- Reset scoped to plugin --- */
#uplift-workshop,
#uplift-workshop * {
  box-sizing: border-box !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  line-height: 1.55 !important;
}

#uplift-workshop {
  background:
    radial-gradient(ellipse 70% 90% at 82% 55%,
      rgba(190, 70, 40, 0.38) 0%,
      rgba(150, 45, 20, 0.18) 45%,
      transparent 70%),
    #19100C !important;
  color: var(--smw-text) !important;
  /* Fixed to viewport — bypasses Elementor/theme height constraints completely */
  position: fixed !important;
  top: var(--wp-admin--admin-bar--height, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 9990 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* --- Logo header (only rendered if logo configured in admin) --- */
.smw-logo-header {
  flex-shrink: 0 !important;
  padding: 20px 1.75rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  border-bottom: 1px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
}

.smw-logo-img {
  height: 40px !important;
  width: auto !important;
  display: block !important;
}

.smw-logo-title {
  font-size: 17px !important;
  font-weight: 500 !important;
  color: var(--smw-text) !important;
}

/* --- Layout shell --- */
.smw-shell {
  flex: 1 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  position: relative !important;
}

.smw-shell > .smw-header {
  flex-shrink: 0 !important;
}

.smw-shell > .smw-body {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Input footer: never overlaps columns, always below both */
.smw-shell > .smw-input-footer {
  flex-shrink: 0 !important;
}

.smw-header {
  background: var(--smw-bg) !important;
  border-bottom: 1px solid var(--smw-border) !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 1.5rem !important;
  gap: 1rem !important;
  flex-shrink: 0 !important;
}

.smw-header-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--smw-text) !important;
  margin: 0 !important;
}

.smw-header-timer {
  margin-left: auto !important;
  font-size: 14px !important;
  color: var(--smw-text-muted) !important;
}

.smw-header-timer.smw-warning {
  color: #f87171 !important;
  font-weight: 500 !important;
}

.smw-header-end {
  margin-left: .75rem !important;
  padding: 5px 12px !important;
  border-radius: var(--smw-radius-sm) !important;
  border: 1px solid var(--smw-primary) !important;
  background: var(--smw-primary-light) !important;
  color: var(--smw-primary-dark) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.smw-header-end:hover { opacity: .85 !important; }

.smw-header-reset {
  margin-left: .75rem !important;
  padding: 5px 12px !important;
  border-radius: var(--smw-radius-sm) !important;
  border: 1px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
  font-size: 13px !important;
  color: var(--smw-text-muted) !important;
  cursor: pointer !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.smw-header-reset:hover {
  border-color: var(--smw-primary) !important;
  color: var(--smw-text) !important;
}

/* Progress bar */
.smw-progress {
  display: flex !important;
  gap: 5px !important;
  flex: 1 !important;
}

.smw-progress-bar {
  height: 5px !important;
  border-radius: 3px !important;
  flex: 1 !important;
  background: var(--smw-border) !important;
  transition: background .3s !important;
}

.smw-progress-bar.done   { background: var(--smw-primary) !important; }
.smw-progress-bar.active { background: color-mix(in srgb, var(--smw-primary) 55%, #19100C) !important; }

/* --- Main grid --- */
.smw-body {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  overflow: hidden !important;
  min-height: 0 !important;
}

/* --- Left panel --- */
.smw-left {
  display: flex !important;
  flex-direction: column !important;
  padding: 2rem 1.75rem 2rem !important;
  border-right: 1px solid var(--smw-border) !important;
  overflow-y: auto !important;
  min-height: 0 !important;
  background: var(--smw-bg) !important;
}

/* Dialogue mode: header | scrollable chat | input — all in normal flex flow, no overlap possible */
.smw-left--dialogue {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.smw-left--dialogue .smw-dialogue-header {
  flex-shrink: 0 !important;
  overflow-y: auto !important;
  max-height: 40vh !important;
  padding: 2rem 1.75rem 1rem !important;
  border-bottom: 1px solid var(--smw-border) !important;
}

.smw-left--dialogue #smw-chat-area {
  flex: 1 !important;
  overflow-y: auto !important;
  min-height: 0 !important;
  padding: 1rem 1.75rem !important;
}

/* Input inside left column — flex-shrink 0 so it never overlaps chat */
.smw-left--dialogue .smw-input-wrap {
  flex-shrink: 0 !important;
  border-top: 2px solid var(--smw-border) !important;
  padding: .875rem 1.75rem .75rem !important;
  background: var(--smw-bg) !important;
}

/* Footer div kept in DOM but unused for dialogue phases */
.smw-input-footer {
  flex-shrink: 0 !important;
  background: var(--smw-bg) !important;
}

.smw-input-footer--active {
  border-top: 2px solid var(--smw-border) !important;
  padding: .875rem 1.75rem .75rem !important;
}

.smw-phase-label {
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: var(--smw-text-muted) !important;
  font-weight: 500 !important;
  margin: 0 0 .75rem !important;
}

.smw-phase-heading {
  font-size: 24px !important;
  font-weight: 500 !important;
  color: var(--smw-text) !important;
  line-height: 1.35 !important;
  margin: 0 0 1.25rem !important;
}

/* Phase intro box */
.smw-phase-intro {
  background: color-mix(in srgb, var(--smw-mint) 12%, #fff) !important;
  border-radius: var(--smw-radius) !important;
  border: 1px solid color-mix(in srgb, var(--smw-mint) 35%, #fff) !important;
  padding: 1rem 1.25rem !important;
  margin-bottom: 1.5rem !important;
}

.smw-phase-intro-meta {
  margin-bottom: .4rem !important;
}

.smw-phase-intro-duration {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: color-mix(in srgb, var(--smw-mint) 70%, #000) !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}

.smw-phase-intro-text {
  font-size: 15px !important;
  color: var(--smw-text) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
}

/* Section separator in Setup */
.smw-section-divider {
  border: none !important;
  border-top: 1px solid var(--smw-border) !important;
  margin: 1.5rem 0 1.25rem !important;
}

.smw-section-label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--smw-text) !important;
  margin: 0 0 .35rem !important;
}

.smw-section-sub {
  font-size: 14px !important;
  color: var(--smw-text-muted) !important;
  margin: 0 0 1rem !important;
  line-height: 1.55 !important;
}

/* KI-Vorschlag-Box */
.smw-ai-box {
  background: var(--smw-bg-secondary) !important;
  border-left: 3px solid var(--smw-primary) !important;
  border-radius: 0 var(--smw-radius) var(--smw-radius) 0 !important;
  padding: 1.1rem 1.25rem !important;
  margin-bottom: 1.25rem !important;
}

.smw-ai-box-label {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--smw-text) !important;
  margin: 0 0 .5rem !important;
}

.smw-ai-box-text {
  font-size: 16px !important;
  color: var(--smw-text-muted) !important;
  margin: 0 !important;
  white-space: pre-wrap !important;
}

/* Typing indicator */
.smw-typing {
  display: flex !important;
  gap: 4px !important;
  align-items: center !important;
  padding: .5rem 0 !important;
}

.smw-typing span {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--smw-primary) !important;
  animation: smw-bounce .9s infinite !important;
  display: inline-block !important;
}

.smw-typing span:nth-child(2) { animation-delay: .15s !important; }
.smw-typing span:nth-child(3) { animation-delay: .3s !important; }

@keyframes smw-bounce {
  0%, 80%, 100% { transform: translateY(0); }
  40%           { transform: translateY(-6px); }
}

/* Input area — no fixed/sticky positioning, handled by flex flow in parent column */

.smw-input-wrap { margin-top: .75rem !important; }

.smw-input-label {
  font-size: 14px !important;
  color: var(--smw-text-muted) !important;
  margin: 0 0 .5rem !important;
  display: block !important;
}

.smw-textarea {
  width: 100% !important;
  padding: .75rem !important;
  border-radius: var(--smw-radius-sm) !important;
  border: 1px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
  font-size: 16px !important;
  color: var(--smw-text) !important;
  resize: none !important;
  height: 90px !important;
  outline: none !important;
  transition: border-color .2s !important;
}

.smw-textarea:focus { border-color: var(--smw-primary) !important; }

/* Chips */
.smw-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: .75rem 0 !important;
}

.smw-chip {
  padding: 8px 16px !important;
  border-radius: 20px !important;
  border: 1px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
  font-size: 14px !important;
  color: var(--smw-text) !important;
  cursor: pointer !important;
  transition: border-color .2s, background .2s !important;
  font-weight: 400 !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.smw-chip:hover {
  border-color: var(--smw-primary) !important;
  background: var(--smw-primary-light) !important;
}

.smw-chip.smw-chip-selected {
  border: 2px solid var(--smw-primary) !important;
  background: var(--smw-primary-light) !important;
  font-weight: 500 !important;
  color: var(--smw-text) !important;
}

/* Button row */
.smw-btn-row {
  display: flex !important;
  gap: .75rem !important;
  margin-top: auto !important;
  padding-top: 1.25rem !important;
}

.smw-btn-secondary {
  padding: 11px 20px !important;
  border-radius: var(--smw-radius-sm) !important;
  border: 1px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
  font-size: 15px !important;
  cursor: pointer !important;
  color: var(--smw-text-muted) !important;
  font-weight: 400 !important;
  transition: border-color .2s !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.smw-btn-secondary:hover { border-color: var(--smw-primary) !important; }

/* Advance button (Weiter →) — secondary styling but with primary border when enabled */
.smw-btn-advance:not(:disabled) {
  border-color: var(--smw-primary) !important;
  color: var(--smw-primary-dark) !important;
  font-weight: 500 !important;
}
.smw-btn-advance:not(:disabled):hover {
  background: var(--smw-primary-light) !important;
}

.smw-btn-primary {
  flex: 1 !important;
  padding: 12px !important;
  border-radius: var(--smw-radius-sm) !important;
  border: none !important;
  background: var(--smw-primary) !important;
  color: var(--smw-text) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: opacity .2s !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.smw-btn-primary:hover    { opacity: .88 !important; }
.smw-btn-primary:disabled { opacity: .5 !important; cursor: not-allowed !important; }

/* Send button — full reset, no WP theme inheritance */
#uplift-workshop .smw-btn-send,
#uplift-workshop button.smw-btn-send {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 22px !important;
  border-radius: var(--smw-radius-sm) !important;
  border: none !important;
  background: var(--smw-primary) !important;
  font-size: 14px !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  color: #fff !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.12) !important;
  transition: opacity .15s !important;
  box-sizing: border-box !important;
  line-height: 1.4 !important;
}

#uplift-workshop .smw-btn-send:hover {
  opacity: .88 !important;
}

#uplift-workshop .smw-btn-send:disabled {
  opacity: .45 !important;
  cursor: not-allowed !important;
}

/* Setup form */
.smw-setup-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
  margin-bottom: 1rem !important;
}

.smw-field-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}

.smw-field-group.smw-full { grid-column: 1 / -1 !important; }

.smw-field-label {
  font-size: 13px !important;
  color: var(--smw-text-muted) !important;
  font-weight: 500 !important;
}

.smw-input {
  padding: 10px 13px !important;
  border-radius: var(--smw-radius-sm) !important;
  border: 1px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
  font-size: 15px !important;
  color: var(--smw-text) !important;
  outline: none !important;
  transition: border-color .2s !important;
  width: 100% !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.smw-input:focus { border-color: var(--smw-primary) !important; }

/* Scraping progress */
.smw-scrape-bar {
  height: 4px !important;
  background: var(--smw-border) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  margin: .5rem 0 !important;
}

.smw-scrape-fill {
  height: 100% !important;
  background: var(--smw-primary) !important;
  border-radius: 2px !important;
  width: 0 !important;
  transition: width .4s ease !important;
}

/* Scraped summary card */
.smw-company-card {
  background: var(--smw-bg-secondary) !important;
  border-radius: var(--smw-radius) !important;
  border: 1px solid var(--smw-border) !important;
  padding: 1rem 1.25rem !important;
  margin-bottom: 1rem !important;
}

/* --- Right panel: Dashboard --- */
.smw-right {
  display: flex !important;
  flex-direction: column !important;
  padding: 2rem 1.75rem 2rem !important;
  background: var(--smw-bg-secondary) !important;
  overflow-y: auto !important;
  min-height: 0 !important;
  gap: 1rem !important;
}

.smw-dash-label {
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  color: var(--smw-text-muted) !important;
  font-weight: 500 !important;
  margin: 0 0 .25rem !important;
}

/* Dashboard card */
.smw-db-card {
  background: var(--smw-bg) !important;
  border-radius: var(--smw-radius) !important;
  border: 1px solid var(--smw-border) !important;
  padding: 1rem 1.25rem !important;
  transition: opacity .4s !important;
}

.smw-db-card.smw-pending { opacity: .4 !important; }
.smw-db-card.smw-active  { border: 2px solid color-mix(in srgb, var(--smw-mint) 60%, #fff) !important; }

.smw-db-card-label {
  font-size: 12px !important;
  color: var(--smw-text-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin: 0 0 .6rem !important;
}

/* Dot bullets */
.smw-dot-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.smw-dot-list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  font-size: 14px !important;
  color: var(--smw-text) !important;
}

.smw-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  margin-top: 5px !important;
}

.smw-dot-high   { background: #D06050 !important; }
.smw-dot-medium { background: #D4906A !important; }
.smw-dot-low    { background: #5ecd8a !important; }

/* Metric row */
.smw-metric-row {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  text-align: center !important;
}

.smw-metric-col { padding: 0 8px !important; }
.smw-metric-col + .smw-metric-col { border-left: 1px solid var(--smw-border) !important; }

.smw-metric-value {
  font-size: 19px !important;
  font-weight: 500 !important;
  color: var(--smw-text) !important;
  margin: 0 !important;
}

.smw-metric-label {
  font-size: 12px !important;
  color: var(--smw-text-muted) !important;
  margin: 2px 0 0 !important;
}

/* Badges */
.smw-badge {
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 2px 9px !important;
  border-radius: 20px !important;
  display: inline-block !important;
}

.smw-badge-running {
  background: color-mix(in srgb, var(--smw-mint) 25%, #fff) !important;
  color: color-mix(in srgb, var(--smw-mint) 60%, #000) !important;
}

.smw-badge-done {
  background: color-mix(in srgb, var(--smw-primary) 20%, #fff) !important;
  color: var(--smw-primary-dark) !important;
}

/* Mini progress in active card */
.smw-mini-progress {
  height: 4px !important;
  background: var(--smw-border) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  margin-top: 10px !important;
}

.smw-mini-fill {
  height: 100% !important;
  background: var(--smw-mint) !important;
  border-radius: 2px !important;
  transition: width .5s ease !important;
}

/* Export row in right panel */
.smw-export-row {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-top: auto !important;
  padding-top: .75rem !important;
  border-top: 1px solid var(--smw-border) !important;
}

.smw-export-btn {
  padding: 9px 16px !important;
  border-radius: var(--smw-radius-sm) !important;
  border: 1px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
  font-size: 13px !important;
  color: var(--smw-text-muted) !important;
  cursor: pointer !important;
  font-weight: 500 !important;
  transition: border-color .2s, color .2s !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.smw-export-btn:hover {
  border-color: var(--smw-primary) !important;
  color: var(--smw-text) !important;
}

/* Notice/error */
.smw-notice {
  background: #2d1a1a !important;
  border: 1px solid #5a2020 !important;
  color: #f08080 !important;
  border-radius: var(--smw-radius-sm) !important;
  padding: .75rem 1rem !important;
  font-size: 15px !important;
  margin-bottom: .75rem !important;
}

/* Export success */
.smw-export-success {
  background: color-mix(in srgb, var(--smw-mint) 12%, #19100C) !important;
  border: 1px solid color-mix(in srgb, var(--smw-mint) 30%, #2A2420) !important;
  border-radius: var(--smw-radius-sm) !important;
  padding: .75rem 1rem !important;
  font-size: 15px !important;
  color: var(--smw-text) !important;
}

.smw-export-success a {
  color: color-mix(in srgb, var(--smw-mint) 60%, #000) !important;
  font-weight: 500 !important;
}

/* ── Workshop Goal Selector ─────────────────────────────────────── */
.smw-goal-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  margin-top: .5rem !important;
}

.smw-goal-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  padding: .85rem 1rem !important;
  border-radius: var(--smw-radius-sm) !important;
  border: 2px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
  cursor: pointer !important;
  text-align: left !important;
  transition: border-color .2s, background .2s !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

.smw-goal-card:hover {
  border-color: var(--smw-primary) !important;
  background: var(--smw-primary-light) !important;
}

.smw-goal-card.smw-goal-card-active {
  border-color: var(--smw-primary) !important;
  background: var(--smw-primary-light) !important;
}

.smw-goal-label {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--smw-text) !important;
  display: block !important;
}

.smw-goal-sub {
  font-size: 12px !important;
  color: var(--smw-text-muted) !important;
  display: block !important;
  line-height: 1.4 !important;
}

/* ── Bonus Phase styling ─────────────────────────────────────────── */
.smw-phase-intro-bonus {
  background: color-mix(in srgb, var(--smw-gold) 12%, #fff) !important;
  border: 1px solid color-mix(in srgb, var(--smw-gold) 35%, #fff) !important;
}

.smw-badge-bonus {
  background: color-mix(in srgb, var(--smw-gold) 30%, #fff) !important;
  color: color-mix(in srgb, var(--smw-gold) 70%, #000) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 2px 9px !important;
  border-radius: 20px !important;
  margin-left: .5rem !important;
  display: inline-block !important;
}

/* ══════════════════════════════════════════════════════════════════
   AUTOPILOT PANEL — nur für eingeloggte Admins (window.UPLIFT.is_admin)
   ══════════════════════════════════════════════════════════════════ */

.smw-ap-panel {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  z-index: 99999 !important;
  width: 340px !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.16), 0 1px 4px rgba(0,0,0,.08) !important;
  overflow: hidden !important;
  font-family: system-ui, sans-serif !important;
  font-size: 13px !important;
  background: #1a1528 !important;
  border: 1px solid #2e2040 !important;
}

.smw-ap-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 14px !important;
  background: #231b36 !important;
  cursor: pointer !important;
  user-select: none !important;
  border-bottom: 1px solid #2e2040 !important;
}

.smw-ap-title {
  font-weight: 600 !important;
  font-size: 13px !important;
  color: #e8d8f4 !important;
  letter-spacing: .02em !important;
}

.smw-ap-status {
  font-size: 12px !important;
  color: #7a6f8a !important;
  transition: color .2s !important;
}
.smw-ap-status[data-running="1"] {
  color: #5ecd8a !important;
}

.smw-ap-body {
  display: flex !important;
  flex-direction: column !important;
  padding: 10px !important;
  gap: 8px !important;
}

.smw-ap-controls {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.smw-ap-btn {
  padding: 5px 12px !important;
  border-radius: 6px !important;
  border: 1px solid #3d2f55 !important;
  background: #2d2148 !important;
  color: #e8d8f4 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background .15s, border-color .15s !important;
  white-space: nowrap !important;
}
.smw-ap-btn:hover {
  background: #3d2f58 !important;
  border-color: var(--smw-primary, #e8a8bc) !important;
}
.smw-ap-btn[data-running="1"] {
  background: #4a1e2a !important;
  border-color: #c0536c !important;
  color: #f4a8b8 !important;
}
.smw-ap-btn-ghost {
  background: transparent !important;
  border-color: #2e2040 !important;
  color: #7a6f8a !important;
}
.smw-ap-btn-ghost:hover {
  color: #e8d8f4 !important;
  border-color: #3d2f55 !important;
}

.smw-ap-label {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #7a6f8a !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}

.smw-ap-select {
  padding: 4px 6px !important;
  border-radius: 5px !important;
  border: 1px solid #3d2f55 !important;
  background: #2d2148 !important;
  color: #e8d8f4 !important;
  font-size: 12px !important;
  cursor: pointer !important;
}

/* Log area */
.smw-ap-log {
  height: 180px !important;
  overflow-y: auto !important;
  background: #110d1e !important;
  border-radius: 6px !important;
  padding: 8px !important;
  font-family: 'SF Mono', 'Fira Code', monospace !important;
  font-size: 11px !important;
  line-height: 1.6 !important;
  scrollbar-width: thin !important;
  scrollbar-color: #2e2040 transparent !important;
}

.smw-ap-line {
  margin: 0 0 1px !important;
  word-break: break-word !important;
}

.smw-ap-line-info  { color: #7a6f8a !important; }
.smw-ap-line-msg   { color: #e8a8bc !important; }
.smw-ap-line-done  { color: #5ecd8a !important; }
.smw-ap-line-warn  { color: #f0c070 !important; }
.smw-ap-line-error { color: #f08080 !important; }

/* ── Module Selection ───────────────────────────────────────────── */
.smw-module-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .75rem !important;
  margin: 1rem 0 !important;
  width: 100% !important;
}

.smw-module-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: .25rem !important;
  padding: 1rem 1rem .9rem !important;
  border-radius: var(--smw-radius-sm) !important;
  border: 1.5px solid var(--smw-border) !important;
  background: var(--smw-bg-secondary) !important;
  cursor: pointer !important;
  text-align: left !important;
  position: relative !important;
  transition: border-color .15s, background .15s !important;
  font-size: inherit !important;
  line-height: 1.45 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  word-break: break-word !important;
}

.smw-module-card:hover {
  border-color: var(--smw-primary) !important;
  background: var(--smw-primary-light) !important;
}

.smw-module-card-active {
  border-color: var(--smw-primary) !important;
  background: var(--smw-primary-light) !important;
}

.smw-module-card-done {
  border-color: var(--smw-mint) !important;
}

.smw-module-label {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--smw-text) !important;
  display: block !important;
}

.smw-module-sub {
  font-size: 13px !important;
  color: var(--smw-text-muted) !important;
  display: block !important;
}

.smw-module-check {
  position: absolute !important;
  top: .65rem !important;
  right: .75rem !important;
  font-size: 16px !important;
  color: var(--smw-primary) !important;
  opacity: 0 !important;
  transition: opacity .15s !important;
}

.smw-module-card-active .smw-module-check { opacity: 1 !important; }

.smw-module-done-badge {
  display: inline-block !important;
  font-size: 11px !important;
  padding: 2px 7px !important;
  border-radius: 20px !important;
  background: color-mix(in srgb, var(--smw-mint) 30%, #fff) !important;
  color: color-mix(in srgb, var(--smw-mint) 70%, #000) !important;
  margin-top: .3rem !important;
}

/* Responsive */
@media (max-width: 900px) {
  .smw-body {
    grid-template-columns: 1fr !important;
    grid-template-rows: 1fr auto !important;
  }
  .smw-right {
    border-top: 1px solid var(--smw-border) !important;
  }
}

/* ══════════════════════════════════════════════════════════════════
   PHASE CARDS — strukturiertes Dashboard-Layout
   ══════════════════════════════════════════════════════════════════ */

.smw-pc {
  background: var(--smw-bg) !important;
  border: 1px solid var(--smw-border) !important;
  border-radius: var(--smw-radius) !important;
  padding: 1.1rem 1.25rem !important;
  margin-bottom: .6rem !important;
}

.smw-pc.smw-pending { opacity: .38 !important; }
.smw-pc.smw-pc-goal { border-left: 3px solid var(--smw-primary) !important; }

.smw-pc-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: .75rem !important;
}

.smw-pc-phase {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--smw-primary-dark) !important;
  margin-bottom: .2rem !important;
}

.smw-pc-title {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--smw-text) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.smw-pc-icp {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--smw-text) !important;
  margin: 0 0 .4rem !important;
}

.smw-pc-pos {
  font-size: 13px !important;
  color: var(--smw-text-muted) !important;
  margin: 0 0 .75rem !important;
  line-height: 1.6 !important;
}

.smw-pc-placeholder {
  font-size: 13px !important;
  color: var(--smw-text-muted) !important;
  font-style: italic !important;
  margin: 0 !important;
}

.smw-pc-badge {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
  margin-left: .5rem !important;
}

.smw-pc-done {
  background: #1a3825 !important;
  color: #4ade80 !important;
}

.smw-pc-running {
  background: color-mix(in srgb, var(--smw-mint) 30%, #fff) !important;
  color: color-mix(in srgb, var(--smw-mint) 70%, #000) !important;
}

/* Section label inside card */
.smw-sec-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--smw-text-muted) !important;
  margin: .7rem 0 .35rem !important;
}

/* Pills */
.smw-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-bottom: .6rem !important;
}

.smw-pill {
  background: color-mix(in srgb, var(--smw-primary) 15%, #fff) !important;
  color: var(--smw-text) !important;
  font-size: 12px !important;
  padding: 3px 10px !important;
  border-radius: 20px !important;
  border: 1px solid color-mix(in srgb, var(--smw-primary) 30%, #fff) !important;
  white-space: nowrap !important;
}

/* Labeled rows */
.smw-labeled-row {
  display: flex !important;
  gap: .75rem !important;
  padding: .6rem .8rem !important;
  border-radius: var(--smw-radius-sm) !important;
  margin-bottom: .35rem !important;
  align-items: flex-start !important;
}

.smw-row-tag {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
  white-space: nowrap !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  flex-shrink: 0 !important;
  margin-top: 1px !important;
}

.smw-row-text {
  font-size: 13px !important;
  color: var(--smw-text) !important;
  line-height: 1.55 !important;
}

.smw-row-diff { background: #201c2a !important; }
.smw-row-diff .smw-row-tag { background: #2e2845 !important; color: #c4aee0 !important; }

.smw-row-won { background: #162418 !important; }
.smw-row-won .smw-row-tag { background: #1a3825 !important; color: #4ade80 !important; }

.smw-row-lost { background: #241414 !important; }
.smw-row-lost .smw-row-tag { background: #3d1515 !important; color: #f87171 !important; }

.smw-row-gap { background: #201c0e !important; }
.smw-row-gap .smw-row-tag { background: #3d3010 !important; color: #fbbf24 !important; }

/* Competitor table */
.smw-comp-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 12px !important;
  margin-top: .2rem !important;
}

.smw-comp-table th {
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  color: var(--smw-text-muted) !important;
  padding: .35rem .6rem !important;
  text-align: left !important;
  border-bottom: 1px solid var(--smw-border) !important;
  background: transparent !important;
}

.smw-comp-table td {
  padding: .55rem .6rem !important;
  border-bottom: 1px solid var(--smw-border) !important;
  vertical-align: top !important;
  color: var(--smw-text) !important;
  line-height: 1.45 !important;
}

.smw-comp-table tr:last-child td { border-bottom: none !important; }
.smw-comp-table td:first-child { font-weight: 500 !important; }
.smw-comp-weak { color: #f87171 !important; }

/* Channel rows */
.smw-channels { margin-bottom: .4rem !important; }

.smw-channel-row {
  display: grid !important;
  grid-template-columns: auto auto 1fr !important;
  gap: .5rem !important;
  align-items: start !important;
  padding: .5rem 0 !important;
  border-bottom: 1px solid var(--smw-border) !important;
}

.smw-channel-row:last-child { border-bottom: none !important; }

.smw-channel-name {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--smw-text) !important;
  white-space: nowrap !important;
}

.smw-channel-why {
  font-size: 12px !important;
  color: var(--smw-text-muted) !important;
  line-height: 1.45 !important;
}

.smw-eff-badge {
  font-size: 10px !important;
  font-weight: 600 !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
  margin-top: 1px !important;
}

.smw-eff-high { background: #3d1515 !important; color: #f87171 !important; }
.smw-eff-med  { background: #3d3010 !important; color: #fbbf24 !important; }
.smw-eff-low  { background: #1a3825 !important; color: #4ade80 !important; }

/* ============================================================
   v2.0.0 — Channel Selection (Phase 5)
   ============================================================ */

.smw-channel-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: .75rem !important;
  margin: 1rem 0 !important;
}

.smw-channel-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .25rem !important;
  align-items: flex-start !important;
  border: 2px solid var(--smw-border) !important;
  border-radius: 10px !important;
  padding: .75rem .75rem .75rem .75rem !important;
  padding-right: 2rem !important;  /* room for check mark */
  cursor: pointer !important;
  transition: border-color .15s, box-shadow .15s, background .15s !important;
  background: var(--smw-surface) !important;
  user-select: none !important;
  text-align: left !important;
}

.smw-channel-card:hover {
  border-color: var(--smw-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--smw-accent) 12%, transparent) !important;
}

.smw-channel-card-active {
  border-color: var(--smw-accent) !important;
  background: color-mix(in srgb, var(--smw-accent) 6%, var(--smw-surface)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--smw-accent) 18%, transparent) !important;
}

.smw-channel-card-rec {
  border-color: var(--smw-accent) !important;
}

.smw-channel-card-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: .4rem !important;
  margin-bottom: .35rem !important;
}

.smw-channel-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 2px 7px !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.smw-badge-recommended {
  background: color-mix(in srgb, var(--smw-accent) 15%, transparent) !important;
  color: var(--smw-accent) !important;
}

.smw-badge-optional {
  background: #252830 !important;
  color: #94a3b8 !important;
}

.smw-channel-name {
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--smw-text) !important;
  line-height: 1.3 !important;
  width: 100% !important;
}

.smw-channel-desc {
  display: block !important;
  font-size: 11.5px !important;
  color: var(--smw-text-muted) !important;
  line-height: 1.45 !important;
  width: 100% !important;
}

.smw-channel-fit {
  display: inline-block !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
  color: var(--smw-text-muted) !important;
  margin-top: .1rem !important;
}

.smw-channel-rationale {
  display: block !important;
  font-size: 11px !important;
  color: var(--smw-text-muted) !important;
  font-style: italic !important;
  line-height: 1.4 !important;
  width: 100% !important;
}

.smw-channel-check {
  position: absolute !important;
  top: .5rem !important;
  right: .5rem !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  border: 2px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--smw-text-muted) !important;
  transition: border-color .15s, background .15s, color .15s !important;
  line-height: 1 !important;
}

.smw-channel-card-active .smw-channel-check {
  border-color: var(--smw-accent) !important;
  background: var(--smw-accent) !important;
  color: #fff !important;
}

/* Recommended card highlight */
.smw-channel-card-rec {
  border-color: var(--smw-accent) !important;
  background: color-mix(in srgb, var(--smw-accent) 4%, var(--smw-surface)) !important;
}

.smw-channel-badge {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  padding: 2px 7px !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
  background: color-mix(in srgb, var(--smw-accent) 15%, transparent) !important;
  color: var(--smw-accent) !important;
  margin-bottom: .1rem !important;
}

.smw-channel-select-hint {
  font-size: 12px !important;
  color: var(--smw-text-muted) !important;
  margin-bottom: .75rem !important;
}

.smw-channel-select-hint strong {
  color: var(--smw-accent) !important;
}

/* ============================================================
   v2.0.0 — Vertrieb Sidebar Button
   ============================================================ */

.smw-dash-vertrieb-btn {
  display: block !important;
  width: 100% !important;
  margin-top: .75rem !important;
  padding: .55rem .75rem !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--smw-accent) !important;
  background: color-mix(in srgb, var(--smw-accent) 8%, transparent) !important;
  border: 1.5px solid color-mix(in srgb, var(--smw-accent) 35%, transparent) !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  text-align: center !important;
  transition: background .15s, border-color .15s !important;
  line-height: 1.3 !important;
}

.smw-dash-vertrieb-btn:hover {
  background: color-mix(in srgb, var(--smw-accent) 14%, transparent) !important;
  border-color: var(--smw-accent) !important;
}

/* ============================================================
   v2.0.0 — Export Phase (Phase 11)
   ============================================================ */

.smw-export-phases {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .4rem !important;
  margin-bottom: 1.25rem !important;
}

.smw-export-phase-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: .3rem !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  padding: .3rem .65rem !important;
  border-radius: 20px !important;
  background: color-mix(in srgb, var(--smw-accent) 10%, transparent) !important;
  color: var(--smw-accent) !important;
  border: 1px solid color-mix(in srgb, var(--smw-accent) 25%, transparent) !important;
}

.smw-export-phase-chip::before {
  content: '\2713' !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

.smw-export-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: .75rem !important;
  margin-top: 1rem !important;
}

.smw-export-card {
  border: 1.5px solid var(--smw-border) !important;
  border-radius: 10px !important;
  padding: 1rem !important;
  background: var(--smw-surface) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: .5rem !important;
  transition: border-color .15s, box-shadow .15s !important;
}

.smw-export-card:hover {
  border-color: var(--smw-accent) !important;
  box-shadow: 0 2px 12px color-mix(in srgb, var(--smw-accent) 12%, transparent) !important;
}

.smw-export-card-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--smw-text) !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
}

.smw-export-card-desc {
  font-size: 12px !important;
  color: var(--smw-text-muted) !important;
  line-height: 1.5 !important;
  flex: 1 !important;
}

.smw-export-link {
  display: inline-block !important;
  margin-top: auto !important;
  padding: .45rem .85rem !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: var(--smw-accent) !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  text-align: center !important;
  cursor: pointer !important;
  border: none !important;
  transition: opacity .15s !important;
}

.smw-export-link:hover { opacity: .87 !important; }

/* ============================================================
   v2.0.0 — Typing Indicator Dots
   ============================================================ */

.smw-typing-dots {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.smw-typing-dots span {
  display: inline-block !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--smw-text-muted) !important;
  animation: smw-dot-bounce .9s infinite ease-in-out !important;
}

.smw-typing-dots span:nth-child(2) { animation-delay: .15s !important; }
.smw-typing-dots span:nth-child(3) { animation-delay: .3s !important; }

@keyframes smw-dot-bounce {
  0%, 80%, 100% { transform: scale(.75); opacity: .5; }
  40%            { transform: scale(1);   opacity: 1;   }
}

/* ============================================================
   v2.0.0 — Vertrieb Opt-In Screen
   ============================================================ */

.smw-vertrieb-optin {
  text-align: center !important;
  padding: 2rem 1rem !important;
}

.smw-vertrieb-optin-icon {
  font-size: 2.5rem !important;
  margin-bottom: .75rem !important;
  line-height: 1 !important;
}

.smw-vertrieb-optin h3 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--smw-text) !important;
  margin: 0 0 .5rem !important;
}

.smw-vertrieb-optin p {
  font-size: 13px !important;
  color: var(--smw-text-muted) !important;
  margin: 0 0 1.25rem !important;
  max-width: 380px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.smw-vertrieb-optin-actions {
  display: flex !important;
  gap: .6rem !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

/* ============================================================
   v2.0.0 — Media-Rec Confirm Banner
   ============================================================ */

.smw-mediarec-confirmed {
  display: flex !important;
  align-items: flex-start !important;
  gap: .75rem !important;
  background: color-mix(in srgb, var(--smw-accent) 7%, var(--smw-surface)) !important;
  border: 1.5px solid color-mix(in srgb, var(--smw-accent) 30%, transparent) !important;
  border-radius: 10px !important;
  padding: .9rem 1rem !important;
  margin-bottom: 1rem !important;
}

.smw-mediarec-confirmed-icon {
  font-size: 1.25rem !important;
  flex-shrink: 0 !important;
  line-height: 1.4 !important;
}

.smw-mediarec-confirmed-body {
  flex: 1 !important;
}

.smw-mediarec-confirmed-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--smw-text) !important;
  margin-bottom: .3rem !important;
}

.smw-mediarec-confirmed-channels {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .35rem !important;
}

.smw-mediarec-channel-pill {
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 2px 9px !important;
  border-radius: 20px !important;
  background: var(--smw-accent) !important;
  color: #fff !important;
}

/* ============================================================
   v2.0.1 — Sticky input bar
   ============================================================ */

/* Input area sticks to the bottom of the scrolling left panel */
.smw-input-sticky {
  position: sticky !important;
  bottom: 0 !important;
  background: var(--smw-bg) !important;
  /* Extend border-top full width via box-shadow (not clipped by overflow) */
  box-shadow: 0 -1px 0 var(--smw-border), 0 -8px 20px 4px var(--smw-bg) !important;
  padding-top: .875rem !important;
  padding-bottom: .75rem !important;
  margin-top: 1rem !important;
  z-index: 10 !important;
}

/* ============================================================
   v2.0.1 — Dashboard cards & section separation
   ============================================================ */

.smw-dash-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 1.25rem !important;
  padding-bottom: .75rem !important;
  border-bottom: 1px solid var(--smw-border) !important;
  flex-shrink: 0 !important;
}

.smw-dash-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--smw-text) !important;
  margin: 0 !important;
}

.smw-dash-body {
  display: flex !important;
  flex-direction: column !important;
  gap: .875rem !important;
}

.smw-dash-card {
  background: var(--smw-bg) !important;
  border: 1px solid var(--smw-border) !important;
  border-radius: var(--smw-radius) !important;
  padding: 1rem 1.1rem !important;
  transition: border-color .2s !important;
}

.smw-dash-card-active {
  border-color: color-mix(in srgb, var(--smw-accent) 50%, transparent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--smw-accent) 8%, transparent) !important;
}

.smw-dash-card-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--smw-text-muted) !important;
  margin: 0 0 .6rem !important;
  padding-bottom: .4rem !important;
  border-bottom: 1px solid var(--smw-border) !important;
}

/* Version badge */
.smw-version-badge {
  position: absolute !important;
  bottom: .5rem !important;
  right: .75rem !important;
  font-size: 10px !important;
  color: var(--smw-text-muted) !important;
  opacity: .5 !important;
  pointer-events: none !important;
  letter-spacing: .03em !important;
}

/* ── Hypothesis label ────────────────────────────────────────────────────── */
.smw-hyp {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  cursor: default !important;
  vertical-align: middle !important;
}

.smw-hyp-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: var(--smw-gold) !important;
  color: var(--smw-text) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  font-style: normal !important;
  margin-left: .25rem !important;
  opacity: .85 !important;
  flex-shrink: 0 !important;
}

.smw-hyp-tooltip {
  display: none !important;
  position: absolute !important;
  left: 50% !important;
  bottom: calc(100% + 6px) !important;
  transform: translateX(-50%) !important;
  background: var(--smw-text) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  padding: .4rem .6rem !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
  max-width: 220px !important;
  white-space: normal !important;
  z-index: 100 !important;
  pointer-events: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
}

.smw-hyp:hover .smw-hyp-tooltip {
  display: block !important;
}

/* ── Tandem-Modus ────────────────────────────────────────────────────────── */
.smw-tandem-setup {
  padding: .75rem 0 !important;
}

.smw-tandem-toggle-label {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--smw-text) !important;
  cursor: pointer !important;
  user-select: none !important;
}

.smw-tandem-toggle-label input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  cursor: pointer !important;
}

.smw-tandem-role-btns {
  display: flex !important;
  gap: .5rem !important;
  flex-wrap: wrap !important;
}

.smw-tandem-role-btn {
  padding: .4rem .9rem !important;
  border-radius: 20px !important;
  border: 2px solid var(--smw-border) !important;
  background: var(--smw-bg) !important;
  color: var(--smw-text) !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: all .15s !important;
  font-family: inherit !important;
}

.smw-tandem-role-btn.active {
  border-color: var(--smw-primary) !important;
  background: var(--smw-primary) !important;
  color: var(--smw-text) !important;
  font-weight: 600 !important;
}

/* Tandem bar in dialogue */
.smw-tandem-bar {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  padding: .5rem .75rem !important;
  background: var(--smw-bg-secondary) !important;
  border: 1px solid var(--smw-border) !important;
  border-radius: var(--smw-radius-sm) !important;
  margin-bottom: .75rem !important;
  flex-wrap: wrap !important;
}

.smw-tandem-bar-label {
  font-size: 12px !important;
  color: var(--smw-text-muted) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  margin-right: .25rem !important;
}

/* Role indicator in input label */
.smw-tandem-role-indicator {
  font-size: 12px !important;
  font-weight: 600 !important;
  opacity: .8 !important;
  margin-left: .5rem !important;
}

/* Role badge on messages */
.smw-tandem-msg-badge {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: .15rem .45rem !important;
  border-radius: 4px !important;
  margin-bottom: .2rem !important;
  opacity: .85 !important;
}

.smw-tandem-msg-marketing {
  background: #1a2a4a !important;
  color: #60a5fa !important;
}

.smw-tandem-msg-vertrieb {
  background: #2d1f0e !important;
  color: #fb923c !important;
}

/* Role dot — CSS circle instead of emoji for reliable rendering */
.smw-role-dot {
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  margin-right: 5px !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}

.smw-role-dot-m {
  background: #60a5fa !important; /* blue — Marketing */
}

.smw-role-dot-v {
  background: #fb923c !important; /* orange — Vertrieb */
}


/* ══════════════════════════════════════════════════════════════
   Kröger Dark Theme v3.2.0 — additions
   ══════════════════════════════════════════════════════════════ */

/* Noise grain overlay */
#uplift-workshop::after {
  content: '' !important; position: fixed !important; inset: 0 !important;
  pointer-events: none !important; z-index: 99998 !important; opacity: .03 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E") !important;
}

/* Scrollbars */
#uplift-workshop ::-webkit-scrollbar { width: 5px !important; height: 5px !important; }
#uplift-workshop ::-webkit-scrollbar-track { background: transparent !important; }
#uplift-workshop ::-webkit-scrollbar-thumb { background: var(--smw-border) !important; border-radius: 3px !important; }
#uplift-workshop ::-webkit-scrollbar-thumb:hover { background: var(--smw-text-muted) !important; }

/* Placeholder + focus ring */
#uplift-workshop textarea::placeholder,
#uplift-workshop input::placeholder { color: var(--smw-text-muted) !important; opacity: .6 !important; }
#uplift-workshop textarea:focus,
#uplift-workshop input:focus { box-shadow: 0 0 0 2px color-mix(in srgb, var(--smw-primary) 35%, transparent) !important; }

/* Select */
#uplift-workshop select { background: var(--smw-bg-secondary) !important; color: var(--smw-text) !important; border-color: var(--smw-border) !important; }

/* Btn ghost */
.smw-btn-ghost {
  background: transparent !important; border: 1px solid var(--smw-border) !important;
  color: var(--smw-text-muted) !important; border-radius: var(--smw-radius-sm) !important;
  padding: 5px 12px !important; font-size: 13px !important; cursor: pointer !important;
  transition: border-color .2s, color .2s !important;
}
.smw-btn-ghost:hover { border-color: var(--smw-primary) !important; color: var(--smw-text) !important; }

/* Header actions */
.smw-header-actions {
  display: flex !important; align-items: center !important;
  gap: .4rem !important; flex-shrink: 0 !important; margin-left: auto !important;
}

/* Body grid: phase-nav + chat + dashboard */
.smw-body { grid-template-columns: 130px 1fr 1fr !important; }

/* Phase nav sidebar */
.smw-phase-nav {
  width: 130px !important; flex-shrink: 0 !important; background: var(--smw-bg) !important;
  border-right: 1px solid var(--smw-border) !important; overflow-y: auto !important; padding: .75rem .5rem !important;
}
.smw-phase-nav-inner { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.smw-phase-nav-item {
  display: block !important; width: 100% !important; text-align: left !important;
  padding: .45rem .65rem !important; font-size: 12px !important; font-weight: 500 !important;
  color: var(--smw-text-muted) !important; background: none !important; border: none !important;
  border-radius: 6px !important; border-left: 2px solid transparent !important;
  cursor: pointer !important; white-space: nowrap !important; overflow: hidden !important;
  text-overflow: ellipsis !important; transition: all .15s !important;
  outline: none !important; -webkit-appearance: none !important; appearance: none !important;
}
.smw-phase-nav-item:not(:disabled):hover {
  background: color-mix(in srgb, var(--smw-primary) 10%, var(--smw-bg)) !important;
  color: var(--smw-text) !important; border-left-color: var(--smw-primary) !important;
}
.smw-phase-nav-item.smw-phase-nav-active {
  background: color-mix(in srgb, var(--smw-primary) 16%, var(--smw-bg)) !important;
  color: var(--smw-primary) !important; font-weight: 600 !important;
  cursor: default !important; border-left-color: var(--smw-primary) !important;
}
.smw-phase-nav-item.smw-phase-nav-done { color: var(--smw-text) !important; }
.smw-phase-nav-item:disabled:not(.smw-phase-nav-active) { opacity: .35 !important; cursor: default !important; }

/* Mobile tabs — hidden by default, only shown ≤680px */
.smw-mobile-tabs { display: none !important; }

@media (max-width: 680px) {
  .smw-header { padding: 0 .75rem !important; gap: .5rem !important; min-height: 44px !important; }
  .smw-header-title { display: none !important; }
  .smw-header-btn-export { display: none !important; }
  .smw-btn-ghost { font-size: 12px !important; padding: .25rem .5rem !important; }
  .smw-phase-nav { display: none !important; }
  .smw-body { grid-template-columns: 1fr !important; display: flex !important; flex-direction: column !important; }
  .smw-mobile-tabs {
    display: flex !important; flex-shrink: 0 !important;
    border-bottom: 1px solid var(--smw-border) !important; background: var(--smw-bg) !important;
  }
  .smw-mobile-tab {
    flex: 1 !important; padding: .6rem 1rem !important; font-size: 14px !important;
    font-weight: 500 !important; color: var(--smw-text-muted) !important; cursor: pointer !important;
    border: none !important; border-bottom: 2px solid transparent !important; background: none !important;
    touch-action: manipulation !important;
  }
  .smw-mobile-tab.smw-mobile-tab--active {
    color: var(--smw-primary) !important; border-bottom-color: var(--smw-primary) !important;
  }
  .smw-body[data-tab="chat"] .smw-right { display: none !important; }
  .smw-body[data-tab="dashboard"] .smw-left { display: none !important; }
  .smw-left, .smw-left--dialogue { flex: 1 !important; min-height: 0 !important; border-right: none !important; }
  .smw-right { flex: 1 !important; min-height: 0 !important; overflow-y: auto !important; }
  .smw-textarea { font-size: 16px !important; min-height: 64px !important; }
  .smw-channel-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .smw-version-badge { display: none !important; }
}

@media (max-width: 900px) {
  .smw-body { grid-template-columns: 1fr !important; }
  .smw-phase-nav { display: none !important; }
}
