body{min-height:100vh}.table-primary-subtle thead,thead.table-primary-subtle{background-color:var(--bs-primary-bg-subtle)}.row-actions{opacity:0;transition:opacity .15s;white-space:nowrap}tr:hover .row-actions{opacity:1}.row-actions.is-active{opacity:1}.cursor-pointer{cursor:pointer}

.badge-sm{
  font-size:.65rem;
  line-height:1;
  padding:.15rem .45rem;
}

.tag-with-weight .badge-sm{
  background-color:var(--bs-primary);
  color:#fff;
  border:1px solid var(--bs-primary);
}

/* Action button (doc-defined): uses info subtle palette */
.btn-action{
  --bs-btn-color:var(--bs-info-text-emphasis);
  --bs-btn-bg:var(--bs-info-bg-subtle);
  --bs-btn-border-color:var(--bs-info-border-subtle);
  --bs-btn-hover-color:var(--bs-info-text-emphasis);
  --bs-btn-hover-bg:var(--bs-info-bg-subtle);
  --bs-btn-hover-border-color:var(--bs-info-border-subtle);
  --bs-btn-active-color:var(--bs-info-text-emphasis);
  --bs-btn-active-bg:var(--bs-info-bg-subtle);
  --bs-btn-active-border-color:var(--bs-info-border-subtle);
  --bs-btn-disabled-color:var(--bs-info-text-emphasis);
  --bs-btn-disabled-bg:var(--bs-info-bg-subtle);
  --bs-btn-disabled-border-color:var(--bs-info-border-subtle);
}


/* Disabled delete icon styling (no border, disabled look) */
.icon-delete-row-disabled{
  opacity: .65;
  cursor: not-allowed;
  border: 0;
  padding: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
}

/* Light theme tooltips */
.tooltip-light .tooltip-inner{
  background-color:#f8f9fa;
  color:#212529;
  text-align:center;
  border:1px solid rgba(0,0,0,.125);
  box-shadow:0 .5rem 1rem rgba(0,0,0,.15);
}
.tooltip-light .tooltip-inner strong{
  color:inherit;
}
.tooltip-light.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before,
.tooltip-light.bs-tooltip-top .tooltip-arrow::before{
  border-top-color:#f8f9fa;
}
.tooltip-light.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before,
.tooltip-light.bs-tooltip-bottom .tooltip-arrow::before{
  border-bottom-color:#f8f9fa;
}
.tooltip-light.bs-tooltip-auto[data-popper-placement^="start"] .tooltip-arrow::before,
.tooltip-light.bs-tooltip-start .tooltip-arrow::before{
  border-left-color:#f8f9fa;
}
.tooltip-light.bs-tooltip-auto[data-popper-placement^="end"] .tooltip-arrow::before,
.tooltip-light.bs-tooltip-end .tooltip-arrow::before{
  border-right-color:#f8f9fa;
}

.tooltip-anchor{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.25rem;
}

.tooltip-nowrap .tooltip-inner {
  white-space: pre;
  max-width: none;
}

.projection-modal{
  font-size:.95rem;
  color:#1f2937;
}
.projection-heading{
  margin-bottom:1rem;
}
.projection-summary strong{
  font-weight:600;
}
.projection-section{
  margin-top:1.5rem;
}
.projection-section-header h3{
  margin-bottom:.35rem;
}
.projection-meta{
  color:#475569;
  font-size:.85rem;
}
.projection-lever-grid{
  margin-top:.75rem;
  display:grid;
  gap:.5rem 1rem;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
}
.projection-lever{
  border:1px solid #e2e8f0;
  border-radius:.25rem;
  padding:.35rem .5rem;
  background:#f7f9fc;
  display:flex;
  justify-content:space-between;
  gap:.5rem;
  font-size:.85rem;
}
.projection-lever-label{
  font-weight:600;
}
.projection-steps{
  border-left:4px solid #3b82f6;
  padding-left:1rem;
}
.projection-step{
  margin:1rem 0;
}
.projection-step h4{
  font-size:1rem;
  margin-bottom:.35rem;
}
.projection-formula{
  font-family:var(--bs-font-monospace,ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace);
  background:#f8fafc;
  border:1px dashed #cbd5f5;
  padding:.65rem;
  border-radius:.25rem;
  font-size:.85rem;
  white-space:pre-wrap;
}
.projection-formula-inline{
  border:0;
  background:transparent;
  padding:0;
  margin:0;
}
.projection-table{
  width:100%;
  border-collapse:collapse;
  margin-top:.5rem;
  font-size:.85rem;
}
.projection-table th,
.projection-table td{
  border:1px solid #e2e8f0;
  padding:.4rem .5rem;
  text-align:left;
}
.projection-modal-link{
  border:0;
  background:none;
  padding:0;
  margin:0;
  color:inherit;
  text-decoration:underline;
  cursor:pointer;
  font:inherit;
}
.projection-modal-link:focus-visible{
  outline:2px dashed currentColor;
  outline-offset:2px;
}
.projection-modal-loading{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.5rem;
  padding:2rem 0;
}
