.approximation-lab { color: #17313b; }
.approximation-lab-controls, .approximation-lab-panel {
  background: #fffaf0;
  border: 1px solid #dfd4bf;
  border-radius: 1.1rem;
  padding: clamp(1rem, 2vw, 1.6rem);
}
.approximation-lab-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; }
.approximation-lab-fields label { display: grid; gap: .45rem; font-weight: 650; }
.approximation-lab-fields [hidden] { display: none !important; }
.approximation-lab-buttons { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.35rem; }
.approximation-lab-rule { margin-top: 1.25rem; padding: .85rem 1rem; background: #eaf5f0; border-left: 4px solid #0f635c; }
.approximation-lab-status { margin: 1.5rem 0; min-height: 2.5rem; font-size: 1.12rem; }
.approximation-lab-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .8rem; }
.approximation-lab-metrics p { display: grid; gap: .3rem; margin: 0; padding: 1rem; background: #f0f7f6; border-radius: .8rem; }
.approximation-lab-metrics span { font-size: .9rem; }
.approximation-lab-metrics strong { font-size: clamp(1.1rem, 2vw, 1.45rem); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.approximation-lab-panel { height: 100%; background: #fff; }
.approximation-lab-panel h2 { font-size: 1.3rem; margin-bottom: 1rem; }
.approximation-lab-panel table { font-variant-numeric: tabular-nums; }
.approximation-error-chart { display: grid; gap: .55rem; min-height: 2rem; margin-bottom: 1rem; }
.approximation-error-row { display: grid; grid-template-columns: 2rem 1fr; align-items: center; gap: .45rem; font-variant-numeric: tabular-nums; }
.approximation-error-track { display: block; height: 1rem; border-radius: .3rem; background: #e7efec; overflow: hidden; }
.approximation-error-bar { display: block; height: 100%; background: #a75532; border-radius: .3rem; transition: width .35s ease; }
@media (prefers-reduced-motion: reduce) { .approximation-error-bar { transition: none; } }
