/* A quiet overview first; package evidence and tools appear on demand. */
.st-confirmation { padding:12px 0; border-top:1px solid var(--border-subtle); font:12px/1.5 var(--font-sans); }
.st-confirmation > summary { cursor:pointer; font-weight:500; color:var(--accent); }
.st-confirmation p, .st-confirmation small { color:var(--text-muted); }
.st-confirmation-legs > label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0; }
.st-confirmation small { display:block; font-size:11px; }
.st-confirmation-net, .st-confirmation-actions { display:flex; flex-wrap:wrap; gap:12px; margin:14px 0; }
.st-confirmation-net label { display:flex; flex-direction:column; gap:5px; }
#sub-trading .st-confirmation select, #sub-trading .st-confirmation input[type=number] { min-width:100px; max-width:160px; padding:7px 9px; border:1px solid var(--border); border-radius:4px; background:var(--bg-card); color:var(--text); font:12px var(--font-sans); }
#sub-trading .st-confirmation button { padding:8px 12px; border:1px solid var(--border); border-radius:4px; background:var(--bg-card); color:var(--accent); font:500 12px var(--font-sans); cursor:pointer; }
#sub-trading .st-confirmation button:disabled { opacity:.5; cursor:default; }
.st-confirmation-attest { display:flex; align-items:flex-start; gap:8px; margin:16px 0; }
.st-confirmation-attest input { margin-top:3px; }
.st-confirmation-review ul { padding-left:20px; }
.st-confirmation [hidden] { display:none !important; }
#sub-trading button.ss-tile { appearance:none; text-align:left; border:0; border-right:1px solid var(--border-subtle); border-radius:0; cursor:pointer; }
#sub-trading button.ss-tile:hover { background:var(--surface-tint-1); }
#sub-trading button.ss-tile:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.snapshot-ref-source { display:block; font:9px/1.4 var(--font-sans); color:var(--text-muted); white-space:nowrap; letter-spacing:0; }
#sub-trading .snapshot-ref-change { color:var(--text-muted); }
.session-focus { display:flex; gap:22px; margin-top:14px; padding:14px 0 0; border-top:1px solid var(--border-subtle); }
.session-focus-label { flex:0 0 110px; color:var(--text-muted); font:500 11px/1.6 var(--font-sans); padding-top:4px; }
.session-focus > div { flex:1; min-width:0; }
#sub-trading .session-focus button { display:flex; width:100%; align-items:baseline; gap:10px; padding:4px 0; border:0; background:none; color:var(--text); text-align:left; font:12px/1.5 var(--font-sans); cursor:pointer; }
.session-focus button > span:first-child { flex:0 0 65px; color:var(--text-muted); font-size:10px; }
.session-focus button > span:last-child { margin-left:auto; color:var(--accent); }
#sub-trading .session-focus button:hover { color:var(--accent); }
.trading-brokerage-detail { padding:0 22px 14px; font:12px/1.6 var(--font-sans); }
.trading-brokerage-detail > summary { cursor:pointer; color:var(--text-muted); font-size:11px; }
#brokerage-detail-content { padding:16px 0 0; max-width:920px; }
.st-brokerage-totals { display:flex; flex-wrap:wrap; gap:20px 60px; }
.st-brokerage-totals > span { font-size:11px; color:var(--text-muted); }
.st-brokerage-totals strong { display:block; margin-top:3px; font:600 20px var(--font-mono); color:var(--state-good); }
.st-inline-control, .st-review-controls label { display:inline-flex; align-items:center; gap:8px; color:var(--text-muted); font:11px var(--font-sans); }
#sub-trading .st-inline-control select, #sub-trading .st-review-controls select { height:30px; padding:4px 8px; border:1px solid var(--border); border-radius:4px; background:var(--bg-card); color:var(--text); font:12px var(--font-sans); }
.st-brokerage-breakdown { margin:12px 0; max-height:200px; overflow:auto; }
.st-brokerage-breakdown > div { display:flex; justify-content:space-between; gap:18px; border-bottom:1px solid var(--border-subtle); padding:6px 0; }
.st-brokerage-breakdown dd { margin:0; font-family:var(--font-mono); white-space:nowrap; }
.st-brokerage-leaders summary { color:var(--text-muted); cursor:pointer; }
#sub-trading .st-brokerage-leaders button { display:flex; width:100%; justify-content:space-between; gap:18px; text-align:left; color:var(--text); padding:8px 0; border:0; border-bottom:1px solid var(--border-subtle); background:none; font:12px/1.5 var(--font-sans); cursor:pointer; }
.st-brokerage-leaders button strong { flex-shrink:0; color:var(--state-good); font-family:var(--font-mono); }
#sub-trading .st-text-action { color:var(--accent); font:500 11px/1.5 var(--font-sans); background:none; border:0; padding:5px 0; text-align:left; cursor:pointer; }
.structure-review-queue { border-bottom:1px solid var(--border-subtle); padding:10px 0 12px; font:12px/1.5 var(--font-sans); }
.structure-review-queue > summary { color:var(--text-muted); cursor:pointer; font-size:11px; }
.st-review-controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:14px 0; }
.st-review-controls > span { margin-left:auto; color:var(--text-muted); font-size:11px; }
.st-review-list { max-height:340px; overflow:auto; }
#sub-trading .st-review-list > button { display:flex; width:100%; align-items:center; gap:18px; padding:12px 10px; color:var(--text); border:0; border-bottom:1px solid var(--border-subtle); background:none; text-align:left; font:12px/1.5 var(--font-sans); cursor:pointer; }
#sub-trading .st-review-list > button:hover { background:var(--surface-tint-1); }
.st-review-list button > span:first-child { flex:1; min-width:0; }
.st-review-list small { display:block; font-size:11px; color:var(--text-muted); margin-top:3px; }
.st-review-brokerage { flex-shrink:0; color:var(--state-good); text-align:right; font-family:var(--font-mono); }
.st-direction-benchmark { padding:10px 0 0; }
.st-direction-benchmark > summary { cursor:pointer; color:var(--text-muted); font-size:11px; }
.st-model-result { display:flex; flex-direction:column; gap:4px; padding:12px 0; border-bottom:1px solid var(--border-subtle); }
.st-model-result span, .st-model-result small { color:var(--text-muted); font-size:11px; }
.trade-trail-selection { padding:16px; margin:12px 0; border:1px solid var(--border); border-radius:5px; }
.st-trail-selection-heading { display:flex; align-items:baseline; justify-content:space-between; gap:18px; font:12px/1.5 var(--font-sans); }
#sub-trading .st-trail-selection-heading > button { background:none; border:0; color:var(--accent); padding:0; flex-shrink:0; font:11px var(--font-sans); cursor:pointer; }
.st-session-trail { padding:10px 0; border-top:1px solid var(--border-subtle); min-width:0; }
.st-session-trail > summary { cursor:pointer; font:500 12px/1.5 var(--font-sans); }
.st-insight-summary { display:flex; flex-direction:column; gap:4px; margin:12px 0 8px; font:12px/1.5 var(--font-sans); }
.st-insight-summary > span { font-family:var(--font-mono); }
.st-trail-stats { display:flex; flex-wrap:wrap; gap:5px 18px; color:var(--text-muted); font:11px/1.5 var(--font-sans); }
.st-trail-chart { display:block; width:100%; max-width:480px; height:auto; margin:4px 0; }
.trade-trail-selection .st-trail-layout { display:grid; grid-template-columns:minmax(240px,.85fr) minmax(330px,1.15fr); gap:24px; margin-top:12px; }
.st-trail-layout > div { min-width:0; }
.st-chart-axis { stroke:var(--border); stroke-width:1; }
.st-chart-line { fill:none; stroke:var(--accent); stroke-width:1.5; }
.st-chart-point { fill:var(--accent); }
.st-chart-strike { stroke:var(--text-muted); stroke-width:2; }
.st-trail-table-wrap { overflow:auto; max-height:240px; }
#sub-trading .st-trail-table { width:100%; table-layout:auto; border-collapse:collapse; }
#sub-trading .st-trail-table th, #sub-trading .st-trail-table td { padding:6px 8px; text-align:left; white-space:nowrap; font:11px/1.5 var(--font-mono); border-bottom:1px solid var(--border-subtle); }
#sub-trading .st-trail-table th { font-family:var(--font-sans); color:var(--text-muted); }
.st-trail-table .is-current { background:var(--surface-tint-1); }
#sub-trading .st-trail-table button { border:0; padding:3px; background:none; color:var(--accent); font:11px var(--font-sans); cursor:pointer; }
.st-strike-context { padding:12px 0; margin:12px 0; border-top:1px solid var(--border-subtle); max-width:560px; }
.st-strike-context > p { display:flex; flex-direction:column; gap:4px; font:11px/1.5 var(--font-sans); }
.st-strike-context > p > span { color:var(--text-muted); }
.st-strike-chart { display:block; width:100%; max-width:440px; height:auto; margin:8px 0; }
.st-strike-chart text { fill:var(--text-muted); font:10px var(--font-mono); }
.st-strike-legs { display:flex; flex-wrap:wrap; gap:10px 20px; font:11px/1.5 var(--font-sans); }
.st-strike-legs small { display:block; color:var(--text-muted); font-size:10px; }
@media (max-width:800px) {
  .trade-trail-selection .st-trail-layout { grid-template-columns:minmax(0,1fr); gap:4px; }
}
@media (max-width:600px) {
  .session-focus { flex-direction:column; gap:6px; }
  .session-focus-label { flex-basis:auto; }
  #sub-trading .session-focus button { font-size:11px; gap:8px; }
  .session-focus button > span:first-child { flex-basis:48px; font-size:9px; }
  .st-review-controls > span { width:100%; margin:0; }
  #sub-trading .st-review-list > button { gap:10px; padding-inline:0; flex-wrap:wrap; }
  .st-review-list button > span:first-child { flex-basis:100%; }
  .st-review-brokerage { text-align:left; }
  .st-review-list button > span:last-child { margin-left:auto; }
  .st-trail-selection-heading { flex-direction:column; gap:8px; }
  .trade-trail-selection { padding:12px; }
  #sub-trading .st-brokerage-leaders button { flex-wrap:wrap; gap:4px; }
  .trading-brokerage-detail { padding-inline:14px; }
}
#sub-trading { gap:0; width:100%; min-width:0; }
#sub-trading section { scroll-margin-top:90px; }
#sub-trading .trading-top-bar { margin:6px 0 10px; gap:16px; }
.trading-page-title h1 { margin:0 0 4px; font:600 24px/1.3 var(--font-sans); letter-spacing:-.4px; color:var(--text); }
.trading-page-title > span { color:var(--text-muted); font:11px var(--font-sans); }
#sub-trading .trading-session-controls { gap:10px; }
#sub-trading .trading-date-caption { font-size:11px; text-transform:none; letter-spacing:0; }
#sub-trading .asx-refresh-btn, #sub-trading .daily-wrap-btn { font:500 11px var(--font-sans); text-transform:none; letter-spacing:0; padding:8px 12px; }
.trading-navigation-bar { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; margin-bottom:18px; }
#sub-trading .trading-jumps { display:flex; align-items:center; flex-wrap:wrap; gap:20px; font:12px var(--font-sans); }
#sub-trading .trading-jumps a { color:var(--text-muted); text-decoration:none; padding:5px 0; }
#sub-trading .trading-jumps a:hover { color:var(--accent); }
#sub-trading .asx-freshness-badge { background:none; border:0; padding:0; margin-left:auto; font:11px var(--font-sans); flex-wrap:wrap; white-space:normal; }
#sub-trading .panel { margin-bottom:18px; }
#sub-trading .section-hdr-title { font:600 15px var(--font-sans); letter-spacing:0; text-transform:none; }
#sub-trading .section-hdr { margin-bottom:0; }
#sub-trading .count-badge { font:11px var(--font-mono); }
#section-session-stats { padding:0; overflow:visible; }
#sub-trading .session-stats-bar { display:flex; flex-wrap:wrap; background:none; border:0; border-radius:0; }
#sub-trading #session-stats-bar .ss-tile { flex:1 1 160px; padding:18px 22px; min-width:0; gap:7px; border-left:0; background:none; }
#sub-trading #session-stats-bar .ss-value { font:600 27px/1.15 var(--font-mono); color:var(--text); letter-spacing:-1px; }
#sub-trading #session-stats-bar .ss-tile--adm { flex-grow:1.35; background:color-mix(in srgb, var(--state-good) 4%, transparent); }
#sub-trading #session-stats-bar .ss-value--money { color:var(--state-good); }
#sub-trading #session-stats-bar .ss-label { font:500 12px var(--font-sans); text-transform:none; letter-spacing:0; }
#sub-trading .ss-sub { font:11px var(--font-sans); color:var(--text-muted); }
.session-secondary-bar { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding:0 22px 12px; }
.trading-scope-label { color:var(--text-muted); font:11px/1.5 var(--font-sans); }
.trading-disclosure { font:11px/1.6 var(--font-sans); color:var(--text-muted); position:relative; }
.trading-disclosure > summary { cursor:pointer; white-space:nowrap; }
.trading-disclosure > summary:hover { color:var(--text); }
.trading-disclosure p { margin:8px 0 0; max-width:540px; }
#session-breakdown { text-align:right; }
#session-breakdown-content { display:flex; flex-wrap:wrap; gap:10px; padding-top:10px; text-align:left; }
#session-breakdown-content .ss-tile { padding:8px 12px; border:0; background:var(--surface-tint-1); }
#sub-trading #section-most-active { display:flex; border:0; border-top:1px solid var(--border-subtle); border-radius:0; background:none; padding:10px 22px; gap:14px; }
#sub-trading .most-active-label { font:11px var(--font-sans); text-transform:none; letter-spacing:0; }
#sub-trading .most-active-chip { border:0; border-radius:4px; background:var(--surface-tint-1); padding:4px 8px; font:11px var(--font-mono); }
#sub-trading .most-active-chip .ma-vol { color:var(--text-muted); }
#sub-trading .snapshot-filter-bar { display:flex; flex-direction:row; align-items:baseline; gap:10px 18px; flex-wrap:wrap; padding:10px 12px; background:none; border:0; }
#sub-trading .snapshot-toggle-label { display:inline-flex; width:auto; min-height:28px; font:11px var(--font-sans); text-transform:none; letter-spacing:0; }
.snapshot-region-jumps { display:none; }
.snapshot-price-guide { margin-left:auto; text-align:right; }
.snapshot-price-guide p { text-align:left; }
.snapshot-viewport { max-height:360px; overflow:auto; scrollbar-gutter:stable; overscroll-behavior:contain; border-radius:5px; }
.snapshot-viewport--full { max-height:none; overflow:visible; }
.snapshot-viewport:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#sub-trading .snapshot-header { position:sticky; top:0; z-index:2; background:var(--bg-card); }
#sub-trading .snapshot-card { overflow:clip; }
#sub-trading .snapshot-table td { padding:8px 6px; white-space:nowrap; }
#sub-trading .snapshot-table th { padding-inline:6px; }
#sub-trading .snapshot-table col.snap-c-contract { width:18%; }
#sub-trading .snapshot-table col.snap-c-prior, #sub-trading .snapshot-table col.snap-c-last { width:22%; }
#sub-trading .snapshot-table col.snap-c-vs { width:24%; }
#sub-trading .snapshot-table col.snap-c-vol { width:14%; }
.snapshot-table .snapshot-last-time { display:none; }
.snapshot-aligned .snapshot-row-traded, .snapshot-aligned .snapshot-row-settle { height:40px; }
.snapshot-aligned .snapshot-product-group { height:38px; }
.snapshot-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0 2px; color:var(--text-muted); font:11px var(--font-sans); }
.snapshot-footer button { border:0; background:none; padding:4px 0; color:var(--accent); font:500 11px var(--font-sans); cursor:pointer; white-space:nowrap; }
#section-structures .structure-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:16px 0 10px; background:none; border:0; }
.structure-asset-tabs { display:flex; gap:3px; padding:3px; background:var(--surface-tint-1); border:1px solid var(--border-subtle); border-radius:6px; }
.structure-asset-tabs button { border:0; border-radius:4px; background:none; padding:7px 12px; color:var(--text-muted); font:500 12px var(--font-sans); cursor:pointer; }
.structure-asset-tabs button[aria-pressed="true"] { background:var(--bg-card); color:var(--text); box-shadow:0 1px 3px #0002; }
.structure-asset-tabs span { margin-left:6px; font:10px var(--font-mono); color:var(--text-muted); }
#struct-search { margin-left:auto; flex:0 1 340px; min-width:180px; }
#section-structures .trade-filter-select { font:12px var(--font-sans); height:34px; max-width:100%; padding:6px 10px; }
#struct-filters-toggle { border:1px solid var(--border); background:none; border-radius:5px; padding:8px 12px; color:var(--text); font:12px var(--font-sans); cursor:pointer; }
#struct-filters-toggle[aria-expanded="true"] { border-color:var(--accent); }
#sub-trading [hidden] { display:none !important; }
.structure-filter-options { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:12px; background:var(--surface-tint-1); border-radius:5px; margin:0 0 12px; }
#section-structures .struct-low-conf-toggle { margin:0; font:11px var(--font-sans); text-transform:none; letter-spacing:0; padding:6px 0; border:0; background:none; }
.structure-list-caption { display:flex; justify-content:space-between; gap:14px; align-items:baseline; padding:0 0 12px; font:11px/1.6 var(--font-sans); color:var(--text-muted); }
.structure-list-caption > details { text-align:right; }
.structure-list-caption p { text-align:left; }
#section-structures .eod-structure-review-banner { padding:9px 12px; background:var(--surface-tint-1); border:0; border-left:2px solid var(--state-warn); font:11px var(--font-sans); }
#section-structures .eod-structure-review-banner button { background:none; color:var(--accent); border:0; font:500 11px var(--font-sans); text-transform:none; }
#section-structures .struct-ticker { table-layout:fixed; font-family:var(--font-sans); }
#section-structures .col-time { width:76px; color:var(--text-muted); }
#section-structures .col-trade { width:300px; }
#section-structures .col-legs { display:table-cell; width:auto; }
#section-structures .col-size { width:100px; }
#section-structures .col-econ { display:table-cell; width:145px; }
#section-structures .col-view { width:130px; color:var(--text-muted); }
#section-structures .col-brokerage { width:145px; }
#section-structures .struct-ticker > thead > tr > th { padding:11px 10px; font:500 11px var(--font-sans); text-transform:none; letter-spacing:0; white-space:normal; }
#section-structures .struct-ticker > tbody > tr > td { padding:8px 10px; white-space:normal; overflow:visible; text-overflow:clip; vertical-align:middle; font:12px/1.4 var(--font-sans); }
#section-structures .struct-ticker > tbody > tr[data-zebra="1"] { background:none; }
#section-structures .struct-ticker > tbody > tr.st-row:hover { background:var(--surface-tint-1); }
#section-structures .struct-ticker > tbody > .st-row > td:first-child { border-left:0; }
#section-structures .struct-ticker > tbody > tr > .col-time { font:11px var(--font-mono); }
#section-structures .col-size, #section-structures .col-econ, #section-structures .col-brokerage { text-align:right; font-variant-numeric:tabular-nums; }
#section-structures .col-size strong, #section-structures .col-econ strong, #section-structures .col-brokerage strong { font:600 12px var(--font-mono); }
#section-structures .col-brokerage strong { color:var(--state-good); }
.st-mobile-label { display:none; }
#section-structures .st-expand { display:flex; align-items:baseline; flex-wrap:wrap; gap:3px 8px; position:relative; border:0; padding:0 0 0 17px; background:none; text-align:left; color:var(--text); font:600 12px/1.5 var(--font-sans); cursor:pointer; }
.st-expand:focus-visible, .st-repeat-group button:focus-visible, .structure-asset-tabs button:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:2px; }
.st-caret { position:absolute; left:0; top:4px; color:var(--text-muted); font-size:8px; }
.st-ratio { color:var(--text-muted); font:11px var(--font-mono); border-left:1px solid var(--border); padding-left:10px; }
/* Each leg has the same label / quantity / price / IV positions. The grid
   uses the space released by folding size and scenario into the trade cell. */
.st-structure-caption { display:flex; flex-wrap:wrap; gap:2px 12px; margin:4px 0 0 17px; color:var(--text-muted); font:10px/1.5 var(--font-sans); }
.st-structure-caption > span:first-child { font-variant-numeric:tabular-nums; }
.st-leg-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 0; align-items:start; }

.st-leg-item { min-width:0; padding:0 12px; border-left:1px solid var(--border-subtle); }
.st-leg-name { display:flex; align-items:baseline; gap:5px; color:var(--text); font:500 11px/1.5 var(--font-sans); }
.st-leg-values { display:grid; grid-template-columns:52px minmax(68px,1fr) 74px; align-items:baseline; gap:4px; margin-top:3px; font:12px/1.4 var(--font-mono); font-variant-numeric:tabular-nums; }
.st-leg-grid:not(.st-leg-grid--options) .st-leg-values { grid-template-columns:52px minmax(68px,1fr); }
.st-leg-qty, .st-leg-iv { white-space:nowrap; }
.st-leg-px { overflow-wrap:normal; }
.st-leg-px { color:var(--text); }
.st-leg-values small { color:var(--text-muted); font:9px var(--font-sans); }
.st-leg-iv { color:var(--text-muted); white-space:normal; overflow-wrap:anywhere; }
.st-leg-role { color:var(--accent); font-size:9px; }
.st-leg-side { color:var(--text-muted); font:10px var(--font-mono); }
.st-leg-item--indicative .st-leg-name, .st-leg-item--indicative .st-leg-px { color:var(--text-muted); }
.st-leg-note { display:block; margin:5px 0 0 12px; color:var(--text-muted); font:10px/1.4 var(--font-sans); }
.st-inline-label { color:var(--text-muted); font-size:10px; margin-right:4px; }
.st-repeat-count { color:var(--accent); font:10px var(--font-sans); }
#section-structures .struct-ticker > tbody > tr > .col-view { font:11px/1.4 var(--font-sans); }
.st-review-note::before { content:'•'; color:var(--state-warn); margin-right:6px; }
.st-cell-caption { display:block; margin-top:3px; font:10px var(--font-sans); color:var(--text-muted); }
#section-structures .st-attention { color:var(--state-warn); }
#section-structures .st-detail > td { padding:18px 26px 20px; background:var(--surface-tint-1); }
.st-detail-heading { font:500 12px var(--font-sans); color:var(--text-muted); margin-bottom:14px; }
#section-structures .st-detail-grid { display:grid; grid-template-columns:minmax(340px, 1.6fr) minmax(260px, 1fr); gap:28px; }
#section-structures .st-detail-legs { min-width:0; overflow-x:auto; }
#section-structures .st-detail-legs .sl-legs-table { width:100%; min-width:560px; table-layout:auto; }
#section-structures .sl-legs-table th, #section-structures .sl-legs-table td { padding:9px 10px; white-space:nowrap; font-size:12px; }
#section-structures .sl-legs-table th { color:var(--text-muted); font:500 11px var(--font-sans); }
#section-structures .sl-legs-table td:first-child { color:var(--text); font-weight:600; max-width:none; overflow:visible; text-overflow:clip; }
#section-structures .sl-legs-table th:first-child, #section-structures .sl-legs-table td:first-child { width:1%; }
#section-structures .st-strip-parent { background:var(--surface-tint-2); }
.st-detail-note { color:var(--text-muted); font:11px/1.6 var(--font-sans); margin:10px 0; }
.st-detail-meta { color:var(--text-muted); font:11px/1.6 var(--font-sans); }
.st-spectator { padding:0 0 14px; margin-bottom:14px; border-bottom:1px solid var(--border-subtle); min-width:0; }
.st-spectator h4 { margin:0 0 7px; font:600 13px var(--font-sans); }
.st-spectator p { margin:6px 0; color:var(--text-muted); font:11px/1.55 var(--font-sans); }
.st-spectator label { display:block; margin-top:12px; color:var(--text-muted); font:11px var(--font-sans); }
.st-spectator select { display:block; width:100%; max-width:100%; margin:6px 0 12px; padding:8px; border:1px solid var(--border); border-radius:4px; background:var(--bg-card); color:var(--text); color-scheme:dark; font:11px var(--font-mono); }
#sub-trading select option { background:var(--bg-card); color:var(--text); }
.st-scenario-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:8px 0; }
.st-scenario-actions button { border:1px solid var(--border); border-radius:4px; padding:7px 10px; background:var(--bg-card); color:var(--text); font:12px var(--font-sans); cursor:pointer; }
.st-scenario-actions .st-save-scenario { border-color:var(--accent); color:var(--accent); }
.st-scenario-actions button:disabled { opacity:.5; cursor:default; }
.st-hedge-fit { display:flex; flex-direction:column; gap:4px; margin:12px 0; font:12px var(--font-mono); }
.st-hedge-fit span { color:var(--text-muted); font:11px var(--font-sans); }
.st-evidence, .st-valuation { padding:10px 0; border-bottom:1px solid var(--border-subtle); font:12px/1.6 var(--font-sans); }
.st-evidence summary, .st-valuation summary { cursor:pointer; color:var(--text-muted); }
.st-evidence .st-conf-why { max-width:100%; }
.st-valuation .sl-prem-line { margin-top:12px; }
.st-detail-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; padding-top:14px; margin-top:14px; border-top:1px solid var(--border-subtle); }
.st-detail-actions button, .st-detail-actions select, .st-source-heading button, .tape-structure-link { background:none; border:1px solid var(--border); border-radius:4px; color:var(--text); font:11px var(--font-sans); padding:7px 10px; cursor:pointer; }
#section-structures .st-detail-actions .st-price-btn { border-color:var(--accent); color:var(--accent); text-transform:none; }
#section-structures .st-detail-actions .sl-copy-btn-full { width:auto; margin:0; }
.st-detail-actions label { display:flex; align-items:center; gap:5px; font:11px var(--font-sans); color:var(--text-muted); }
.st-detail-actions select { max-width:220px; }
.st-action-status { color:var(--state-warn); font-size:11px; }
#section-structures .st-repeat-group td { background:var(--surface-tint-1); }
.st-repeat-group button { background:none; border:0; color:var(--text); font:600 13px var(--font-sans); text-align:left; cursor:pointer; line-height:1.6; }
.st-repeat-group .col-trade > .st-cell-caption { padding-left:20px; }
.st-repeat-group .col-time .st-cell-caption { white-space:nowrap; font-size:9px; }
#trade-source-context { margin:12px 0 18px; padding:14px; border:1px solid var(--accent); border-radius:6px; background:var(--surface-tint-1); }
.st-source-heading { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.st-source-heading strong { flex:1 1 260px; font-size:13px; }
#trade-source-context p { font-size:11px; color:var(--text-muted); }
.tape-structure-link { margin-left:6px; color:var(--accent); padding:1px 5px; font-size:9px; }
@media (max-width:1000px) {
  #struct-search { flex:1 1 220px; }
  #section-structures .st-detail-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
}
@media (min-width:1101px) and (max-width:1400px) {
  #section-structures .col-time { width:68px; }
  #section-structures .col-trade { width:250px; }
  #section-structures .col-size { width:85px; }
  #section-structures .col-econ { width:135px; }
  #section-structures .col-view { width:112px; }
  #section-structures .col-brokerage { width:130px; }
}
@media (max-width:800px) {
  #sub-trading .trading-session-controls { margin-left:0; flex-wrap:wrap; }
  #sub-trading .asx-freshness-badge { margin-left:0; }
  #sub-trading #session-stats-bar .ss-tile { flex:1 1 45%; padding:16px; }
  #sub-trading #session-stats-bar .ss-tile--adm { flex-basis:100%; order:-1; }
  #sub-trading #session-stats-bar .ss-value { font-size:24px; }
  .session-secondary-bar { padding:0 16px 12px; flex-wrap:wrap; }
  #session-breakdown { text-align:left; }
  #sub-trading #section-most-active { padding:10px 16px; }
  .snapshot-viewport { max-height:360px; }
  .snapshot-viewport--full { max-height:none; overflow:auto; }
  #sub-trading .market-snapshot-grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:100%; align-items:start; }
  .snapshot-region-jumps { display:flex; gap:4px; margin:0 0 10px; }
  .snapshot-region-jumps button { flex:1; border:1px solid var(--border-subtle); border-radius:4px; padding:7px 4px; background:none; color:var(--text-muted); font:11px var(--font-sans); cursor:pointer; }
  .snapshot-region-jumps button:hover, .snapshot-region-jumps button:focus-visible { color:var(--text); border-color:var(--accent); }
  .snapshot-footer { flex-wrap:wrap; }
  .structure-asset-tabs { flex:1 1 100%; }
  .structure-asset-tabs button { flex:1; }
  #struct-search { flex:1 1 160px; min-width:0; }
  #section-structures .structure-filter-options > select { flex:1 1 45%; min-width:0; }
  .structure-list-caption { align-items:flex-start; flex-wrap:wrap; }
  .structure-list-caption > details { text-align:left; }
  .snapshot-price-guide { margin-left:0; text-align:left; }
}
@media (max-width:1100px) {
  #section-structures .struct-ticker > thead { display:none; }
  #section-structures .struct-ticker, #section-structures .struct-ticker > tbody { display:block; }
  #section-structures .st-row { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--border); padding:14px 2px; gap:8px 12px; }
  #section-structures .struct-ticker > tbody > .st-row > td { padding:0; border:0; width:auto; }
  #section-structures .st-row .col-time, #section-structures .st-row .col-trade, #section-structures .st-row .col-legs { grid-column:1 / -1; }
  #section-structures .st-row .col-size { text-align:left; padding-left:17px; }
  #section-structures .st-row .col-econ { display:block; text-align:right; }
  #section-structures .st-row .col-brokerage, #section-structures .st-repeat-group .col-brokerage { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; text-align:right; }
  #section-structures .col-brokerage .st-mobile-label { display:inline; margin-right:auto; color:var(--text-muted); font:11px var(--font-sans); }
  #section-structures .col-brokerage .st-cell-caption { margin:0; }
  #section-structures .col-view { grid-column:1 / -1; display:flex; justify-content:space-between; gap:8px; }
  #section-structures .col-view:empty { display:none; }
  #section-structures .col-view .st-mobile-label { display:inline; }
  #section-structures .st-detail { display:block; }
  #section-structures .struct-ticker > tbody > .st-detail > td { display:block; padding:16px 10px; }
  #section-structures .st-repeat-group { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:14px 8px; }
  #section-structures .st-repeat-group .col-time, #section-structures .st-repeat-group .col-trade, #section-structures .st-repeat-group .col-legs { grid-column:1 / -1; }
  #section-structures .struct-ticker > tbody > .st-repeat-group > td { width:auto; padding:0; border:0; }
  #section-structures .struct-ticker > tbody > .st-row > .col-legs, #section-structures .struct-ticker > tbody > .st-repeat-group > .col-legs { display:block; padding-left:17px; }
}

@media (min-width:2000px) {
  #section-structures .col-trade { width:360px; }
}
@media (max-width:600px) {
  .st-leg-grid, .st-leg-grid--options { grid-template-columns:1fr; }
  .st-leg-item { padding:0 8px; }
  .st-leg-values { grid-template-columns:60px 90px minmax(70px,1fr); }
}

@media (min-width:1301px) and (max-width:1550px) { .st-leg-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1101px) and (max-width:1300px) { .st-leg-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:601px) and (max-width:1100px) { .st-leg-grid { grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); } }


.trading-load-status { color: var(--text-muted); font-size: 11px; line-height: 1.5; }
.trading-load-status.is-stale { color: var(--warning, #d29922); }
.trading-load-status button { margin-left: 8px; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 4px; cursor: pointer; }
