/* ============================================================================
   TERMINAL FORMS & TABLES — Phase 4
   Tightens the controls Phase 1 didn't cover (custom selects, checkboxes,
   radios, toggle switches, date inputs, search bars, range sliders, file
   uploads), plus polish for sortable tables, pagination, totals rows,
   filter bars, toasts, progress bars, spinners, breadcrumbs, empty states.

   Loaded after Phase 1+2+3 so it wins. Activated by
   `body.ix-bloomberg-tight` (default-on).
   ============================================================================ */

/* ── Custom <select> — the platform uses appearance:none + SVG arrows ──── */
body.ix-bloomberg-tight select:not(.preserve-style) {
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: var(--bb-bg-1) !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path fill='%238a8580' d='M2 4l3 3 3-3z'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 10px 10px !important;
  padding-right: 28px !important;
  cursor: pointer;
  border: 1px solid var(--bb-border) !important;
  color: var(--bb-text) !important;
  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 12px !important;
  letter-spacing: 0.02em;
}
body.ix-bloomberg-tight select:not(.preserve-style):hover {
  border-color: var(--bb-amber-line) !important;
}
body.ix-bloomberg-tight select:not(.preserve-style) option {
  background: var(--bb-bg-1) !important;
  color: var(--bb-text) !important;
  padding: 6px 8px;
}

/* ── Checkboxes — sharp box, amber check ──────────────────────────────── */
body.ix-bloomberg-tight input[type="checkbox"]:not(.preserve-style) {
  appearance: none;
  -webkit-appearance: none;
  width: 14px; height: 14px;
  background: var(--bb-bg-1);
  border: 1px solid var(--bb-border-2);
  border-radius: 0 !important;
  cursor: pointer;
  position: relative;
  transition: all 0.12s;
  margin: 0;
  vertical-align: middle;
  flex-shrink: 0;
}
body.ix-bloomberg-tight input[type="checkbox"]:hover { border-color: var(--bb-amber-line); }
body.ix-bloomberg-tight input[type="checkbox"]:checked {
  background: var(--bb-amber);
  border-color: var(--bb-amber);
}
body.ix-bloomberg-tight input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 3px; top: 0;
  width: 4px; height: 8px;
  border: solid #0a0a09;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
body.ix-bloomberg-tight input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--bb-amber-line);
  outline-offset: 1px;
}

/* ── Radios — circle (preserve-radius) but terminal-toned ──────────────── */
body.ix-bloomberg-tight input[type="radio"]:not(.preserve-style) {
  appearance: none;
  -webkit-appearance: none;
  width: 14px; height: 14px;
  background: var(--bb-bg-1);
  border: 1px solid var(--bb-border-2);
  border-radius: 50% !important;
  cursor: pointer;
  position: relative;
  transition: all 0.12s;
  margin: 0;
  vertical-align: middle;
  flex-shrink: 0;
}
body.ix-bloomberg-tight input[type="radio"]:hover { border-color: var(--bb-amber-line); }
body.ix-bloomberg-tight input[type="radio"]:checked { border-color: var(--bb-amber); }
body.ix-bloomberg-tight input[type="radio"]:checked::after {
  content: '';
  position: absolute;
  inset: 2px;
  background: var(--bb-amber);
  border-radius: 50% !important;
}

/* ── Toggle switches — platform uses .switch / .toggle class ───────────── */
body.ix-bloomberg-tight .switch,
body.ix-bloomberg-tight .toggle,
body.ix-bloomberg-tight [class*="switch-track"] {
  display: inline-block;
  width: 36px; height: 18px;
  background: var(--bb-bg-2) !important;
  border: 1px solid var(--bb-border-2) !important;
  border-radius: 2px !important;
  position: relative;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
body.ix-bloomberg-tight .switch::after,
body.ix-bloomberg-tight .toggle::after,
body.ix-bloomberg-tight [class*="switch-track"]::after {
  content: '';
  position: absolute;
  top: 1px; left: 1px;
  width: 14px; height: 14px;
  background: var(--bb-text-3);
  transition: transform 0.15s, background 0.15s;
}
body.ix-bloomberg-tight .switch.on,
body.ix-bloomberg-tight .switch[data-on="true"],
body.ix-bloomberg-tight .toggle.on,
body.ix-bloomberg-tight .toggle[data-on="true"] {
  background: var(--bb-amber-dim) !important;
  border-color: var(--bb-amber-line) !important;
}
body.ix-bloomberg-tight .switch.on::after,
body.ix-bloomberg-tight .switch[data-on="true"]::after,
body.ix-bloomberg-tight .toggle.on::after,
body.ix-bloomberg-tight .toggle[data-on="true"]::after {
  transform: translateX(16px);
  background: var(--bb-amber);
}

/* ── Date / time / number inputs ─────────────────────────────────────── */
body.ix-bloomberg-tight input[type="date"]:not(.preserve-style),
body.ix-bloomberg-tight input[type="time"]:not(.preserve-style),
body.ix-bloomberg-tight input[type="datetime-local"]:not(.preserve-style),
body.ix-bloomberg-tight input[type="month"]:not(.preserve-style),
body.ix-bloomberg-tight input[type="week"]:not(.preserve-style),
body.ix-bloomberg-tight input[type="number"]:not(.preserve-style) {
  font-family: var(--bb-mono) !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: 0.04em;
  color-scheme: dark;
}
body.ix-bloomberg-tight input::-webkit-calendar-picker-indicator {
  filter: invert(0.65) sepia(0.4) saturate(2) hue-rotate(-10deg);
  cursor: pointer;
  opacity: 0.7;
}
body.ix-bloomberg-tight input::-webkit-calendar-picker-indicator:hover { opacity: 1; }

/* ── Search inputs (with magnifying-glass icon) ───────────────────────── */
body.ix-bloomberg-tight input[type="search"]:not(.preserve-style),
body.ix-bloomberg-tight .search-input,
body.ix-bloomberg-tight .ix-search-bar input {
  background: var(--bb-bg-1) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: 0 !important;
  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 12px;
  padding: 7px 10px 7px 30px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8580' stroke-width='2'><circle cx='11' cy='11' r='7'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: 10px center !important;
}
body.ix-bloomberg-tight input[type="search"]::-webkit-search-cancel-button {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8580' stroke-width='2.5'><line x1='18' y1='6' x2='6' y2='18'/><line x1='6' y1='6' x2='18' y2='18'/></svg>");
  background-size: 12px;
  width: 12px; height: 12px;
  cursor: pointer;
  margin-right: 4px;
  opacity: 0.7;
}
body.ix-bloomberg-tight input[type="search"]::-webkit-search-cancel-button:hover { opacity: 1; }

/* ── Range sliders — terminal amber thumb ─────────────────────────────── */
body.ix-bloomberg-tight input[type="range"]:not(.preserve-style) {
  appearance: none;
  width: 100%;
  height: 4px;
  background: var(--bb-bg-2);
  border-radius: 0 !important;
  outline: none;
  cursor: pointer;
}
body.ix-bloomberg-tight input[type="range"]::-webkit-slider-thumb {
  appearance: none;
  width: 14px; height: 14px;
  background: var(--bb-amber);
  border: 1px solid var(--bb-amber-2);
  border-radius: 0 !important;
  cursor: grab;
}
body.ix-bloomberg-tight input[type="range"]::-moz-range-thumb {
  width: 14px; height: 14px;
  background: var(--bb-amber);
  border: 1px solid var(--bb-amber-2);
  border-radius: 0 !important;
  cursor: grab;
}

/* ── File uploads ───────────────────────────────────────────────────── */
body.ix-bloomberg-tight input[type="file"]:not(.preserve-style) {
  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 11.5px;
  color: var(--bb-text-3);
}
body.ix-bloomberg-tight input[type="file"]::file-selector-button {
  background: transparent !important;
  border: 1px solid var(--bb-border-2) !important;
  border-radius: 0 !important;
  font-family: var(--bb-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  color: var(--bb-text-2) !important;
  padding: 5px 11px !important;
  margin-right: 12px;
  cursor: pointer;
  transition: all 0.12s;
}
body.ix-bloomberg-tight input[type="file"]::file-selector-button:hover {
  border-color: var(--bb-amber-line) !important;
  color: var(--bb-amber) !important;
  background: var(--bb-amber-dim) !important;
}

/* ── Form labels & field groups ───────────────────────────────────────── */
body.ix-bloomberg-tight label:not(.preserve-style):not(.toggle-label):not([class*="switch"]) {
  font-family: var(--bb-mono) !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
  color: var(--bb-text-3) !important;
  margin-bottom: 4px;
  display: inline-block;
}
body.ix-bloomberg-tight .form-group,
body.ix-bloomberg-tight .field-group { margin-bottom: 12px; }

body.ix-bloomberg-tight .form-help,
body.ix-bloomberg-tight .help-text,
body.ix-bloomberg-tight .form-hint {
  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 10.5px !important;
  color: var(--bb-text-4) !important;
  margin-top: 4px;
  font-style: normal !important;
}
body.ix-bloomberg-tight .form-error,
body.ix-bloomberg-tight .error-text,
body.ix-bloomberg-tight .field-error {
  font-family: var(--bb-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.06em;
  color: var(--bb-red) !important;
  margin-top: 4px;
}

/* ── Sortable table headers ──────────────────────────────────────────── */
body.ix-bloomberg-tight th[data-sort],
body.ix-bloomberg-tight th.sortable,
body.ix-bloomberg-tight th[role="columnheader"][aria-sort] {
  cursor: pointer;
  user-select: none;
  position: relative;
  padding-right: 22px !important;
  transition: color 0.12s;
}
body.ix-bloomberg-tight th[data-sort]:hover,
body.ix-bloomberg-tight th.sortable:hover { color: var(--bb-amber) !important; }

body.ix-bloomberg-tight th[data-sort]::after,
body.ix-bloomberg-tight th.sortable::after {
  content: '↕';
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--bb-mono);
  font-size: 11px;
  color: var(--bb-text-4);
  opacity: 0.55;
}
body.ix-bloomberg-tight th[data-sort="asc"]::after,
body.ix-bloomberg-tight th[aria-sort="ascending"]::after { content: '↑'; color: var(--bb-amber); opacity: 1; }
body.ix-bloomberg-tight th[data-sort="desc"]::after,
body.ix-bloomberg-tight th[aria-sort="descending"]::after { content: '↓'; color: var(--bb-amber); opacity: 1; }

/* ── Sticky table headers ──────────────────────────────────────────── */
body.ix-bloomberg-tight table.sticky-header thead th,
body.ix-bloomberg-tight table[data-sticky-header] thead th {
  position: sticky;
  top: 0;
  background: var(--bb-bg-1) !important;
  z-index: 5;
  box-shadow: 0 1px 0 var(--bb-border);
}

/* ── Totals / footer rows ──────────────────────────────────────────── */
body.ix-bloomberg-tight tfoot td,
body.ix-bloomberg-tight tr.total td,
body.ix-bloomberg-tight tr.totals td,
body.ix-bloomberg-tight tr[class*="total-row"] td,
body.ix-bloomberg-tight tr.subtotal td {
  font-family: var(--bb-mono) !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
  background: var(--bb-bg-1) !important;
  border-top: 1px solid var(--bb-border-2) !important;
  border-bottom: 1px solid var(--bb-border-2) !important;
  color: var(--bb-text) !important;
}

/* ── Empty state inside tables ─────────────────────────────────────── */
body.ix-bloomberg-tight .empty-state,
body.ix-bloomberg-tight .no-data,
body.ix-bloomberg-tight tr.empty td,
body.ix-bloomberg-tight td.empty-cell {
  font-family: var(--bb-mono) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.08em;
  color: var(--bb-text-4) !important;
  text-align: center !important;
  padding: 22px 14px !important;
}

/* ── Pagination ────────────────────────────────────────────────────── */
body.ix-bloomberg-tight .pagination,
body.ix-bloomberg-tight .pager,
body.ix-bloomberg-tight nav[aria-label*="agination"] {
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-family: var(--bb-mono);
}
body.ix-bloomberg-tight .pagination a,
body.ix-bloomberg-tight .pagination button,
body.ix-bloomberg-tight .pager a,
body.ix-bloomberg-tight .pager button,
body.ix-bloomberg-tight .page-item,
body.ix-bloomberg-tight .page-link {
  background: transparent !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: 0 !important;
  font-family: var(--bb-mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  color: var(--bb-text-3) !important;
  padding: 5px 10px !important;
  margin-left: -1px;
  cursor: pointer;
  transition: all 0.12s;
  text-decoration: none !important;
}
body.ix-bloomberg-tight .pagination a:hover,
body.ix-bloomberg-tight .pagination button:hover,
body.ix-bloomberg-tight .page-link:hover {
  border-color: var(--bb-amber-line) !important;
  color: var(--bb-amber) !important;
  background: var(--bb-amber-dim) !important;
  z-index: 1;
  position: relative;
}
body.ix-bloomberg-tight .pagination .active,
body.ix-bloomberg-tight .pagination .current,
body.ix-bloomberg-tight .page-item.active,
body.ix-bloomberg-tight [aria-current="page"] {
  background: var(--bb-amber-dim) !important;
  color: var(--bb-amber) !important;
  border-color: var(--bb-amber-line) !important;
  z-index: 1;
  position: relative;
}
body.ix-bloomberg-tight .pagination [disabled],
body.ix-bloomberg-tight .page-item.disabled .page-link {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
}

/* ── Filter / toolbar above tables ────────────────────────────────── */
body.ix-bloomberg-tight .table-toolbar,
body.ix-bloomberg-tight .table-filter-bar,
body.ix-bloomberg-tight .data-table-controls {
  background: var(--bb-bg-1) !important;
  border: 1px solid var(--bb-border) !important;
  border-bottom: 0 !important;
  padding: 8px 12px !important;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* ── Breadcrumbs ───────────────────────────────────────────────────── */
body.ix-bloomberg-tight .breadcrumb,
body.ix-bloomberg-tight nav[aria-label*="breadcrumb"] ol {
  font-family: var(--bb-mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
  color: var(--bb-text-3) !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0 !important;
  background: transparent !important;
  list-style: none;
  margin: 0;
}
body.ix-bloomberg-tight .breadcrumb a,
body.ix-bloomberg-tight nav[aria-label*="breadcrumb"] ol a {
  color: var(--bb-text-3) !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  transition: color 0.12s, border-color 0.12s;
}
body.ix-bloomberg-tight .breadcrumb a:hover,
body.ix-bloomberg-tight nav[aria-label*="breadcrumb"] ol a:hover {
  color: var(--bb-amber) !important;
  border-bottom-color: var(--bb-amber-line) !important;
}
body.ix-bloomberg-tight .breadcrumb-separator,
body.ix-bloomberg-tight .breadcrumb li:not(:last-child)::after {
  color: var(--bb-text-4) !important;
}

/* ── Toast / snackbar / notification banner ───────────────────────── */
body.ix-bloomberg-tight .toast,
body.ix-bloomberg-tight .snackbar,
body.ix-bloomberg-tight .notification-banner,
body.ix-bloomberg-tight [class*="alert-banner"]:not(.preserve-style) {
  background: var(--bb-bg-elev) !important;
  border: 1px solid var(--bb-border-2) !important;
  border-radius: 0 !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.55) !important;
  font-family: 'Poppins', system-ui, sans-serif;
  font-size: 11.5px;
  padding: 10px 14px !important;
  color: var(--bb-text) !important;
  border-left: 2px solid var(--bb-amber) !important;
}
body.ix-bloomberg-tight .toast.success,
body.ix-bloomberg-tight .toast-success { border-left-color: var(--bb-green) !important; }
body.ix-bloomberg-tight .toast.error,
body.ix-bloomberg-tight .toast-error,
body.ix-bloomberg-tight .toast-danger { border-left-color: var(--bb-red) !important; }
body.ix-bloomberg-tight .toast.warn,
body.ix-bloomberg-tight .toast-warning { border-left-color: var(--bb-amber-2) !important; }
body.ix-bloomberg-tight .toast.info,
body.ix-bloomberg-tight .toast-info { border-left-color: var(--bb-blue) !important; }

/* ── Progress bars ────────────────────────────────────────────────── */
body.ix-bloomberg-tight progress,
body.ix-bloomberg-tight .progress,
body.ix-bloomberg-tight .progress-bar-track,
body.ix-bloomberg-tight [class*="progress-track"] {
  appearance: none;
  width: 100%;
  height: 6px;
  background: var(--bb-bg-2) !important;
  border: 0;
  border-radius: 0 !important;
  overflow: hidden;
}
body.ix-bloomberg-tight progress::-webkit-progress-bar { background: var(--bb-bg-2); }
body.ix-bloomberg-tight progress::-webkit-progress-value { background: var(--bb-amber); }
body.ix-bloomberg-tight progress::-moz-progress-bar { background: var(--bb-amber); }
body.ix-bloomberg-tight .progress-bar,
body.ix-bloomberg-tight .progress > div,
body.ix-bloomberg-tight [class*="progress-fill"] {
  background: var(--bb-amber) !important;
  border-radius: 0 !important;
  height: 100%;
  transition: width 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}

/* ── Spinners — square, mono ──────────────────────────────────────── */
body.ix-bloomberg-tight .spinner,
body.ix-bloomberg-tight .loader:not(.preserve-style),
body.ix-bloomberg-tight [class*="loading-spinner"] {
  width: 16px; height: 16px;
  border: 2px solid var(--bb-bg-2);
  border-top-color: var(--bb-amber);
  border-radius: 50% !important;
  animation: ix-spin 0.7s linear infinite;
  display: inline-block;
}
@keyframes ix-spin { to { transform: rotate(360deg); } }

/* ── Multi-select pill / chip input ────────────────────────────────── */
body.ix-bloomberg-tight .chip-input,
body.ix-bloomberg-tight .multi-select,
body.ix-bloomberg-tight .tag-input {
  background: var(--bb-bg-1) !important;
  border: 1px solid var(--bb-border) !important;
  border-radius: 0 !important;
  padding: 4px 6px !important;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 32px;
}
body.ix-bloomberg-tight .chip-input:focus-within,
body.ix-bloomberg-tight .multi-select:focus-within {
  border-color: var(--bb-amber) !important;
  box-shadow: 0 0 0 1px var(--bb-amber-dim) !important;
}
body.ix-bloomberg-tight .selected-chip,
body.ix-bloomberg-tight .chip-input .chip,
body.ix-bloomberg-tight .multi-select .selected {
  background: var(--bb-amber-dim) !important;
  border: 1px solid var(--bb-amber-line) !important;
  color: var(--bb-amber) !important;
  font-family: var(--bb-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding: 2px 6px !important;
  border-radius: 0 !important;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
body.ix-bloomberg-tight .selected-chip .remove,
body.ix-bloomberg-tight .chip-input .chip .remove {
  cursor: pointer;
  color: var(--bb-amber-2);
  font-weight: 900;
}

/* ── Card-pill nav (e.g., portfolio period buttons, settings tabs) ─── */
body.ix-bloomberg-tight .pill-nav,
body.ix-bloomberg-tight .segmented {
  display: inline-flex;
  border: 1px solid var(--bb-border) !important;
  border-radius: 0 !important;
  background: var(--bb-bg-1) !important;
}
body.ix-bloomberg-tight .pill-nav > *,
body.ix-bloomberg-tight .segmented > * {
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--bb-border) !important;
  border-radius: 0 !important;
  font-family: var(--bb-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  color: var(--bb-text-3) !important;
  padding: 6px 12px !important;
  cursor: pointer;
  transition: all 0.12s;
}
body.ix-bloomberg-tight .pill-nav > *:last-child,
body.ix-bloomberg-tight .segmented > *:last-child { border-right: 0 !important; }
body.ix-bloomberg-tight .pill-nav > *:hover,
body.ix-bloomberg-tight .segmented > *:hover {
  color: var(--bb-amber) !important;
  background: rgba(217, 119, 87, 0.06) !important;
}
body.ix-bloomberg-tight .pill-nav > .active,
body.ix-bloomberg-tight .segmented > .active,
body.ix-bloomberg-tight .pill-nav > [aria-selected="true"] {
  background: var(--bb-amber-dim) !important;
  color: var(--bb-amber) !important;
}

/* ── Stepper (multi-step wizards) ────────────────────────────────── */
body.ix-bloomberg-tight .stepper,
body.ix-bloomberg-tight .wizard-steps {
  font-family: var(--bb-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
  display: inline-flex;
  gap: 0;
  border: 1px solid var(--bb-border) !important;
}
body.ix-bloomberg-tight .stepper .step,
body.ix-bloomberg-tight .wizard-steps .step {
  padding: 8px 14px !important;
  border-right: 1px solid var(--bb-border);
  color: var(--bb-text-4) !important;
  background: transparent !important;
}
body.ix-bloomberg-tight .stepper .step:last-child,
body.ix-bloomberg-tight .wizard-steps .step:last-child { border-right: 0; }
body.ix-bloomberg-tight .stepper .step.active,
body.ix-bloomberg-tight .wizard-steps .step.active {
  background: var(--bb-amber-dim) !important;
  color: var(--bb-amber) !important;
}
body.ix-bloomberg-tight .stepper .step.completed,
body.ix-bloomberg-tight .wizard-steps .step.completed {
  color: var(--bb-text-2) !important;
}

/* ── Number / currency input alignment ───────────────────────────── */
body.ix-bloomberg-tight input[type="number"]:not(.preserve-style),
body.ix-bloomberg-tight input[inputmode="numeric"]:not(.preserve-style),
body.ix-bloomberg-tight input[inputmode="decimal"]:not(.preserve-style) {
  text-align: right;
}

/* ── Disabled state — uniform across all controls ────────────────── */
body.ix-bloomberg-tight input:disabled:not(.preserve-style),
body.ix-bloomberg-tight select:disabled:not(.preserve-style),
body.ix-bloomberg-tight textarea:disabled:not(.preserve-style),
body.ix-bloomberg-tight button:disabled:not(.preserve-style) {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}
