/* OPS01 Draft next week. Builds on sales.css (sp-*) and store-pulse.css (pl-*). Static by design: this private section has no motion. */
.sd-card { display: grid; gap: 12px; }
.sd-status:empty { display: none; }
.sd-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sd-cap { margin: 0; padding: 8px 12px; border-left: 3px solid var(--pl-sched); font-variant-numeric: tabular-nums; }
.sd-cap-over, .sd-cap-missing { border-left-color: var(--pl-need); }
.sd-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.sd-actions .btn { min-height: 44px; }
.sd-day { display: grid; gap: 6px; }
.sd-day-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.sd-day-head h3 { margin: 0; font-size: 1rem; }
.sd-day-head .btn { min-height: 44px; display: inline-flex; align-items: center; }
.sd-wrap { max-width: 100%; overflow-x: auto; }
.sd-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.sd-table th, .sd-table td { text-align: left; padding: 6px 8px; border-bottom: 1px solid currentColor; border-bottom-color: color-mix(in srgb, currentColor 14%, transparent); vertical-align: top; }
.sd-table thead th { font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; opacity: .75; }
.sd-band { font-weight: 600; }
.sd-pos { opacity: .8; }
.sd-why { display: block; font-size: .78rem; font-weight: 400; opacity: .75; margin-top: 2px; }
.sd-changed th { box-shadow: inset 3px 0 0 var(--pl-fc); }
.sd-heads { width: 4.5rem; min-height: 44px; font: inherit; font-variant-numeric: tabular-nums; }
.sd-heads:focus-visible { outline: 2px solid var(--pl-fc); outline-offset: 2px; }
.sd-sub { margin: 4px 0 0; font-size: 1rem; }
.sd-diffs { margin: 0; padding-left: 1.2rem; display: grid; gap: 4px; }
.sd-note { margin: 0; }
@media (max-width: 680px) {
  .sd-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-table thead th:nth-child(6), .sd-table td:nth-child(6) { display: none; }
}
