/* ================================================================
   BIZMETRY DESIGN SYSTEM — link-datasource-dialog.css
   ================================================================
   Tokens → Dialog → Toolbar → Resource Info Card → Progress
   → Import Cards → Entity Grid → Badges → Tooltip → Warnings
   → Selects → Radio Buttons → Footer → Scrollbars
   ================================================================ */

/* ── 1. Design Tokens ─────────────────────────────────────── */

.link-datasource-dialog {

  /* ── Navy palette ──────────────────────────────────────── */
  --bm-navy-900:  #111827;
  --bm-navy-800:  #1E2A3A;
  --bm-navy-700:  #2D3A52;
  --bm-navy-500:  #4B5878;
  --bm-navy-300:  #8E97B4;
  --bm-navy-200:  #BFC5D8;
  --bm-navy-100:  #DDE2EF;
  --bm-navy-50:   #F4F5FA;

  /* ── Teal palette (primary accent) ────────────────────── */
  --bm-teal-600:  #009977;
  --bm-teal-500:  #00BFA5;
  --bm-teal-400:  #1AD4BA;
  --bm-teal-100:  #CCFAF3;
  --bm-teal-50:   #E6FAF7;

  /* ── Brand gradient ────────────────────────────────────── */
  --bm-indigo-600: #4756e8;
  --bm-indigo-500: #5b6cf9;
  --bm-indigo-50:  #eef0ff;
  --bm-violet-600: #764ba2;
  --bm-grad-brand: linear-gradient(135deg, #5b6cf9 0%, #764ba2 100%);

  /* ── Semantic colors ───────────────────────────────────── */
  --bm-success:        #059669;
  --bm-success-bg:     #ECFDF5;
  --bm-success-border: #6EE7B7;

  --bm-error:          #DC2626;
  --bm-error-bg:       #FEF2F2;
  --bm-error-border:   #FECACA;
  --bm-error-text:     #991B1B;

  /* ── Surfaces ──────────────────────────────────────────── */
  --bm-surface:    #FFFFFF;
  --bm-surface-2:  #F7F8FC;
  --bm-surface-3:  #EFF1F8;

  /* ── Text ──────────────────────────────────────────────── */
  --bm-text-primary:   #111827;
  --bm-text-secondary: #4B5878;
  --bm-text-muted:     #8E97B4;
  --bm-text-inverse:   #FFFFFF;

  /* ── Borders ───────────────────────────────────────────── */
  --bm-border:        #E2E5EF;
  --bm-border-subtle: #EFF1F8;
  --bm-border-strong: #C5CCDF;

  /* ── Radius ────────────────────────────────────────────── */
  --bm-r-sm:   4px;
  --bm-r-md:   6px;
  --bm-r-lg:   10px;
  --bm-r-xl:   14px;
  --bm-r-pill: 100px;

  /* ── Typography ────────────────────────────────────────── */
  --bm-font-display: 'Outfit', system-ui, sans-serif;
  --bm-font-body:    'Plus Jakarta Sans', system-ui, sans-serif;
  --bm-font-mono:    'JetBrains Mono', 'Fira Code', monospace;

  /* ── Shadows ───────────────────────────────────────────── */
  --bm-shadow-xs: 0 1px 2px rgba(8,12,24,.06);
  --bm-shadow-sm: 0 1px 4px rgba(8,12,24,.08), 0 1px 2px rgba(8,12,24,.04);
  --bm-shadow-md: 0 4px 12px rgba(8,12,24,.10), 0 2px 4px rgba(8,12,24,.06);
  --bm-shadow-lg: 0 10px 30px rgba(8,12,24,.12), 0 4px 10px rgba(8,12,24,.08);

  /* ── Transition ────────────────────────────────────────── */
  --bm-t: 160ms cubic-bezier(.4,0,.2,1);

  font-family: var(--bm-font-body) !important;
}


/* ── 2. Dialog Root ───────────────────────────────────────── */

.link-datasource-dialog.modern-dialog {
  border-radius: var(--bm-r-xl) !important;
  overflow: hidden !important;
  box-shadow: var(--bm-shadow-lg) !important;
  font-family: var(--bm-font-body) !important;
}

/* Protect Material Icons */
.link-datasource-dialog md-icon,
.link-datasource-dialog .material-icons {
  font-family: 'Material Icons' !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-feature-settings: 'liga' !important;
  -webkit-font-feature-settings: 'liga' !important;
  text-rendering: optimizeLegibility !important;
}


/* ── 3. Toolbar ───────────────────────────────────────────── */

.link-datasource-dialog .gradient-toolbar {
  background: var(--bm-navy-900) !important;
  min-height: 68px !important;
  border-bottom: 3px solid var(--bm-teal-500) !important;
  position: relative !important;
  box-shadow: none !important;
}

/* Grid texture */
.link-datasource-dialog .gradient-toolbar::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px) !important;
  background-size: 24px 24px !important;
  pointer-events: none !important;
}

.link-datasource-dialog .gradient-toolbar .md-toolbar-tools {
  padding: 0 24px !important;
  min-height: 68px !important;
  position: relative !important;
  z-index: 1 !important;
}

.link-datasource-dialog .gradient-toolbar .md-toolbar-tools h2 {
  font-family: var(--bm-font-display) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
  color: var(--bm-text-inverse) !important;
}

.link-datasource-dialog .gradient-toolbar .toolbar-icon {
  color: var(--bm-teal-400) !important;
  margin-right: 12px !important;
  font-size: 22px !important;
}

.link-datasource-dialog .gradient-toolbar .md-icon-button {
  border-radius: var(--bm-r-md) !important;
}

.link-datasource-dialog .gradient-toolbar .md-icon-button md-icon {
  color: var(--bm-navy-300) !important;
  transition: color var(--bm-t) !important;
}

.link-datasource-dialog .gradient-toolbar .md-icon-button:hover md-icon {
  color: var(--bm-text-inverse) !important;
}


/* ── 4. Dialog Content ────────────────────────────────────── */

.link-datasource-dialog md-dialog-content {
  background: var(--bm-surface-2) !important;
}


/* ── 5. Resource Info Card ────────────────────────────────── */

.resource-info-card {
  background: var(--bm-teal-50) !important;
  border-radius: var(--bm-r-lg) !important;
  padding: 18px 20px !important;
  margin-bottom: 24px !important;
  border: 1px solid var(--bm-teal-100) !important;
  border-left: 3px solid var(--bm-teal-500) !important;
  box-shadow: var(--bm-shadow-xs) !important;
}

.resource-info-card > div[layout="row"] {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.resource-info-card md-icon,
.resource-info-card > div[layout="row"] > md-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  color: var(--bm-teal-500) !important;
  font-size: 30px !important;
}

.resource-info-card > div[layout="row"] > div[flex] {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 32px !important;
}

.resource-info-card h3,
.resource-info-card > div[layout="row"] > div[flex] > h3 {
  font-family: var(--bm-font-display) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--bm-text-primary) !important;
  letter-spacing: -0.1px !important;
}

.resource-info-card p,
.resource-info-card > div[layout="row"] > div[flex] > p {
  font-family: var(--bm-font-body) !important;
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  font-size: 13px !important;
  color: var(--bm-teal-600) !important;
}


/* ── 6. Progress Indicator ────────────────────────────────── */

.link-datasource-dialog .import-progress {
  position: relative !important;
  padding: 0 8px !important;
}

.link-datasource-dialog .progress-step {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  position: relative !important;
  z-index: 2 !important;
}

.link-datasource-dialog .step-circle {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: var(--bm-surface) !important;
  border: 2.5px solid var(--bm-border-strong) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--bm-font-display) !important;
  font-weight: 700 !important;
  color: var(--bm-text-muted) !important;
  transition: var(--bm-t) !important;
  box-shadow: var(--bm-shadow-xs) !important;
}

.link-datasource-dialog .progress-step.active .step-circle {
  border-color: var(--bm-teal-500) !important;
  color: var(--bm-teal-600) !important;
  box-shadow: 0 0 0 4px rgba(0,191,165,.12) !important;
}

.link-datasource-dialog .progress-step.completed .step-circle {
  background: var(--bm-teal-500) !important;
  border-color: var(--bm-teal-500) !important;
  color: var(--bm-navy-900) !important;
  box-shadow: 0 2px 8px rgba(0,191,165,.28) !important;
}

.link-datasource-dialog .step-circle md-icon {
  font-size: 20px !important;
  color: inherit !important;
}

.link-datasource-dialog .step-label {
  font-family: var(--bm-font-body) !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: var(--bm-text-muted) !important;
  text-align: center !important;
  transition: color var(--bm-t) !important;
}

.link-datasource-dialog .progress-step.active .step-label {
  color: var(--bm-teal-600) !important;
  font-weight: 600 !important;
}

.link-datasource-dialog .progress-step.completed .step-label {
  color: var(--bm-teal-600) !important;
}

.link-datasource-dialog .progress-line {
  flex: 1 !important;
  height: 2.5px !important;
  background: var(--bm-border) !important;
  margin: 0 6px 24px !important;
  border-radius: var(--bm-r-pill) !important;
  transition: background var(--bm-t) !important;
}

.link-datasource-dialog .progress-line.active {
  background: var(--bm-teal-500) !important;
}


/* ── 7. Import Cards ──────────────────────────────────────── */

.link-datasource-dialog .import-card {
  background: var(--bm-surface) !important;
  border-radius: var(--bm-r-lg) !important;
  border: 1px solid var(--bm-border) !important;
  padding: 20px 24px !important;
  margin-bottom: 16px !important;
  box-shadow: var(--bm-shadow-sm) !important;
  transition: box-shadow var(--bm-t) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.link-datasource-dialog .import-card:hover {
  box-shadow: var(--bm-shadow-md) !important;
}

.link-datasource-dialog .card-header {
  margin-bottom: 16px !important;
  gap: 12px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
}

.link-datasource-dialog .card-header h3 {
  font-family: var(--bm-font-display) !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--bm-text-primary) !important;
  letter-spacing: 0.1px !important;
  flex: 0 0 auto !important;
  text-align: left !important;
}

.link-datasource-dialog .step-icon {
  color: var(--bm-teal-500) !important;
  font-size: 22px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Selection counter pill */
.link-datasource-dialog .selection-counter {
  display: flex !important;
  align-items: center !important;
  padding: 5px 12px !important;
  background: var(--bm-success-bg) !important;
  border: 1px solid var(--bm-success-border) !important;
  border-radius: var(--bm-r-pill) !important;
  gap: 6px !important;
  font-family: var(--bm-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--bm-success) !important;
}

.link-datasource-dialog .selection-counter md-icon {
  color: var(--bm-success) !important;
  font-size: 16px !important;
}

/* md-input-container alignment */
.link-datasource-dialog .import-card md-input-container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  text-align: left !important;
}

.link-datasource-dialog .import-card md-input-container label {
  left: 0 !important;
  right: auto !important;
  font-family: var(--bm-font-body) !important;
  text-align: left !important;
}

.link-datasource-dialog .import-card .entities-grid {
  width: 100% !important;
  max-width: 100% !important;
}


/* ── 8. Entity Grid ───────────────────────────────────────── */

.link-datasource-dialog .entities-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 10px !important;
  padding: 4px !important;
}

.link-datasource-dialog .entity-card {
  background: var(--bm-surface) !important;
  border: 1.5px solid var(--bm-border) !important;
  border-radius: var(--bm-r-md) !important;
  padding: 10px 12px !important;
  transition: var(--bm-t) !important;
  cursor: pointer !important;
  font-family: var(--bm-font-body) !important;
}

.link-datasource-dialog .entity-card:hover:not(.disabled) {
  border-color: var(--bm-teal-500) !important;
  box-shadow: 0 3px 10px rgba(0,191,165,.14) !important;
  transform: translateY(-1px) !important;
}

.link-datasource-dialog .entity-card.selected {
  background: var(--bm-teal-50) !important;
  border-color: var(--bm-teal-400) !important;
}

.link-datasource-dialog .entity-card.disabled {
  background: var(--bm-surface-2) !important;
  border-color: var(--bm-border-subtle) !important;
  cursor: not-allowed !important;
  opacity: 0.65 !important;
}

.link-datasource-dialog .entity-card-content {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}

.link-datasource-dialog .entity-icon {
  font-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  margin-right: 0 !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Material Icons' !important;
  font-weight: normal !important;
  font-style: normal !important;
  line-height: 1 !important;
  color: var(--bm-teal-500) !important;
}

.link-datasource-dialog .entity-card-content > div[flex] {
  min-width: 0 !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.link-datasource-dialog .entity-card-content > div[flex] > div[layout="row"] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.link-datasource-dialog .entity-name {
  font-family: var(--bm-font-body) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  color: var(--bm-text-primary) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.link-datasource-dialog .entity-status {
  font-family: var(--bm-font-body) !important;
  font-size: 11px !important;
  color: var(--bm-text-muted) !important;
  font-style: italic !important;
  margin-top: 3px !important;
}

/* Info button on entity cards */
.link-datasource-dialog .entity-card md-button.md-icon-button {
  margin-left: auto !important;
  border-radius: var(--bm-r-sm) !important;
}

.link-datasource-dialog .entity-card md-button.md-icon-button md-icon {
  color: var(--bm-text-muted) !important;
  font-size: 20px !important;
  transition: color var(--bm-t) !important;
}

.link-datasource-dialog .entity-card md-button.md-icon-button:hover md-icon {
  color: var(--bm-teal-500) !important;
}


/* ── 9. Radio Buttons ─────────────────────────────────────── */

.link-datasource-dialog md-radio-group {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.link-datasource-dialog md-radio-group .entities-grid {
  margin: 0 !important;
}

.link-datasource-dialog md-radio-button {
  margin: 0 12px 0 0 !important;
  flex-shrink: 0 !important;
}

/* Radio button colors → teal */
.link-datasource-dialog md-radio-button .md-off {
  border-color: var(--bm-border-strong) !important;
}

.link-datasource-dialog md-radio-button.md-checked .md-off {
  border-color: var(--bm-teal-500) !important;
}

.link-datasource-dialog md-radio-button.md-checked .md-on {
  background-color: var(--bm-teal-500) !important;
}

.link-datasource-dialog md-radio-button .md-on {
  background-color: var(--bm-teal-500) !important;
}


/* ── 10. PK Badge ─────────────────────────────────────────── */

.link-datasource-dialog .pk-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  background: var(--bm-teal-500) !important;
  color: var(--bm-navy-900) !important;
  padding: 3px 9px !important;
  border-radius: var(--bm-r-pill) !important;
  font-family: var(--bm-font-body) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  box-shadow: 0 1px 3px rgba(0,191,165,.24) !important;
}

.link-datasource-dialog .pk-badge md-icon {
  font-size: 12px !important;
  color: var(--bm-navy-900) !important;
}


/* ── 11. Status Dot ───────────────────────────────────────── */

.link-datasource-dialog .status-dot {
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  margin-right: 8px !important;
  flex-shrink: 0 !important;
}

.link-datasource-dialog .status-dot.online {
  background-color: var(--bm-success) !important;
  box-shadow: 0 0 0 2px var(--bm-success-bg) !important;
}

.link-datasource-dialog .status-dot.offline {
  background-color: var(--bm-error) !important;
  box-shadow: 0 0 0 2px var(--bm-error-bg) !important;
}


/* ── 12. Warning Boxes ────────────────────────────────────── */

.link-datasource-dialog .offline-warning-box,
.link-datasource-dialog .no-datasources-warning {
  background: var(--bm-error-bg) !important;
  border-radius: var(--bm-r-lg) !important;
  padding: 16px 20px !important;
  border: 1px solid var(--bm-error-border) !important;
  border-left: 3px solid var(--bm-error) !important;
  box-shadow: var(--bm-shadow-xs) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  margin-top: 12px !important;
}

.link-datasource-dialog .offline-warning-box p,
.link-datasource-dialog .no-datasources-warning p {
  font-family: var(--bm-font-body) !important;
  margin: 0 !important;
  word-wrap: break-word !important;
  word-break: break-word !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.55 !important;
}

.link-datasource-dialog .offline-warning-box > div,
.link-datasource-dialog .no-datasources-warning > div {
  width: 100% !important;
  max-width: 100% !important;
}

.link-datasource-dialog .offline-warning-box md-icon,
.link-datasource-dialog .no-datasources-warning md-icon {
  color: var(--bm-error) !important;
}


/* ── 13. Empty States ─────────────────────────────────────── */

.link-datasource-dialog .empty-state {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 48px 24px !important;
  text-align: center !important;
}

.link-datasource-dialog .empty-state md-icon {
  font-size: 56px !important;
  color: var(--bm-border-strong) !important;
  margin-bottom: 16px !important;
}

.link-datasource-dialog .empty-state h3 {
  font-family: var(--bm-font-display) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--bm-text-muted) !important;
  margin: 0 0 8px 0 !important;
}

.link-datasource-dialog .empty-state p {
  font-family: var(--bm-font-body) !important;
  font-size: 13px !important;
  color: var(--bm-navy-200) !important;
  margin: 0 !important;
}

.link-datasource-dialog .empty-state-inline {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  text-align: center !important;
}

.link-datasource-dialog .empty-state-inline md-icon {
  color: var(--bm-border-strong) !important;
}

.link-datasource-dialog .empty-state-inline p {
  font-family: var(--bm-font-body) !important;
  font-size: 13px !important;
  color: var(--bm-text-muted) !important;
  margin: 8px 0 0 0 !important;
}

.link-datasource-dialog .loading-state {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  gap: 12px !important;
  font-family: var(--bm-font-body) !important;
  font-size: 13px !important;
  color: var(--bm-text-muted) !important;
}


/* ── 14. Floating Column-Preview Tooltip ──────────────────── */

.link-datasource-dialog .modern-tooltip {
  position: absolute !important;
  background: var(--bm-surface) !important;
  border-radius: var(--bm-r-lg) !important;
  box-shadow: var(--bm-shadow-lg) !important;
  border: 1.5px solid var(--bm-teal-500) !important;
  max-width: 80vw !important;
  max-height: 70vh !important;
  overflow-y: auto !important;
  z-index: 1000 !important;
  animation: bm-tooltip-in .2s ease !important;
}

@keyframes bm-tooltip-in {
  from { opacity: 0; transform: scale(.95); }
  to   { opacity: 1; transform: scale(1);   }
}

.link-datasource-dialog .tooltip-header {
  padding: 14px 18px !important;
  border-bottom: 1px solid var(--bm-border) !important;
  background: var(--bm-navy-900) !important;
  border-radius: var(--bm-r-lg) var(--bm-r-lg) 0 0 !important;
  flex-shrink: 0 !important;
}

.link-datasource-dialog .tooltip-header md-icon {
  color: var(--bm-teal-400) !important;
}

.link-datasource-dialog .tooltip-header strong {
  font-family: var(--bm-font-display) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--bm-text-inverse) !important;
}

.link-datasource-dialog .tooltip-content {
  padding: 16px !important;
  max-height: 350px !important;
  overflow-y: auto !important;
  background: var(--bm-surface) !important;
}

.link-datasource-dialog .tooltip-section strong {
  font-family: var(--bm-font-body) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: var(--bm-teal-600) !important;
}

.link-datasource-dialog .tooltip-section md-icon {
  color: var(--bm-teal-500) !important;
  font-size: 16px !important;
}

.link-datasource-dialog .columns-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.link-datasource-dialog .column-item {
  padding: 9px 12px !important;
  background: var(--bm-surface-2) !important;
  border-radius: var(--bm-r-md) !important;
  border-left: 3px solid var(--bm-border) !important;
  transition: var(--bm-t) !important;
  font-family: var(--bm-font-body) !important;
}

.link-datasource-dialog .column-item:hover {
  background: var(--bm-teal-50) !important;
  border-left-color: var(--bm-teal-500) !important;
}

.link-datasource-dialog .tooltip-content md-icon {
  font-family: 'Material Icons' !important;
  font-weight: normal !important;
  font-style: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}


/* ── 15. md-select overrides ──────────────────────────────── */

.link-datasource-dialog md-select[disabled] {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  background-color: var(--bm-surface-2) !important;
}

.link-datasource-dialog md-select {
  background: var(--bm-surface) !important;
}

.link-datasource-dialog md-select-value {
  color: var(--bm-text-primary) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.link-datasource-dialog md-select-value .md-text,
.link-datasource-dialog md-select-value span {
  color: var(--bm-text-primary) !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-family: var(--bm-font-body) !important;
}

.link-datasource-dialog md-select-value.md-select-placeholder {
  color: var(--bm-text-muted) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.link-datasource-dialog .md-select-value {
  display: flex !important;
  align-items: center !important;
  color: var(--bm-text-primary) !important;
  min-height: 26px !important;
  font-family: var(--bm-font-body) !important;
  font-size: 13px !important;
}

.link-datasource-dialog .md-select-value > span:not(.md-select-icon) {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  color: var(--bm-text-primary) !important;
  font-family: var(--bm-font-body) !important;
  width: 100% !important;
}

.link-datasource-dialog md-select-value md-icon { color: inherit !important; opacity: 1 !important; }
.link-datasource-dialog md-select-value .status-dot { opacity: 1 !important; visibility: visible !important; }

.link-datasource-dialog md-input-container.md-input-focused md-select-value,
.link-datasource-dialog md-input-container.md-input-has-value md-select-value {
  color: var(--bm-text-primary) !important;
}

/* Label transitions */
.link-datasource-dialog md-input-container label {
  font-family: var(--bm-font-body) !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  font-size: 12px !important;
  color: var(--bm-text-muted) !important;
  transition: var(--bm-t) !important;
  pointer-events: none !important;
  text-align: left !important;
}

.link-datasource-dialog md-input-container.md-input-has-value label,
.link-datasource-dialog md-input-container.md-input-focused label {
  color: var(--bm-teal-600) !important;
  font-size: 11px !important;
}

.link-datasource-dialog md-select { margin-top: 20px !important; }

.link-datasource-dialog md-input-container .md-input {
  border-color: var(--bm-border) !important;
  font-family: var(--bm-font-body) !important;
}

.link-datasource-dialog md-input-container.md-input-focused .md-input {
  border-color: var(--bm-teal-500) !important;
}

.link-datasource-dialog md-input-container.md-input-has-value md-select[disabled] + label,
.link-datasource-dialog md-input-container md-select[disabled] + label {
  color: var(--bm-text-muted) !important;
}

/* md-option */
.link-datasource-dialog md-option {
  font-family: var(--bm-font-body) !important;
  color: var(--bm-text-primary) !important;
  font-size: 13px !important;
}

.link-datasource-dialog md-option:hover { background: var(--bm-teal-50) !important; }
.link-datasource-dialog md-option[selected] { background: var(--bm-teal-50) !important; color: var(--bm-teal-600) !important; }

/* Modern select fix */
.link-datasource-dialog .import-card .modern-select {
  width: 100% !important;
  max-width: none !important;
}

.link-datasource-dialog .import-card md-input-container:not(.modern-select) {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}


/* ── 16. Footer Actions ───────────────────────────────────── */

.link-datasource-dialog md-dialog-actions {
  padding: 14px 24px !important;
  background: var(--bm-surface) !important;
  border-top: 1px solid var(--bm-border) !important;
}

/* Primary confirm button */
.link-datasource-dialog .gradient-button {
  font-family: var(--bm-font-body) !important;
  background: var(--bm-grad-brand) !important;
  color: var(--bm-text-inverse) !important;
  font-weight: 500 !important;
  font-size: 13.5px !important;
  border-radius: var(--bm-r-md) !important;
  text-transform: none !important;
  box-shadow: 0 3px 10px rgba(91,108,249,.22) !important;
  transition: var(--bm-t) !important;
}

.link-datasource-dialog .gradient-button:not([disabled]):hover {
  box-shadow: 0 5px 16px rgba(91,108,249,.36) !important;
  transform: translateY(-1px) !important;
}

.link-datasource-dialog .gradient-button[disabled] {
  opacity: 0.45 !important;
  background: var(--bm-border) !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
}

.link-datasource-dialog .gradient-button md-icon {
  color: var(--bm-text-inverse) !important;
  margin-right: 6px !important;
}

.link-datasource-dialog .gradient-button[disabled] md-icon {
  color: var(--bm-navy-300) !important;
}

/* Cancel outlined */
.link-datasource-dialog .md-button-outlined {
  font-family: var(--bm-font-body) !important;
  border: 1.5px solid var(--bm-border-strong) !important;
  color: var(--bm-text-secondary) !important;
  font-weight: 500 !important;
  border-radius: var(--bm-r-md) !important;
  text-transform: none !important;
  transition: var(--bm-t) !important;
}

.link-datasource-dialog .md-button-outlined:hover {
  border-color: var(--bm-teal-500) !important;
  color: var(--bm-teal-600) !important;
  background: var(--bm-teal-50) !important;
}


/* ── 17. Scrollbars ───────────────────────────────────────── */

.link-datasource-dialog .entities-grid::-webkit-scrollbar,
.link-datasource-dialog .tooltip-content::-webkit-scrollbar,
.link-datasource-dialog .modern-tooltip::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

.link-datasource-dialog .entities-grid::-webkit-scrollbar-track,
.link-datasource-dialog .tooltip-content::-webkit-scrollbar-track,
.link-datasource-dialog .modern-tooltip::-webkit-scrollbar-track {
  background: var(--bm-surface-2) !important;
  border-radius: var(--bm-r-pill) !important;
}

.link-datasource-dialog .entities-grid::-webkit-scrollbar-thumb,
.link-datasource-dialog .tooltip-content::-webkit-scrollbar-thumb,
.link-datasource-dialog .modern-tooltip::-webkit-scrollbar-thumb {
  background: var(--bm-border-strong) !important;
  border-radius: var(--bm-r-pill) !important;
}

.link-datasource-dialog .entities-grid::-webkit-scrollbar-thumb:hover,
.link-datasource-dialog .tooltip-content::-webkit-scrollbar-thumb:hover,
.link-datasource-dialog .modern-tooltip::-webkit-scrollbar-thumb:hover {
  background: var(--bm-teal-500) !important;
}