@import "tailwindcss/base";
@import "tailwindcss/components";
@import "tailwindcss/utilities";

/* ===== BUTTONS ===== */
.btn {
  @apply inline-flex items-center justify-center gap-2 rounded-lg px-4 py-2.5 text-sm font-semibold
         transition-all duration-150 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2
         disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer;
}
.btn-primary {
  @apply btn bg-primary-600 text-white hover:bg-primary-700 focus:ring-primary-500 shadow-sm;
}
.btn-secondary {
  @apply btn bg-white text-gray-700 border border-gray-300 hover:bg-gray-50 focus:ring-primary-500;
}
.btn-danger {
  @apply btn bg-red-600 text-white hover:bg-red-700 focus:ring-red-500;
}
.btn-ghost {
  @apply btn bg-transparent text-gray-600 hover:bg-gray-100 hover:text-gray-900;
}
.btn-sm {
  @apply px-3 py-1.5 text-xs;
}
.btn-lg {
  @apply px-6 py-3 text-base;
}
.btn-icon {
  @apply btn p-2;
}

/* ===== FORM INPUTS ===== */
.input {
  @apply block w-full rounded-lg border border-gray-300 bg-white px-3 py-2.5 text-sm text-gray-900
         placeholder:text-gray-400 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20
         focus:outline-none transition-colors;
}
.input-error {
  @apply border-red-500 focus:border-red-500 focus:ring-red-500/20;
}
.label {
  @apply block text-sm font-medium text-gray-700 mb-1;
}
.select {
  @apply input appearance-none bg-no-repeat bg-right pr-10;
}
.textarea {
  @apply input resize-y min-h-[80px];
}

/* ===== CARDS ===== */
.card {
  @apply bg-white rounded-xl border border-gray-200 shadow-sm;
}
.card-padded {
  @apply card p-6;
}
.card-hover {
  @apply card hover:shadow-md hover:border-gray-300 transition-all duration-150;
}

/* ===== BADGES ===== */
.badge {
  @apply inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium;
}
.badge-primary {
  @apply badge bg-primary-100 text-primary-700;
}
.badge-success {
  @apply badge bg-emerald-100 text-emerald-700;
}
.badge-warning {
  @apply badge bg-amber-100 text-amber-700;
}
.badge-danger {
  @apply badge bg-red-100 text-red-700;
}
.badge-gray {
  @apply badge bg-gray-100 text-gray-600;
}

/* ===== TABLES ===== */
.table-container {
  @apply overflow-x-auto rounded-xl border border-gray-200;
}
.table {
  @apply min-w-full divide-y divide-gray-200;
}
.table thead {
  @apply bg-gray-50;
}
.table th {
  @apply px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider;
}
.table td {
  @apply px-4 py-3 text-sm text-gray-700 whitespace-nowrap;
}
.table tbody tr {
  @apply hover:bg-gray-50 transition-colors;
}

/* ===== PAGE LAYOUT ===== */
.page-header {
  @apply flex items-center justify-between mb-8;
}
.page-title {
  @apply text-2xl font-bold text-gray-900;
}
.page-subtitle {
  @apply text-sm text-gray-500 mt-1;
}

/* ===== SIDEBAR NAV ===== */
.nav-item {
  @apply flex items-center gap-3 px-3 py-2 rounded-lg text-sm font-medium text-gray-600
         hover:bg-gray-100 hover:text-gray-900 transition-colors;
}
.nav-item-active {
  @apply nav-item bg-primary-50 text-primary-700 hover:bg-primary-50 hover:text-primary-700;
}

/* ===== STAT CARDS ===== */
.stat-card {
  @apply card-padded flex flex-col;
}
.stat-card-value {
  @apply text-2xl font-bold text-gray-900;
}
.stat-card-label {
  @apply text-sm text-gray-500 mt-1;
}
.stat-card-trend-up {
  @apply text-xs font-medium text-emerald-600;
}
.stat-card-trend-down {
  @apply text-xs font-medium text-red-600;
}

/* ===== EMPTY STATES ===== */
.empty-state {
  @apply flex flex-col items-center justify-center py-16 text-center;
}
.empty-state-icon {
  @apply w-16 h-16 text-gray-300 mb-4;
}
.empty-state-title {
  @apply text-lg font-semibold text-gray-900 mb-2;
}
.empty-state-description {
  @apply text-sm text-gray-500 mb-6 max-w-sm;
}

/* ===== MODALS ===== */
.modal-backdrop {
  @apply fixed inset-0 bg-black/50 z-40;
}
.modal {
  @apply fixed inset-0 z-50 flex items-center justify-center p-4;
}
.modal-content {
  @apply bg-white rounded-xl shadow-xl w-full max-w-lg max-h-[85vh] overflow-y-auto;
}
.modal-header {
  @apply flex items-center justify-between p-6 border-b border-gray-200;
}
.modal-body {
  @apply p-6;
}
.modal-footer {
  @apply flex items-center justify-end gap-3 p-6 border-t border-gray-200;
}

/* ===== ALERTS / FLASH ===== */
.alert {
  @apply flex items-center gap-3 px-4 py-3 rounded-lg text-sm;
}
.alert-success {
  @apply alert bg-emerald-50 text-emerald-700 border border-emerald-200;
}
.alert-error {
  @apply alert bg-red-50 text-red-700 border border-red-200;
}
.alert-warning {
  @apply alert bg-amber-50 text-amber-700 border border-amber-200;
}
.alert-info {
  @apply alert bg-blue-50 text-blue-700 border border-blue-200;
}

/* ===== CHAT BUBBLES (playground + widget) ===== */
.chat-bubble-user {
  @apply max-w-[80%] ml-auto bg-primary-600 text-white rounded-2xl rounded-br-md px-4 py-2.5 text-sm;
}
.chat-bubble-assistant {
  @apply max-w-[80%] bg-white border border-gray-200 rounded-2xl rounded-bl-md px-4 py-2.5 text-sm
         prose prose-sm prose-gray;
}
.chat-typing-dots {
  @apply flex items-center gap-1 px-4 py-3;
}
.chat-typing-dot {
  @apply w-2 h-2 bg-gray-400 rounded-full animate-bounce;
}

/* ===== INLINE CHARTS (ApexCharts in chat) ===== */
.chat-chart-container {
  @apply w-full my-3 rounded-lg border border-gray-200 bg-white p-4 overflow-hidden;
}
.chat-chart-title {
  @apply text-xs font-medium text-gray-500 mb-2;
}
.chat-chart-loading {
  @apply flex items-center justify-center h-48 text-sm text-gray-400;
}

/* ===== MARKETING (landing, pricing, features) ===== */
.gradient-text {
  @apply bg-gradient-to-r from-primary-600 to-blue-600 bg-clip-text text-transparent;
}
.gradient-bg {
  @apply bg-gradient-to-r from-primary-600 to-blue-600;
}
.hero-section {
  @apply relative overflow-hidden bg-white py-24 sm:py-32;
}

/* ===== SLIM SELECT BASE (from slim-select/dist/slimselect.css) ===== */
:root{--ss-primary-color: #5897fb;--ss-bg-color: #ffffff;--ss-font-color: #4d4d4d;--ss-placeholder-color: #8d8d8d;--ss-disabled-color: #dcdee2;--ss-border-color: #dcdee2;--ss-highlight-color: #fffb8c;--ss-focus-color: var(--ss-primary-color);--ss-success-color: #00b755;--ss-error-color: #dc3545;--ss-main-height: 40px;--ss-content-height: 300px;--ss-search-height: 40px;--ss-option-height: auto;--ss-spacing-l: 9px;--ss-spacing-m: 7px;--ss-spacing-s: 5px;--ss-animation-timing: 0.2s;--ss-border-radius: 4px}
@keyframes ss-valueIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes ss-valueOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}
.ss-hide{display:none !important}
.ss-main{display:flex;flex-direction:row;position:relative;user-select:none;color:var(--ss-font-color);min-height:var(--ss-main-height);width:100%;padding:var(--ss-spacing-s);cursor:pointer;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;box-sizing:border-box;transition:background-color var(--ss-animation-timing);overflow:hidden}
.ss-main:focus{box-shadow:0 0 5px var(--ss-focus-color)}
.ss-main.ss-disabled{background-color:var(--ss-disabled-color);cursor:not-allowed}
.ss-main.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}
.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}
.ss-main.ss-dir-above{border-top-left-radius:0px;border-top-right-radius:0px}
.ss-main.ss-dir-below{border-bottom-left-radius:0px;border-bottom-right-radius:0px}
.ss-main .ss-values{display:inline-flex;flex-wrap:wrap;gap:var(--ss-spacing-m);flex:1 1 100%;min-width:0;max-width:100%;overflow:hidden}
.ss-main .ss-values .ss-placeholder{display:block;width:100%;min-width:0;padding:var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);margin:auto 0px auto 0px;line-height:1em;color:var(--ss-placeholder-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-main .ss-values .ss-max{display:flex;user-select:none;align-items:center;width:fit-content;font-size:12px;color:var(--ss-bg-color);line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m);background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius)}
.ss-main .ss-values .ss-single{display:block;margin:auto 0px auto var(--ss-spacing-s);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;max-width:calc(100% - 20px)}
.ss-main .ss-values .ss-value{display:flex;user-select:none;align-items:center;width:fit-content;max-width:100%;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);animation-name:ss-valueIn;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out;animation-fill-mode:both}
.ss-main .ss-values .ss-value.ss-value-out{animation-name:ss-valueOut;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out}
.ss-main .ss-values .ss-value .ss-value-text{flex:1;min-width:0;font-size:12px;line-height:1;color:var(--ss-bg-color);padding:var(--ss-spacing-s) var(--ss-spacing-m);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-main .ss-values .ss-value .ss-value-delete{display:flex;align-items:center;height:var(--ss-spacing-l);width:var(--ss-spacing-l);padding:var(--ss-spacing-s) var(--ss-spacing-m);cursor:pointer;border-left:solid 1px var(--ss-bg-color);box-sizing:content-box}
.ss-main .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}
.ss-main .ss-values .ss-value .ss-value-delete svg path{fill:none;stroke:var(--ss-bg-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}
.ss-main .ss-deselect{flex:0 1 auto;display:flex;align-items:center;justify-content:center;width:fit-content;height:auto;padding:0 var(--ss-spacing-m) 0 var(--ss-spacing-m)}
.ss-main .ss-deselect svg{width:8px;height:8px}
.ss-main .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20;stroke-linecap:round;stroke-linejoin:round}
.ss-main .ss-arrow{flex:0 1 auto;display:flex;align-items:center;justify-content:flex-end;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}
.ss-main .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}
.ss-content{position:absolute;display:flex;height:auto;flex-direction:column;width:auto;max-height:var(--ss-content-height);box-sizing:border-box;border:solid 1px var(--ss-border-color);background-color:var(--ss-bg-color);transition:transform var(--ss-animation-timing),opacity var(--ss-animation-timing);opacity:0;transform:scaleY(0);overflow:hidden;z-index:10000}
.ss-content.ss-relative{position:relative;height:100%}
.ss-content.ss-fixed{position:fixed}
.ss-content.ss-dir-above{transform-origin:center bottom;flex-direction:column-reverse;border-top-left-radius:var(--ss-border-radius);border-top-right-radius:var(--ss-border-radius)}
.ss-content.ss-dir-below{transform-origin:center top;border-bottom-left-radius:var(--ss-border-radius);border-bottom-right-radius:var(--ss-border-radius)}
.ss-content.ss-open{opacity:1;transform:scaleY(1)}
.ss-content .ss-search{flex:0 1 auto;display:flex;flex-direction:row;border-bottom:1px solid var(--ss-border-color)}
.ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;height:var(--ss-search-height);padding:var(--ss-spacing-m) var(--ss-spacing-l);margin:0;border:none;background-color:var(--ss-bg-color);outline:0;text-align:left;box-sizing:border-box}
.ss-content .ss-search input::placeholder{color:var(--ss-placeholder-color);vertical-align:middle}
.ss-content .ss-search input:focus{box-shadow:none}
.ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;flex:0 0 auto;height:auto;margin:0 0 0 var(--ss-spacing-m);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius)}
.ss-content .ss-search .ss-addable svg{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}
.ss-content .ss-search .ss-addable svg path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}
.ss-content.ss-dir-above .ss-search{border-bottom:none;border-top:1px solid var(--ss-border-color)}
.ss-content .ss-list{flex:1 1 auto;height:auto;overflow-x:hidden;overflow-y:auto}
.ss-content .ss-list .ss-error{color:var(--ss-error-color);padding:var(--ss-spacing-l)}
.ss-content .ss-list .ss-searching{color:var(--ss-font-color);padding:var(--ss-spacing-l)}
.ss-content .ss-list .ss-optgroup .ss-option{transition:max-height var(--ss-animation-timing) ease,opacity var(--ss-animation-timing) ease,padding-top var(--ss-animation-timing) ease,padding-bottom var(--ss-animation-timing) ease,margin-top var(--ss-animation-timing) ease,margin-bottom var(--ss-animation-timing) ease}
.ss-content .ss-list .ss-optgroup.ss-open .ss-option{max-height:100px;opacity:1;overflow:visible}
.ss-content .ss-list .ss-optgroup.ss-close .ss-option{padding-top:0 !important;padding-bottom:0 !important;margin-top:0 !important;margin-bottom:0 !important;max-height:0;opacity:0;overflow:hidden}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text{flex:1 1 auto;font-weight:bold;color:var(--ss-font-color)}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow){cursor:pointer}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions{flex:0 1 auto;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ss-spacing-m)}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall{flex:0 0 auto;display:flex;flex-direction:row;cursor:pointer}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover{opacity:.5}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path{stroke:var(--ss-error-color)}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span{flex:0 1 auto;display:flex;align-items:center;justify-content:center;font-size:60%;text-align:center;padding:0 var(--ss-spacing-s) 0 0}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg{flex:0 1 auto;width:13px;height:13px}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path{fill:none;stroke:var(--ss-success-color);stroke-linecap:round;stroke-linejoin:round}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child{stroke-width:5}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child{stroke-width:11}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable{flex:0 1 auto;display:flex;flex-direction:row;cursor:pointer}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow{flex:1 1 auto;width:10px;height:10px}
.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}
.ss-content .ss-list .ss-optgroup .ss-option{padding:var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l)*3)}
.ss-content .ss-list .ss-option{display:flex;align-items:center;min-height:var(--ss-option-height);padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);white-space:normal;color:var(--ss-font-color);cursor:pointer;user-select:none}
.ss-content .ss-list .ss-option:hover:not(.ss-disabled){color:var(--ss-bg-color);background-color:var(--ss-primary-color);border-left:5px solid var(--ss-primary-color);transition:border-left var(--ss-animation-timing) ease}
.ss-content .ss-list .ss-option.ss-highlighted,.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}
.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;background-color:var(--ss-disabled-color)}
.ss-content .ss-list .ss-option.ss-disabled:hover{color:var(--ss-font-color)}
.ss-content .ss-list .ss-option .ss-search-highlight{display:inline-block;background-color:var(--ss-highlight-color)}
.ss-content .ss-list .ss-search{display:flex;flex-direction:row;align-items:center;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}

/* ===== SLIM SELECT OVERRIDES ===== */
/* Collapse the original <select> once SlimSelect takes over */
select[data-controller="slim-select"] {
  padding: 0 !important;
  border: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* --- Trigger (closed state) --- */
.ss-main {
  @apply !rounded-lg !bg-white !text-sm !shadow-none;
  font-family: inherit !important;
  border: 1px solid #d1d5db !important;           /* gray-300 */
  min-height: 42px !important;
  padding: 6px 0 6px 12px !important;             /* matches .input px-3 py-2.5 */
  align-items: center !important;
}
.ss-main:hover {
  border-color: #9ca3af !important;                /* gray-400 */
}
.ss-main:focus,
.ss-main.ss-open-below,
.ss-main.ss-open-above {
  border-color: var(--tw-ring-color, #8b5cf6) !important; /* primary-500 */
  box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2) !important;
  outline: none !important;
}
/* Remove the ugly rounded-corner removal when open */
.ss-main.ss-dir-above,
.ss-main.ss-dir-below {
  border-radius: 0.5rem !important;
}

/* --- Arrow --- */
.ss-main .ss-arrow {
  width: 14px !important;
  height: 14px !important;
  margin: auto 10px auto 8px !important;
}
.ss-main .ss-arrow path {
  stroke: #9ca3af !important;                      /* gray-400 */
  stroke-width: 14 !important;
}

/* --- Selected value text --- */
.ss-main .ss-values {
  padding: 0 !important;
  gap: 4px !important;
}
.ss-main .ss-values .ss-single {
  @apply !text-gray-900 !text-sm;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
  max-width: 100% !important;           /* use full trigger width */
}
.ss-main .ss-values .ss-placeholder {
  @apply !text-gray-400 !text-sm;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.5 !important;
}

/* --- Deselect X — hidden (allowDeselect disabled) --- */
.ss-main .ss-deselect {
  display: none !important;
}

/* --- Dropdown content --- */
.ss-content {
  @apply !bg-white;
  border: 1px solid #e5e7eb !important;            /* gray-200 */
  border-radius: 0.5rem !important;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1) !important;
  margin-top: 4px !important;
  z-index: 9999 !important;
  max-height: none !important;                     /* remove the 300px cap from base */
  overflow: visible !important;                    /* don't clip — let .ss-list handle scroll */
  transform: none !important;                      /* no scaleY animation */
  transition: opacity 0.15s ease !important;
}
.ss-content.ss-open {
  opacity: 1 !important;
}
.ss-content.ss-dir-above,
.ss-content.ss-dir-below {
  border-radius: 0.5rem !important;
}
/* The list itself scrolls only when many options exceed 260px */
.ss-content .ss-list {
  max-height: 260px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* --- Search --- */
.ss-content .ss-search {
  padding: 8px !important;
  border-bottom: 1px solid #e5e7eb !important;
}
.ss-content .ss-search input {
  @apply !text-sm;
  border: 1px solid #d1d5db !important;
  border-radius: 0.375rem !important;
  padding: 8px 12px !important;
  height: auto !important;
  background: #fff !important;
}
.ss-content .ss-search input:focus {
  border-color: var(--tw-ring-color, #8b5cf6) !important;
  box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2) !important;
  outline: none !important;
}

/* --- Options --- */
.ss-content .ss-list .ss-option {
  @apply !text-sm !text-gray-700;
  padding: 8px 12px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  cursor: pointer !important;
  border-left: none !important;                    /* kill the base 5px blue bar */
  transition: background-color 0.1s ease, color 0.1s ease !important;
}
.ss-content .ss-list .ss-option:hover:not(.ss-disabled) {
  @apply !bg-primary-50 !text-primary-700;
  border-left: none !important;
  background-color: #f5f3ff !important;            /* primary-50 */
  color: #6d28d9 !important;                       /* primary-700 */
}
.ss-content .ss-list .ss-option.ss-highlighted {
  @apply !bg-primary-50 !text-primary-700;
  border-left: none !important;
}
.ss-content .ss-list .ss-option.ss-selected {
  background-color: #ede9fe !important;            /* primary-100 */
  color: #5b21b6 !important;                       /* primary-800 */
  font-weight: 500 !important;
}
.ss-content .ss-list .ss-option.ss-disabled {
  @apply !text-gray-300 !bg-transparent;
  cursor: not-allowed !important;
}

/* --- No results / addable --- */
.ss-content .ss-search .ss-addable {
  @apply !text-sm !text-gray-400;
  padding: 8px 12px !important;
}
