:root{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#0f172a;background:linear-gradient(180deg,#e6eef9,#f8fbff)}*{box-sizing:border-box}body{margin:0}#root{min-height:100vh}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:min(420px,100%);display:grid;gap:14px;padding:28px;border:1px solid #cbd5e1;border-radius:18px;background:#fffffff5;box-shadow:0 18px 40px #0f172a1f}.auth-card h1{margin:0}.auth-eyebrow{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8}.auth-muted{margin:0;color:#475569;line-height:1.45}.auth-form{display:grid;gap:12px}.auth-field{display:grid;gap:6px;font-size:13px;font-weight:600;color:#334155}.auth-error{margin:0;color:#b91c1c;font-size:13px;line-height:1.4}.auth-submit{width:100%;padding:10px 12px;border-color:#1d4ed8;background:#1d4ed8;color:#fff;font-weight:700}.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.auth-summary{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.auth-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border-radius:999px;background:#eff6ff;color:#1e3a8a;font-size:12px;font-weight:700}.auth-chip.muted{background:#e2e8f0;color:#334155}.page{max-width:1440px;margin:0 auto;padding:20px;display:grid;gap:16px}.top{display:flex;justify-content:space-between;align-items:center}.page-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:8px;z-index:30;padding:8px;border:1px solid #cbd5e1;border-radius:10px;background:#fffffff5;box-shadow:0 6px 18px #0f172a14;overflow:hidden}.page-nav-links{display:flex;flex:1 1 auto;min-width:0;gap:8px;overflow-x:auto;scrollbar-width:none}.page-nav-links::-webkit-scrollbar{display:none}.page-nav-mode{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;margin-left:8px;padding-left:12px;border-left:1px solid #e2e8f0}.page-nav-mode-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap}.page-nav-mode-buttons{display:inline-flex;gap:8px}.page-nav-mode-button{border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#334155;font-weight:600;padding:7px 12px;white-space:nowrap}.page-nav-mode-button.active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.page-nav-link{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#1e293b;text-decoration:none;padding:7px 12px;font-weight:600;font-size:13px;white-space:nowrap}.page-nav-link:hover{border-color:#94a3b8;background:#f8fafc}.page-nav-link.active{border-color:#2563eb;background:#dbeafe;color:#1e3a8a}.page-nav-link.nav-mode-standby{border-style:dashed;background:#f8fafc;color:#475569}.page-nav-link.nav-mode-muted{background:#f1f5f9;color:#64748b;opacity:.72}.page-nav-link.mode-dry.nav-mode-active{border-color:#f59e0b;background:#fef3c7;color:#92400e}.page-nav-link.mode-live.nav-mode-active{border-color:#dc2626;background:#fee2e2;color:#991b1b}.page-nav-link.active.mode-dry.nav-mode-active,.page-nav-link.active.mode-live.nav-mode-active{box-shadow:0 0 0 1px #0f172a1f}.mode-banner{border:1px solid transparent;border-radius:10px;padding:10px 12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}.mode-banner strong{font-size:13px;letter-spacing:.04em}.mode-banner-live{border-color:#dc2626;background:#fee2e2;color:#7f1d1d}.mode-banner-dry{border-color:#f59e0b;background:linear-gradient(90deg,#fef3c7,#dbeafe);color:#1e3a8a}.mode-banner.mode-state-standby,.command-bar.mode-state-standby{opacity:1;filter:none}.mode-banner.mode-state-locked,.command-bar.mode-state-locked{opacity:.7;filter:saturate(.72)}.mode-banner.mode-state-active,.command-bar.mode-state-active{opacity:1;filter:none}.command-bar{position:sticky;top:64px;z-index:20;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:10px 12px;box-shadow:0 6px 18px #0f172a14}.command-bar-live{border-color:#fca5a5;background:#fff7f7}.command-bar-dry{border-color:#93c5fd;background:#f8fbff}.command-bar-state-row{display:flex;align-items:center}.command-bar-state{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.command-state-chip{white-space:nowrap}.command-bar-action-row{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.command-action-groups{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.command-action-group{display:inline-flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid #dbeafe;border-radius:8px;background:#fff}.command-action-label{font-size:11px;color:#475569;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.command-action-group button{white-space:nowrap}.command-refresh-button{width:34px;min-width:34px;padding:8px 0;font-size:16px;font-weight:700;line-height:1;margin-left:auto}.command-helper-text{margin:6px 2px 0;font-size:12px;color:#475569}.command-details{margin:-4px 2px 0;font-size:12px;color:#475569;line-height:1.4;word-break:break-word}.status{display:inline-flex;align-items:center;justify-content:center;padding:8px 10px;border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:400;line-height:1.2;color:#fff}.status.running{background:#15803d;border-color:#15803d}.status.off{background:#64748b;border-color:#64748b}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.overview-grid{display:grid;grid-template-columns:minmax(400px,1.1fr) minmax(360px,1fr);gap:12px;align-items:start}.overview-grid.overview-grid-main{grid-template-columns:1fr}.card{border:1px solid #d1d5db;border-radius:10px;background:#fff;padding:6px 14px 14px;overflow:visible}.card>h2,.card>h3{margin:0}.execution-card{transition:opacity .15s ease,filter .15s ease,border-color .15s ease}.execution-card.execution-card-standby{opacity:.76;filter:saturate(.8)}.execution-card.execution-card-locked{opacity:.72;filter:saturate(.78)}.execution-card.execution-card-active{opacity:1;filter:none}.overview-card{display:grid;gap:8px}.overview-card h2{margin:0}.overview-card h3{margin:0;font-size:13px;color:#334155}.overview-portfolio-card{order:1}.overview-status-card{order:2}.main-status-strip{margin:0 0 12px;border:1px solid #d6e0ec;border-radius:12px;background:#fff;padding:8px 12px;display:grid;gap:6px}.main-status-strip-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:#475569}.main-status-strip-title{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap}.main-status-strip-title strong{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#0f172a}.main-status-strip-title span,.main-status-strip-global-time{font-size:12px;color:#64748b}.main-status-strip-rows{display:grid;gap:2px}.main-status-strip-row{display:grid;grid-template-columns:minmax(0,.8fr) repeat(3,minmax(0,1.067fr));gap:2px 8px;align-items:start}.main-status-strip-row-secondary{padding-top:4px;border-top:1px solid #e2e8f0}.main-status-inline-item{display:grid;grid-template-columns:58px minmax(0,1fr) 44px;align-items:center;gap:4px 6px;min-height:22px;min-width:0}.main-status-inline-label{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap}.main-status-inline-item .indicator-badge{max-width:100%;white-space:nowrap;overflow-wrap:normal;word-break:keep-all;overflow:hidden;text-overflow:ellipsis;min-width:0;justify-self:start;padding:4px 8px;font-size:11px;gap:5px}.main-status-inline-item .indicator-badge:before{width:7px;height:7px}.main-status-inline-time{font-size:11px;color:#64748b;white-space:nowrap}.main-status-drawer{border-top:1px dashed #cbd5e1;padding-top:6px}.main-status-drawer summary{font-size:12px;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.main-status-drawer-panel{margin-top:6px;display:grid;grid-template-columns:minmax(0,.8fr) repeat(3,minmax(0,1.067fr));gap:2px 8px}.status-badges{display:grid;gap:8px;justify-items:start}.status-metrics-table{width:100%;border-collapse:collapse;table-layout:auto}.status-metrics-table th,.status-metrics-table td{border-top:0;border-left:0;border-right:0;border-bottom:1px solid #e2e8f0;padding:7px 8px;font-size:12px;vertical-align:middle}.status-metrics-table th{color:#334155;font-weight:700;text-align:left}.status-metrics-table th:nth-child(1),.status-metrics-table td:nth-child(1){width:35%;padding-right:8px}.status-metrics-table th:nth-child(2),.status-metrics-table td:nth-child(2){width:45%}.status-metrics-table th:nth-child(3),.status-metrics-table td:nth-child(3){width:20%;text-align:right;white-space:nowrap;color:#64748b}.status-current-cell{text-align:left}.status-current-cell .indicator-badge{display:inline-flex;max-width:100%;white-space:normal;overflow-wrap:anywhere}.status-metric-cell{display:inline-flex;align-items:center;gap:6px}.status-metric-name{color:#0f172a}.status-info-details{position:relative;display:inline-flex;align-items:center}.status-info-details summary{list-style:none;width:18px;height:18px;border-radius:999px;border:1px solid #94a3b8;background:#f8fafc;color:#334155;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none}.status-info-details summary::-webkit-details-marker{display:none}.status-info-details[open] summary{border-color:#2563eb;color:#1d4ed8;background:#eff6ff}.status-info-popover{position:absolute;left:0;top:calc(100% + 6px);z-index:45;width:min(320px,calc(100vw - 64px));padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;box-shadow:0 10px 24px #0f172a24;color:#334155}.status-info-popover p{margin:0;font-size:12px;line-height:1.4}.status-info-popover .status-info-title{margin-bottom:4px;font-size:12px;font-weight:700;color:#0f172a}.status-advanced-details{margin-top:4px}.status-advanced-details summary{font-size:12px}.status-metrics-table-advanced th,.status-metrics-table-advanced td{font-size:11px}.indicator-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600;border:1px solid transparent}.indicator-badge[title]{cursor:help}.indicator-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.indicator-badge.good{color:#166534;background:#dcfce7;border-color:#86efac}.indicator-badge.info{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.indicator-badge.warn{color:#854d0e;background:#fef3c7;border-color:#fcd34d}.indicator-badge.bad{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.indicator-badge.off{color:#334155;background:#e2e8f0;border-color:#94a3b8}.overview-last-update{margin:0;font-size:13px;color:#334155}.compact-details{margin-top:2px;border-top:1px dashed #cbd5e1;padding-top:6px}.compact-details summary{font-size:12px;color:#475569;cursor:pointer}.detail-kv{margin-top:6px;display:grid;gap:6px}.detail-kv p{margin:0;display:flex;justify-content:space-between;gap:8px;font-size:12px}.detail-kv span{color:#64748b}.detail-kv strong{color:#0f172a;font-weight:600;text-align:right}.portfolio-hero-header{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,2.2fr);gap:14px;align-items:end}.portfolio-hero-main{display:grid;gap:4px;align-content:end}.portfolio-hero-side{display:grid;gap:12px;min-width:0}.portfolio-hero-toolbar{display:flex;justify-content:flex-end;align-items:center}.portfolio-hero-label{font-size:24px;font-weight:700;letter-spacing:0;text-transform:none;color:#0f172a;line-height:1.15}.portfolio-hero-main strong{font-size:clamp(18px,2.4vw,26px);line-height:1;color:#0f172a}.portfolio-hero-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:stretch;gap:10px 16px}.portfolio-hero-metric{display:grid;gap:3px;min-width:0;padding-right:16px;border-right:1px solid #e2e8f0}.portfolio-hero-metric-primary{min-width:min(100%,210px)}.portfolio-hero-header-mainpage{grid-template-columns:minmax(200px,.9fr) minmax(0,2.1fr);gap:10px;align-items:start}.portfolio-hero-side-mainpage{display:grid;grid-template-columns:1fr;gap:8px;align-items:start}.portfolio-hero-metrics-mainpage{justify-content:flex-end;text-align:right}.portfolio-hero-toolbar-mainpage{justify-content:flex-end;align-self:start}.portfolio-hero-main-mainpage{gap:2px;align-content:start;text-align:left}.portfolio-hero-metrics-mainpage .portfolio-hero-metric-primary{min-width:min(100%,190px)}.portfolio-hero-metrics-mainpage .portfolio-hero-metric-primary strong{font-size:clamp(19px,1.7vw,25px)}.portfolio-hero-metrics-mainpage .portfolio-hero-metric{text-align:right}.portfolio-hero-metric:last-child{padding-right:0;border-right:0}.portfolio-hero-metric span{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.portfolio-hero-metric strong{font-size:18px;color:#0f172a;line-height:1.2}.portfolio-hero-metric-primary strong{font-size:clamp(24px,2.3vw,32px);line-height:1.05}.portfolio-hero-metric.positive strong{color:#166534}.portfolio-hero-metric.negative strong{color:#991b1b}.portfolio-key-submeta{font-size:10px;color:#64748b;line-height:1.35}.portfolio-valuation-meta{margin:0;font-size:13px;color:#475569;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portfolio-chart-toolbar-row{display:flex;justify-content:flex-end;align-items:center;margin:6px 0 8px}.portfolio-valuation-drift-warn{color:#991b1b;font-weight:600}.main-portfolio-positions-card{margin-top:-2px}.main-portfolio-followup{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#475569;margin:-2px 0 2px}.execution-portfolio-value-drawer{display:grid;gap:12px}.execution-portfolio-value-summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.execution-portfolio-value-summary::-webkit-details-marker{display:none}.execution-portfolio-value-summary::marker{content:""}.execution-portfolio-value-summary-wrap{display:grid;gap:10px}.execution-portfolio-value-summary-header{align-items:start}.execution-portfolio-meta-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:12px;color:#475569}.execution-portfolio-value-summary-hint{margin-left:auto;font-weight:600;color:#334155}.execution-portfolio-value-panel{border-top:1px dashed #cbd5e1;padding-top:12px;display:grid;gap:10px}.execution-portfolio-value-toolbar{justify-content:flex-end}.execution-intents-drawer summary{font-weight:600}.execution-intents-drawer-panel{margin-top:10px;display:grid;gap:10px}.execution-diagnostics-drawer{margin-top:0;padding-top:0;border-top:0}.execution-diagnostics-panel{margin-top:12px;display:grid;gap:18px}.execution-diagnostics-section{display:grid;gap:10px}.execution-diagnostics-section h3{margin:0;font-size:14px;color:#0f172a}.main-summary-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px}.main-summary-card{padding-top:0}.main-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.main-section-header h2{margin:0}.main-section-header span{font-size:12px;color:#64748b}.strategy-summary-table{width:100%;border-collapse:collapse}.strategy-summary-table th,.strategy-summary-table td{border-bottom:1px solid #e2e8f0;padding:9px 8px;font-size:12px;vertical-align:middle;text-align:left}.strategy-summary-table th{color:#475569;font-weight:700}.strategy-summary-table tbody tr:last-child td{border-bottom:0}.main-summary-stack{display:grid;gap:2px}.main-summary-stack strong{font-size:12px;color:#0f172a}.main-summary-stack span{font-size:11px;color:#64748b}.activity-strip-list{display:grid;gap:8px}.activity-strip-item{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;background:#f8fafc;display:grid;gap:2px}.activity-strip-item strong{font-size:13px;color:#0f172a}.activity-strip-item span{font-size:12px;color:#475569}.activity-strip-item small{font-size:11px;color:#64748b}.recent-fill-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.recent-fill-item{border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#f8fafc;display:grid;gap:6px}.recent-fill-topline,.recent-fill-metrics,.recent-fill-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.recent-fill-topline strong{font-size:13px;color:#0f172a}.recent-fill-topline span,.recent-fill-metrics span,.recent-fill-meta span,.recent-fill-meta small{font-size:12px}.recent-fill-topline span,.recent-fill-meta span{color:#475569}.recent-fill-metrics span{color:#0f172a;font-variant-numeric:tabular-nums}.recent-fill-meta small{color:#64748b}.portfolio-positions-source-meta{margin:0;font-size:12px}.top-position-list{display:grid;gap:6px;overflow-x:auto}.top-position-header{display:grid;grid-template-columns:minmax(56px,.8fr) minmax(110px,1.35fr) minmax(84px,1fr) minmax(84px,1fr);gap:8px;font-size:10px;color:#64748b;padding:0 6px;min-width:390px}.top-position-row{border:1px solid #e2e8f0;border-radius:8px;padding:6px 7px;display:grid;grid-template-columns:minmax(56px,.8fr) minmax(110px,1.35fr) minmax(84px,1fr) minmax(84px,1fr);gap:8px;align-items:center;min-width:390px}.top-position-row span{font-size:12px;color:#0f172a}.top-position-row .asset{font-weight:700}.top-position-row .num{text-align:right;font-variant-numeric:tabular-nums}.actions{display:flex;gap:8px;flex-wrap:wrap}.backtest-queue-actions{margin-top:18px}.row-actions-cell{display:grid;justify-items:end;gap:4px}.row-actions-inline{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.row-actions-inline-primary,.row-actions-inline-secondary{width:100%;flex-wrap:nowrap}.row-actions-inline-primary>button{flex:1 1 0;min-width:0;white-space:nowrap}.row-actions-inline-primary>button.adjust-capital-button{flex:0 0 118px;min-width:118px;font-weight:400}.row-actions-inline-primary>.adjust-capital-popover{flex:0 0 118px;min-width:118px}.row-actions-inline-secondary>button:not(.triangle-toggle){flex:1 1 0;min-width:0}.row-actions-inline-secondary .row-actions-details{flex:0 0 auto}.row-actions-inline-secondary .row-actions-details summary{width:auto;min-width:44px}.row-actions-details{position:relative}.strategy-control-table .row-actions-cell button{padding:5px 8px;font-size:12px;line-height:1.15}.row-actions-details summary{list-style:none;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#0f172a;padding:5px 8px;cursor:pointer;font-weight:600;min-width:96px;font-size:12px;line-height:1.15;text-align:center}.row-actions-details summary::-webkit-details-marker{display:none}.row-actions-details[open] summary{border-color:#93c5fd;background:#eff6ff}.row-actions-details-compact summary{min-width:40px;padding:4px 7px;font-size:12px;font-weight:700}.adjust-capital-popover summary{min-width:118px;font-weight:400}.row-actions-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:40;display:grid;gap:6px;min-width:220px;padding:8px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;box-shadow:0 10px 24px #0f172a24}.row-actions-panel button{width:100%;text-align:left}.row-actions-item{display:grid;gap:4px}.row-actions-input-label{font-size:11px;font-weight:700;color:#475569}.adjust-capital-panel{min-width:320px;grid-template-columns:1fr;gap:4px}.adjust-capital-panel input{width:100%}.adjust-capital-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}.adjust-capital-row input{flex:1 1 auto;min-width:0;padding:5px 7px}.adjust-capital-row .adjust-capital-action-button{width:auto;min-width:116px;white-space:nowrap;font-size:13px;font-weight:400;padding:5px 8px}.adjust-capital-panel button{text-align:center}.adjust-capital-row-meta{display:flex;justify-content:space-between;align-items:baseline;gap:6px;margin-top:-2px;padding:0 1px;font-size:9px;line-height:1.35;font-weight:400;color:#64748b}.adjust-capital-note{margin-top:2px;font-size:9px;line-height:1.35;font-weight:400;color:#64748b}@media (max-width: 760px){.adjust-capital-panel{min-width:220px}.adjust-capital-row{grid-template-columns:1fr}.adjust-capital-row-meta{flex-direction:column;align-items:flex-start}}.row-actions-helper{margin:0;font-size:11px;line-height:1.35;color:#64748b}.inline-action-error{margin:2px 0 0;max-width:300px;font-size:12px;line-height:1.35;color:#991b1b;text-align:left}.row-actions-danger{display:grid;gap:6px;border-top:1px dashed #cbd5e1;padding-top:6px;margin-top:2px}.row-actions-danger-label{margin:0;font-size:11px;font-weight:700;color:#b91c1c;text-transform:uppercase;letter-spacing:.02em}.controls .actions{margin-top:8px}.mode-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;margin-bottom:8px}.mode-button.active{background:#dbeafe;border-color:#60a5fa}button{border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#0f172a;padding:8px 10px;cursor:pointer}.button-danger{border-color:#dc2626;background:#dc2626;color:#fff}.button-danger-outline{border-color:#dc2626;background:#fff;color:#b91c1c}.button-secondary{background:#fff}button.button-danger:enabled:hover{background:#b91c1c;border-color:#b91c1c}button.button-danger-outline:enabled:hover{background:#fef2f2;border-color:#b91c1c}.runtime-card-live{border-color:#fecaca;background:#fff7f7}input[type=number],input[type=text],input[type=password],input[type=date],select{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;padding:8px 10px}button:disabled{opacity:.6;cursor:not-allowed}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#0f172a66;display:grid;place-items:center;padding:16px}.dialog-card{width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-shadow:0 16px 36px #0f172a40;padding:14px;display:grid;gap:12px}.dialog-card h2{margin:0;font-size:20px}.dialog-message{margin:0;color:#334155;white-space:pre-wrap}.dialog-fields-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.dialog-field{display:grid;gap:6px}.dialog-field span{font-size:12px;color:#475569;font-weight:600}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.allocation-row{margin-top:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.allocation-row label{font-size:13px;color:#334155}.asset-search-row{margin-top:8px;display:grid;grid-template-columns:auto minmax(120px,1fr) auto 120px auto;gap:8px;align-items:center}.asset-search-row label{font-size:13px;color:#334155}.asset-allocation-cell{display:flex;align-items:center;gap:8px}.asset-allocation-cell input{width:110px}.allocation-cell-button{display:inline-flex;align-items:baseline;gap:6px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#0f172a;padding:5px 8px;font-size:13px;font-weight:600}.allocation-cell-button:hover{border-color:#93c5fd;background:#eff6ff}.allocation-cell-readonly{display:inline-flex;flex-direction:column;align-items:flex-end;border:0;background:transparent;padding:0}.allocation-cell-readonly:hover{border:0;background:transparent}.allocation-initial-label{display:block;margin-top:2px;white-space:nowrap;color:#64748b;font-size:11px;font-weight:500}.strategy-expand-cell{margin-top:6px;display:flex;justify-content:flex-end}.triangle-toggle{min-width:28px;padding:2px 6px;border-radius:999px;line-height:1;font-size:14px}.meta{font-size:13px;color:#475569}.empty-guide{display:grid;gap:4px}.empty-guide p{margin:0}table{width:100%;border-collapse:collapse}table input[type=number]{width:100%;min-width:78px}.strategy-control-table{table-layout:fixed;border-collapse:collapse}.strategy-control-table th,.strategy-control-table td{vertical-align:top;border-color:#dbe3ef}.strategy-control-table th{background:#f8fafc;font-size:12px;font-weight:700;line-height:1.2;padding:8px}.strategy-control-table td{padding:7px 8px;font-size:12.5px;line-height:1.3}.strategy-control-table th:first-child,.strategy-control-table td:first-child{text-align:left}.strategy-control-table th:first-child,.strategy-control-table td:first-child{width:120px}.strategy-control-table th:nth-child(5),.strategy-control-table td:nth-child(5){width:112px}.strategy-control-table td:first-child{overflow:hidden;padding-left:4px;padding-right:4px}.strategy-control-table th:nth-child(2),.strategy-control-table td:nth-child(2),.strategy-control-table th:nth-child(3),.strategy-control-table td:nth-child(3),.strategy-control-table th:nth-child(4),.strategy-control-table td:nth-child(4),.strategy-control-table th:nth-child(6),.strategy-control-table td:nth-child(6),.strategy-control-table th:nth-child(7),.strategy-control-table td:nth-child(7),.strategy-control-table th:nth-child(8),.strategy-control-table td:nth-child(8){text-align:right}.strategy-control-table th:nth-child(5),.strategy-control-table td:nth-child(5){text-align:right}.strategy-control-table th:last-child,.strategy-control-table td:last-child{width:230px;text-align:right}.strategy-control-table th:nth-last-child(2),.strategy-control-table td:nth-last-child(2){width:110px;text-align:right}.strategy-control-table td:nth-last-child(2) .indicator-badge{white-space:nowrap}.started-cell{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;line-height:1.15;white-space:nowrap}.strategy-parent-row td{background:#e8f1ff;border-top:1px solid #bdd3f3;border-bottom:1px solid #cfe0f7}.strategy-parent-cell{font-weight:700;color:#0f172a}.strategy-name-cell-inline{display:inline-grid;grid-template-columns:1fr;justify-items:start;align-items:start;gap:3px;max-width:100%}.see-more-inline-button{border:1px solid #bfd5ef;background:#f8fbff;color:#1e3a8a;font-size:9px;font-weight:700;line-height:1.1;padding:2px 6px;border-radius:999px;white-space:nowrap;display:inline-flex;align-items:center;gap:2px}.see-more-inline-button:after{content:"▾";font-size:7px;color:#64748b;line-height:1;transition:transform .12s ease}.see-more-inline-button.is-open:after{transform:rotate(180deg)}.see-more-inline-button.is-open{border-color:#93c5fd;background:#eff6ff;color:#1e40af}.see-more-inline-button:hover:enabled{border-color:#93c5fd;background:#eff6ff;color:#1e40af}.strategy-asset-section-row td{background:#eef4ff;border-top:1px solid #d8e5f5;border-bottom:1px solid #d8e5f5;color:#475569;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;text-align:left;line-height:1.05;padding-top:3px;padding-bottom:3px}.strategy-asset-row td{background:#fff}.strategy-control-table td.strategy-asset-cell{padding-left:1px}.strategy-performance-inline-row td{background:#f8fbff;padding:8px}.strategy-performance-inline-content{display:grid;gap:6px}.strategy-performance-inline-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.strategy-performance-inline-header h3{margin:0;font-size:14px}.strategy-performance-inline-content .detail-chart-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.execution-returns-line{margin:0;font-size:12px}.execution-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(106px,1fr));gap:5px}.execution-kpi-card{border:1px solid #dbeafe;background:#fff;border-radius:8px;padding:4px 7px;display:grid;gap:2px}.execution-kpi-card span{font-size:10px;color:#64748b}.execution-kpi-card strong{font-size:12px;color:#0f172a}.execution-secondary-metrics-wrap{border:1px solid #dbeafe;border-radius:8px;background:#fff;overflow:hidden}.execution-secondary-metrics-table{width:100%;border-collapse:collapse;table-layout:fixed}.execution-secondary-metrics-table th,.execution-secondary-metrics-table td{padding:5px 7px;border-bottom:1px solid #e2e8f0;font-size:11px;line-height:1.2}.execution-secondary-metrics-table th{background:#f8fafc;color:#475569;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.execution-secondary-metrics-table th:first-child,.execution-secondary-metrics-table td:first-child{text-align:left}.execution-secondary-metrics-table th:nth-child(2),.execution-secondary-metrics-table th:nth-child(3),.execution-secondary-metrics-table td:nth-child(2),.execution-secondary-metrics-table td:nth-child(3){text-align:right}.execution-secondary-metrics-table tbody tr:last-child td{border-bottom:none}.strategy-performance-inline-content .execution-inline-charts{margin-top:2px;gap:8px}.strategy-performance-inline-content .detail-series-card{padding:7px}.strategy-performance-inline-content .detail-series-card h3{margin:0 0 6px;font-size:12px}.strategy-performance-inline-content .detail-series-card p{margin:0;font-size:12px;color:#64748b}.strategy-performance-inline-content .echart-small{min-height:190px}.strategy-control-table .strategy-idle-cash-row td{background:#f5f9ff;border-top:1px dashed #c7d2fe;overflow:hidden;font-weight:600}.strategy-control-table td.strategy-idle-cash-cell{padding-left:1px}.strategy-asset-label{display:inline-block;max-width:100%;position:relative;padding-left:0;white-space:nowrap;overflow-wrap:anywhere;color:#334155;font-weight:700;z-index:1}.strategy-idle-cash-label{white-space:normal;overflow-wrap:anywhere}.strategy-control-table td.strategy-asset-cell .strategy-asset-label:before,.strategy-control-table td.strategy-idle-cash-cell .strategy-asset-label:before{content:"└";display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;margin-right:2px;color:#64748b;font-size:11px;font-weight:600;line-height:1;transform:translateY(0)}.strategy-control-table .strategy-idle-cash-row td[colspan]{white-space:normal;overflow-wrap:anywhere}.strategy-control-table tfoot .global-idle-cash-row td{background:#eef2f7;border-top:2px solid #cbd5e1;font-weight:700}.row-actions-meta{margin:0;font-size:12px;color:#475569;font-weight:600}.combined-positions-table{table-layout:fixed;border-collapse:collapse;border-spacing:0}.combined-positions-table thead th{background:#f8fafc;border-top:1px solid #dbe3ef;border-bottom:1px solid #cbd5e1;padding:10px 12px;font-size:13px;font-weight:700}.combined-positions-table tbody td{padding:11px 12px;background:#fff;border-bottom:1px solid #e2e8f0;vertical-align:middle}.combined-positions-table tbody tr:nth-child(2n):not(.combined-position-idle) td{background:#f8fbff}.combined-positions-table th,.combined-positions-table td{text-align:right}.combined-positions-table th:first-child,.combined-positions-table td:first-child{text-align:left}.combined-positions-table th:nth-child(2),.combined-positions-table td:nth-child(2),.combined-positions-table th:nth-child(3),.combined-positions-table td:nth-child(3),.combined-positions-table th:nth-child(4),.combined-positions-table td:nth-child(4),.combined-positions-table th:nth-child(5),.combined-positions-table td:nth-child(5){text-align:right}.combined-position-asset{font-weight:700;text-align:left}.combined-position-idle td{background:#eef2ff;border-color:#c7d2fe}.combined-positions-table .portfolio-summary-row td{font-weight:700;border-top:1px solid #cbd5e1}.combined-positions-table .market-summary-row td{background:#f6f8fc}.combined-positions-table .cash-summary-row td{background:#fcfaf3}.combined-positions-table .portfolio-total-row td{background:#eef4ff;border-top:2px solid #94a3b8;font-weight:800}.combined-positions-table .cash-total-row.is-open td{border-bottom-color:#cbd5e1}.combined-positions-table .cash-total-row.is-clickable{cursor:pointer}.combined-positions-table .cash-total-row.is-clickable:hover td,.combined-positions-table .cash-total-row.is-clickable:focus td,.combined-positions-table .cash-total-row.is-clickable:focus-visible td{background:#f1f5f9}.cash-breakdown-toggle{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;color:#0f172a;font:inherit;font-weight:700;cursor:inherit}.cash-breakdown-toggle:disabled{cursor:default;color:#334155}.cash-breakdown-toggle-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;color:#64748b;font-size:12px}.cash-breakdown-row td{background:#fbfdff;color:#475569}.combined-position-asset-child{padding-left:44px;color:#475569;font-weight:600;position:relative}.combined-position-asset-child:before{content:"└";position:absolute;left:24px;color:#94a3b8;font-size:11px}.portfolio-summary-label{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.portfolio-summary-badge{display:inline-flex;align-items:center;justify-content:center;min-width:58px;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#e2e8f0;color:#475569}.portfolio-summary-badge.cash{background:#fef3c7;color:#92400e}.portfolio-summary-badge.total{background:#dbeafe;color:#1d4ed8}.combined-positions-table .liquidation-action-cell{width:172px;min-width:172px;white-space:nowrap;text-align:right}.combined-positions-table .liquidation-action-cell button{min-width:112px}.liquidation-action-stack{display:inline-grid;gap:6px;justify-items:end}.button-force-live{font-size:13px;padding:8px 10px;min-width:150px;white-space:normal;line-height:1.2;text-align:center}.combined-positions-table tfoot td{background:#f8fafc;padding:10px 12px}.combined-positions-helper{margin-top:8px}.combined-positions-helper-above-table{margin:0 0 10px}.combined-positions-helper-inline{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}.combined-positions-helper-inline span{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.combined-positions-helper-inline span:before{content:"•";color:#94a3b8;margin-right:6px}.combined-positions-helper-inline span:first-child:before{content:"";margin-right:0}.combined-positions-helper-inline strong{color:#334155}.portfolio-cash-section{margin-top:12px;display:grid;gap:8px}.portfolio-cash-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:8px 10px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc;font-size:13px;color:#334155}.portfolio-cash-summary strong{color:#0f172a}.portfolio-cash-table{width:100%;border-collapse:collapse}.portfolio-cash-table th,.portfolio-cash-table td{font-size:12px;text-align:right}.portfolio-cash-table th:first-child,.portfolio-cash-table td:first-child{text-align:left}.portfolio-breakdown-drawer{margin-top:12px;border-top:1px dashed #cbd5e1;padding-top:10px}.portfolio-breakdown-drawer summary{font-size:12px;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.portfolio-breakdown-panel{margin-top:10px;display:grid;gap:10px}.portfolio-breakdown-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#475569}th,td{border:1px solid #e2e8f0;padding:6px;font-size:13px;text-align:left}tbody tr.selected-row td{background:#eff6ff}tbody tr.clickable-row td{cursor:pointer}tbody tr.clickable-row:hover td{background:#f1f5f9}.strategy-expanded-row td{background:#f8fafc}.asset-child-table{margin-top:8px}.asset-child-table th,.asset-child-table td{vertical-align:top}.asset-hyperparams-inline{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:6px}.idle-cash-row td{background:#f8fafc;font-weight:600}.error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:8px;padding:12px;white-space:pre-wrap}.form-feedback{border-radius:8px;padding:10px 12px;margin:8px 0 0;white-space:pre-wrap}.form-feedback-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.form-feedback-success{border:1px solid #bbf7d0;background:#f0fdf4;color:#166534}.echart-wrap{display:grid;gap:8px}.echart{width:100%;min-height:300px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;box-shadow:inset 0 1px #ffffffb3}.echart-pie{min-height:360px}.echart-small{min-height:280px}.echart-medium{min-height:340px}.echart-sparkline{min-height:150px;border-radius:8px}.equity-chart-meta{display:flex;gap:10px 14px;flex-wrap:wrap;color:#334155;font-size:13px}.equity-chart-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:8px 18px;flex-wrap:wrap;margin:0 0 8px}.equity-chart-meta-primary{justify-content:flex-start}.equity-chart-meta-secondary{justify-content:flex-end}.equity-chart-summary-drift{color:#334155;font-size:13px;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.equity-chart-summary-drift-label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.equity-chart-summary-info{flex:0 0 auto}.equity-chart-summary-popover{width:min(340px,calc(100vw - 64px))}.equity-chart-meta-value-positive{color:#166534;font-weight:600}.equity-chart-meta-value-negative{color:#991b1b;font-weight:600}.equity-window-buttons{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.equity-window-button{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;padding:5px 10px;font-size:12px;line-height:1}.equity-window-button.active{border-color:#2563eb;background:#dbeafe;color:#1e3a8a}.form-grid{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.form-grid label{display:grid;gap:6px;font-size:13px;color:#334155}.backtest-top-grid{grid-template-columns:minmax(140px,.9fr) minmax(220px,1.8fr) minmax(120px,.9fr) minmax(160px,1fr) minmax(160px,1fr);align-items:start}.backtest-top-grid label,.backtest-param-grid label{min-width:0}.backtest-top-grid select,.backtest-top-grid input,.backtest-param-grid select,.backtest-param-grid input{width:100%;min-width:0}.backtest-top-grid-wide{grid-column:auto}.backtest-param-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (max-width: 1380px){.backtest-top-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.backtest-top-grid-wide{grid-column:span 2}}@media (max-width: 860px){.backtest-top-grid{grid-template-columns:1fr}.backtest-top-grid-wide{grid-column:auto}}.strategy-form-stack{margin-top:10px;display:grid;gap:10px}.strategy-form-section{border:1px solid #dbeafe;border-radius:10px;background:#f8fbff;padding:10px}.strategy-form-section summary{cursor:pointer;font-weight:700;color:#0f172a}.strategy-form-help{margin:8px 0 0}.strategy-form-lock-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.checkbox-row{margin-top:10px;margin-bottom:10px;display:flex;gap:8px;align-items:center;font-size:13px;color:#334155}.nested-result{margin-top:12px;padding:10px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff}.nested-result h3{margin:0 0 8px;font-size:15px}.progress-wrap{min-width:170px;display:grid;gap:4px}.progress-bar{width:100%;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#0f766e,#2563eb);transition:width .4s ease}.progress-bar-info{background:#dbeafe}.progress-fill-info{background:linear-gradient(90deg,#2563eb,#0ea5e9)}.progress-bar-good{background:#dcfce7}.progress-fill-good{background:linear-gradient(90deg,#16a34a,#22c55e)}.progress-bar-warn{background:#fef3c7}.progress-fill-warn{background:linear-gradient(90deg,#d97706,#f59e0b)}.progress-bar-bad{background:#fee2e2}.progress-fill-bad{background:linear-gradient(90deg,#dc2626,#ef4444)}.progress-label{font-size:12px;color:#334155}.backtest-status-summary{display:grid;gap:4px;min-width:0}.backtest-status-badges{display:flex;flex-wrap:wrap;gap:6px}.backtest-status-meta,.backtest-status-error{margin:0;font-size:12px}.backtest-status-error{color:#991b1b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.backtest-history-filter-grid{margin-top:10px;margin-bottom:10px;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px 12px}.backtest-history-filter-grid label{gap:4px}.backtest-table-scroll{overflow-x:auto}.backtest-results-table{width:100%}.backtest-results-table th,.backtest-results-table td{vertical-align:top}.backtest-results-table td:nth-child(1),.backtest-results-table td:nth-child(8),.backtest-results-table td:nth-child(9),.backtest-results-table td:nth-child(10),.backtest-results-table td:nth-child(11),.backtest-results-table td:nth-child(12){white-space:nowrap}.backtest-row-actions{white-space:nowrap}.backtest-row-actions button+button{margin-left:6px}.backtest-inline-details-row td{background:#f8fafc}.backtest-inline-details-cell{padding:10px}.backtest-inline-details-card{margin:0;border-color:#cbd5e1;box-shadow:inset 0 1px #ffffffa6}.backtest-details-drawer-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;pointer-events:none}.backtest-details-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;margin:0;background:#0f172a57;cursor:pointer;pointer-events:auto}.backtest-details-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(720px,calc(100vw - 28px));padding:16px;pointer-events:auto}.backtest-details-drawer-card{height:100%;max-height:calc(100vh - 32px);overflow-y:auto;border-radius:18px;box-shadow:0 24px 60px #0f172a3d}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-header-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.detail-header h2{margin:0}.indicator-help-popover{width:min(460px,calc(100vw - 64px))}.data-help-popover{width:min(360px,calc(100vw - 64px))}.execution-performance-header{align-items:end}.execution-performance-selection{font-weight:700;color:#334155}.execution-performance-select{display:grid;gap:6px;font-size:12px;color:#475569;justify-items:end}.execution-performance-select select{min-width:280px}.detail-metric-layout{margin-top:8px;margin-bottom:10px;display:block}.detail-metric-quadrants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detail-metric-group{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:6px 7px 7px}.detail-metric-group h3{margin:0 0 5px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#334155}.detail-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.detail-metric-card{border:1px solid #dbeafe;background:#f8fbff;border-radius:8px;padding:6px 8px;display:grid;gap:2px;min-width:0}.detail-metric-card span{font-size:10px;line-height:1.2;color:#475569}.detail-metric-card strong{font-size:14px;line-height:1.15;color:#0f172a}.detail-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-top:12px;margin-bottom:12px}.detail-series-card{border:1px solid #dbeafe;border-radius:8px;padding:10px;background:#fff}.detail-series-card h3{margin:0 0 8px}.strategy-lab-kpi-strip{margin-top:8px}.strategy-lab-summary-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:12px;margin-bottom:12px}.strategy-lab-mini-table th:nth-child(2),.strategy-lab-mini-table th:nth-child(3),.strategy-lab-mini-table td:nth-child(2),.strategy-lab-mini-table td:nth-child(3),.strategy-lab-detail-table th:nth-child(n+4),.strategy-lab-detail-table td:nth-child(n+4){text-align:right}.strategy-lab-detail-table th:nth-child(1),.strategy-lab-detail-table td:nth-child(1),.strategy-lab-detail-table th:nth-child(2),.strategy-lab-detail-table td:nth-child(2),.strategy-lab-detail-table th:nth-child(3),.strategy-lab-detail-table td:nth-child(3){text-align:left}.strategy-lab-select-grid{margin-top:6px}.strategy-lab-config-line{margin-top:2px}.detail-json{background:#0f172a;color:#e2e8f0;padding:10px;border-radius:8px;max-height:260px;overflow:auto;font-size:12px}.backtest-diagnostics-section{margin-top:12px}.backtest-diagnostics-section h3{margin-bottom:6px}.backtest-collapsible-chart-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.backtest-chart-details{margin-top:0;border:1px solid #dbeafe;border-radius:10px;background:#fff;padding:0}.backtest-chart-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;cursor:pointer;font-size:13px;font-weight:700;color:#1e293b}.backtest-chart-details summary::-webkit-details-marker{display:none}.backtest-chart-details summary:after{content:"▾";font-size:10px;color:#64748b;flex:0 0 auto;transition:transform .14s ease}.backtest-chart-details[open] summary:after{transform:rotate(180deg)}.backtest-chart-details-summary{margin-left:auto;padding-right:8px;font-size:11px;font-weight:600;color:#64748b}.backtest-chart-details-body{padding:0 12px 12px}.backtest-chart-details-body .detail-series-card{margin:0;padding:8px}.backtest-chart-details-body .detail-series-card h3{margin-bottom:6px;font-size:12px}.backtest-collapsed-echart{min-height:240px}@media (max-width: 1100px){.backtest-collapsible-chart-stack{grid-template-columns:1fr}}.sweep-heatmap-controls{margin-top:8px;margin-bottom:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}.sweep-heatmap-controls label{display:grid;gap:6px;font-size:13px;color:#334155}.echart-heatmap{min-height:380px}.portfolio-allocation-legend{display:grid;gap:10px;margin-top:10px;max-width:720px}.portfolio-allocation-legend-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;font-size:13px;color:#334155}.portfolio-allocation-legend-swatch{width:14px;height:14px;border-radius:999px}.portfolio-allocation-legend-asset{font-weight:700;color:#0f172a}.portfolio-allocation-legend-value,.portfolio-allocation-legend-share{font-variant-numeric:tabular-nums;white-space:nowrap}.indicator-toolbar{margin-top:6px;display:grid;grid-template-columns:minmax(180px,220px) max-content minmax(240px,320px) max-content;gap:6px 14px;align-items:start;justify-content:start}.indicator-toolbar>label,.indicator-toolbar-timeframe,.indicator-toolbar-action{display:grid;gap:4px;min-width:0;align-content:start}.indicator-toolbar-field{min-width:0}.indicator-toolbar-field--pair{width:min(220px,100%)}.indicator-toolbar-field--lookback{width:min(320px,100%)}.indicator-toolbar-field--action{justify-self:start}.indicator-toolbar-label{font-size:11px;color:#64748b;font-weight:700;letter-spacing:.04em;text-transform:uppercase;min-height:16px;display:inline-flex;align-items:center}.indicator-toolbar-label-spacer{visibility:hidden}.indicator-toolbar-hint{font-size:11px;color:#64748b;line-height:1.25;margin-top:2px}.indicator-toolbar button{white-space:nowrap}.indicator-toolbar select{min-height:40px;width:100%}.indicator-toolbar-action{align-self:start}.indicator-timeframe-buttons{display:flex;gap:6px;flex-wrap:nowrap;min-height:40px;align-items:stretch}.indicator-timeframe-button{border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:12px;line-height:1;padding:8px 12px;min-height:40px}.indicator-toolbar-action button{min-height:40px}.indicator-view-toggle{display:inline-flex;align-items:center;gap:8px}.indicator-view-toggle button{min-height:36px;padding:0 14px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:13px;font-weight:600}.indicator-view-toggle button.active,.indicator-timeframe-button.active{border-color:#2563eb;background:#dbeafe;color:#1e3a8a}.indicator-meta-subheader{margin-top:6px;color:#64748b;font-size:12px}.indicators-chart-grid{margin-top:4px;display:grid;grid-template-columns:1fr;gap:14px}.indicators-chart-grid .detail-series-card{border:0;border-top:1px solid #e2e8f0;border-radius:0;background:transparent;padding:14px 0 0}.indicators-chart-grid .detail-series-card:first-child{border-top:0;padding-top:0}.indicators-chart-grid .detail-series-card h3{margin-bottom:4px;font-size:14px}.indicator-chart-insight{margin:0 0 8px;font-size:12px;color:#64748b}.indicators-chart-grid .echart-medium{min-height:460px}.indicators-chart-grid .echart-small{min-height:340px}.indicators-table{table-layout:auto;width:100%;min-width:640px;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.indicators-table col.indicators-col-indicator{width:35%}.indicators-table col.indicators-col-current{width:15%}.indicators-table col.indicators-col-signal{width:32%}.indicators-table col.indicators-col-distance{width:18%}.indicators-table th,.indicators-table td{text-align:right;padding:6px 8px;border-bottom:1px solid #dbe3ef;vertical-align:middle;line-height:1.25}.indicators-table th:first-child,.indicators-table td:first-child,.indicators-table th:nth-child(3),.indicators-table td:nth-child(3){text-align:left}.indicators-table th:first-child,.indicators-table td:first-child{overflow-wrap:anywhere}.indicators-table th:nth-child(2),.indicators-table td:nth-child(2),.indicators-table th:nth-child(4),.indicators-table td:nth-child(4){white-space:nowrap}.indicator-reading-groups{display:grid;gap:12px}.indicator-reading-groups-full{display:block;column-count:2;column-gap:18px}.indicator-reading-group{display:grid;gap:10px}.indicator-reading-group-card{border:1px solid #dbe3ef;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbff);padding:10px 12px;break-inside:avoid;margin:0 0 12px;width:100%}.indicator-reading-group-wide{grid-column:1 / -1}.indicator-reading-group-title{margin:0;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#475569;padding-bottom:4px;border-bottom:1px solid #dbe3ef}.indicator-reading-group-table-wrap{overflow-x:auto}.indicator-signal-cell{white-space:nowrap}.indicator-signal-badge{max-width:100%;white-space:nowrap;gap:4px;padding:3px 8px;font-size:11px}.indicator-signal-badge:before{width:6px;height:6px}.indicators-table thead th{background:#f8fafc;color:#475569;font-size:11px;font-weight:700}.indicators-table tbody tr:nth-child(odd) td{background:#fff}.indicators-table tbody tr:nth-child(2n) td{background:#f8fafc}@media (max-width: 1200px){.indicator-reading-groups-full{column-count:1}}.button-link{border:0;background:transparent;color:#2563eb;font:inherit;font-weight:700;padding:0;cursor:pointer}.button-link:hover{color:#1d4ed8;text-decoration:underline}.data-error-banner{display:grid;gap:6px;border:1px solid #fecaca;background:#fff1f2;color:#7f1d1d}.data-error-banner strong,.data-error-banner span{margin:0}.data-inline-freshness{margin-top:4px}.data-inline-freshness strong{color:#0f172a}.data-health-table,.data-coverage-table,.data-gaps-table{table-layout:fixed}.data-health-table th,.data-health-table td,.data-coverage-table th,.data-coverage-table td,.data-gaps-table th,.data-gaps-table td{text-align:right}.data-health-table th,.data-health-table td{padding:7px 9px;font-size:12px;line-height:1.2;vertical-align:middle}.data-health-table .indicator-badge{gap:5px;padding:3px 8px;font-size:11px}.data-health-table .indicator-badge:before{width:6px;height:6px}.data-health-table th:first-child,.data-health-table td:first-child,.data-health-table th:nth-child(2),.data-health-table td:nth-child(2),.data-health-table th:nth-child(3),.data-health-table td:nth-child(3),.data-health-table th:nth-child(4),.data-health-table td:nth-child(4),.data-coverage-table th:first-child,.data-coverage-table td:first-child,.data-coverage-table th:nth-child(3),.data-coverage-table td:nth-child(3),.data-coverage-table th:nth-child(4),.data-coverage-table td:nth-child(4),.data-gaps-table th:first-child,.data-gaps-table td:first-child,.data-gaps-table th:nth-child(2),.data-gaps-table td:nth-child(2),.data-gaps-table th:nth-child(3),.data-gaps-table td:nth-child(3){text-align:left}.data-filter-grid{margin-top:6px}.data-explorer-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.data-coverage-controls{grid-template-columns:minmax(0,220px)}.data-section-actions{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}.data-hourly-chart-card{margin-top:12px}.data-hourly-echart{min-height:420px}.data-hourly-compact-meta{margin:2px 0 0}.data-hourly-source-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 10px}.data-hourly-source-chip,.data-hourly-note-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid #dbeafe;border-radius:999px;background:#f8fbff;color:#334155;font-size:12px;line-height:1.2}.data-hourly-source-chip-label{font-weight:700;color:#0f172a}.data-hourly-source-chip-stats{color:#475569;white-space:nowrap}.data-hourly-source-swatch{width:10px;height:10px;border-radius:999px;flex:0 0 auto}.data-hourly-source-details summary{width:auto;height:auto;min-width:72px;min-height:30px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap}.data-hourly-source-details .status-info-popover p{margin:0 0 8px}.data-hourly-source-details .status-info-popover p:last-child{margin-bottom:0}.data-hourly-error{color:#991b1b}.data-window-status{margin-top:8px;border:1px solid #dbeafe;border-radius:8px;padding:9px 10px;display:grid;gap:8px}.data-window-status-main{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.data-window-status-main strong{color:#0f172a}.data-window-status-main span{color:#475569;font-size:13px}.data-window-status-pass{background:#f0fdf4;border-color:#86efac}.data-window-status-fail{background:#fef2f2;border-color:#fecaca}.data-window-status-error{background:#fff1f2;border-color:#fecaca}.data-window-status p{margin:0}.data-window-status-details summary{font-size:12px;font-weight:600;color:#334155}.data-window-status-detail-body{margin-top:8px;display:grid;gap:6px}.data-window-gap-table th,.data-window-gap-table td{padding:6px 9px;font-size:12px;line-height:1.15}.data-coverage-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0}.data-coverage-summary-card{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:10px;display:grid;gap:4px}.data-coverage-summary-card span{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.data-coverage-summary-card strong{color:#0f172a;font-size:18px}.data-coverage-matrix-table th:nth-child(2),.data-coverage-matrix-table td:nth-child(2){text-align:left}.data-review-table th,.data-review-table td,.data-gap-detail-table th,.data-gap-detail-table td{padding:6px 10px;font-size:12px;line-height:1.15;vertical-align:middle}.data-review-table th,.data-gap-detail-table th{font-size:11px}.data-review-table th,.data-review-table td{padding:4px 8px;font-size:11.5px;line-height:1.1}.data-matrix-pair-button,.data-review-action{white-space:nowrap}.data-review-action,.data-gap-repair-action{min-height:32px;padding:6px 10px;font-size:12px}.data-review-action{min-height:28px;padding:4px 8px;font-size:11px}.data-coverage-all-details{margin-top:12px}.data-coverage-all-details summary{font-weight:600}.data-gap-detail-card{margin-top:12px;border:1px solid #dbeafe;border-radius:10px;background:linear-gradient(180deg,#f8fbff,#fff);padding:10px;display:grid;gap:10px}.data-gap-detail-table th:nth-child(4),.data-gap-detail-table td:nth-child(4),.data-gap-detail-table th:nth-child(5),.data-gap-detail-table td:nth-child(5),.data-gap-detail-table th:nth-child(6),.data-gap-detail-table td:nth-child(6){text-align:left}.data-gap-repair-cell{white-space:nowrap}.data-gap-repair-action{min-width:106px}.data-gap-repair-status,.data-gap-repair-meta{font-size:11px;line-height:1.15}.data-gap-repair-status,.data-gap-repair-meta{display:block;margin-top:4px;line-height:1.3}.data-gap-repair-status{color:#475569;font-size:12px;font-weight:600}.data-gap-repair-meta{color:#64748b;font-size:11px;max-width:220px;white-space:normal}.timeline-list{margin:0;padding-left:18px;display:grid;gap:8px}.timeline-list li{border-left:2px solid #cbd5e1;padding-left:10px}.timeline-list p{margin:0}@media (max-width: 800px){.mode-banner{align-items:flex-start}.page-nav{top:0}.command-bar{top:54px}.command-bar-state{width:100%}.command-bar-action-row{flex-direction:column;align-items:stretch}.command-action-groups{flex-direction:column;align-items:stretch;width:100%}.command-action-group{width:100%;justify-content:space-between;flex-wrap:wrap}.command-action-group button{flex:1 1 auto}.command-refresh-button{margin-left:0;align-self:flex-end}.overview-grid{grid-template-columns:1fr}.page-nav{align-items:flex-start}.page-nav-mode{padding-left:0;border-left:0;margin-left:0;align-self:stretch}.main-summary-grid{grid-template-columns:1fr}.main-status-strip{padding:9px 10px}.main-status-strip-row,.main-status-drawer-panel{grid-template-columns:1fr;gap:8px 10px}.main-status-inline-item{width:100%;grid-template-columns:56px minmax(0,1fr) auto;align-items:start;gap:6px 8px}.main-status-inline-item .indicator-badge{max-width:100%}.overview-portfolio-card,.overview-status-card{order:initial}.portfolio-hero-header,.execution-portfolio-value-summary-header{grid-template-columns:1fr}.portfolio-hero-toolbar{justify-content:flex-start}.portfolio-hero-metrics{justify-content:flex-start;gap:10px 14px}.portfolio-hero-side-mainpage{grid-template-columns:1fr}.portfolio-hero-toolbar-mainpage,.portfolio-chart-toolbar-row,.equity-chart-summary,.equity-chart-meta-secondary{justify-content:flex-start}.portfolio-hero-main strong{font-size:24px}.portfolio-hero-metric{min-width:calc(50% - 7px);padding-right:0;border-right:0}.execution-portfolio-value-summary-hint{margin-left:0}.detail-metric-quadrants,.detail-metrics-grid{grid-template-columns:1fr}.execution-performance-header{align-items:stretch}.execution-performance-select{justify-items:start}.execution-performance-select select{min-width:0;width:100%}.data-coverage-summary-grid,.data-explorer-grid,.data-coverage-controls{grid-template-columns:1fr}.data-hourly-source-chip-row{gap:6px}.data-section-actions{width:100%;justify-content:flex-start}.asset-search-row{grid-template-columns:1fr}.asset-hyperparams-inline{grid-template-columns:repeat(2,minmax(90px,1fr))}.row-actions-cell{justify-items:stretch}.row-actions-inline{justify-content:stretch}.row-actions-inline>button{width:100%}.row-actions-details summary{width:100%}.row-actions-panel{position:static;min-width:0;width:100%}.indicator-toolbar{grid-template-columns:1fr}.indicator-toolbar{grid-template-columns:1fr;gap:8px;justify-content:stretch}.indicator-view-toggle{width:100%;justify-content:flex-start}.indicator-toolbar-field--pair,.indicator-toolbar-field--lookback,.indicator-toolbar-action{width:100%}.indicator-toolbar-field--action{justify-self:stretch}.indicator-toolbar-label-spacer{display:none}.indicator-timeframe-buttons{flex-wrap:wrap}.backtest-history-filter-grid{grid-template-columns:1fr 1fr}.backtest-details-drawer-panel{width:calc(100vw - 12px);padding:6px}.backtest-details-drawer-card{max-height:calc(100vh - 12px)}.backtest-row-actions{display:grid;gap:6px}.backtest-row-actions button+button{margin-left:0}.echart{min-height:280px}.echart-pie{min-height:320px}.echart-small{min-height:240px}.echart-medium{min-height:280px}}
