.sp-main { flex: 1; min-height: 0; display: flex; gap: 2px; margin-top: 2px; }
.sp-left { flex: none; width: 262px; background: var(--face); }
.sp-in { padding: 4px 4px 0 6px; }
.sp-left .grp { margin: 0 0 8px; }
.sp-left .rows { grid-template-columns: max-content minmax(60px, 1fr) 22px; }
.sp-left select {
  width: 100%; min-width: 0; height: 20px; padding: 0 2px; border: 0; outline: 0; background: #fff; box-shadow: var(--sunk); font: inherit;
}
.sp-left input[type=checkbox] { width: auto; height: auto; margin: 0; box-shadow: none; justify-self: start; }
.sp-left input.bad { outline: 1px solid #f00; }
.sp-left input:disabled, .sp-left select:disabled { background: var(--face); color: var(--shadow); }
.sp-right { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sp-chart { flex: 5 1 0; }
.sp-res { flex: 5 1 0; margin-top: 2px; }
.sp-cv { position: absolute; inset: 2px; width: calc(100% - 4px); height: calc(100% - 4px); display: block; }
.sp-t th { cursor: default; }
.sp-t th.up::after, .sp-t th.dn::after { content: ''; display: inline-block; margin-left: 6px; border: 3px solid transparent; vertical-align: middle; }
.sp-t th.up::after { border-bottom: 4px solid #000; border-top: 0; }
.sp-t th.dn::after { border-top: 4px solid #000; border-bottom: 0; }
.sp-t tr.sel td { background: var(--sel); color: #fff; }
.sp-con { width: 100%; border-collapse: collapse; }
.sp-con th { font-weight: normal; text-align: right; padding: 0 2px; }
.sp-con td { text-align: right; padding: 0 2px; white-space: nowrap; }
.sp-con .l { text-align: left; }
