/* Approved mockup semantics, with the Positions panel extended application-wide
   by James on 2026-10-12. Brand surfaces never imply a trading outcome. */
:root {
  --ot-panel:#171d29; --ot-panel-inset:#121823; --ot-panel-selected:#233342;
  --ot-panel-border:#3c4d65; --ot-input:#111821; --ot-label:#bbc3d0;
  --ot-buy:#32e6c8; --ot-sell:#ff6b6b; --ot-short:#b794f6; --ot-positive:#32e6c8;
  --ot-negative:#ff8585; --ot-warning:#f6cc76; --ot-info:#9ecbff;
  --ot-idle:#b7b7c2;
}
/* Shared density contract: retain readable type; remove decorative whitespace.
   Touch and hybrid devices keep 44px targets. Only a fine primary pointer with
   no touch input gets 32px controls, and never below the tablet breakpoint. */
:root { --ot-control-height:44px; --ot-control-padding:8px; --ot-field-gap:8px; --ot-section-gap:12px; }
@media (min-width:768px) and (hover:hover) and (pointer:fine)  {
  :root { --ot-control-height:32px; --ot-control-padding:4px; }
}
/* #155 UI-04: host styles on top of Candidate.Rcl's candidate.css. */
.environment-failure { max-width: 760px; margin: 48px auto; padding: 0 20px; color: #e0e0e0; font-family: system-ui, sans-serif; }
.environment-failure h1 { font-size: 1.4rem; }
.environment-failure-problems { padding-left: 20px; overflow-wrap: anywhere; }
.environment-failure code { color: #e9c46a; }
.orders-view { min-width: 0; }
.running-algorithms { min-width: 0; max-width: 100%; }
.algorithm-pane-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.algorithm-pane-header h2 { margin: 0; font-size: 1.35rem; }
.algorithm-bulk-actions, .algorithm-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.algorithm-bulk-actions { margin: 12px 0; }
.algorithm-cards { list-style: none; padding: 0; margin: 0; }
.algorithm-card { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; min-width: 0; padding: 12px; margin: 12px 0; border: 1px solid #494949; border-radius: 12px; }
.algorithm-card-header { order: 1; flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; }
.algorithm-card-header strong { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.algorithm-status-group { order: 2; display: flex; flex-wrap: wrap; gap: 6px; font-size: .9rem; }
.algorithm-status { font-size: .9rem; overflow-wrap: anywhere; }
.algorithm-card-summary, .algorithm-card-details { flex-basis: 100%; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.algorithm-card-summary { order: 3; }
.algorithm-card-summary > div, .algorithm-card-details > div { min-width: 0; }
.algorithm-card-details { order: 4; padding-top: 12px; border-top: 1px solid #494949; }
.algorithm-card dt { color: #bdbdbd; font-size: .85rem; }
.algorithm-card dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.algorithm-detail-wide { grid-column: 1 / -1; }
.algorithm-card .algorithm-actions { order: 5; flex-basis: 100%; }
.algorithm-card .algorithm-actions > button { flex: 1; padding-inline: 8px; }
.algorithm-inspect-actions { display:flex; gap:8px; }
.algorithm-card .algorithm-inspect-actions { flex:1 0 100%; }
.algorithm-inspect-actions > button { flex:1; white-space:nowrap; }
.algorithm-table-scroll { display: none; overflow-x: auto; max-width: 100%; }
.algorithm-table { width: max-content; min-width: 100%; }
.algorithm-table .algorithm-actions { flex-wrap: nowrap; }
.algorithm-table td[data-field="LastLogMessage"] { white-space: normal; min-width: 18rem; max-width: 32rem; overflow-wrap: anywhere; }
.algorithm-missing { color: #aaa; }
.algorithm-diagnostics { margin: 12px 0; overflow-wrap: anywhere; }
.algorithm-diagnostics summary { min-height: var(--ot-control-height); display: list-item; cursor: pointer; }
/* Tablet: compact horizontal summaries and actions, with expanded details underneath. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .algorithm-card-header { flex: 1 1 130px; }
  .algorithm-card-summary { order: 2; flex: 2 1 180px; display: flex; gap: 12px; }
  .algorithm-card-summary > div { flex: 1; }
  .algorithm-status-group { order: 3; flex-direction: column; }
  .algorithm-card .algorithm-actions { order: 4; flex: 1 0 100%; flex-wrap: wrap; }
  .algorithm-card-details { order: 5; }
  .algorithm-card-details { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .algorithm-cards { display: none; }
  .algorithm-table-scroll { display: block; }
}
@media (max-width: 359.98px) {
  .algorithm-card-summary, .algorithm-card-details { grid-template-columns: minmax(0, 1fr); }
}
.orders-note { color: #bdbdbd; }
.orders-heading-row { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; border-bottom: 1px solid var(--ot-border); }
.orders-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; }
.orders-columns-button { margin-bottom: 8px; }
/* UI-04 slice 2: plain tab buttons, 44px minimum touch height. */
.orders-tab { min-height: 48px; padding: 0 14px; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--ot-muted); font: inherit; font-size: .95rem; cursor: pointer; }
.orders-tab[aria-selected="true"] { color: var(--ot-text); border-bottom-color: var(--ot-text); }
.orders-tab:focus-visible { outline: 2px solid var(--ot-focus); outline-offset: -3px; }
.orders-scroll { overflow-x: auto; max-width: 100%; border: 1px solid var(--ot-border); border-radius: 8px; scrollbar-color: #555 #202020; }
.orders-table { border-collapse: collapse; font-size: .875rem; white-space: nowrap; min-width: 100%; }
.orders-table th, .orders-table td { border-bottom: 1px solid #292929; border-right: 1px solid #242424; padding: 6px 8px; text-align: left; }
.orders-table th { background: var(--ot-surface); color: var(--ot-muted); font-weight: 500; }
.orders-table tbody tr:last-child td { border-bottom: 0; }
.orders-table tbody tr:hover { background: #191919; }
/* UI-05 slice 1: Customize Columns. Touch controls are at least 44px tall; the dialog is an inline region laid over the page. */
.orders-toolbar { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-start; margin: 0 0 12px; }
.orders-button { min-height: var(--ot-control-height); padding: 8px 16px; background: none; border: 1px solid var(--ot-border); border-radius: var(--ot-radius); color: var(--ot-text); font: inherit; font-size: .9rem; cursor: pointer; }
.orders-toolbar .orders-button, .orders-columns-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.orders-toolbar .orders-button, .orders-columns-button, .orders-tabs, .orders-tab { min-width: 0; overflow-wrap: anywhere; }
.orders-toolbar .orders-button span, .orders-columns-button span { min-width: 0; }
.orders-button svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.5; flex-shrink: 0; }
.orders-button:hover:not(:disabled) { background: #202020; border-color: #555; }
.orders-button:disabled { opacity: 0.4; cursor: not-allowed; }
.orders-button:focus-visible { outline: 2px solid var(--ot-focus); outline-offset: 2px; }
.trading-pager { margin-top: 16px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.2); }
.trading-pager .orders-note { margin: 0 0 8px; }
.trading-page-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 8px; }
.trading-page-controls label { display: flex; align-items: center; gap: 8px; }
.trading-page-controls select { min-height: var(--ot-control-height); padding: 0 12px; background: #222; color: #eee; border: 1px solid #777; border-radius: 6px; font: inherit; }
.trading-page-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 767px) {
    .trading-page-controls { justify-content: space-between; }
    .trading-page-buttons { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .trading-page-buttons .orders-button { padding: 0 6px; font-size: .8rem; }
}
.columns-dialog { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 20; width: min(440px, calc(100vw - 24px)); max-height: calc(100vh - 24px); display: flex; flex-direction: column; box-sizing: border-box; padding: 16px; background: #1b1b1b; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 12px; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6); color: #e0e0e0; }
.columns-dialog:focus { outline: none; }
.columns-content { display: contents; }
.columns-dialog-title { margin: 0 0 4px; font-size: 1.1rem; }
.columns-dialog-hint { margin: 0 0 8px; color: #bdbdbd; font-size: 0.85rem; }
.columns-error { margin: 0 0 8px; padding: 8px 12px; border: 1px solid #cf6679; border-radius: 8px; color: #ffb4ab; overflow-wrap: anywhere; }
.columns-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; margin: 0; padding: 0; list-style: none; }
.columns-row { display: flex; align-items: center; gap: 8px; min-height: var(--ot-control-height); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.columns-checkbox { width: 24px; height: 24px; margin: 0 0 0 10px; flex: 0 0 auto; }
.columns-label { flex: 1 1 auto; min-height: var(--ot-control-height); display: flex; align-items: center; font-size: 0.9rem; }
.columns-move { min-height: var(--ot-control-height); min-width: 44px; padding: 0 10px; background: none; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px; color: #e0e0e0; font: inherit; font-size: 0.8rem; cursor: pointer; }
.columns-move:disabled { opacity: 0.35; cursor: not-allowed; }
.columns-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.columns-action { min-height: var(--ot-control-height); min-width: 88px; padding: 0 16px; background: none; border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 999px; color: #e0e0e0; font: inherit; cursor: pointer; }
.columns-action-primary { background: #e9c46a; border-color: #e9c46a; color: #1b1b1b; font-weight: 600; }
.columns-move:focus-visible, .columns-action:focus-visible, .columns-checkbox:focus-visible { outline: 2px solid #e9c46a; outline-offset: 2px; }
/* Phase B mobile Orders: the compact two-line rows (CompactRowList.razor). Both the table wrapper (.orders-scroll) and the
   compact list (.compact-rows) are always rendered; these rules alone choose: below 768px the compact list, 768px and wider the
   table. No script measures the width. The disclosure is the one control in a row, 44px square; the details are a grid of
   two equal columns (one below 360px, and a long value spans both), with no minimum height and no slot for a hidden field. */
.compact-rows { display: none; margin: 0; padding: 0; list-style: none; min-width: 0; }
.compact-row { display: grid; grid-template-columns: minmax(0, 1fr) 44px; align-items: center; column-gap: 4px; padding: 10px 8px; border-bottom: 1px solid var(--ot-border); min-width: 0; }
.compact-summary { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 0; min-height: var(--ot-control-height); }
.compact-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; font-size: 1rem; }
.compact-line-secondary { color: var(--ot-muted); font-size: .9rem; }
.compact-field { overflow-wrap: anywhere; }
.compact-symbol { font-weight: 600; }
.compact-badge { margin-left: auto; padding: 4px 8px; border: 1px solid var(--ot-border); border-radius: 5px; font-size: .8rem; white-space: nowrap; }
.compact-side[data-side="Buy"], .compact-side[data-side="Cover"] { color: var(--ot-buy); }
.compact-side[data-side="Sell"] { color: var(--ot-sell); }
.compact-side[data-side="Short"] { color: var(--ot-short); }
/* Keep the authoritative status text; color supplements it and never substitutes a different state. */
.compact-badge[data-status="FILLED"] { color: var(--ot-buy); border-color: currentColor; }
.compact-badge[data-status="FILLING"], .compact-badge[data-status="CANCEL_REJECTED"] { color: #e9c46a; border-color: currentColor; }
.compact-badge[data-status="REJECTED"] { color: var(--ot-sell); border-color: currentColor; }
.compact-badge[data-status="NEW"], .compact-badge[data-status="ISSUED"] { color: #8ab4f8; border-color: currentColor; }
.compact-row[data-expanded="true"] { border: 1px solid var(--ot-border); border-radius: 7px; padding: 12px 10px; margin: 0; background: #131313; }
.compact-sep { color: #8a8a8a; }
.compact-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.compact-toggle { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; background: none; border: 0; border-radius: 6px; color: var(--ot-text); cursor: pointer; }
.compact-toggle:focus-visible { outline: 2px solid #e9c46a; outline-offset: 2px; }
.compact-chevron { display: block; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.compact-toggle[aria-expanded="true"] .compact-chevron { transform: translateY(3px) rotate(225deg); }
.compact-details { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin: 8px -10px 0; padding: 10px 12px; border-top: 1px solid #292929; }
.compact-detail { min-width: 0; }
.compact-detail-long { grid-column: 1 / -1; }
.compact-detail dt { color: var(--ot-muted); font-size: .85rem; }
.compact-detail dd { margin: 3px 0 0; font-size: .95rem; overflow-wrap: anywhere; }
@media (max-width: 1199.98px) {
  .orders-toolbar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 12px; }
  .orders-heading-row { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding-bottom: 8px; margin-bottom: 0; }
  .orders-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border: 1px solid var(--ot-border); border-radius: 6px; }
  .orders-tab { padding: 8px 4px; font-size: .85rem; }
  .orders-columns-button { width: 100%; margin: 0; }
}
@media (max-width: 767.98px) {
  .orders-view .orders-scroll { display: none; }
  .compact-rows { display: block; }
}
@media (max-width: 359.98px) {
  .compact-details { grid-template-columns: minmax(0, 1fr); }
}
.webnext-chatkit { height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 0; box-sizing: border-box; }
.recent-icon { width: 22px; height: 22px; flex: 0 0 auto; }
.order-filter-panel { box-sizing: border-box; width: min(1180px, 94vw); max-width: none; max-height: 92dvh; background: #161819; color: #eee; border: 1px solid #555; border-radius: 12px; padding: 24px; margin: auto; overflow: auto; }
.order-filter-panel::backdrop { background: rgba(0, 0, 0, .75); }
.order-filter-panel h3 { margin: 0; }
.order-filter-panel p { color: #bdbdbd; font-size: .85rem; }
.filter-back { margin-bottom: 16px; }
.filter-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.filter-tags .orders-button { max-width: 100%; overflow-wrap: anywhere; }
.order-filter-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.order-filter-groups fieldset { min-width: 0; margin: 0; padding: 12px; border: 1px solid #454545; border-radius: 10px; }
.order-filter-groups legend { padding: 0 8px; font-weight: 600; }
.order-filter-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.order-filter-grid label { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: .85rem; }
.order-filter-grid input, .order-filter-grid select { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--ot-control-height); padding: 8px; background: #202020; color: #eee; border: 1px solid #666; border-radius: 6px; font: inherit; font-size: 16px; color-scheme: dark; }
.order-filter-grid :focus-visible { outline: 2px solid #e9c46a; outline-offset: 2px; }
.order-filter-grid select:disabled { opacity: .6; }
.order-filter-panel .columns-actions { justify-content: space-between; margin-top: 20px; }
.order-filter-panel .filter-done { background: #fafafa; color: #111; font-weight: 600; min-width: 100px; }
@media (max-width: 1023.98px) {
  .order-filter-groups { grid-template-columns: minmax(0, 1fr); }
  .order-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .order-filter-panel { position: fixed; inset: 0; width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); }
  .order-filter-panel .columns-actions { flex-direction: column; }
}
@media (max-width: 359.98px) { .order-filter-grid { grid-template-columns: minmax(0, 1fr); } }
.chatkit-diagnostic { display: flex; flex-direction: column; gap: 4px; border: 1px solid #cf6679; border-radius: 8px; padding: 12px; overflow-wrap: anywhere; }
.chatkit-diagnostic-meta, .chatkit-diagnostic-problem { color: #bdbdbd; font-size: 0.8rem; }

.order-export-panel { width: min(620px, 94vw); }
.order-export-panel .order-filter-grid { grid-template-columns: minmax(0, 1fr); }
.export-download { display: inline-flex; align-items: center; margin-top: 8px; }
@media (max-width: 767.98px) { .order-export-panel { width: 100%; } }

/* UI-06: one metric presenter for detailed account and product rows; no fixed header or horizontal canvas. */
.positions-workspace { max-width: 1440px; margin: 0 auto; padding: 16px; min-width: 0; }
.position-orders-navigation { max-width: 1440px; margin: 0 auto; padding: 16px; }
.position-account { border: 1px solid #343a46; border-radius: 14px; padding: 16px; margin: 16px 0; background: #171d29; min-width: 0; }
.position-row-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.position-row-heading h3, .position-row-heading h4 { margin: 0; overflow-wrap: anywhere; font-size: 1rem; }
.position-row-heading h3 span { display: block; font-weight: normal; color: #bbc3d0; margin-top: 4px; }
.position-row-heading .orders-button { flex-shrink: 0; }
.position-status { display: inline-block; margin-top: 6px; font-size: .8rem; color: #c7cbd2; }
.position-status[data-status=enabled], .position-metric[data-tone=positive] dd { color: var(--ot-positive); }
.position-status[data-status=disabled], .position-metric[data-tone=negative] dd { color: var(--ot-negative); }
.position-status[data-status=restricted] { color: #f6cc76; }
.position-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 20px; margin: 12px 0; }
.position-summary .position-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.position-metric { min-width: 0; overflow-wrap: anywhere; }
.position-metric dt { font-size: .78rem; color: #bbc3d0; }
.position-metric dd { margin: 4px 0 0; font-variant-numeric: tabular-nums; font-size: .95rem; }
.position-details { border-top: 1px solid #343a46; }
.position-products { margin-top: 12px; border-left: 2px solid #3c4d65; padding-left: 12px; }
.position-product { padding: 12px; border: 1px solid #343a46; border-radius: 10px; margin: 10px 0; background: #121823; }
.position-products-toggle { margin-top: 8px; min-height: var(--ot-control-height); }
@media (max-width: 1100px) { .position-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .positions-workspace { padding: 8px; }
  .position-account { padding: 12px; margin: 12px 0; }
  .position-products { padding-left: 8px; }
  .position-product { padding: 10px; }
  .position-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .position-summary .position-metrics { gap: 6px; }
  .position-row-heading .orders-button { min-height: var(--ot-control-height); }
  .position-metric dd { font-size: .86rem; }
}

/* Algorithm preferences use a native modal: background focus is inert and only the list scrolls. */
.algorithm-workspace { min-width: 0; padding: 16px; }
.algorithm-column-editor { box-sizing: border-box; width: min(640px, 94vw); max-height: 92dvh; padding: 20px; border: 1px solid #555; border-radius: 12px; background: #1b1b1b; color: #eee; overflow: hidden; }
.algorithm-column-editor[open] { display: flex; flex-direction: column; }
.algorithm-column-editor::backdrop { background: rgba(0, 0, 0, .75); }
.algorithm-column-editor .columns-editor { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.algorithm-column-editor .columns-content { display: block; min-height: 0; overflow-y: auto; }
.algorithm-column-editor .columns-row { display: grid; grid-template-columns: 44px minmax(0, 1fr) 76px 76px; gap: 6px; }
.algorithm-column-editor .columns-label { overflow-wrap: anywhere; }
.algorithm-column-editor .columns-move { padding: 4px; font-size: 1rem; }
.algorithm-column-editor .columns-actions { flex-shrink: 0; flex-wrap: wrap; }
.algorithm-column-editor .columns-action:disabled { opacity: .5; cursor: not-allowed; }
.algorithm-save-status { margin: 0 0 8px; overflow-wrap: anywhere; }
.run-log-dialog { box-sizing: border-box; width: min(1120px, 94vw); height: min(900px, 92dvh); max-width: none; max-height: 92dvh; padding: 16px; border: 1px solid #555; border-radius: 12px; background: #1b1b1b; color: #eee; overflow: hidden; }
.run-log-dialog[open] { display: flex; flex-direction: column; }
.run-log-dialog::backdrop { background: rgba(0,0,0,.75); }
.historical-algorithms { margin-top: 24px; border-top: 1px solid #555; padding-top: 16px; min-width: 0; }
.history-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.history-heading h2, .history-heading h3 { margin: 0; overflow-wrap: anywhere; }
.history-heading p { margin: 4px 0; }
.history-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 12px 0; }
.history-filters label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.history-filters input, .history-filters select { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--ot-control-height); font: inherit; padding: 8px; background: #252525; color: #eee; border: 1px solid #777; border-radius: 6px; }
.history-filters .run-log-controls { grid-column: 1 / -1; }
.historical-algorithms .orders-button { min-height: var(--ot-control-height); }
.history-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.history-table th, .history-table td { text-align: left; vertical-align: top; padding: 12px 6px; border-bottom: 1px solid #444; overflow-wrap: anywhere; }
.history-table small { display: block; }
.history-cards { display: none; }
@media (max-width: 1023.98px) {
  .history-table { display: none; }
  .history-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .history-card { border: 1px solid #555; padding: 12px; border-radius: 8px; overflow-wrap: anywhere; min-width: 0; }
  .history-card dd { margin: 4px 0 12px; }
  .history-card dt { color: #bbb; }
  .history-filters { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .history-cards, .history-filters { grid-template-columns: minmax(0,1fr); }
  .history-heading { align-items: start; }
}
.run-log-header { display: flex; align-items: start; justify-content: space-between; gap: 12px; flex-shrink: 0; }
.run-log-header div { min-width: 0; overflow-wrap: anywhere; }
.run-log-header h2 { margin: 0; font-size: 1.2rem; }
.run-log-header p { margin: 8px 0; }
.run-log-body { min-height: 0; overflow: auto; flex: 1; overflow-wrap: anywhere; }
.run-log-controls { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.run-log-dialog .orders-button, .run-log-dialog input, .run-log-dialog select { min-height: var(--ot-control-height); max-width: 100%; box-sizing: border-box; }
.run-log-dialog footer { flex-shrink: 0; }
.run-log-dialog footer .trading-pager { margin: 6px 0 0; }
.run-log-dialog .trading-pager > p { margin: 6px 0; }
.run-log-dialog .trading-page-controls { gap: 8px; }
.run-log-dialog .trading-page-controls label { flex-wrap: wrap; }
.run-log-dialog .trading-page-buttons { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; gap: 4px; }
.run-log-dialog .trading-page-buttons button { min-width: 0; padding: 6px 2px; overflow-wrap: anywhere; font-size: .8rem; }
.run-log-filters { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; padding: 12px 0; }
.run-log-filters h3, .run-log-filters .run-log-controls, .run-log-filters [role=alert] { grid-column: 1 / -1; }
.run-log-filters label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.run-log-filters input, .run-log-filters select { width: 100%; padding: 8px; background: #252525; color: #eee; border: 1px solid #777; border-radius: 6px; }
.run-log-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.run-log-table th, .run-log-table td { text-align: left; vertical-align: top; padding: 12px 8px; border-bottom: 1px solid #444; white-space: pre-wrap; overflow-wrap: anywhere; }
.run-log-table small { display: block; }
.recorded-configuration pre { white-space: pre-wrap; overflow-wrap: anywhere; overflow: auto; padding: 12px; background: #111; border: 1px solid #555; border-radius: 8px; }
@media (max-width: 767.98px) {
  .run-log-dialog { position: fixed; inset: 0; width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); }
  .run-log-filters { grid-template-columns: minmax(0,1fr); }
  .run-log-table, .run-log-table tbody { display: block; }
  .run-log-table thead { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
  .run-log-table tr { display: block; border: 1px solid #555; border-radius: 8px; margin: 12px 0; padding: 8px; }
  .run-log-table td { display: block; border: 0; padding: 8px; }
  .run-log-table td::before { content: attr(data-label); display: block; color: #bbb; font-size: .85em; margin-bottom: 4px; }
}
@media (max-width: 767.98px) {
  .algorithm-column-editor { position: fixed; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); }
  .algorithm-column-editor .columns-row { grid-template-columns: 44px minmax(0, 1fr) 64px 64px; }
}

/* Profile and configuration controls: independent panels with one scroll owner per dialog. */
.system-monitor { padding: 16px; min-width: 0; }
.account-overview { padding: 16px; min-width: 0; overflow-wrap: anywhere; }
.settings-workspace { padding: 16px; min-width: 0; overflow-wrap: anywhere; }
.settings-layout { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: 24px; }
.settings-index { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.settings-index button[aria-pressed="true"] { border-color: #8fceff; background: #233342; }
.settings-detail { min-width: 0; max-width: 1000px; }
.settings-field { display: flex; flex-direction: column; gap: 6px; margin: 12px 0; max-width: 26em; }
.settings-field select { min-height: var(--ot-control-height); width: 100%; min-width: 0; max-width: 100%; font: inherit; }
.settings-data { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 12px; }
.settings-data dd { margin: 0; }
.settings-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; }
.settings-external-link { display: inline-flex; align-items: center; min-height: var(--ot-control-height); color: #8fceff; }
.settings-back { display: none; }
@media (max-width: 767.98px) {
  .settings-layout { grid-template-columns: minmax(0, 1fr); }
  .settings-workspace[data-detail="true"] .settings-index, .settings-workspace[data-detail="false"] .settings-detail { display: none; }
  .settings-back { display: inline-flex; margin-bottom: 12px; }
}
@media (max-width: 479.98px) { .settings-data { grid-template-columns: minmax(0, 1fr); gap: 6px; } .settings-data dd { margin-bottom: 12px; } }
.account-overview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 350px), 1fr)); gap: 16px; }
.account-overview dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 12px; }
.account-overview dd { margin: 0; }
.account-brokers { list-style: none; padding: 0; margin: 0; }
.account-brokers li + li { border-top: 1px solid #555; margin-top: 16px; padding-top: 12px; }
@media (max-width: 479.98px) { .account-overview dl { grid-template-columns: minmax(0, 1fr); gap: 6px; } .account-overview dd { margin-bottom: 12px; } }
.system-monitor h1, .system-monitor h2, .system-monitor p, .system-monitor dd { overflow-wrap: anywhere; }
.monitor-summary, .monitor-connection-grid dl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 8px; }
.monitor-summary dd, .monitor-connection-grid dd { margin: 0; }
.monitor-tabs { margin: 20px 0; }
.monitor-tabs button[aria-pressed="true"] { border-color: #8fceff; background: #233342; }
.monitor-search { display: flex; flex-direction: column; gap: 6px; max-width: 32em; }
.monitor-search input { width: 100%; min-width: 0; min-height: var(--ot-control-height); box-sizing: border-box; font: inherit; padding: 8px; background: #242424; color: #eee; border: 1px solid #666; border-radius: 8px; }
.monitor-events { list-style: none; padding: 0; margin: 16px 0; }
.monitor-events li { padding: 14px; border: 1px solid #555; border-radius: 10px; margin: 10px 0; }
.monitor-event-heading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; color: #ccc; overflow-wrap: anywhere; }
.monitor-events p, .monitor-connections p { white-space: pre-wrap; overflow-wrap: anywhere; margin-bottom: 0; }
.monitor-events summary { min-height: var(--ot-control-height); padding: 10px 0; overflow-wrap: anywhere; cursor: pointer; }
.monitor-connection-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 12px; }
.release-content { overflow-wrap: anywhere; }
.release-content pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.release-content a { color: #8fceff; }
@media (max-width: 479.98px) { .monitor-summary, .monitor-connection-grid dl { grid-template-columns: minmax(0, 1fr); } }
.algorithm-profiles { min-width: 0; margin: 20px 0; }
.profile-heading, .profile-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; min-width: 0; }
.profile-heading { justify-content: space-between; }
.profile-heading > div { min-width: 0; }
.profile-heading h2, .profile-heading h3, .profile-card p { overflow-wrap: anywhere; margin: 8px 0; }
.profile-tools label { display: flex; flex-direction: column; gap: 4px; min-width: 0; max-width: 100%; }
.profile-grid { display: grid; gap: 12px; margin-top: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.profile-card { min-width: 0; padding: 16px; border: 1px solid #555; border-radius: 12px; }
.profile-card[data-selected="True"], .profile-card[data-selected="true"] { border-color: #8fceff; }
.profile-selection-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.profile-table tr[data-selected="True"], .profile-table tr[data-selected="true"] { background: #233342; }
.profile-table-scroll { display: none; }
@media (min-width: 1200px) {
  .profile-grid { display: none; }
  .profile-table-scroll { display: block; overflow: auto; margin-top: 16px; }
  .profile-table { width: 100%; min-width: 1160px; table-layout: fixed; border-collapse: collapse; }
  .profile-table td, .profile-table th { text-align: left; vertical-align: top; padding: 8px 6px; border-bottom: 1px solid #555; overflow-wrap: anywhere; }
  .profile-table td input, .profile-table td select { box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--ot-control-height); padding: 6px; background: #252525; color: #eee; border: 1px solid #777; border-radius: 6px; font: inherit; }
}
.profile-tools input, .profile-tools select, .configuration-fields input, .configuration-fields select { box-sizing: border-box; min-width: 0; max-width: 100%; width: 100%; padding: 10px; min-height: var(--ot-control-height); border: 1px solid #777; border-radius: 6px; background: #252525; color: #eee; font: inherit; }
.configuration-dialog { width: min(960px, calc(100% - 32px)); max-width: 100%; height: min(900px, calc(100dvh - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; margin: auto; padding: 16px; border: 1px solid #666; border-radius: 14px; background: #191919; color: #eee; }
.configuration-dialog[open] { display: flex; flex-direction: column; gap: 12px; }
.configuration-dialog::backdrop { background: #000b; }
.configuration-dialog header, .configuration-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; flex-shrink: 0; }
.configuration-dialog footer .configuration-save-error { flex-basis:100%; margin:0; color:var(--c-danger, #ff9b9b); overflow-wrap:anywhere; }
.configuration-dialog h2 { font-size: 1.2rem; overflow-wrap: anywhere; margin: 0; min-width: 0; }
.configuration-dialog header h2 { flex: 1 1 140px; }
.configuration-body { min-height: 0; min-width: 0; overflow: auto; overscroll-behavior: contain; padding: 4px; }
.configuration-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 12px 0; }
.configuration-fields label { display: flex; flex-direction: column; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.configuration-fields .configuration-check { flex-direction: row; align-items: center; }
.configuration-check input { width: 24px; height: 24px; flex: 0 0 24px; }
.configuration-sections details { border-top: 1px solid #555; padding: 8px 0; }
.configuration-sections summary { min-height: var(--ot-control-height); padding: 10px 0; cursor: pointer; font-weight: 600; }
.configuration-preview { white-space: pre-wrap; overflow-wrap: anywhere; }
.configuration-entry-list { padding: 0; list-style: none; display: grid; gap: 12px; }
.configuration-entry-list > li { border: 1px solid #555; border-radius: 8px; padding: 12px; min-width: 0; overflow-wrap: anywhere; }
.symbol-list-editor { min-width: 0; }
.symbol-paste, .symbol-file { display: flex; flex-direction: column; gap: 8px; margin: 16px 0; }
.symbol-paste textarea { width: 100%; min-width: 0; box-sizing: border-box; padding: 10px; font: inherit; background: #252525; color: #eee; border: 1px solid #777; border-radius: 6px; }
.symbol-file input { box-sizing: border-box; min-height: var(--ot-control-height); max-width: 100%; }
.symbol-list { padding: 0; list-style: none; }
.symbol-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-bottom: 1px solid #555; padding: 6px 0; }
.symbol-list li span { overflow-wrap: anywhere; min-width: 0; }
@media (max-width: 767.98px) {
  .configuration-dialog { position: fixed; inset: 0; width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); }
  .configuration-fields { grid-template-columns: minmax(0,1fr); }
}
.signal-example { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.signal-connections .settings-field { margin-block: 1rem .5rem; }
.signal-connections .entry-input { min-height: var(--ot-control-height); width: 100%; box-sizing: border-box; font: inherit; background: #252525; color: #eee; border: 1px solid #777; border-radius: 6px; padding: 8px; }

/* Session-owned manual tickets: one component tree at every width. */
.manual-workspace{min-width:0;padding:clamp(.5rem,2vw,1.5rem)}
.manual-toolbar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.manual-toolbar h1{flex:1 1 14rem;margin:.5rem 0}
.manual-ticket{border:1px solid var(--border,#444);border-radius:12px;margin:.75rem 0;overflow:hidden;min-width:0}
.manual-ticket-summary{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.manual-ticket-summary:focus-visible{outline:2px solid #68b8ff;outline-offset:-3px}
.manual-ticket-body{padding:1rem;border-top:1px solid var(--border,#444)}
.manual-ticket-body[hidden]{display:none}
.manual-ticket-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.85rem;min-width:0}
.manual-field{display:flex;flex-direction:column;gap:.35rem;min-width:0;overflow-wrap:anywhere}
.manual-field input,.manual-field select{box-sizing:border-box;width:100%;min-width:0;min-height:var(--ot-control-height);border:1px solid #647084;border-radius:6px;padding:.55rem;background:#171c26;color:inherit;font:inherit}
.manual-field :disabled{opacity:.65}
.manual-check{min-height:var(--ot-control-height);display:flex;gap:.65rem;align-items:center}
.manual-check input{width:24px;height:24px;flex-shrink:0}
.manual-price{display:flex;flex-direction:column;gap:.6rem;padding:.25rem}
.manual-settings{padding:1rem;border:1px solid #647084;border-radius:12px;margin:1rem 0}
.manual-route-status{overflow-wrap:anywhere}
@media(max-width:600px){.manual-ticket-body{padding:.75rem}.manual-toolbar .orders-button{flex:1 1 auto}.manual-ticket-fields{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.manual-ticket-fields{grid-template-columns:1fr}}
.signal-expression { min-width: 0; max-width: 100%; }
.signal-node { min-width: 0; border: 1px solid #454545; border-radius: 12px; margin-block: 10px; overflow-wrap: anywhere; }
.signal-node-heading { display: flex; gap: 8px; align-items: stretch; padding: 8px; }
.signal-node-select { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: flex-start; text-align: left; background: transparent; color: inherit; border: 1px solid transparent; border-radius: 8px; min-height: var(--ot-control-height); padding: 10px; overflow-wrap: anywhere; }
.signal-node-select[aria-pressed=true] { border-color: #b6b6b6; background: #303030; }
.signal-node-select span { font-size: .875rem; color: #bbb; }
.signal-node-problem { color: #ffbcae; margin: 8px 12px; }
.signal-children { padding-inline: 12px; }
.signal-properties { padding: 12px; border-block-start: 1px solid #454545; min-width: 0; }
.signal-properties .manual-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; margin-block: 12px; }
.signal-toolbox { padding-block: 12px; min-width: 0; }
.signal-toolbox summary { cursor: pointer; min-height: var(--ot-control-height); display: flex; align-items: center; }
.signal-toolbox-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 8px; }
.signal-toolbox-items button { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 767px) { .signal-children { padding-inline: 3px; } .signal-node .signal-node .signal-children { padding-inline: 0; } }
.blueprint-canvas-panel{min-width:0;max-width:100%;}
.blueprint-viewport{position:relative;box-sizing:border-box;width:100%;min-width:0;border:1px solid #555;border-radius:12px;overflow:hidden;background:#151515;}
.blueprint-viewport svg{display:block;width:100%;height:clamp(320px,55vh,660px);touch-action:none;user-select:none;}
.blueprint-state{cursor:pointer;fill:#eee;}
.blueprint-state rect{fill:#252b35;stroke:#9299a7;stroke-width:2;}
.blueprint-state.selected rect{stroke:#77bfff;stroke-width:3;}
.blueprint-state text{font-size:12px;pointer-events:none;}
.blueprint-state-kind{fill:#bac6d8;font-size:10px!important;}
.blueprint-state:focus rect,.blueprint-link:focus .blueprint-link-line{stroke:#ffd565;stroke-width:4;}
.blueprint-link{color:#a2b5c9;cursor:pointer;}
.blueprint-link.selected{color:#77bfff;}
.blueprint-link-hit{stroke:transparent;stroke-width:22;fill:none;}
.blueprint-link-line{stroke:currentColor;stroke-width:2;fill:none;pointer-events:none;}
.blueprint-link text{fill:currentColor;font-size:12px;}
.blueprint-pointer-error{position:absolute;left:12px;right:12px;bottom:0;background:#472329;padding:8px;}
.blueprint-properties{min-width:0;max-width:100%;overflow-wrap:anywhere;}
.blueprint-tag-row{display:grid;grid-template-columns:minmax(70px,1fr) minmax(90px,2fr) auto;gap:8px;align-items:end;margin:8px 0;}
@media(max-width:599px){.blueprint-tag-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr);}.blueprint-tag-row>button{grid-column:1/-1;}}
.blueprint-designer-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;}
@media(min-width:1200px){.blueprint-designer-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);}.blueprint-designer-grid>.blueprint-properties{max-height:80vh;overflow-y:auto;padding-right:8px;}}

/* Sub-algorithm groups and logical legs share compact, user-selected fields. */
.smrt-hierarchy, .smrt-group, .smrt-leg { min-width: 0; overflow-wrap: anywhere; }
.smrt-groups, .smrt-legs { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.smrt-group, .smrt-leg { border: 1px solid #484848; border-radius: .7rem; padding: .75rem; }
.smrt-legs { margin-top: .75rem; }
.smrt-leg { background: #1a1a1a; }
.smrt-leg header { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between; }
.smrt-hierarchy summary { min-height: var(--ot-control-height); padding: .65rem 0; box-sizing: border-box; cursor: pointer; }
.smrt-hierarchy .orders-button { white-space: normal; max-width: 100%; }
@media(min-width: 768px) { .smrt-legs { grid-template-columns: repeat(auto-fit,minmax(min(100%,24rem),1fr)); } }
.replay-workspace { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; min-width:0; }
.replay-workspace header { grid-column:1/-1; }
.replay-section { min-width:0; padding:1rem; border:1px solid #555; border-radius:.75rem; overflow-wrap:anywhere; }
.replay-section h2 { margin-top:0; }
.replay-section .manual-field { margin-block:.75rem; }
.replay-actions { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.replay-sessions { display:grid; gap:.5rem; }
.replay-session { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; padding:.75rem; border:1px solid #555; border-radius:.5rem; min-width:0; }
.replay-session > * { min-width:0; overflow-wrap:anywhere; }
.replay-session strong { flex:1 1 9rem; }
.replay-facts { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:.5rem; }
.replay-facts dd { margin:0; }
.replay-section progress { width:100%; }
@media(min-width:75rem) { .replay-workspace { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }.replay-workspace > .replay-section:first-of-type { grid-row:span 2; } }
.compact-row-actions { grid-column:1/-1; min-width:0; padding:.75rem; }
.order-cancel-message { white-space:normal; max-width:24rem; min-width:0; }
.order-cancel-message summary { min-height:var(--ot-control-height); padding:var(--ot-control-padding) 4px; cursor:pointer; white-space:nowrap; font-size:.875rem; }
.order-cancel-message p { margin:4px 0; line-height:1.4; }

.algorithm-batch-targets{list-style:none;padding:0;display:grid;gap:12px}.algorithm-batch-targets li{display:grid;gap:4px;padding:12px;border:1px solid #555;border-radius:12px;overflow-wrap:anywhere}.algorithm-batch-results{margin:12px 0;overflow-wrap:anywhere}.algorithm-batch-results summary{min-height:var(--ot-control-height);display:flex;align-items:center;cursor:pointer}

.profile-launch-results{margin:12px 0;overflow-wrap:anywhere}.profile-launch-results summary{min-height:var(--ot-control-height);display:flex;align-items:center;cursor:pointer}.profile-launch-results article{padding:12px;border-bottom:1px solid #555}

.webnext-chatkit-host{flex:1;min-height:0;width:100%;height:100%;position:relative}.webnext-chatkit-host[hidden]{display:none}.webnext-chatkit-host openai-chatkit{display:block;width:100%;height:100%}

.webnext-recents{min-width:0}.recents-heading{display:flex;align-items:center;justify-content:space-between}.recents-heading h2{margin:0}.recents-list{list-style:none;padding:0;margin:0}.recents-list button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 8px;border:0;background:transparent;color:inherit;text-align:left;font:inherit;border-radius:10px}.recents-list button:hover,.recents-list button[aria-current=true]{background:#333}.recents-list button span:last-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recents-link{display:block;min-height:var(--ot-control-height);padding:10px 8px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.recents-search{display:grid;gap:6px;margin:12px 0;font-size:.875rem}.recents-search input{width:100%;min-width:0;min-height:var(--ot-control-height);box-sizing:border-box;background:#222;color:#eee;border:1px solid #666;border-radius:8px;padding:8px;font:inherit}.recents-status,.recents-problem{font-size:.875rem;overflow-wrap:anywhere;color:#bbb}.recents-problem{color:#ffb3b3}.webnext-recents button:focus-visible,.recents-search input:focus-visible{outline:2px solid #9ecbff;outline-offset:2px}

/* Application-wide density: shared across Orders, positions, algorithms,
   profile editors, designers, settings and monitors. No fixed row heights:
   enlarged text, long values and explicitly expanded details can still grow. */
.shell-content { padding:12px 16px calc(12px + env(safe-area-inset-bottom)); }
.orders-button { padding:var(--ot-control-padding) 10px; line-height:1.4; }
.orders-toolbar, .algorithm-bulk-actions, .algorithm-actions, .profile-tools,
.manual-toolbar, .history-heading { gap:8px; }
.configuration-fields, .manual-ticket-fields, .history-filters, .run-log-filters,
.order-filter-grid, .profile-grid, .settings-data, .account-overview dl,
.position-metrics, .signal-properties .manual-fields, .blueprint-designer-grid {
  gap:var(--ot-field-gap) 12px;
}
.configuration-fields label, .history-filters label, .run-log-filters label { gap:4px; }
.configuration-fields, .history-filters, .run-log-filters { padding:8px 0; }
:is(.profile-tools, .configuration-fields, .manual-field, .history-filters,
    .run-log-filters, .order-filter-grid, .profile-table td, .monitor-search,
    .settings-field, .trading-page-controls, .recents-search) :is(input:not([type=checkbox]):not([type=radio]), select),
.signal-connections .entry-input {
  min-height:var(--ot-control-height); padding:var(--ot-control-padding) 8px;
  line-height:1.4; font-size:1rem;
}
.configuration-dialog[open] { gap:8px; }
.configuration-sections summary, .smrt-hierarchy summary,
.monitor-events summary { padding:var(--ot-control-padding) 0; }
.profile-card, .position-account, .position-product, .monitor-events li,
.configuration-entry-list > li, .manual-ticket-body, .manual-settings,
.signal-properties, .replay-section { padding:12px; }
.position-account, .position-product, .algorithm-card, .monitor-events li { margin-block:8px; }
.position-metric dd, .algorithm-card dd { margin-top:2px; }
.settings-layout, .account-overview-grid { gap:var(--ot-section-gap); }
.orders-table td, .orders-table th { line-height:1.4; }
.run-log-table td, .run-log-table th, .history-table td, .history-table th { padding:6px 8px; }
.trading-pager { margin-top:10px; padding-top:8px; }
@media (min-width:768px) and (hover:hover) and (pointer:fine) {
  :is(.profile-tools, .configuration-fields, .manual-field, .history-filters,
      .run-log-filters, .order-filter-grid, .profile-table td, .monitor-search,
      .settings-field, .trading-page-controls, .recents-search) :is(input:not([type=checkbox]):not([type=radio]), select),
  .signal-connections .entry-input { font-size:.875rem; }
  .orders-table td, .orders-table th { padding:2px 8px; }
  .profile-table td, .profile-table th { padding:4px 6px; }
  .orders-tab { min-height:var(--ot-control-height); padding:6px 10px; }
  .columns-label, .columns-row, .columns-move { min-height:var(--ot-control-height); }
  .columns-move { min-width:var(--ot-control-height); }
  .index-header, .chat-header, .app-bar { min-height:52px; padding-block:6px; }
  .nav-item { min-height:var(--ot-control-height); padding:6px 10px; column-gap:10px; }
  .recents-list button { min-height:var(--ot-control-height); padding:6px 8px; }
  .recents-link { min-height:var(--ot-control-height); padding:6px 8px; }
}
/* Hybrid input still needs touch sizing and 16px fields, including on tablets
   with an attached mouse. Phone rows keep their 44px disclosure target. */
@media (any-pointer:coarse) {
  :root { --ot-control-height:44px; --ot-control-padding:8px; }
  .orders-table td, .orders-table th { padding:6px 8px; }
  :is(.profile-tools, .configuration-fields, .manual-field, .history-filters,
      .run-log-filters, .order-filter-grid, .profile-table td, .monitor-search,
      .settings-field, .trading-page-controls, .recents-search) :is(input:not([type=checkbox]):not([type=radio]), select),
  .signal-connections .entry-input { font-size:1rem; }
}
@media (max-width:767.98px) {
  .shell-content { padding:8px 10px calc(12px + env(safe-area-inset-bottom)); }
  .compact-row { padding-block:6px; }
  .compact-row-actions { padding:8px 0; }
}
/* One panel/field system; the shell remains the approved dark chat/navigation. */
:is(.algorithm-profiles,.running-algorithms,.historical-algorithms,.position-account,
    .manual-ticket,.manual-settings,.profile-card,.history-card,.monitor-events li,
    .monitor-connection-grid > *, .settings-card-grid > *, .account-overview-grid > *,
    .replay-section,.smrt-group,.smrt-leg,.signal-properties,.blueprint-properties) {
  background:var(--ot-panel); border:1px solid var(--ot-panel-border); border-radius:8px;
}
.algorithm-profiles,.running-algorithms,.historical-algorithms { padding:12px; margin:0; }
.algorithm-workspace { display:grid; gap:12px; padding:0; }
.positions-workspace,.manual-workspace,.system-monitor,.account-overview,.settings-workspace { padding:0; }
.position-product,.algorithm-card,.configuration-entry-list > li { background:var(--ot-panel-inset); border-color:var(--ot-panel-border); }
.orders-scroll,.profile-table-scroll,.algorithm-table-scroll { border:1px solid var(--ot-panel-border); border-radius:8px; background:var(--ot-panel); }
:is(.orders-table,.profile-table,.history-table,.run-log-table) :is(td,th) { border-color:var(--ot-panel-border); }
:is(.orders-table,.profile-table,.history-table,.run-log-table) th { background:var(--ot-panel-inset); color:var(--ot-label); font-weight:500; }
:is(.orders-table,.profile-table,.history-table) tbody tr:hover { background:var(--ot-panel-selected); }
:is(.columns-dialog,.order-filter-panel,.configuration-dialog,.algorithm-column-editor,.run-log-dialog) { background:var(--ot-panel); border-color:var(--ot-panel-border); }
:is(.configuration-fields,.profile-tools,.profile-table,.manual-field,.history-filters,
    .run-log-filters,.order-filter-grid,.settings-field,.trading-page-controls,.monitor-search,
    .recents-search,.signal-connections) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
.symbol-paste textarea { background:var(--ot-input); color:var(--ot-text); border-color:var(--ot-panel-border); color-scheme:dark; }
.configuration-fields label,.manual-field > span,.profile-tools label,.position-metric dt { color:var(--ot-label); }
.configuration-sections details,.position-details,.position-products { border-color:var(--ot-panel-border); }
.orders-button { border-color:var(--ot-panel-border); }
.orders-button:hover:not(:disabled) { background:var(--ot-panel-selected); border-color:var(--ot-info); }
.orders-button:disabled { opacity:.6; }
.profile-toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:10px 16px; margin:10px 0; }
.profile-toolbar .profile-tools { align-items:end; }
.profile-search-tools { margin-left:auto; }
.profile-toolbar label { font-size:.875rem; }
.profile-heading h2,.algorithm-pane-header h2,.history-heading h2 { margin:0; font-size:1.125rem; font-weight:600; }
.algorithm-header-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.algorithm-header-tools .algorithm-bulk-actions { margin:0; }
.algorithm-profiles > [data-testid=profile-launch-controls] { padding:8px 0; margin:0 0 8px; border-bottom:1px solid var(--ot-panel-border); }
.profile-table { border-collapse:collapse; table-layout:auto; width:max-content; min-width:100%; }
.profile-table th { white-space:nowrap; }
.profile-table td { vertical-align:middle; min-width:7rem; max-width:20rem; }
.profile-table td:has([data-testid=profile-execution]) { min-width:calc(32rem + 18px); max-width:none; }
.profile-table [data-testid=profile-execution] .configuration-fields { grid-template-columns:repeat(4,minmax(8rem,1fr)); padding:0; gap:6px; }
.profile-table .profile-tools { flex-wrap:nowrap; }
.profile-table .profile-tools button { white-space:nowrap; }
.profile-table td input { min-width:8rem; }
.profile-table td select { min-width:7rem; }
.profile-table tr[data-selected=true],.profile-card[data-selected=true],.signal-node-select[aria-pressed=true] { background:var(--ot-panel-selected); border-color:var(--ot-info); }
.profile-card h3 { margin:0; font-size:1rem; }
:is(.algorithm-profiles,.running-algorithms,.historical-algorithms) > p { margin:8px 0; }
:is(.manual-toolbar,.orders-toolbar):empty { display:none; }
.manual-toolbar { justify-content:flex-start; }
.signal-properties,.blueprint-properties { padding:12px; }
.signal-node { border-color:var(--ot-panel-border); }
.signal-node-select { background:var(--ot-panel); }
.blueprint-viewport { background:var(--ot-panel-inset); border-color:var(--ot-panel-border); }
/* Side and state remain written out. Color is redundant information on every
   renderer, rather than styling desktop differently from the phone summary. */
[data-field=Side][data-value=Buy i],[data-field=Side][data-value=Cover i],
[data-side=Buy],[data-side=Cover] { color:var(--ot-buy); }
[data-field=Side][data-value=Sell i],[data-side=Sell] { color:var(--ot-sell); }
[data-field=Side][data-value=Short i],[data-side=Short] { color:var(--ot-short); }
[data-tone=positive] { color:var(--ot-positive); }
[data-tone=negative] { color:var(--ot-negative); }
[data-field=Status]:is([data-value=FILLED i],[data-value=Started i],[data-value=Launched i],[data-status=FILLED]) { color:var(--ot-positive); }
[data-field=Status]:is([data-value=FILLING i],[data-value=PARTIAL i],[data-value=Deferred i],[data-value=Draining i],[data-value=Stopping i],[data-value=Flattening i],[data-value=CANCEL_REJECTED i],[data-status=FILLING],[data-status=CANCEL_REJECTED]) { color:var(--ot-warning); }
[data-field=Status]:is([data-value=REJECTED i],[data-value=Failed i],[data-value=Interrupted i],[data-status=REJECTED]) { color:var(--ot-negative); }
[data-field=Status]:is([data-value=NEW i],[data-value=ISSUED i],[data-status=NEW],[data-status=ISSUED]) { color:var(--ot-info); }
[data-field=Status]:is([data-value=CANCELED i],[data-value=Stopped i],[data-value=Flattened i],[data-status=CANCELED]) { color:var(--ot-idle); }
.orders-button:is([data-testid=order-cancel],[data-action=Stop],[data-testid=algorithm-stop-all],[data-testid=position-stop]) { color:var(--ot-negative); border-color:var(--ot-negative); }
.orders-button:is([data-action=Flatten],[data-action=Drain],[data-testid=algorithm-flatten-all],[data-testid=position-flatten]) { color:var(--ot-warning); border-color:var(--ot-warning); }
.orders-button[data-trade-side=Buy] { background:#095743; color:#fff; border-color:var(--ot-buy); }
.orders-button[data-trade-side=Sell] { background:#702c36; color:#fff; border-color:var(--ot-sell); }
@media(max-width:767.98px) {
  .algorithm-profiles,.running-algorithms,.historical-algorithms { padding:10px; }
  .profile-toolbar,.profile-toolbar .profile-tools { width:100%; }
  .profile-search-tools { margin-left:0; }
  .profile-toolbar label { flex:1 1 100px; }
  .algorithm-header-tools { width:100%; }
  .compact-row[data-expanded=true] { background:var(--ot-panel); border-color:var(--ot-panel-border); }
}

/* Interactive boundaries stay stronger than decorative panel separators. */
:root { --ot-control-border:#697d99; }
.orders-button,
:is(.configuration-fields,.profile-tools,.profile-table,.manual-field,.history-filters,
    .run-log-filters,.order-filter-grid,.settings-field,.trading-page-controls,.monitor-search,
    .recents-search,.signal-connections) :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
.symbol-paste textarea { border-color:var(--ot-control-border); }

/* Persistent status beside AI; details never consume trading-table space. */
.connection-indicator { margin-left:auto; flex-shrink:0; }
.connection-indicator summary { display:flex; align-items:center; gap:7px; min-height:var(--ot-control-height); min-width:var(--ot-control-height); box-sizing:border-box; padding:6px 8px; cursor:pointer; list-style:none; font-size:.8rem; border-radius:6px; }
.connection-indicator summary::-webkit-details-marker { display:none; }
.connection-indicator summary:focus-visible { outline:2px solid var(--ot-info); outline-offset:2px; }
.connection-dot { width:9px; height:9px; border-radius:50%; background:var(--ot-positive); flex-shrink:0; }
.connection-indicator[data-health=offline] .connection-dot { background:var(--ot-negative); }
.connection-indicator:is([data-health=attention],[data-health=loading]) .connection-dot { background:var(--ot-warning); }
.connection-popover { position:fixed; top:64px; right:12px; z-index:200; width:min(350px,calc(100vw - 24px)); max-height:calc(100dvh - 90px); overflow:auto; box-sizing:border-box; padding:14px; border:1px solid var(--ot-control-border); border-radius:8px; background:var(--ot-panel); color:var(--ot-text); box-shadow:0 8px 30px #0008; font-size:.875rem; overflow-wrap:anywhere; }
.connection-popover dl { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.connection-popover dd { margin:0; }
.connection-popover ul { list-style:none; padding:0; }
.connection-popover li { display:flex; justify-content:space-between; gap:12px; padding-block:6px; border-top:1px solid var(--ot-panel-border); }
.connection-popover li strong { flex-shrink:0; max-width:45%; overflow-wrap:normal; }
.connection-popover a { display:inline-flex; align-items:center; min-height:var(--ot-control-height); color:var(--ot-info); }
.app-bar-ai { margin-left:0; padding:6px; min-width:var(--ot-control-height); min-height:var(--ot-control-height); box-sizing:border-box; justify-content:center; }
.app-bar-ai svg { width:20px; height:20px; }
@media(max-width:767.98px) { .connection-label,.app-bar-ai span { display:none; } .connection-indicator summary { justify-content:center; } }
/* Preserve OT's red close icon; absent actions leave an empty cell. */
.orders-button.order-cancel-icon { display:inline-flex; align-items:center; justify-content:center; width:var(--ot-control-height); min-height:var(--ot-control-height); padding:6px; color:var(--ot-sell); border:0; background:transparent; }
.order-cancel-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.order-cancel-icon:focus-visible { outline:2px solid var(--ot-info); outline-offset:2px; }
.order-cancel-slot { display:flex; align-items:center; justify-content:center; min-height:var(--ot-control-height); }
.compact-row-action .order-cancel-slot { min-height:44px; }
.order-cancellation-notices { margin-block:6px; font-size:.85rem; }
.order-cancellation-notices summary { cursor:pointer; }
.order-cancellation-notices .order-cancel-message { max-width:100%; overflow-wrap:anywhere; }
.order-cancellation-notices .order-cancel-message summary { white-space:normal; }
.compact-row-actions:empty { display:none; }

/* Direct phone cancellation is independent of detail disclosure. Native buttons retain separate touch targets. */
.compact-row { grid-template-columns:minmax(0,1fr) auto; }
.compact-row-controls { display:flex; align-items:center; gap:2px; }
.compact-row-controls:empty { display:none; }

/* Approved positions-pnl-v2: equal-detail accounts and products, aligned summaries, independent expansions. */
.positions-toolbar { display:flex; justify-content:flex-end; }
.position-column-menu { position:relative; }
.position-column-menu > summary { display:flex; align-items:center; justify-content:center; cursor:pointer; list-style:none; }
.position-column-menu > summary::-webkit-details-marker { display:none; }
.position-column-options { position:absolute; right:0; z-index:3; min-width:250px; padding:8px; display:grid; gap:6px; border:1px solid var(--ot-panel-border); border-radius:8px; background:var(--ot-panel); box-shadow:0 8px 24px #0008; }
.position-account { padding:0; margin:10px 0; overflow:clip; }
.position-summary-row { display:grid; grid-template-columns:minmax(110px,1fr) minmax(0,3fr) 84px; align-items:center; gap:12px; padding:6px 12px; min-width:0; }
.position-account-summary { grid-template-columns:minmax(180px,1.5fr) minmax(0,3fr) 84px; padding-block:10px; }
.position-row-heading { justify-content:flex-start; gap:10px; min-width:0; }
.position-row-heading h3, .position-row-heading h4 { font-size:.95rem; line-height:1.35; }
.position-row-heading h3 span { margin:0; }
.position-status { flex-shrink:0; margin:0; }
/* Class-based counts also work under the installed CSP, which does not admit inline styles. */
.position-summary-1 { --position-summary-count:1; }
.position-summary-2 { --position-summary-count:2; }
.position-summary-3 { --position-summary-count:3; }
.position-summary-4 { --position-summary-count:4; }
.position-summary .position-metrics { grid-template-columns:repeat(var(--position-summary-count),minmax(0,1fr)); gap:10px; margin:0; }
.position-summary .position-metric dd { margin-top:2px; font-weight:600; }
.position-details-toggle { display:flex; justify-content:center; align-items:center; gap:12px; padding-inline:6px; border:0; background:transparent; }
.position-details-toggle .compact-chevron, .position-products-toggle .compact-chevron { flex-shrink:0; transform:rotate(-45deg); }
.position-details-toggle[aria-expanded=true] .compact-chevron, .position-products-toggle[aria-expanded=true] .compact-chevron { transform:translateY(-2px) rotate(45deg); }
.position-products-toggle { display:flex; align-items:center; gap:14px; width:100%; justify-content:flex-start; margin:0; padding:6px 14px; border:0; border-top:1px solid var(--ot-panel-border); border-radius:0; background:var(--ot-panel); font-weight:600; }
.position-products { margin:0; padding:0 10px 8px; border:0; }
.position-product-head { color:var(--ot-label); font-size:.8rem; background:var(--ot-panel-inset); border-bottom:1px solid var(--ot-panel-border); }
.position-product-head .position-metrics { font-size:inherit; }
.position-product { margin:0; padding:0; border:0; border-bottom:1px solid var(--ot-panel-border); border-radius:0; }
.position-product:last-of-type { border-radius:0 0 6px 6px; }
.position-product .position-summary dt { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.position-expanded { padding:8px 12px; background:var(--ot-panel-inset); border-top:1px solid var(--ot-panel-border); }
.position-details { border:0; }
.position-details .position-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px 16px; margin:0 0 8px; }
.position-detail-actions, .position-actions { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.position-detail-actions { justify-content:flex-end; padding-top:8px; border-top:1px solid var(--ot-panel-border); }
.position-action { display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.position-action svg { width:18px; height:18px; fill:currentColor; flex-shrink:0; }
.position-action-status { margin:6px 12px; overflow-wrap:anywhere; font-size:.85rem; }
.trading-pager-compact { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:8px; margin:0; padding:8px 2px 0; border:0; }
.trading-pager-compact .orders-note { margin:0; grid-column:2; grid-row:1; font-size:.85rem; }
.trading-pager-compact .trading-page-controls { display:contents; }
.trading-pager-compact .trading-page-controls label { display:flex; align-items:center; gap:8px; }
.trading-pager-compact .trading-page-controls label { grid-column:1; grid-row:1; }
.trading-pager-compact [data-testid=page-new] { grid-column:1/-1; grid-row:2; }
.trading-pager-compact .trading-page-buttons { grid-column:3; grid-row:1; display:flex; gap:4px; }
.trading-pager-compact .trading-page-buttons button { min-width:var(--ot-control-height); padding:0; font-size:1.4rem; }
@media (min-width:768px) and (max-width:1100px) {
  .position-account-summary { grid-template-columns:minmax(0,1fr) 84px; }
  .position-account-summary .position-row-heading { grid-column:1/-1; }
  .position-row-heading h3 span { display:inline; margin-left:6px; }
  .position-details .position-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .positions-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .position-column-menu > summary { font-size:.85rem; }
  .position-column-options { left:auto; right:0; min-width:0; width:min(280px,calc(100vw - 32px)); box-sizing:border-box; }
  .position-account { margin:8px 0; }
  .position-summary-row, .position-account-summary { grid-template-columns:minmax(0,1fr) 44px; gap:4px 6px; padding:8px; }
  .position-summary-row .position-row-heading { grid-column:1; grid-row:1; }
  .position-summary-row .position-summary { grid-column:1; grid-row:2; }
  .position-summary-row .position-details-toggle { grid-column:2; grid-row:1/3; font-size:0; gap:0; min-width:44px; min-height:44px; }
  .position-account-summary .position-summary { grid-column:1/-1; }
  .position-account-summary .position-details-toggle { grid-row:1; }
  .position-summary .position-metrics { gap:6px; }
  .position-metric dd { font-size:.86rem; }
  .position-metric dt { font-size:.75rem; }
  .position-products { padding:0 6px 6px; }
  .position-product-head { display:none; }
  .position-product .position-summary dt { position:static; width:auto; height:auto; margin:0; overflow:visible; clip:auto; white-space:normal; }
  .position-details .position-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .position-expanded { padding:8px; }
  .position-detail-actions { justify-content:flex-start; }
  .position-actions { width:100%; }
  .position-action { flex:1 1 auto; }
  .position-actions > button:last-child { flex-basis:100%; }
  .trading-pager-compact .trading-page-controls label { gap:4px; font-size:.85rem; }
  .trading-pager-compact .trading-page-controls select { width:60px; padding-inline:6px; }
}
/* Approved algorithm profiles: compact cards, primary actions on each profile,
   secondary actions disclosed, and the same account panel palette as Positions. */
.profile-card .profile-heading { display:flex; flex-wrap:nowrap; justify-content:space-between; align-items:start; gap:8px; }
.profile-card .profile-heading > div { min-width:0; }
.profile-card .profile-heading p { margin:2px 0; color:var(--ot-label); font-size:.8rem; }
.profile-disclosure { flex:0 0 44px; min-width:44px; min-height:44px; font-size:1.1rem; }
.profile-account-summary { overflow-wrap:anywhere; color:var(--ot-label); font-size:.8rem; }
.profile-summary { display:flex; flex-wrap:wrap; gap:4px 10px; font-size:.875rem; }
.profile-summary .side-buy { color:var(--ot-buy); }
.profile-summary .side-sell { color:var(--ot-sell); }
.profile-row-actions { display:flex; gap:6px; align-items:center; margin-top:8px; }
.profile-card .profile-row-actions > button { flex:1; }
.profile-launch-button { border-color:var(--ot-info); color:var(--ot-info); }
.profile-more { position:relative; flex:0 0 auto; }
.profile-more > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; border:1px solid var(--ot-panel-border); border-radius:6px; font-size:1.25rem; }
.profile-more > summary::-webkit-details-marker { display:none; }
.profile-more-actions { position:absolute; right:0; bottom:calc(100% + 4px); z-index:5; display:grid; gap:4px; min-width:110px; padding:6px; border:1px solid var(--ot-panel-border); border-radius:6px; background:var(--ot-panel); box-shadow:0 4px 18px #0008; }
.profile-group-launch { margin:4px 0 8px; }
.profile-group-launch > summary { cursor:pointer; width:fit-content; min-height:44px; display:flex; align-items:center; color:var(--ot-label); }
.profile-group-launch > summary::before { content:'â–¸'; margin-right:6px; }
.profile-group-launch[open] > summary::before { content:'â–¾'; }
.profile-card .configuration-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.profile-card [data-testid=profile-identity] label:nth-child(n+3) { grid-column:1/-1; }
.profile-card [data-testid=profile-instrument] { display:flex; gap:8px; align-items:center; justify-content:space-between; flex-wrap:wrap; padding:8px 0; }
.profile-card [data-testid=profile-instrument] > span { overflow-wrap:anywhere; }
.profile-card .configuration-fields label { min-width:0; font-size:.8rem; }
.profile-card .configuration-fields :is(input,select) { min-width:0; width:100%; }
.profile-table td:has([data-testid=profile-execution]) { min-width:19rem; }
.profile-table [data-testid=profile-execution] .configuration-fields { grid-template-columns:repeat(2,minmax(8rem,1fr)); }
.profile-table .profile-row-actions { margin:0; }
.profile-table td:has(.profile-row-actions) { min-width:17rem; }
.algorithm-actions [data-action=Stop]:not(:disabled) { color:var(--ot-sell); border-color:var(--ot-sell); }
.algorithm-actions [data-action=Flatten]:not(:disabled) { color:var(--ot-warning); border-color:var(--ot-warning); }
@media (max-width:767.98px) {
 .algorithm-profiles,.running-algorithms { padding:8px; }
 .profile-toolbar { gap:8px; }
 .profile-search-tools label:first-child { flex-basis:100%; }
 .profile-search-tools .profile-sort-direction { min-width:44px; min-height:44px; }
 .profile-grid { grid-template-columns:minmax(0,1fr); gap:8px; }
 .profile-card { padding:10px; }
 .algorithm-card { gap:8px; }
 .algorithm-card-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .algorithm-card-header { flex:1 1 55%; }
 .algorithm-status-group { margin-left:auto; flex:0 1 auto; }
 .algorithm-actions { gap:6px; }
 .algorithm-actions > button { flex:1 1 auto; }
}
@media (min-width:768px) and (pointer:fine) {
 .profile-more > summary,.profile-group-launch > summary { min-height:32px; }
 .profile-more > summary { min-width:32px; }
}
.profile-list-heading { justify-content:space-between; align-items:center; padding-bottom:10px; border-bottom:1px solid var(--ot-panel-border); }
.profile-list-heading h2 { margin:0; }
.profile-list-heading > button { flex:0 0 auto; }
.profile-table .profile-more-actions { position:static; box-shadow:none; margin-top:4px; }
/* Manual order entry: one draft/editor per ticket at every viewport. Desktop
   rows and mobile disclosures share fields, commands and acknowledgement state. */
.manual-save-status { margin:6px 0; font-size:.8rem; color:var(--ot-label); }
.manual-ticket-list { min-width:0; }
.manual-grid-heading { display:none; }
.manual-ticket { margin:8px 0; }
.manual-ticket-summary { padding:8px 10px; min-height:44px; font-size:.875rem; }
.manual-ticket-body { padding:10px; }
.manual-ticket[data-expanded=false] .manual-ticket-body { display:none; }
.manual-ticket-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.manual-field > span { font-size:.8rem; }
.manual-price-cell { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr)); gap:8px; align-items:end; }
.manual-price { padding:0; gap:4px; }
.manual-price > span { font-size:.8rem; color:var(--ot-label); }
.manual-price > strong { display:flex; align-items:center; min-height:var(--ot-control-height); }
.manual-locate-fields { margin-top:8px; }
.manual-advanced { margin-top:8px; min-width:0; }
.manual-advanced > summary { min-height:var(--ot-control-height); padding:6px 0; box-sizing:border-box; cursor:pointer; font-size:.8rem; color:var(--ot-label); overflow-wrap:anywhere; }
.manual-advanced > .manual-ticket-fields { padding:4px 0 8px; }
.manual-ticket-actions { display:flex; gap:8px; align-items:center; margin-top:8px; }
.manual-ticket-actions > [data-trade-side] { flex:1; white-space:nowrap; }
.manual-remove { display:inline-flex; align-items:center; justify-content:center; min-width:var(--ot-control-height); }
.manual-ticket-feedback { min-width:0; overflow-wrap:anywhere; font-size:.85rem; }
.manual-ticket-feedback:empty { display:none; }
.manual-grid-cell { min-width:0; }
.manual-quote-field output { display:flex; align-items:center; min-height:1.5rem; font-size:.875rem; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.manual-quote-field > span { color:var(--ot-label); }
.manual-quote-field output .algorithm-missing { color:var(--ot-label); }
.manual-ticket-feedback p { margin:6px 0 0; }
@media (min-width:600px) and (max-width:1199.98px) {
  .manual-ticket-fields { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width:1200px) {
  .manual-ticket-list { overflow-x:auto; border:1px solid var(--ot-panel-border); border-radius:8px; background:var(--ot-panel); }
  .manual-ticket-list:empty { border:0; }
  .manual-ticket-list { --manual-actions:12rem; }
  .manual-ticket-list[data-pro=true] { --manual-actions:8rem; }
  .manual-quote-field output { min-height:var(--ot-control-height); }
  /* Enumerated field counts keep the grid CSP-safe: no inline styles or injected CSS. */
  .manual-ticket-list[data-field-count="9"] { --manual-columns:repeat(9,minmax(5rem,1fr)) var(--manual-actions); --manual-width:calc(45rem + var(--manual-actions) + 70px); }
  .manual-ticket-list[data-field-count="10"] { --manual-columns:repeat(10,minmax(5rem,1fr)) var(--manual-actions); --manual-width:calc(50rem + var(--manual-actions) + 76px); }
  .manual-ticket-list[data-field-count="11"] { --manual-columns:repeat(11,minmax(5rem,1fr)) var(--manual-actions); --manual-width:calc(55rem + var(--manual-actions) + 82px); }
  .manual-ticket-list[data-field-count="12"] { --manual-columns:repeat(12,minmax(5rem,1fr)) var(--manual-actions); --manual-width:calc(60rem + var(--manual-actions) + 88px); }
  .manual-ticket-list[data-field-count="13"] { --manual-columns:repeat(13,minmax(5rem,1fr)) var(--manual-actions); --manual-width:calc(65rem + var(--manual-actions) + 94px); }
  .manual-ticket-list[data-field-count="14"] { --manual-columns:repeat(14,minmax(5rem,1fr)) var(--manual-actions); --manual-width:calc(70rem + var(--manual-actions) + 100px); }
  .manual-grid-heading,.manual-ticket-body { display:grid; grid-template-columns:var(--manual-columns); gap:4px 6px; align-items:start; padding:6px 8px; min-width:var(--manual-width); box-sizing:border-box; }
  .manual-grid-heading { color:var(--ot-label); font-size:.75rem; border-bottom:1px solid var(--ot-panel-border); background:var(--ot-panel-inset); }
  .manual-ticket-list .manual-ticket { overflow:visible; margin:0; border:0; border-radius:0; border-bottom:1px solid var(--ot-panel-border); min-width:var(--manual-width); }
  .manual-ticket:last-child { border-bottom:0; }
  .manual-ticket-overview { display:none; }
  .manual-ticket-body,.manual-ticket[data-expanded=false] .manual-ticket-body { display:grid; border:0; }
  .manual-ticket-editor,.manual-ticket-editor > .manual-ticket-fields:not(.manual-locate-fields) { display:contents; }
  .manual-ticket-editor > .manual-ticket-fields > .manual-grid-cell > .manual-field > span { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .manual-price-cell { grid-template-columns:1fr; gap:4px; }
  .manual-price-cell > .manual-field > span,.manual-price > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .manual-price-cell > .manual-field + .manual-field > span { position:static; width:auto; height:auto; clip-path:none; }
  .manual-ticket-actions { grid-column:-2 / -1; grid-row:1; margin:0; gap:4px; }
  .manual-ticket-actions .orders-button { padding-inline:8px; }
  .manual-advanced,.manual-locate-fields,.manual-ticket-feedback { grid-column:1 / -1; margin:0; }
  .manual-locate-fields { display:grid; grid-template-columns:repeat(2,minmax(12rem,20rem)); }
  .manual-locate-fields > .manual-field > span { position:static!important; width:auto!important; height:auto!important; clip-path:none!important; }
  .manual-advanced > .manual-ticket-fields { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .manual-advanced > summary { padding:4px 0; }
}

.manual-ticket .manual-check { min-width:0; overflow-wrap:anywhere; }

@media (min-width:1200px) {
  .manual-ticket-actions,.manual-grid-heading > span:last-child { position:sticky; right:0; z-index:1; background:var(--ot-panel); box-shadow:-6px 0 6px var(--ot-panel); }
}

/* Orders: pinned cancellation and secondary utilities; width changes are local presentation only. */
.resizable-columns { min-width:0; }
.orders-view .orders-heading-row { margin-bottom:4px; }
.orders-view .orders-toolbar { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:2px 8px; margin:0 0 6px; }
.orders-grid-tools { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; }
.orders-view .orders-toolbar .orders-button { flex:0 1 auto; width:auto; margin:0; background:transparent; border-color:transparent; color:var(--ot-label); font-size:.8rem; gap:5px; padding-inline:6px; }
.orders-view .orders-toolbar .orders-button:hover,.orders-view .orders-toolbar .orders-button[aria-expanded=true] { background:var(--ot-panel-inset); color:var(--ot-text); }
.orders-view .orders-toolbar svg { width:15px; height:15px; }
.orders-view .orders-tab { font-weight:600; }
.orders-table:has(colgroup) { table-layout:fixed; min-width:0; }
.orders-table:has(colgroup) th,.orders-table:has(colgroup) td { box-sizing:border-box; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.orders-table:has(colgroup) th { position:relative; padding-right:14px; }
.orders-table .orders-action-pinned { position:sticky!important; left:0; z-index:2; background:var(--ot-panel); box-shadow:4px 0 5px var(--ot-panel); padding:0 4px; text-align:center; }
.orders-table th.orders-action-pinned { z-index:3; }
.compact-row-with-action { grid-template-columns:44px minmax(0,1fr) 44px; column-gap:8px; }
.compact-row-action { grid-column:1; grid-row:1; align-self:center; }
.compact-row-with-action > .compact-summary { display:contents; }
.compact-row-with-action .compact-line-primary { grid-column:2; grid-row:1; }
.compact-row-with-action .compact-line-secondary { grid-column:1/-1; grid-row:2; }
.compact-row-with-action > .compact-row-controls { grid-column:3; grid-row:1; }
.compact-row-action .order-cancel-icon { width:44px; min-width:44px; height:44px; min-height:44px; padding:10px; }
.compact-row-action .order-cancel-icon svg { width:22px; height:22px; }
.column-resize-handle { position:absolute; right:0; top:0; bottom:0; width:12px; cursor:col-resize; touch-action:none; user-select:none; z-index:1; }
.column-resize-handle::after { content:""; position:absolute; right:5px; top:25%; bottom:25%; border-right:1px solid var(--ot-border); }
.column-resize-handle:hover::after,.column-resize-handle:focus::after { border-color:var(--ot-info); border-width:2px; }
.column-resize-handle:focus-visible { outline:2px solid var(--ot-info); outline-offset:-2px; }
.column-resize-handle[aria-disabled=true] { cursor:not-allowed; }
.column-width-status { color:var(--ot-label); font-size:.75rem; margin:4px 0; }
.column-width-status:empty { display:none; }
/* Shared grid utilities: trailing Columns control, compact desktop/touch-sized mobile. */
.orders-columns-button,.position-column-menu > .orders-columns-button {
 display:inline-flex; align-items:center; justify-content:center; flex:0 1 auto; width:auto; margin:0 0 0 auto;
 gap:7px; padding-inline:12px; background:transparent; border-color:var(--ot-border); color:var(--ot-text); font-size:.9rem; box-sizing:border-box; white-space:nowrap;
}
.orders-columns-button svg { width:20px; height:20px; aspect-ratio:1; flex:0 0 20px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linejoin:round; }
.orders-columns-button:hover,.orders-columns-button[aria-expanded=true] { background:var(--ot-panel-inset); color:var(--ot-text); }
.position-column-menu { margin-inline-start:auto; }
.position-column-menu > summary::marker { content:""; }
.position-column-menu > summary::-webkit-details-marker { display:none; }
.algorithm-header-tools { flex:1; }
.manual-settings-dialog { width:min(760px,calc(100vw - 32px)); }
.manual-settings-dialog .manual-settings { margin:0; border:0; padding:0; }
[aria-expanded="true"] > .compact-chevron { transform:translateY(3px) rotate(225deg); }
.manual-ticket-summary > .compact-chevron { align-self:center; justify-self:center; margin:8px; }
.profile-disclosure,.history-heading > button:has(.compact-chevron) { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; }
.grid-table-scroll { max-width:100%; overflow:auto; }
.resizable-columns :is(.profile-table,.history-table,.run-log-table) { min-width:0; }
.resizable-columns .profile-table { table-layout:fixed; }
.resizable-columns .profile-table td,.resizable-columns .profile-table td:has([data-testid=profile-execution]),.resizable-columns .profile-table td:has(.profile-row-actions) { min-width:0; max-width:none; }
.resizable-columns .profile-table td :is(input,select) { min-width:0; }
.resizable-columns .profile-table [data-testid=profile-execution] .configuration-fields { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); }
.resizable-columns :is(.profile-table,.history-table,.run-log-table) th { position:relative; padding-right:16px; }
.manual-grid-heading > [data-width-field] { position:relative; min-width:0; padding-right:14px; }
.manual-ticket-body { position:relative; } /* Keep visually hidden field labels inside the scrolling grid. */
@media (max-width:767.98px), (pointer:coarse) {
 .orders-columns-button,.position-column-menu > .orders-columns-button { min-width:44px; min-height:44px; font-size:.9375rem; padding-inline:8px; }
}
@media (max-width:767.98px) {
 .run-log-table { width:100%!important; }
 .run-log-table colgroup,.run-log-table .column-resize-handle { display:none; }
 .manual-settings-dialog { width:100%; }
}
@media (max-width:767.98px) {
 .orders-view .orders-toolbar { justify-content:flex-start; }
 .orders-view .orders-toolbar .orders-button { min-height:44px; }
}
@media (pointer:coarse) {
 .orders-table .order-cancel-icon { min-width:44px; min-height:44px; }
}

/* Order review is a compact decision dialog, not a full-screen configuration editor. */
.configuration-dialog.order-cancel-dialog { width:min(440px,calc(100% - 32px)); height:fit-content; max-height:calc(100dvh - 32px); margin:auto; inset:0; padding:16px; border:1px solid var(--ot-panel-border); border-radius:14px; }
.order-cancel-dialog header { border-bottom:1px solid var(--ot-border); padding-bottom:8px; }
.order-cancel-dialog header .orders-button { min-width:44px; min-height:44px; border:0; color:var(--ot-label); }
.order-cancel-dialog .configuration-body { overflow:auto; }
.cancel-review-heading { display:flex; gap:12px; align-items:baseline; margin-top:8px; }
.cancel-review-heading strong { font-size:1.2rem; overflow-wrap:anywhere; }
.cancel-review-heading span { color:var(--ot-label); }
.cancel-review-prompt { margin:8px 0 16px; font-size:1rem; }
.cancel-review-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:12px; background:var(--ot-panel-inset); border:1px solid var(--ot-border); border-radius:8px; }
.cancel-review-fields dt { font-size:.8rem; color:var(--ot-label); }
.cancel-review-fields dd { margin:2px 0 0; overflow-wrap:anywhere; font-size:.9rem; }
.cancel-review-id { grid-column:1/-1; }
.cancel-review-note { color:var(--ot-label); font-size:.85rem; margin:12px 0 4px; line-height:1.4; }
.order-cancel-dialog footer { justify-content:flex-end; margin-top:8px; }
.order-cancel-dialog footer .orders-button { min-height:44px; min-width:100px; }
.order-cancel-dialog .cancel-review-submit { color:var(--ot-sell); border-color:var(--ot-sell); }
@media (max-width:767.98px), (pointer:coarse) {
 .orders-view .orders-toolbar .orders-button { font-size:.9375rem; min-width:44px; min-height:44px; padding-inline:8px; }
 .orders-view .orders-toolbar { gap:4px 8px; }
}

/* Approved Market Replay: compact toolbar, authoritative timeline and three information panels. */
.replay-workspace { display:flex; flex-direction:column; gap:12px; min-width:0; }
.replay-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.replay-toolbar .manual-field { flex:1 1 280px; min-width:0; max-width:600px; }
.replay-toolbar select { width:100%; min-height:40px; }
.replay-data-actions { display:flex; flex-wrap:wrap; gap:6px; }
.replay-data-actions button { display:flex; gap:6px; align-items:center; }
.replay-session-banner { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border:1px solid #335d6e; border-radius:10px; background:linear-gradient(105deg,#183746,#1b2833); color:#e5f4fa; }
.replay-session-banner span:first-child { font-weight:600; }
.replay-session-banner span:last-child { color:#b6cbd6; font-size:.85rem; }
.replay-playback { border:1px solid #363d46; border-radius:10px; padding:12px; background:#181c22; }
.replay-playback-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.replay-actions { display:flex; gap:6px; flex-wrap:nowrap; }
.replay-action { display:flex; align-items:center; justify-content:center; gap:5px; min-height:44px; padding:6px 12px; }
.replay-action.replay-primary { background:#267a9c; border-color:#4699bb; color:#fff; }
.replay-speed { display:flex; gap:8px; align-items:center; font-size:.85rem; }
.replay-speed select { background:#202630; color:#eee; border:1px solid #495261; border-radius:7px; min-height:44px; min-width:76px; }
.replay-timeline { margin-top:14px; }
.replay-timeline progress { width:100%; height:7px; accent-color:#4db7d6; display:block; }
.replay-timeline>div { display:flex; justify-content:space-between; gap:8px; margin-top:8px; color:#b1bdc9; font-size:.8rem; font-variant-numeric:tabular-nums; }
.replay-information { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.replay-information .replay-section { background:#191e25; border:1px solid #343d49; border-radius:10px; padding:14px; min-width:0; }
.replay-information h2 { font-size:1rem; font-weight:600; margin:0 0 12px; }
.replay-facts { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px 16px; margin:0; font-size:.85rem; }
.replay-facts dt { color:#aeb8c6; }
.replay-facts dd { text-align:right; overflow-wrap:anywhere; margin:0; font-variant-numeric:tabular-nums; }
.replay-bid { color:#72ceb2; }.replay-ask { color:#ef9d9d; }
.replay-problem { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:12px; border:1px solid #985650; border-radius:8px; background:#402724; }
.replay-data-dialog { width:min(760px,calc(100vw - 24px)); }
.replay-data-dialog .replay-session { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 12px; padding:12px 0; border-bottom:1px solid #343d49; }
.replay-data-dialog .replay-session>span { color:#b3becb; font-size:.8rem; }
.replay-data-dialog .replay-session button { grid-column:2; grid-row:1/5; min-height:44px; align-self:center; }
.replay-recording-name { grid-column:1; overflow-wrap:anywhere; }
@media(max-width:1100px){.replay-information{grid-template-columns:repeat(2,minmax(0,1fr));}.replay-information>section:last-child{grid-column:1/-1;}}
@media(max-width:600px){.replay-information{grid-template-columns:minmax(0,1fr);}.replay-session-banner{align-items:flex-start;flex-direction:column;gap:4px;}.replay-playback-bar{flex-wrap:wrap;}.replay-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:4px;}.replay-action{flex-direction:column;gap:2px;padding:6px 2px;font-size:.75rem;min-width:44px;min-height:54px;}.replay-speed{margin-left:auto;}.replay-data-actions .orders-button{min-height:44px;}.replay-toolbar .manual-field{max-width:none;}.replay-facts{font-size:.8rem;gap:10px;}.replay-information .replay-section{padding:12px;}}
.position-ledger { display:none; }
.position-account-pager { padding:0 10px 8px; }
/* Desktop retains OT's aligned account/product ledger; cards are for smaller screens. */
@media (min-width:1101px) {
 .positions-workspace { max-width:none; }
 .position-cards-layout { display:none; }
 .position-ledger { display:block; min-width:0; }
 .position-ledger-heading { display:flex; align-items:center; gap:10px; padding:4px 8px; background:var(--ot-panel); border-bottom:1px solid var(--ot-panel-border); font-size:.85rem; }
 .position-ledger-heading > span:not(.position-status) { overflow-wrap:anywhere; }
 .position-ledger-count { margin-left:auto; color:var(--ot-label); font-size:.75rem; white-space:nowrap; }
 .position-ledger-toggle { display:flex; align-items:center; justify-content:center; width:32px; padding:0; border:0; background:transparent; }
 .position-ledger-toggle .compact-chevron { transform:rotate(-45deg); }
 .position-ledger-toggle[aria-expanded=true] .compact-chevron { transform:translateY(-2px) rotate(45deg); }
 .position-ledger-scroll { overflow:auto; max-width:100%; }
 .position-ledger-table { width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:.8rem; font-variant-numeric:tabular-nums; }
 .position-ledger-table th { position:relative; color:var(--ot-label); font-weight:500; background:var(--ot-panel-inset); padding:5px 12px 5px 8px; line-height:1.2; }
 .position-ledger-table td { background:var(--ot-panel-inset); padding:3px 8px; height:36px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
 .position-ledger-table th,.position-ledger-table td { text-align:right; border-bottom:1px solid var(--ot-panel-border); border-right:1px solid var(--ot-panel-border); }
 .position-ledger-table [data-column=Symbol],.position-ledger-table [data-field=Symbol] { position:sticky; left:0; z-index:1; text-align:left; }
 .position-ledger-table [data-column=Actions],.position-ledger-table [data-field=Actions] { text-align:left; }
 .position-ledger-table .position-ledger-total td { background:var(--ot-panel); font-weight:600; }
 .position-ledger-table tbody tr:hover td { background:var(--ot-panel); }
 .position-ledger-table [data-tone=positive] { color:var(--ot-positive); }
 .position-ledger-table [data-tone=negative] { color:var(--ot-negative); }
 .position-ledger-table .position-ledger-empty { text-align:left; color:var(--ot-label); }
 .position-ledger-actions,.position-ledger-actions .position-actions { display:flex; align-items:center; flex-wrap:nowrap; gap:3px; }
 .position-ledger-actions .orders-button { min-width:var(--ot-control-height); width:var(--ot-control-height); min-height:var(--ot-control-height); height:var(--ot-control-height); padding:5px; }
 .position-ledger-actions svg { width:18px; height:18px; }
}
@media (min-width:1101px) and (pointer:coarse) {
 .position-ledger-table col[data-width-field=Actions] { width:200px !important; }
}

.time-zone-label{color:var(--ot-muted);font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}.orders-toolbar>.time-zone-label{margin-right:auto;align-self:center}

.profile-add-controls{display:flex;align-items:flex-end;gap:8px;flex:0 1 320px;min-width:0}
.profile-add-controls label{flex:1;min-width:0}.profile-add-controls select{width:100%}
.profile-add-button{flex:none;min-height:44px;white-space:nowrap}.profile-add-button span{font-size:1.25rem}
.profile-table .profile-execution-cell [data-testid=profile-execution] .configuration-fields{display:block;margin:0}
.profile-table .profile-execution-cell label{font-size:0;gap:0}.profile-table .profile-execution-cell :is(select,input){font-size:.8rem;width:100%;margin:0}
.profile-card[data-unsaved=true]{border-left:3px solid var(--ot-info)}
@media(max-width:600px){.profile-add-controls{flex-basis:100%}.profile-add-controls label{flex-basis:auto}}

.profile-add-controls select{min-height:44px;padding:7px 10px;border:1px solid #647b95;border-radius:6px;background:var(--ot-panel-inset);color:var(--ot-text);font:inherit;font-size:16px}
.profile-add-controls label{display:grid;gap:4px;font-size:.8rem;color:var(--ot-label)}
/* Profile controls follow the original inline grid; settings sit below the rows. */
.profile-toolbar{margin:8px 0;gap:6px}
.profile-add-controls{flex:0 1 240px;gap:4px;align-items:center}
.profile-add-controls label{display:block}
.profile-add-controls select{min-height:32px;padding:4px 8px;font-size:.8rem}
.profile-add-button{min-width:32px;min-height:32px;padding:2px 8px}
.profile-footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.profile-footer .profile-tools{margin:0}
.configuration-dialog.profile-launch-problem{width:min(480px,calc(100% - 24px));height:fit-content;max-height:calc(100dvh - 24px);margin:auto;inset:0;padding:16px;border:1px solid var(--ot-panel-border);border-radius:14px}
.profile-launch-problem .configuration-body{overflow:auto;overflow-wrap:anywhere}
.profile-launch-problem footer{justify-content:flex-end}
.profile-launch-problem footer button{min-height:44px;min-width:88px}
.profile-launch-status{margin:6px 0 0;font-size:.85rem;line-height:1.4;overflow-wrap:anywhere;white-space:normal}
.profile-recovery-notice{padding:12px;border:1px solid var(--ot-warning,#e0b85c);border-radius:8px;line-height:1.5;overflow-wrap:anywhere}
.profile-instrument-cell label{display:block;margin:0}
.profile-instrument-cell label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.profile-symbol-field{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.profile-symbol-field label{flex:1;min-width:60px}
.profile-inline-instrument .profile-symbol-field{align-items:end}
.profile-inline-instrument .profile-symbol-field label{display:grid;gap:4px}
.profile-instrument-cell :is(select,input){width:100%;min-width:0}
@media(max-width:1199px),(pointer:coarse){
 .profile-add-controls select,.profile-add-button{min-height:44px;font-size:16px}
 .profile-add-button{min-width:44px}
}
@media(max-width:600px){.profile-add-controls{flex:0 1 260px}}
.profile-inline-instrument{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px}
.profile-inline-instrument :is(label,input,select){min-width:0;width:100%}
.profile-icon-action{min-width:32px;padding:5px;display:inline-flex;align-items:center;justify-content:center}
.profile-icon-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.profile-delete{color:var(--ot-sell,#ef7777)}
.profile-inline-instrument .profile-source-field{grid-column:1/-1}
.profile-inline-instrument .profile-source-field .configuration-fields{display:block;margin:0}
.profile-inline-instrument>label,.profile-inline-instrument>.profile-symbol-field{grid-column:auto!important}
@media(max-width:1199px),(pointer:coarse){.profile-icon-action{min-width:44px;min-height:44px}}
.profile-card .profile-row-actions>.profile-icon-action{flex:0 0 44px}
/* Algorithm configuration parity: allocation tree on Pro, direct order panels on Retail. */
.algorithm-configuration-dialog { width:min(1360px,calc(100% - 32px)); }
.algorithm-configuration-dialog .configuration-body { flex:1; }
.algorithm-configuration-dialog footer { justify-content:flex-end; }
.configuration-context { color:var(--ot-label); font-size:.8rem; margin:0 0 10px; }
.configuration-panel { border:1px solid var(--ot-panel-border); border-radius:8px; padding:12px; min-width:0; background:var(--ot-panel-inset); }
.configuration-panel h3,.launcher-selection h3 { margin:0 0 10px; font-size:.95rem; }
.configuration-sections details.configuration-panel { padding:10px 12px; border:1px solid var(--ot-panel-border); }
.launcher-workspace,.retail-launcher-layout,.retail-exit-columns,.adaptive-config-layout,.smrt-config-layout { display:grid; gap:12px; align-items:start; min-width:0; }
.adaptive-schedule { display:grid; gap:12px; min-width:0; }
.allocation-nodes { display:grid; gap:4px; max-height:34dvh; overflow:auto; margin-bottom:12px; }
.allocation-node { display:block; text-align:left; width:100%; min-height:44px; padding:8px 10px; border:1px solid transparent; border-radius:6px; background:transparent; color:inherit; font:inherit; cursor:pointer; overflow-wrap:anywhere; }
.allocation-node span { display:block; color:var(--ot-label); font-size:.8rem; }
.allocation-node[aria-pressed=true] { background:var(--ot-panel-selected); border-color:var(--ot-info); }
.allocation-branch { margin-left:12px; padding-left:8px; border-left:1px solid var(--ot-panel-border); }
.allocation-exit { margin-left:12px; width:calc(100% - 12px); }
.allocation-add { grid-template-columns:minmax(70px,1fr) minmax(0,2fr); align-items:end; }
.launcher-selection .configuration-fields { grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); }
.profile-table .profile-row-actions { flex-wrap:wrap; }
@media(min-width:768px) {
 .launcher-workspace { grid-template-columns:minmax(240px,1fr) minmax(0,2fr); }
 .retail-launcher-layout,.smrt-config-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .adaptive-config-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .adaptive-completion { grid-column:1/-1; }
}
@media(min-width:1200px) {
 .adaptive-pro { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .adaptive-pro .adaptive-completion { grid-column:auto; }
 .retail-launcher-layout { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
 .retail-exit-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .retail-exit-columns>details:only-child { grid-column:1/-1; }
 .adaptive-config-layout .configuration-fields,.retail-launcher-layout .configuration-fields { grid-template-columns:1fr; }
 .allocation-node { min-height:32px; padding:6px 8px; }
}
@media(max-width:600px) {
 .algorithm-configuration-dialog { width:100%; }
 .algorithm-configuration-dialog footer>button { flex:1; }
}
.launcher-exit-columns { display:grid; gap:12px; min-width:0; }
@media(min-width:1024px) {
 .launcher-exit-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .launcher-exit-columns .configuration-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .launcher-exit-columns .configuration-check { grid-column:1/-1; }
}

/* Designer canvases and expression trees: the same document stays mounted across widths. */
.blueprint-toolbar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.blueprint-toolbar .blueprint-zoom { min-width:44px; padding-inline:10px; font-size:1.2rem; }
.blueprint-hint,.designer-help { color:var(--ot-text-muted,#bbb); font-size:.85rem; margin:8px 0; }
.blueprint-state[data-start=true] rect { fill:#10362b; stroke:#42d39a; }
.blueprint-state[data-kind="Absolute Execution"] rect { fill:#173852; stroke:#50b8ef; }
.blueprint-state[data-kind="Relative Execution"] rect { fill:#30284b; stroke:#b69be8; }
.blueprint-state[data-kind="No Execution"]:not([data-start=true]) rect { fill:#272e34; stroke:#a0adb6; }
.blueprint-state.selected rect { stroke:#f0d27d; stroke-width:3; }
.blueprint-inspector-desktop { display:none; min-width:0; }
.blueprint-selection-bar { position:sticky; bottom:0; z-index:2; display:flex; align-items:center; gap:10px; padding:10px; border:1px solid var(--ot-panel-border); border-radius:10px; background:var(--ot-panel); }
.blueprint-selection-bar>span { flex:1; min-width:0; overflow-wrap:anywhere; }
.designer-toolbox-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:8px; }
.designer-toolbox-choices button { white-space:normal; }
.designer-sheet.configuration-dialog { width:min(720px,calc(100vw - 32px)); }
.signal-node { border:0; border-radius:0; margin-block:2px; }
.signal-node-heading { gap:0; padding:0; align-items:center; }
.signal-node-select { flex-direction:row; flex-wrap:wrap; align-items:center; gap:4px 10px; padding:6px 10px; background:transparent; }
.signal-node-select strong { font-weight:500; }
.signal-node-select span { overflow-wrap:anywhere; font-size:.85rem; }
.signal-chevron { min-width:44px; border:0; background:transparent; font-size:1.4rem; padding:4px; }
.signal-leaf-connector { flex:0 0 28px; border-top:1px solid var(--ot-panel-border); margin-right:6px; }
.signal-children { border-left:1px solid var(--ot-panel-border); margin-left:21px; padding-left:12px; padding-right:0; }
.signal-properties { border:0; border-left:2px solid var(--ot-info); margin:4px 0 8px 21px; background:var(--ot-panel); border-radius:0 8px 8px 0; }
.signal-add-condition { border:0; background:transparent; color:var(--ot-info); text-align:left; margin-top:4px; }
.signal-toolbox-items button[aria-pressed=true] { border-color:var(--ot-info); background:var(--ot-panel-selected); }
.signal-toolbox { padding:0; }
.signal-toolbox summary { font-weight:600; }
@media(min-width:1000px){
 .blueprint-designer-grid { grid-template-columns:minmax(0,2fr) minmax(300px,1fr); }
 .blueprint-inspector-desktop { display:block; max-height:78vh; overflow-y:auto; }
 .blueprint-selection-bar { display:none; }
}
@media(max-width:767px){
 .designer-sheet.configuration-dialog { inset:auto 0 0; width:100%; max-width:100%; height:auto; max-height:88dvh; margin:0; border-radius:16px 16px 0 0; }
 .designer-sheet.configuration-dialog .configuration-body { min-height:0; overflow-y:auto; }
 .blueprint-viewport svg { height:clamp(320px,54dvh,550px); }
 .signal-children { margin-left:14px; padding-left:6px; }
 .signal-node .signal-node .signal-node .signal-children { margin-left:0; padding-left:0; border-left:0; }
 .signal-properties { margin-left:6px; padding:10px; }
 .signal-properties .manual-toolbar { gap:6px; }
 .signal-node-select { font-size:1rem; }
}

.blueprint-fix-tags>summary { cursor:pointer; min-height:44px; display:flex; align-items:center; }

/* Blueprint file actions stay in one compact row; secondary actions use a sheet. */
.blueprint-file-header{margin-bottom:.65rem;min-width:0}
.blueprint-filebar{display:flex;gap:6px;align-items:center}
.blueprint-filebar .orders-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.blueprint-filebar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.blueprint-filebar .blueprint-save{margin-left:auto}
.blueprint-filebar .blueprint-more{min-width:44px;padding-inline:10px;letter-spacing:2px}
.blueprint-document-title{display:flex;align-items:baseline;gap:12px;min-width:0;margin-top:10px;padding-bottom:10px;border-bottom:1px solid var(--ot-border,#343838)}
.blueprint-document-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem}
.blueprint-document-title span{margin-left:auto;flex-shrink:0;color:var(--ot-muted,#a9b3b1);font-size:.78rem}
.blueprint-library-status{font-size:.85rem;margin:8px 0 0;color:var(--ot-muted,#a9b3b1)}
.blueprint-file-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.blueprint-toolbox-button{margin-right:auto}
@media(min-width:1000px){
 .blueprint-file-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 20px;align-items:center;margin-bottom:14px}
 .blueprint-filebar{grid-column:2;grid-row:1}
 .blueprint-filebar .blueprint-save{margin-left:0}
 .blueprint-document-title{grid-column:1;grid-row:1;margin:0;padding:0;border:0}
 .blueprint-document-title span{margin-left:0}
 .blueprint-library-status{grid-column:1 / -1}
}
.blueprint-account-bar{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0 0 12px;max-width:520px;min-width:0}
.blueprint-account-bar>span{flex-shrink:0;font-size:.85rem;color:var(--ot-muted,#a9b3b1)}
.blueprint-account-bar>select{min-width:0;flex:1;width:0}
.blueprint-destination-status{font-size:.85rem;margin:0 0 12px}

/* Blueprint guidance is visible at the point of the next action. */
.blueprint-next-action{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:10px 0;padding:14px;border:1px solid #39c8b1;border-radius:10px;background:#123d39;color:#effffb;font-size:1rem;line-height:1.45}
.blueprint-next-action strong{flex:1;min-width:180px}
.blueprint-primary-action.orders-button,.blueprint-save.orders-button:not(:disabled),.blueprint-selection-bar .orders-button:not(:disabled){background:#94e3cc;color:#102824;border-color:#94e3cc;font-weight:650}
.blueprint-primary-action.orders-button:hover,.blueprint-save.orders-button:not(:disabled):hover{background:#b1f4df}
.blueprint-fix-tags{margin:16px 0;padding:12px;border:1px solid #48645f;border-radius:10px}
.blueprint-fix-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;margin-bottom:8px}
.blueprint-link-label rect{fill:#151515;stroke:#d0d0d0;stroke-width:1.5}
.blueprint-link .blueprint-link-label text{fill:#ffffff;font-size:16px;font-weight:650}
.blueprint-link.selected .blueprint-link-label rect,.blueprint-link:focus .blueprint-link-label rect{fill:#303030;stroke:#ffffff;stroke-width:3}
.blueprint-signal-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 18px}
.designer-return-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.designer-return-bar>span{min-width:0;overflow-wrap:anywhere;color:var(--ot-text-muted,#bbb)}
@media(max-width:599px){.signal-return-editor .blueprint-filebar{display:grid;grid-template-columns:1fr 1fr 44px;width:100%}.signal-return-editor .blueprint-save{grid-column:1/-1;grid-row:2;margin-left:0;width:100%}}

.blueprint-property-sheet .blueprint-properties>h2{display:none}

/* Launched algorithms: title first, compact actions below, quiet settings link. */
.running-algorithms .algorithm-pane-header{display:flex;align-items:baseline;gap:4px 12px;margin-bottom:8px}
.running-algorithms .algorithm-pane-header .time-zone-label{font-size:.75rem;margin:0;color:var(--ot-label)}
.running-algorithms .algorithm-header-tools{display:grid;grid-template-columns:max-content max-content 1fr;gap:4px 8px;align-items:center;width:100%;margin-bottom:8px}
.running-algorithms .algorithm-header-tools .algorithm-bulk-actions{display:contents}
.running-algorithms [data-testid=algorithm-stop-all]{grid-column:1;grid-row:1}
.running-algorithms [data-testid=algorithm-flatten-all]{grid-column:2;grid-row:1}
.running-algorithms [data-testid=algorithm-customize]{grid-column:3;grid-row:1;justify-self:end}
.running-algorithms .algorithm-batch-results{grid-column:1/-1}
.running-algorithms .algorithm-diagnostics{margin:4px 0;font-size:.85rem;color:var(--ot-label)}
.algorithm-status{display:inline-flex;align-items:center;border:1px solid currentColor;border-radius:6px;padding:3px 8px;font-size:.8rem;font-weight:700;line-height:1.3;background:var(--ot-panel-selected)}
.algorithm-status[data-value=Started]{background:#093d35;color:var(--ot-positive)}
.algorithm-status:is([data-value=Failed],[data-value=Interrupted]){background:#41232c}
.algorithm-status:is([data-value=Deferred],[data-value=Draining],[data-value=Stopping],[data-value=Flattening]){background:#3a3020}
.algorithm-status-group{align-items:center}
.profile-launch-button{background:#095743;border-color:var(--ot-positive);color:#fff;font-weight:600}
@media(max-width:767.98px){
 .running-algorithms .algorithm-pane-header{display:block}
 .running-algorithms .algorithm-pane-header .time-zone-label{display:block;margin-top:3px}
 .running-algorithms .algorithm-header-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:4px}
 .running-algorithms .algorithm-header-tools button{font-size:.8rem;padding-inline:7px}
 .algorithm-status-group{gap:6px}
}

/* Keep all three batch actions together; preferences stay on the secondary row. */
.running-algorithms [data-testid=algorithm-clear-all]{grid-column:3;grid-row:1;justify-self:start}
.running-algorithms [data-testid=algorithm-customize]{grid-column:3;grid-row:2;justify-self:end}
@media(max-width:767.98px){
 .running-algorithms .algorithm-header-tools{grid-template-columns:repeat(3,minmax(0,1fr))}
 .running-algorithms [data-testid=algorithm-clear-all]{justify-self:stretch}
}

/* Compact Launcher tree controls, with mobile hit targets preserved. */
.allocation-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.allocation-heading h3{margin:0}
.launcher-tree .allocation-nodes{margin-bottom:8px}
.launcher-tree .allocation-add{grid-template-columns:74px minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:end}
.launcher-tree .allocation-add label{font-size:.75rem;min-width:0}
.launcher-tree .allocation-add button,.allocation-heading button,.launcher-tree .profile-tools button{font-size:.8rem;padding-inline:8px}
.launcher-tree .configuration-context{font-size:.8rem;margin:6px 0}
.launcher-tree .profile-tools{gap:6px}

/* Individual algorithm confirmations stay compact; bulk/account reviews remain mandatory. */
.configuration-dialog.algorithm-confirm-dialog{width:min(460px,calc(100vw - 24px));height:fit-content;max-height:calc(100dvh - 24px);padding:0;inset:0;border:1px solid var(--ot-panel-border)}
.algorithm-confirm-dialog .configuration-body{padding:12px 16px}
.algorithm-confirm-dialog header{padding:14px 16px}
.algorithm-confirm-dialog header h2{font-size:1.15rem}
.algorithm-confirm-dialog footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px}
.algorithm-confirm-targets{display:grid;gap:8px}
.algorithm-confirm-targets article{display:grid;gap:6px;padding:12px;background:var(--ot-panel-inset);border:1px solid var(--ot-border);border-radius:8px;overflow-wrap:anywhere}
.algorithm-confirm-targets strong{font-size:1.05rem}
.algorithm-confirm-targets small,.algorithm-confirm-note,.algorithm-confirm-review>small{color:var(--ot-label);font-size:.85rem;line-height:1.4}
.algorithm-confirm-trade{display:flex;gap:12px;flex-wrap:wrap}
.algorithm-confirm-note{margin:12px 0}
.algorithm-confirm-remember,.algorithm-confirm-settings>label{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.algorithm-confirm-remember input,.algorithm-confirm-settings input{width:20px;height:20px;accent-color:var(--ot-buy)}
.algorithm-confirm-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:.85rem;color:var(--ot-label)}
.algorithm-confirm-details summary::before{content:'›';margin-right:8px}
.algorithm-confirm-details[open] summary::before{content:'⌄'}
.algorithm-confirm-details dl{margin:0;font-size:.8rem;overflow-wrap:anywhere}.algorithm-confirm-details dd{margin:2px 0 8px}
.algorithm-confirm-launch{background:#095743;border-color:#35cfac;color:#e9fff8}
.algorithm-confirm-stop{color:var(--ot-sell);border-color:var(--ot-sell)}
.algorithm-confirm-flatten{color:#e9c76b;border-color:#e9c76b}
.algorithm-confirm-settings{margin-bottom:16px}.algorithm-confirm-settings h3{margin:0 0 8px;font-size:1rem}
@media(max-width:640px){.configuration-dialog.algorithm-confirm-dialog{width:calc(100vw - 24px);max-width:460px;height:fit-content;max-height:calc(100dvh - 24px);margin:auto;border-radius:12px}}
/* Recovery notices stay dismissible with a finger after returning to a phone tab. */
@media (max-width:1199px), (pointer:coarse) {
    .recovery-notice .notice-action { display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box; }
    .recovery-notice .icon-button.small { min-width:44px;min-height:44px; }
}

/* Logs and past runs: a single summary row, with full records available on demand. */
.compact-log-message { min-width:0; white-space:normal; }
.compact-log-message[open] { background:var(--ot-panel-inset,#111820); border-radius:6px; box-shadow:inset 3px 0 var(--ot-accent,#96e4d2); }
.compact-log-message[open] > summary { padding-inline:8px; }
.compact-log-message > summary { display:flex; align-items:center; gap:8px; min-width:0; min-height:32px; padding:0; list-style:none; cursor:pointer; }
.compact-log-message > summary::-webkit-details-marker { display:none; }
.compact-log-message > summary:focus-visible,.history-run-summary:focus-visible { outline:2px solid var(--ot-accent,#96e4d2); outline-offset:-2px; }
.compact-log-time { flex:0 1 auto; max-width:45%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.8rem; color:var(--ot-label,#bbb); }
.compact-log-status { flex:0 1 96px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.8rem; }
.compact-log-preview { flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.compact-log-chevron { flex:0 0 8px; width:8px; height:8px; margin:0 7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.compact-log-message[open] > summary .compact-log-chevron { transform:rotate(225deg); }
.compact-log-mobile { display:none; }
.compact-log-detail { padding:0 12px 10px; }
.compact-log-metadata { display:flex; flex-wrap:wrap; gap:4px 12px; color:var(--ot-label,#bbb); font-size:.8rem; }
.compact-log-detail pre { margin:0 0 8px; font:inherit; white-space:pre-wrap; overflow-wrap:anywhere; }
.run-log-table td { vertical-align:middle; }
.run-log-table tr:has(.compact-log-message[open]) > td { vertical-align:top; }
.run-log-table .log-message-cell { padding-block:0; }
.monitor-events { margin:8px 0; }
.monitor-events li { margin:0; padding:0 8px; border:0; border-bottom:1px solid var(--ot-panel-border,#444); border-radius:0; }
.monitor-events .compact-log-message > summary { padding:0; min-height:32px; overflow-wrap:normal; }
.history-run-summary { display:flex; align-items:center; gap:8px; width:100%; min-height:44px; padding:4px 8px; color:inherit; background:transparent; border:0; font:inherit; text-align:left; cursor:pointer; }
.history-run-name { flex:1; min-width:0; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.history-run-status { flex:0 1 90px; font-size:.8rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.history-run-time { flex:0 1 auto; max-width:42%; font-size:.75rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--ot-label,#bbb); }
.history-run-symbol { flex:0 1 130px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.history-run-summary .compact-chevron { flex-shrink:0; margin:0 6px; }
.history-run-detail { padding:8px; border-top:1px solid var(--ot-panel-border,#444); }
.history-run-detail dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0 0 8px; }
.history-run-detail dd { margin:2px 0; }
@media (max-width:1023.98px) {
 .history-cards { display:block; }
 .history-card { padding:0; margin:0; border:0; border-bottom:1px solid var(--ot-panel-border,#444); border-radius:0; }
 .compact-log-message > summary,.monitor-events .compact-log-message > summary { min-height:44px; }
}
@media (max-width:767.98px) {
 .compact-log-mobile { display:block; }
 .compact-log-status,.history-run-symbol { display:none; }
 .run-log-table tr { padding:0; margin:0; border:0; border-radius:0; border-bottom:1px solid var(--ot-panel-border,#444); }
 .run-log-table .log-time-cell,.run-log-table .log-status-cell { display:none; }
 .run-log-table .log-message-cell { padding:0; }
 .run-log-table td::before { display:none; }
 .history-run-summary { gap:6px; padding-inline:0; }
}

/* Past runs is a separate screen, reached alongside the current-run actions. */
.algorithm-history-link,.history-back-link { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; text-decoration:none; }
.running-algorithms .algorithm-header-tools { grid-template-columns:max-content max-content max-content max-content 1fr; }
.running-algorithms [data-testid=algorithm-past-runs] { grid-column:4; grid-row:1; }
.running-algorithms [data-testid=algorithm-customize] { grid-column:5; grid-row:1; }
.algorithm-history-page .historical-algorithms { margin-top:12px; border-top:0; padding-top:0; }
@media(max-width:767.98px) {
 .running-algorithms .algorithm-header-tools { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .running-algorithms [data-testid=algorithm-past-runs] { grid-column:1/3; grid-row:2; font-size:.8rem; min-height:44px; }
 .running-algorithms [data-testid=algorithm-customize] { grid-column:3; grid-row:2; }
 .history-back-link { min-height:44px; }
}

@media(max-width:767.98px) { .running-algorithms [data-testid=algorithm-customize] { justify-self:stretch; width:100%; margin:0; } }

/* Phone/tablet tickets share profile-card hierarchy and keep a single action
   owner visible while only the editor collapses. Outcomes remain visible. */
@media (max-width:1199.98px) {
  .manual-ticket { padding:10px; }
  .manual-ticket-heading { display:flex; align-items:start; justify-content:space-between; gap:8px; }
  .manual-ticket-heading > div { min-width:0; overflow-wrap:anywhere; }
  .manual-ticket-heading h3 { margin:0; font-size:1rem; }
  .manual-ticket-heading p { margin:2px 0; color:var(--ot-label); font-size:.8rem; }
  .manual-ticket-summary { margin:0; padding:0; width:44px; }
  .manual-order-summary { margin:8px 0; overflow-wrap:anywhere; }
  .manual-ticket-body,.manual-ticket[data-expanded=false] .manual-ticket-body { display:contents; }
  .manual-ticket-editor { padding-top:8px; border-top:1px solid var(--ot-panel-border); }
  .manual-ticket[data-expanded=false] .manual-ticket-editor { display:none; }
  .manual-ticket-actions { gap:6px; }
  .manual-ticket-actions > .manual-remove { flex:0 0 44px; min-height:44px; }
}
@media (max-width:1199.98px) {
  .manual-summary-quotes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px 8px; margin:8px 0; }
  .manual-summary-quotes > * { min-width:0; }
  .manual-summary-quotes .manual-quote-field > span { font-size:.75rem; }
  .manual-ticket-editor .manual-grid-cell:is([data-column=Bid],[data-column=BidQty],[data-column=Ask],[data-column=AskQty]) { display:none; }
}

/* Compact ticket fields edit the same draft as the desktop grid. Only one
   presentation of each field is visible; retain stable inputs while typing. */
@media (max-width:1199.98px) {
  .manual-quick-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:8px 0; }
  .manual-quick-fields .manual-field { min-width:0; }
  .manual-ticket-editor .manual-grid-cell:is([data-column=quantity],[data-column=price]) { display:none; }
}
@media (max-width:767.98px) {
  .manual-quick-fields input { font-size:16px; }
}

.manual-pro-side { display:none; }
.manual-summary-account { flex:1 1 8rem; min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ot-label); }
@media (max-width:1199.98px) {
  .manual-ticket-actions:has(> .manual-pro-side) { display:grid; grid-template-columns:calc((100% - 8px) / 2) minmax(0,1fr) 44px; gap:8px; }
  .manual-pro-side { display:block; flex:1 1 0; min-width:0; }
  .manual-pro-side .manual-field > span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .manual-pro-side select { min-height:44px; }
  .manual-ticket-actions > .manual-pro-submit { width:100%; min-width:0; padding-inline:8px; }
  .manual-ticket-editor .manual-grid-cell[data-column=sideCode] { display:none; }
}
@media (max-width:767.98px) {
  .manual-pro-side select { font-size:16px; }
}

/* Positions uses the same compact export affordance as Orders & Executions. */
.positions-toolbar { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:4px 8px; margin:0 0 6px; }
.positions-toolbar .position-column-menu { margin-inline-start:0; }
.orders-toolbar > .grid-export-button { flex:0 1 auto; width:auto; margin:0; background:transparent; border-color:transparent; color:var(--ot-label); font-size:.8rem; gap:5px; padding-inline:6px; }
.orders-toolbar > .grid-export-button:hover,.orders-toolbar > .grid-export-button[aria-expanded=true] { background:var(--ot-panel-inset); color:var(--ot-text); }
.grid-export-button svg { width:15px; height:15px; }
@media (max-width:767.98px) {
  .orders-toolbar > .grid-export-button { font-size:.9375rem; min-width:44px; min-height:44px; padding-inline:8px; }
}

/* SMRT retains the legacy control groups; only their wrapping is responsive. */
.smrt-option-group { min-width:0; margin:0 0 12px; padding:10px; border:1px solid var(--ot-panel-border); border-radius:8px; }
.smrt-option-group legend { font-weight:600; padding-inline:4px; }
.smrt-option-group .configuration-check { align-self:center; }
.smrt-option-group .configuration-fields > div { min-width:0; }
.smrt-option-group input[type=time] { max-width:100%; box-sizing:border-box; }
.smrt-option-group .configuration-check input[type=radio],.smrt-config-layout input[type=radio], [data-testid=smrt-entry] input[type=radio] { flex:none; width:18px; height:18px; }

/* SMRT runtime: compact dispatch summaries with the same side/status colors as Orders. */
.smrt-toolbar {display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem;}
.smrt-toolbar .orders-columns-button {margin-left:auto;}
.smrt-groups {gap:.65rem;}
.smrt-group {padding:.65rem;border-color:var(--ot-panel-border);}
.smrt-group-header {display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:.4rem;}
.smrt-group-header strong {font-size:1rem;}
.smrt-status {border:1px solid currentColor;border-radius:.3rem;padding:.15rem .4rem;font-size:.75rem;font-weight:700;white-space:nowrap;}
.smrt-status[data-value=Pending] {color:var(--ot-warning);}
.smrt-leg-state-summary {display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.75rem;line-height:1.3;margin-block:3px;}
.smrt-leg-state-summary .smrt-status {font-size:inherit;padding:2px 5px;}
.smrt-status[data-value=Stopping] {color:var(--ot-warning);}
.smrt-status[data-value="Cancellation rejected"] {color:var(--ot-negative);border-color:var(--ot-negative);}
.smrt-parent-status-detail {grid-column:1 / -1;margin:0;font-size:.75rem;color:var(--ot-label);}
.smrt-instrument {display:flex;align-items:center;gap:.65rem;margin:.25rem 0 .45rem;font-size:.9rem;}
.smrt-leg-count {margin-left:auto;color:var(--ot-label);font-size:.8rem;}
.smrt-row-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;}
.smrt-stop-outcome {grid-column:1 / -1;margin:.25rem 0;font-size:.8rem;color:var(--ot-label);max-width:32rem;}
.smrt-hierarchy [data-testid=cancel-scope-orders] {color:var(--ot-sell);border-color:var(--ot-sell);}
.smrt-hierarchy .orders-button {font-size:.85rem;min-height:44px;}
.smrt-legs {margin-top:.65rem;grid-template-columns:1fr;border-left:2px solid var(--ot-buy);padding-left:.55rem;gap:.5rem;}
.smrt-leg {padding:.55rem;background:var(--ot-panel-inset);}
.smrt-leg-orders {width:100%;}
.smrt-column-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;}
.smrt-column-options label {display:flex;align-items:center;gap:.5rem;min-height:44px;}
.smrt-column-options input {width:20px;height:20px;}
.smrt-runtime-dialog {width:min(1100px,96vw);}
@media(min-width:768px){.smrt-row-actions {display:flex;justify-content:flex-end;}.smrt-legs {grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}}

.order-origin-badge {display:inline-block;margin-left:.35rem;font-size:.7rem;padding:.1rem .3rem;border:1px solid var(--ot-info);border-radius:.25rem;color:var(--ot-info);}
.smrt-hierarchy .smrt-group-header {display:grid;padding:0;border:0;margin:0;text-align:left;}
.smrt-hierarchy .smrt-group-header strong {justify-self:start;}
.smrt-hierarchy .smrt-leg header {padding:0;border:0;margin:0;text-align:left;}
.smrt-hierarchy .smrt-toolbar .orders-columns-button {margin-bottom:0;}
@media(min-width:1024px){
 .smrt-hierarchy .smrt-group,.smrt-hierarchy .smrt-leg {display:grid;grid-template-columns:minmax(150px,1fr) minmax(360px,2fr) auto;gap:.3rem .65rem;align-items:center;}
 .smrt-hierarchy .smrt-group-header,.smrt-hierarchy .smrt-leg header {grid-column:1;grid-row:1;}
 .smrt-instrument {grid-column:1;grid-row:2;}
 .smrt-group>.smrt-summary,.smrt-leg>.smrt-summary {grid-column:2;grid-row:1 / 3;}
 .smrt-group>.smrt-details,.smrt-leg>.smrt-details {grid-column:2;grid-row:3;}
 .smrt-row-actions,.smrt-leg-orders {grid-column:3;grid-row:1 / 3;}
 .smrt-row-actions {flex-direction:column;}
 .smrt-legs {grid-column:1 / -1;grid-template-columns:1fr;}
 .smrt-hierarchy .manual-problem {grid-column:1 / -1;}
}

/* Sub-algorithm cards share the borderless label/value treatment and chevron
   controls of launched algorithms. Extra fields expand with their owning row. */
.smrt-hierarchy .smrt-summary {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:8px 0;}
.smrt-hierarchy .smrt-details {gap:8px 12px;margin:8px 0;padding-top:8px;border-color:var(--ot-panel-border);}
.smrt-hierarchy dl dt {color:var(--ot-label);font-size:.8rem;}
.smrt-hierarchy dl dd {margin:3px 0 0;font-size:.9rem;font-variant-numeric:tabular-nums;}
.smrt-hierarchy .smrt-leg header {display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:.4rem;align-items:center;}
.smrt-hierarchy .compact-toggle {min-width:44px;min-height:44px;}
@media(min-width:768px){.smrt-hierarchy .smrt-summary{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(min-width:1024px){.smrt-group>.smrt-details,.smrt-leg>.smrt-details{grid-column:1 / -1;}}

/* Compact runtime rows: keep identity, status, exposure and actions in view.
   Secondary fields still use the existing expansion and column preferences.
   Content can grow for long values or larger text; touch targets stay 44px. */
.running-algorithms .algorithm-card { padding:6px 8px; gap:4px 8px; margin:6px 0; }
.running-algorithms .algorithm-card-header { gap:4px; flex:1 1 45%; }
.running-algorithms .algorithm-card-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 8px; flex-basis:100%; }
.running-algorithms .algorithm-card dt { font-size:.75rem; line-height:1.3; }
.running-algorithms .algorithm-card dd { margin:1px 0 0; font-size:.875rem; line-height:1.35; }
.running-algorithms .algorithm-card-details { gap:6px 12px; padding-top:6px; margin-top:2px; }
.running-algorithms .algorithm-actions { gap:4px; }
.running-algorithms .algorithm-actions .orders-button { padding:4px 8px; font-size:.8rem; min-height:44px; min-width:0; white-space:normal; overflow-wrap:anywhere; }
.running-algorithms .algorithm-actions p { margin:2px 0; flex-basis:100%; font-size:.8rem; }
.running-algorithms .algorithm-inspect-actions { gap:4px; }
.running-algorithms .algorithm-card .algorithm-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.running-algorithms .algorithm-card .algorithm-inspect-actions { min-width:0; }
.running-algorithms .algorithm-card .algorithm-inspect-actions:has([data-testid=algorithm-view-subalgos]),
.running-algorithms .algorithm-card .algorithm-actions > p { grid-column:1 / -1; }
.running-algorithms .algorithm-status { padding:2px 6px; font-size:.75rem; }
.running-algorithms .algorithm-started { font-size:.75rem; }
.smrt-hierarchy .smrt-groups { gap:6px; }
.smrt-hierarchy .smrt-group,.smrt-hierarchy .smrt-leg { padding:6px 8px; border-radius:8px; }
.smrt-hierarchy .smrt-heading { min-width:0; }
.smrt-hierarchy .smrt-heading > strong { font-size:.9rem; }
.smrt-hierarchy .smrt-instrument { flex-wrap:wrap; gap:2px 8px; margin:1px 0 0; font-size:.8rem; line-height:1.3; }
.smrt-hierarchy .smrt-leg-count { margin-left:0; font-size:.75rem; }
.smrt-hierarchy .smrt-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px 12px; margin:4px 0; }
.smrt-hierarchy .smrt-summary > div { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:0 4px; }
.smrt-hierarchy dl dt { font-size:.75rem; line-height:1.35; }
.smrt-hierarchy dl dd { margin:0; font-size:.85rem; line-height:1.35; overflow-wrap:anywhere; }
.smrt-hierarchy .smrt-details { gap:4px 12px; margin:4px 0; padding-top:4px; }
.smrt-hierarchy .smrt-row-actions { gap:4px; }
.smrt-hierarchy .smrt-row-actions .orders-button { padding:4px 8px; font-size:.8rem; }
.smrt-hierarchy .smrt-legs { margin-top:6px; padding-left:6px; gap:6px; }
@media(min-width:768px) {
 .running-algorithms .algorithm-card-summary { flex:2 1 220px; }
 .running-algorithms .algorithm-card .algorithm-inspect-actions { flex:1 1 auto; }
 .smrt-hierarchy .smrt-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .smrt-hierarchy .smrt-summary > div { display:block; }
 .smrt-hierarchy .smrt-details { grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
 .smrt-hierarchy .smrt-row-actions > .orders-button { flex:none; width:auto; }
}
@media(min-width:1024px) {
 .smrt-hierarchy .smrt-group,.smrt-hierarchy .smrt-leg { grid-template-columns:minmax(170px,1fr) minmax(260px,1.5fr) auto; gap:4px 8px; }
 .smrt-hierarchy .smrt-group-header,.smrt-hierarchy .smrt-leg header { grid-row:1; }
 .smrt-group>.smrt-summary,.smrt-leg>.smrt-summary { grid-row:1; }
 .smrt-hierarchy .smrt-row-actions { grid-row:1; flex-direction:row; flex-wrap:wrap; max-width:220px; }
 .smrt-hierarchy .smrt-leg-orders { width:auto; }
 .smrt-group>.smrt-details,.smrt-leg>.smrt-details { grid-row:2; }
}
@media(min-width:768px) and (hover:hover) and (pointer:fine) {
 .running-algorithms .algorithm-actions .orders-button,.smrt-hierarchy .orders-button { min-height:32px; }
 .smrt-hierarchy .compact-toggle { min-height:32px; min-width:32px; }
 .smrt-hierarchy .smrt-group-header,.smrt-hierarchy .smrt-leg header { grid-template-columns:32px minmax(0,1fr) auto; }
}
/* Desktop workspace controls stay out of the phone toolbar. */
.workspace-launcher{display:none;align-items:center;gap:6px;flex-shrink:0;min-height:36px;padding:6px 10px!important;font-size:13px!important}
html[data-workspace-desktop=true] .workspace-launcher{display:inline-flex}
.workspace-launcher svg{flex-shrink:0}
.configuration-dialog.workspace-dialog{width:min(650px,calc(100% - 32px));height:fit-content;max-height:90dvh;overflow:auto;background:#191f2b;color:#e5e9ef;border:1px solid #58677e;border-radius:12px;padding:20px;text-align:left;box-shadow:0 20px 60px #0007}
.workspace-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.workspace-dialog h2{font-size:21px;margin:0}
.workspace-dialog p{margin:12px 0;font-size:14px;line-height:1.5}
.workspace-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.workspace-dialog label{display:flex;gap:12px;align-items:center;margin-top:12px}
.workspace-dialog input,.workspace-dialog select{min-height:40px;background:#111722;color:inherit;border:1px solid #718099;border-radius:6px;padding:6px 10px;max-width:100%;min-width:0;flex:1}
.workspace-dialog summary{cursor:pointer;min-height:40px;padding:8px 0}
.workspace-dialog .workspace-help{color:#b2bbca;font-size:13px}
@media(max-width:899px){.workspace-launcher span{display:none}}
.workspace-blocked{margin:14px 0;padding:12px;border:1px solid #d6b76a;border-radius:8px;background:#25241f;}
.workspace-dialog .workspace-blocked p{margin:8px 0 12px;}

/* Desktop layouts reuse the designer file toolbar and the application button system. */
.configuration-dialog.workspace-dialog{width:min(52rem,calc(100vw - 1.5rem));}
.workspace-dialog .blueprint-file-header{min-width:0;}
.workspace-dialog .blueprint-filebar{display:flex;gap:.3rem;align-items:center;}
.workspace-dialog .blueprint-filebar .orders-button{padding:.5rem .55rem;}
.workspace-dialog .blueprint-filebar .blueprint-more{width:44px;flex:0 0 44px;padding:0;}
.workspace-dialog .blueprint-save{margin-left:auto;}
.workspace-dialog .blueprint-document-title{display:flex;justify-content:space-between;gap:.75rem;margin:.75rem 0;overflow-wrap:anywhere;}
.workspace-dialog .blueprint-document-title span,.workspace-help{color:var(--muted);font-size:.875rem;}
.workspace-actions,.workspace-library{display:flex;flex-wrap:wrap;gap:.45rem;}
.workspace-screens{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));}
.workspace-screens .orders-button{justify-content:space-between;}
.workspace-library{padding:.6rem 0;}
.workspace-save{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem;padding:.65rem 0;}
.workspace-save label{display:grid;gap:.25rem;flex:1 1 12rem;min-width:0;}
.workspace-save input{width:100%;min-width:0;}
.workspace-auto{display:flex;align-items:center;gap:.6rem;font-size:.9rem;padding:.5rem 0;min-height:44px;}
.workspace-auto input{width:20px;height:20px;min-height:20px;padding:0;flex:none;}
.workspace-dialog details{font-size:.875rem;}
.workspace-dialog summary{cursor:pointer;min-height:44px;align-content:center;}
/* Minimum usable popout canvas if the browser restricts native resizing. */
html[data-workspace-child=true] body{min-width:390px;min-height:480px;overflow:auto;}
