/* Protected-synthetic page: only what the shared daily-strangle styles do not already cover. */
.ds-synth-days td small,
.ds-synth-days th small { display: block; color: var(--tw-gray-600, #6b7280); font-size: .75rem; line-height: 1.25; }
.ds-row-toggle { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-align: left; }
.ds-row-toggle::before { content: "▸"; display: inline-block; width: 1em; transition: transform .15s ease; }
.ds-row[data-ds-open] .ds-row-toggle::before { transform: rotate(90deg); }
.ds-row--unknown > th, .ds-row--unknown > td { opacity: .72; }
.ds-detail > td { background: var(--tw-gray-100, #f4f4f5); padding: .75rem 1rem; }
.ds-legs { width: 100%; border-collapse: collapse; font-size: .82rem; }
.ds-legs caption { caption-side: top; text-align: left; padding-bottom: .4rem; color: var(--tw-gray-600, #6b7280); }
.ds-legs th, .ds-legs td { padding: .3rem .55rem; border-bottom: 1px solid var(--tw-gray-200, #e4e4e7); text-align: left; vertical-align: top; }
.ds-legs td:last-child, .ds-legs th:last-child { text-align: right; }
.ds-legs-phase th { background: var(--tw-gray-200, #e4e4e7); font-weight: 600; }
.ds-legs-sum th, .ds-legs-sum td { font-weight: 600; }
.ds-legs-total th, .ds-legs-total td { font-weight: 700; border-top: 2px solid var(--tw-gray-300, #d4d4d8); }
.ds-legs th small { display: block; font-weight: 400; color: var(--tw-gray-600, #6b7280); }
.ds-column-sort { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; display: inline-flex; gap: .25rem; align-items: baseline; }
.ds-column-sort[aria-pressed="true"] { font-weight: 700; }
.ds-sort-arrow { font-size: .7em; opacity: .6; }
@media (prefers-color-scheme: dark) {
  .ds-detail > td { background: rgba(255, 255, 255, .04); }
  .ds-legs-phase th { background: rgba(255, 255, 255, .07); }
}

.ds-attribution th { text-align: left; font-weight: 500; }
.ds-attribution td { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ds-attribution th small { display: block; font-weight: 400; color: var(--tw-gray-600, #6b7280); }
.ds-attribution-cost th, .ds-attribution-cost td { padding-left: 1.5rem; opacity: .85; }
.ds-attribution-total th, .ds-attribution-total td { font-weight: 700; }

/* The shared backtest stylesheet collapses .ls-days into cards below 1200px and only lays out
   rows carrying .ls-day, hiding the header as it goes. These tables use .ds-row and live inside
   .ss-scroll, which already scrolls sideways, so they stay real tables at every width. */
@media (max-width: 1199px) {
  .ds-page .ds-days { display: table; min-width: 780px; }
  .ds-page .ds-days thead { display: table-header-group; }
  .ds-page .ds-days tbody { display: table-row-group; }
  .ds-page .ds-days tr { display: table-row; }
  .ds-page .ds-days th, .ds-page .ds-days td { display: table-cell; }
  .ds-page .ds-days td::before, .ds-page .ds-days th::before { content: none; }
}
