:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #0f1115;
  color: #edf0f5;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  min-height: 100%;
}

html {
  overflow-x: hidden;
  overflow-y: scroll;
}

.shell {
  width: min(1380px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 24px 0 40px;
}

.toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid #29303a;
}

.specialist-model-note {
  max-width: 760px;
  margin: 10px 0 12px;
  color: #c9d2df;
  font-size: 14px;
  line-height: 1.45;
}

.specialist-model-note h2 {
  margin: 0 0 6px;
  color: #edf0f5;
  font-size: 16px;
}

.specialist-model-note p,
.specialist-model-note ul {
  margin: 4px 0 8px;
}

.specialist-model-note ul {
  padding-left: 20px;
}

.workflow-overview {
  margin-top: 24px;
}

.workflow-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.workflow-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px;
  border: 1px solid #29303a;
  border-radius: 12px;
  background: linear-gradient(180deg, #151b24 0%, #11161e 100%);
  color: inherit;
  text-decoration: none;
  transition: border-color .15s ease, transform .15s ease;
}

.workflow-card:hover {
  border-color: #63b3ed;
  transform: translateY(-1px);
}

.workflow-card h3 {
  margin: 0;
  font-size: 18px;
}

.workflow-card p {
  margin: 0;
  font-size: 14px;
}

.workflow-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #1d72b8;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

h1 {
  margin: 0;
  font-size: 30px;
  line-height: 1.1;
}

p {
  margin: 8px 0 0;
  color: #aab2c0;
}

button {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #63b3ed;
  border-radius: 8px;
  background: #1d72b8;
  color: white;
  font-weight: 700;
  cursor: pointer;
}

button:disabled {
  cursor: wait;
  opacity: .65;
}

button.secondary {
  border-color: #475569;
  background: #263241;
}

button.danger {
  border-color: #ef5350;
  background: #c62828;
}

button.danger:disabled {
  cursor: wait;
  opacity: .65;
}

.backtest-modal-actions {
  display: flex;
  justify-content: flex-end;
  margin: 10px 0 0;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(5, 8, 13, .78);
  backdrop-filter: blur(4px);
}

.modal-window {
  width: min(1240px, calc(100vw - 48px));
  max-height: min(900px, calc(100vh - 48px));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #39465a;
  border-radius: 10px;
  background: #10151c;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .72);
}

.backtest-results-window {
  width: min(1320px, calc(100vw - 48px));
}

.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-bottom: 1px solid #2d3747;
  background: linear-gradient(90deg, rgba(59, 130, 246, .16), rgba(16, 21, 28, .98));
}

.modal-header h2 {
  font-size: 18px;
}

.modal-header span {
  display: block;
  margin-top: 4px;
  color: #9aa8bb;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.modal-body {
  min-height: 0;
  overflow: auto;
  padding: 16px;
}

.modal-status {
  margin: 0 0 12px;
}

.modal-metrics {
  margin-bottom: 16px;
}

.controls {
  display: grid;
  grid-template-columns: repeat(11, minmax(120px, 1fr));
  gap: 12px;
  padding: 18px 0;
}

.indicator-picker {
  position: relative;
  display: grid;
  gap: 6px;
  color: #b7c0ce;
  font-size: 13px;
}

.indicator-picker > button {
  width: 100%;
}

.indicator-popout {
  position: absolute;
  z-index: 20;
  top: calc(100% + 8px);
  left: 0;
  width: min(560px, calc(100vw - 48px));
  max-height: 460px;
  overflow: hidden;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #151922;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .45);
}

.indicator-popout-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border-bottom: 1px solid #303947;
}

.indicator-popout-actions strong {
  flex: 1;
  color: #edf0f5;
}

.indicator-popout-actions button {
  min-height: 32px;
  padding: 0 10px;
}

.indicator-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  max-height: 402px;
  overflow: auto;
  padding: 8px;
}

.indicator-option {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-height: 32px;
  padding: 7px 8px;
  border-radius: 6px;
  color: #d4dce8;
}

.indicator-option:hover {
  background: #1c2430;
}

.indicator-option input {
  width: auto;
  min-height: 0;
  margin-top: 2px;
}

.indicator-group-heading {
  grid-column: 1 / -1;
  margin: 0;
  padding: 10px 8px 4px;
  color: #8b97a8;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.trend-indicator-options {
  grid-template-columns: repeat(2, minmax(240px, 1fr));
}

.indicator-popout-title {
  display: grid;
  gap: 2px;
  flex: 1;
}

.indicator-scope-note {
  color: #8b97a8;
  font-size: 11px;
  font-weight: 500;
}

.ml-feature-scope-disabled,
.indicator-picker.ml-feature-scope-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.indicator-option.ml-feature-scope-disabled {
  opacity: 0.45;
  pointer-events: none;
}

.ml-controls .ml-feature-group {
  grid-template-columns: minmax(150px, .8fr) repeat(12, minmax(0, 1fr));
  align-items: start;
}

.ml-exit-strategy-group .ml-labeling-block {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: start;
  grid-column: 2 / -1;
}

.ml-exit-strategy-group .ml-labeling-subsection {
  display: grid;
  gap: 0.5rem;
}

.ml-exit-strategy-group .ml-labeling-presets {
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid #26313f;
}

.ml-labeling-presets-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid #26313f;
}

.ml-labeling-presets-row .ml-labeling-presets,
.ml-labeling-presets-row .ml-labeling-tp-sl-presets {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

@media (max-width: 900px) {
  .ml-labeling-presets-row {
    grid-template-columns: 1fr;
  }
}

.ml-forward-return-presets-heading {
  display: block;
  margin-bottom: 6px;
  color: #b7c0ce;
  font-size: 13px;
}

.ml-forward-return-presets-heading strong {
  font-weight: 600;
  color: #d4dce8;
}

.ml-forward-return-presets-inputs {
  width: 100%;
  min-width: 0;
}

.ml-exit-strategy-group .forward-return-labels-indicator-picker {
  gap: 0;
}

.ml-forward-return-presets-inputs .forward-return-labels-indicator-picker > button {
  min-height: 38px;
}

.control-with-doc-help {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

.control-with-doc-help > :first-child {
  flex: 1;
  min-width: 0;
}

.control-with-doc-help select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.control-with-doc-help .forward-return-labels-indicator-picker {
  width: 100%;
}

.control-with-doc-help .forward-return-labels-indicator-picker > button.secondary {
  width: 100%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.ml-entry-rules-group .control-with-doc-help input {
  flex: 1;
  min-width: 0;
  width: 100%;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.doc-help-trigger {
  flex: 0 0 38px;
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  border: 1px solid #475569;
  border-left: 0;
  border-radius: 0 8px 8px 0;
  background: #263241;
  color: #cbd5e1;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.doc-help-trigger:hover,
.doc-help-trigger:focus-visible {
  border-color: #60a5fa;
  background: #2f3d4f;
  color: #f8fafc;
  outline: none;
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.18);
}

.doc-help-trigger-icon {
  display: block;
  font-size: 16px;
  line-height: 1;
}

.ml-doc-reference-window {
  width: min(1240px, calc(100vw - 48px));
}

.modal-body.ml-doc-reference-body {
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.ml-doc-reference-body .ml-reference-table,
.ml-doc-reference-body .ml-multiclass-table {
  table-layout: fixed;
  width: 100%;
}

.ml-doc-reference-body .ml-reference-table th,
.ml-doc-reference-body .ml-reference-table td,
.ml-doc-reference-body .ml-multiclass-table th,
.ml-doc-reference-body .ml-multiclass-table td {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ml-doc-reference-body .forward-return-labels-paradigm,
.ml-doc-reference-body .ml-multiclass-paradigm,
.ml-doc-reference-body .ml-quantile-paradigm,
.ml-doc-reference-body .ml-multiclass-example,
.ml-doc-reference-body .forward-return-paradigm-section {
  min-width: 0;
  max-width: 100%;
}

.ml-forward-return-presets-reference-body {
  display: grid;
  gap: 16px;
}

.ml-forward-return-presets-reference-body .ml-forward-return-presets-help {
  margin: 0;
}

.ml-exit-strategy-group .forward-return-labels-indicator-picker {
  justify-self: stretch;
  width: auto;
  margin-top: 0;
}

.ml-forward-return-presets-panel {
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #121820;
  overflow: hidden;
}

.ml-forward-return-presets-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.7rem;
  border: 0;
  background: #151b24;
  color: #d4dce8;
  font-size: 12px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.ml-forward-return-presets-toggle:hover {
  background: #1a2230;
}

.ml-forward-return-presets-toggle-label {
  letter-spacing: 0.02em;
}

.ml-forward-return-presets-chevron {
  margin-left: auto;
  color: #8b97a8;
  transition: transform 0.15s ease;
}

.ml-forward-return-presets-toggle[aria-expanded="true"] .ml-forward-return-presets-chevron {
  transform: rotate(90deg);
}

.ml-forward-return-presets-body {
  display: grid;
  gap: 0.65rem;
  padding: 0.65rem 0.7rem 0.75rem;
  border-top: 1px solid #2a3442;
}

.ml-forward-return-presets-help {
  margin: 0;
}

.forward-return-labels-paradigm {
  display: grid;
  gap: 0.5rem;
}

.forward-return-labels-paradigm .ml-forward-return-group-help {
  margin: 0;
}

.forward-return-labels-paradigm .ml-multiclass-paradigm {
  margin: 0;
}

.forward-return-paradigm-section + .forward-return-paradigm-section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #2a3442;
}

.ml-quantile-paradigm {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-quantile-distribution-title {
  margin: 0;
  color: #edf0f5;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ml-quantile-distribution {
  display: grid;
  gap: 6px;
}

.ml-quantile-class-labels {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  color: #f6c85f;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.ml-quantile-bar {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid #3a4658;
  border-radius: 6px;
  overflow: hidden;
  background: #1c2430;
}

.ml-quantile-segment {
  position: relative;
  min-height: 34px;
  border-right: 1px dashed #3a4658;
}

.ml-quantile-segment:last-child {
  border-right: 0;
}

.ml-quantile-segment-0 {
  background: linear-gradient(180deg, #3a2024 0%, #2a181c 100%);
}

.ml-quantile-segment-1 {
  background: linear-gradient(180deg, #3a2a24 0%, #2a201c 100%);
}

.ml-quantile-segment-2 {
  background: linear-gradient(180deg, #2f3340 0%, #232833 100%);
}

.ml-quantile-segment-3 {
  background: linear-gradient(180deg, #24352c 0%, #1b2a22 100%);
}

.ml-quantile-segment-4 {
  background: linear-gradient(180deg, #1f3a2d 0%, #172b22 100%);
}

.ml-quantile-segment-id {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #d4dce8;
  font-size: 11px;
  font-weight: 600;
  opacity: 0.55;
}

.ml-quantile-axis {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #8b97a8;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ml-quantile-axis::before {
  content: "";
  flex: 1;
  height: 1px;
  margin: 0 10px;
  background: repeating-linear-gradient(
    to right,
    #3a4658 0,
    #3a4658 8px,
    transparent 8px,
    transparent 16px
  );
}

.ml-volatility-regime-paradigm {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-volatility-regime-title {
  margin: 0;
  color: #edf0f5;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ml-volatility-regime-subtitle {
  margin: -4px 0 0;
  color: #8f9bad;
  font-size: 11px;
  line-height: 1.4;
}

.ml-volatility-regime-distribution {
  display: grid;
  gap: 6px;
}

.ml-volatility-regime-class-labels {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  color: #f6c85f;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

.ml-volatility-regime-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid #3a4658;
  border-radius: 6px;
  overflow: hidden;
  background: #1c2430;
}

.ml-volatility-regime-segment {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 6px 4px;
  border-right: 1px dashed #3a4658;
  text-align: center;
}

.ml-volatility-regime-segment:last-child {
  border-right: 0;
}

.ml-volatility-regime-segment-0 {
  background: linear-gradient(180deg, #1f3a4f 0%, #172c3d 100%);
}

.ml-volatility-regime-segment-1 {
  background: linear-gradient(180deg, #2a3a45 0%, #202c35 100%);
}

.ml-volatility-regime-segment-2 {
  background: linear-gradient(180deg, #453528 0%, #34271f 100%);
}

.ml-volatility-regime-segment-3 {
  background: linear-gradient(180deg, #493026 0%, #37241d 100%);
}

.ml-volatility-regime-segment-4 {
  background: linear-gradient(180deg, #4a2428 0%, #381b1f 100%);
}

.ml-volatility-regime-segment-name {
  color: #d4dce8;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
}

.ml-volatility-regime-axis {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #8b97a8;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ml-volatility-regime-axis::before {
  content: "";
  flex: 1;
  height: 1px;
  margin: 0 10px;
  background: repeating-linear-gradient(
    to right,
    #3a4658 0,
    #3a4658 8px,
    transparent 8px,
    transparent 16px
  );
}

.ml-market-regime-paradigm {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-market-regime-subtitle {
  margin: 0;
  color: #8f9bad;
  font-size: 11px;
  line-height: 1.4;
}

.ml-market-regime-distribution {
  display: grid;
  gap: 8px;
  padding: 4px 2px 0;
}

.ml-market-regime-axis {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  align-items: center;
  color: #f6c85f;
  font-size: 12px;
  font-weight: 700;
}

.ml-market-regime-axis-cell {
  display: contents;
}

.ml-market-regime-axis-id {
  justify-self: center;
}

.ml-market-regime-axis-dash {
  justify-self: center;
  color: #7e8a9b;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.ml-market-regime-short-labels {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  color: #d4dce8;
  font-size: 11px;
  font-weight: 600;
  text-align: center;
}

.ml-market-regime-table td:nth-child(2),
.ml-market-regime-table td:nth-child(3) {
  color: #f6c85f;
  font-weight: 700;
  text-align: center;
}

.ml-market-regime-table th:nth-child(2),
.ml-market-regime-table th:nth-child(3) {
  text-align: center;
}

.ml-triple-barrier-paradigm {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-triple-barrier-diagram {
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 8px 0 4px;
}

.ml-triple-barrier-upper,
.ml-triple-barrier-lower {
  display: grid;
  justify-items: center;
  gap: 2px;
}

.ml-triple-barrier-level-label {
  color: #8b97a8;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.ml-triple-barrier-level-value {
  font-size: 13px;
  font-weight: 700;
}

.ml-triple-barrier-level-profit {
  color: #59d090;
}

.ml-triple-barrier-level-stop {
  color: #ff7676;
}

.ml-triple-barrier-arrow {
  color: #8b97a8;
  font-size: 12px;
  line-height: 1;
}

.ml-triple-barrier-connector {
  color: #7e8a9b;
  font-size: 12px;
  line-height: 1;
}

.ml-triple-barrier-entry-row {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  width: min(100%, 340px);
  margin: 2px 0;
}

.ml-triple-barrier-entry-label {
  color: #edf0f5;
  font-size: 12px;
  font-weight: 600;
}

.ml-triple-barrier-entry-line {
  color: #8b97a8;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
}

.ml-triple-barrier-table td:last-child {
  color: #f6c85f;
  font-weight: 700;
  text-align: center;
  width: 52px;
}

.ml-triple-barrier-table th:last-child {
  text-align: center;
}

.ml-trend-strength-paradigm {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-trend-strength-section {
  display: grid;
  gap: 8px;
}

.ml-trend-strength-section-atr {
  padding-top: 10px;
  border-top: 1px solid #2a3442;
}

.ml-trend-strength-section-title {
  margin: 0;
  color: #edf0f5;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ml-trend-strength-mood-labels,
.ml-trend-strength-markers {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  text-align: center;
}

.ml-trend-strength-mood-labels {
  color: #d4dce8;
  font-size: 11px;
  font-weight: 600;
}

.ml-trend-strength-mood-labels .ml-trend-strength-mood-0,
.ml-trend-strength-mood-labels span:first-child {
  color: #ff9b9b;
}

.ml-trend-strength-mood-labels span:nth-child(3) {
  color: #8b97a8;
}

.ml-trend-strength-mood-labels span:last-child {
  color: #59d090;
}

.ml-trend-strength-axis {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  align-items: center;
  color: #f6c85f;
  font-size: 12px;
  font-weight: 700;
}

.ml-trend-strength-axis-cell {
  display: contents;
}

.ml-trend-strength-axis-id {
  justify-self: center;
}

.ml-trend-strength-axis-dash {
  justify-self: center;
  color: #7e8a9b;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.ml-trend-strength-markers {
  color: #8b97a8;
  font-size: 10px;
  font-weight: 600;
}

.ml-trend-strength-atr-note {
  margin: 0;
  color: #8f9bad;
  font-size: 11px;
  line-height: 1.45;
}

.ml-trend-strength-table td:nth-child(2) {
  color: #f6c85f;
  font-weight: 700;
  text-align: center;
  width: 48px;
}

.ml-trend-strength-table th:nth-child(2) {
  text-align: center;
}

.ml-max-gain-paradigm {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-max-gain-intro {
  margin: 0;
  color: #8f9bad;
  font-size: 11px;
  line-height: 1.45;
}

.ml-max-gain-example-path {
  display: grid;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid #2a3442;
  border-radius: 6px;
  background: #1c2430;
}

.ml-max-gain-example-title,
.ml-max-gain-example-subtitle {
  margin: 0;
  color: #d4dce8;
  font-size: 11px;
  font-weight: 600;
}

.ml-max-gain-example-subtitle {
  color: #8b97a8;
  font-weight: 500;
}

.ml-max-gain-price-path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  color: #b7c0ce;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 11px;
  line-height: 1.5;
}

.ml-max-gain-price-sep {
  color: #7e8a9b;
}

.ml-max-gain-price-peak {
  color: #59d090;
  font-weight: 700;
}

.ml-max-gain-result {
  margin: 0;
  color: #f6c85f;
  font-size: 12px;
  font-weight: 700;
}

.ml-max-gain-distribution {
  display: grid;
  gap: 6px;
}

.ml-max-gain-class-labels,
.ml-max-gain-markers {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  text-align: center;
}

.ml-max-gain-class-labels {
  color: #f6c85f;
  font-size: 12px;
  font-weight: 700;
}

.ml-max-gain-bar {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid #3a4658;
  border-radius: 6px;
  overflow: hidden;
  background: #1c2430;
}

.ml-max-gain-segment {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 4px;
  border-right: 1px dashed #3a4658;
  text-align: center;
}

.ml-max-gain-segment:last-child {
  border-right: 0;
}

.ml-max-gain-segment-0 { background: linear-gradient(180deg, #2a3340 0%, #202833 100%); }
.ml-max-gain-segment-1 { background: linear-gradient(180deg, #2a3a45 0%, #202c35 100%); }
.ml-max-gain-segment-2 { background: linear-gradient(180deg, #2f3f35 0%, #243028 100%); }
.ml-max-gain-segment-3 { background: linear-gradient(180deg, #2a4538 0%, #1f342a 100%); }
.ml-max-gain-segment-4 { background: linear-gradient(180deg, #1f3a2d 0%, #172b22 100%); }

.ml-max-gain-segment-label {
  color: #d4dce8;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
}

.ml-max-gain-markers {
  color: #8b97a8;
  font-size: 10px;
  font-weight: 600;
}

.ml-max-gain-table td:nth-child(2) {
  color: #f6c85f;
  font-weight: 700;
  text-align: center;
  width: 48px;
}

.ml-max-gain-table th:nth-child(2) {
  text-align: center;
}

.ml-max-drawdown-paradigm {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-max-drawdown-intro {
  margin: 0;
  color: #8f9bad;
  font-size: 11px;
  line-height: 1.45;
}

.ml-max-drawdown-example-path {
  display: grid;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid #2a3442;
  border-radius: 6px;
  background: #1c2430;
}

.ml-max-drawdown-example-title {
  margin: 0;
  color: #d4dce8;
  font-size: 11px;
  font-weight: 600;
}

.ml-max-drawdown-price-path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  color: #b7c0ce;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 11px;
  line-height: 1.5;
}

.ml-max-drawdown-price-sep {
  color: #7e8a9b;
}

.ml-max-drawdown-price-trough {
  color: #ff7676;
  font-weight: 700;
}

.ml-max-drawdown-result {
  margin: 0;
  color: #ff9b9b;
  font-size: 12px;
  font-weight: 700;
}

.ml-max-drawdown-distribution {
  display: grid;
  gap: 6px;
}

.ml-max-drawdown-class-labels,
.ml-max-drawdown-markers {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  text-align: center;
}

.ml-max-drawdown-class-labels {
  color: #f6c85f;
  font-size: 12px;
  font-weight: 700;
}

.ml-max-drawdown-bar {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid #3a4658;
  border-radius: 6px;
  overflow: hidden;
  background: #1c2430;
}

.ml-max-drawdown-segment {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 4px;
  border-right: 1px dashed #3a4658;
  text-align: center;
}

.ml-max-drawdown-segment:last-child {
  border-right: 0;
}

.ml-max-drawdown-segment-0 { background: linear-gradient(180deg, #1f3a2d 0%, #172b22 100%); }
.ml-max-drawdown-segment-1 { background: linear-gradient(180deg, #2a3a45 0%, #202c35 100%); }
.ml-max-drawdown-segment-2 { background: linear-gradient(180deg, #3a3028 0%, #2c241f 100%); }
.ml-max-drawdown-segment-3 { background: linear-gradient(180deg, #452a28 0%, #34201f 100%); }
.ml-max-drawdown-segment-4 { background: linear-gradient(180deg, #4a2428 0%, #381b1f 100%); }

.ml-max-drawdown-segment-label {
  color: #d4dce8;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
}

.ml-max-drawdown-markers {
  color: #8b97a8;
  font-size: 10px;
  font-weight: 600;
}

.ml-max-drawdown-table td:nth-child(2) {
  color: #f6c85f;
  font-weight: 700;
  text-align: center;
  width: 48px;
}

.ml-max-drawdown-table th:nth-child(2) {
  text-align: center;
}

.ml-rr-paradigm {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-rr-intro {
  margin: 0;
  color: #8f9bad;
  font-size: 11px;
  line-height: 1.45;
}

.ml-rr-example-path {
  display: grid;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid #2a3442;
  border-radius: 6px;
  background: #1c2430;
}

.ml-rr-example-title,
.ml-rr-example-subtitle {
  margin: 0;
  color: #d4dce8;
  font-size: 11px;
  font-weight: 600;
}

.ml-rr-example-subtitle {
  color: #8b97a8;
  font-weight: 500;
}

.ml-rr-price-path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  color: #b7c0ce;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 11px;
  line-height: 1.5;
}

.ml-rr-price-sep {
  color: #7e8a9b;
}

.ml-rr-price-peak {
  color: #59d090;
  font-weight: 700;
}

.ml-rr-price-trough {
  color: #ff7676;
  font-weight: 700;
}

.ml-rr-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin: 0;
  color: #d4dce8;
  font-size: 11px;
  font-weight: 600;
}

.ml-rr-formula {
  margin: 0;
  color: #f6c85f;
  font-size: 12px;
  font-weight: 700;
}

.ml-rr-distribution {
  display: grid;
  gap: 6px;
}

.ml-rr-class-labels,
.ml-rr-markers {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  text-align: center;
}

.ml-rr-class-labels {
  color: #f6c85f;
  font-size: 12px;
  font-weight: 700;
}

.ml-rr-bar {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid #3a4658;
  border-radius: 6px;
  overflow: hidden;
  background: #1c2430;
}

.ml-rr-segment {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 4px;
  border-right: 1px dashed #3a4658;
  text-align: center;
}

.ml-rr-segment:last-child {
  border-right: 0;
}

.ml-rr-segment-0 { background: linear-gradient(180deg, #4a2428 0%, #381b1f 100%); }
.ml-rr-segment-1 { background: linear-gradient(180deg, #3a3028 0%, #2c241f 100%); }
.ml-rr-segment-2 { background: linear-gradient(180deg, #2a3a45 0%, #202c35 100%); }
.ml-rr-segment-3 { background: linear-gradient(180deg, #2a4538 0%, #1f342a 100%); }
.ml-rr-segment-4 { background: linear-gradient(180deg, #1f3a2d 0%, #172b22 100%); }

.ml-rr-segment-label {
  color: #d4dce8;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.25;
}

.ml-rr-markers {
  color: #8b97a8;
  font-size: 10px;
  font-weight: 600;
}

.ml-rr-table td:nth-child(2) {
  color: #f6c85f;
  font-weight: 700;
  text-align: center;
  width: 48px;
}

.ml-rr-table th:nth-child(2) {
  text-align: center;
}

.ml-combined-gd-paradigm {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-combined-gd-intro {
  margin: 0;
  color: #8f9bad;
  font-size: 11px;
  line-height: 1.45;
}

.ml-combined-gd-example-path {
  display: grid;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid #2a3442;
  border-radius: 6px;
  background: #1c2430;
}

.ml-combined-gd-example-title,
.ml-combined-gd-example-subtitle {
  margin: 0;
  color: #d4dce8;
  font-size: 11px;
  font-weight: 600;
}

.ml-combined-gd-example-subtitle {
  color: #8b97a8;
  font-weight: 500;
}

.ml-combined-gd-price-path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  color: #b7c0ce;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 11px;
  line-height: 1.5;
}

.ml-combined-gd-price-sep {
  color: #7e8a9b;
}

.ml-combined-gd-price-peak {
  color: #59d090;
  font-weight: 700;
}

.ml-combined-gd-price-trough {
  color: #ff7676;
  font-weight: 700;
}

.ml-combined-gd-flow {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 8px 0 2px;
}

.ml-combined-gd-flow-step {
  min-width: 180px;
  padding: 7px 12px;
  border: 1px solid #334155;
  border-radius: 6px;
  background: #1c2430;
  color: #d4dce8;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

.ml-combined-gd-flow-arrow {
  color: #7e8a9b;
  font-size: 12px;
  line-height: 1;
}

.ml-combined-gd-flow-split-line {
  width: min(100%, 360px);
  height: 1px;
  background: #3a4658;
}

.ml-combined-gd-flow-branches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: min(100%, 420px);
}

.ml-combined-gd-branch {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 8px 6px;
  border: 1px solid #2a3442;
  border-radius: 6px;
  background: #171d26;
}

.ml-combined-gd-flow-role {
  color: #8b97a8;
  font-size: 11px;
  font-weight: 600;
}

.ml-combined-gd-flow-output {
  min-width: 140px;
  padding: 6px 10px;
  border: 1px solid #3a4658;
  border-radius: 6px;
  background: #1c2430;
  color: #f6c85f;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.ml-combined-gd-table td:last-child {
  color: #f6c85f;
  font-weight: 700;
  text-align: center;
  width: 48px;
}

.ml-combined-gd-table th:last-child {
  text-align: center;
}

.ml-path-heads-panel {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 12px 14px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-warning-banner {
  grid-column: 1 / -1;
  margin: 8px 0 12px;
  padding: 12px 14px;
  border: 1px solid #c9a227;
  border-radius: 8px;
  background: rgba(201, 162, 39, 0.12);
  color: #f0e6c8;
}

.ml-warning-banner strong {
  display: block;
  margin-bottom: 4px;
  color: #ffd666;
}

.ml-warning-banner p {
  margin: 0;
  line-height: 1.45;
}

.ml-path-heads-panel h4 {
  margin: 0 0 8px;
  font-size: 13px;
  color: #e8edf5;
}

.ml-path-heads-meta {
  margin: 0 0 6px;
  color: #7f92aa;
  font-size: 11px;
}

.ml-path-heads-signal-table {
  margin: 0 0 12px;
  padding: 8px 10px;
  border: 1px solid #2a3442;
  border-radius: 6px;
  background: #1a212c;
}

.ml-path-heads-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(320px, 1fr));
  gap: 12px;
}

.ml-path-head-side {
  padding: 10px;
  border: 1px solid #2a3442;
  border-radius: 6px;
  background: #1a212c;
}

.ml-path-head-side-title {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #f6c85f;
}

.ml-path-head-row {
  display: grid;
  grid-template-columns: minmax(92px, 0.9fr) minmax(150px, 1.2fr) minmax(180px, 1.6fr);
  gap: 10px;
  align-items: start;
  margin-bottom: 6px;
  font-size: 11px;
  color: #c5d0df;
}

.ml-path-head-row-header {
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid #2a3442;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8fa3bc;
}

.ml-path-head-label {
  font-weight: 600;
  color: #dce4ef;
}

.ml-path-head-value {
  color: #c5d0df;
  line-height: 1.45;
}

.ml-path-head-meaning,
.ml-path-head-meaning-cell {
  color: #9eb0c8;
  font-size: 10px;
  line-height: 1.45;
}

.ml-path-head-row-error,
.ml-path-head-row-missing {
  color: #d6a06d;
}

.ml-path-head-row-error .ml-path-head-meaning,
.ml-path-head-row-missing .ml-path-head-meaning {
  color: #d6a06d;
}

.ml-path-head-row-sizing .ml-path-head-label,
.ml-path-head-row-sizing .ml-path-head-value {
  color: #59d090;
  font-weight: 600;
}

.ml-path-head-side-error {
  font-size: 11px;
  color: #d6a06d;
}

.ml-cross-sectional-panel {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 12px 14px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-cross-sectional-panel h4 {
  margin: 0 0 8px;
  font-size: 13px;
  color: #e8edf5;
}

.ml-cross-sectional-ranking-panel .ml-multiclass-table {
  border-collapse: separate;
  border-spacing: 0;
}

.ml-cross-sectional-ranking-panel tr.ml-cross-sectional-top > td {
  border-top: 2px solid rgba(89, 208, 144, 0.95);
  border-bottom: 2px solid rgba(89, 208, 144, 0.95);
  background: rgba(89, 208, 144, 0.12);
}

.ml-cross-sectional-ranking-panel tr.ml-cross-sectional-top > :first-child {
  border-left: 2px solid rgba(89, 208, 144, 0.95);
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.ml-cross-sectional-ranking-panel tr.ml-cross-sectional-top > :last-child {
  border-right: 2px solid rgba(89, 208, 144, 0.95);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.ml-forward-target-results-panel {
  overflow-x: auto;
}

.ml-forward-target-results-panel .ml-multiclass-table {
  min-width: 980px;
  border-collapse: separate;
  border-spacing: 0;
}

.ml-forward-target-results-panel .ml-multiclass-table td:nth-child(2) {
  width: auto;
  min-width: 150px;
}

.ml-forward-target-results-panel tr.is-error td {
  color: #d6a06d;
}

.ml-forward-target-results-panel tr[class*="ml-forward-target-top-"] > td {
  border-top: 2px solid var(--ml-forward-top-border, rgba(89, 208, 144, 0.5));
  border-bottom: 2px solid var(--ml-forward-top-border, rgba(89, 208, 144, 0.5));
  background: var(--ml-forward-top-bg, rgba(89, 208, 144, 0.05));
}

.ml-forward-target-results-panel tr.ml-forward-target-top-1 > td {
  --ml-forward-top-border: rgba(89, 208, 144, 0.95);
  --ml-forward-top-bg: rgba(89, 208, 144, 0.12);
}

.ml-forward-target-results-panel tr.ml-forward-target-top-2 > td {
  --ml-forward-top-border: rgba(89, 208, 144, 0.72);
  --ml-forward-top-bg: rgba(89, 208, 144, 0.09);
}

.ml-forward-target-results-panel tr.ml-forward-target-top-3 > td {
  --ml-forward-top-border: rgba(89, 208, 144, 0.52);
  --ml-forward-top-bg: rgba(89, 208, 144, 0.07);
}

.ml-forward-target-results-panel tr.ml-forward-target-top-4 > td {
  --ml-forward-top-border: rgba(89, 208, 144, 0.36);
  --ml-forward-top-bg: rgba(89, 208, 144, 0.05);
}

.ml-forward-target-results-panel tr.ml-forward-target-top-5 > td {
  --ml-forward-top-border: rgba(89, 208, 144, 0.22);
  --ml-forward-top-bg: rgba(89, 208, 144, 0.03);
}

.ml-forward-target-results-panel tr[class*="ml-forward-target-top-"] > :first-child {
  border-left: 2px solid var(--ml-forward-top-border, rgba(89, 208, 144, 0.5));
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.ml-forward-target-results-panel tr[class*="ml-forward-target-top-"] > :last-child {
  border-right: 2px solid var(--ml-forward-top-border, rgba(89, 208, 144, 0.5));
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.ml-tp-sl-results-panel {
  overflow-x: auto;
}

.ml-tp-sl-results-panel .ml-multiclass-table {
  border-collapse: separate;
  border-spacing: 0;
}

.ml-tp-sl-results-panel tr.ml-tp-sl-top > td {
  border-top: 2px solid #59d090;
  border-bottom: 2px solid #59d090;
  background: rgba(89, 208, 144, 0.14);
  box-shadow: inset 0 0 0 1px rgba(89, 208, 144, 0.18);
}

.ml-tp-sl-results-panel tr.ml-tp-sl-top > :first-child {
  border-left: 2px solid #59d090;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.ml-tp-sl-results-panel tr.ml-tp-sl-top > :last-child {
  border-right: 2px solid #59d090;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  color: #8be8b4;
  font-weight: 700;
}

.ml-exit-strategy-group .forward-return-labels-indicator-picker .indicator-popout {
  width: min(760px, calc(100vw - 48px));
  max-height: min(70vh, 560px);
}

.ml-exit-strategy-group .ml-exit-subsection-title {
  display: grid;
  gap: 0.2rem;
}

.ml-exit-rules-group .ml-label-exit-options,
.ml-exit-strategy-group .ml-label-exit-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  align-items: center;
}

body[data-page="intraday-ml"] .ml-exit-rules-group {
  grid-template-columns: minmax(150px, .8fr) repeat(12, minmax(0, 1fr));
  align-items: start;
}

body[data-page="intraday-ml"] .ml-exit-rules-group .ml-label-exit-options {
  grid-column: 2 / -1;
}

body[data-page="intraday-ml"] .ml-labeling-group .ml-labeling-presets-row {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

.ml-exit-rules-group .ml-label-exit-stack,
.ml-exit-strategy-group .ml-label-exit-stack {
  display: contents;
}

.ml-exit-rules-group .ml-label-exit-option-with-input,
.ml-exit-strategy-group .ml-label-exit-option-with-input {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: nowrap;
}

.ml-exit-rules-group .ml-label-exit-checkbox,
.ml-exit-strategy-group .ml-label-exit-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  color: inherit;
  font-size: inherit;
}

.ml-exit-rules-group .ml-label-exit-option-with-input input[type="number"],
.ml-exit-strategy-group .ml-label-exit-option-with-input input[type="number"] {
  width: 4.75rem;
  min-height: 32px;
}

.ml-exit-rules-group .ml-label-exit-input-suffix,
.ml-exit-rules-group .ml-label-exit-input-label,
.ml-exit-strategy-group .ml-label-exit-input-suffix,
.ml-exit-strategy-group .ml-label-exit-input-label {
  color: #8b97a8;
  font-size: 12px;
}

.ml-exit-rules-group .ml-label-exit-option-rsi,
.ml-exit-strategy-group .ml-label-exit-option-rsi {
  flex-shrink: 0;
}

.ml-exit-strategy-group .indicator-picker {
  margin-top: 0;
}

.forward-return-labels-indicator-options .ml-forward-return-group-help {
  grid-column: 1 / -1;
  margin: 0 8px 6px;
  color: #8f9bad;
  font-size: 12px;
  line-height: 1.4;
}

.ml-multiclass-paradigm {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  margin: 0 8px 10px;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-multiclass-stack {
  display: grid;
  justify-items: center;
  gap: 4px;
}

.ml-multiclass-tier {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) auto minmax(90px, 1fr);
  align-items: center;
  gap: 10px;
  width: min(100%, 320px);
  padding: 6px 10px;
  border-radius: 6px;
  background: #1c2430;
}

.ml-multiclass-tier-bull {
  border-left: 3px solid #59d090;
}

.ml-multiclass-tier-neutral {
  border-left: 3px solid #8b97a8;
}

.ml-multiclass-tier-bear {
  border-left: 3px solid #ff7676;
}

.ml-multiclass-name {
  color: #edf0f5;
  font-size: 12px;
  font-weight: 600;
}

.ml-multiclass-id {
  color: #f6c85f;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.ml-multiclass-range {
  color: #8b97a8;
  font-size: 11px;
  text-align: right;
}

.ml-multiclass-arrow {
  color: #7e8a9b;
  font-size: 12px;
  line-height: 1;
}

.ml-multiclass-arrow-down {
  color: #7e8a9b;
}

.ml-multiclass-zero-axis {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 320px);
  color: #b7c0ce;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ml-multiclass-zero-axis::before,
.ml-multiclass-zero-axis::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #3a4658;
}

.ml-multiclass-zero-axis span {
  padding: 0 10px;
}

.ml-multiclass-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.ml-multiclass-table th,
.ml-multiclass-table td {
  padding: 5px 8px;
  border-top: 1px solid #2a3442;
  text-align: left;
}

.ml-multiclass-table th {
  color: #8b97a8;
  font-weight: 600;
}

.ml-multiclass-table td:nth-child(2) {
  color: #f6c85f;
  font-weight: 700;
  width: 48px;
}

.ml-multiclass-example {
  display: grid;
  gap: 10px;
  padding-top: 8px;
  border-top: 1px solid #2a3442;
}

.ml-multiclass-example-title {
  margin: 0;
  color: #edf0f5;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ml-multiclass-example-table td:last-child,
.ml-multiclass-example-table th:last-child {
  color: #f6c85f;
  font-weight: 700;
  text-align: center;
  width: 52px;
}

.ml-multiclass-example-table td:nth-child(4) {
  text-align: right;
}

.ml-multiclass-example-note {
  margin: 0;
  color: #8f9bad;
  font-size: 11px;
  line-height: 1.45;
}

.ml-multiclass-flow {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 8px 0 2px;
}

.ml-multiclass-flow-step {
  min-width: 180px;
  padding: 7px 12px;
  border: 1px solid #334155;
  border-radius: 6px;
  background: #1c2430;
  color: #d4dce8;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

.ml-multiclass-flow-arrow {
  color: #7e8a9b;
  font-size: 12px;
  line-height: 1;
}

.ml-multiclass-probabilities {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ml-multiclass-probabilities li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 8px;
  border-radius: 5px;
  background: #1c2430;
  color: #b7c0ce;
  font-size: 11px;
}

.ml-multiclass-probabilities li.is-predicted {
  border: 1px solid #59d090;
  background: #1a2b24;
  color: #edf0f5;
}

.ml-multiclass-probabilities li.is-predicted span:last-child {
  color: #59d090;
  font-weight: 700;
}

.ml-multiclass-prediction {
  margin: 0;
  padding: 8px 10px;
  border-radius: 6px;
  background: #1a2b24;
  border: 1px solid #59d090;
  color: #edf0f5;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

.ml-feature-group .indicator-picker {
  grid-column: auto;
  min-width: 0;
}

.ml-feature-group .group-title {
  display: grid;
  gap: 6px;
}

.ml-feature-group-heading-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.ml-feature-group-heading-text {
  display: grid;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.ml-highest-value-only-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.ml-feature-group .ml-feature-group-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
}

.ml-feature-picker-with-help.control-with-doc-help {
  position: relative;
  display: grid;
  grid-column: auto;
  grid-template-columns: minmax(0, 1fr) 38px;
  grid-template-rows: auto auto;
  column-gap: 0;
  row-gap: 6px;
  width: 100%;
  min-width: 0;
  align-self: start;
}

.ml-feature-picker-with-help:has(.crypto-microstructure-indicator-picker),
.ml-feature-picker-with-help:has(.calendar-indicator-picker),
.ml-feature-picker-with-help:has(.multi-timeframe-indicator-picker),
.ml-feature-picker-with-help:has(.highest-value-feature-picker),
.ml-feature-picker-with-help:has(.ml-trading-indicator-picker),
.ml-feature-picker-with-help:has(.market-breadth-indicator-picker),
.ml-feature-picker-with-help:has(.relative-strength-indicator-picker),
.ml-feature-picker-with-help:has(.volume-indicator-picker),
.ml-feature-picker-with-help:has(.technical-feature-picker),
.ml-feature-picker-with-help:has(.trend-indicator-picker) {
  grid-column: span 2;
}

.ml-feature-picker-with-help .indicator-picker {
  display: contents;
}

.ml-feature-picker-with-help .indicator-picker > span {
  grid-column: 1 / -1;
  grid-row: 1;
  color: #b7c0ce;
  font-size: 13px;
  line-height: 1.2;
}

.ml-feature-picker-with-help .indicator-picker > button.secondary {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  min-height: 38px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.ml-feature-picker-with-help > .doc-help-trigger {
  grid-column: 2;
  grid-row: 2;
  align-self: stretch;
}

.ml-feature-picker-with-help .indicator-popout {
  top: 100%;
  margin-top: 8px;
  left: 0;
  right: 38px;
  width: auto;
  max-width: min(560px, calc(100vw - 48px));
}

.ml-feature-picker-with-help .crypto-microstructure-indicator-popout {
  right: auto;
  width: min(520px, calc(100vw - 48px));
  max-width: min(520px, calc(100vw - 48px));
}

.ml-feature-picker-with-help .ml-trading-indicator-popout {
  right: auto;
  width: min(680px, calc(100vw - 48px));
  max-width: min(680px, calc(100vw - 48px));
}

.ml-trading-indicator-options {
  grid-template-columns: repeat(2, minmax(280px, 1fr));
}

.ml-feature-picker-with-help .market-breadth-indicator-popout {
  right: auto;
  width: min(520px, calc(100vw - 48px));
  max-width: min(520px, calc(100vw - 48px));
}

.market-breadth-indicator-options {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.ml-feature-picker-with-help .relative-strength-indicator-popout {
  right: auto;
  width: min(560px, calc(100vw - 48px));
  max-width: min(560px, calc(100vw - 48px));
}

.relative-strength-indicator-options {
  grid-template-columns: repeat(2, minmax(240px, 1fr));
}

.ml-feature-picker-with-help .volume-indicator-popout {
  right: auto;
  width: min(520px, calc(100vw - 48px));
  max-width: min(520px, calc(100vw - 48px));
}

.volume-indicator-options {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.ml-feature-picker-with-help .highest-value-feature-popout {
  right: auto;
  width: min(680px, calc(100vw - 48px));
  max-width: min(680px, calc(100vw - 48px));
}

.highest-value-feature-options {
  grid-template-columns: repeat(2, minmax(280px, 1fr));
}

.ml-feature-picker-with-help .technical-feature-popout {
  right: auto;
  width: min(720px, calc(100vw - 48px));
  max-width: min(720px, calc(100vw - 48px));
}

.technical-feature-options {
  grid-template-columns: repeat(2, minmax(300px, 1fr));
}

.ml-feature-picker-with-help .trend-indicator-popout {
  right: auto;
  width: min(560px, calc(100vw - 48px));
  max-width: min(560px, calc(100vw - 48px));
}

.ml-feature-picker-with-help .multi-timeframe-indicator-popout {
  right: auto;
  width: min(520px, calc(100vw - 48px));
  max-width: min(520px, calc(100vw - 48px));
}

.crypto-microstructure-indicator-options {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  column-gap: 8px;
}

.doc-help-trigger-compact {
  flex: 0 0 26px;
  width: 26px;
  min-width: 26px;
  min-height: 26px;
  border-radius: 6px;
  border: 1px solid #475569;
  align-self: center;
}

.doc-help-trigger-compact .doc-help-trigger-icon {
  font-size: 14px;
}

.ml-feature-indicators-reference-body {
  display: grid;
  gap: 16px;
}

.ml-feature-indicators-reference-body .ml-forward-return-presets-help {
  margin: 0;
}

.ml-feature-indicator-reference-section {
  display: grid;
  gap: 12px;
}

.ml-feature-item-catalog {
  display: grid;
  gap: 14px;
}

.ml-feature-item-catalog-group {
  min-width: 0;
}

.ml-feature-item-catalog-scroll {
  overflow-x: auto;
  min-width: 0;
}

.ml-doc-reference-body .ml-feature-item-catalog-table {
  table-layout: fixed;
  width: 100%;
  min-width: 760px;
}

.ml-doc-reference-body .ml-feature-item-catalog-table th,
.ml-doc-reference-body .ml-feature-item-catalog-table td {
  vertical-align: top;
  text-align: left;
  color: #d4dce8;
  font-weight: 400;
}

.ml-doc-reference-body .ml-feature-item-catalog-table th {
  color: #8b97a8;
  font-weight: 600;
}

.ml-doc-reference-body .ml-feature-item-catalog-table td:nth-child(2),
.ml-doc-reference-body .ml-feature-item-catalog-table td:nth-child(3),
.ml-doc-reference-body .ml-feature-item-catalog-table td:nth-child(4),
.ml-doc-reference-body .ml-feature-item-catalog-table td:nth-child(5) {
  width: auto;
  color: #d4dce8;
  font-weight: 400;
  text-align: left;
}

.ml-doc-reference-body .ml-feature-item-catalog-table.is-typed-technical col.col-item {
  width: 22%;
}

.ml-doc-reference-body .ml-feature-item-catalog-table.is-typed-technical col.col-suffix {
  width: 11%;
}

.ml-doc-reference-body .ml-feature-item-catalog-table.is-typed-technical col.col-help {
  width: 27%;
}

.ml-doc-reference-body .ml-feature-item-catalog-table.is-typed-technical col.col-engine {
  width: 28%;
}

.ml-doc-reference-body .ml-feature-item-catalog-table.is-typed-technical col.col-example {
  width: 12%;
}

.ml-doc-reference-body .ml-feature-item-catalog-table:not(.is-typed-technical) col.col-item {
  width: 18%;
}

.ml-doc-reference-body .ml-feature-item-catalog-table:not(.is-typed-technical) col.col-help {
  width: 30%;
}

.ml-doc-reference-body .ml-feature-item-catalog-table:not(.is-typed-technical) col.col-engine {
  width: 36%;
}

.ml-doc-reference-body .ml-feature-item-catalog-table:not(.is-typed-technical) col.col-example {
  width: 16%;
}

.ml-doc-reference-body .ml-feature-example-dataset-table {
  table-layout: auto;
  width: 100%;
}

.ml-doc-reference-body .ml-feature-example-dataset-table th,
.ml-doc-reference-body .ml-feature-example-dataset-table td {
  vertical-align: top;
  text-align: left;
  color: #d4dce8;
  font-weight: 400;
  width: auto;
}

.ml-doc-reference-body .ml-feature-example-dataset-table th {
  color: #8b97a8;
  font-weight: 600;
}

.ml-doc-reference-body .ml-feature-indicator-paradigm .ml-multiclass-table td:nth-child(2) {
  color: #d4dce8;
  font-weight: 400;
  width: auto;
}

.ml-feature-item-group-heading {
  margin-bottom: 6px;
}

.ml-feature-scope-note {
  margin: 0;
}

.ml-feature-suffix-tier {
  padding: 8px 10px;
  border-radius: 6px;
  background: #1a2230;
  border: 1px solid #334155;
  text-align: center;
}

.ml-feature-suffix-label {
  color: #d4dce8;
  font-size: 12px;
  font-weight: 600;
}

.ml-feature-category-paradigm {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.ml-feature-paradigm-title {
  margin: 0;
  color: #edf0f5;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ml-feature-paradigm-svg {
  display: block;
  width: 100%;
  max-width: 420px;
  height: auto;
}

.ml-feature-chart-axis {
  stroke: #334155;
  stroke-width: 1;
}

.ml-feature-chart-label,
.ml-feature-chart-tick {
  fill: #8b97a8;
  font-size: 10px;
  font-family: inherit;
}

.ml-feature-chart-label {
  fill: #b7c0ce;
  font-size: 11px;
}

.ml-feature-paradigm-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: #8b97a8;
  font-size: 11px;
}

.ml-feature-paradigm-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.ml-feature-paradigm-legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
}

.ml-feature-paradigm-callouts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ml-feature-callout {
  padding: 4px 8px;
  border-radius: 5px;
  background: #1c2430;
  border: 1px solid #334155;
  color: #63b3ed;
  font-size: 11px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ml-feature-bundle-grid {
  display: grid;
  gap: 6px;
}

.ml-feature-bundle-card {
  display: grid;
  grid-template-columns: minmax(88px, 110px) auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  background: #1c2430;
  border: 1px solid #334155;
}

.ml-feature-bundle-label {
  color: #f6c85f;
  font-size: 11px;
  font-weight: 600;
}

.ml-feature-bundle-arrow {
  color: #7e8a9b;
  font-size: 11px;
}

.ml-feature-bundle-cols {
  color: #b7c0ce;
  font-size: 11px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ml-feature-volume-chart {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  height: 80px;
  padding: 8px 10px;
  border-radius: 6px;
  background: #1c2430;
  border: 1px solid #334155;
}

.ml-feature-volume-bar {
  flex: 1;
  min-height: 4px;
  border-radius: 2px 2px 0 0;
  background: #63b3ed;
  opacity: 0.65;
}

.ml-feature-volume-bar.is-spike {
  background: #f6c85f;
  opacity: 1;
}

.ml-feature-candle-diagram {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
}

.ml-feature-candle {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 48px;
  height: 100px;
}

.ml-feature-candle-wick {
  width: 2px;
  background: #8b97a8;
}

.ml-feature-candle-wick.upper {
  height: 18px;
}

.ml-feature-candle-wick.lower {
  height: 14px;
}

.ml-feature-candle-body {
  position: relative;
  width: 28px;
  height: 52px;
  border-radius: 3px;
  background: linear-gradient(180deg, #59d090 0%, #3d9468 100%);
}

.ml-feature-candle-marker {
  position: absolute;
  right: -6px;
  transform: translateX(100%);
  white-space: nowrap;
  color: #63b3ed;
  font-size: 10px;
}

.ml-feature-candle-labels {
  display: grid;
  gap: 6px;
  color: #8b97a8;
  font-size: 11px;
}

.ml-feature-meter-group {
  display: grid;
  gap: 10px;
}

.ml-feature-meter {
  display: grid;
  gap: 4px;
}

.ml-feature-meter-label {
  color: #b7c0ce;
  font-size: 11px;
  font-weight: 600;
}

.ml-feature-meter-track {
  height: 14px;
  border-radius: 4px;
  background: #1c2430;
  border: 1px solid #334155;
  overflow: hidden;
}

.ml-feature-meter-fill {
  height: 100%;
  border-radius: 3px;
}

.ml-feature-meter-fill.is-bullish {
  background: linear-gradient(90deg, #3d9468, #59d090);
}

.ml-feature-meter-fill.is-neutral {
  background: linear-gradient(90deg, #4a5568, #63b3ed);
}

.ml-feature-meter-value {
  color: #8b97a8;
  font-size: 11px;
}

.ml-feature-options-grid {
  display: grid;
  gap: 10px;
}

.ml-feature-gauge-label {
  display: block;
  margin-bottom: 4px;
  color: #b7c0ce;
  font-size: 11px;
  font-weight: 600;
}

.ml-feature-gauge-track {
  height: 12px;
  border-radius: 4px;
  background: #1c2430;
  border: 1px solid #334155;
  overflow: hidden;
}

.ml-feature-gauge-fill {
  height: 100%;
  border-radius: 3px;
  background: linear-gradient(90deg, #3d9468, #f6c85f, #ff7676);
}

.ml-feature-gauge-value {
  display: block;
  margin-top: 3px;
  color: #8b97a8;
  font-size: 11px;
}

.ml-feature-pcr-bar {
  display: flex;
  height: 12px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #334155;
}

.ml-feature-pcr-puts {
  background: #ff7676;
  opacity: 0.8;
}

.ml-feature-pcr-calls {
  background: #59d090;
  opacity: 0.8;
}

.ml-feature-signed-bar {
  height: 12px;
  border-radius: 4px;
  background: #1c2430;
  border: 1px solid #334155;
  overflow: hidden;
}

.ml-feature-signed-bar-negative {
  height: 100%;
  margin-left: auto;
  background: #ff7676;
  opacity: 0.75;
}

.ml-feature-source-flow {
  display: grid;
  justify-items: center;
  gap: 6px;
}

.ml-feature-source-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.ml-feature-source-chip {
  padding: 5px 10px;
  border-radius: 999px;
  background: #1c2430;
  border: 1px solid #334155;
  color: #d4dce8;
  font-size: 11px;
  font-weight: 600;
}

.ml-interval-chips {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.ml-interval-chip-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  min-width: 0;
}

.ml-interval-chip-row .ml-interval-chip {
  flex: 1 1 0;
  min-width: 0;
}

.ml-interval-chip-row .ml-interval-chip span {
  display: block;
  width: 100%;
  text-align: center;
  padding-left: 4px;
  padding-right: 4px;
}

.ml-interval-chip {
  position: relative;
  display: inline-flex;
  margin: 0;
  cursor: pointer;
}

.ml-interval-chip input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}

.ml-interval-chip span {
  display: inline-block;
  padding: 5px 11px;
  border-radius: 999px;
  background: #1c2430;
  border: 1px solid #334155;
  color: #8b97a8;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.ml-interval-chip:hover span {
  border-color: #3f5169;
  color: #d4dce8;
}

.ml-interval-chip input:checked + span {
  background: #1d72b8;
  border-color: #2a86d0;
  color: #f4f8ff;
}

.ml-interval-chip input:focus-visible + span {
  outline: 2px solid #63b3ed;
  outline-offset: 1px;
}

.ml-feature-sentiment-score {
  width: 100%;
  display: grid;
  gap: 4px;
}

.ml-feature-sentiment-label {
  color: #b7c0ce;
  font-size: 11px;
  font-weight: 600;
}

.ml-feature-sentiment-bar {
  height: 12px;
  border-radius: 4px;
  background: #1c2430;
  border: 1px solid #334155;
  overflow: hidden;
}

.ml-feature-sentiment-fill {
  height: 100%;
  background: linear-gradient(90deg, #334155, #59d090);
}

.ml-feature-sentiment-value {
  color: #8b97a8;
  font-size: 11px;
}

.ml-feature-yield-svg {
  max-width: 420px;
}

.ml-feature-risk-spectrum {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
}

.ml-feature-risk-label {
  color: #8b97a8;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ml-feature-risk-label.risk-off {
  color: #ff7676;
}

.ml-feature-risk-label.risk-on {
  color: #59d090;
}

.ml-feature-risk-track {
  position: relative;
  height: 8px;
  border-radius: 4px;
  background: linear-gradient(90deg, #ff7676, #334155 50%, #59d090);
}

.ml-feature-risk-marker {
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  margin-left: -5px;
  border-radius: 50%;
  background: #edf0f5;
  border: 2px solid #151b24;
}

.ml-feature-boolean-timeline {
  display: flex;
  gap: 3px;
  height: 36px;
  padding: 6px 8px;
  border-radius: 6px;
  background: #1c2430;
  border: 1px solid #334155;
  align-items: flex-end;
}

.ml-feature-boolean-bar {
  flex: 1;
  height: 8px;
  border-radius: 2px;
  background: #334155;
}

.ml-feature-boolean-bar.is-active {
  height: 24px;
  background: #59d090;
}

.ml-feature-trading-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.ml-feature-flow-box {
  padding: 6px 10px;
  border-radius: 6px;
  background: #1c2430;
  border: 1px solid #334155;
  color: #b7c0ce;
  font-size: 11px;
}

.ml-feature-flow-box.is-engine {
  color: #63b3ed;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ml-feature-flow-arrow {
  color: #7e8a9b;
  font-size: 12px;
}

.ml-feature-strategy-composite {
  display: grid;
  justify-items: center;
  gap: 4px;
}

.ml-feature-strategy-label {
  padding: 6px 12px;
  border-radius: 6px;
  background: #1c2430;
  border: 1px solid #f6c85f;
  color: #f6c85f;
  font-size: 12px;
  font-weight: 600;
}

.ml-feature-strategy-columns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.ml-feature-strategy-columns span {
  padding: 4px 8px;
  border-radius: 5px;
  background: #1c2430;
  border: 1px solid #334155;
  color: #63b3ed;
  font-size: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ml-doc-reference-body .ml-feature-indicator-paradigm,
.ml-doc-reference-body .ml-typed-technical-ladder,
.ml-doc-reference-body .ml-feature-item-catalog,
.ml-doc-reference-body .ml-feature-indicator-reference-section {
  min-width: 0;
  max-width: 100%;
}

.ml-feature-group .group-title .check-label {
  margin-top: 0;
  min-height: auto;
  font-size: 11px;
  color: #b7c0ce;
}

.ml-feature-group .ml-feature-group-actions button {
  min-height: 26px;
  padding: 2px 8px;
  font-size: 11px;
}

.ml-feature-group.is-highest-value-only .ml-feature-picker-with-help:not(:has(.highest-value-feature-picker)):not(:has(.technical-feature-picker)) {
  opacity: 0.45;
  pointer-events: none;
}

.ml-feature-group.is-highest-value-only .ml-feature-picker-with-help:not(:has(.highest-value-feature-picker)):not(:has(.technical-feature-picker)) button {
  cursor: not-allowed;
}

label {
  display: grid;
  gap: 6px;
  color: #b7c0ce;
  font-size: 13px;
}

[hidden] {
  display: none !important;
}

.field-help {
  color: #8f9bad;
  font-size: 12px;
  line-height: 1.35;
}

input:not([type="checkbox"]):not([type="radio"]),
select {
  width: 100%;
  min-height: 38px;
  border: 1px solid #303947;
  border-radius: 8px;
  padding: 0 10px;
  background: #171b22;
  color: #f7f8fb;
  font-size: 13px;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus {
  outline: none;
  border-color: #63b3ed;
  box-shadow: 0 0 0 3px rgba(99, 179, 237, 0.18);
  background: #1a1f29;
}
select {
  cursor: pointer;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #8aa4c2 50%), linear-gradient(135deg, #8aa4c2 50%, transparent 50%);
  background-position: calc(100% - 14px) calc(50% + 1px), calc(100% - 9px) calc(50% + 1px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 26px;
}

.status {
  min-height: 42px;
  padding: 12px;
  border: 1px solid #303947;
  border-radius: 8px;
  color: #cbd3df;
  background: #151922;
}

.status-progress {
  display: grid;
  gap: 6px;
  line-height: 1.35;
}

.status-progress strong {
  color: #edf0f5;
}

.metrics {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin: 18px 0;
}

.metric {
  padding: 14px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #171b22;
}

.metric span {
  display: block;
  color: #98a5b6;
  font-size: 12px;
  margin-bottom: 8px;
}

.metric strong {
  font-size: 22px;
}

.metric-rules {
  margin: 10px 0 0;
  padding-left: 16px;
  color: #98a5b6;
  font-size: 11px;
  line-height: 1.35;
}

.metric-rules .disabled-rule {
  text-decoration: line-through;
}

.metric.compact {
  padding: 10px;
}

.metric.compact strong {
  font-size: 17px;
}

.record-description {
  display: block;
  margin-top: 8px;
  color: #8f9bad;
  font-size: 12px;
  line-height: 1.35;
}

.validation-symbols {
  grid-column: 1 / -1;
}

.validation-symbols .chips {
  margin-top: 10px;
}

.backtest-panel,
.scanner,
.ml-panel,
.deep-panel,
.collector-panel {
  margin: 18px 0;
  padding: 16px;
  border: 1px solid #303947;
  border-radius: 10px;
  background: #151922;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
  position: relative;
  overflow: hidden;
}
.deep-panel::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #63b3ed, #59d090);
  opacity: 0.9;
}

.backtest-controls,
.collector-controls {
  padding: 0;
  align-items: stretch;
}

.backtest-controls {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.backtest-control-group {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 12px;
  align-items: end;
  grid-column: 1 / -1;
  padding: 14px 0 16px;
  border-top: 1px solid #26313f;
}

.backtest-control-group:first-child {
  border-top: none;
  padding-top: 4px;
}

.backtest-control-group.market-group {
  grid-template-columns: minmax(150px, .8fr) minmax(190px, 1fr) minmax(300px, 1.6fr) minmax(120px, .7fr) minmax(160px, .9fr);
  align-items: start;
}

.backtest-control-group.execution-group {
  grid-template-columns: minmax(150px, .9fr) repeat(7, minmax(112px, 1fr));
}

.backtest-control-group.indicator-group {
  grid-template-columns: minmax(150px, .8fr) minmax(210px, 1.2fr) minmax(140px, .75fr) minmax(160px, .85fr) minmax(260px, 1.4fr);
}

.backtest-control-group.filters-group {
  grid-template-columns: minmax(150px, .8fr) repeat(4, minmax(145px, 1fr));
}

.backtest-control-group.run-group {
  grid-template-columns: minmax(150px, .8fr) minmax(130px, .7fr) minmax(120px, .6fr) minmax(260px, 1.4fr) minmax(170px, auto);
}

.group-title {
  display: grid;
  align-content: center;
  gap: 2px;
  min-height: 38px;
  padding-right: 6px;
  border-right: 1px solid #26313f;
}

.group-title strong {
  color: #edf0f5;
  font-size: 12px;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.group-title span {
  color: #7e8a9b;
  font-size: 11px;
}

.backtest-run-action {
  align-self: end;
  min-height: 38px;
  white-space: nowrap;
}

.backtest-rules {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
}

.backtest-rules strong {
  display: block;
  color: #edf0f5;
  font-size: 13px;
}

.backtest-rules .metric-rules {
  margin-top: 8px;
}

.backtest-flow {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid #303947;
  color: #98a5b6;
  font-size: 12px;
  line-height: 1.4;
}

.backtest-flow strong {
  color: #d4dce8;
  font-size: 12px;
}

.backtest-flow ol {
  margin: 8px 0 0;
  padding-left: 18px;
}

.backtest-flow li + li {
  margin-top: 4px;
}

.collector-jobs-panel {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
}

.backtest-jobs-panel {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  margin-top: 2px;
  padding: 12px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
}

#killBacktestJob {
  grid-column: 2;
  grid-row: 3;
  align-self: start;
}

#refreshBacktestJobList {
  grid-column: 2;
  grid-row: 4;
  align-self: start;
}

.backtest-verbose-log-panel {
  grid-column: 1 / -1;
}

.backtest-verbose-toggle {
  grid-column: 1 / -1;
}

.interval-listbox-field select {
  min-height: 190px;
  padding: 6px;
  background-image: none;
  font-size: 9px;
}

.interval-listbox-field option {
  padding: 5px 8px;
  border-radius: 5px;
}

.interval-listbox-field option:checked {
  background: #1d72b8;
  color: #ffffff;
}

.jobs-header {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.jobs-header strong {
  color: #edf0f5;
  font-size: 14px;
  letter-spacing: 0.3px;
}

.jobs-est-remaining {
  font-size: 13px;
  color: #8a93a6;
  white-space: nowrap;
}

.jobs-est-remaining strong {
  color: #dbe7f5;
  font-weight: 600;
}

.jobs-note {
  grid-column: 1 / -1;
  font-size: 13px;
  color: #8a93a6;
  margin: -4px 2px 6px 2px;
  line-height: 1.35;
  font-style: italic;
}

.collector-jobs-progress {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  transition:
    max-height 0.25s ease,
    opacity 0.2s ease,
    margin 0.25s ease,
    padding 0.25s ease;
}

.collector-jobs-progress.is-active {
  max-height: 28px;
  opacity: 1;
  margin-top: 2px;
  padding-top: 8px;
  border-top: 1px solid rgba(107, 147, 199, 0.18);
}

.collector-jobs-progress-track {
  height: 3px;
  border-radius: 999px;
  background: rgba(107, 147, 199, 0.14);
  overflow: hidden;
}

.collector-jobs-progress-fill {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3d8bfd, #59d090);
  transition: width 0.35s ease;
}

.collector-jobs-progress.is-indeterminate .collector-jobs-progress-fill {
  width: 35% !important;
  animation: collector-jobs-progress-slide 1.2s linear infinite;
}

@keyframes collector-jobs-progress-slide {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(420%);
  }
}

.collector-jobs-progress-label {
  font-size: 10px;
  line-height: 1.2;
  color: #8a93a6;
  letter-spacing: 0.01em;
}

.jobs-listbox {
  grid-column: 1 / 2;
  grid-row: 2;
  min-height: 180px;
  padding: 8px;
  border: 1px solid #303947;
  border-radius: 8px;
  background-color: #0f1318;
  background-image: none;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: auto;
  appearance: auto;
  -webkit-appearance: listbox;
  color: #dbe7f5;
  font-size: 14px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  line-height: 1.5;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4);
  cursor: default;
  padding-right: 8px;
}

select.jobs-listbox:focus,
select.jobs-listbox:focus-visible {
  outline: none;
  background-color: #0f1318;
  background-image: none;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: auto;
}

.jobs-listbox option {
  padding: 8px 10px;
  margin: 0;
  border-radius: 0;
  background-color: #171b22;
  color: #ffffff;
}

.jobs-listbox option:checked,
.jobs-listbox option:hover {
  background: #1d72b8;
  color: #ffffff;
}

.jobs-listbox option[data-status="running"] {
  font-weight: 600;
  color: #59d090;
}

.jobs-listbox option[data-status="queued"] {
  color: #93a4b8;
}

.jobs-listbox-custom {
  display: flex;
  flex-direction: column;
  gap: 1px;
  overflow-y: auto;
}

.jobs-listbox-custom .jobs-listbox-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: #171b22;
  color: #ffffff;
  cursor: pointer;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 14px;
  line-height: 1.5;
  min-width: 0;
}

.jobs-listbox-item-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 auto;
}

.jobs-listbox-status-icon--play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #6ee7a8, #59d090);
  color: #0b1410;
  box-shadow: 0 0 0 1px rgba(89, 208, 144, 0.35);
  flex-shrink: 0;
}

.jobs-listbox-status-icon--play svg {
  display: block;
  margin-left: 1px;
}

.jobs-listbox-custom .jobs-listbox-item[data-status="running"] {
  font-weight: 600;
  color: #59d090;
}

.jobs-listbox-custom .jobs-listbox-item[data-status="queued"] {
  color: #93a4b8;
}

.jobs-listbox-custom .jobs-listbox-item.is-selected {
  background: #171b22;
  border-color: rgba(107, 147, 199, 0.72);
  box-shadow: inset 0 0 0 1px rgba(107, 147, 199, 0.28);
}

.jobs-listbox-custom .jobs-listbox-item.is-selected[data-status="running"] {
  color: #59d090;
}

.jobs-listbox-custom .jobs-listbox-item.is-selected[data-status="queued"] {
  color: #93a4b8;
}

.jobs-listbox-custom .jobs-listbox-item:hover:not(.is-selected):not(.jobs-listbox-item--empty) {
  background: rgba(107, 147, 199, 0.08);
}

.jobs-listbox-custom .jobs-listbox-item--empty {
  color: #93a4b8;
  cursor: default;
}

.jobs-listbox-custom:focus,
.jobs-listbox-custom:focus-visible {
  outline: none;
  border-color: rgba(107, 147, 199, 0.45);
  box-shadow:
    inset 0 1px 3px rgba(0, 0, 0, 0.4),
    0 0 0 2px rgba(107, 147, 199, 0.12);
}

#killCollectorJob {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
}

.ml-jobs-panel {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
}

.ml-jobs-panel .collector-jobs-progress {
  grid-column: 1 / -1;
}

.ml-intraday-run-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
  padding: 16px 18px;
  border: 1px solid rgba(52, 211, 153, 0.22);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.1), rgba(15, 23, 42, 0.45));
}

.ml-intraday-run-bar-options {
  flex: 1 1 280px;
  min-width: 0;
  max-width: 760px;
}

.ml-intraday-run-bar .ml-intraday-tft-toggle {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* Theme visual rules: body[data-theme="quant-lab-modern"] below; tokens in themes/quant-lab-modern.css */

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button:not(.symbol-clear):not(.collector-api-log-toggle) {
  font-weight: 600;
  transition:
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease,
    transform 0.15s ease,
    color 0.22s ease;
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.secondary:not(:disabled) {
  border: 1px solid rgba(52, 211, 153, 0.22);
  border-radius: 999px;
  background: var(--intraday-surface-bg-muted);
  color: #edf0f5;
  box-shadow:
    var(--intraday-glow-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.secondary:hover:not(:disabled) {
  border-color: rgba(52, 211, 153, 0.48);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.16), rgba(15, 23, 42, 0.72));
  color: #ecfdf5;
  box-shadow:
    0 0 16px rgba(52, 211, 153, 0.32),
    0 0 28px rgba(16, 185, 129, 0.18),
    inset 0 0 10px rgba(52, 211, 153, 0.08);
  transform: translateY(-1px);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.secondary:active:not(:disabled) {
  transform: translateY(0);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.danger:not(:disabled) {
  border: 1px solid rgba(248, 113, 113, 0.52);
  border-radius: 999px;
  background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
  color: #fee2e2;
  box-shadow:
    0 0 14px rgba(239, 68, 68, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.danger:hover:not(:disabled) {
  border-color: rgba(252, 165, 165, 0.72);
  background: linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);
  color: #ffffff;
  box-shadow:
    0 0 20px rgba(239, 68, 68, 0.48),
    0 0 36px rgba(220, 38, 38, 0.32),
    inset 0 0 14px rgba(248, 113, 113, 0.14);
  transform: translateY(-1px);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.danger:active:not(:disabled) {
  transform: translateY(0);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.danger:disabled {
  border-color: rgba(248, 113, 113, 0.18);
  background: rgba(127, 29, 29, 0.35);
  color: rgba(254, 202, 202, 0.45);
  box-shadow: none;
  cursor: not-allowed;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.doc-help-trigger:not(:disabled) {
  border: 1px solid rgba(52, 211, 153, 0.38);
  border-left: 0;
  border-radius: 0 8px 8px 0;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.18), rgba(15, 23, 42, 0.88));
  color: #6ee7b7;
  font-weight: 800;
  box-shadow:
    inset 0 0 14px rgba(52, 211, 153, 0.1),
    0 0 12px rgba(16, 185, 129, 0.14);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.doc-help-trigger:not(:disabled) .doc-help-trigger-icon {
  text-shadow: 0 0 10px rgba(110, 231, 183, 0.85);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.doc-help-trigger:hover:not(:disabled),
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.doc-help-trigger:focus-visible {
  border-color: rgba(110, 231, 183, 0.72);
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.32), rgba(15, 23, 42, 0.78));
  color: #ecfdf5;
  box-shadow:
    0 0 20px rgba(52, 211, 153, 0.48),
    0 0 36px rgba(16, 185, 129, 0.28),
    inset 0 0 18px rgba(52, 211, 153, 0.14);
  transform: scale(1.05);
  outline: none;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) button.doc-help-trigger[aria-expanded="true"]:not(:disabled) {
  border-color: rgba(52, 211, 153, 0.72);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.38), rgba(5, 150, 105, 0.28));
  color: #ecfdf5;
  box-shadow:
    0 0 22px rgba(52, 211, 153, 0.55),
    0 0 44px rgba(16, 185, 129, 0.32),
    inset 0 0 20px rgba(110, 231, 183, 0.12);
}

body[data-page="intraday-ml"] .ml-intraday-run-cta {
  flex: 0 0 auto;
  margin-left: auto;
  min-height: 42px;
  padding: 0 28px;
  border: 1px solid #34d399;
  border-radius: 999px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #ecfdf5;
  font-weight: 600;
  box-shadow: var(--intraday-glow-primary);
}

body[data-page="intraday-ml"] .ml-intraday-run-cta:hover:not(:disabled) {
  background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
  box-shadow:
    0 0 22px rgba(52, 211, 153, 0.45),
    0 0 40px rgba(16, 185, 129, 0.28);
  transform: translateY(-1px);
}

body[data-page="intraday-ml"] .ml-intraday-run-cta:active:not(:disabled) {
  transform: translateY(0);
}

body[data-page="intraday-ml"] .ml-intraday-run-cta:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Intraday ML page ? unified surface system (matches ml-intraday-run-bar) */
body[data-theme="quant-lab-modern"] .toolbar {
  display: block;
  padding-bottom: 0;
  border-bottom: none;
}

body[data-theme="quant-lab-modern"] .toolbar > div {
  width: 100%;
}

body[data-theme="quant-lab-modern"] .toolbar h1 {
  position: relative;
  display: inline-block;
  margin-bottom: 18px;
  padding-bottom: 10px;
  letter-spacing: -0.025em;
  font-weight: 700;
  color: #ecfdf5;
  text-shadow:
    0 0 10px rgba(110, 231, 183, 0.75),
    0 0 28px rgba(52, 211, 153, 0.45),
    0 0 56px rgba(16, 185, 129, 0.22);
}

body[data-theme="quant-lab-modern"] .toolbar h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #34d399 20%, #6ee7b7 50%, #34d399 80%, transparent);
  box-shadow:
    0 0 10px rgba(52, 211, 153, 0.65),
    0 0 22px rgba(16, 185, 129, 0.35);
}

body[data-theme="quant-lab-modern"] .specialist-model-note {
  width: 100%;
  max-width: none;
  margin: 0 0 12px;
  padding: 18px 20px;
  border: 1px solid var(--intraday-surface-border);
  border-radius: 8px;
  background: var(--intraday-surface-bg);
  color: var(--intraday-label);
  box-sizing: border-box;
}

body[data-theme="quant-lab-modern"] .specialist-model-note h2 {
  color: #edf0f5;
  font-size: 15px;
  font-weight: 600;
}

body[data-theme="quant-lab-modern"] .specialist-model-note strong {
  color: #edf0f5;
}

body[data-theme="quant-lab-modern"] .specialist-model-note code {
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(52, 211, 153, 0.1);
  border: 1px solid rgba(52, 211, 153, 0.18);
  color: #a7f3d0;
  font-size: 0.92em;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) {
  padding: 18px;
  border: 1px solid var(--intraday-surface-border);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(13, 33, 42, 0.55) 0%, rgba(15, 23, 42, 0.82) 100%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(52, 211, 153, 0.06);
  overflow: visible;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel):hover {
  border-color: rgba(52, 211, 153, 0.32);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(52, 211, 153, 0.08);
}

body[data-theme="quant-lab-modern"] .ml-title {
  margin-top: 0;
  border: 1px solid var(--intraday-surface-border);
  border-left: 4px solid #34d399;
  border-radius: 8px;
  background: var(--intraday-surface-bg);
  box-shadow: none;
}

body[data-theme="quant-lab-modern"] .ml-title h2 {
  color: #edf0f5;
}

body[data-theme="quant-lab-modern"] .ml-title span:not(#bitunixMlUpdated) {
  color: var(--intraday-muted);
}

@keyframes intraday-ml-status-pulse {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 6px rgba(52, 211, 153, 0.85), 0 0 14px rgba(16, 185, 129, 0.55);
  }
  50% {
    opacity: 0.82;
    box-shadow: 0 0 10px rgba(110, 231, 183, 1), 0 0 22px rgba(52, 211, 153, 0.75);
  }
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated {
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px 5px 10px;
  border-radius: 999px;
  letter-spacing: 0.02em;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated::before {
  width: 8px;
  height: 8px;
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated.running {
  color: #a7f3d0;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.22), rgba(15, 23, 42, 0.65));
  border: 1px solid rgba(52, 211, 153, 0.48);
  box-shadow:
    0 0 14px rgba(16, 185, 129, 0.32),
    inset 0 0 10px rgba(52, 211, 153, 0.08);
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated.running::before {
  background: #34d399;
  animation: intraday-ml-status-pulse 1.8s ease-in-out infinite;
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated:not(.running) {
  color: #fecaca;
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.16), rgba(15, 23, 42, 0.65));
  border: 1px solid rgba(248, 113, 113, 0.38);
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.18);
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated:not(.running)::before {
  background: #f87171;
  box-shadow: 0 0 8px rgba(248, 113, 113, 0.75);
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated.error:not(.running) {
  color: #fee2e2;
  border-color: rgba(239, 68, 68, 0.55);
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.28);
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated.error:not(.running)::before {
  background: #ef4444;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.9);
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated.done:not(.running) {
  color: #bbf7d0;
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.14), rgba(15, 23, 42, 0.65));
  border-color: rgba(52, 211, 153, 0.32);
  box-shadow: none;
}

body[data-theme="quant-lab-modern"] #bitunixMlUpdated.done:not(.running)::before {
  background: #34d399;
  box-shadow: 0 0 6px rgba(52, 211, 153, 0.55);
  animation: none;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-controls {
  gap: 12px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-control-group {
  border-top: none;
  margin: 0;
  padding: 0 18px 16px;
  border: 1px solid var(--intraday-surface-border);
  border-radius: 8px;
  background: var(--intraday-surface-bg);
  overflow: visible;
  position: relative;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-control-group:has(.symbol-suggestions:not([hidden])),
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-control-group:has(.symbol-field:focus-within) {
  z-index: 40;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-control-group:first-child {
  padding-top: 0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-control-group > .group-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: auto;
  margin: 0 -18px 12px;
  padding: 14px 18px;
  border-right: none;
  border-bottom: 1px solid var(--intraday-divider);
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.18) 0%, rgba(15, 23, 42, 0.55) 62%);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title-summary-heading,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-summary-heading {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-section-icon,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title-icon,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-icon {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  padding: 0;
  border-radius: 10px;
  border: 1px solid rgba(52, 211, 153, 0.38);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.28), rgba(15, 23, 42, 0.88));
  color: #6ee7b7;
  box-shadow:
    0 0 14px rgba(52, 211, 153, 0.32),
    inset 0 0 10px rgba(52, 211, 153, 0.12);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-icon {
  width: 40px;
  height: 40px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-section-icon svg,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title-icon svg,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  min-height: 0;
  max-width: 18px;
  max-height: 18px;
  filter: drop-shadow(0 0 5px rgba(110, 231, 183, 0.6));
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-icon svg {
  width: 22px;
  height: 22px;
  max-width: 22px;
  max-height: 22px;
  filter: drop-shadow(0 0 6px rgba(110, 231, 183, 0.65));
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title-summary-text,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-summary-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title {
  gap: 5px;
  min-height: auto;
  padding-right: 0;
  border-right: none;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title-summary-text strong,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-summary-text strong,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title strong,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title .ml-feature-group-heading-text strong {
  color: #f1f5f9;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title-summary-text > span,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-summary-text > span,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title span,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .group-title .ml-feature-group-heading-text span {
  color: var(--intraday-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-feature-group .group-title {
  gap: 8px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-feature-group-title .ml-feature-group-actions {
  flex-shrink: 0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-summary-text strong {
  color: #f1f5f9;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
  text-shadow: 0 0 14px rgba(52, 211, 153, 0.28);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-summary-sub {
  font-size: 12px;
  line-height: 1.4;
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-summary-heading {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  flex: 1;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-summary-heading::after {
  content: "";
  flex: 1;
  height: 1px;
  margin-left: 4px;
  background: linear-gradient(90deg, rgba(52, 211, 153, 0.35), transparent);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-summary-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-icon {
  box-sizing: border-box;
  width: 32px;
  height: 32px;
  padding: 5px;
  border-radius: 10px;
  border: 1px solid rgba(52, 211, 153, 0.38);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.28), rgba(15, 23, 42, 0.88));
  object-fit: contain;
  box-shadow:
    0 0 14px rgba(52, 211, 153, 0.32),
    inset 0 0 10px rgba(52, 211, 153, 0.12);
  filter: drop-shadow(0 0 5px rgba(110, 231, 183, 0.45));
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-chevron {
  border-color: rgba(110, 231, 183, 0.55);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-panel[open] > summary .ml-gcp-offload-chevron {
  border-color: #6ee7b7;
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) input[type="checkbox"]:not([hidden]):not([aria-hidden="true"]) {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin: 0;
  border: 1.5px solid rgba(148, 163, 184, 0.5);
  border-radius: 5px;
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.9));
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.32);
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    box-shadow 0.2s ease;
  position: relative;
  vertical-align: middle;
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) input[type="checkbox"]:not([hidden]):not([aria-hidden="true"]):hover:not(:disabled) {
  border-color: rgba(52, 211, 153, 0.55);
  box-shadow:
    0 0 0 3px rgba(16, 185, 129, 0.12),
    inset 0 1px 2px rgba(0, 0, 0, 0.32);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) input[type="checkbox"]:not([hidden]):not([aria-hidden="true"]):checked {
  border-color: rgba(52, 211, 153, 0.9);
  background: linear-gradient(180deg, #34d399, #059669);
  box-shadow:
    0 0 12px rgba(16, 185, 129, 0.35),
    inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) input[type="checkbox"]:not([hidden]):not([aria-hidden="true"]):checked::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) input[type="checkbox"]:not([hidden]):not([aria-hidden="true"]):focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.28);
}

body[data-theme="quant-lab-modern"]:not([data-page="data-collector"]) .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) input[type="checkbox"]:not([hidden]):not([aria-hidden="true"]):disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .check-label,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-label-exit-checkbox {
  gap: 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--intraday-label);
  cursor: pointer;
  line-height: 1.35;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .check-label:hover,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-label-exit-checkbox:hover {
  color: #ecfdf5;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-execution-checkbox-with-help {
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.42);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-execution-checkbox-with-help .field-help {
  margin-left: 28px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) label {
  color: var(--intraday-label);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .field-help {
  color: var(--intraday-muted);
}

/* Form controls: public/themes/quant-lab-modern.css (site-wide when data-theme="quant-lab-modern") */

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-execution-checkbox-with-help .check-label {
  color: var(--intraday-label);
  min-height: 0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) details.ml-serving-panel-collapsible,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-advanced-tuning-panel {
  border: 1px solid var(--intraday-surface-border);
  border-radius: 8px;
  background: var(--intraday-surface-bg-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) details.ml-serving-panel-collapsible[open] > .ml-serving-panel-toggle {
  border-bottom-color: var(--intraday-divider);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-advanced-tuning-section {
  border-color: var(--intraday-divider);
  background: rgba(15, 23, 42, 0.35);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-panel {
  --gcp-panel-bg: transparent;
  --gcp-surface: rgba(15, 23, 42, 0.55);
  --gcp-surface-raised: rgba(15, 23, 42, 0.72);
  --gcp-border: var(--intraday-divider);
  --gcp-accent-border: var(--intraday-surface-border);
  padding: 0 18px 16px;
  overflow: hidden;
  border: 1px solid var(--intraday-surface-border);
  border-radius: 8px;
  background: var(--intraday-surface-bg);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-panel.backtest-control-group {
  border-top: 1px solid var(--intraday-surface-border);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-panel.backtest-control-group > summary.ml-gcp-offload-summary.group-title {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: auto;
  margin: 0 -18px 12px;
  padding: 14px 18px;
  border-right: none;
  border-bottom: 1px solid var(--intraday-divider);
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.18) 0%, rgba(15, 23, 42, 0.55) 62%);
  cursor: pointer;
  list-style: none;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-gcp-offload-panel > summary.group-title::-webkit-details-marker {
  display: none;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-status-line {
  padding: 12px 14px;
  border: 1px solid var(--intraday-surface-border);
  border-radius: 8px;
  background: var(--intraday-surface-bg);
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-status-line.running {
  border-color: rgba(52, 211, 153, 0.38);
  color: #a7f3d0;
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.14), rgba(15, 23, 42, 0.55));
  box-shadow: inset 0 0 0 1px rgba(52, 211, 153, 0.1);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-jobs-panel {
  padding: 16px 18px;
  border: 1px solid var(--intraday-surface-border);
  border-radius: 8px;
  background: var(--intraday-surface-bg);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) select.jobs-listbox,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) select.jobs-listbox:focus,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) select.jobs-listbox:focus-visible {
  border-color: var(--intraday-divider);
  border-radius: 8px;
  background-color: #0f172a;
  background-image: none;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: auto;
  appearance: auto;
  -webkit-appearance: listbox;
  padding-right: 8px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.28);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) select.jobs-listbox:focus,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) select.jobs-listbox:focus-visible {
  outline: none;
  border-color: rgba(52, 211, 153, 0.38);
  box-shadow:
    inset 0 1px 3px rgba(0, 0, 0, 0.28),
    0 0 0 2px rgba(16, 185, 129, 0.12);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox option {
  padding: 8px 12px;
  margin: 0;
  border-radius: 0;
  background: #0f172a;
  color: #cbd5e1;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox option[data-status="running"] {
  font-weight: 600;
  color: #a7f3d0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox option[data-status="queued"] {
  color: #94a3b8;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox-custom .jobs-listbox-item {
  background: #0f172a;
  color: #cbd5e1;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox-custom .jobs-listbox-item[data-status="running"] {
  color: #a7f3d0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox-custom .jobs-listbox-item[data-status="queued"] {
  color: #94a3b8;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox-custom .jobs-listbox-item.is-selected {
  background: #0f172a;
  border-color: rgba(52, 211, 153, 0.45);
  box-shadow: inset 0 0 0 1px rgba(52, 211, 153, 0.18);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox-custom .jobs-listbox-item:hover:not(.is-selected):not(.jobs-listbox-item--empty) {
  background: rgba(52, 211, 153, 0.06);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox-custom:focus,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox-custom:focus-visible {
  border-color: rgba(52, 211, 153, 0.38);
  box-shadow:
    inset 0 1px 3px rgba(0, 0, 0, 0.28),
    0 0 0 2px rgba(16, 185, 129, 0.12);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox option:checked {
  background: #134e4a;
  color: #ffffff;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox option:hover {
  background: #115e59;
  color: #ecfdf5;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-listbox option:checked:hover {
  background: #0f766e;
  color: #ffffff;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-header.group-title {
  display: grid;
  grid-column: 1 / -1;
  align-content: center;
  justify-content: start;
  gap: 5px;
  min-height: 46px;
  margin-bottom: 8px;
  padding-right: 0;
  border-right: none;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-header.group-title .jobs-est-remaining {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.4;
  color: var(--intraday-muted);
  white-space: nowrap;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-header.group-title .jobs-est-remaining strong {
  color: #f1f5f9;
  font-weight: 600;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .jobs-note {
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-rules {
  padding: 16px 18px;
  border: 1px solid var(--intraday-surface-border);
  border-radius: 8px;
  background: var(--intraday-surface-bg);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-rules strong {
  color: #edf0f5;
  font-size: 14px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-flow {
  border-top-color: var(--intraday-divider);
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .backtest-flow strong {
  color: var(--intraday-label);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-verbose-log-panel {
  border: 1px solid var(--intraday-surface-border);
  border-radius: 8px;
  background: var(--intraday-surface-bg);
  overflow: hidden;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-card {
  border-color: var(--intraday-divider);
  background: var(--intraday-surface-bg-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-card.buy {
  border-color: rgba(52, 211, 153, 0.38);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.08), rgba(15, 23, 42, 0.55));
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-popout {
  border-color: var(--intraday-surface-border);
  background: rgba(13, 33, 42, 0.98);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.48), inset 0 1px 0 rgba(52, 211, 153, 0.06);
  backdrop-filter: blur(8px);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-popout-actions {
  border-bottom-color: var(--intraday-divider);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.08), rgba(15, 23, 42, 0.35));
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-popout-actions strong,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-popout-title strong {
  color: #edf0f5;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-scope-note {
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-popout-actions button.secondary {
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-options {
  padding: 10px;
  gap: 2px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-option {
  color: var(--intraday-label);
  border-radius: 6px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-option:hover {
  background: rgba(16, 185, 129, 0.1);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-option:has(input:checked) {
  background: rgba(16, 185, 129, 0.14);
  color: #ecfdf5;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-option input[type="checkbox"] {
  margin-top: 1px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .forward-return-labels-indicator-options .ml-forward-return-group-help {
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-group-heading {
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-picker > button.secondary {
  position: relative;
  min-height: 38px;
  padding: 0 36px 0 14px;
  border-radius: 8px;
  text-align: left;
  border-color: var(--intraday-surface-border);
  background: var(--intraday-surface-bg-muted);
  color: #edf0f5;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow:
    var(--intraday-glow-soft),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-picker > button.secondary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #6ee7b7;
  border-bottom: 2px solid #6ee7b7;
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.18s ease, border-color 0.18s ease;
  pointer-events: none;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-picker > button.secondary:hover:not(:disabled) {
  border-color: rgba(52, 211, 153, 0.45);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.12), rgba(15, 23, 42, 0.68));
  box-shadow:
    0 0 16px rgba(52, 211, 153, 0.28),
    0 0 28px rgba(16, 185, 129, 0.16),
    inset 0 0 10px rgba(52, 211, 153, 0.08);
  transform: none;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-picker:has(.indicator-popout:not([hidden])) > button.secondary {
  border-color: rgba(52, 211, 153, 0.45);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.14), rgba(15, 23, 42, 0.72));
  box-shadow: var(--intraday-glow-soft-hover);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-picker:has(.indicator-popout:not([hidden])) > button.secondary::after {
  transform: translateY(-35%) rotate(-135deg);
  border-color: #34d399;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .control-with-doc-help .indicator-picker > button.secondary {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .control-with-doc-help:has(.indicator-popout:not([hidden])) > .doc-help-trigger {
  border-color: rgba(52, 211, 153, 0.55);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.22), rgba(15, 23, 42, 0.78));
  box-shadow:
    0 0 16px rgba(52, 211, 153, 0.35),
    inset 0 0 12px rgba(52, 211, 153, 0.1);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .indicator-picker > span {
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-results-actions {
  margin-top: 12px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail {
  margin-top: 12px;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--intraday-surface-border);
  border-radius: 10px;
  background: var(--intraday-surface-bg);
  box-shadow:
    0 0 24px rgba(16, 185, 129, 0.12),
    inset 0 1px 0 rgba(52, 211, 153, 0.08);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--intraday-divider);
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.18) 0%, rgba(15, 23, 42, 0.55) 62%);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-header::after {
  content: "";
  flex: 1;
  height: 1px;
  margin-left: 8px;
  background: linear-gradient(90deg, rgba(52, 211, 153, 0.35), transparent);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-summary-text strong {
  color: #f1f5f9;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
  text-shadow: 0 0 14px rgba(52, 211, 153, 0.28);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-summary-text > span {
  color: var(--intraday-muted);
  font-size: 12px;
  line-height: 1.4;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail-body {
  padding: 4px 0 6px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail dl {
  grid-template-columns: minmax(130px, 168px) minmax(0, 1fr);
  gap: 0;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail dt {
  padding: 11px 16px;
  border-bottom: 1px solid var(--intraday-divider);
  color: #6ee7b7;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail dd {
  padding: 11px 16px;
  border-bottom: 1px solid var(--intraday-divider);
  color: #e2e8f0;
  font-size: 12px;
  line-height: 1.55;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail dt:first-of-type,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail dd.ml-training-detail-step {
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.14), rgba(15, 23, 42, 0.35));
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail dd.ml-training-detail-step {
  color: #a7f3d0;
  font-weight: 600;
  text-shadow: 0 0 12px rgba(52, 211, 153, 0.2);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail dd code,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail .ml-aws-muted {
  color: #86efac;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-training-detail .ml-aws-muted {
  opacity: 0.85;
}

/* Intraday ML ? reference help modals */
@keyframes intraday-ml-modal-enter {
  from {
    opacity: 0;
    transform: scale(0.965) translateY(10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

body[data-theme="quant-lab-modern"] .modal-backdrop:not([hidden]) {
  background:
    radial-gradient(ellipse at 50% 20%, rgba(16, 185, 129, 0.12) 0%, transparent 55%),
    rgba(4, 10, 16, 0.9);
  backdrop-filter: blur(12px) saturate(1.25);
}

body[data-theme="quant-lab-modern"] .modal-backdrop:not([hidden]) .modal-window {
  animation: intraday-ml-modal-enter 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

body[data-theme="quant-lab-modern"] .modal-window {
  border: 1px solid rgba(52, 211, 153, 0.42);
  border-radius: 12px;
  background: linear-gradient(165deg, rgba(13, 33, 42, 0.98) 0%, rgba(8, 16, 24, 0.99) 100%);
  box-shadow:
    0 0 0 1px rgba(52, 211, 153, 0.1) inset,
    0 0 48px rgba(16, 185, 129, 0.2),
    0 36px 90px rgba(0, 0, 0, 0.78);
}

body[data-theme="quant-lab-modern"] .modal-header {
  position: relative;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(52, 211, 153, 0.22);
  background: linear-gradient(90deg, rgba(16, 185, 129, 0.24) 0%, rgba(15, 23, 42, 0.96) 58%);
}

body[data-theme="quant-lab-modern"] .modal-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #34d399 18%, #6ee7b7 50%, #34d399 82%, transparent);
  box-shadow: 0 0 18px rgba(52, 211, 153, 0.7);
}

body[data-theme="quant-lab-modern"] .modal-header h2 {
  color: #ecfdf5;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-shadow: 0 0 22px rgba(52, 211, 153, 0.35);
}

body[data-theme="quant-lab-modern"] .modal-header span {
  color: #a7f3d0;
}

body[data-theme="quant-lab-modern"] .modal-header button.secondary {
  border: 1px solid rgba(52, 211, 153, 0.32);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #d1fae5;
  font-weight: 600;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.16);
}

body[data-theme="quant-lab-modern"] .modal-header button.secondary:hover:not(:disabled) {
  border-color: rgba(52, 211, 153, 0.55);
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.22), rgba(15, 23, 42, 0.85));
  color: #ecfdf5;
  box-shadow:
    0 0 18px rgba(52, 211, 153, 0.4),
    0 0 32px rgba(16, 185, 129, 0.22);
  transform: translateY(-1px);
}

body[data-theme="quant-lab-modern"] .modal-body {
  padding: 18px;
  background: linear-gradient(180deg, rgba(10, 18, 28, 0.55), rgba(8, 14, 22, 0.85));
}

body[data-theme="quant-lab-modern"] .ml-doc-reference-body .field-help,
body[data-theme="quant-lab-modern"] .ml-forward-return-presets-help {
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .ml-reference-section h3 {
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(52, 211, 153, 0.28);
  color: #ecfdf5;
  text-shadow: 0 0 14px rgba(52, 211, 153, 0.22);
}

body[data-theme="quant-lab-modern"] .ml-reference-section h4 {
  color: #a7f3d0;
}

body[data-theme="quant-lab-modern"] .ml-reference-section p,
body[data-theme="quant-lab-modern"] .ml-reference-section li,
body[data-theme="quant-lab-modern"] .ml-reference-dl dd {
  color: #c9d6e3;
}

body[data-theme="quant-lab-modern"] .ml-reference-dl dt {
  color: #6ee7b7;
}

body[data-theme="quant-lab-modern"] .ml-reference-table th,
body[data-theme="quant-lab-modern"] .ml-reference-table td {
  border-color: rgba(52, 211, 153, 0.18);
}

body[data-theme="quant-lab-modern"] .ml-reference-table thead th {
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.22), rgba(15, 23, 42, 0.85));
  color: #a7f3d0;
}

body[data-theme="quant-lab-modern"] .ml-reference-table tbody th[scope="row"] {
  background: rgba(16, 185, 129, 0.08);
  color: #ecfdf5;
}

body[data-theme="quant-lab-modern"] .ml-doc-reference-body .forward-return-labels-paradigm,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-multiclass-paradigm,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-quantile-paradigm,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-multiclass-example,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .forward-return-paradigm-section,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-feature-indicator-paradigm,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-typed-technical-ladder,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-feature-item-catalog,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-feature-indicator-reference-section {
  border: 1px solid rgba(52, 211, 153, 0.28);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.1), rgba(15, 23, 42, 0.55));
  box-shadow:
    inset 0 0 24px rgba(52, 211, 153, 0.05),
    0 0 20px rgba(16, 185, 129, 0.08);
}

body[data-theme="quant-lab-modern"] .ml-doc-reference-body code,
body[data-theme="quant-lab-modern"] .ml-parameter-group-validation-body code {
  padding: 1px 6px;
  border-radius: 4px;
  border: 1px solid rgba(52, 211, 153, 0.2);
  background: rgba(16, 185, 129, 0.12);
  color: #a7f3d0;
}

body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-feature-item-catalog-table th,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-multiclass-table th,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-feature-example-dataset-table th {
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.2), rgba(15, 23, 42, 0.8));
  color: #a7f3d0;
}

body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-feature-item-catalog-table th,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-feature-item-catalog-table td,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-multiclass-table th,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-multiclass-table td,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-feature-example-dataset-table th,
body[data-theme="quant-lab-modern"] .ml-doc-reference-body .ml-feature-example-dataset-table td {
  border-color: rgba(52, 211, 153, 0.16);
}

body[data-theme="quant-lab-modern"] .ml-multiclass-tier-bull {
  border-left-color: #34d399;
  box-shadow: inset 3px 0 12px rgba(52, 211, 153, 0.12);
}

body[data-theme="quant-lab-modern"] .ml-parameter-group-validation-body {
  color: #c9d6e3;
}

body[data-theme="quant-lab-modern"] .ml-parameter-group-validation-warnings {
  color: #fcd34d;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-feature-group-actions button.secondary {
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 12px;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-labeling-presets-row,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-labeling-presets {
  border-top-color: var(--intraday-divider);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-forward-return-presets-heading strong {
  color: #edf0f5;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .ml-forward-return-presets-heading {
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .label-text {
  color: var(--intraday-label);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .source-hint {
  color: var(--intraday-muted);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .symbol-field {
  position: relative;
  z-index: 1;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .symbol-field:focus-within,
body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .symbol-field:has(.symbol-suggestions:not([hidden])) {
  z-index: 2;
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) .symbol-suggestions {
  border-color: var(--intraday-surface-border);
  background: rgba(13, 33, 42, 0.98);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.42);
  z-index: 100;
}

#killMlJob {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
}

#refreshMlJobList {
  grid-column: 1 / -1;
  justify-self: stretch;
  min-height: 42px;
  padding: 10px 20px;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition:
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease,
    transform 0.15s ease,
    color 0.22s ease;
}

#refreshMlJobList:not(:disabled) {
  border: 1px solid rgba(148, 163, 184, 0.32);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.78));
  color: #e2e8f0;
  box-shadow:
    0 2px 10px rgba(15, 23, 42, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

#refreshMlJobList:hover:not(:disabled) {
  border-color: rgba(203, 213, 225, 0.5);
  background: linear-gradient(180deg, rgba(51, 65, 85, 0.96), rgba(30, 41, 59, 0.88));
  color: #f8fafc;
  box-shadow:
    0 0 16px rgba(148, 163, 184, 0.38),
    0 0 28px rgba(100, 116, 139, 0.24),
    0 4px 14px rgba(15, 23, 42, 0.55),
    inset 0 0 12px rgba(148, 163, 184, 0.08);
  transform: translateY(-1px);
}

#refreshMlJobList:active:not(:disabled) {
  transform: translateY(0);
  box-shadow:
    0 0 10px rgba(148, 163, 184, 0.28),
    inset 0 1px 3px rgba(15, 23, 42, 0.35);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) #refreshMlJobList:not(:disabled) {
  border-color: rgba(148, 163, 184, 0.32);
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.78));
  color: #e2e8f0;
  box-shadow:
    0 2px 10px rgba(15, 23, 42, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) #refreshMlJobList:hover:not(:disabled) {
  border-color: rgba(203, 213, 225, 0.5);
  background: linear-gradient(180deg, rgba(51, 65, 85, 0.96), rgba(30, 41, 59, 0.88));
  color: #f8fafc;
  box-shadow:
    0 0 16px rgba(148, 163, 184, 0.38),
    0 0 28px rgba(100, 116, 139, 0.24),
    0 4px 14px rgba(15, 23, 42, 0.55),
    inset 0 0 12px rgba(148, 163, 184, 0.08);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) #loadPastMlRun:not(:disabled) {
  min-height: 38px;
  padding: 0 18px;
  white-space: nowrap;
  border: 1px solid rgba(52, 211, 153, 0.28);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.12), rgba(15, 23, 42, 0.72));
  color: #ecfdf5;
  box-shadow:
    var(--intraday-glow-soft),
    0 0 14px rgba(52, 211, 153, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) #loadPastMlRun:hover:not(:disabled) {
  border-color: rgba(52, 211, 153, 0.48);
  background: linear-gradient(180deg, rgba(16, 185, 129, 0.2), rgba(15, 23, 42, 0.78));
  color: #ecfdf5;
  box-shadow:
    0 0 16px rgba(52, 211, 153, 0.32),
    0 0 28px rgba(16, 185, 129, 0.22),
    inset 0 0 10px rgba(52, 211, 153, 0.1);
  transform: translateY(-1px);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) #loadPastMlRun:active:not(:disabled) {
  transform: translateY(0);
  box-shadow:
    0 0 10px rgba(52, 211, 153, 0.22),
    inset 0 1px 3px rgba(15, 23, 42, 0.35);
}

body[data-theme="quant-lab-modern"] .shell :is(.ml-panel, .backtest-panel, .collector-panel, .deep-panel, .scanner, #ml-panel) #loadPastMlRun:disabled {
  border: 1px solid rgba(52, 211, 153, 0.12);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.45);
  color: rgba(236, 253, 245, 0.5);
  box-shadow: none;
  opacity: 0.65;
  cursor: wait;
}

.deep-controls {
  display: grid;
  grid-template-columns: minmax(210px, 1.15fr) minmax(240px, 1.4fr) minmax(170px, 1fr) auto;
  gap: 14px;
  align-items: end;
  padding-bottom: 4px;
}
.deep-controls .source-field {
  min-width: 180px;
  align-self: start;
}
.deep-controls .symbol-field {
  min-width: 210px;
  align-self: start;
}
.deep-controls .date-field {
  align-self: start;
}

.deep-controls label {
  font-size: 12px;
  color: #b7c0ce;
}

.deep-controls button {
  min-height: 38px;
  font-size: 13px;
}

.deep-results {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 12px;
}

.validation-card {
  grid-column: 1 / -1;
}

.metric-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ml-actions {
  display: grid;
  grid-template-columns: minmax(160px, 220px) auto;
  gap: 12px;
  align-items: end;
  justify-content: start;
}

.bitunix-ml-actions {
  grid-template-columns: repeat(6, minmax(130px, 1fr)) auto;
}

.ml-controls .market-group {
  grid-template-columns: minmax(150px, .8fr) minmax(190px, 1fr) minmax(360px, 2fr);
}

.ml-controls .ml-training-options-group {
  grid-template-columns: 1fr;
  align-items: start;
}

.ml-controls .ml-training-options-group > .group-title {
  grid-column: 1 / -1;
  min-height: auto;
  padding-right: 0;
  padding-bottom: 8px;
  border-right: 0;
  border-bottom: 1px solid #26313f;
}

.ml-controls .ml-training-options-group > .ml-execution-checkboxes {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 12px;
  align-items: stretch;
  width: 100%;
}

.ml-controls .ml-training-options-group .ml-execution-checkbox-with-help,
.ml-controls .ml-training-options-group .training-backend-fieldset {
  min-width: 0;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 10px;
  padding: 10px 12px;
  background: rgba(15, 23, 42, 0.22);
}

.ml-controls .ml-training-options-group .training-backend-fieldset {
  margin: 0;
}

.ml-gcp-offload-panel {
  --gcp-panel-bg: #151922;
  --gcp-surface: #12161d;
  --gcp-surface-raised: #181d28;
  --gcp-border: #26313f;
  --gcp-accent: #34d399;
  --gcp-accent-soft: rgba(52, 211, 153, 0.1);
  --gcp-accent-border: rgba(52, 211, 153, 0.34);
  margin-top: 0;
  border-radius: 12px;
  background: var(--gcp-panel-bg);
}

.ml-gcp-offload-panel.backtest-control-group {
  grid-template-columns: 1fr;
  padding: 16px 18px 18px;
  border-top-color: var(--gcp-border);
}

.ml-gcp-offload-panel.backtest-control-group > summary.group-title,
.ml-gcp-offload-panel.backtest-control-group > .ml-gcp-offload-body {
  grid-column: 1 / -1;
}

.ml-gcp-offload-panel.backtest-control-group > summary.group-title {
  min-height: auto;
  padding: 0 28px 0 0;
  border-right: none;
  border-bottom: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ml-gcp-offload-summary-heading {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.ml-gcp-offload-summary-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ml-gcp-offload-summary-text strong {
  color: #eef4fb;
  font-size: 0.98rem;
  letter-spacing: 0.01em;
}

.ml-gcp-offload-summary-sub {
  color: #8a93a6;
  font-size: 0.82rem;
  line-height: 1.35;
}

.ml-gcp-offload-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  display: block;
  padding: 3px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
}

.ml-gcp-offload-chevron {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  border-right: 2px solid #8a93a6;
  border-bottom: 2px solid #8a93a6;
  transform: rotate(45deg);
  transition: transform 0.18s ease, border-color 0.18s ease;
}

.ml-gcp-offload-panel[open] > summary .ml-gcp-offload-chevron {
  transform: rotate(-135deg);
  margin-top: 4px;
}

.ml-gcp-offload-panel > summary.group-title {
  cursor: pointer;
  list-style: none;
}

.ml-gcp-offload-panel > summary.group-title::-webkit-details-marker {
  display: none;
}

.ml-gcp-offload-body {
  display: grid;
  grid-template-columns: minmax(240px, 0.95fr) minmax(0, 1.25fr);
  gap: 16px 20px;
  margin-top: 14px;
  align-items: start;
}

.ml-gcp-offload-workflow {
  grid-column: 2;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.ml-gcp-offload-workflow-head {
  margin-bottom: 10px;
}

.ml-gcp-offload-workflow-title {
  display: block;
  color: #94a3b8;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ml-gcp-offload-pipeline {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ml-gcp-offload-pipeline-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--gcp-surface-raised);
  border: 1px solid var(--gcp-border);
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.ml-gcp-offload-pipeline-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--gcp-surface);
  color: #94a3b8;
  font-size: 0.78rem;
  font-weight: 700;
}

.ml-gcp-offload-pipeline-body {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ml-gcp-offload-pipeline-body strong {
  color: #dbe7f5;
  font-size: 0.88rem;
}

.ml-gcp-offload-pipeline-body span {
  color: #8a93a6;
  font-size: 0.8rem;
  line-height: 1.45;
}

.ml-gcp-offload-pipeline-step.is-complete {
  border-color: var(--gcp-accent-border);
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.05) 0%, var(--gcp-surface-raised) 100%);
}

.ml-gcp-offload-pipeline-step.is-complete .ml-gcp-offload-pipeline-marker {
  background: var(--gcp-accent-soft);
  color: #6ee7b7;
}

.ml-gcp-offload-pipeline-step.is-active {
  border-color: var(--gcp-accent-border);
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.08) 0%, var(--gcp-surface-raised) 100%);
  box-shadow: inset 0 0 0 1px rgba(52, 211, 153, 0.08);
}

.ml-gcp-offload-pipeline-step.is-active .ml-gcp-offload-pipeline-marker {
  background: linear-gradient(135deg, #34d399, #10b981);
  color: #052e1f;
}

.ml-gcp-offload-pipeline-step.is-active .ml-gcp-offload-pipeline-body strong {
  color: #a7f3d0;
}

.ml-gcp-offload-body .training-backend-fieldset {
  grid-column: 1;
  margin: 0;
  min-width: 0;
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

.ml-gcp-offload-body .training-backend-fieldset legend {
  color: #94a3b8;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
  padding: 0;
}

.ml-gcp-offload-body .training-backend-fieldset.is-locked {
  opacity: 0.96;
}

.ml-gcp-offload-body .training-backend-options {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 0;
}

.training-backend-option {
  position: relative;
  display: block;
  cursor: pointer;
}

.training-backend-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.training-backend-option-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 100%;
  padding: 12px 14px;
  border: 1px solid var(--gcp-border);
  border-radius: 12px;
  background: var(--gcp-surface-raised);
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.training-backend-option-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border-radius: 10px;
  background: var(--gcp-surface);
  color: #94a3b8;
}

.training-backend-option-icon svg {
  width: 18px;
  height: 18px;
}

.training-backend-option-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.training-backend-option-card strong {
  color: #e5edf7;
  font-size: 0.92rem;
}

.training-backend-option-sub {
  color: #8a93a6;
  font-size: 0.8rem;
  line-height: 1.35;
}

.training-backend-option:hover .training-backend-option-card {
  border-color: #303947;
  transform: translateY(-1px);
}

.training-backend-option.is-selected .training-backend-option-card {
  border-color: var(--gcp-accent-border);
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.08) 0%, var(--gcp-surface-raised) 100%);
  box-shadow: inset 0 0 0 1px rgba(52, 211, 153, 0.08);
}

.training-backend-option.is-selected .training-backend-option-icon {
  background: var(--gcp-accent-soft);
  color: #6ee7b7;
}

.training-backend-option.is-selected .training-backend-option-card strong {
  color: #a7f3d0;
}

.training-backend-fieldset.is-locked .training-backend-option:not(.is-selected) .training-backend-option-card {
  opacity: 0.5;
}

.training-backend-estimate {
  margin: 10px 0 0;
  padding: 8px 10px;
  border-radius: 10px;
  background: var(--gcp-surface);
  border: 1px solid var(--gcp-border);
  color: #8a93a6;
  font-size: 0.78rem;
  line-height: 1.45;
}

.ml-gcp-offload-status-block {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 4px;
}

.ml-gcp-offload-progress {
  display: grid;
  gap: 10px;
}

.ml-gcp-offload-progress-track {
  position: relative;
  height: 8px;
  border-radius: 999px;
  background: var(--gcp-surface);
  border: 1px solid var(--gcp-border);
  overflow: hidden;
}

.ml-gcp-offload-progress-fill {
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #059669, #34d399);
  transition: width 0.45s ease;
}

.ml-gcp-offload-progress.is-active .ml-gcp-offload-progress-fill {
  box-shadow: none;
}

.ml-gcp-offload-progress.is-indeterminate .ml-gcp-offload-progress-fill {
  width: 38% !important;
  background: linear-gradient(90deg, transparent, #34d399, #6ee7b7, transparent);
  animation: ml-gcp-offload-progress-slide 1.2s linear infinite;
}

@keyframes ml-gcp-offload-progress-slide {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(320%); }
}

.ml-gcp-offload-progress-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.ml-gcp-offload-phase-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--gcp-surface);
  border: 1px solid var(--gcp-border);
  color: #cbd5e1;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ml-gcp-offload-phase-badge.is-gcp-active {
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.1) 0%, var(--gcp-surface-raised) 100%);
  border-color: var(--gcp-accent-border);
  color: #6ee7b7;
}

.ml-gcp-offload-phase-badge.is-error {
  background: rgba(248, 113, 113, 0.14);
  color: #fca5a5;
}

.ml-gcp-offload-status-step {
  flex: 1 1 auto;
  min-width: 0;
  color: #dbe7f5;
  font-size: 0.88rem;
}

.ml-gcp-offload-progress-pct {
  color: #8a93a6;
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.ml-gcp-offload-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.ml-gcp-offload-metric {
  display: grid;
  gap: 6px;
  padding: 12px 13px;
  border-radius: 12px;
  background: var(--gcp-surface-raised);
  border: 1px solid var(--gcp-border);
}

.ml-gcp-offload-metric-label {
  color: #8a93a6;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ml-gcp-offload-metric-value {
  color: #eef4fb;
  font-size: 0.84rem;
  line-height: 1.45;
  word-break: break-word;
}

.ml-gcp-offload-metric-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.ml-gcp-offload-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--gcp-surface);
  border: 1px solid var(--gcp-border);
  color: #cbd5e1;
  font-size: 0.74rem;
  font-weight: 600;
}

.ml-gcp-offload-badge.is-accent {
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.1) 0%, var(--gcp-surface-raised) 100%);
  border-color: var(--gcp-accent-border);
  color: #6ee7b7;
}

.ml-gcp-offload-badge.is-muted {
  background: var(--gcp-surface);
  border-color: var(--gcp-border);
  color: #94a3b8;
}

.ml-verbose-log-panel.is-gcp-active .collector-api-log-body {
  max-height: 480px;
}

.collector-api-log-hint {
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(52, 211, 153, 0.12);
  color: #6ee7b7;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media (max-width: 860px) {
  .ml-gcp-offload-body {
    grid-template-columns: 1fr;
  }

  .ml-gcp-offload-workflow,
  .ml-gcp-offload-body .training-backend-fieldset {
    grid-column: 1 / -1;
  }

  .ml-gcp-offload-body .training-backend-options {
    grid-template-columns: 1fr;
  }
}

body[data-theme="quant-lab-modern"] .ml-gcp-offload-body {
  grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
}

body[data-theme="quant-lab-modern"] .ml-gcp-offload-body .training-backend-fieldset {
  grid-column: 1;
}

body[data-theme="quant-lab-modern"] .ml-gcp-offload-workflow {
  grid-column: 2;
}

body[data-theme="quant-lab-modern"] .ml-gcp-offload-status-block {
  grid-column: 1 / -1;
}

@media (max-width: 860px) {
  body[data-theme="quant-lab-modern"] .ml-gcp-offload-body .training-backend-fieldset,
  body[data-theme="quant-lab-modern"] .ml-gcp-offload-workflow {
    grid-column: 1 / -1;
  }
}

.ml-controls .ml-training-options-group .ml-execution-checkbox-with-help {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.ml-controls .ml-training-options-group .check-label {
  min-height: 0;
}

.ml-controls .ml-training-options-group .check-label input {
  width: auto;
  min-height: 0;
}

.ml-controls .execution-group {
  grid-template-columns: minmax(150px, .8fr) repeat(3, minmax(118px, max-content)) minmax(320px, 4fr);
  align-items: end;
  justify-items: start;
  padding-bottom: 12px;
}

.ml-controls .execution-group > .wide-select-field {
  align-self: start;
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
  width: 100%;
}

.ml-controls .execution-group > .wide-select-field input {
  width: 100%;
  min-width: 0;
}

.ml-controls .execution-group > .wide-select-field .field-help {
  margin: 0;
}

.ml-controls .execution-group > .ml-intervals-field {
  grid-column: span 2;
  grid-template-columns: minmax(0, 1fr);
}

.ml-interval-history-field .field-label {
  font-weight: 600;
}

.ml-interval-history-inputs {
  display: grid;
  grid-template-columns: minmax(0, 220px);
  gap: 8px;
  width: 100%;
}

.ml-interval-history-inputs label {
  display: grid;
  gap: 4px;
  min-width: 0;
  font-size: 0.85rem;
  color: var(--muted, #94a3b8);
}

.ml-interval-history-inputs input {
  width: 100%;
  min-width: 0;
}

body[data-theme="quant-lab-modern"] .ml-controls .execution-group > .ml-execution-checkboxes .ml-execution-checkbox-with-help {
  flex: unset;
  min-width: 0;
}

body[data-theme="quant-lab-modern"] .ml-controls .execution-group > .ml-interval-history-field {
  grid-column: 1 / -1;
}

body[data-theme="quant-lab-modern"] .ml-controls .execution-group > .ml-model-scope-options {
  grid-column: 1 / -1;
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid rgba(148, 163, 184, 0.14);
}

.ml-controls .execution-group > label:not(.wide-select-field) input {
  width: 7.5rem;
  max-width: 100%;
}

.ml-controls .execution-group > .ml-execution-checkboxes {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 10px;
  width: 100%;
  margin-top: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.22);
  align-items: stretch;
  min-height: 0;
}

.ml-controls .execution-group > .ml-execution-checkboxes .check-label {
  min-height: 0;
}

.ml-controls .execution-group > .ml-execution-checkboxes .check-label input {
  width: auto;
  min-height: 0;
}

.ml-controls .execution-group > .ml-execution-checkboxes .ml-execution-checkbox-with-help {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid rgba(148, 163, 184, 0.12);
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.28);
}

.ml-serving-panel {
  display: grid;
  gap: 10px;
  width: 100%;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

details.ml-serving-panel-collapsible {
  padding-top: 0;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.22);
}

details.ml-serving-panel-collapsible > .ml-serving-panel-toggle {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
  border-bottom: 1px solid transparent;
}

details.ml-serving-panel-collapsible[open] > .ml-serving-panel-toggle {
  border-bottom-color: rgba(148, 163, 184, 0.18);
}

details.ml-serving-panel-collapsible > .ml-serving-panel-toggle::-webkit-details-marker {
  display: none;
}

details.ml-serving-panel-collapsible > .ml-serving-panel-toggle strong {
  color: #edf0f5;
  font-size: 12px;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}

details.ml-serving-panel-collapsible > .ml-serving-panel-toggle span {
  color: #7e8a9b;
  font-size: 11px;
}

details.ml-serving-panel-collapsible > .ml-serving-panel-body {
  display: grid;
  gap: 10px;
  padding: 10px 12px 12px;
}

.ml-serving-intro {
  margin: 0;
}

.ml-serving-guide ul {
  margin: 0;
  padding-left: 1.2rem;
}

.ml-serving-guide li + li {
  margin-top: 6px;
}

.ml-serving-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: flex-start;
}

.ml-serving-control {
  display: grid;
  gap: 4px;
  min-width: 12rem;
}

.ml-serving-model-field {
  flex: 1 1 18rem;
}

.ml-serving-row select {
  min-width: 16rem;
  width: 100%;
}

.ml-serving-action-row {
  display: grid;
  gap: 4px;
  justify-items: start;
}

.ml-serving-context {
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.ml-serving-context strong {
  display: block;
  margin-bottom: 4px;
}

.ml-serving-status {
  min-height: 1.25rem;
}

.ml-architecture-row {
  grid-column: 1 / -1;
  width: 100%;
  padding: 14px 0 16px;
  border-top: 1px solid #26313f;
  overflow: visible;
}

.ml-architecture-panel {
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #121820;
  overflow: visible;
}

.ml-architecture-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 0.75rem;
  border: 0;
  background: #151b24;
  color: #d4dce8;
  font-size: 12px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.ml-architecture-toggle:hover {
  background: #1a2230;
}

.ml-architecture-toggle-label {
  letter-spacing: 0.02em;
}

.ml-architecture-toggle-sub {
  color: #8b97a8;
  font-weight: 500;
}

.ml-architecture-chevron {
  margin-left: auto;
  color: #8b97a8;
  transition: transform 0.15s ease;
}

.ml-architecture-toggle[aria-expanded="true"] .ml-architecture-chevron {
  transform: rotate(90deg);
}

.ml-architecture-body {
  border-top: 1px solid #2a3442;
  padding: 0.75rem;
  overflow: visible;
}

.ml-architecture-body[hidden] {
  display: none !important;
}

.collector-architecture-row {
  display: none;
  margin: 0 0 1rem;
  overflow: visible;
}

.collector-architecture-body {
  display: grid;
  gap: 1rem;
}

.collector-architecture-section {
  display: grid;
  gap: 0.45rem;
}

.collector-architecture-heading {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #e5ebf3;
}

.collector-architecture-copy {
  margin: 0;
  color: #8b97a8;
  font-size: 0.82rem;
  line-height: 1.45;
}

.collector-architecture-body .ml-architecture-diagram {
  padding: 8px 9px 10px;
}

.collector-architecture-body .ml-architecture-diagram .mermaid {
  padding: 2px 0 4px;
}

.collector-architecture-body .ml-architecture-diagram .mermaid .nodeLabel,
.collector-architecture-body .ml-architecture-diagram .mermaid foreignObject div,
.collector-architecture-body .ml-architecture-diagram .mermaid foreignObject p,
.collector-architecture-body .ml-architecture-diagram .mermaid .nodeLabel > div {
  padding: 6px 9px !important;
  min-width: 130px;
  max-width: 210px;
}

.collector-architecture-body .ml-architecture-diagram .mermaid .nodeLabel,
.collector-architecture-body .ml-architecture-diagram .mermaid foreignObject div,
.collector-architecture-body .ml-architecture-diagram .mermaid foreignObject p,
.collector-architecture-body .ml-architecture-diagram .mermaid foreignObject span:not(.ml-arch-sub) {
  font-size: 8.5px !important;
}

.collector-architecture-body .ml-architecture-diagram .mermaid foreignObject .ml-arch-sub,
.collector-architecture-body .ml-architecture-diagram .mermaid .nodeLabel .ml-arch-sub {
  margin-top: 3px;
  font-size: 7px !important;
}

.collector-architecture-body .ml-architecture-diagram .mermaid .edgeLabel,
.collector-architecture-body .ml-architecture-diagram .mermaid .edgeLabel span,
.collector-architecture-body .ml-architecture-diagram .mermaid .edgeLabel foreignObject div {
  font-size: 7px !important;
}

.ml-architecture-diagram {
  width: 100%;
  margin: 0;
  padding: 16px 18px 20px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: visible;
}

.ml-architecture-diagram .mermaid {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 4px 0 8px;
  background: transparent;
  overflow: visible;
}

.ml-architecture-diagram .mermaid svg {
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0;
  display: block;
  overflow: visible !important;
}

.ml-architecture-diagram .mermaid foreignObject {
  overflow: visible !important;
}

.ml-architecture-diagram .mermaid .nodeLabel,
.ml-architecture-diagram .mermaid foreignObject div,
.ml-architecture-diagram .mermaid foreignObject p,
.ml-architecture-diagram .mermaid .nodeLabel > div {
  padding: 12px 18px !important;
  text-align: center;
  white-space: normal;
  word-break: break-word;
  overflow: visible;
  box-sizing: border-box;
  min-width: 260px;
  max-width: 420px;
}

.ml-architecture-diagram .mermaid .nodeLabel,
.ml-architecture-diagram .mermaid foreignObject div,
.ml-architecture-diagram .mermaid foreignObject p,
.ml-architecture-diagram .mermaid foreignObject span:not(.ml-arch-sub) {
  font-size: 17px !important;
  font-weight: 600;
  line-height: 1.4;
  color: #f3f4f6;
}

.ml-architecture-diagram .mermaid foreignObject .ml-arch-sub,
.ml-architecture-diagram .mermaid .nodeLabel .ml-arch-sub {
  display: block;
  margin-top: 6px;
  font-size: 14px !important;
  font-weight: 400;
  line-height: 1.45;
  color: #cbd5e1;
}

.ml-architecture-diagram .mermaid .node rect,
.ml-architecture-diagram .mermaid .node polygon,
.ml-architecture-diagram .mermaid .node path {
  rx: 8;
  ry: 8;
}

.ml-architecture-diagram .mermaid g.node.ml-storage-node path {
  fill: #0f172a;
  stroke: #64748b;
  stroke-width: 2px;
}

.ml-architecture-diagram .mermaid .edgeLabel,
.ml-architecture-diagram .mermaid .edgeLabel span,
.ml-architecture-diagram .mermaid .edgeLabel foreignObject div {
  font-size: 14px !important;
  font-weight: 500;
  color: #e5e7eb;
}

.ml-controls .ml-run-action-group {
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  padding-top: 0;
  border-top: none;
}

.ml-controls .ml-run-action-group .ml-collect-prior-toggle {
  margin-right: auto;
}

.ml-intraday-run-bar .ml-collect-prior-toggle {
  flex: 0 0 auto;
}

.ml-controls .run-group .ml-serving-panel {
  grid-column: 1 / -1;
}

.ml-batch-rescore-results {
  width: 100%;
  overflow-x: auto;
}

.ml-batch-rescore-results table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.ml-batch-rescore-results th,
.ml-batch-rescore-results td {
  padding: 6px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-align: left;
  white-space: nowrap;
}

.ml-controls .ml-exit-strategy-group {
  margin-top: 4px;
}

.ml-controls .execution-group > .ml-full-interval-toggle {
  align-self: center;
  min-width: 155px;
}

.ml-controls .execution-group > .ml-full-interval-toggle .check-label {
  min-height: 0;
}

.ml-controls .execution-group > .ml-full-interval-toggle .check-label input {
  width: auto;
  min-height: 0;
}

.ml-controls .run-group {
  grid-template-columns: minmax(150px, .8fr) minmax(140px, .8fr) minmax(140px, .8fr);
}

.ml-controls .run-group .ml-past-run-row {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
}

.ml-controls .run-group .ml-past-run-heading {
  display: block;
}

.ml-controls .run-group .ml-past-run-heading-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.ml-controls .run-group .ml-past-run-heading-note {
  margin: 0;
}

.ml-controls .run-group .ml-past-run-inputs {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.ml-controls .run-group .ml-past-run-inputs select {
  min-width: 0;
}

.ml-controls .run-group .ml-past-run-inputs #loadPastMlRun {
  min-height: 38px;
}

.ml-parameter-group-reference-body {
  display: grid;
  gap: 18px;
}

.ml-reference-section h3 {
  margin: 0 0 8px;
  font-size: 16px;
}

.ml-reference-section h4 {
  margin: 14px 0 6px;
  font-size: 14px;
  color: #cbd5e1;
}

.ml-reference-section p,
.ml-reference-section li,
.ml-reference-dl dd {
  color: #b8c4d4;
  line-height: 1.55;
}

.ml-reference-section p {
  margin: 0 0 10px;
}

.ml-reference-section ul {
  margin: 0 0 10px;
  padding-left: 20px;
}

.ml-reference-dl {
  margin: 0 0 10px;
}

.ml-reference-dl dt {
  margin-top: 8px;
  color: #dbeafe;
  font-weight: 600;
}

.ml-reference-dl dd {
  margin: 4px 0 0;
}

.ml-reference-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.ml-reference-table th,
.ml-reference-table td {
  padding: 8px 10px;
  border: 1px solid #334155;
  text-align: left;
  vertical-align: top;
}

.ml-reference-table thead th {
  background: rgba(59, 130, 246, 0.12);
  color: #dbeafe;
}

.ml-reference-table tbody th[scope="row"] {
  color: #e2e8f0;
  font-weight: 600;
  background: rgba(15, 23, 42, 0.65);
}

.ml-controls .run-group .ml-run-primary,
.ml-controls .ml-run-action-group .ml-run-primary {
  justify-self: end;
}

.auto-trade-controls {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 12px;
  align-items: end;
}

.auto-trade-controls .wide-select-field {
  grid-column: span 3;
  min-width: min(720px, 100%);
}

.comparison-controls {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(320px, 1.3fr) minmax(280px, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.comparison-controls .wide-select-field {
  grid-column: span 2;
  min-width: min(760px, 100%);
}

#bitunixTradeSavedRuns {
  min-width: 100%;
}

.auto-trade-results {
  grid-template-columns: minmax(0, 1fr);
}

.auto-scan-cards {
  grid-column: 1 / -1;
}

.auto-scan-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.trade-dashboard {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.trade-table-wrap {
  overflow: auto;
  border: 1px solid #303947;
  border-radius: 8px;
}

.trade-table {
  min-width: 1040px;
}

.trade-table th,
.trade-table td {
  padding: 9px 10px;
  font-size: 12px;
}

.ml-status-line {
  min-height: 34px;
  margin-top: 12px;
  padding: 8px 10px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
  color: #aab2c0;
  font-size: 13px;
  white-space: pre-line;
}

.collector-status-panel {
  position: relative;
  padding-top: 30px;
  white-space: normal;
}

.collector-status-toolbar {
  position: absolute;
  top: 6px;
  left: 8px;
  right: 8px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  pointer-events: none;
}

.collector-status-asset-label,
.collector-raw-toggle {
  pointer-events: auto;
}

.collector-status-asset-label {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.collector-status-asset-value {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 12rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #c4cad4;
}

.collector-raw-toggle {
  flex: 0 0 auto;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #8f9bad;
  cursor: pointer;
  user-select: none;
}

.collector-raw-toggle input {
  margin: 0;
}

.collector-status-body {
  min-height: 24px;
  max-height: min(42vh, 420px);
  overflow-x: auto;
  overflow-y: auto;
}

.collector-status-summary {
  margin-bottom: 8px;
  line-height: 1.45;
  color: #dbeafe;
  font-size: 12px;
}

.collector-status-summary-line + .collector-status-summary-line {
  margin-top: 4px;
}

.collector-status-summary-line.error {
  color: #ff7676;
  font-weight: 700;
}

.collector-status-summary-line.warn {
  color: #f6c85f;
  font-weight: 700;
}

.collector-status-summary-line.success {
  color: #59d090;
  font-weight: 700;
}

.collector-status-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  table-layout: fixed;
}

.collector-status-table th {
  text-align: left;
  padding: 6px 8px;
  border-bottom: 1px solid #303947;
  color: #8f9bad;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.collector-status-table td {
  padding: 6px 8px;
  border-bottom: 1px solid rgba(48, 57, 71, 0.45);
  vertical-align: top;
  line-height: 1.35;
  word-break: break-word;
}

.collector-status-table tbody tr:last-child td {
  border-bottom: none;
}

.collector-status-table tbody tr:nth-child(odd) {
  background: rgba(255, 255, 255, 0.02);
}

.collector-status-table .source-cell {
  font-weight: 600;
  color: #e8ecf2;
  width: 22%;
}

.collector-status-table .scope-cell {
  color: #9aa6b2;
  width: 16%;
}

.collector-status-table .status-cell {
  width: 12%;
  font-weight: 600;
}

.collector-status-table .status-cell.success {
  color: #59d090;
}

.collector-status-table .status-cell.error {
  color: #ff7676;
}

.collector-status-table .status-cell.warn {
  color: #f6c85f;
}

.collector-status-table .status-cell.info {
  color: #63b3ed;
}

.collector-status-table .status-cell.pending {
  color: #8b949e;
}

.collector-status-table .status-cell.running {
  color: #f6c177;
  font-weight: 600;
}

.collector-status-table tbody tr.row-current {
  outline: 1px solid rgba(246, 193, 119, 0.55);
  outline-offset: -1px;
  background: rgba(246, 193, 119, 0.08);
}

.collector-status-table tbody tr.row-pending td {
  opacity: 0.72;
}

.collector-status-table tbody tr.row-running td {
  background: rgba(99, 179, 237, 0.06);
}

.collector-status-summary-line.activity {
  color: #f6c177;
  font-weight: 600;
}

.collector-status-table .rows-cell {
  width: 10%;
  font-variant-numeric: tabular-nums;
  color: #c8d0dc;
}

.collector-status-table .detail-cell {
  color: #9aa6b2;
  font-size: 11px;
}

.ml-training-detail {
  margin-top: 8px;
  padding: 0;
  border: 1px solid #26313f;
  border-radius: 8px;
  background: #0d1117;
  color: #9aa6b2;
  font-size: 12px;
  line-height: 1.5;
  overflow: hidden;
}

.ml-training-detail-header {
  display: flex;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #26313f;
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.12), rgba(13, 17, 23, 0.95));
}

.ml-training-detail-summary-heading {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.ml-training-detail-icon {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  padding: 3px;
  border-radius: 8px;
  border: 1px solid #334155;
  background: #151b24;
  color: #93c5fd;
}

.ml-training-detail-icon svg {
  display: block;
  width: 18px;
  height: 18px;
  min-height: 0;
  max-width: 18px;
  max-height: 18px;
}

.ml-training-detail-summary-text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ml-training-detail-summary-text strong {
  color: #edf0f5;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.ml-training-detail-summary-text > span {
  color: #8b97a8;
  font-size: 11px;
}

.ml-training-detail-heading {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.ml-training-detail-heading strong {
  color: #edf0f5;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.ml-training-detail-heading span {
  color: #8b97a8;
  font-size: 11px;
}

.ml-training-detail-body {
  padding: 8px 0;
}

.ml-training-detail dl {
  display: grid;
  grid-template-columns: minmax(110px, 140px) minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.ml-training-detail dt {
  margin: 0;
  padding: 8px 12px;
  border-bottom: 1px solid #1e2632;
  color: #7e8a9b;
  font-size: 11px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.ml-training-detail dd {
  margin: 0;
  padding: 8px 12px;
  border-bottom: 1px solid #1e2632;
  color: #d5dbe3;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.ml-training-detail dd.ml-training-detail-step {
  color: #dbeafe;
  font-weight: 600;
}

.ml-training-detail dd code {
  white-space: normal;
  overflow-wrap: anywhere;
}

.ml-aws-muted {
  display: block;
  margin-top: 2px;
  color: #7e8a9b;
  font-size: 0.88em;
  overflow-wrap: anywhere;
}

.collector-verbose-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  color: #c5cedd;
  font-size: 13px;
  cursor: pointer;
  user-select: none;
}

.collector-verbose-toggle input {
  width: 15px;
  height: 15px;
  min-width: 15px;
  min-height: 15px;
  max-width: 15px;
  max-height: 15px;
  flex: 0 0 15px;
  accent-color: #63b3ed;
}

.collector-api-log-panel,
.ml-verbose-log-panel {
  margin-top: 10px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #0f1318;
  overflow: hidden;
}

.collector-api-log-toggle-row {
  display: flex;
  align-items: stretch;
}

.collector-api-log-toggle-label {
  flex: 0 0 auto;
}

.collector-api-log-enable {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0;
  margin: 0 0 0 8px;
  background: transparent;
  border: none;
  cursor: pointer;
}

.collector-api-log-enable input {
  width: 15px;
  height: 15px;
  margin: 0;
  cursor: pointer;
  appearance: auto;
  -webkit-appearance: checkbox;
  border: none;
  box-shadow: none;
  background: transparent;
}

.collector-api-log-panel--disabled .collector-api-log-toggle {
  cursor: not-allowed;
}

.collector-api-log-panel--disabled .collector-api-log-toggle-label,
.collector-api-log-panel--disabled .collector-api-log-count,
.collector-api-log-panel--disabled .collector-api-log-chevron {
  opacity: 0.55;
}

.collector-api-log-panel--disabled .collector-api-log-enable,
.collector-api-log-panel--disabled .collector-api-log-enable input {
  opacity: 1;
  cursor: pointer;
}

.collector-api-log-toggle-row .collector-api-log-toggle {
  flex: 1;
  border-radius: 0;
}

.collector-api-log-toggle,
.ml-verbose-log-panel .collector-api-log-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 0;
  background: #141a22;
  color: #dbe7f5;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.collector-api-log-toggle:hover,
.ml-verbose-log-panel .collector-api-log-toggle:hover {
  background: #1a2230;
}

.collector-api-log-count,
.ml-verbose-log-panel .collector-api-log-count {
  margin-left: auto;
  padding: 2px 8px;
  border-radius: 999px;
  background: #243041;
  color: #9ec5f0;
  font-size: 12px;
  font-weight: 700;
}

.collector-api-log-chevron,
.ml-verbose-log-panel .collector-api-log-chevron {
  color: #8a93a6;
  transition: transform 0.15s ease;
}

.collector-api-log-toggle[aria-expanded="true"] .collector-api-log-chevron,
.ml-verbose-log-panel .collector-api-log-toggle[aria-expanded="true"] .collector-api-log-chevron {
  transform: rotate(90deg);
}

.collector-api-log-body,
.ml-verbose-log-panel .collector-api-log-body {
  max-height: 240px;
  overflow: auto;
  border-top: 1px solid #303947;
  background: #0b0f14;
}

.ml-verbose-log-panel .collector-api-log-body {
  max-height: 360px;
}

.ml-verbose-log-list .ml-verbose-log-header,
.ml-verbose-log-panel .collector-api-log-list .ml-verbose-log-header {
  color: #dbe7f5;
  font-weight: 600;
  background: rgba(99, 179, 237, 0.08);
}

.ml-verbose-log-list .ml-verbose-log-error,
.ml-verbose-log-panel .collector-api-log-list .ml-verbose-log-error {
  color: #ff7676;
  font-weight: 700;
  background: rgba(255, 118, 118, 0.08);
}

.ml-verbose-log-list .ml-verbose-log-aws,
.ml-verbose-log-panel .collector-api-log-list .ml-verbose-log-aws {
  color: #8bd3ff;
  background: rgba(99, 179, 237, 0.06);
}

.ml-verbose-log-list .ml-verbose-log-gcp,
.ml-verbose-log-panel .collector-api-log-list .ml-verbose-log-gcp {
  color: #6ee7b7;
  background: rgba(52, 211, 153, 0.08);
}

.collector-api-log-list,
.ml-verbose-log-panel .collector-api-log-list {
  margin: 0;
  padding: 8px 0;
  list-style: none;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 11px;
  line-height: 1.45;
}

.collector-api-log-list li,
.ml-verbose-log-panel .collector-api-log-list li {
  padding: 4px 12px;
  color: #b8c4d6;
  border-bottom: 1px solid rgba(48, 57, 71, 0.45);
  word-break: break-all;
}

.collector-api-log-list li:nth-child(odd),
.ml-verbose-log-panel .collector-api-log-list li:nth-child(odd) {
  background: rgba(255, 255, 255, 0.02);
}

.collector-status-line.range {
  padding-left: 14px;
  color: #8f9bad;
  font-size: 11px;
}

.collector-status-line + .collector-status-line {
  margin-top: 4px;
}

.collector-status-line.error {
  color: #ff7676;
  font-weight: 700;
}

.collector-status-line.warn {
  color: #f6c85f;
  font-weight: 700;
}

.collector-status-line.success {
  color: #59d090;
  font-weight: 700;
}

.ml-status-line.running,
#collectorStatus.running {
  border-color: #63b3ed;
  color: #dbeafe;
  background: #0f1724;
  font-weight: 500;
  box-shadow: 0 0 0 1px rgba(99, 179, 237, 0.15) inset;
}

.ml-status-line.done {
  border-color: rgba(89, 208, 144, .45);
  color: #c8f7d8;
}

.ml-status-line.error {
  border-color: #ff7676;
  color: #ffd1d1;
}

.ml-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.ml-results-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

.ml-results.comparison-results {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

.comparison-card {
  min-width: 0;
}

.comparison-rank-list {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.comparison-rank-row {
  min-width: 0;
  padding: 10px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
}

.comparison-rank {
  color: #f6c85f;
  font-weight: 800;
}

.ml-card {
  padding: 14px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #171b22;
}

.ml-card.buy {
  border-color: rgba(89, 208, 144, .45);
}

.ml-card.sell {
  border-color: rgba(255, 118, 118, .45);
}

.ml-backtest-context-card {
  border-color: rgba(99, 179, 237, 0.45);
}

.ml-backtest-context-interval {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.ml-databento-earnings-card {
  margin-top: 0.75rem;
}
.ml-databento-earnings-card--error {
  border-color: rgba(180, 60, 60, 0.45);
}
.ml-databento-fold-table-wrap {
  overflow-x: auto;
  margin-top: 0.5rem;
}
.ml-databento-fold-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}
.ml-databento-fold-table th,
.ml-databento-fold-table td {
  padding: 0.35rem 0.5rem;
  text-align: left;
  border-bottom: 1px solid rgba(128, 128, 128, 0.25);
}
.ml-summary-card,
.ml-backtest-context-card,
.ml-model-card,
.ml-interval-card,
.ml-databento-earnings-card {
  grid-column: 1 / -1;
}

.ml-results-charts-panel {
  grid-column: 1 / -1;
}

.ml-results-charts-panel .ml-context-charts-matrix {
  margin-top: 0;
}

.quant-report-card {
  grid-column: 1 / -1;
  margin-top: 6px;
  border-color: rgba(246, 200, 95, 0.48);
  background:
    radial-gradient(circle at 92% 8%, rgba(246, 200, 95, 0.12), transparent 28%),
    #151a22;
}

.quant-report-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 22px;
  align-items: center;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.quant-report-header h3 {
  margin: 2px 0 4px;
  color: #f3f6fa;
  font-size: 22px;
}

.quant-report-header p {
  max-width: 760px;
  color: #aeb9c8;
  line-height: 1.5;
}

.quant-report-kicker {
  margin: 0 !important;
  color: #f6c85f !important;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.quant-report-scope {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 8px;
  background: rgba(12, 16, 22, 0.55);
}

.quant-report-scope > div {
  min-width: 0;
}

.quant-report-scope span {
  display: block;
  color: #7f8b9b;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-report-scope strong {
  display: block;
  margin-top: 3px;
  color: #d8e0ea;
  font-size: 11px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  line-height: 1.4;
  word-break: break-word;
}

.quant-report-grade {
  display: grid;
  justify-items: center;
  padding: 13px;
  border: 1px solid rgba(246, 200, 95, 0.42);
  border-radius: 12px;
  background: rgba(12, 16, 22, 0.72);
}

.quant-report-grade span {
  color: #aeb9c8;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-report-grade strong {
  color: #f6c85f;
  font-size: 40px;
  line-height: 1.1;
}

.quant-report-grade b {
  color: #e7edf5;
  font-size: 17px;
}

.quant-report-grade small {
  color: #8491a3;
  font-size: 10px;
}

.quant-executive-summary {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 18px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(99, 179, 237, 0.28);
  border-radius: 10px;
  background: rgba(12, 18, 26, 0.64);
}

.quant-executive-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.quant-executive-title span {
  color: #63b3ed;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.quant-executive-title strong {
  margin-top: 4px;
  color: #eef4fb;
  font-size: 16px;
  line-height: 1.3;
}

.quant-executive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 18px;
}

.quant-executive-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.quant-executive-row span {
  color: #8f9cad;
  font-size: 11px;
}

.quant-executive-row strong {
  color: #e2eaf3;
  font-size: 12px;
  text-align: right;
}

.quant-performance-report {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(89, 208, 144, 0.28);
  border-radius: 10px;
  background: rgba(12, 20, 24, 0.58);
}

.quant-performance-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.quant-performance-title span {
  color: #59d090;
  font-size: 13px;
  font-weight: 800;
}

.quant-performance-title strong {
  color: #8f9cad;
  font-size: 10px;
  font-weight: 600;
  text-align: right;
}

.quant-performance-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1.2fr);
  gap: 18px;
}

.quant-performance-table {
  width: 100%;
  border-collapse: collapse;
}

.quant-performance-table th,
.quant-performance-table td {
  padding: 7px 8px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: left;
}

.quant-performance-table th {
  color: #7f8b9b;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-performance-table td {
  color: #cbd5e1;
  font-size: 11px;
}

.quant-performance-table td:last-child {
  color: #eef4fb;
  font-weight: 800;
}

.quant-performance-interpretation {
  padding: 10px 12px;
  border-left: 3px solid rgba(89, 208, 144, 0.55);
  background: rgba(23, 29, 39, 0.72);
}

.quant-performance-interpretation h4 {
  margin: 0 0 7px;
  color: #e8eef6;
  font-size: 12px;
}

.quant-performance-interpretation p {
  margin: 5px 0 !important;
  color: #9eabba !important;
  font-size: 10px;
  line-height: 1.45;
}

.quant-performance-interpretation strong {
  color: #dce7f3;
}

.quant-profitability-report {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(246, 200, 95, 0.3);
  border-radius: 10px;
  background: rgba(25, 21, 12, 0.35);
}

.quant-profitability-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.quant-profitability-title span {
  color: #f6c85f;
  font-size: 13px;
  font-weight: 800;
}

.quant-profitability-title strong {
  color: #8f9cad;
  font-size: 10px;
  font-weight: 600;
  text-align: right;
}

.quant-profitability-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1.2fr);
  gap: 18px;
}

.quant-profitability-table {
  width: 100%;
  border-collapse: collapse;
}

.quant-profitability-table th,
.quant-profitability-table td {
  padding: 7px 8px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: left;
}

.quant-profitability-table th {
  color: #7f8b9b;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-profitability-table td {
  color: #cbd5e1;
  font-size: 11px;
}

.quant-profitability-table td:last-child {
  color: #f7e6ad;
  font-weight: 800;
}

.quant-profitability-notes {
  padding: 10px 12px;
  border-left: 3px solid rgba(246, 200, 95, 0.6);
  background: rgba(23, 29, 39, 0.72);
}

.quant-profitability-notes h4 {
  margin: 0 0 7px;
  color: #e8eef6;
  font-size: 12px;
}

.quant-profitability-notes p {
  margin: 5px 0 !important;
  color: #9eabba !important;
  font-size: 10px;
  line-height: 1.45;
}

.quant-risk-report {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(255, 118, 118, 0.3);
  border-radius: 10px;
  background: rgba(28, 14, 17, 0.32);
}

.quant-risk-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.quant-risk-title span {
  color: #ff8c8c;
  font-size: 13px;
  font-weight: 800;
}

.quant-risk-title strong {
  color: #8f9cad;
  font-size: 10px;
  font-weight: 600;
  text-align: right;
}

.quant-risk-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1.2fr);
  gap: 18px;
}

.quant-risk-table {
  width: 100%;
  border-collapse: collapse;
}

.quant-risk-table th,
.quant-risk-table td {
  padding: 7px 8px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: left;
}

.quant-risk-table th {
  color: #7f8b9b;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-risk-table td {
  color: #cbd5e1;
  font-size: 11px;
}

.quant-risk-table td:last-child {
  color: #ffd0d0;
  font-weight: 800;
}

.quant-risk-table tfoot td {
  border-bottom: 0;
  color: #ff9b9b;
  font-size: 13px;
}

.quant-risk-summary {
  padding: 12px 14px;
  border-left: 3px solid rgba(255, 118, 118, 0.62);
  background: rgba(23, 29, 39, 0.72);
}

.quant-risk-summary > span {
  display: block;
  color: #8f9cad;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-risk-summary > strong {
  display: block;
  margin: 2px 0 8px;
  color: #ff9b9b;
  font-size: 25px;
}

.quant-risk-summary p {
  margin: 5px 0 !important;
  color: #9eabba !important;
  font-size: 10px;
  line-height: 1.45;
}

.quant-risk-disclaimer {
  margin: 0 0 12px;
  padding: 8px 10px;
  border-left: 3px solid rgba(255, 196, 118, 0.65);
  background: rgba(255, 196, 118, 0.08);
  color: #c9b896 !important;
  font-size: 10px;
  line-height: 1.45;
}

.quant-risk-flag-list {
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.quant-risk-flag {
  margin: 0 0 6px;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 10px;
  line-height: 1.4;
}

.quant-risk-flag-warn {
  background: rgba(255, 118, 118, 0.12);
  color: #ffb4b4;
  border: 1px solid rgba(255, 118, 118, 0.25);
}

.quant-risk-flag-info {
  background: rgba(118, 176, 255, 0.1);
  color: #b8d4ff;
  border: 1px solid rgba(118, 176, 255, 0.22);
}

.quant-risk-panels {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.quant-risk-panel {
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 8px;
  background: rgba(15, 20, 28, 0.55);
  min-height: 0;
}

.quant-risk-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
}

.quant-risk-metric-chip {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 8px;
  border-radius: 6px;
  background: rgba(148, 163, 184, 0.06);
  min-width: 0;
}

.quant-risk-metric-chip > span,
.quant-risk-metric-chip > strong {
  display: block;
  width: 100%;
}

.quant-risk-metric-chip > span {
  color: #7f8b9b;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.3;
}

.quant-risk-metric-chip > strong {
  color: #e2e8f0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  word-break: break-word;
}

.quant-risk-summary-table {
  margin-bottom: 8px;
}

.quant-risk-interval-table-wrap,
.quant-regime-table-wrap {
  overflow-x: auto;
  margin-top: 4px;
  border-radius: 6px;
  -webkit-overflow-scrolling: touch;
  min-width: 0;
  max-width: 100%;
}

.quant-risk-interval-table {
  margin-top: 0;
  font-size: 10px;
  table-layout: auto;
  width: max(100%, 520px);
  min-width: 520px;
}

.quant-risk-interval-table th,
.quant-risk-interval-table td {
  padding: 5px 8px;
  white-space: nowrap;
  vertical-align: middle;
  text-align: right;
  width: auto;
  max-width: none;
}

.quant-risk-interval-table th:first-child,
.quant-risk-interval-table td:first-child {
  text-align: left;
  color: #94a3b8;
  font-weight: 600;
  position: static;
  min-width: 3.25rem;
}

.quant-risk-interval-table th:last-child,
.quant-risk-interval-table td:last-child {
  text-align: left;
  white-space: normal;
  color: inherit;
  font-weight: inherit;
}

.quant-risk-regime-table {
  table-layout: auto;
  width: 100%;
  min-width: 360px;
}

.quant-risk-regime-table th,
.quant-risk-regime-table td {
  width: auto;
  max-width: none;
  white-space: nowrap;
  vertical-align: middle;
}

.quant-risk-regime-table th:first-child,
.quant-risk-regime-table td:first-child {
  text-align: left;
  white-space: normal;
}

.quant-risk-regime-table th:last-child,
.quant-risk-regime-table td:last-child {
  text-align: right;
  color: inherit;
  font-weight: inherit;
}

.quant-risk-quality-poor td:last-child {
  color: #f87171;
}

.quant-risk-quality-weak td:last-child {
  color: #fbbf24;
}

.quant-risk-quality-ok td:last-child {
  color: #86efac;
}

.quant-risk-table:not(.quant-risk-interval-table):not(.quant-risk-regime-table) td:last-child {
  text-align: right;
  word-break: break-word;
  overflow-wrap: anywhere;
  max-width: 220px;
}

.quant-risk-panel-strategy {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.quant-risk-panel-market {
  grid-column: 2;
  grid-row: 1;
}

.quant-risk-panel-path {
  grid-column: 2;
  grid-row: 2;
}

.quant-risk-panel-model {
  grid-column: 1 / -1;
  grid-row: 3;
}

.quant-risk-panel h4 {
  margin: 0 0 8px;
  color: #e2e8f0;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.quant-risk-panel-tag {
  color: #7f8b9b;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.quant-risk-panel-note,
.quant-risk-empty-note {
  margin: 8px 0 0 !important;
  color: #8f9cad !important;
  font-size: 9px;
  line-height: 1.4;
}

.quant-risk-regime-block {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(148, 163, 184, 0.12);
}

.quant-risk-regime-block h4 {
  margin: 0 0 8px;
  color: #e2e8f0;
  font-size: 11px;
}

.quant-risk-regime-table td:first-child {
  color: #94a3b8;
}

@media (max-width: 960px) {
  .quant-risk-panels {
    grid-template-columns: 1fr;
  }

  .quant-risk-panel-strategy,
  .quant-risk-panel-market,
  .quant-risk-panel-path,
  .quant-risk-panel-model {
    grid-column: auto;
    grid-row: auto;
  }
}

.quant-robustness-report {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(179, 137, 255, 0.3);
  border-radius: 10px;
  background: rgba(21, 15, 31, 0.34);
}

.quant-robustness-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.quant-robustness-title span {
  color: #bda0ff;
  font-size: 13px;
  font-weight: 800;
}

.quant-robustness-title strong {
  color: #d8ccf7;
  font-size: 11px;
}

.quant-robustness-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.quant-robustness-meta > div {
  padding: 8px 10px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 7px;
  background: rgba(23, 29, 39, 0.66);
}

.quant-robustness-meta span {
  display: block;
  color: #7f8b9b;
  font-size: 9px;
  text-transform: uppercase;
}

.quant-robustness-meta strong {
  display: block;
  margin-top: 3px;
  color: #e4ddf7;
  font-size: 11px;
}

.quant-robustness-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1.2fr);
  gap: 18px;
}

.quant-robustness-table {
  width: 100%;
  border-collapse: collapse;
}

.quant-robustness-table th,
.quant-robustness-table td {
  padding: 7px 8px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: left;
}

.quant-robustness-table th {
  color: #7f8b9b;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-robustness-table td {
  color: #cbd5e1;
  font-size: 11px;
}

.quant-robustness-table td:last-child {
  color: #d8ccf7;
  font-weight: 800;
}

.quant-robustness-table tfoot td {
  border-bottom: 0;
  color: #c4b5fd;
  font-size: 13px;
}

.quant-robustness-summary {
  padding: 12px 14px;
  border-left: 3px solid rgba(179, 137, 255, 0.62);
  background: rgba(23, 29, 39, 0.72);
}

.quant-robustness-summary > span {
  display: block;
  color: #8f9cad;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-robustness-summary > strong {
  display: block;
  margin: 2px 0 8px;
  color: #c4b5fd;
  font-size: 25px;
}

.quant-robustness-summary p {
  margin: 5px 0 !important;
  color: #9eabba !important;
  font-size: 10px;
  line-height: 1.45;
}

.quant-robustness-notes {
  padding: 10px 12px;
  border-left: 3px solid rgba(179, 137, 255, 0.6);
  background: rgba(23, 29, 39, 0.72);
}

.quant-robustness-notes h4 {
  margin: 0 0 7px;
  color: #e8eef6;
  font-size: 12px;
}

.quant-robustness-notes p {
  margin: 5px 0 !important;
  color: #9eabba !important;
  font-size: 10px;
  line-height: 1.45;
}

.quant-regime-report {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(45, 212, 191, 0.3);
  border-radius: 10px;
  background: rgba(10, 27, 27, 0.32);
  overflow: hidden;
  max-width: 100%;
  box-sizing: border-box;
}

.quant-regime-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.quant-regime-title span {
  color: #5eead4;
  font-size: 13px;
  font-weight: 800;
}

.quant-regime-title strong {
  color: #8f9cad;
  font-size: 10px;
  font-weight: 600;
}

.quant-regime-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.quant-regime-layout > * {
  min-width: 0;
  max-width: 100%;
}

.quant-regime-table {
  width: 100%;
  border-collapse: collapse;
}

.quant-regime-table th,
.quant-regime-table td {
  padding: 7px 8px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: left;
}

.quant-regime-table th {
  color: #7f8b9b;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-regime-table td {
  color: #cbd5e1;
  font-size: 11px;
}

.quant-regime-table td span {
  display: block;
  margin-top: 2px;
  color: #748194;
  font-size: 9px;
}

.quant-regime-table td:last-child {
  color: #8ff3e4;
  font-weight: 800;
}

.quant-regime-table tfoot td {
  border-bottom: 0;
  color: #5eead4;
  font-size: 13px;
}

.quant-regime-notes {
  min-width: 0;
  max-width: 100%;
  padding: 10px 10px 10px 12px;
  border-left: 3px solid rgba(45, 212, 191, 0.62);
  background: rgba(23, 29, 39, 0.72);
  overflow: hidden;
  overflow-wrap: break-word;
  word-break: break-word;
  box-sizing: border-box;
}

.quant-regime-notes h4 {
  margin: 0 0 7px;
  color: #e8eef6;
  font-size: 12px;
}

.quant-regime-notes p {
  margin: 5px 0 !important;
  color: #9eabba !important;
  font-size: 10px;
  line-height: 1.45;
  max-width: 100%;
}

.quant-regime-notes .quant-regime-legend-table {
  width: 100%;
  max-width: 100%;
  margin: 8px 0 10px;
  border-collapse: collapse;
  table-layout: fixed;
}

.quant-regime-notes .quant-regime-legend-table thead {
  display: none;
}

.quant-regime-notes .quant-regime-legend-table tbody,
.quant-regime-notes .quant-regime-legend-table tr {
  display: block;
  width: 100%;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.quant-regime-notes .quant-regime-legend-table tr:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.quant-regime-notes .quant-regime-legend-table th,
.quant-regime-notes .quant-regime-legend-table td {
  display: block;
  width: auto;
  max-width: 100%;
  padding: 0;
  border: 0;
  text-align: left;
  vertical-align: top;
  font-size: 10px;
  line-height: 1.45;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.quant-regime-notes .quant-regime-legend-table td.quant-regime-legend-part,
.quant-regime-notes .quant-regime-legend-table th.quant-regime-legend-part {
  margin-bottom: 3px;
  color: #cbd5e1;
  font-weight: 700;
  white-space: normal;
}

.quant-regime-notes .quant-regime-legend-table td.quant-regime-legend-question,
.quant-regime-notes .quant-regime-legend-table th.quant-regime-legend-question {
  color: #9aa7b8;
  font-weight: 400;
  white-space: normal;
}

.quant-regime-legend-table {
  width: 100%;
  max-width: 100%;
  margin: 8px 0 10px;
  border-collapse: collapse;
  table-layout: fixed;
}

.quant-regime-legend-table th,
.quant-regime-legend-table td {
  padding: 5px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: left;
  vertical-align: top;
  font-size: 10px;
  line-height: 1.45;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.quant-regime-legend-table th {
  color: #7f8b9b;
  font-size: 9px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.quant-regime-legend-table th.quant-regime-legend-part,
.quant-regime-legend-table td.quant-regime-legend-part {
  width: 22%;
  padding-right: 10px;
  color: #cbd5e1;
  font-weight: 700;
  white-space: nowrap;
}

.quant-regime-legend-table th.quant-regime-legend-question,
.quant-regime-legend-table td.quant-regime-legend-question {
  width: 78%;
  color: #9aa7b8;
  font-weight: 400;
  white-space: normal;
}

.quant-regime-table.has-interval-forecast {
  table-layout: auto;
  width: 100%;
  min-width: 280px;
}

.quant-regime-table.has-interval-forecast th.quant-regime-interval-col,
.quant-regime-table.has-interval-forecast td.quant-regime-interval-col {
  width: auto;
  min-width: 5.5rem;
  text-align: left;
  vertical-align: top;
}

.quant-regime-table.has-interval-forecast th.quant-regime-days-col,
.quant-regime-table.has-interval-forecast td.quant-regime-days-col {
  min-width: 2.5rem;
  width: 2.75rem;
  padding-left: 4px;
  padding-right: 4px;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  color: #94a3b8;
  font-weight: 700;
}

.quant-regime-table.has-interval-forecast th.quant-regime-return-col,
.quant-regime-table.has-interval-forecast td.quant-regime-return-col {
  min-width: 4.75rem;
  text-align: right;
  white-space: nowrap;
  vertical-align: middle;
}

.quant-regime-table.has-interval-forecast th.quant-regime-forecast-col,
.quant-regime-table.has-interval-forecast td.quant-regime-forecast-col {
  min-width: 4.75rem;
  text-align: right;
  white-space: nowrap;
  vertical-align: middle;
}

.quant-regime-table.has-interval-forecast td.quant-regime-return-col {
  color: #cbd5e1;
  font-weight: 600;
}

.quant-regime-table.has-interval-forecast td.quant-regime-forecast-col {
  color: #8ff3e4;
  font-weight: 800;
}

.quant-regime-table.has-interval-forecast td.quant-regime-metric-unvalidated {
  color: #748194 !important;
  font-weight: 600;
}

.quant-regime-table.has-interval-forecast td.quant-regime-metric-unvalidated strong {
  color: inherit;
  font-weight: 600;
}

.quant-regime-table.has-interval-forecast tfoot td:last-child {
  color: #5eead4;
}

.quant-regime-table.has-interval-forecast td.quant-regime-interval-col span {
  display: block;
  margin-top: 2px;
  text-align: left;
  color: #748194;
  font-size: 9px;
  line-height: 1.35;
  white-space: normal;
}

.quant-signal-strength-report {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(99, 179, 237, 0.32);
  border-radius: 10px;
  background: rgba(10, 20, 33, 0.38);
}

.quant-signal-strength-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.quant-signal-strength-title span {
  color: #7dd3fc;
  font-size: 13px;
  font-weight: 800;
}

.quant-signal-strength-title strong {
  color: #8f9cad;
  font-size: 10px;
  font-weight: 600;
}

.quant-signal-strength-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1.2fr);
  gap: 18px;
}

.quant-signal-strength-table {
  width: 100%;
  border-collapse: collapse;
}

.quant-signal-strength-table th,
.quant-signal-strength-table td {
  padding: 7px 8px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: left;
}

.quant-signal-strength-table th {
  color: #7f8b9b;
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-signal-strength-table td {
  color: #cbd5e1;
  font-size: 11px;
}

.quant-signal-strength-table td span {
  display: block;
  margin-top: 2px;
  color: #748194;
  font-size: 9px;
}

.quant-signal-strength-table strong.positive {
  color: #59d090;
}

.quant-signal-strength-table strong.negative {
  color: #ff8c8c;
}

.quant-signal-strength-table strong.neutral {
  color: #f6c85f;
}

.quant-signal-strength-table tfoot td {
  border-bottom: 0;
  color: #7dd3fc;
  font-size: 13px;
  font-weight: 800;
}

.quant-signal-strength-summary {
  padding: 12px 14px;
  border-left: 3px solid rgba(99, 179, 237, 0.62);
  background: rgba(23, 29, 39, 0.72);
}

.quant-signal-strength-summary > span {
  display: block;
  color: #8f9cad;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-signal-strength-summary > strong {
  display: block;
  margin: 2px 0 8px;
  color: #7dd3fc;
  font-size: 25px;
}

.quant-signal-strength-summary p {
  margin: 5px 0 !important;
  color: #9eabba !important;
  font-size: 10px;
  line-height: 1.45;
}

.quant-signal-strength-summary-wide {
  margin-top: 14px;
  padding: 12px 14px;
  border-left: 3px solid rgba(99, 179, 237, 0.62);
  background: rgba(23, 29, 39, 0.72);
}

.quant-signal-strength-grid-wrap {
  overflow-x: auto;
  border: 1px solid rgba(148, 163, 184, 0.14);
  border-radius: 8px;
  background: rgba(12, 16, 22, 0.55);
}

.quant-signal-strength-grid {
  width: 100%;
  min-width: 0;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
}

.quant-signal-strength-grid th,
.quant-signal-strength-grid td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
  text-align: center;
  vertical-align: top;
  white-space: nowrap;
}

.quant-signal-strength-grid thead th {
  color: #7f8b9b;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(23, 29, 39, 0.92);
}

.quant-signal-strength-grid tbody th.quant-signal-strength-interval-col,
.quant-signal-strength-grid thead th.quant-signal-strength-interval-col {
  position: sticky;
  left: 0;
  z-index: 1;
  text-align: left;
  background: rgba(18, 24, 32, 0.98);
  box-shadow: 1px 0 0 rgba(148, 163, 184, 0.12);
}

.quant-signal-strength-grid tbody th.quant-signal-strength-interval-col {
  color: #dbeafe;
  font-size: 11px;
  font-weight: 800;
}

.quant-signal-strength-grid td {
  color: #cbd5e1;
  font-size: 11px;
  min-width: 88px;
}

.quant-signal-strength-grid td span {
  display: block;
  margin-top: 2px;
  color: #748194;
  font-size: 9px;
}

.quant-signal-strength-grid strong.positive {
  color: #59d090;
}

.quant-signal-strength-grid strong.negative {
  color: #ff8c8c;
}

.quant-signal-strength-grid strong.neutral {
  color: #f6c85f;
}

.quant-signal-strength-grid td.quant-signal-strength-score {
  color: #7dd3fc;
  font-weight: 800;
}

.quant-signal-strength-grid td.quant-signal-strength-empty {
  color: #5f6b7a;
}

.quant-signal-strength-grid tr.quant-signal-strength-top > th,
.quant-signal-strength-grid tr.quant-signal-strength-top > td {
  border-top: 2px solid rgba(89, 208, 144, 0.82);
  border-bottom: 2px solid rgba(89, 208, 144, 0.82);
  background: rgba(89, 208, 144, 0.06);
  box-shadow: none;
}

.quant-signal-strength-grid tr.quant-signal-strength-top > :first-child {
  border-left: 2px solid rgba(89, 208, 144, 0.82);
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.quant-signal-strength-grid tr.quant-signal-strength-top > :last-child {
  border-right: 2px solid rgba(89, 208, 144, 0.82);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.quant-signal-strength-grid tr.quant-signal-strength-top > th.quant-signal-strength-interval-col {
  background: rgba(22, 32, 28, 0.98);
}

.quant-performance-layout,
.quant-profitability-layout,
.quant-risk-layout,
.quant-robustness-layout,
.quant-signal-strength-layout {
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  align-items: start;
}

.quant-performance-layout > *,
.quant-profitability-layout > *,
.quant-risk-layout > *,
.quant-robustness-layout > *,
.quant-signal-strength-layout > * {
  min-width: 0;
}

.quant-performance-table,
.quant-profitability-table,
.quant-risk-table:not(.quant-risk-interval-table):not(.quant-risk-regime-table),
.quant-robustness-table,
.quant-regime-table:not(.has-interval-forecast),
.quant-signal-strength-table {
  min-width: 0;
  table-layout: fixed;
}

.quant-performance-table th:first-child,
.quant-profitability-table th:first-child,
.quant-risk-table:not(.quant-risk-interval-table):not(.quant-risk-regime-table) th:first-child,
.quant-robustness-table th:first-child,
.quant-regime-table:not(.has-interval-forecast) th:first-child,
.quant-signal-strength-table th:first-child,
.quant-performance-table td:first-child,
.quant-profitability-table td:first-child,
.quant-risk-table:not(.quant-risk-interval-table):not(.quant-risk-regime-table) td:first-child,
.quant-robustness-table td:first-child,
.quant-regime-table:not(.has-interval-forecast) td:first-child,
.quant-signal-strength-table td:first-child {
  width: 58%;
  overflow-wrap: anywhere;
}

.quant-performance-table th:last-child,
.quant-profitability-table th:last-child,
.quant-risk-table:not(.quant-risk-interval-table):not(.quant-risk-regime-table) th:last-child,
.quant-robustness-table th:last-child,
.quant-regime-table:not(.has-interval-forecast) th:last-child,
.quant-signal-strength-table th:last-child,
.quant-performance-table td:last-child,
.quant-profitability-table td:last-child,
.quant-risk-table:not(.quant-risk-interval-table):not(.quant-risk-regime-table) td:last-child,
.quant-robustness-table td:last-child,
.quant-regime-table:not(.has-interval-forecast) td:last-child,
.quant-signal-strength-table td:last-child,
.quant-risk-table:not(.quant-risk-interval-table):not(.quant-risk-regime-table) tfoot td:last-child,
.quant-regime-table:not(.has-interval-forecast) tfoot td:last-child,
.quant-signal-strength-table tfoot td:last-child {
  width: 42%;
  text-align: right;
  white-space: nowrap;
}

.quant-regime-table td:last-child span {
  text-align: right;
}

.quant-report-table-wrap {
  margin-top: 14px;
  overflow-x: auto;
}

.quant-report-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.quant-report-table th,
.quant-report-table td {
  padding: 10px 9px;
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
  text-align: left;
  vertical-align: middle;
}

.quant-report-table th {
  color: #8491a3;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.quant-report-table td {
  color: #cbd5e1;
  font-size: 12px;
}

.quant-report-table td:first-child {
  width: 54%;
}

.quant-report-table td:nth-child(2),
.quant-report-table td:nth-child(3) {
  width: 72px;
}

.quant-report-basis {
  display: block;
  margin-top: 3px;
  color: #8491a3;
  font-size: 10px;
  line-height: 1.4;
}

.quant-report-score {
  color: #f3f6fa;
  font-size: 17px;
  font-weight: 800;
}

.quant-report-meter {
  width: 100%;
  min-width: 120px;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #252d39;
}

.quant-report-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff7676 0%, #f6c85f 50%, #59d090 100%);
}

.quant-report-table tfoot td {
  border-bottom: 0;
  color: #f6c85f;
  font-size: 15px;
  font-weight: 800;
}

.quant-report-footnote {
  margin-top: 12px !important;
  color: #8491a3 !important;
  font-size: 10px;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .quant-report-header {
    grid-template-columns: 1fr;
  }

  .quant-report-grade {
    grid-template-columns: 1fr auto auto;
    justify-items: start;
    gap: 12px;
  }

  .quant-report-grade strong {
    font-size: 28px;
  }

  .quant-executive-summary,
  .quant-executive-grid,
  .quant-performance-layout,
  .quant-profitability-layout,
  .quant-risk-layout,
  .quant-robustness-layout,
  .quant-regime-layout,
  .quant-signal-strength-layout {
    grid-template-columns: 1fr;
  }

  .quant-robustness-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quant-performance-title,
  .quant-profitability-title,
  .quant-risk-title,
  .quant-robustness-title,
  .quant-regime-title,
  .quant-signal-strength-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .quant-performance-title strong,
  .quant-profitability-title strong,
  .quant-risk-title strong,
  .quant-robustness-title strong,
  .quant-regime-title strong,
  .quant-signal-strength-title strong {
    text-align: left;
  }
}

.ml-chart-matrix {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 12px;
}

.ml-chart-card {
  min-width: 0;
  padding: 10px;
  border: 1px solid #26313f;
  border-radius: 8px;
  background: #111720;
}

.ml-chart-title {
  color: #dbe7f5;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
}

.ml-line-chart {
  width: 100%;
  height: 220px;
  display: block;
  overflow: visible;
}

.opt-mkt-matrix-chart {
  height: auto;
  min-height: 360px;
}

.ml-chart-axis {
  stroke: #344154;
  stroke-width: 1;
}

.ml-chart-grid {
  stroke: #26313f;
  stroke-width: 1;
  stroke-dasharray: 4 6;
}

.ml-chart-label {
  fill: #9fb0c7;
  font-size: 12px;
  font-weight: 700;
}

.ml-chart-tick {
  fill: #77859a;
  font-size: 9px;
  font-variant-numeric: tabular-nums;
}

.ml-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  margin-top: 8px;
  color: #9fb0c7;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.ml-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.ml-chart-legend i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex-shrink: 0;
}

.ml-chart-empty {
  display: grid;
  min-height: 150px;
  place-items: center;
  color: #77859a;
  font-size: 12px;
  border: 1px dashed #2a3444;
  border-radius: 6px;
}

.opt-mkt-signal-list {
  padding: 10px;
  border: 1px solid #26313f;
  border-radius: 8px;
  background: #111720;
}

.opt-mkt-signal-list ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}

.opt-mkt-signal-bullet {
  color: #c9d6e7;
  font-size: 12px;
  line-height: 1.45;
}

.opt-mkt-signal-bullet > span,
.opt-mkt-signal-bullet > strong {
  margin-right: 8px;
}

.opt-mkt-matrix-card .opt-mkt-matrix-chart {
  height: auto;
  min-height: 220px;
}

.opt-mkt-briefing-card {
  padding: 16px;
}

.opt-mkt-briefing-intro {
  margin: 6px 0 14px;
  color: #aeb9c8;
  font-size: 12px;
  line-height: 1.5;
}

.opt-mkt-briefing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 10px;
}

.opt-mkt-briefing-item {
  padding: 11px 12px;
  border: 1px solid #2a3646;
  border-radius: 8px;
  background: #171d27;
}

.opt-mkt-briefing-item-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.opt-mkt-briefing-item-head strong {
  color: #dce6f2;
  font-size: 12px;
}

.opt-mkt-briefing-item-head span {
  color: #7dd3fc;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.opt-mkt-briefing-item p {
  margin: 6px 0 0;
  color: #9eabba;
  font-size: 11px;
  line-height: 1.45;
}

.opt-mkt-matrix-row-label {
  font-size: 10px;
}

.opt-mkt-matrix-cell-label {
  font-size: 9px;
  font-weight: 700;
  fill: #dbe7f5;
  pointer-events: none;
}

.opt-mkt-signal-list {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #26313f;
  border-radius: 8px;
  background: #111720;
}

.opt-mkt-signal-list.empty {
  color: #77859a;
  font-size: 12px;
}

.opt-mkt-signal-item {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 6px;
  border: 1px solid #26313f;
  background: #151b24;
}

.opt-mkt-signal-item.high {
  border-color: rgba(255, 118, 118, 0.45);
}

.opt-mkt-signal-item.medium {
  border-color: rgba(246, 200, 95, 0.35);
}

.opt-mkt-signal-time {
  color: #77859a;
  font-size: 11px;
}

.opt-mkt-signal-item strong {
  color: #dbe7f5;
  font-size: 12px;
}

.opt-mkt-signal-detail {
  color: #9fb0c7;
  font-size: 11px;
}

.opt-mkt-metric-signals-card {
  display: grid;
  gap: 12px;
}

.opt-mkt-metric-signals-head {
  display: grid;
  gap: 4px;
}

.opt-mkt-metric-signals-meta {
  color: #77859a;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.opt-mkt-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.opt-mkt-metric-tile {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid #26313f;
  background: #151b24;
}

.opt-mkt-metric-tile.bullish {
  border: 2px solid rgba(89, 208, 144, 0.78);
}

.opt-mkt-metric-tile.bearish {
  border: 2px solid rgba(255, 118, 118, 0.78);
}

.opt-mkt-metric-label {
  color: #9fb0c7;
  font-size: 11px;
  font-weight: 700;
}

.opt-mkt-metric-value {
  color: #eef4fb;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.opt-mkt-metric-delta {
  color: #c9d6e7;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.opt-mkt-metric-hint {
  color: #77859a;
  font-size: 10px;
  line-height: 1.35;
}

.opt-mkt-metric-table-wrap {
  display: grid;
  gap: 6px;
  overflow-x: auto;
}

.opt-mkt-metric-table-title {
  color: #9fb0c7;
  font-size: 11px;
  font-weight: 700;
}

.opt-mkt-metric-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.opt-mkt-metric-table th,
.opt-mkt-metric-table td {
  padding: 6px 8px;
  border-bottom: 1px solid #26313f;
  text-align: left;
  white-space: nowrap;
}

.opt-mkt-metric-table th {
  color: #9fb0c7;
  font-weight: 700;
  background: #151b24;
  position: sticky;
  top: 0;
}

.opt-mkt-metric-table td {
  color: #dbe7f5;
}

.opt-mkt-metric-table tbody tr:hover {
  background: rgba(99, 179, 237, 0.06);
}

.ml-card p {
  margin: 8px 0 0;
}

.record-note {
  margin: 0 0 12px;
  color: #aab2c0;
  font-size: 13px;
}

.ml-sample {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 12px;
  color: #aab2c0;
  font-size: 13px;
}

.wf-folds,
.ml-source {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
  color: #cbd3df;
  font-size: 12px;
}

.wf-folds span {
  padding: 4px 7px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
}

.ml-source {
  grid-column: 1 / -1;
  margin: 0;
  padding: 10px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
}

.scanner-controls {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(150px, 200px) minmax(120px, auto) minmax(190px, auto) auto auto;
  gap: 12px;
  align-items: end;
}

.check-label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
}

.check-label input {
  width: auto;
  min-height: 0;
}

.pruning-toggle {
  align-self: stretch;
}

.pruning-toggle .check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
}

.pruning-toggle input {
  width: auto;
  min-height: 0;
}

.scanner-panel {
  display: grid;
  gap: 5px;
  min-height: 88px;
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #171b22;
}

.scanner-panel strong {
  font-size: 28px;
  line-height: 1;
}

.scanner-panel span {
  color: #d4dce8;
}

.scanner-panel small {
  color: #98a5b6;
}

.scanner-panel.enter {
  border-color: #59d090;
  background: #12241c;
}

.scanner-panel.enter strong,
.scanner-panel.enter-buy strong {
  color: #59d090;
}

.scanner-panel.enter-buy {
  border-color: #59d090;
  background: #12241c;
}

.scanner-panel.enter-sell {
  border-color: #ff7676;
  background: #261618;
}

.scanner-panel.enter-sell strong {
  color: #ff7676;
}

.scanner-panel.hold,
.scanner-panel.hold-buy,
.scanner-panel.hold-sell {
  border-color: #f6c85f;
  background: #241f12;
}

.scanner-panel.hold strong,
.scanner-panel.hold-buy strong,
.scanner-panel.hold-sell strong {
  color: #f6c85f;
}

.scanner-panel.wait strong {
  color: #9fb0c7;
}

.scanner-panel.error {
  border-color: #ff7676;
  background: #261618;
}

.scanner-panel.error strong {
  color: #ff7676;
}

.signal-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 12px;
}

.signal-state {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
}

.signal-state strong {
  min-width: 34px;
  font-size: 12px;
}

.signal-state span {
  color: #cbd3df;
  font-size: 13px;
}

.signal-state.on strong {
  color: #59d090;
}

.signal-state.off strong {
  color: #ff7676;
}

.scan-match {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #10151c;
}

.scan-match.enter {
  border-color: #59d090;
  background: #12241c;
}

.scan-match.hold {
  border-color: #f6c85f;
  background: #241f12;
}

.scan-match.wait {
  opacity: .75;
}

.scan-match.ml-blocked {
  border-color: #63b3ed;
  background: #101b28;
}

.scan-match.ml-entry {
  border-color: #63b3ed;
  background: #112032;
}

.ml-confirm {
  color: #cbd3df;
  font-size: 12px;
}

.ml-confirm.confirmed {
  color: #9ff0bd;
}

.ml-confirm.blocked {
  color: #bfdbfe;
}

.report {
  margin: 18px 0;
}

.section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

h2 {
  margin: 0;
  font-size: 18px;
}

.section-title span {
  color: #98a5b6;
  font-size: 13px;
}

.panel-title {
  align-items: center;
  min-height: 46px;
  margin: -2px 0 14px;
  padding: 10px 12px;
  border: 1px solid #303947;
  border-left-width: 4px;
  border-radius: 8px;
  background: #141922;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.panel-title h2 {
  font-size: 17px;
  letter-spacing: .2px;
}

.section-subtitle {
  margin: 4px 0 0;
  max-width: 760px;
  color: #aab2c0;
  font-size: 13px;
  line-height: 1.35;
}

.collector-title {
  border-left-color: #2fbf8f;
  background: linear-gradient(90deg, rgba(47, 191, 143, .16), rgba(20, 25, 34, .94));
}

.backtesting-title {
  border-left-color: #3b82f6;
  background: linear-gradient(90deg, rgba(59, 130, 246, .16), rgba(20, 25, 34, .94));
}

.ml-title {
  border-left-color: #38bdf8;
  background: linear-gradient(90deg, rgba(56, 189, 248, .14), rgba(20, 25, 34, .94));
}

.comparison-title {
  border-left-color: #d6a73a;
  background: linear-gradient(90deg, rgba(214, 167, 58, .16), rgba(20, 25, 34, .94));
}

.trade-title {
  border-left-color: #f97316;
  background: linear-gradient(90deg, rgba(249, 115, 22, .14), rgba(20, 25, 34, .94));
}

.economic-calendar-title {
  border-left-color: #a78bfa;
  background: linear-gradient(90deg, rgba(167, 139, 250, .16), rgba(20, 25, 34, .94));
}

.economic-calendar-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  margin-bottom: 4px;
}

.economic-calendar-controls label {
  display: grid;
  gap: 6px;
  min-width: 160px;
  font-size: 12px;
  color: #aab2c0;
}

.economic-calendar-table-wrap {
  margin-top: 12px;
  overflow: auto;
  border: 1px solid #303947;
  border-radius: 8px;
  max-height: 520px;
}

.economic-calendar-table {
  min-width: 980px;
}

.economic-calendar-table tbody tr:nth-child(even) {
  background: rgba(255, 255, 255, .02);
}

.economic-calendar-table a {
  color: #93c5fd;
  text-decoration: none;
}

.economic-calendar-table a:hover {
  text-decoration: underline;
}

.economic-impact {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .2px;
  border: 1px solid transparent;
}

.economic-impact.high {
  color: #fecaca;
  background: rgba(239, 68, 68, .18);
  border-color: rgba(239, 68, 68, .35);
}

.economic-impact.medium {
  color: #fde68a;
  background: rgba(245, 158, 11, .16);
  border-color: rgba(245, 158, 11, .35);
}

.economic-impact.low {
  color: #cbd5e1;
  background: rgba(148, 163, 184, .14);
  border-color: rgba(148, 163, 184, .28);
}

.economic-impact.neutral {
  color: #aab2c0;
  background: rgba(148, 163, 184, .08);
  border-color: rgba(148, 163, 184, .2);
}

#economicCalendarUpdated {
  font-size: 11px;
  padding: 2px 9px;
  border-radius: 999px;
  background: #1f2937;
  color: #9ca3af;
  border: 1px solid #374151;
  white-space: nowrap;
}

#collectorUpdated,
#backtestUpdated,
#bitunixMlUpdated {
  font-size: 11px;
  padding: 2px 9px;
  border-radius: 999px;
  background: #1f2937;
  color: #9ca3af;
  border: 1px solid #374151;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

#collectorUpdated:not(:empty)::before,
#backtestUpdated:not(:empty)::before,
#bitunixMlUpdated.ready::before,
#bitunixMlUpdated.done::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #59d090;
  border-radius: 50%;
  flex-shrink: 0;
}

#bitunixMlUpdated.running::before,
#bitunixMlUpdated.error::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

#bitunixMlUpdated.running::before {
  background: #63b3ed;
}

#bitunixMlUpdated.error::before {
  background: #ff7676;
}

#backtestUpdated.running::before {
  background: #63b3ed;
}

#backtestUpdated.done::before {
  background: #59d090;
}

#backtestUpdated.error::before {
  background: #ff7676;
}

.chart-wrap {
  overflow: hidden;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #11161d;
}

.chart-info {
  min-height: 38px;
  padding: 10px 12px;
  border-top: 1px solid #303947;
  color: #cbd3df;
  font-size: 13px;
  background: #151b24;
}

.chart-wrap svg,
.desk-chart-wrap svg {
  display: block;
  width: 100%;
  min-height: 320px;
}

.chart-bg {
  fill: #11161d;
}

.grid-line {
  stroke: #2b3440;
  stroke-width: 1;
}

.axis-line {
  stroke: #596579;
  stroke-width: 1;
}

.axis-label,
.empty-chart {
  fill: #aab2c0;
  font-size: 12px;
}

.top-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 12px;
}

.top-card {
  padding: 14px;
  border: 1px solid #303947;
  border-radius: 8px;
  background: #171b22;
}

.rank-line,
.card-stats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.rank-line {
  margin-bottom: 10px;
}

.legend {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.side-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 7px;
  border-radius: 999px;
  border: 1px solid #475569;
  color: #dbe7f5;
  font-size: 12px;
  font-weight: 700;
}

.side-badge.buy {
  border-color: #59d090;
  color: #59d090;
}

.side-badge.sell {
  border-color: #ff7676;
  color: #ff7676;
}

.card-stats {
  margin-bottom: 12px;
  color: #aab2c0;
  font-size: 13px;
}

.ml-overall-summary-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
  color: #dbe7f5;
  font-size: 13px;
  line-height: 1.35;
}

.ml-overall-summary-row span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #26313f;
  border-radius: 6px;
  background: #10151c;
}

.results {
  overflow: auto;
  border: 1px solid #303947;
  border-radius: 8px;
}

table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  background: #12161d;
}

th, td {
  padding: 12px;
  border-bottom: 1px solid #252c36;
  text-align: left;
  vertical-align: top;
}

th {
  color: #98a5b6;
  font-size: 12px;
  text-transform: uppercase;
}

.good {
  color: #59d090;
}

.bad {
  color: #ff7676;
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.chip {
  padding: 4px 7px;
  border-radius: 999px;
  background: #233142;
  color: #dbe7f5;
  font-size: 12px;
}

/* ========== Finance Pro / Sexy Polish ========== */
.sources-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.collector-sources-strip {
  margin-top: 0;
}

.sources-strip-enrichment {
  margin-top: 6px;
}

.sources-sections {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 12px;
}

.sources-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 0;
  border-top: 1px solid #232a36;
}

.sources-section:first-child {
  padding-top: 0;
  border-top: none;
}

.sources-section:last-child {
  padding-bottom: 0;
}

.sources-section .sources-strip {
  margin-top: 0;
}

.sources-section-label {
  display: inline-flex;
  align-items: center;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #7d8aa0;
  font-weight: 600;
}

/* Inline asset-type tags inside the verbose collector status log. */
.collector-status-line .asset-tag {
  font-weight: 600;
}

.collector-status-line .asset-tag-both {
  color: #3ddc97;
}

.collector-status-line .asset-tag-crypto {
  color: #f0a35e;
}

.collector-status-line .asset-tag-stocks {
  color: #5aa9f0;
}

.collector-status-line .asset-tag-market {
  color: #b58bf0;
}

/* On-chain category gets its own color in the inline status badge. */
.collector-status-line .asset-cat-onchain {
  color: #4dd0e1;
  font-weight: 600;
}
.src-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  padding: 2px 9px 2px 3px;
  border-radius: 999px;
  background: #1a1f29;
  border: 1px solid #2f3745;
  color: #c3ccd9;
  letter-spacing: 0.2px;
}
.src-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.src-glyph.has-logo {
  position: relative;
  color: transparent;
}
.src-glyph.has-logo::after {
  content: "";
  position: absolute;
  inset: 2px;
  background-color: #fff;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.src-glyph.yahoo.has-logo::after,
.src-glyph.yahoo-options.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/yahoo.svg");
  mask-image: url("/assets/source-icons/yahoo.svg");
}
.src-glyph.coinbase.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/coinbase.svg");
  mask-image: url("/assets/source-icons/coinbase.svg");
}
.src-glyph.alpaca.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/alpaca.svg");
  mask-image: url("/assets/source-icons/alpaca.svg");
}
.src-glyph.binance.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/binance.svg");
  mask-image: url("/assets/source-icons/binance.svg");
}
.src-glyph.coinmarketcap.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/coinmarketcap.svg");
  mask-image: url("/assets/source-icons/coinmarketcap.svg");
}
.src-glyph.googlenews.has-logo::after,
.src-glyph.googletrends.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/google.svg");
  mask-image: url("/assets/source-icons/google.svg");
}
.src-glyph.gdelt.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/gdelt.svg");
  mask-image: url("/assets/source-icons/gdelt.svg");
}
.src-glyph.wikipedia.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/wikipedia.svg");
  mask-image: url("/assets/source-icons/wikipedia.svg");
}
.src-glyph.youtube.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/youtube.svg");
  mask-image: url("/assets/source-icons/youtube.svg");
}
.src-glyph.greenhouse.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/greenhouse.svg");
  mask-image: url("/assets/source-icons/greenhouse.svg");
}
.src-glyph.lever.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/lever.svg");
  mask-image: url("/assets/source-icons/lever.svg");
}
.src-glyph.reddit.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/reddit.svg");
  mask-image: url("/assets/source-icons/reddit.svg");
}
.src-glyph.xcom.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/x.svg");
  mask-image: url("/assets/source-icons/x.svg");
}
.src-glyph.coinbase { background: linear-gradient(135deg, #0052ff, #00c2b1); }
.src-glyph.yahoo { background: linear-gradient(135deg, #6b2d9b, #a05cd6); }
.src-glyph.alpaca { background: linear-gradient(135deg, #00a878, #7bd88f); color: #102018; }

.src-glyph.bybit { background: linear-gradient(135deg, #f0b90b, #2b3139); color: #111827; }
.src-glyph.bitunix { background: linear-gradient(135deg, #1d72b8, #63b3ed); }
.src-glyph.binance { background: linear-gradient(135deg, #f0b90b, #fcd535); color: #1a1a1a; }
.src-glyph.tiingo { background: linear-gradient(135deg, #0f4c81, #2d7dd2); }
.src-glyph.alphavantage { background: linear-gradient(135deg, #c62828, #ef5350); }
.src-glyph.coinstats { background: linear-gradient(135deg, #3949ab, #5c6bc0); }
.src-glyph.blockchain { background: linear-gradient(135deg, #0c6cf2, #4dd0e1); }
.src-glyph.coinmarketcap { background: linear-gradient(135deg, #1a73e8, #4fc3f7); }
.src-glyph.yahoo-options { background: linear-gradient(135deg, #512da8, #7e57c2); }
.src-glyph.sec-edgar { background: linear-gradient(135deg, #003968, #1a5f9e); }
.src-glyph.finra { background: linear-gradient(135deg, #005ea8, #00a6d6); }
.src-glyph.fred { background: linear-gradient(135deg, #006b3f, #3bb273); }
.src-glyph.nasdaq { background: linear-gradient(135deg, #0047bb, #00a3e0); }
.src-glyph.googlenews { background: linear-gradient(135deg, #4285f4, #34a853); }
.src-glyph.googletrends { background: linear-gradient(135deg, #ea4335, #fbbc04); color: #1a1a1a; }
.src-glyph.gdelt { background: linear-gradient(135deg, #1b4f72, #3498db); }
.src-glyph.wikipedia { background: linear-gradient(135deg, #2c2c2c, #636363); }
.src-glyph.youtube { background: linear-gradient(135deg, #cc0000, #ff4444); }
.src-glyph.greenhouse { background: linear-gradient(135deg, #008561, #24b47e); }
.src-glyph.lever { background: linear-gradient(135deg, #c40d66, #e51075); }
.src-glyph.reddit { background: linear-gradient(135deg, #ff4500, #ff7a45); }
.src-glyph.xcom { background: linear-gradient(135deg, #111111, #4a4a4a); }
.src-glyph.stocktwits { background: linear-gradient(135deg, #00b386, #26d7a5); }
.src-glyph.stockgeist { background: linear-gradient(135deg, #00838f, #26c6da); }
.src-glyph.roberta { background: linear-gradient(135deg, #ff6f00, #ffb300); color: #1a1a1a; }

.source-field,
.symbol-field,
.date-field {
  display: grid;
  gap: 5px;
  position: relative;
}
.source-label-row,
.symbol-input-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.label-text {
  color: #b7c0ce;
  font-size: 12px;
  letter-spacing: 0.3px;
}
.source-hint {
  font-size: 10px;
  color: #6f7c8f;
  white-space: nowrap;
}
.datasource-notice {
  margin-top: 8px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.45;
  border: 1px solid transparent;
}
.datasource-notice-yahoo {
  color: #ffd8a8;
  background: rgba(230, 126, 34, 0.14);
  border-color: rgba(230, 126, 34, 0.45);
}

.source-select-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.source-icon {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  color: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.4);
  border: 1px solid rgba(255,255,255,.15);
}
.source-icon.has-logo {
  position: relative;
  color: transparent;
}
.source-icon.has-logo::after {
  content: "";
  position: absolute;
  inset: 3px;
  background-color: #fff;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.source-icon.yahoo.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/yahoo.svg");
  mask-image: url("/assets/source-icons/yahoo.svg");
}
.source-icon.coinbase.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/coinbase.svg");
  mask-image: url("/assets/source-icons/coinbase.svg");
}
.source-icon.alpaca.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/alpaca.svg");
  mask-image: url("/assets/source-icons/alpaca.svg");
}
.source-icon.binance.has-logo::after {
  -webkit-mask-image: url("/assets/source-icons/binance.svg");
  mask-image: url("/assets/source-icons/binance.svg");
}
.source-icon.coinbase { background: linear-gradient(135deg, #0052ff, #00c2b1); }
.source-icon.yahoo { background: linear-gradient(135deg, #6b2d9b, #a05cd6); }
.source-icon.alpaca { background: linear-gradient(135deg, #00a878, #7bd88f); color: #102018; }
.source-icon.bybit { background: linear-gradient(135deg, #f0b90b, #2b3139); color: #111827; }

.source-icon.bitunix { background: linear-gradient(135deg, #1d72b8, #63b3ed); }

.symbol-wrap {
  position: relative;
  flex: 1;
  min-width: 0;
}
.symbol-wrap .symbol-suggestions {
  top: 100%;
  margin-top: 2px;
}
.symbol-field > .symbol-suggestions {
  top: calc(100% + 2px);
  z-index: 80;
}
.backtest-controls label {
  position: relative;
}
.backtest-controls .symbol-wrap {
  display: inline-block;
  vertical-align: middle;
  min-width: 120px;
  max-width: 100%;
}
.symbol-wrap input {
  padding-right: 28px;
}
.symbol-clear {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: none;
  background: #2a3240;
  color: #8f9bad;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  display: none;
}
.symbol-wrap:hover .symbol-clear,
.symbol-wrap:focus-within .symbol-clear {
  display: block;
}
.symbol-clear:hover {
  background: #3a4457;
  color: #dbe7f5;
}
.symbol-resolved {
  font-size: 11px;
  color: #7ea3c9;
  min-height: 15px;
  padding-left: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 500;
}
.symbol-suggestions {
  position: absolute;
  z-index: 30;
  margin-top: 4px;
  left: 0;
  right: 0;
  max-height: 260px;
  overflow: auto;
  background: #14181f;
  border: 1px solid #334155;
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.55);
  font-size: 13px;
}
.symbol-suggestion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 11px;
  cursor: pointer;
  border-bottom: 1px solid #1f2632;
}
.symbol-suggestion:last-child {
  border-bottom: none;
}
.symbol-suggestion:hover,
.symbol-suggestion.active {
  background: #1f2735;
}
.symbol-suggestion .ticker {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 700;
  color: #e6edf7;
  letter-spacing: 0.4px;
}
.symbol-suggestion .name {
  color: #8fa3b9;
  font-size: 12px;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.symbol-suggestion .meta {
  font-size: 10px;
  color: #5d6a7f;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.symbol-suggestion--asset_group .ticker,
.symbol-suggestion--compound_group .ticker {
  color: #9ec1ff;
}
.symbol-suggestion--asset_group .meta,
.symbol-suggestion--compound_group .meta {
  color: #7eb0ff;
}
.symbol-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 2px;
}
.symbol-chips .chip {
  cursor: pointer;
  font-size: 11px;
  padding: 2px 8px;
  background: #1c2432;
  border: 1px solid #2f3a4a;
}
.symbol-chips .chip:hover {
  border-color: #63b3ed;
  color: #c5d7f0;
}

.date-input-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
.date-presets {
  display: flex;
  gap: 4px;
}
.preset-btn {
  min-height: 28px;
  padding: 0 9px;
  font-size: 11px;
  font-weight: 600;
  border-radius: 6px;
  border: 1px solid #2f3a4a;
  background: #1c2432;
  color: #a7b4c9;
  cursor: pointer;
}
.preset-btn:hover {
  background: #263142;
  border-color: #475569;
  color: #d4dce8;
}

.primary-collect {
  background: linear-gradient(135deg, #1d72b8, #2a8fd9);
  border-color: #63b3ed;
  font-size: 13px;
  letter-spacing: 0.2px;
}
.primary-collect:hover:not(:disabled) {
  filter: brightness(1.08);
}

.field-sub {
  display: block;
  margin-top: -2px;
  font-size: 10px;
  color: #6f7c8f;
}

/* Stronger finance metrics + table polish */
.metric strong {
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.2px;
}
.results table th {
  background: #161b24;
  position: sticky;
  top: 0;
  z-index: 1;
}
.results td {
  font-variant-numeric: tabular-nums;
}
.results td:nth-child(3),
.results td:nth-child(4),
.results td:nth-child(5),
.results td:nth-child(6),
.results td:nth-child(7),
.results td:nth-child(8) {
  text-align: right;
  font-feature-settings: "tnum";
}

/* Panel & section sexy touches */
.deep-panel,
.backtest-panel,
.ml-panel,
.report,
.results {
  transition: border-color .2s ease, box-shadow .2s ease;
}
.deep-panel:hover,
.backtest-panel:hover,
.ml-panel:hover {
  border-color: #3a4557;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.42);
}
.section-title h2 {
  letter-spacing: 0.2px;
}
.section-title span {
  font-variant-numeric: tabular-nums;
}

/* Autocomplete / suggestion active states already covered above */

@media (max-width: 900px) {
  .toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .controls,
  .metrics,
  .top-cards,
  .signal-list,
  .ml-results,
  .deep-results,
  .metric-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .scanner-controls,
  .backtest-controls,
  .deep-controls,
  .bitunix-ml-actions,
  .ml-chart-matrix,
  .auto-trade-controls,
  .comparison-controls,
  .comparison-results,
  .auto-scan-card-grid {
    grid-template-columns: 1fr 1fr;
  }

  .scanner-controls label,
  .backtest-controls label,
  .deep-controls label,
  .bitunix-ml-actions label,
  .auto-trade-controls label,
  .comparison-controls label {
    grid-column: 1 / -1;
  }

  .backtest-control-group,
  .backtest-control-group.market-group,
  .backtest-control-group.execution-group,
  .backtest-control-group.indicator-group,
  .backtest-control-group.filters-group,
  .backtest-control-group.run-group {
    grid-template-columns: 1fr 1fr;
  }

  .group-title,
  .backtest-control-group .symbol-field,
  .backtest-control-group .source-field,
  .backtest-control-group .indicator-picker,
  .backtest-control-group .pruning-toggle {
    grid-column: 1 / -1;
  }

  .group-title {
    min-height: auto;
    padding-right: 0;
    padding-bottom: 4px;
    border-right: none;
  }

  .ml-controls .execution-group {
    grid-template-columns: minmax(150px, .8fr) repeat(2, minmax(0, 1fr));
  }

  .ml-controls .ml-training-options-group > .ml-execution-checkboxes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ml-controls .execution-group > .wide-select-field {
    grid-column: 1 / -1;
  }

  .ml-controls .execution-group > .ml-execution-checkboxes {
    grid-template-columns: 1fr;
  }

  .ml-controls .execution-group > .ml-full-interval-toggle {
    grid-column: 1 / -1;
  }

  .ml-architecture-row {
    grid-column: 1 / -1;
  }

  .ml-exit-strategy-group .ml-labeling-block {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .controls,
  .metrics,
  .top-cards,
  .signal-list,
  .scanner-controls,
  .backtest-controls,
  .ml-results,
    .ml-actions,
    .bitunix-ml-actions,
    .ml-chart-matrix,
    .auto-trade-controls,
    .comparison-controls,
    .comparison-results,
    .auto-scan-card-grid,
  .deep-controls,
  .deep-results,
  .indicator-options,
  .metric-list {
    grid-template-columns: 1fr;
  }

  .section-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .backtest-control-group,
  .backtest-control-group.market-group,
  .backtest-control-group.execution-group,
  .backtest-control-group.indicator-group,
  .backtest-control-group.filters-group,
  .backtest-control-group.run-group {
    grid-template-columns: 1fr;
  }

  .ml-controls .ml-training-options-group,
  .ml-controls .ml-training-options-group > .ml-execution-checkboxes {
    grid-template-columns: 1fr;
  }

  .ml-controls .ml-training-options-group .training-backend-fieldset {
    grid-column: auto;
  }

}

.model-testing-shell .toolbar-links a {
  color: #8ec7ff;
  font-weight: 600;
}

.model-testing-explainer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.model-testing-explainer-card {
  border: 1px solid #2a3442;
  border-radius: 10px;
  background: #141b24;
  padding: 12px;
  display: grid;
  gap: 8px;
}

.model-testing-explainer-card h3 {
  margin: 0;
  color: #e6edf6;
  font-size: 14px;
}

.model-testing-explainer-card p {
  margin: 0;
  color: #95a7bf;
  font-size: 12px;
  line-height: 1.45;
}

.model-testing-explainer-card-warning {
  border-color: #5c4a24;
  background: #1b1610;
}

.model-testing-stage-current {
  border-color: #2ea043;
  background: #13251a;
}

.model-testing-architecture-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
}

.model-testing-arch-node {
  min-width: 170px;
  flex: 1 1 170px;
  border: 1px solid #2b3a4d;
  border-radius: 10px;
  padding: 10px;
  background: #141d28;
  display: grid;
  gap: 6px;
}

.model-testing-arch-node strong {
  color: #e8eff8;
  font-size: 13px;
}

.model-testing-arch-node span {
  color: #95a7bf;
  font-size: 12px;
}

.model-testing-arch-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8aa0bc;
  font-size: 18px;
  font-weight: 700;
  min-width: 20px;
}

.model-testing-arch-arrow.optional {
  color: #b8a05f;
}

.model-testing-arch-node-optional {
  border-style: dashed;
  border-color: #7f6b34;
  background: #1b1811;
}

.model-testing-architecture-graphic {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #2a3442;
  border-radius: 10px;
  background: #101722;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
}

.model-testing-architecture-stage {
  min-width: 190px;
  flex: 1 1 190px;
  border: 1px solid #2c3b4d;
  border-radius: 10px;
  background: #141e2a;
  padding: 10px;
  display: grid;
  gap: 8px;
}

.model-testing-architecture-stage h3 {
  margin: 0;
  color: #e8eff8;
  font-size: 13px;
}

.model-testing-architecture-stage p {
  margin: 0;
  color: #95a7bf;
  font-size: 12px;
  line-height: 1.4;
}

.model-testing-architecture-stage-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8aa0bc;
  font-size: 18px;
  font-weight: 700;
  min-width: 20px;
}

.model-testing-architecture-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.model-testing-architecture-tags span {
  font-size: 11px;
  color: #c7d6e8;
  border: 1px solid #334659;
  background: #1a2634;
  border-radius: 999px;
  padding: 3px 8px;
}

.comparison-report-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}

.comparison-report-card {
  border: 1px solid #2a3442;
  border-radius: 10px;
  background: #141b24;
  padding: 12px;
  display: grid;
  gap: 8px;
}

.comparison-report-card h3 {
  margin: 0;
  color: #e8eff8;
  font-size: 14px;
}

.comparison-report-card p {
  margin: 0;
  color: #9db0c8;
  font-size: 12px;
}

.comparison-report-metrics {
  display: grid;
  gap: 6px;
  font-size: 12px;
  color: #c7d6e8;
}

.comparison-report-metrics strong {
  color: #f4f8ff;
}

.comparison-source-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #3a4a5e;
  border-radius: 999px;
  min-width: 74px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;
}

.comparison-source-pill.ml {
  border-color: #2f8a4f;
  color: #c9ffd5;
  background: rgba(28, 85, 48, 0.55);
}

.comparison-source-pill.backtest {
  border-color: #3c79b9;
  color: #d8ecff;
  background: rgba(36, 66, 104, 0.55);
}

.comparison-table td .field-help {
  margin-top: 4px;
}

.comparison-composite-details {
  margin-bottom: 12px;
  border: 1px solid #2a3442;
  border-radius: 10px;
  background: #141b24;
  padding: 10px;
  display: grid;
  gap: 6px;
}

.comparison-composite-details h3 {
  margin: 0;
  color: #e8eff8;
  font-size: 13px;
}

.comparison-driver-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.comparison-driver-list span {
  font-size: 11px;
  color: #c7d6e8;
  border: 1px solid #334659;
  background: #1a2634;
  border-radius: 999px;
  padding: 2px 7px;
}

.comparison-side-by-side-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.comparison-side-panel {
  border: 1px solid #2a3442;
  border-radius: 10px;
  background: #141b24;
  padding: 10px;
  display: grid;
  gap: 8px;
}

.comparison-side-panel h3 {
  margin: 0;
  color: #e8eff8;
  font-size: 13px;
}

.model-testing-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.model-testing-tab.is-active {
  border-color: #4da3ff;
  color: #fff;
}

.model-testing-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.model-testing-table th,
.model-testing-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-align: left;
  vertical-align: top;
}

.model-testing-table th {
  color: #9fb0c3;
  font-weight: 600;
}

.ml-parameter-group-table tbody tr[role="button"] {
  cursor: pointer;
}

.ml-parameter-group-table tr.ml-parameter-set-active td {
  background: rgba(80, 140, 255, 0.12);
  font-weight: 600;
}

.ml-advanced-tuning-panel {
  margin-top: 10px;
  border: 1px solid #2c3746;
  border-radius: 8px;
  background: #111821;
}

.ml-advanced-tuning-toggle {
  cursor: pointer;
  padding: 10px 12px;
  font-weight: 600;
  list-style: none;
}

.ml-advanced-tuning-toggle::-webkit-details-marker {
  display: none;
}

.ml-advanced-tuning-body {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}

.ml-advanced-tuning-section {
  display: grid;
  gap: 8px;
  border: 1px solid #2c3746;
  border-radius: 6px;
  padding: 10px;
}

.ml-advanced-tuning-section[hidden] {
  display: none;
}

.ml-advanced-tuning-section legend {
  font-weight: 600;
  padding: 0 4px;
}

.ml-parameter-group-validation-list,
.ml-parameter-group-validation-warnings {
  margin: 12px 0 0;
  padding-left: 1.25rem;
}

.ml-parameter-group-validation-list li {
  margin-bottom: 8px;
}

.ml-parameter-group-validation-warnings {
  color: #c9a227;
}

.ml-parameter-group-validation-body code {
  font-size: 0.9em;
}

.model-testing-recommendation {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}

.model-testing-leaderboard {
  overflow-x: auto;
}

.model-testing-runtime {
  margin-top: 12px;
  padding: 10px;
  border: 1px solid #2c3746;
  border-radius: 8px;
  background: #111821;
  display: grid;
  gap: 10px;
}

.model-testing-runtime-title {
  color: #d4e2f2;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.model-testing-runtime-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.model-testing-runtime-tile {
  padding: 8px 10px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #161f2a;
  display: grid;
  gap: 4px;
}

.model-testing-runtime-tile span {
  color: #8ea0b8;
  font-size: 11px;
}

.model-testing-runtime-tile strong {
  color: #edf2f8;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.model-testing-runtime-events {
  display: grid;
  gap: 6px;
}

.model-testing-runtime-events-title {
  color: #9fb0c3;
  font-size: 12px;
  font-weight: 700;
}

.model-testing-runtime-event {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 7px 10px;
  border: 1px solid #293443;
  border-radius: 7px;
  background: #141b24;
  font-size: 12px;
}

.model-testing-runtime-event strong {
  color: #d6e3f3;
}

.model-testing-runtime-event span {
  color: #95a7bf;
}

.model-testing-panel .ml-run-action-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: stretch;
  gap: 10px;
}

.model-testing-panel .model-testing-run-grid {
  display: grid;
  grid-column: 1 / -1;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
  gap: 12px;
  align-items: start;
}

.model-testing-panel .model-testing-run-main {
  display: grid;
  gap: 10px;
}

.model-testing-panel .model-testing-run-side-actions {
  display: grid;
  gap: 8px;
  align-self: stretch;
}

.model-testing-panel .model-testing-run-side-actions button {
  min-width: 130px;
}

.model-testing-panel .ml-run-action-group .ml-run-primary {
  justify-self: start;
}

.model-testing-saved-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 14px 0 4px;
}

.model-testing-saved-actions .ml-run-primary {
  margin: 0;
}

.model-testing-listbox {
  min-height: 270px;
}

.model-testing-report-card {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.model-testing-report-tile {
  padding: 10px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #141c26;
  display: grid;
  gap: 4px;
}

.model-testing-report-tile span {
  color: #9fb0c3;
  font-size: 11px;
}

.model-testing-report-tile strong {
  color: #edf2f8;
  font-size: 16px;
  font-variant-numeric: tabular-nums;
}

.model-testing-status-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.queue-status-chip {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid #3a4657;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.queue-status-chip.online {
  color: #c9ffd5;
  border-color: #2f8a4f;
  background: rgba(28, 85, 48, 0.55);
}

.queue-status-chip.offline {
  color: #ffd1d1;
  border-color: #a14747;
  background: rgba(110, 36, 36, 0.5);
}

.model-testing-variant-panel {
  margin-top: 8px;
  padding: 10px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #111821;
  display: grid;
  gap: 8px;
}

.model-testing-optuna-panel {
  margin-top: 8px;
  padding: 10px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #111821;
  display: grid;
  gap: 8px;
}

.model-testing-optuna-heading {
  font-size: 12px;
  font-weight: 700;
  color: #c6d4e6;
}

.model-testing-optuna-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #d7e3f2;
}

.model-testing-optuna-toggle input {
  width: auto;
  min-height: auto;
  margin: 0;
}

.model-testing-inline-toggle {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  align-self: end;
  gap: 8px;
  min-height: 38px;
  white-space: nowrap;
}

.ml-controls .execution-group > .model-testing-inline-toggle input {
  flex: 0 0 auto;
  width: auto;
  min-height: 0;
  margin: 0;
}

.model-testing-inline-toggle span {
  display: inline;
}

.model-testing-pruning-group {
  grid-template-columns: minmax(150px, .9fr) minmax(220px, 1fr) minmax(260px, 1fr) minmax(300px, 2fr);
  align-items: center;
}

.model-testing-pruning-help {
  margin: 0;
}

.model-testing-optuna-toggle span {
  font-weight: 600;
}

.model-testing-optuna-params {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.model-testing-optuna-diagram {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
}

.model-testing-optuna-node {
  min-width: 170px;
  flex: 1 1 170px;
  border: 1px solid #2b3a4d;
  border-radius: 10px;
  padding: 10px;
  background: #141d28;
  display: grid;
  gap: 6px;
}

.model-testing-optuna-node strong {
  color: #e8eff8;
  font-size: 13px;
}

.model-testing-optuna-node span {
  color: #95a7bf;
  font-size: 12px;
}

.model-testing-optuna-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8aa0bc;
  font-size: 16px;
  font-weight: 700;
  min-width: 20px;
}

.ml-controls .execution-group > .model-testing-variant-panel {
  grid-column: 1 / -1;
  width: 100%;
}

.ml-controls .execution-group > .model-testing-optuna-panel {
  grid-column: 1 / -1;
  width: 100%;
}

.model-testing-variant-list {
  display: grid;
  gap: 10px;
}

.model-testing-variant-group {
  display: grid;
  gap: 8px;
}

.model-testing-variant-group h4 {
  margin: 0;
  font-size: 12px;
  color: #c6d4e6;
  display: flex;
  align-items: center;
  gap: 6px;
}

.model-testing-variant-group h4 span {
  color: #8fa5bf;
  font-size: 11px;
  font-weight: 600;
}

.model-testing-variant-group-list {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 6px 10px;
}

.model-testing-variant-item {
  padding: 6px 8px;
  border: 1px solid #2a3442;
  border-radius: 6px;
  background: #141c26;
  color: #d7e3f2;
  font-size: 12px;
}

.model-testing-optimization-details {
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #111821;
  line-height: 1.45;
}

@media (max-width: 1600px) {
  .model-testing-variant-group-list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (max-width: 1250px) {
  .model-testing-variant-group-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .model-testing-pruning-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .model-testing-pruning-help {
    grid-column: 1 / -1;
  }

  .model-testing-arch-arrow {
    display: none;
  }

  .model-testing-architecture-stage-arrow {
    display: none;
  }

  .comparison-side-by-side-grid {
    grid-template-columns: 1fr;
  }

  .model-testing-optuna-arrow {
    display: none;
  }

  .model-testing-optuna-params {
    grid-template-columns: 1fr;
  }

  .model-testing-panel .model-testing-run-grid {
    grid-template-columns: 1fr;
  }

  .model-testing-panel .model-testing-run-side-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .model-testing-variant-group-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .model-testing-pruning-group {
    grid-template-columns: 1fr;
  }
}

/* Stage 1 Screening Scope documentation panel */
.model-testing-screening-docs-panel {
  grid-column: 1 / -1;
  margin-top: 0.35rem;
}

.model-testing-screening-docs .model-testing-docs-table {
  margin: 0;
}

.model-testing-screening-docs .model-testing-docs-figure {
  margin: 0.65rem 0 0;
}

.model-testing-screening-docs .model-testing-docs-caption {
  margin: 0.55rem 0 0;
  color: #8b97a8;
  font-size: 12px;
  line-height: 1.45;
}

.model-testing-screening-flow {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #2a3442;
  border-radius: 8px;
  background: #151b24;
}

.model-testing-screening-flow-step {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 6px;
  background: #1c2430;
  border-left: 3px solid #5b8def;
}

.model-testing-screening-flow-step strong {
  color: #edf0f5;
  font-size: 12px;
}

.model-testing-screening-flow-step span {
  color: #8b97a8;
  font-size: 11px;
}

.model-testing-screening-flow-arrow {
  text-align: center;
  color: #7e8a9b;
  font-size: 12px;
  line-height: 1;
}

.model-testing-docs-source-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.model-testing-docs-source-node {
  padding: 8px 12px;
  border: 1px solid #2b3a4d;
  border-radius: 8px;
  background: #1c2430;
  color: #d4dce8;
  font-size: 12px;
  font-weight: 600;
}

.model-testing-docs-source-node.is-highlight {
  border-color: #5b8def;
  background: #1a2740;
}

.model-testing-docs-source-arrow {
  color: #7e8a9b;
  font-weight: 700;
}

.model-testing-docs-interval-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.model-testing-docs-pill {
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid #3a4658;
  background: #1c2430;
  color: #c5d0de;
  font-size: 11px;
  font-weight: 600;
}

.model-testing-docs-pill.is-muted {
  color: #7e8a9b;
  border-style: dashed;
}

.model-testing-docs-wf-track {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 3px;
  min-height: 42px;
}

.model-testing-docs-wf-segment {
  grid-column: span var(--wf-span, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 4px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}

.model-testing-docs-wf-segment.is-train {
  background: #1e3a5f;
  color: #9ec5ff;
  border: 1px solid #3d6db3;
}

.model-testing-docs-wf-segment.is-gap {
  background: #2a2218;
  color: #f6c85f;
  border: 1px dashed #8a7340;
}

.model-testing-docs-wf-segment.is-test {
  background: #1a3d2e;
  color: #7ddea8;
  border: 1px solid #3d8a62;
}

.model-testing-docs-wf-segment.is-future {
  opacity: 0.55;
  border-style: dashed;
}

.model-testing-docs-threshold-bar {
  position: relative;
  height: 28px;
  border-radius: 6px;
  border: 1px solid #3a4658;
  background: #1c2430;
  overflow: hidden;
}

.model-testing-docs-threshold-fill {
  height: 100%;
  background: linear-gradient(90deg, #1a3d2e 0%, #2d6a4a 100%);
}

.model-testing-docs-threshold-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 2px 6px;
  border-radius: 4px;
  background: #f6c85f;
  color: #1a1408;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.model-testing-docs-threshold-legend {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 6px;
  color: #8b97a8;
  font-size: 11px;
}

.model-testing-docs-matrix {
  display: grid;
  grid-template-columns: 56px repeat(4, 1fr);
  gap: 4px;
  align-items: stretch;
}

.model-testing-docs-matrix-header,
.model-testing-docs-matrix-label {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  color: #8b97a8;
}

.model-testing-docs-matrix-label {
  justify-content: flex-start;
  color: #c5d0de;
}

.model-testing-docs-matrix-cell {
  min-height: 28px;
  border-radius: 4px;
  border: 1px solid #2b3a4d;
  background: #121820;
}

.model-testing-docs-matrix-cell.is-on {
  background: #1e3a5f;
  border-color: #3d6db3;
}

.model-testing-docs-matrix-cell.is-muted {
  border-style: dashed;
  opacity: 0.45;
}

.model-testing-docs-candle-bar {
  display: grid;
  grid-template-columns: 1fr 2fr;
  min-height: 36px;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #3a4658;
}

.model-testing-docs-candle-discarded {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  background: repeating-linear-gradient(
    -45deg,
    #1a2030,
    #1a2030 6px,
    #151b24 6px,
    #151b24 12px
  );
  color: #7e8a9b;
  font-size: 11px;
  text-align: center;
}

.model-testing-docs-candle-used {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  background: linear-gradient(90deg, #1e3a5f, #2a5080);
  color: #d4e8ff;
  font-size: 11px;
  font-weight: 600;
  text-align: center;
}

.model-testing-docs-variant-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.model-testing-docs-chip {
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid #3a4658;
  background: #1c2430;
  color: #c5d0de;
  font-size: 11px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.model-testing-docs-chip.is-muted {
  color: #7e8a9b;
  border-style: dashed;
}

.model-testing-docs-asha-ladder {
  display: grid;
  gap: 6px;
}

.model-testing-docs-asha-rung {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 6px;
  background: #1c2430;
  border-left: 3px solid #ff7676;
}

.model-testing-docs-asha-rung span {
  color: #8b97a8;
  font-size: 11px;
}

.model-testing-docs-asha-rung strong {
  color: #edf0f5;
  font-size: 12px;
}

.model-testing-docs-asha-rung.is-final {
  border-left-color: #59d090;
}

.model-testing-docs-status-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 0.65rem;
}

.model-testing-docs-status {
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  border: 1px solid transparent;
}

.model-testing-docs-status.is-success {
  color: #7ddea8;
  background: #1a3d2e;
  border-color: #3d8a62;
}

.model-testing-docs-status.is-pruned {
  color: #f6c85f;
  background: #2a2218;
  border-color: #8a7340;
}

.model-testing-docs-status.is-failed {
  color: #ff9a9a;
  background: #3a2020;
  border-color: #8a4040;
}

.model-testing-docs-status.is-skipped {
  color: #8b97a8;
  background: #1c2430;
  border-color: #3a4658;
}

.model-testing-docs-callout {
  margin-top: 0.75rem;
  padding: 10px 12px;
  border: 1px solid #2b3a4d;
  border-radius: 8px;
  background: #151b24;
}

.model-testing-docs-callout-title {
  margin: 0 0 0.35rem;
  color: #edf0f5;
  font-size: 12px;
  font-weight: 600;
}

.model-testing-docs-list {
  margin: 0.35rem 0 0.5rem 1.1rem;
  padding: 0;
  color: #c5d0de;
  font-size: 12px;
  line-height: 1.5;
}

.model-testing-docs-list li + li {
  margin-top: 0.2rem;
}

/* ---------------------------------------------------------------------------
   Guided Wizard Trainer
--------------------------------------------------------------------------- */
.wizard-stepper {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wizard-step-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid #303947;
  border-radius: 999px;
  color: #aab2c0;
  font-size: 0.85rem;
  cursor: pointer;
  background: #151922;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}

.wizard-step-indicator .wizard-step-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #263241;
  color: #edf0f5;
  font-weight: 600;
  font-size: 0.8rem;
}

.wizard-step-indicator.is-done {
  color: #8ec7ff;
  border-color: #475569;
}

.wizard-step-indicator.is-done .wizard-step-dot {
  background: #13251a;
  color: #2ea043;
}

.wizard-step-indicator.is-active {
  color: #edf0f5;
  border-color: #63b3ed;
  background: #16202b;
}

.wizard-step-indicator.is-active .wizard-step-dot {
  background: #1d72b8;
}

.wizard-step {
  display: none;
}

.wizard-step.is-active {
  display: block;
}

.wizard-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
}

.wizard-progress {
  margin-top: 14px;
  height: 10px;
  border-radius: 999px;
  background: #1b2230;
  border: 1px solid #303947;
  overflow: hidden;
}

.wizard-progress-bar {
  height: 100%;
  width: 2%;
  background: linear-gradient(90deg, #1d72b8, #63b3ed);
  transition: width 0.4s ease;
}

.pipeline-save-progress {
  position: relative;
  width: 100%;
  min-width: 220px;
  height: 24px;
  margin-top: 6px;
  background: #11151d;
  border: 1px solid #303947;
  border-radius: 8px;
  overflow: hidden;
  color: #dbeafe;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
}

.pipeline-save-progress[hidden] {
  display: none;
}

.pipeline-save-progress-bar {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 35%;
  background: linear-gradient(90deg, transparent, #1d72b8, #63b3ed, transparent);
  animation: pipeline-save-progress-slide 1.1s linear infinite;
}

.pipeline-save-progress span {
  position: relative;
  z-index: 1;
}

@keyframes pipeline-save-progress-slide {
  0% {
    left: -35%;
  }
  100% {
    left: 100%;
  }
}

.wizard-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.wizard-metric-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid #303947;
  border-radius: 10px;
  background: #11151d;
}

.wizard-metric-label {
  color: #aab2c0;
  font-size: 0.78rem;
}

.wizard-metric-value {
  color: #edf0f5;
  font-size: 1.1rem;
  font-weight: 600;
  word-break: break-word;
}

.wizard-sanity {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #303947;
  font-size: 0.9rem;
}

.wizard-sanity.pass {
  border-color: #2ea043;
  background: #13251a;
  color: #8ce0a6;
}

.wizard-sanity.fail {
  border-color: #ef5350;
  background: #1b0f0f;
  color: #ffb4b1;
}

.wizard-recommendation {
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid #475569;
  background: #16202b;
  color: #edf0f5;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.wizard-recommendation.winner-optuna {
  border-color: #2ea043;
  background: #13251a;
}

.wizard-badge {
  margin-left: auto;
  padding: 3px 10px;
  border-radius: 999px;
  background: #1d72b8;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.wizard-compare-grid {
  margin-top: 8px;
  border: 1px solid #303947;
  border-radius: 10px;
  overflow: hidden;
}

.wizard-compare-head,
.wizard-compare-row {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 8px;
  padding: 10px 14px;
}

.wizard-compare-head {
  background: #1b2230;
  color: #aab2c0;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.wizard-compare-row {
  border-top: 1px solid #232b37;
  color: #edf0f5;
  font-size: 0.9rem;
}

.wizard-compare-row small {
  color: #7c8696;
  display: block;
}

@media (max-width: 640px) {
  .wizard-compare-head,
  .wizard-compare-row {
    grid-template-columns: 1.4fr 1fr 1fr;
    font-size: 0.8rem;
  }
}

/* Site navigation */
:root {
  --site-nav-height: 56px;
}

body.has-site-nav {
  padding-top: var(--site-nav-height);
}

body.desk-mode.has-site-nav .quant-desk {
  height: calc(100vh - var(--site-nav-height));
}

/* Fixed-viewport quant trade desks only ? all other pages scroll normally. */
body.desk-mode[data-page="bitunix-auto-trader"],
body.desk-mode[data-page="alpaca-auto-trader"] {
  overflow: hidden;
  height: 100vh;
}

body.site-nav-mobile-open {
  overflow: hidden;
}

.toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid #63b3ed;
  border-radius: 8px;
  background: #1d72b8;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

.button-link.secondary {
  border-color: #475569;
  background: #263241;
  color: #edf0f5;
}

.button-link:hover {
  filter: brightness(1.08);
}

.toolbar-links a {
  color: #8ec7ff;
  font-weight: 600;
  text-decoration: none;
}

.toolbar-links a:hover {
  text-decoration: underline;
}

.site-nav {
  position: fixed;
  inset: 0 0 auto;
  z-index: 200;
  height: var(--site-nav-height);
  border-bottom: 1px solid #29303a;
  background: rgba(15, 17, 21, .88);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(99, 179, 237, .12), 0 8px 32px rgba(0, 0, 0, .28);
}

.site-nav::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(99, 179, 237, .55), rgba(89, 208, 144, .45), rgba(99, 179, 237, .2));
  pointer-events: none;
}

.site-nav-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  width: min(1380px, calc(100vw - 32px));
  height: 100%;
  margin: 0 auto;
}

.site-nav-brand {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.site-nav-brand-lockup {
  display: block;
  width: auto;
  height: 34px;
  flex-shrink: 0;
  transition: filter .18s ease;
}

.site-nav-brand:hover .site-nav-brand-lockup {
  filter: drop-shadow(0 0 6px rgba(99, 179, 237, .55));
}

.site-nav-startup-badge {
  margin-left: 0.5rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #f6e05e;
  background: rgba(214, 158, 46, 0.2);
  border: 1px solid rgba(214, 158, 46, 0.45);
}

.site-nav-desktop {
  display: flex;
  align-items: stretch;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.site-nav-category {
  position: relative;
  display: flex;
  align-items: stretch;
}

.site-nav-category-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 14px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #c8d0dc;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  transition: color .18s ease, background .18s ease;
}

.site-nav-category-trigger::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 4px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #63b3ed, #59d090);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .18s ease;
}

.site-nav-category:hover .site-nav-category-trigger,
.site-nav-category.is-open .site-nav-category-trigger,
.site-nav-category.is-active .site-nav-category-trigger {
  color: #edf0f5;
  background: rgba(99, 179, 237, .08);
}

.site-nav-category.is-open .site-nav-category-trigger::after,
.site-nav-category.is-active .site-nav-category-trigger::after {
  transform: scaleX(1);
}

.site-nav-chevron {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: .75;
  transition: transform .18s ease;
}

.site-nav-category.is-open .site-nav-chevron,
.site-nav-mobile-section.is-open .site-nav-chevron {
  transform: rotate(225deg) translateY(1px);
}

.site-nav-panel {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: min(420px, calc(100vw - 32px));
  padding: 14px;
  padding-top: 18px;
  border: 1px solid #303947;
  border-radius: 12px;
  background: rgba(21, 25, 34, .98);
  box-shadow: 0 18px 48px rgba(0, 0, 0, .45);
  opacity: 0;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.site-nav-panel::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -28px;
  height: 28px;
}

.site-nav-category.is-open .site-nav-panel {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.site-nav-panel-desc {
  margin: 0 0 10px;
  padding: 0 2px;
  color: #98a5b6;
  font-size: 12px;
  line-height: 1.4;
}

.site-nav-panel-grid {
  display: grid;
  gap: 8px;
}

.site-nav-item-group {
  display: grid;
  gap: 6px;
  padding: 4px;
  border: 1px solid rgba(57, 70, 90, 0.55);
  border-radius: 10px;
  background: rgba(12, 17, 24, 0.55);
}

.site-nav-item-group.is-active {
  border-color: rgba(99, 179, 237, 0.35);
  box-shadow: inset 0 0 0 1px rgba(99, 179, 237, 0.12);
}

.site-nav-item-group > .site-nav-link {
  position: relative;
}

.site-nav-item-group > .site-nav-link::after {
  content: "";
  display: block;
  width: 42%;
  max-width: 7.5rem;
  height: 1px;
  margin: 8px 0 2px;
  background: rgba(148, 163, 184, 0.45);
}

.site-nav-link--group {
  cursor: default;
  background: transparent;
  border-color: transparent;
  padding-bottom: 4px;
}

.site-nav-link--group:hover {
  border-color: transparent;
  background: transparent;
}

.site-nav-link--group .site-nav-link-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

.site-nav-link--group .site-nav-link-desc {
  font-size: 11px;
  color: #64748b;
}

.site-nav-item-children {
  display: grid;
  gap: 6px;
  margin: 0 0 2px 8px;
  padding: 0 0 0 10px;
}

.site-nav-link {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid transparent;
  border-left: 3px solid transparent;
  border-radius: 8px;
  background: rgba(16, 21, 28, .65);
  color: inherit;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.site-nav-link--nested {
  padding: 8px 10px;
  background: rgba(16, 21, 28, 0.42);
}

.site-nav-link--nested .site-nav-link-label {
  font-size: 13px;
  font-weight: 600;
}

.site-nav-link--nested .site-nav-link-desc {
  font-size: 11px;
}

.site-nav-link:hover {
  border-color: #39465a;
  background: #10151c;
}

.site-nav-link.is-active {
  border-left-color: #63b3ed;
  background: #132030;
  box-shadow: inset 0 0 0 1px rgba(99, 179, 237, .18);
}

.site-nav-link-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.site-nav-link-title {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.site-nav-link-icon {
  display: inline-flex;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: #8ec7ff;
  opacity: 0.9;
}

.site-nav-link-icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

.site-nav-link--nested .site-nav-link-icon,
.site-nav-link--group .site-nav-link-icon {
  width: 14px;
  height: 14px;
  color: #94a3b8;
}

.site-nav-link--nested .site-nav-link-icon svg,
.site-nav-link--group .site-nav-link-icon svg {
  width: 14px;
  height: 14px;
}

.site-nav-link--group .site-nav-link-icon {
  opacity: 0.75;
}

.site-nav-link:hover .site-nav-link-icon,
.site-nav-link.is-active .site-nav-link-icon {
  opacity: 1;
  color: #8ec7ff;
}

.site-nav-link-label {
  font-size: 14px;
  font-weight: 700;
  color: #edf0f5;
}

.site-nav-link-badge {
  flex-shrink: 0;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(99, 179, 237, .14);
  color: #8ec7ff;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.site-nav-link-desc {
  font-size: 12px;
  line-height: 1.45;
  color: #98a5b6;
}

.site-nav-mobile-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 42px;
  height: 42px;
  margin-left: auto;
  padding: 0;
  border: 1px solid #39465a;
  border-radius: 8px;
  background: #151922;
  cursor: pointer;
}

.site-nav-mobile-toggle-bar {
  display: block;
  width: 18px;
  height: 2px;
  margin: 0 auto;
  border-radius: 999px;
  background: #edf0f5;
}

.site-nav-mobile-backdrop {
  position: fixed;
  inset: 0;
  z-index: 199;
  background: rgba(5, 8, 13, .72);
  backdrop-filter: blur(2px);
}

.site-nav-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 201;
  display: flex;
  flex-direction: column;
  width: min(360px, calc(100vw - 24px));
  height: 100vh;
  border-left: 1px solid #303947;
  background: #10151c;
  box-shadow: -12px 0 40px rgba(0, 0, 0, .45);
  transform: translateX(0);
}

.site-nav-mobile-drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #29303a;
}

.site-nav-mobile-drawer-title {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #8ec7ff;
}

.site-nav-mobile-close {
  min-height: 36px;
  width: 36px;
  padding: 0;
  border-radius: 8px;
  font-size: 24px;
  line-height: 1;
}

.site-nav-mobile-sections {
  overflow: auto;
  padding: 12px;
}

.site-nav-mobile-section {
  border: 1px solid #29303a;
  border-radius: 10px;
  overflow: hidden;
  background: #151922;
}

.site-nav-mobile-section + .site-nav-mobile-section {
  margin-top: 10px;
}

.site-nav-mobile-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: #edf0f5;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.site-nav-mobile-panel {
  display: grid;
  gap: 8px;
  padding: 0 10px 10px;
}

.site-nav-link--mobile {
  background: #10151c;
}

@media (max-width: 900px) {
  .site-nav-desktop {
    display: none;
  }

  .site-nav-mobile-toggle {
    display: inline-flex;
  }
}

.testing-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.testing-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.testing-stat {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #10151c;
  border: 1px solid #243041;
}

.testing-stat strong {
  font-size: 22px;
}

.testing-sections {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}

.testing-explorer {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
}

.testing-explorer-module {
  padding: 0;
}

.testing-explorer-module-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px 0;
}

.testing-explorer-module-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.testing-explorer-module-toggle h2 {
  margin: 0;
  font-size: 1.1rem;
}

.testing-explorer-module-count {
  color: #9aa7b8;
  font-size: 13px;
}

.testing-explorer-module-stats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-left: auto;
}

.testing-module-stat {
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 999px;
}

.testing-module-stat--pass { background: #1f4d32; color: #b9f5cf; }
.testing-module-stat--fail { background: #5a2323; color: #ffb4b4; }
.testing-module-stat--pending { background: #243041; color: #9aa7b8; }

.testing-explorer-suites {
  list-style: none;
  margin: 0;
  padding: 8px 14px 14px;
  display: grid;
  gap: 6px;
}

.testing-explorer-suite {
  border: 1px solid #1a2330;
  border-radius: 10px;
  background: #0c1016;
}

.testing-explorer-suite-header {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.testing-explorer-suite-name {
  font-size: 12px;
  color: #cfe3ff;
}

.testing-explorer-suite-meta {
  font-size: 11px;
  color: #7d8b9c;
}

.testing-explorer-chevron {
  color: #7d8b9c;
  width: 14px;
  flex-shrink: 0;
}

.testing-explorer-cases {
  list-style: none;
  margin: 0;
  padding: 0 10px 8px 28px;
  display: grid;
  gap: 4px;
}

.testing-explorer-case {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 4px 6px;
  border-radius: 6px;
  font-size: 13px;
}

.testing-explorer-case-name {
  color: #d8dee9;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.testing-section-desc {
  margin: 0 0 10px;
  color: #9aa7b8;
  font-size: 14px;
}

.testing-section-actions {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}

.testing-file-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.testing-file-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 8px;
  border-radius: 8px;
  background: #0c1016;
}

.testing-file-chip {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
}

.testing-file-chip--pending { background: #243041; color: #9aa7b8; }
.testing-file-chip--running { background: #2a4a7a; color: #cfe3ff; }
.testing-file-chip--pass { background: #1f4d32; color: #b9f5cf; }
.testing-file-chip--fail { background: #5a2323; color: #ffb4b4; }

.testing-log {
  max-height: 420px;
  overflow: auto;
}

.pipeline-config-form {
  display: grid;
  gap: 14px;
}

.pipeline-config-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.pipeline-config-grid label,
.pipeline-config-form > label {
  display: grid;
  gap: 6px;
  font-size: 13px;
}

.pipeline-checkbox-label {
  align-content: end;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.pipeline-execution-checkboxes {
  align-items: stretch;
}

.pipeline-execution-checkbox-with-help {
  flex: 1 1 100%;
}

.pipeline-grid-checkbox-field {
  display: grid;
  align-content: end;
}

.pipeline-checkbox-docked-row {
  width: 100%;
  align-items: stretch;
}

.pipeline-docked-checkbox-body {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid #303947;
  border-right: 0;
  border-radius: 8px 0 0 8px;
  background: #171b22;
}

.pipeline-docked-checkbox-body input[type="checkbox"] {
  width: auto;
  min-height: 0;
  flex: 0 0 auto;
  margin: 0;
}

.pipeline-docked-checkbox-text {
  flex: 0 1 auto;
  margin: 0;
  color: #b7c0ce;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
  user-select: none;
}

.pipeline-checkbox-docked-row .doc-help-trigger {
  border-left: 0;
}

.pipeline-config-action-checkboxes {
  flex: 1;
  min-width: 220px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.pipeline-config-action-checkboxes .pipeline-checkbox-docked-row {
  flex: 1 1 250px;
}

.pipeline-symbols-field {
  position: relative;
  display: block;
  z-index: 80;
}

.pipeline-symbol-lookup-row {
  display: flex;
  gap: 8px;
  align-items: stretch;
}

.pipeline-symbol-lookup-row input {
  flex: 1 1 auto;
}

.pipeline-symbol-lookup-row button {
  flex: 0 0 auto;
  min-width: 76px;
}

.pipeline-symbol-suggestions {
  position: absolute;
  z-index: 1000;
  left: 0;
  right: 0;
  top: 46px;
  max-height: 240px;
  overflow-y: auto;
  border: 1px solid #2d3748;
  border-radius: 10px;
  background: #111827;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

.pipeline-symbol-suggestions[hidden] {
  display: none;
}

.pipeline-selected-symbols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
  min-height: 32px;
}

.pipeline-symbol-box {
  min-width: 0;
  padding: 10px;
  border: 1px solid #263244;
  border-radius: 10px;
  background: #0f141d;
}

.pipeline-symbol-box-title {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  color: #b7c0ce;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pipeline-symbol-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 28px;
}

.pipeline-selected-symbols-empty {
  margin: 4px 0 0;
  color: #8fa3b9;
  font-size: 13px;
}

.pipeline-symbol-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px 6px 10px;
  border: 1px solid #2d3748;
  border-radius: 999px;
  background: #10151c;
  color: #e6edf7;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}

.pipeline-symbol-remove {
  width: 20px;
  height: 20px;
  min-height: 0;
  padding: 0;
  border: 1px solid #3a4658;
  border-radius: 999px;
  background: #1b2330;
  color: #b7c0ce;
  line-height: 1;
}

.pipeline-symbol-remove:hover {
  color: #fff;
  border-color: #5a6578;
}

.collector-target-tabs {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.collector-target-tab-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.collector-target-tab {
  min-height: 34px;
  padding: 6px 14px;
  border: 1px solid #2d3748;
  border-radius: 999px;
  background: #10151c;
  color: #c5d0df;
  cursor: pointer;
}

.collector-target-tab.active {
  border-color: #4c8bf5;
  background: rgba(76, 139, 245, 0.14);
  color: #eef4ff;
}

.collector-group-field select {
  width: 100%;
  max-width: 420px;
}

.asset-groups-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin: 0 0 10px;
}

.asset-groups-bar {
  margin: 0 0 10px;
  padding: 0;
}

.asset-groups-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 14px;
}

.asset-groups-bar-leading {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.asset-groups-bar-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid #2a3544;
  border-radius: 8px;
  background: linear-gradient(180deg, #141b24 0%, #0f141b 100%);
  color: #7eb0ff;
}

.asset-groups-bar-icon {
  width: 18px;
  height: 18px;
}

.asset-groups-bar-title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #e3eaf4;
}

.asset-groups-bar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.asset-groups-bar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 14px;
  border: 1px solid #3d6fd4;
  border-radius: 8px;
  background: rgba(76, 139, 245, 0.16);
  color: #e8f0ff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}

.asset-groups-bar-btn:hover:not(:disabled) {
  border-color: #5a8ef7;
  background: rgba(76, 139, 245, 0.24);
}

.asset-groups-bar-btn.secondary {
  border-color: #2d3748;
  background: #10151c;
  color: #c5d0df;
  font-weight: 500;
}

.asset-groups-bar-btn.secondary:hover:not(:disabled) {
  border-color: #3d4d63;
  background: #151c26;
  color: #e3eaf4;
}

.asset-groups-compact-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.2;
}

.asset-groups-compact-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.asset-groups-manage-select-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.asset-group-type-readonly {
  display: grid;
  gap: 6px;
}

.asset-group-type-value {
  display: block;
  padding: 8px 10px;
  border: 1px solid #243041;
  border-radius: 8px;
  background: #0d1218;
  color: #9ec1ff;
  font-size: 14px;
}

.asset-groups-manage-window {
  width: min(920px, calc(100vw - 48px));
  max-height: min(880px, calc(100vh - 48px));
}

.asset-groups-manage-body {
  display: grid;
  gap: 14px;
  overflow: auto;
}

.asset-group-name-type-row {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(150px, 0.55fr);
  gap: 12px 14px;
  align-items: end;
}

.asset-group-name-type-row label {
  display: grid;
  gap: 6px;
}

.asset-group-name-type-row input,
.asset-group-name-type-row select {
  width: 100%;
}

@media (max-width: 640px) {
  .asset-group-name-type-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
}

.asset-group-manage-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #2a3544;
  border-radius: 10px;
  background: #0d1218;
}

.asset-group-manage-panel-title {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #e8ecf2;
}

.asset-group-manage-select-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 760px) {
  .asset-group-manage-select-row {
    grid-template-columns: 1fr;
  }
}

.asset-group-manage-select-field {
  display: grid;
  gap: 6px;
}

.asset-group-manage-select-field select {
  width: 100%;
  max-width: 420px;
}

.asset-group-manage-meta {
  margin: 0;
}

.asset-group-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(76, 139, 245, 0.15);
  color: #9ec1ff;
  font-size: 11px;
}

.asset-group-editor {
  display: grid;
  gap: 10px;
  padding-top: 8px;
  border-top: 1px solid #243041;
}

.asset-group-editor-title {
  margin: 0;
  font-size: 14px;
}

.asset-group-inline-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.asset-group-symbol-wrap {
  position: relative;
  flex: 1 1 220px;
  min-width: 180px;
}

.asset-group-symbol-wrap input {
  width: 100%;
}

.asset-group-symbol-suggestions {
  position: fixed;
  z-index: 10100;
  max-height: 220px;
  overflow: auto;
}

.symbol-suggestion--status {
  cursor: default;
  color: #9fb0c8;
}

.symbol-suggestion--status:hover {
  background: transparent;
}

.asset-group-inline-row select {
  flex: 1 1 220px;
  min-width: 180px;
}

.asset-group-member-chip .pipeline-symbol-box-title .pipeline-symbol-remove {
  margin-left: auto;
  flex: 0 0 auto;
}
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.asset-group-member-list {
  display: grid;
  gap: 6px;
}

.asset-group-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pipeline-symbol-remove:hover {
  border-color: #ef4444;
  color: #fecaca;
}

@media (max-width: 760px) {
  .pipeline-selected-symbols {
    grid-template-columns: 1fr;
  }
}

.pipeline-intervals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.pipeline-interval-chip {
  margin: 0;
  padding: 6px 10px;
  border-radius: 999px;
  background: #10151c;
  border: 1px solid #243041;
  font-size: 12px;
  min-height: 0;
}

.pipeline-interval-chip input {
  width: auto;
  min-height: 0;
}

.pipeline-config-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.pipeline-config-buttons {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.pipeline-orchestration-panel {
  margin-top: 16px;
}

.pipeline-orchestration-header {
  align-items: flex-start;
  gap: 12px;
}

.pipeline-orchestration-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px 14px;
}

.pipeline-config-select-wrap {
  display: grid;
  gap: 6px;
  font-size: 13px;
  color: #b7c0ce;
}

.pipeline-config-select-wrap select {
  min-width: 180px;
}

.pipeline-plan-delete:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.pipeline-orchestration-empty {
  margin: 0;
  color: #9aa7b8;
  font-size: 14px;
}

.pipeline-plan-unsaved-banner {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #4a4030;
  background: #1a1610;
  color: #e6c07b;
  font-size: 13px;
}

.pipeline-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.pipeline-plan-card {
  border: 1px solid #243041;
  border-radius: 10px;
  padding: 12px 14px;
  background: #0d1117;
}

.pipeline-plan-card-wide {
  grid-column: 1 / -1;
}

.pipeline-plan-card h3 {
  margin: 0 0 10px;
  font-size: 14px;
}

.pipeline-plan-dl {
  display: grid;
  grid-template-columns: minmax(110px, 38%) 1fr;
  gap: 6px 10px;
  margin: 0;
  font-size: 13px;
}

.pipeline-plan-dl dt {
  margin: 0;
  color: #9aa7b8;
}

.pipeline-plan-dl dd {
  margin: 0;
  color: #d7dee8;
}

.pipeline-plan-symbol-summary {
  word-break: break-word;
}

.pipeline-plan-id {
  font-size: 12px;
  color: #9aa7b8;
  word-break: break-all;
}

.pipeline-plan-prose p,
.pipeline-plan-card p {
  margin: 0 0 8px;
  font-size: 13px;
  line-height: 1.45;
  color: #d7dee8;
}

.pipeline-plan-prose p:last-child,
.pipeline-plan-card p:last-child {
  margin-bottom: 0;
}

.pipeline-plan-mode {
  font-size: 14px;
}

.pipeline-plan-note {
  color: #9aa7b8 !important;
  font-size: 12px !important;
}

.pipeline-plan-rules {
  margin: 0 0 12px;
  padding-left: 18px;
  color: #b7c0ce;
  font-size: 13px;
  line-height: 1.45;
}

.pipeline-plan-symbol-list {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 10px;
}

.pipeline-plan-symbol {
  font-size: 13px;
  color: #d7dee8;
}

.pipeline-plan-symbol-steps {
  margin: 6px 0 0;
  padding-left: 18px;
  color: #b7c0ce;
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .pipeline-plan-grid {
    grid-template-columns: 1fr;
  }

  .pipeline-orchestration-header {
    flex-direction: column;
  }
}

.pipeline-next-run,
.pipeline-mode-hint {
  margin-top: 10px;
  color: #9aa7b8;
  font-size: 13px;
}

.pipeline-errors,
.pipeline-history {
  display: grid;
  gap: 10px;
}

.pipeline-verbose-history-panel {
  margin-top: 8px;
}

.pipeline-verbose-history-toggle,
.pipeline-log-files-toggle {
  width: 100%;
}

.pipeline-verbose-layout {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 14px;
  min-height: 420px;
}

.pipeline-history-sidebar {
  border: 1px solid #243041;
  border-radius: 10px;
  background: #0d1117;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.pipeline-history-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: 520px;
  overflow-y: auto;
}

.pipeline-history-empty {
  margin: 12px;
  color: #9aa7b8;
  font-size: 13px;
}

.pipeline-history-item {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #1e2836;
  background: transparent;
  color: #d7dee8;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.pipeline-history-item:hover {
  background: #141b24;
}

.pipeline-history-item.is-selected {
  background: #172030;
  box-shadow: inset 3px 0 0 #4a90d9;
}

.pipeline-history-item--active {
  background: #141a22;
}

.pipeline-history-item--warn .pipeline-history-item-status {
  color: #f0a68a;
}

.pipeline-history-item-time {
  font-size: 12px;
  color: #9aa7b8;
}

.pipeline-history-item-status {
  font-size: 13px;
  font-weight: 600;
}

.pipeline-history-item-meta {
  font-size: 12px;
  color: #9aa7b8;
  line-height: 1.35;
}

.pipeline-verbose-main {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.pipeline-verbose-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-bottom: 10px;
}

.pipeline-log-filter-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #b7c0ce;
}

.pipeline-log-filter-label select {
  min-width: 110px;
}

.pipeline-log-autoscroll {
  margin: 0;
  font-size: 13px;
}

.pipeline-verbose-log-meta {
  margin-left: auto;
  font-size: 12px;
  color: #9aa7b8;
}

.pipeline-verbose-log-body {
  flex: 1 1 auto;
  min-height: 320px;
  max-height: 520px;
  overflow: auto;
  border: 1px solid #243041;
  border-radius: 10px;
  background: #0a0e14;
}

.pipeline-verbose-log-list {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.45;
}

.pipeline-verbose-log-list li {
  padding: 4px 12px;
  white-space: pre-wrap;
  word-break: break-word;
}

.pipeline-verbose-log-list li:nth-child(odd) {
  background: rgba(255, 255, 255, 0.02);
}

.pipeline-verbose-log-warn {
  color: #e6c07b;
}

.pipeline-raw-log-panel {
  margin: 0;
  min-height: 320px;
  max-height: none;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.pipeline-verbose-view-toggle {
  margin-top: 8px;
}

@media (max-width: 900px) {
  .pipeline-verbose-layout {
    grid-template-columns: 1fr;
  }

  .pipeline-history-list {
    max-height: 200px;
  }
}

.pipeline-log-files-panel {
  margin-top: 8px;
}

.pipeline-log-files-layout {
  display: grid;
  grid-template-columns: minmax(240px, 320px) minmax(0, 1fr);
  gap: 14px;
  min-height: 360px;
}

.pipeline-log-files-sidebar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid #243041;
  border-radius: 10px;
  background: #0d1117;
  padding: 10px;
}

.pipeline-log-files-categories {
  display: flex;
  gap: 6px;
}

.pipeline-log-cat-btn {
  flex: 1 1 0;
  padding: 7px 8px;
  border: 1px solid #243041;
  border-radius: 8px;
  background: #11161f;
  color: #b7c0ce;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.pipeline-log-cat-btn:hover {
  background: #141b24;
}

.pipeline-log-cat-btn.is-active {
  background: #172030;
  color: #e8eef6;
  border-color: #4a90d9;
}

.pipeline-log-files-controls {
  display: flex;
  gap: 6px;
}

.pipeline-log-files-controls input {
  flex: 1 1 auto;
  min-width: 0;
}

.pipeline-log-files-tree {
  flex: 1 1 auto;
  min-height: 220px;
  max-height: 460px;
  overflow-y: auto;
  border: 1px solid #1e2836;
  border-radius: 8px;
  background: #0a0e14;
  padding: 6px;
}

.pipeline-log-date-group {
  margin-bottom: 4px;
}

.pipeline-log-date-summary {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  color: #cdd6e2;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.pipeline-log-date-summary::-webkit-details-marker {
  display: none;
}

.pipeline-log-date-summary:hover {
  background: #141b24;
}

.pipeline-log-date-count {
  color: #8a96a6;
  font-weight: 500;
}

.pipeline-log-file-btn {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 6px 8px 6px 16px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #d7dee8;
  text-align: left;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.pipeline-log-file-btn:hover {
  background: #141b24;
}

.pipeline-log-file-btn.is-selected {
  background: #172030;
  box-shadow: inset 3px 0 0 #4a90d9;
}

.pipeline-log-file-size {
  color: #8a96a6;
}

.pipeline-log-files-empty {
  margin: 12px 6px;
  color: #9aa7b8;
  font-size: 13px;
}

.pipeline-log-files-viewer {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border: 1px solid #243041;
  border-radius: 10px;
  background: #0a0e14;
}

.pipeline-log-files-viewer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  border-bottom: 1px solid #1e2836;
}

.pipeline-log-file-title {
  font-size: 13px;
  color: #cdd6e2;
  word-break: break-all;
}

.pipeline-log-file-content {
  flex: 1 1 auto;
  margin: 0;
  min-height: 300px;
  max-height: 520px;
  overflow: auto;
  padding: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
  color: #c8d2df;
}

@media (max-width: 900px) {
  .pipeline-log-files-layout {
    grid-template-columns: 1fr;
  }
}

.pipeline-error-entry {
  border: 1px solid #3a2a2a;
  border-radius: 8px;
  padding: 8px 10px;
  background: #171012;
}

.pipeline-error-entry pre {
  margin: 8px 0 0;
  white-space: pre-wrap;
  font-size: 12px;
}

.pipeline-history-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.pipeline-history-table th,
.pipeline-history-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #243041;
  text-align: left;
}

.pipeline-advanced summary {
  cursor: pointer;
  margin-bottom: 10px;
}

.pipeline-safety-banner {
  margin-bottom: 16px;
  border-color: #3a4a5c;
  background: linear-gradient(180deg, #121820 0%, #10151c 100%);
}

.pipeline-safety-banner h2 {
  margin: 0 0 8px;
  font-size: 15px;
}

.pipeline-safety-list {
  margin: 0;
  padding-left: 18px;
  color: #b7c0ce;
  font-size: 13px;
  line-height: 1.45;
}

.pipeline-safety-list li + li {
  margin-top: 6px;
}

.pipeline-expected-behavior {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.pipeline-expected-behavior > div {
  padding: 12px;
  border: 1px solid #263244;
  border-radius: 10px;
  background: #0f141d;
}

.pipeline-expected-behavior h3 {
  margin: 0 0 8px;
  color: #e6edf7;
  font-size: 14px;
}

.pipeline-expected-behavior ul {
  margin: 0;
  padding-left: 18px;
  color: #b7c0ce;
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .pipeline-expected-behavior {
    grid-template-columns: 1fr;
  }
}

.pipeline-toolbar-actions {
  align-items: center;
}

.pipeline-run-control {
  width: auto;
  min-width: 0;
  align-items: stretch;
}

.pipeline-run-control .backtest-run-action,
.pipeline-run-control .secondary {
  align-self: stretch;
  flex: 1 1 auto;
  min-height: 38px;
  margin: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.pipeline-run-control .doc-help-trigger {
  flex: 0 0 38px;
  align-self: stretch;
  border-left: 0;
}

.pipeline-label-with-help,
.pipeline-checkbox-header {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pipeline-checkbox-field {
  display: grid;
  align-content: end;
}

.pipeline-config-grid .control-with-doc-help input,
.pipeline-config-grid .control-with-doc-help select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.pipeline-help-popover {
  position: fixed;
  z-index: 1200;
  max-width: 360px;
  padding: 12px 14px;
  border: 1px solid #475569;
  border-radius: 10px;
  background: #111822;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

.pipeline-help-popover-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.pipeline-help-body {
  margin: 0;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.45;
}

.pipeline-help-close {
  min-height: 30px;
  padding: 0 10px;
  font-size: 12px;
}

/* ===================== ML Rankings power report ===================== */
.mlr-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.mlr-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.mlr-generated {
  font-size: 12px;
  color: #8c95a6;
  white-space: nowrap;
}
.mlr-kpi-panel {
  background: linear-gradient(135deg, #161b26 0%, #11151d 100%);
}
.mlr-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.mlr-kpi-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid #2b3340;
  border-radius: 10px;
  background: #0f131b;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
.mlr-kpi-value {
  font-size: 24px;
  font-weight: 700;
  color: #edf0f5;
  font-variant-numeric: tabular-nums;
}
.mlr-kpi-label {
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8c95a6;
}
.mlr-report-section .section-subtitle {
  max-width: 920px;
}
.mlr-blocks {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.mlr-block {
  --mlr-accent: #4da3ff;
  border: 1px solid #2b3340;
  border-left: 3px solid var(--mlr-accent);
  border-radius: 10px;
  background: #11151d;
  overflow: hidden;
}
.mlr-block-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid #232a36;
  background: rgba(255, 255, 255, 0.015);
}
.mlr-block-head h3 {
  margin: 0;
  font-size: 15px;
  color: #edf0f5;
}
.mlr-block-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--mlr-accent);
  box-shadow: 0 0 10px var(--mlr-accent);
}
.mlr-block-body {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 16px;
  padding: 16px;
}
.mlr-charts {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.mlr-chart {
  width: 100%;
  height: 240px;
  border: 1px solid #232a36;
  border-radius: 8px;
  background: #0d1117;
}
.mlr-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  margin: 0;
  font-size: 12px;
  color: #8c95a6;
}
.mlr-grid {
  overflow-x: auto;
  align-self: start;
}
.mlr-table {
  width: 100%;
}
.mlr-table th.mlr-num,
.mlr-table td.mlr-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.mlr-table .mlr-primary {
  color: #edf0f5;
  font-weight: 600;
}
.mlr-table thead th.mlr-primary {
  color: var(--mlr-accent);
}
.mlr-name {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mlr-tag {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 999px;
  font-size: 11px;
  color: #cbd5e1;
  background: rgba(77, 163, 255, 0.12);
  border: 1px solid rgba(77, 163, 255, 0.25);
  white-space: nowrap;
}
.mlr-pos { color: #4ade80; }
.mlr-neg { color: #f87171; }
.mlr-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #c7cedb;
  background: #1b212c;
}
.mlr-rank-1 { color: #1a1205; background: #f6c85f; }
.mlr-rank-2 { color: #11161d; background: #c0c8d6; }
.mlr-rank-3 { color: #1c1108; background: #d08a52; }
@media (max-width: 980px) {
  .mlr-block-body {
    grid-template-columns: 1fr;
  }
}

/* Neural Network ? digital brain map */
body.nn-body {
  overflow-x: hidden;
  overflow-y: auto;
}

.nn-shell {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 56px);
  max-width: none;
  padding-bottom: 0;
}

.nn-toolbar {
  flex-shrink: 0;
  margin-bottom: 0;
  padding-bottom: 12px;
}

.nn-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.nn-status {
  font-size: 12px;
  color: #9aa5b5;
}

.nn-stage {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid #29303a;
  border-radius: 12px;
  overflow: hidden;
  background: #0a0c10;
}

.nn-view-tabs {
  display: flex;
  gap: 0;
  padding: 0 12px;
  background: #0f1115;
  border-bottom: 1px solid #29303a;
  flex-shrink: 0;
  margin-bottom: 0;
}

.nn-view-tab {
  appearance: none;
  border: none;
  background: transparent;
  color: #9aa5b5;
  font-size: 13px;
  font-weight: 500;
  padding: 10px 16px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: color 0.15s ease, border-color 0.15s ease;
}

.nn-view-tab:hover {
  color: #cbd5e1;
}

.nn-view-tab.is-active {
  color: #6ee7ff;
  border-bottom-color: #6ee7ff;
}

.nn-view {
  flex: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr 280px;
}

.nn-view[hidden] {
  display: none !important;
}

.nn-plexus-wrap {
  background: #06080c;
}

.nn-plexus-wrap #nnPlexusCanvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
  cursor: grab;
}

.nn-plexus-count {
  margin: 0 0 12px;
  font-size: 12px;
  color: #6ee7ff;
  font-weight: 600;
}

.nn-plexus-slider-label {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  color: #9aa5b5;
}

.nn-plexus-range {
  width: 100%;
  min-height: 0;
  height: auto;
  padding: 0;
  margin-bottom: 12px;
  accent-color: #6ee7ff;
  cursor: pointer;
}

.nn-canvas-wrap {
  position: relative;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

#nnCanvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
  cursor: grab;
}

.nn-sidebar {
  padding: 16px;
  background: linear-gradient(180deg, rgba(21, 25, 34, 0.98), rgba(15, 17, 21, 0.98));
  border-left: 1px solid #29303a;
  overflow-y: auto;
}

.nn-sidebar h2 {
  margin: 0 0 6px;
  font-size: 16px;
}

.nn-sidebar-hint {
  margin: 0 0 14px;
  font-size: 12px;
  color: #9aa5b5;
  line-height: 1.45;
}

.nn-kpi-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 14px;
}

.nn-kpi {
  padding: 10px;
  border-radius: 8px;
  background: #151922;
  border: 1px solid #29303a;
  text-align: center;
}

.nn-kpi span {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #63b3ed;
}

.nn-kpi small {
  font-size: 11px;
  color: #9aa5b5;
}

.nn-control-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

.nn-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 28px;
  font-size: 13px;
  line-height: 1.35;
  color: #cbd5e1;
  cursor: pointer;
  user-select: none;
}

.nn-toggle input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-height: 0;
  flex: 0 0 16px;
  margin: 0;
  padding: 0;
  border-radius: 4px;
  accent-color: #63b3ed;
  cursor: pointer;
}

.nn-toggle span {
  flex: 1;
  min-width: 0;
}

.nn-confidence-panel {
  margin-bottom: 14px;
  padding: 12px;
  border-radius: 10px;
  background: #151922;
  border: 1px solid #29303a;
}

.nn-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
}

.nn-section-head h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #edf0f5;
}

.nn-confidence-link {
  font-size: 11px;
  color: #63b3ed;
  text-decoration: none;
  white-space: nowrap;
}

.nn-confidence-link:hover {
  text-decoration: underline;
}

.nn-confidence-hint {
  margin: 0 0 10px;
  font-size: 11px;
  line-height: 1.4;
  color: #9aa5b5;
}

.nn-confidence-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin-bottom: 10px;
  padding: 10px 8px;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(77, 163, 255, 0.12), rgba(77, 163, 255, 0.04));
  border: 1px solid rgba(77, 163, 255, 0.22);
}

.nn-confidence-value {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  color: #4da3ff;
}

.nn-confidence-label {
  font-size: 11px;
  color: #9aa5b5;
}

.nn-confidence-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-bottom: 10px;
}

.nn-confidence-metric {
  padding: 6px 4px;
  border-radius: 6px;
  background: #0f1115;
  border: 1px solid #29303a;
  text-align: center;
}

.nn-confidence-metric strong {
  display: block;
  font-size: 12px;
  color: #edf0f5;
}

.nn-confidence-metric small {
  display: block;
  font-size: 9px;
  color: #9aa5b5;
  line-height: 1.2;
  margin-top: 2px;
}

.nn-confidence-subhead {
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #9aa5b5;
}

.nn-confidence-list {
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.nn-confidence-list li {
  display: grid;
  grid-template-columns: 18px 1fr auto;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 11px;
  color: #cbd5e1;
}

.nn-confidence-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  color: #c7cedb;
  background: #1b212c;
}

.nn-confidence-rank-1 { color: #1a1205; background: #f6c85f; }
.nn-confidence-rank-2 { color: #11161d; background: #c0c8d6; }
.nn-confidence-rank-3 { color: #1c1108; background: #d08a52; }

.nn-confidence-bar-wrap {
  grid-column: 2 / 4;
  height: 4px;
  border-radius: 999px;
  background: #1b212c;
  overflow: hidden;
}

.nn-confidence-bar-wrap span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4da3ff, #36c5a8);
}

.nn-confidence-list .nn-confidence-stat {
  font-size: 10px;
  color: #9aa5b5;
  white-space: nowrap;
}

.nn-confidence-lobes {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 8px;
}

.nn-confidence-lobe {
  display: grid;
  grid-template-columns: 8px 1fr auto;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #cbd5e1;
}

.nn-confidence-lobe-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.nn-confidence-lobe-bar {
  grid-column: 2 / 4;
  height: 3px;
  border-radius: 999px;
  background: #1b212c;
  overflow: hidden;
}

.nn-confidence-lobe-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.nn-confidence-meta {
  margin: 0;
  font-size: 10px;
  line-height: 1.4;
  color: #8c95a6;
}

.nn-lobe-legend {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

.nn-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #cbd5e1;
}

.nn-legend-item span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}

.nn-sidebar-actions {
  display: flex;
  gap: 8px;
}

.nn-tooltip {
  position: fixed;
  z-index: 30;
  max-width: 260px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(21, 25, 34, 0.96);
  border: 1px solid #3d4654;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  pointer-events: none;
  font-size: 12px;
  color: #cbd5e1;
}

.nn-tooltip strong {
  display: block;
  color: #f1f5f9;
  font-size: 13px;
  margin-bottom: 4px;
}

.nn-tooltip-type {
  display: block;
  color: #9aa5b5;
  margin-bottom: 6px;
}

.nn-tooltip p {
  margin: 0 0 6px;
  line-height: 1.4;
}

.nn-tooltip-bar {
  height: 4px;
  border-radius: 999px;
  background: #1b212c;
  overflow: hidden;
  margin: 6px 0 4px;
}

.nn-tooltip-bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #63b3ed, #59d090);
}

.nn-drawer-toggle {
  display: none;
}

.nn-drawer {
  display: none;
}

@media (max-width: 768px) {
  .nn-view {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
  }

  .nn-sidebar,
  .nn-plexus-sidebar {
    display: none;
  }

  .nn-canvas-wrap {
    min-height: 280px;
  }

  .nn-drawer-toggle {
    display: block;
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 5;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #29303a;
    background: rgba(21, 25, 34, 0.92);
    color: #cbd5e1;
    font-size: 12px;
    cursor: pointer;
  }

  .nn-drawer {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 6;
    max-height: 45vh;
    overflow-y: auto;
    padding: 14px;
    background: rgba(15, 17, 21, 0.98);
    border-top: 1px solid #29303a;
  }
}

/* ===================== Model Chart analytics ===================== */
.model-chart-shell .mc-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.mc-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mc-controls {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) minmax(160px, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.mc-controls label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: #9fb0c3;
}
.mc-checkbox {
  flex-direction: row !important;
  align-items: center;
  gap: 8px !important;
  padding-bottom: 8px;
}
.mc-progress {
  margin: 8px 0 14px;
}
.mc-progress-eta {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: #8c95a6;
}
.mc-kpi-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.mc-kpi-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid #2b3340;
  border-radius: 10px;
  background: #0f131b;
}
.mc-kpi-label {
  font-size: 11px;
  color: #8c95a6;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.mc-kpi-value {
  font-size: 18px;
  color: #edf0f5;
}
.mc-table-wrap {
  overflow-x: auto;
}
.mc-table .mc-row-winner {
  background: rgba(89, 208, 144, 0.08);
}
.mc-price-chart,
.mc-factors-chart {
  width: 100%;
  min-height: 360px;
}
.mc-factors-chart {
  min-height: 280px;
  margin-bottom: 12px;
}
.mc-factor-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.mc-insights-body section + section {
  margin-top: 16px;
}
.mc-insights-body h3 {
  margin: 0 0 8px;
  font-size: 14px;
}
.mc-suggestion-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.mc-suggestion-card {
  border: 1px solid #2b3340;
  border-radius: 10px;
  padding: 14px;
  background: #0f131b;
}
.mc-suggestion-card.mc-suggestion-high {
  border-color: rgba(255, 118, 118, 0.45);
}
.mc-suggestion-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.mc-suggestion-priority {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8c95a6;
}
.mc-suggestion-link {
  display: inline-flex;
  margin-top: 10px;
  text-decoration: none;
}
@media (max-width: 900px) {
  .mc-controls {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Model Enrichment ? embed mode for the shared modeling-config
   block (ml-prediction.html?embed=modeling-config inside wizard)
   ============================================================ */
body.ml-embed-modeling-config {
  background: transparent;
}
body.ml-embed-modeling-config #site-nav-root,
body.ml-embed-modeling-config.has-site-nav #site-nav-root {
  display: none !important;
}
body.ml-embed-modeling-config main.shell > *:not(#ml-panel) {
  display: none !important;
}
body.ml-embed-modeling-config main.shell {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}
body.ml-embed-modeling-config #ml-panel {
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
body.ml-embed-modeling-config #ml-panel > *:not(.ml-controls) {
  display: none !important;
}
body.ml-embed-modeling-config .ml-controls > .backtest-control-group {
  display: none !important;
}
body.ml-embed-modeling-config .ml-controls > .execution-group,
body.ml-embed-modeling-config .ml-controls > #mlEntryRulesGroup,
body.ml-embed-modeling-config .ml-controls > #mlExitStrategyGroup,
body.ml-embed-modeling-config .ml-controls > #mlFeatureGroup {
  display: block !important;
}
body.ml-embed-modeling-config .ml-architecture-row {
  display: none !important;
}

/* ============================================================
   Model Enrichment ? scheduler widget + standalone page
   ============================================================ */
.me-toolbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-shrink: 0;
}
.me-shell .toolbar .me-toolbar-actions .button-link {
  min-height: var(--qd-control-h, 34px);
  padding: 0 14px;
  text-decoration: none;
  white-space: nowrap;
}
.me-shell .toolbar .me-toolbar-actions .me-toolbar-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: var(--qd-control-h, 34px);
  padding: 0 16px;
  border-radius: var(--qd-radius, 6px);
  border: 1px solid rgba(107, 147, 199, 0.55);
  background: linear-gradient(180deg, rgba(77, 115, 153, 0.95) 0%, rgba(58, 90, 120, 0.98) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  color: #f4f7fb;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: none;
  white-space: nowrap;
  cursor: pointer;
  transition: filter 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.me-shell .toolbar .me-toolbar-actions .me-toolbar-primary:hover:not(:disabled) {
  filter: brightness(1.06);
  border-color: var(--qd-accent-bright, #8eb4e8);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 0 0 1px rgba(142, 180, 232, 0.15);
}
.me-shell .toolbar .me-toolbar-actions .me-toolbar-primary:active:not(:disabled) {
  filter: brightness(0.96);
}
.me-shell .toolbar .me-toolbar-actions .me-toolbar-primary:focus {
  outline: none;
  border-color: var(--qd-accent-bright, #8eb4e8);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 0 0 2px rgba(107, 147, 199, 0.25);
}
.me-scheduler-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.me-scheduler-card {
  border: 1px solid rgba(120, 140, 170, 0.22);
  border-radius: 12px;
  padding: 16px 18px;
  background: rgba(20, 28, 42, 0.35);
}
.me-scheduler-card-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.me-scheduler-card-head strong {
  font-size: 15px;
}
.me-scheduler-meta {
  color: #8c95a6;
  font-size: 12px;
  margin-left: 8px;
}
.me-scheduler-next {
  font-size: 12px;
  color: #7fd1a8;
}
.me-scheduler-controls {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.es-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.es-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: #9fb0c3;
}
.es-field input,
.es-field select {
  padding: 7px 9px;
}
.es-checks {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}
.es-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #c3ceda;
}
.me-scheduler-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
}
.me-scheduler-msg {
  font-size: 12px;
  color: #8c95a6;
}
.me-scheduler-msg.is-ok {
  color: #7fd1a8;
}
.me-scheduler-msg.is-error {
  color: #e88;
}

/* ============================================================
   Model Enrichment ? wizard + manage page
   ============================================================ */
.me-layout {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.me-pipeline-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: visible;
}
body[data-page="model-enrichment"] #meManage,
body[data-page="model-enrichment"] #meScorecard {
  overflow: visible;
}
body[data-page="model-enrichment"] #meManage:has(.me-pipeline-manage-row.is-groups-open) {
  z-index: 190;
}
.me-pipeline-groups-wrap {
  position: relative;
  flex: 1 1 220px;
  min-width: 0;
}
.me-pipeline-groups-wrap.is-groups-open {
  z-index: 2;
}
.me-pipeline-card.me-pipeline-manage-row.is-groups-open {
  z-index: 191;
}
.me-pipeline-group-field {
  display: block;
}
.me-pipeline-group-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(120, 140, 170, 0.35);
  border-radius: 6px;
  background: rgba(10, 14, 22, 0.6);
  color: inherit;
  font: inherit;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.me-pipeline-group-trigger:hover,
.me-pipeline-group-trigger[aria-expanded="true"] {
  border-color: rgba(91, 141, 239, 0.65);
  background: rgba(16, 22, 34, 0.85);
}
.me-pipeline-group-trigger:focus {
  outline: none;
  border-color: rgba(91, 141, 239, 0.65);
  box-shadow: 0 0 0 2px rgba(91, 141, 239, 0.15);
}
.me-pipeline-group-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}
.me-pipeline-group-badge {
  flex-shrink: 0;
  white-space: nowrap;
}
.me-pipeline-group-chevron {
  flex-shrink: 0;
  color: #8c95a6;
  font-size: 11px;
  line-height: 1;
  transition: transform 0.15s ease;
}
.me-pipeline-groups-wrap.is-groups-open .me-pipeline-group-chevron {
  transform: rotate(180deg);
  color: #cfe3ff;
}
.me-pipeline-groups-menu {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 199;
  display: flex;
  flex-direction: column;
  min-width: min(520px, 92vw);
  border: 1px solid rgba(120, 140, 170, 0.45);
  border-radius: 10px;
  background: #0d1118;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(91, 141, 239, 0.12);
  overflow: hidden;
  transform-origin: top center;
}
.me-pipeline-groups-menu:not([hidden]) {
  animation: me-groups-menu-in 0.2s cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes me-groups-menu-in {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.me-pipeline-groups-menu[hidden] {
  display: none;
}
.me-pipeline-groups-search {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(120, 140, 170, 0.18);
  background: rgba(16, 22, 34, 0.65);
}
.me-pipeline-group-search {
  width: 100%;
  box-sizing: border-box;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid rgba(120, 140, 170, 0.35);
  border-radius: 6px;
  background: rgba(10, 14, 22, 0.6);
  color: inherit;
  font: inherit;
  font-size: 13px;
}
.me-pipeline-group-search:focus {
  outline: none;
  border-color: rgba(91, 141, 239, 0.65);
  box-shadow: 0 0 0 2px rgba(91, 141, 239, 0.15);
}
.me-pipeline-groups-list {
  max-height: min(360px, 55vh);
  overflow-y: auto;
  padding: 6px 0;
}
.me-pipeline-groups-footer {
  padding: 10px 12px;
  border-top: 1px solid rgba(120, 140, 170, 0.18);
  background: rgba(16, 22, 34, 0.45);
}
.me-pipeline-group-edit {
  width: 100%;
}
.me-pipeline-groups-list.symbol-suggestions {
  min-width: 0;
  position: static;
  margin-top: 0;
  max-height: none;
  box-shadow: none;
  border: none;
  border-radius: 0;
  background: transparent;
}
.me-pipeline-groups-list .symbol-suggestion {
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  padding: 11px 14px;
  min-height: 0;
}
.me-pipeline-group-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.me-pipeline-groups-list .symbol-suggestion .meta {
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
  text-align: left;
  color: #8c95a6;
  font-size: 11px;
  line-height: 1.4;
}
.me-pipeline-groups-list .symbol-suggestion.active {
  background: #1f2735;
}
.me-pipeline-group-item--empty {
  cursor: default;
  color: #8c95a6;
  padding: 10px 11px;
}
.me-pipeline-detail-panel {
  border: 1px solid rgba(120, 140, 170, 0.22);
  border-radius: 12px;
  padding: 16px 18px;
  background: rgba(20, 28, 42, 0.35);
  overflow: visible;
}
.me-pipeline-detail-panel.me-scheduler-card {
  margin-top: 0;
}
.me-pipeline-assets-details {
  margin-top: 14px;
  border-top: 1px solid rgba(120, 140, 170, 0.18);
  padding-top: 12px;
}
.me-pipeline-assets-details summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8c95a6;
  margin-bottom: 8px;
}
.me-pipeline-assets-details[open] summary {
  margin-bottom: 10px;
}
.me-pipeline-assets-details .me-pipeline-detail-body {
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid rgba(120, 140, 170, 0.15);
  border-radius: 8px;
  background: #101620;
}
.me-pipeline-manage-row {
  flex-wrap: nowrap;
  align-items: center;
}
.me-pipeline-manage-row .me-pipeline-card-actions {
  flex: 0 0 auto;
  flex-shrink: 0;
}
.me-training-jobs-section {
  margin-top: 12px;
}
.me-training-jobs-section.is-highlight {
  outline: 1px solid rgba(56, 189, 248, 0.55);
  outline-offset: 2px;
  border-radius: 12px;
}
.me-pipeline-card {
  border: 1px solid rgba(120, 140, 170, 0.22);
  border-radius: 12px;
  padding: 14px 16px;
  background: rgba(20, 28, 42, 0.35);
  display: flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  position: relative;
}
.me-pipeline-card.is-detail-open,
.me-pipeline-card.is-help-open {
  z-index: 100;
}
.me-pipeline-main-wrap {
  position: relative;
  flex: 1 1 220px;
  min-width: 0;
}
.me-pipeline-card-main {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  border-radius: 8px;
}
.me-pipeline-card-main:hover,
.me-pipeline-card-main[aria-expanded="true"] {
  background: rgba(80, 120, 200, 0.1);
}
.me-pipeline-card-rows {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.me-pipeline-card-row {
  color: #8c95a6;
  font-size: 12px;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.me-pipeline-card-row-title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  font-size: 15px;
  line-height: 1.4;
}
.me-pipeline-card-row-title strong {
  font-size: 15px;
}
.me-pipeline-card-chevron {
  margin-left: auto;
  color: #8c95a6;
  font-size: 11px;
  transition: transform 0.15s ease;
  flex-shrink: 0;
}
.me-pipeline-card-main[aria-expanded="true"] .me-pipeline-card-chevron {
  transform: rotate(180deg);
  color: #cfe3ff;
}
.me-pipeline-detail {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 50;
  max-height: 320px;
  min-width: 280px;
}
.me-pipeline-detail[hidden] {
  display: none;
}
.me-pipeline-detail-section {
  padding: 8px 11px 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6b7a90;
  background: #101620;
  border-bottom: 1px solid #1f2632;
  position: sticky;
  top: 0;
  z-index: 1;
}
.me-pipeline-detail-row {
  cursor: default;
}
.me-pipeline-detail-row:hover {
  background: #14181f;
}
.me-pipeline-card-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
.me-pipeline-card.is-help-open .me-pipeline-card-actions {
  z-index: 2;
}
.me-pipeline-card-actions .me-help {
  gap: 4px;
}
.me-help-pop--card {
  position: fixed;
  top: auto;
  left: auto;
  right: auto;
  z-index: 10000;
  max-height: min(70vh, 520px);
  overflow-y: auto;
}
.me-backfill-control {
  display: inline-flex;
  align-items: stretch;
  gap: 4px;
}
.me-backfill-control .me-backfill-mode {
  min-width: 92px;
  height: 34px;
  padding: 0 28px 0 10px;
  cursor: pointer;
}
.me-backfill-control .me-backfill-run {
  min-width: 48px;
  height: 34px;
  padding: 0 10px;
}
.me-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  border: 1px solid rgba(120, 140, 170, 0.3);
  color: #9fb0c3;
}
.me-badge.is-enabled {
  color: #7fd1a8;
  border-color: rgba(127, 209, 168, 0.4);
}
.me-wizard {
  border: 1px solid rgba(120, 140, 170, 0.25);
  border-radius: 14px;
  padding: 18px 20px;
  background: rgba(16, 22, 34, 0.55);
  /* Taller panel + let the symbol intellisense dropdown overlay past the edge. */
  min-height: 520px;
  overflow: visible;
}
.me-wizard-panel {
  min-height: 380px;
}
.me-wizard-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.me-wizard-head .me-wizard-steps {
  margin-bottom: 0;
  flex: 1;
  min-width: 0;
}
.me-wizard-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.me-wizard-steps {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.me-wizard-step {
  font-size: 12px;
  color: #8c95a6;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(120, 140, 170, 0.25);
}
.me-wizard-step.is-active {
  color: #cfe3ff;
  border-color: rgba(120, 170, 255, 0.55);
  background: rgba(80, 120, 200, 0.18);
}
.me-wizard-step.is-done {
  color: #7fd1a8;
  border-color: rgba(127, 209, 168, 0.4);
}
.me-wizard-panel {
  display: none;
  flex-direction: column;
  gap: 14px;
}
.me-wizard-panel.is-active {
  display: flex;
}
.me-wizard-panel h3 {
  margin: 0;
  font-size: 15px;
}
.me-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 13px;
  color: #9fb0c3;
}
.me-field input,
.me-field select {
  padding: 8px 10px;
}
.me-symbol-wrap {
  position: relative;
  display: block;
  /* Keep the dropdown stacking below the fixed site nav (z-index: 200). */
  z-index: 40;
}
.me-symbol-wrap input {
  width: 100%;
  box-sizing: border-box;
}
/* Overlay the intellisense dropdown on top of the panel/preview below it. */
.me-symbol-wrap .symbol-suggestions {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  z-index: 150;
}
.me-target-hint {
  font-size: 12px;
  color: #7eb0ff;
}
.me-model-wrap {
  position: relative;
  display: block;
  /* Keep the dropdown stacking below the fixed site nav (z-index: 200). */
  z-index: 40;
}
.me-model-wrap input {
  width: 100%;
  box-sizing: border-box;
}
.me-model-wrap .symbol-suggestions {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  z-index: 150;
}
.me-target-preview {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(120, 140, 170, 0.25);
  border-radius: 10px;
  background: rgba(16, 22, 34, 0.55);
}
.me-preview-block {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.me-preview-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #8697ad;
}
.me-preview-label--group {
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0.2px;
  color: #9ec1ff;
}
.me-target-preview .me-preview-block + .me-preview-block {
  padding-top: 10px;
  border-top: 1px solid rgba(120, 140, 170, 0.18);
}
.me-preview-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.me-preview-chip {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 600;
  color: #d6e2f2;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(120, 140, 170, 0.3);
  background: rgba(31, 39, 53, 0.7);
}
.me-preview-chip--group {
  color: #9ec1ff;
  border-color: rgba(126, 176, 255, 0.45);
  background: rgba(80, 120, 200, 0.16);
}
.me-target-modes {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.me-target-modes label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}
.me-asset-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.me-asset-table th,
.me-asset-table td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(120, 140, 170, 0.16);
}
.me-asset-table select,
.me-asset-table input {
  padding: 6px 8px;
  width: 100%;
}
.me-config-frame {
  width: 100%;
  min-height: 620px;
  border: 1px solid rgba(120, 140, 170, 0.22);
  border-radius: 10px;
  background: rgba(10, 14, 22, 0.5);
}
.me-wizard-nav {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
}
.me-wizard-nav-right {
  display: flex;
  gap: 8px;
}
.me-help {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.es-field .me-help {
  display: flex;
  width: 100%;
}
.es-field .me-help > input {
  flex: 1 1 auto;
  width: auto;
}
.me-help-btn {
  width: 20px;
  height: 20px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid #3a4a63;
  background: #1a2434;
  color: #9fb4d6;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.me-help-btn:hover,
.me-help-btn[aria-expanded="true"] {
  background: #24406b;
  color: #dbe7fb;
  border-color: #4f79b8;
}
.me-help-pop {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 1000;
  width: 420px;
  max-width: min(90vw, 480px);
  padding: 14px 16px;
  background: #0f1826;
  border: 1px solid #33507e;
  border-radius: 10px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.55);
  color: #cdd6e4;
}
.me-help-pop[hidden] {
  display: none;
}
.me-help-title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 700;
  color: #eaf1fb;
}
.me-help-sub {
  margin: 0 0 10px;
  font-size: 12px;
  color: #9aa7bb;
}
.me-help-steps {
  margin: 0;
  padding-left: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.me-help-steps li {
  font-size: 12.5px;
  line-height: 1.45;
}
.me-help-steps li strong {
  color: #eaf1fb;
}
.me-help-steps li span {
  color: #9fabbf;
}
.me-help-note {
  margin: 12px 0 0;
  padding-top: 10px;
  border-top: 1px solid #23324a;
  font-size: 12px;
  color: #7eb0ff;
}
.me-inline-msg {
  font-size: 12px;
  color: #8c95a6;
}
.me-inline-msg.is-error {
  color: #e88;
}
.me-inline-msg.is-ok {
  color: #7fd1a8;
}
.me-scorecard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}
.me-scorecard-cell {
  border: 1px solid rgba(120, 140, 170, 0.2);
  border-radius: 10px;
  padding: 12px 14px;
}
.me-scorecard-cell .me-metric-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8c95a6;
}
.me-scorecard-cell .me-metric-value {
  font-size: 20px;
  margin-top: 4px;
}
.me-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-left: 6px;
  background: #8c95a6;
}
.me-status-dot.ok { background: #7fd1a8; }
.me-status-dot.warn { background: #e0b15a; }
.me-status-dot.fail { background: #e77; }

/* ============================================================
   Google SSO ? login / auth-error / nav chrome
   ============================================================ */
.auth-page {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(80, 130, 220, 0.18), transparent 55%),
    radial-gradient(900px 500px at 90% 10%, rgba(40, 90, 140, 0.14), transparent 50%),
    #0b1018;
  color: #d7e0ef;
}
.auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px 16px;
}
.auth-card {
  width: min(420px, 100%);
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 32px 28px;
  border: 1px solid rgba(120, 140, 170, 0.28);
  border-radius: 16px;
  background: rgba(16, 22, 34, 0.82);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}
.auth-brand {
  display: block;
  width: auto;
  height: 42px;
  margin-bottom: 4px;
}
.auth-title {
  margin: 0;
  font-size: 1.55rem;
  font-weight: 650;
  letter-spacing: -0.02em;
  color: #eef4ff;
}
.auth-lede,
.auth-footnote {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #9aa8bf;
}
.auth-google-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 8px;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: #fff;
  color: #1f2937;
  font-weight: 600;
  text-decoration: none;
  transition: transform .12s ease, box-shadow .12s ease;
}
.auth-google-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}
.auth-google-btn--secondary {
  background: transparent;
  color: #d7e0ef;
  border-color: rgba(120, 140, 170, 0.4);
}
.auth-google-icon {
  width: 18px;
  height: 18px;
  background:
    conic-gradient(from 0deg, #ea4335 0 90deg, #fbbc05 90deg 180deg, #34a853 180deg 270deg, #4285f4 270deg 360deg);
  border-radius: 50%;
  mask: radial-gradient(circle at center, transparent 42%, #000 43%);
  -webkit-mask: radial-gradient(circle at center, transparent 42%, #000 43%);
}
.site-nav-auth {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  font-size: 12px;
  color: #b7c4d8;
}
.site-nav-auth-user {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.site-nav-auth-local {
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(127, 209, 168, 0.35);
  color: #7fd1a8;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.site-nav-auth-link,
.site-nav-auth-signout {
  appearance: none;
  border: 1px solid rgba(120, 140, 170, 0.35);
  background: rgba(30, 40, 58, 0.7);
  color: #d7e0ef;
  border-radius: 8px;
  padding: 6px 10px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  text-decoration: none;
}
.site-nav-auth-link:hover,
.site-nav-auth-signout:hover {
  border-color: rgba(140, 180, 255, 0.5);
}
@media (max-width: 900px) {
  .site-nav-auth-user { display: none; }
}
