/* AI Proposition page scoped styles */

/* Theme tokens and gradients for the AI proposition experience */
.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: #07f7ff;
  --text-amber: #e8b84f;
  --bg-input: #1B1D3C;
  --border-strong: #333;
  --option-grid-border: rgba(255, 255, 255, 0.18);
  --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%
  );
}

/* Step header navigation buttons (Previous/Next) */
.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;
}

/* Shared option grid (Free Will + Legacy events) */
.ai-proposition-page .option-grid-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  overflow: hidden;
}

.ai-proposition-page .option-grid-heading {
  /* Left column headers for each category row */
  color: var(--accent-primary);
  font-size: 16px;
    padding: 10px 10px 10px 12px;
    text-align: right !important;
    white-space: normal;
    word-break: break-word;
  background: var(--side-card-bg);
  border: 1px solid var(--option-grid-border);
  border-bottom: 5px solid var(--option-grid-border);
  border-radius: 0;
  
}

.ai-proposition-page .option-grid-cell {
  /* Wrapper cell holding the checklist grid for each category */
  padding: 0;
  border: 1px solid var(--option-grid-border);
  border-bottom: 5px solid var(--option-grid-border);
  background: var(--side-card-bg);
  border-radius: 0;
}

/* Remove the heavy bottom border on the last grid row */
.ai-proposition-page .option-grid-table tr:last-child .option-grid-cell {
  border-bottom: 1px solid var(--option-grid-border);
}

/* Match header bottom treatment: remove the heavy border on the last row */
.ai-proposition-page .option-grid-table tr:last-child .option-grid-heading {
  border-bottom: 1px solid var(--option-grid-border);
}

.ai-proposition-page .option-grid-button {
  /* Legacy option buttons (used by build_option_grid) */
  display: block;
  width: 100%;
  min-height: 76px;
  padding: 12px 14px;
  border: none;
  border-radius: 0;
  background: var(--side-card-bg);
  color: #fff;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
  cursor: pointer;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  box-shadow: none;
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.ai-proposition-page .option-grid-button:hover,
.ai-proposition-page .option-grid-button:focus-visible {
  transform: translateY(-1px);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.26),
    0 10px 22px rgba(0, 0, 0, 0.45);
  outline: none;
}

.ai-proposition-page .option-grid-button--selected {
  background: var(--side-card-bg);
  color: var(--accent-primary);
  border-color: var(--accent-primary);
  font-weight: 500;
  box-shadow: inset 0 0 0 1px #fff;
}

/* Objective grid layout (row headers, option columns) */
.ai-proposition-page .objective-option-grid {
  border-radius: 1rem;
  overflow: hidden;
}

.ai-proposition-page .objective-option-grid .option-grid-heading {
  /* Category labels on the left for objectives */
  text-align: left;
  font-weight: 600;
  width: 190px;
}

.ai-proposition-page .objective-option-grid .option-grid-cell {
  /* Table cell holding the objective checklist pills */
  padding: 10px 12px;
}

.ai-proposition-page .objective-row-grid {
  /* Grid layout for objective options within a row */
  display: grid;
  grid-auto-rows: 1fr;
  gap: 10px;
  align-items: stretch;
}

.ai-proposition-page .objective-row-grid .form-check {
  margin: 0;
  height: 100%;
  display: flex;
  align-items: stretch;
}

.ai-proposition-page .objective-grid-pill {
  /* Individual objective option pill (checklist label) */
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 14px 14px 14px 42px;
  line-height: 1.35;
  width: 100%;
  height: 100%;
}

/* Objective grid pills: borderless, even though global pills have borders */
.ai-proposition-page .objective-row-grid .pill-check-label {
  border: none;
}

.ai-proposition-page .objective-row-grid .pill-check-input:checked + .pill-check-label {
  border: none;
}

@media (max-width: 991.98px) {
  /* Stack objective grid on md and down: headers above category options */
  .ai-proposition-page .objective-option-grid,
  .ai-proposition-page .objective-option-grid tbody,
  .ai-proposition-page .objective-option-grid tr,
  .ai-proposition-page .objective-option-grid th,
  .ai-proposition-page .objective-option-grid td {
    display: block;
    width: 100%;
  }

  .ai-proposition-page .objective-option-grid .option-grid-heading {
    text-align: left;
    padding: 10px 0 6px;
    border-left: none;
    border-right: none;
  }

  .ai-proposition-page .objective-option-grid .option-grid-cell {
    padding: 0 0 12px;
    border-left: none;
    border-right: none;
  }

  .ai-proposition-page .objective-row-grid {
    grid-template-columns: 1fr !important;
  }
}

.ai-proposition-page .objective-row-grid .pill-check-label::before {
  /* Align checkbox indicator with top of multi-line text */
  top: 14px;
  transform: none;
}

/* Objective buttons styled pills */
.ai-proposition-page .objective-button-group .form-check {
  margin-bottom: 10px;
}

.ai-proposition-page .objective-pill-input {
  /* Hidden radio input for objective selector (left column) */
  display: none;
}

.ai-proposition-page .objective-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: 1fr;
  gap: 8px;
  margin-bottom: 18px;
}

.ai-proposition-page .objective-grid .form-check {
  margin-bottom: 0;
  height: 100%;
}

.ai-proposition-page .objective-pill-label {
  /* Visible pill for objective radio options */
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: var(--side-card-bg);
  color: #fff;
  font-weight: 300;
  text-align: center;
  cursor: pointer;
  min-height: 30px;
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease, background-color 120ms ease;
  position: relative;
  overflow: hidden;
}

.ai-proposition-page .objective-pill-label:hover,
.ai-proposition-page .objective-pill-label:focus-visible {
  transform: none;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.18);
  outline: none;
}

.ai-proposition-page .objective-radio-grid .objective-pill-label::before {
  /* Circular indicator for objective radio (unchecked state) */
  content: "";
  position: absolute;
  top: 16px;
  left: 10px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.4);
  background: transparent;
  box-sizing: border-box;
}

.ai-proposition-page .objective-radio-grid .objective-pill-input:checked + .objective-pill-label::before {
  /* Fill the radio indicator when selected */
  border-color: rgba(255, 255, 255, 0.18);
  background: var(--accent-primary);

}

.ai-proposition-page .objective-pill-input:checked + .objective-pill-label {
  /* Styling for selected objective pill */
  background: var(--side-card-bg);
  color: #fff;
  border-color: #fff;
  box-shadow:
    inset 0 0 0 1px #fff,
    0 10px 22px rgba(0, 0, 0, 0.45);
}

/* Pill-style checklists (drivers, psychographics, DDM) */
.ai-proposition-page .pill-checklist .form-check {
  margin-bottom: 8px;
}

.ai-proposition-page .pill-check-input {
  /* Hidden checkbox input controlling pill state */
  display: none;
}

.ai-proposition-page .pill-check-label {
  /* Visible pill label for checklist items */
  display: block;
  width: 100%;
  padding: 12px 14px 12px 42px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: var(--side-card-bg);
  color: #fff;
  font-weight: 300;
  text-align: left;
  cursor: pointer;
  min-height: 50px;
  line-height: 1.35;
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease, background-color 120ms ease;
  position: relative;
}

.ai-proposition-page .pill-check-label::before {
  /* Square checkbox indicator (unchecked state) */
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  border-radius: 4px;
  background: transparent;
  box-sizing: border-box;
  transition: all 120ms ease;
}

.ai-proposition-page .pill-check-label:hover,
.ai-proposition-page .pill-check-label:focus-visible {
  transform: none;
  box-shadow: none;
  border-color: rgba(255, 255, 255, 0.18);
  outline: none;
}

.ai-proposition-page .pill-check-input:checked + .pill-check-label {
  background: var(--side-card-bg);
  color: #fff;
  border-color: #fff;
  box-shadow: none;
}

.ai-proposition-page .pill-check-input:checked + .pill-check-label::before {
  /* Checkmark inside the square when selected */
  background: #fff;
  border-color: #fff;
  content: "✓";
  color: #111;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Event grids (legacy event options) */
.ai-proposition-page .event-groups-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}

.ai-proposition-page .event-group {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: var(--side-card-bg);
  padding: 8px 10px;
}

.ai-proposition-page .event-option-heading {
  color: #f4c542;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 6px;
}

.ai-proposition-page .event-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px;
}

.ai-proposition-page .event-grid .form-check {
  margin-bottom: 0;
}

.ai-proposition-page .event-pill-label {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: var(--side-card-bg);
  color: #fff;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  min-height: 58px;
  transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease, background-color 120ms ease;
}

.ai-proposition-page .event-pill-label:hover,
.ai-proposition-page .event-pill-label:focus-visible {
  transform: translateY(-1px);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.26),
    0 10px 22px rgba(0, 0, 0, 0.45);
  border-color: rgba(255, 255, 255, 0.26);
  outline: none;
}

.ai-proposition-page .event-pill-input:checked + .event-pill-label {
  background: var(--side-card-bg);
  color: #111;
  border-color: #fff;
  box-shadow:
    inset 0 0 0 1px #fff,
    0 10px 22px rgba(0, 0, 0, 0.45);
}

/* Accent variants for nav buttons (success/danger) */
.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;
}

/* Text and border utility helpers on this page */
.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);
}

/* Card surfaces for proposition + sidebar panels (glass effect) */
.ai-proposition-page .clickable-card {
  position: relative;
  z-index: 0; /* establish stacking for ring pseudo */
  isolation: isolate;
  overflow: hidden;
  border-radius: 1rem;
  background-color: var(--side-card-bg) !important;
  background-clip: padding-box;
  -webkit-backdrop-filter: blur(2px) !important;
  backdrop-filter: blur(3px) !important;
  filter: saturate(120%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.20),
    0 6px 16px rgba(0, 0, 0, 0.40) !important;
  background-image: none !important;
  transition: none !important;
}

/* Stronger override to beat global clickable-card reset */
.ai-proposition-page .sidebar-card .clickable-card,
.ai-proposition-page .clickable-card:not(.no-hover) {
  background-color: var(--side-card-bg) !important;
  background-image: none !important;
}

/* Disable hover glow for cards (proposition and similar) by keeping hover identical to rest state */
.ai-proposition-page .clickable-card:hover,
.ai-proposition-page .clickable-card:focus-visible {
  transform: none !important;
  border: none !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.20),
    0 6px 16px rgba(0, 0, 0, 0.40) !important;
  filter: none !important;
}

.ai-proposition-page .clickable-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  border: 1px solid transparent;
  background: linear-gradient(
    to right,
    rgba(209, 202, 202, 0.116),
    rgba(255, 255, 255, 0.05)
  ) border-box;
  mask:
    linear-gradient(black, black) border-box,
    linear-gradient(black, black) padding-box;
  mask-composite: subtract;
  -webkit-mask-composite: destination-out;
}

/* Sidebar cards: allow hover only when active (pointer events enabled) */
.ai-proposition-page .sidebar-card .clickable-card {
  transition: box-shadow 0.15s ease, border 0.15s ease;
}

.ai-proposition-page .sidebar-card .clickable-card:hover {
  border: 1px solid #6cc4ff !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.20),
    0 6px 16px rgba(0, 0, 0, 0.40) !important;
}

.ai-proposition-page .proposition-gradient-card {
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35) !important;
  border: none !important;
  transition: none !important;
  filter: none !important;
}

.ai-proposition-page .proposition-gradient-card:hover,
.ai-proposition-page .proposition-gradient-card:focus-visible {
  transform: none !important;
  border: none !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35) !important;
  filter: none !important;
}

/* Text color utilities for consistent theming */
.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 / communications brief 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: 1.18rem;
  margin: 0.45rem 0 0.2rem;
  font-weight: 800;
}

.ai-proposition-page .brief-text h1,
.ai-proposition-page .brief-text h2,
.ai-proposition-page .brief-text h3,
.ai-proposition-page .brief-text h4,
.ai-proposition-page .brief-text h5,
.ai-proposition-page .brief-text h6 {
  font-size: 1.2rem;
  margin: 0.5rem 0 0.4rem;
  font-weight: 600;
}

.ai-proposition-page .impl-ideas-text p,
.ai-proposition-page .impl-ideas-text li {
  margin: 0.1rem 0 0.45rem;
  font-size: 0.98rem;
  text-align: justify;
}

.ai-proposition-page .brief-text p,
.ai-proposition-page .brief-text li {
  margin: 0.12rem 0 1.2rem;
  font-size: 1.02rem;
  text-align: justify;
}

.ai-proposition-page .brief-text {
  color: var(--proposition-text-color);
  line-height: 1.65;
}

/* Scrollbar styling for brief content (use charity primary color) */
#implementation-ideas {
  scrollbar-color: var(--proposition-primary-color) color-mix(in srgb, var(--proposition-primary-color) 10%, transparent);
}

#implementation-ideas::-webkit-scrollbar {
  width: 8px;
}

#implementation-ideas::-webkit-scrollbar-track {
  background: color-mix(in srgb, var(--proposition-primary-color) 10%, transparent);
}

#implementation-ideas::-webkit-scrollbar-thumb {
  background: var(--proposition-primary-color);
  border-radius: 10px;
}

#implementation-ideas::-webkit-scrollbar-thumb:hover {
  background: color-mix(in srgb, var(--proposition-primary-color) 86%, white);
}

/* Input surfaces (textareas, text inputs) */
.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;
}

/* Mobile: hide the stepper on very small screens */
@media (max-width: 575.98px) {
  #stepper-container {
    display: 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;
}
