/* AI Proposition page scoped styles */

.ai-proposition-page {
  --accent-primary: #ffffff; /* single accent source */
  --accent-primary-strong: color-mix(in srgb, var(--accent-primary) 88%, white);
  --accent-primary-soft: color-mix(in srgb, var(--accent-primary) 16%, transparent);
  --accent-success: var(--accent-primary);
  --accent-success-strong: var(--accent-primary-strong);
  --side-card-bg: #11162b;
  --panel-accent: var(--side-card-bg);
  --text-primary: #fff;
  --text-strong: #f3f4f6;
  --text-soft: #e5e7eb;
  --text-muted: #ddd;
  --text-faint: #ccc;
  --text-dim: #aaa;
  --text-gray: #9ca3af;
  --text-gold: #ffffff;
  --text-amber: #e8b84f;
  --bg-input: #1B1D3C;
  --border-strong: #333;
  --card-gradient-a: linear-gradient(
    135deg,
    color-mix(in srgb, var(--accent-primary) 18%, #0f1220) 0%,
    color-mix(in srgb, var(--accent-primary) 8%, #0a0c16) 100%
  );
  --card-gradient-b: linear-gradient(
    135deg,
    color-mix(in srgb, var(--accent-primary) 22%, #101425) 0%,
    color-mix(in srgb, var(--accent-primary) 10%, #0b0e18) 100%
  );
}

.ai-proposition-page .nav-button {
  background: transparent !important;
  border: 1.5px solid var(--accent-primary) !important;
  color: var(--accent-primary) !important;
  border-radius: 6px !important;
  padding: 8px 16px !important;
  min-width: 90px;
  transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.ai-proposition-page .nav-button:hover,
.ai-proposition-page .nav-button:focus-visible {
  color: var(--accent-primary-strong) !important;
  border-color: var(--accent-primary-strong) !important;
  background-color: var(--accent-primary-soft) !important;
  text-decoration: none;
}

.ai-proposition-page .nav-button.nav-button-primary {
  background: var(--proposition-primary-color) !important;
  border-color: var(--proposition-primary-color) !important;
  color: #fff !important;
}

.ai-proposition-page .nav-button.nav-button-primary:hover,
.ai-proposition-page .nav-button.nav-button-primary:focus-visible {
  background: color-mix(in srgb, var(--proposition-primary-color) 92%, white) !important;
  border-color: color-mix(in srgb, var(--proposition-primary-color) 92%, white) !important;
  color: #fff !important;
}

.ai-proposition-page .nav-button-success {
  border-color: var(--accent-success) !important;
  color: var(--accent-success) !important;
}

.ai-proposition-page .nav-button-success:hover,
.ai-proposition-page .nav-button-success:focus-visible {
  color: var(--accent-success-strong) !important;
  border-color: var(--accent-success-strong) !important;
  background-color: color-mix(in srgb, var(--accent-primary) 14%, transparent) !important;
}

.ai-proposition-page .nav-button-danger {
  border-color: #dc3545 !important;
  color: #dc3545 !important;
}

.ai-proposition-page .nav-button-danger:hover,
.ai-proposition-page .nav-button-danger:focus-visible {
  color: #f17c8a !important;
  border-color: #f17c8a !important;
  background-color: rgba(220, 53, 69, 0.14) !important;
}

.ai-proposition-page #delete-proposition-btn.nav-button:hover,
.ai-proposition-page #delete-prop-confirm.nav-button:hover,
.ai-proposition-page #delete-proposition-btn.nav-button:focus-visible,
.ai-proposition-page #delete-prop-confirm.nav-button:focus-visible {
  color: #f17c8a !important;
  border-color: #f17c8a !important;
  background-color: rgba(220, 53, 69, 0.14) !important;
}

.ai-proposition-page .text-accent {
  color: var(--accent-primary) !important;
}

.ai-proposition-page .text-accent-success {
  color: var(--accent-success) !important;
}

.ai-proposition-page .text-accent-success-glow {
  color: var(--accent-success) !important;
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--accent-primary) 40%, transparent));
  transition: all 0.2s ease;
}

.ai-proposition-page .border-accent {
  border: 1.5px solid var(--accent-primary) !important;
}

.ai-proposition-page .panel-accent {
  background: var(--panel-accent);
  border: 1.5px solid var(--accent-primary);
}

.ai-proposition-page .clickable-card {
  background-color: var(--side-card-bg) !important;
  background-image: none !important;
}
.ai-proposition-page .text-primary { color: var(--text-primary) !important; }
.ai-proposition-page .text-strong { color: var(--text-strong) !important; }
.ai-proposition-page .text-soft { color: var(--text-soft) !important; }
.ai-proposition-page .text-muted { color: var(--text-muted) !important; }
.ai-proposition-page .text-faint { color: var(--text-faint) !important; }
.ai-proposition-page .text-dim { color: var(--text-dim) !important; }
.ai-proposition-page .text-gray { color: var(--text-gray) !important; }
.ai-proposition-page .text-gold { color: var(--text-gold) !important; }
.ai-proposition-page .text-amber { color: var(--text-amber) !important; }

/* Implementation ideas markdown tweaks */
.ai-proposition-page .impl-ideas-text h1,
.ai-proposition-page .impl-ideas-text h2,
.ai-proposition-page .impl-ideas-text h3,
.ai-proposition-page .impl-ideas-text h4,
.ai-proposition-page .impl-ideas-text h5,
.ai-proposition-page .impl-ideas-text h6 {
  font-size: 0.98rem;
  margin: 0.35rem 0 0.15rem;
  font-weight: 700;
}
.ai-proposition-page .impl-ideas-text p {
  margin: 0.1rem 0 0.4rem;
  font-size: 0.95rem;
}
.ai-proposition-page .input-surface {
  background-color: var(--bg-input) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 6px !important;
}
.ai-proposition-page .card-gradient-a {
  background: var(--card-gradient-a) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.35);
  border: none !important;
}
.ai-proposition-page .card-gradient-b {
  background: var(--card-gradient-b) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.35);
  border: none !important;
}

/* Stepper circles (accent-derived) */
.ai-proposition-page .step-circle {
  background: transparent;
  color: color-mix(in srgb, var(--accent-primary) 65%, transparent);
  border: 1.5px solid color-mix(in srgb, var(--accent-primary) 22%, transparent);
  box-shadow: none;
}

.ai-proposition-page .step-circle--completed {
  background: transparent;
  color: var(--accent-primary);
  border: 1.5px solid color-mix(in srgb, var(--accent-primary) 55%, transparent);
  box-shadow: none;
}

.ai-proposition-page .step-circle--active {
  background: color-mix(in srgb, var(--accent-primary) 14%, transparent);
  color: var(--accent-primary);
  border: 1.5px solid color-mix(in srgb, var(--accent-primary) 55%, transparent);
  box-shadow: none;
}

.ai-proposition-page .step-circle--active::before {
  background: conic-gradient(
    color-mix(in srgb, var(--accent-primary) 88%, transparent) 0deg 120deg,
    color-mix(in srgb, var(--accent-primary) 46%, transparent) 120deg 240deg,
    color-mix(in srgb, var(--accent-primary) 18%, transparent) 240deg 360deg
  );
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 5px), black 100%);
          mask: radial-gradient(farthest-side, transparent calc(100% - 5px), black 100%);
  animation: none !important;
  opacity: 0;
  pointer-events: none;
}

.ai-proposition-page .step-circle--active::after {
  border: 0px solid color-mix(in srgb, var(--accent-primary) 14%, transparent);
  animation: none !important;
  opacity: 0;
  pointer-events: none;
}

/* Step 9 proposition cards: tie gradients to accent */
.ai-proposition-page .proposition-gradient-card {
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35) !important;
  border: none !important;
}

.ai-proposition-page .proposition-gradient-card--source {
  background-color: rgba(255,255,255,0.9) !important;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.01)) !important;
  border: 1px solid rgba(15, 20, 37, 0.06) !important;
  color: #0f1425 !important;
}

.ai-proposition-page .proposition-gradient-card--generated {
  background-color: rgba(255,255,255,0.9) !important;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.01)) !important;
  border: 1px solid rgba(15, 20, 37, 0.06) !important;
  color: #0f1425 !important;
}

.ai-proposition-page .proposition-gradient-card--source,
.ai-proposition-page .proposition-gradient-card--generated {
  color: var(--proposition-text-color, #0f1425) !important;
}

.ai-proposition-page #impl-suggestions-loading,
.ai-proposition-page #impl-suggestions-loading *,
.ai-proposition-page #implementation-suggestions,
.ai-proposition-page #implementation-suggestions * {
  color: #fff !important;
}

/* Dropdowns: match sidebar card surface */
.ai-proposition-page .Select-control {
  background: var(--side-card-bg) !important;
  border: 1px solid color-mix(in srgb, var(--accent-primary) 28%, #222) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28) !important;
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 4px 10px;
  font-size: 20px;
}

.ai-proposition-page .Select-placeholder,
.ai-proposition-page .Select-input > input,
.ai-proposition-page .Select-value,
.ai-proposition-page .Select-value-label,
.ai-proposition-page .Select--multi .Select-value {
  color: var(--text-soft) !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  display: flex;
  align-items: center;
  padding: 1;
}

.ai-proposition-page .Select-input > input {
  pointer-events: none;
  caret-color: transparent;
}

/* Make dropdown input non-typable but keep selection clicks working */
.ai-proposition-page .Select-input > input {
  pointer-events: none;
  caret-color: transparent;
  
}

.ai-proposition-page .Select-arrow-zone,
.ai-proposition-page .Select-clear-zone {
  margin-left: auto;
  display: flex;
  align-items: center;
  padding-left: 6px;
}

.ai-proposition-page .Select-clear-zone {
  display: none !important;
}

.ai-proposition-page .Select-menu-outer {
  background: var(--side-card-bg) !important;
  border: 1px solid color-mix(in srgb, var(--accent-primary) 32%, #222) !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.42) !important;
}

.ai-proposition-page .Select-option {
  color: var(--text-strong) !important;
  background: transparent !important;
  font-size: 16px;
  align-items: center;
  padding-left: 6px;
}

.ai-proposition-page .Select-control .Select-multi-value-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.ai-proposition-page .Select-option.is-focused,
.ai-proposition-page .Select-option.is-selected {
  background: color-mix(in srgb, var(--accent-primary) 16%, transparent) !important;
  color: var(--accent-primary-strong) !important;
}

.ai-proposition-page .Select-arrow,
.ai-proposition-page .Select-clear-zone {
  color: var(--text-muted) !important;
}

.ai-proposition-page .is-focused:not(.is-open) > .Select-control {
  border-color: color-mix(in srgb, var(--accent-primary) 38%, #2a2f46) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-primary) 24%, transparent) !important;
}

.ai-proposition-page .Select--multi .Select-value {
  background: color-mix(in srgb, var(--accent-primary) 14%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--accent-primary) 28%, #222) !important;
  color: var(--text-strong) !important;
  border-radius: 6px !important;
}
