
:root{

  --modelScenarioText: #0f172a;
  --modelScenarioMuted: #475569;
  --modelScenarioSubtle: #64748b;
  --modelScenarioBorder: #e2e8f0;
  --modelScenarioStickyBgr: #F5F9FF;

  --modelScenarioPrimary: #2563eb;
  --modelScenarioPrimary-hover: #1e40af;
}

/* for all scenario selectboxes etc. */
.modelScenario.wrapper{
  background:#fff;
  border:1px solid var(--modelScenarioBorder);
  border-radius:12px;
  padding:20px;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
  margin-bottom: 10px;
}

/* for rerun- run scenario sticky div always seen */

.stickybar{
  position:sticky;
  bottom:0;
  z-index:40;
  border-top:1px solid var(--modelScenarioBorder);
  background:var(--modelScenarioStickyBgr);
  margin-bottom: 20px;
}
.stickybar__row{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 0;
}
.stickybar_text{
  font-size: 14px;
  margin:0;
  color:#334155;
}



/* Section: headings / titles*/

.modelScenarioH2{
  margin:0 0 4px;
  font-size:20px;
  font-weight:600;
}

.modelScenarioH3{
  margin:28px 0 8px;
  font-size:16px;
  font-weight:600;
}


.modelScenario a{
  color:var(--modelScenarioPrimary);
  text-decoration:none;
}
.modelScenario a:hover{
  text-decoration:underline;
}

/* descriptions */
.modelScenario.small{
  color:var(--modelScenarioMuted);
  font-size:14px; margin:4px 0;
 }

 .modelScenario.help{
  margin-top:8px;
  color:var(--modelScenarioSubtle);
  font-size: 14px;
  line-height:1.5;
 }

/* label before selectbox etc */

.modelScenario.label{
  display:block;
  margin-bottom:8px;
  font-size:14px;
  font-weight:600;
  color:var(--modelScenarioText);
}

.modelScenario.req{
  color:#dc2626;
  font-weight:700;
 }

.modelScenario.btn-primary{
  appearance:none; border:0;
  background:var(--modelScenarioPrimary); color:#fff;
  font-size:14px; font-weight:600;
  /* padding:10px 16px;  */
  border-radius:8px;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.08);
  transition:background .15s ease, transform .02s ease;
}
.modelScenario.btn-primary:hover{ background:var(--modelScenarioPrimary-hover); }
.modelScenario.btn-primary:active{ transform:translateY(1px); }


.rfm-business-context{
  border-top:1px solid var(--modelScenarioBorder);
  padding-top:18px;
}

.rfm-business-context__label-row{
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:2px;
}

.rfm-business-context__optional{
  border:1px solid var(--modelScenarioBorder);
  border-radius:12px;
  color:var(--modelScenarioSubtle);
  font-size: 14px;
  font-weight:600;
  margin-left:6px;
  padding:1px 7px;
  text-transform:lowercase;
}

.rfm-business-context__badge{
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:12px;
  color:#b45309;
  font-size: 14px;
  font-weight:600;
  line-height:1;
  padding:4px 9px;
}

.rfm-business-context__summary{
  align-items:center;
  background:#fff;
  border:1px solid var(--modelScenarioBorder);
  border-radius:8px;
  color:var(--modelScenarioText);
  cursor:pointer;
  display:flex;
  gap:10px;
  margin-top:10px;
  padding:12px 14px;
  text-align:left;
  width:100%;
}

.rfm-business-context__summary:hover{
  border-color:#cbd5e1;
}

.rfm-business-context__summary:focus{
  border-color:#93c5fd;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
  outline:0;
}

.rfm-business-context.is-open .rfm-business-context__summary{
  border-radius:8px 8px 0 0;
}

.rfm-business-context__icon{
  align-items:center;
  background:#e0edff;
  border-radius:7px;
  color:var(--modelScenarioPrimary);
  display:flex;
  flex:0 0 28px;
  height:28px;
  justify-content:center;
  width:28px;
}

.rfm-business-context__summary-text{
  display:flex;
  flex:1;
  flex-direction:column;
  font-size: 14px;
  min-width:0;
}

.rfm-business-context__summary-text strong{
  font-size:14px;
  font-weight:600;
}

.rfm-business-context__summary-text span{
  color:var(--modelScenarioMuted);
  line-height:1.4;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.rfm-business-context__chevron{
  color:var(--modelScenarioSubtle);
  flex:0 0 auto;
}

.rfm-business-context__body{
  border:1px solid var(--modelScenarioBorder);
  border-top:0;
  border-radius:0 0 8px 8px;
  padding:14px;
}

.rfm-business-context__quick-label{
  color:var(--modelScenarioMuted);
  font-size: 14px;
  font-weight:600;
  margin-bottom:8px;
}

.rfm-business-context__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.rfm-business-context__chip{
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:7px;
  color:var(--modelScenarioText);
  cursor:pointer;
  font-size: 14px;
  font-weight:600;
  line-height:1.2;
  padding:7px 11px;
}

.rfm-business-context__chip:hover{
  border-color:var(--modelScenarioPrimary);
  color:var(--modelScenarioPrimary);
}

.rfm-business-context__chip:focus{
  border-color:#93c5fd;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
  outline:0;
}

.rfm-business-context__chip.is-active{
  background:#e0edff;
  border-color:var(--modelScenarioPrimary);
  color:var(--modelScenarioPrimary);
}

.rfm-business-context__textarea{
  position:relative;
}

.rfm-business-context__textarea .dx-texteditor{
  width:100%;
}

.rfm-business-context__counter{
  color:var(--modelScenarioSubtle);
  font-size: 14px;
  line-height:1;
  margin-top:6px;
  text-align:right;
}

.rfm-business-context__counter.is-warning{
  color:#b45309;
  font-weight:600;
}

@media (max-width: 575.98px){
  .rfm-business-context__summary{
    align-items:flex-start;
  }

  .rfm-business-context__summary-text span{
    white-space:normal;
  }
}


/* Model Fit keeps per-sequence validation beside the selector and wraps it in narrow notebook cells. */
.bayesian-fit-summary{
  align-items:flex-end;
  display:flex;
  flex-wrap:wrap;
  gap:18px 28px;
}

.bayesian-fit-selector{
  flex:0 0 auto;
}

.bayesian-fit-selector .dx-selectbox{
  height:36px;
}

.bayesian-fit-validation{
  flex:1 1 440px;
  min-width:0;
}

.bayesian-fit-validation-label{
  color:var(--modelScenarioSubtle);
  font-size: 14px;
  font-weight:600;
  letter-spacing:.06em;
  margin-bottom:6px;
  text-transform:uppercase;
}

.bayesian-fit-metrics{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(auto-fit, minmax(110px, 1fr));
  margin:0;
}

.bayesian-fit-metric{
  background:linear-gradient(135deg, #f5f9ff, #fff);
  border:1px solid var(--modelScenarioBorder);
  border-radius:10px;
  padding:10px 14px;
}

.bayesian-fit-metric dt{
  color:var(--modelScenarioMuted);
  font-size: 14px;
  font-weight:400;
  margin-bottom:3px;
}

.bayesian-fit-metric dd{
  color:var(--modelScenarioPrimary);
  font-size:20px;
  font-variant-numeric:tabular-nums;
  font-weight:600;
  line-height:1.25;
  margin:0;
  overflow-wrap:anywhere;
}

@media (max-width: 575.98px){
  .bayesian-fit-metrics{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* Model settings page */
