@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";.agent-health-24h{display:flex;flex-direction:column;gap:var(--space-3)}.ah-empty,.ah-muted{color:var(--fg-subtle);font-size:var(--text-sm)}.ah-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ah-table th{text-align:left;color:var(--fg-subtle);font-weight:var(--weight-medium);padding:var(--space-2)}.ah-table td{padding:var(--space-2);border-top:1px solid var(--row-divider)}.agent-health-card .agent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media(max-width:600px){.agent-health-card .agent-grid{grid-template-columns:1fr}}@media(max-width:480px){.agent-health-card .agent-grid{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}}.agent-card{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-raised);transition:border-color var(--duration-fast) var(--ease-out)}.agent-card.healthy .status-icon{color:var(--gain)}.agent-card.degraded{border-color:#f59e0b38;background:var(--warn-bg)}.agent-card.degraded .status-icon{color:var(--warn)}.agent-card.error{border-color:#ef444433;background:var(--loss-bg)}.agent-card.error .status-icon{color:var(--loss)}.agent-card.not-configured{opacity:.7}.agent-card.not-configured .status-icon{color:var(--fg-muted)}.agent-card .agent-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.agent-card .agent-header .agent-name{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--fg-default)}.agent-card .agent-stats{display:flex;flex-wrap:wrap;gap:var(--space-2)}.agent-card .agent-stats .stat{display:flex;flex-direction:column;gap:2px;min-width:60px}.agent-card .agent-stats .stat .stat-label{font-family:var(--font-sans);font-size:var(--text-2xs);color:var(--fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.agent-card .agent-stats .stat .stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--fg-default)}.agent-card .agent-task{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-default);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--info-fg)}.agent-card .agent-task .task-icon{animation:pulse 1.5s ease-in-out infinite}.agent-card .agent-task .task-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-metrics{display:flex;flex-direction:column;gap:var(--space-4)}.cw-metric+.cw-metric{border-top:1px solid var(--border-default);padding-top:var(--space-4)}.cw-metric-name{color:var(--fg-subtle);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);margin-bottom:var(--space-1)}.cw-degraded{background:var(--bg-sunken)}.cw-degraded-msg{color:var(--warn);font-size:var(--text-sm)}.cw-degraded-sub{color:var(--fg-subtle);font-size:var(--text-xs)}.daily-summary{display:flex;flex-direction:column;gap:var(--space-3)}.ds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.ds-col{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4)}.ds-label{color:var(--fg-subtle);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);margin-bottom:var(--space-2)}.ds-stat{font-size:var(--text-sm);color:var(--fg-muted)}.ds-stat b{color:var(--fg-default);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.ds-muted{color:var(--fg-subtle);font-size:var(--text-sm)}.goals-card .goals-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.goal-card{padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-raised);border:1px solid var(--border-default);margin-bottom:var(--space-2)}.goal-card.complete{background:var(--color-success-bg);border-color:var(--color-success-border)}.goal-card .goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.goal-card .goal-header .goal-name{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--fg-default)}.goal-card .goal-header .goal-status-icon.complete{color:var(--color-success)}.goal-card .goal-header .goal-status-icon.behind{color:var(--color-warning)}.goal-card .goal-progress-bar{margin-bottom:var(--spacing-sm)}.goal-card .goal-progress-bar .progress-track{height:8px;background:var(--color-border-light);border-radius:var(--radius-full);overflow:hidden}.goal-card .goal-progress-bar .progress-track .progress-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.goal-card .goal-progress-bar .progress-track .progress-fill.complete{background:var(--color-success)}.goal-card .goal-progress-bar .progress-track .progress-fill.on-track{background:linear-gradient(90deg,var(--color-info),var(--color-success))}.goal-card .goal-progress-bar .progress-track .progress-fill.behind{background:var(--color-warning)}.goal-card .goal-values{display:flex;align-items:baseline;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.goal-card .goal-values .current-value{font-family:var(--font-mono);font-weight:600}.goal-card .goal-values .target-value{font-family:var(--font-mono);color:var(--color-text-muted)}.goal-card .goal-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg-default)}@media(max-width:480px){.goals-card .goal-card{padding:var(--spacing-sm)}}.llm-audit-list{overflow-x:auto}.llm-audit-table{width:100%;border-collapse:collapse;font-size:.88rem}.llm-audit-table th,.llm-audit-table td{text-align:left;padding:5px 7px;border-bottom:1px solid var(--surface-muted, #2a2f3d)}.llm-audit-table th{font-weight:600;color:var(--text-muted, #888)}.llm-audit-when{font-variant-numeric:tabular-nums;color:var(--text-muted, #aaa);white-space:nowrap}.llm-audit-num{font-variant-numeric:tabular-nums}.llm-audit-notes{font-size:.82rem;color:var(--text-muted, #888)}.llm-audit-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600;background:var(--surface-muted, #2a2f3d)}.llm-audit-applied{background:#4cc38a33;color:#4cc38a}.llm-audit-auto_rejected{background:#e35b5b33;color:#e35b5b}.llm-audit-queued_for_human{background:#f5c35633;color:#f5c356}.llm-cadence-toggle{display:flex;flex-direction:column;gap:10px}.llm-cadence-row{display:flex;align-items:center;gap:12px}.llm-cadence-switch{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}.llm-cadence-switch input{opacity:0;width:0;height:0}.llm-cadence-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-muted, #2a2f3d);border-radius:11px;transition:background .15s ease}.llm-cadence-track:before{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-strong, #fff);transition:transform .15s ease}.llm-cadence-switch input:checked+.llm-cadence-track{background:var(--accent, #4cc38a)}.llm-cadence-switch input:checked+.llm-cadence-track:before{transform:translate(18px)}.llm-cadence-state{font-weight:600}.llm-cadence-interval{font-size:.85rem}.llm-cadence-error{color:var(--danger, #e35b5b);font-size:.85rem}.bt-zone{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.bt-head{display:flex;align-items:center;gap:var(--space-3, 12px);flex-wrap:wrap}.bt-tile h3{margin:0 0 var(--space-2, 8px);font-size:var(--text-sm, .875rem)}.bt-full{grid-column:1 / -1}.bt-big{font-size:var(--text-xl, 1.25rem);font-weight:600}.bt-row{display:flex;justify-content:space-between;gap:var(--space-3, 12px);flex-wrap:wrap;padding:2px 0;font-size:var(--text-sm, .875rem)}.bt-muted{color:var(--fg-subtle, #64748B)}.bt-learn{font-size:var(--text-sm, .875rem);padding:4px 0;border-bottom:1px solid var(--border-default, rgba(255,255,255,.06))}.bt-learn:last-child{border-bottom:none}.bt-delta{font-size:var(--text-sm, .875rem);padding:3px 0}.bt-arrow{color:var(--warn, #F59E0B);font-weight:700}.bt-pill{font-size:var(--text-xs, .75rem);padding:1px 8px;border-radius:999px}.bt-running{color:var(--warn, #F59E0B)}.bt-completed{color:var(--gain, #22C55E)}.bt-soon{margin-top:var(--space-2, 8px);font-size:var(--text-xs, .75rem);color:var(--fg-subtle, #64748B);border:1px dashed var(--border-default, rgba(255,255,255,.06));border-radius:4px;padding:6px}@media(max-width:480px){.bt-row{flex-direction:column;gap:0}}.bt-fail{color:var(--loss, #EF4444)}.bt-chips{display:flex;flex-wrap:wrap;gap:var(--space-1, 4px);margin-top:var(--space-2, 8px)}.bt-chip{font-size:var(--text-xs, .75rem);padding:1px 6px;border-radius:var(--radius-sm, 6px);border:1px solid var(--border-default)}.bt-chip-ok{color:var(--gain, #22C55E)}.bt-chip-bad{color:var(--loss, #EF4444)}.bt-spark{display:flex;flex-wrap:wrap;gap:var(--space-1, 4px);margin-top:var(--space-1, 4px)}.bt-bar{font-size:var(--text-xs, .75rem);padding:1px 6px;border-radius:var(--radius-xs, 4px)}.bt-bar-pos{color:var(--gain, #22C55E);background:color-mix(in srgb,var(--gain, #22C55E) 12%,transparent)}.bt-bar-neg{color:var(--loss, #EF4444);background:color-mix(in srgb,var(--loss, #EF4444) 12%,transparent)}.bt-fold{margin-bottom:var(--space-2, 8px)}.bt-rec{padding:var(--space-2, 8px) 0;border-bottom:1px solid var(--border-default)}.bt-rec-head{font-size:var(--text-sm, .875rem)}.bt-rec-detail{font-size:var(--text-sm, .875rem);color:var(--fg-subtle, #64748B);margin:var(--space-1, 4px) 0}.bt-copy{background:none;border:1px dashed var(--border-default);border-radius:var(--radius-sm, 6px);padding:2px 8px;cursor:pointer;color:inherit;font-size:var(--text-xs, .75rem)}.bt-copy code{font-family:ui-monospace,monospace}.llm-cost-tile{display:flex;flex-direction:column;gap:8px}.llm-cost-row{display:flex;justify-content:space-between;font-size:.92rem}.llm-cost-label{color:var(--text-muted, #888)}.llm-cost-value{font-variant-numeric:tabular-nums;font-weight:600}.llm-cost-bar{width:100%;height:6px;background:var(--surface-muted, #1f2330);border-radius:3px;overflow:hidden}.llm-cost-bar-fill{height:100%;background:var(--accent, #4cc38a);transition:width .2s ease-out}.llm-cost-foot{margin-top:4px;font-size:.82rem}.llm-muted{color:var(--text-muted, #888)}.llm-envelope-view{display:flex;flex-direction:column;gap:10px}.llm-env-table{width:100%;border-collapse:collapse;font-size:.88rem}.llm-env-table th,.llm-env-table td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--surface-muted, #2a2f3d)}.llm-env-table th{font-weight:600;color:var(--text-muted, #888)}.llm-env-foot{font-size:.82rem}.llm-precedent-list{overflow-x:auto}.llm-precedent-table{width:100%;border-collapse:collapse;font-size:.88rem}.llm-precedent-table th,.llm-precedent-table td{text-align:left;padding:5px 7px;border-bottom:1px solid var(--surface-muted, #2a2f3d)}.llm-precedent-table th{font-weight:600;color:var(--text-muted, #888)}.llm-precedent-when{font-variant-numeric:tabular-nums;color:var(--text-muted, #aaa);white-space:nowrap}.llm-precedent-outcome{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600}.llm-precedent-positive{background:#4cc38a33;color:#4cc38a}.llm-precedent-negative{background:#e35b5b33;color:#e35b5b}.llm-precedent-pending{background:var(--surface-muted, #2a2f3d);color:var(--text-muted, #aaa)}.llm-precedent-invalidate{padding:4px 10px;border-radius:4px;background:transparent;border:1px solid var(--surface-muted, #2a2f3d);color:var(--text-muted, #aaa);cursor:pointer;font-size:.78rem}.llm-precedent-invalidate:hover:not(:disabled){background:var(--surface-muted, #2a2f3d);color:var(--text-strong, #fff)}.llm-precedent-invalidate:disabled{opacity:.6;cursor:wait}.llm-precedent-error{color:var(--danger, #e35b5b);font-size:.85rem}.sanity-feed{display:flex;flex-direction:column;gap:var(--space-3)}.sanity-feed-head{display:flex;justify-content:space-between;align-items:baseline}.sanity-feed-total{color:var(--fg-subtle);font-size:var(--text-xs)}.sanity-feed-empty{color:var(--fg-subtle);font-size:var(--text-sm)}.sanity-feed-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;flex:1 1 auto}.sanity-feed-list li{display:grid;grid-template-columns:1.2fr .6fr .6fr 2fr;gap:var(--space-3);padding:var(--space-2);border-top:1px solid var(--row-divider);font-size:var(--text-sm)}.sanity-feed-list li[data-decision=reject] .sanity-feed-dec{color:var(--loss)}.sanity-feed-list li[data-decision=allow] .sanity-feed-dec{color:var(--gain)}.sanity-feed-list li[data-decision=modify] .sanity-feed-dec{color:var(--warn)}.sanity-feed-rule{color:var(--fg-default);font-weight:var(--weight-medium)}.sanity-feed-sym,.sanity-feed-why{color:var(--fg-muted)}.sanity-feed-pager{display:flex;gap:var(--space-3);align-items:center;justify-content:flex-end;font-size:var(--text-xs)}.sanity-feed-pager button{background:var(--bg-surface);color:var(--fg-default);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);cursor:pointer}.sanity-feed-pager button:disabled{opacity:.5;cursor:default}.ml-ensemble-card .meta-learner-summary{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ml-ensemble-card .meta-learner-summary .summary-left .summary-label,.ml-ensemble-card .meta-learner-summary .summary-right .summary-label{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--space-1)}.ml-ensemble-card .meta-learner-summary .summary-score{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:1;color:var(--fg-default)}.ml-ensemble-card .meta-learner-summary .summary-score.up{color:var(--gain)}.ml-ensemble-card .meta-learner-summary .summary-score.down{color:var(--loss)}.ml-ensemble-card .meta-learner-summary .recommendation-badge{display:inline-block;font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;padding:3px var(--space-2);border-radius:var(--radius-pill);background:var(--hover-bg);color:var(--fg-muted)}.ml-ensemble-card .meta-learner-summary .recommendation-badge.strong-buy{background:var(--gain);color:var(--brand-fg)}.ml-ensemble-card .meta-learner-summary .recommendation-badge.buy{background:var(--gain-bg);color:var(--gain-fg)}.ml-ensemble-card .meta-learner-summary .recommendation-badge.hold{background:var(--hover-bg);color:var(--fg-muted)}.ml-ensemble-card .meta-learner-summary .recommendation-badge.sell{background:var(--loss-bg);color:var(--loss-fg)}.ml-ensemble-card .meta-learner-summary .recommendation-badge.strong-sell{background:var(--loss);color:var(--brand-fg)}.ml-ensemble-card .agreement-bar{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);font-size:var(--text-sm)}.ml-ensemble-card .agreement-bar .agreement-label{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-muted);flex-shrink:0}.ml-ensemble-card .agreement-bar .agreement-track{flex:1;height:6px;background:var(--hover-bg);border-radius:var(--radius-pill);overflow:hidden}.ml-ensemble-card .agreement-bar .agreement-track .agreement-fill{height:100%;background:var(--brand);border-radius:var(--radius-pill);transition:width var(--transition-slow)}.ml-ensemble-card .agreement-bar .agreement-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);color:var(--fg-default);flex-shrink:0}.ml-ensemble-card .models-list{display:flex;flex-direction:column;gap:var(--space-2)}.model-card{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2)}.model-card .model-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.model-card .model-header .model-name{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--fg-default)}.model-card .model-header .model-weight{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--brand)}.model-card .model-header .model-weight .weight-label{font-family:var(--font-sans);color:var(--fg-muted);font-variant-numeric:normal}.model-card .model-header .model-weight .weight-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:var(--brand-tint);color:var(--brand);padding:2px var(--space-2);border-radius:var(--radius-sm);font-weight:var(--weight-semibold)}.model-card .model-accuracy{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--fg-muted);margin-bottom:var(--space-2)}.model-card .model-accuracy .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg-default)}.model-card .model-content .model-stats .stat-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);margin-bottom:var(--space-1)}.model-card .model-content .model-stats .stat-row .stat-label{font-family:var(--font-sans);color:var(--fg-muted)}.model-card .model-content .model-stats .stat-row .stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--fg-default)}.model-card .model-content .model-stats .stat-row .stat-value.positive{color:var(--gain)}.model-card .model-content .model-stats .stat-row .stat-value.negative{color:var(--loss)}.model-card .model-content .model-stats .stat-row .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.model-card .model-content .regime-badge{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;padding:2px var(--space-2);border-radius:var(--radius-pill)}.model-card .model-content .regime-badge.high{background:var(--loss-bg);color:var(--loss-fg)}.model-card .model-content .regime-badge.medium{background:var(--hover-bg-strong);color:var(--fg-default)}.model-card .model-content .regime-badge.low{background:var(--gain-bg);color:var(--gain-fg)}.model-card .model-content .triggered-rules{margin-top:var(--space-2)}.model-card .model-content .triggered-rules .stat-label{display:block;font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-muted);margin-bottom:var(--space-1)}.model-card .model-content .triggered-rules .rules-list{list-style:none;font-size:var(--text-sm);padding:0}.model-card .model-content .triggered-rules .rules-list li{display:flex;align-items:center;gap:var(--space-1);color:var(--brand);margin-bottom:2px}.model-card .model-content .triggered-rules .no-rules{font-size:var(--text-sm);color:var(--fg-muted);font-style:italic}@media(max-width:480px){.ml-ensemble-card .model-card{padding:var(--space-2)}}.ml-not-configured{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);color:var(--fg-muted);text-align:center}.ml-not-configured .icon{color:var(--fg-subtle)}.ml-not-configured-sub{font-size:var(--text-xs);color:var(--fg-subtle);max-width:320px}.positions-card .total-pnl{display:flex;align-items:baseline;gap:var(--spacing-xs)}.positions-card .total-pnl .pnl-value{font-size:var(--font-size-lg);font-weight:700;font-family:var(--font-mono)}.positions-card .total-pnl .pnl-percent{font-size:var(--font-size-sm);font-family:var(--font-mono)}.positions-card .total-pnl .positive{color:var(--color-success)}.positions-card .total-pnl .negative{color:var(--color-error)}.positions-card .positions-table-container{overflow-x:auto;margin:0 calc(-1 * var(--spacing-lg));padding:0 var(--spacing-lg)}.positions-table{--row-h-default: 40px;width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:var(--text-sm)}.positions-table th,.positions-table td{padding:var(--space-2) var(--space-3);text-align:left;white-space:nowrap;height:var(--row-h-default)}.positions-table th{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);color:var(--fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);border-bottom:1px solid var(--border-default);background:var(--bg-surface)}.positions-table tbody tr{border-bottom:1px solid var(--row-divider);transition:background var(--duration-fast) var(--ease-out)}.positions-table tbody tr:hover{background:var(--hover-bg)}.positions-table tbody tr:last-child{border-bottom:none}.positions-table td.mono,.positions-table td .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.positions-table .symbol-cell .symbol-wrapper{display:flex;align-items:center;gap:var(--space-1)}.positions-table .symbol-cell .symbol-wrapper .trend-icon.positive{color:var(--gain)}.positions-table .symbol-cell .symbol-wrapper .trend-icon.negative{color:var(--loss)}.positions-table .symbol-cell .symbol-wrapper .symbol-name{font-family:var(--font-sans);font-weight:var(--weight-semibold);color:var(--fg-default)}.positions-table .pnl-cell{display:flex;flex-direction:column;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.positions-table .pnl-cell.positive{color:var(--gain)}.positions-table .pnl-cell.negative{color:var(--loss)}.positions-table .pnl-cell .pnl-amount{font-weight:var(--weight-semibold)}.positions-table .pnl-cell .pnl-percent{font-size:var(--text-2xs);opacity:.85}.positions-table .close-btn{padding:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--fg-muted);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.positions-table .close-btn:hover{background:var(--loss-bg);color:var(--loss-fg);border-color:#ef444433}.positions-table tfoot td{padding-top:var(--space-3);border-top:1px solid var(--border-default)}.positions-table tfoot .total-label{font-family:var(--font-sans);font-weight:var(--weight-semibold);color:var(--fg-muted);text-align:right}.positions-table tfoot .total-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);font-size:var(--text-base)}.positions-cards-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md)}.positions-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.positions-cards .position-card{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.positions-cards .position-card .position-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.positions-cards .position-card .position-card-head .symbol-wrapper{display:flex;align-items:center;gap:var(--space-1)}.positions-cards .position-card .position-card-head .symbol-wrapper .symbol-name{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--fg-default)}.positions-cards .position-card .position-card-head .symbol-wrapper .trend-icon.positive{color:var(--gain)}.positions-cards .position-card .position-card-head .symbol-wrapper .trend-icon.negative{color:var(--loss)}.positions-cards .position-card .position-card-head .pnl-cell{display:flex;flex-direction:column;align-items:flex-end;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.positions-cards .position-card .position-card-head .pnl-cell.positive{color:var(--gain)}.positions-cards .position-card .position-card-head .pnl-cell.negative{color:var(--loss)}.positions-cards .position-card .position-card-head .pnl-cell .pnl-amount{font-weight:var(--weight-semibold)}.positions-cards .position-card .position-card-head .pnl-cell .pnl-percent{font-size:var(--text-2xs);opacity:.85}.positions-cards .position-card .position-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-3);margin:0}.positions-cards .position-card .position-card-grid>div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-1)}.positions-cards .position-card .position-card-grid dt{font-family:var(--font-sans);font-size:var(--text-2xs);color:var(--fg-muted);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.positions-cards .position-card .position-card-grid dd{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--fg-default)}.positions-cards .position-card .close-position-btn{width:100%;justify-content:center}.positions-summary{display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--space-2);border-top:1px solid var(--border-default)}.positions-summary .positions-summary-label{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--fg-muted)}.positions-summary .positions-summary-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--fg-default)}.risk-monitor-card .circuit-breaker-badge{display:flex;align-items:center;gap:var(--spacing-xs);animation:pulse 1s ease-in-out infinite}.risk-monitor-card .risk-gauges{margin-bottom:var(--spacing-lg)}.risk-monitor-card .section-title{font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-xs)}.risk-monitor-card .compliance-section{background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.risk-monitor-card .compliance-section .compliance-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.risk-monitor-card .breaker-section{margin-bottom:var(--spacing-md)}.risk-monitor-card .breaker-section .breaker-controls{display:flex;align-items:center;gap:var(--spacing-md)}.risk-monitor-card .breaker-section .breaker-controls .cooldown-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.risk-monitor-card .alerts-section .alerts-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.compliance-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--row-divider);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--fg-default)}.compliance-item:last-child{border-bottom:none}.compliance-item:hover{background:var(--hover-bg)}.compliance-item .compliance-label{color:var(--fg-muted);font-size:var(--text-xs)}.compliance-item .compliance-icon.success{color:var(--gain)}.compliance-item .compliance-icon.error{color:var(--loss)}.alert-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--row-divider);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--fg-default)}.alert-item:last-child{border-bottom:none}.alert-item:hover{background:var(--hover-bg)}.alert-item .alert-message{color:var(--fg-muted);font-size:var(--text-xs)}.alert-item .alert-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium)}@media(max-width:480px){.risk-monitor-card .gauge{margin-bottom:var(--spacing-sm)}.risk-monitor-card .compliance-item,.risk-monitor-card .alert-item{padding:var(--spacing-sm);font-size:var(--font-size-sm)}}.stop-engine{display:inline-flex}.stop-engine-btn{background:var(--loss);color:var(--loss-fg);border:1px solid var(--loss);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);font:var(--weight-semibold) var(--text-sm) var(--font-sans);cursor:pointer;white-space:nowrap}.stop-engine-btn:disabled{opacity:.6;cursor:default}.stop-engine-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:50}.stop-engine-modal{background:var(--bg-raised);color:var(--fg-default);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-6);max-width:380px;box-shadow:var(--shadow-modal)}.stop-engine-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}.stop-engine-cancel{background:var(--bg-surface);color:var(--fg-default);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);cursor:pointer}.stop-engine-confirm{background:var(--loss);color:var(--loss-fg);border:0;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);cursor:pointer}.stop-engine-err{color:var(--loss);font-size:var(--text-xs);margin-top:var(--space-3)}.safety-strip{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--border-default);font:var(--text-sm) var(--font-sans);color:var(--fg-muted);position:sticky;top:0;z-index:20;flex-wrap:wrap}.safety-strip--tripped{background:var(--loss-bg);color:var(--loss-fg)}.safety-dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--loss)}.safety-dot[data-ok=true]{background:var(--gain)}.safety-item{white-space:nowrap}.safety-spacer{flex:0}.safety-strip .stop-engine{margin-left:auto}@media(max-width:480px){.safety-strip{padding:var(--space-2) var(--space-3);gap:var(--space-2);font-size:var(--text-xs)}}.signal-queue-card .signals-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.signal-card{background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2);transition:border-color var(--duration-fast) var(--ease-out)}.signal-card:hover{border-color:var(--border-strong)}.signal-card.buy{border-left:4px solid var(--color-buy)}.signal-card.sell{border-left:4px solid var(--color-sell)}.signal-card .signal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.signal-card .signal-header .signal-symbol{display:flex;align-items:center;gap:var(--spacing-sm)}.signal-card .signal-header .signal-symbol .action-icon.buy{color:var(--color-buy)}.signal-card .signal-header .signal-symbol .action-icon.sell{color:var(--color-sell)}.signal-card .signal-header .signal-symbol .symbol{font-size:var(--font-size-xl);font-weight:700}.signal-card .signal-header .signal-symbol .action-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);padding:3px var(--space-2);border-radius:var(--radius-pill);text-transform:uppercase}.signal-card .signal-header .signal-symbol .action-badge.buy{background:var(--gain-bg);color:var(--gain-fg);border:1px solid rgba(34,197,94,.2)}.signal-card .signal-header .signal-symbol .action-badge.sell{background:var(--loss-bg);color:var(--loss-fg);border:1px solid rgba(239,68,68,.2)}.signal-card .signal-header .signal-confidence{text-align:right}.signal-card .signal-header .signal-confidence .confidence-value{display:block;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-2xl);font-weight:700}.signal-card .signal-header .signal-confidence .confidence-value.high{color:var(--color-success)}.signal-card .signal-header .signal-confidence .confidence-value.medium{color:var(--color-warning)}.signal-card .signal-header .signal-confidence .confidence-value.low{color:var(--color-error)}.signal-card .signal-header .signal-confidence .confidence-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.signal-card .signal-details{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.signal-card .signal-details .detail .detail-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:2px}.signal-card .signal-details .detail .detail-value{font-size:var(--font-size-base);font-weight:600}.signal-card .signal-reasoning{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);background:var(--color-bg);border-radius:var(--radius-md)}.signal-card .signal-reasoning .reasoning-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.signal-card .signal-reasoning .reasoning-list{list-style:none;font-size:var(--font-size-sm)}.signal-card .signal-reasoning .reasoning-list li{display:flex;align-items:flex-start;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.signal-card .signal-reasoning .reasoning-list li:before{content:"•";color:var(--color-info);flex-shrink:0}.signal-card .signal-reasoning .reasoning-list li:last-child{margin-bottom:0}.signal-card .signal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.signal-card .signal-footer .countdown{display:flex;align-items:center;gap:var(--spacing-xs);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.signal-card .signal-footer .countdown.expired{color:var(--color-error)}.signal-card .signal-footer .signal-actions{display:flex;gap:var(--spacing-sm)}@media(max-width:480px){.signal-card{padding:var(--spacing-md)}.signal-card .signal-actions{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.signal-card .signal-actions .btn{width:100%}.signal-card .reasoning-list li{overflow-wrap:anywhere}}.veto-trends{display:flex;flex-direction:column;gap:var(--space-3)}.vt-empty,.vt-muted{color:var(--fg-subtle);font-size:var(--text-sm)}.run-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:flex;justify-content:flex-end;z-index:200}.run-drawer{width:min(520px,92vw);height:100%;overflow-y:auto;background:var(--bg-raised);color:var(--fg-default);border-left:1px solid var(--border-strong);box-shadow:var(--shadow-modal);padding:var(--space-6)}.run-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.run-drawer-x{background:none;border:0;color:var(--fg-muted);font-size:var(--text-xl);cursor:pointer}.run-drawer-x:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.run-drawer-body section{margin-bottom:var(--space-6)}.run-drawer-body h4{color:var(--fg-subtle);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);margin-bottom:var(--space-2)}.run-drawer-body ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}.run-drawer-body li[data-decision=reject]{color:var(--loss)}.run-drawer-counts{font-size:var(--text-sm);color:var(--fg-muted)}.run-drawer-note{font-size:var(--text-2xs);color:var(--fg-subtle);margin-top:var(--space-2)}.run-drawer-muted{color:var(--fg-subtle)}.runs-feed{display:flex;flex-direction:column;gap:var(--space-3)}.runs-feed-head{display:flex;justify-content:space-between;align-items:baseline}.runs-feed-total{color:var(--fg-subtle);font-size:var(--text-xs)}.runs-feed-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.runs-feed-table th{text-align:left;color:var(--fg-subtle);font-weight:var(--weight-medium);padding:var(--space-2)}.runs-feed-row{cursor:pointer;border-top:1px solid var(--row-divider)}.runs-feed-row:hover{background:var(--hover-bg)}.runs-feed-table td{padding:var(--space-2)}.runs-feed-table td[data-ok=false]{color:var(--loss)}.runs-feed-table td[data-ok=true]{color:var(--gain)}.runs-feed-empty{color:var(--fg-subtle);text-align:center;padding:var(--space-6)}.runs-feed-pager{display:flex;gap:var(--space-3);align-items:center;justify-content:flex-end;font-size:var(--text-xs)}.runs-feed-pager button{background:var(--bg-surface);color:var(--fg-default);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);cursor:pointer}.runs-feed-pager button:disabled{opacity:.5;cursor:default}.runs-feed-row:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px;background:var(--hover-bg)}.workflow-trigger{display:flex;align-items:center;gap:.5rem}.workflow-auto-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--gain-fg);background:var(--gain-bg);border:1px solid rgba(34,197,94,.22);border-radius:var(--radius-pill);white-space:nowrap;text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.workflow-auto-chip .auto-dot{width:6px;height:6px;border-radius:50%;background:var(--gain);box-shadow:0 0 #22c55e99;animation:auto-dot-pulse 1.8s var(--ease-out) infinite}@keyframes auto-dot-pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}@media(prefers-reduced-motion:reduce){.workflow-auto-chip .auto-dot{animation:none}}.workflow-market-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-medium);color:var(--warn-fg);background:var(--warn-bg);border:1px solid rgba(245,158,11,.22);border-radius:var(--radius-pill);white-space:nowrap;text-transform:uppercase;letter-spacing:var(--tracking-eyebrow)}.auth-control{display:flex;align-items:center;gap:var(--spacing-sm)}.auth-control .auth-user{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-family:var(--font-mono)}.workflow-trigger-status{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.75rem;font-family:var(--font-mono, monospace);opacity:.85;white-space:nowrap;max-width:20rem;overflow:hidden;text-overflow:ellipsis}.workflow-trigger-status.success{color:var(--color-success, #22c55e)}.workflow-trigger-status.error{color:var(--color-danger, #ef4444)}@media(max-width:480px){.workflow-trigger-status{max-width:100%;white-space:normal;overflow:visible;text-overflow:clip}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--fg-default);cursor:pointer;transition:background var(--duration-default) var(--ease-out),border-color var(--duration-default) var(--ease-out)}.theme-toggle:hover{background:var(--hover-bg);border-color:var(--border-strong)}.theme-toggle:active{background:var(--press-bg)}@media(max-width:480px){.theme-toggle{width:44px;height:44px}}.dash-zone{margin:var(--space-6) 0;padding:0 var(--space-6)}.dash-zone-title{font-size:var(--text-xs);color:var(--fg-subtle);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);margin-bottom:var(--space-3)}.dash-zone-grid{display:grid;gap:var(--space-4)}.dash-zone-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-zone-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:980px){.dash-zone-grid--2,.dash-zone-grid--3{grid-template-columns:1fr}}.dash-zone-grid+.dash-zone-grid{margin-top:var(--space-4)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg-canvas)}.login-card{width:100%;max-width:380px;padding:var(--space-6);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}.login-card .login-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.login-card .login-header .login-title{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--fg-default)}.login-card .login-field{display:block}.login-card .login-field .login-label{display:block;margin-bottom:var(--space-1);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--fg-muted)}.login-card .login-field .login-input{width:100%;height:38px;padding:0 var(--space-3);background:var(--input-bg);color:var(--fg-default);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm)}.login-card .login-field .login-input:focus{outline:none;border-color:var(--brand)}.login-card .login-field .login-input:disabled{opacity:.6;cursor:not-allowed}.login-card .login-error{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--loss-fg);background:var(--loss-bg);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.login-card .login-submit{height:38px;width:100%}@media(max-width:480px){.login-card{padding:var(--space-5);border-radius:var(--radius-md);max-width:100%}}.dashboard{min-height:100vh;display:flex;flex-direction:column}.dashboard .dashboard-header{background:var(--bg-surface);border-bottom:1px solid var(--border-default);padding:var(--space-3) var(--space-6);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.dashboard .dashboard-header .header-left{display:flex;align-items:center;gap:var(--space-5)}.dashboard .dashboard-header .header-left .logo{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--fg-default);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.dashboard .dashboard-header .header-right{display:flex;align-items:center;gap:var(--space-3)}.dashboard .dashboard-header .header-right .connection-indicator{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:var(--text-xs);color:var(--fg-muted)}.dashboard .dashboard-header .header-right .connection-indicator .ws-dot{width:6px;height:6px;border-radius:50%}.dashboard .dashboard-header .header-right .connection-indicator .ws-dot.connected{background:var(--gain)}.dashboard .dashboard-header .header-right .connection-indicator .ws-dot.disconnected{background:var(--loss)}@media(max-width:480px){.dashboard .dashboard-header{flex-wrap:wrap;padding:var(--space-2) var(--space-3);gap:var(--space-2)}.dashboard .dashboard-header .header-left{width:100%;justify-content:space-between;gap:var(--space-2)}.dashboard .dashboard-header .header-right{width:100%;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.dashboard .dashboard-header .header-right .workflow-trigger{width:100%;order:-1;flex-direction:column;align-items:stretch}.dashboard .dashboard-header .header-right .workflow-trigger .btn{width:100%}.dashboard .dashboard-header .header-right .connection-indicator span:not(.ws-dot){display:none}}.dashboard .dashboard-content{flex:1;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6);max-width:1800px;margin:0 auto;width:100%}@media(max-width:480px){.dashboard .dashboard-content{padding:var(--space-3)}}.card{background:var(--card-bg);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);animation:fadeIn var(--transition-base)}.card .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.card .card-header .card-title{font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--fg-default);display:flex;align-items:center;gap:var(--space-2)}.card .card-header .card-title .icon{color:var(--brand)}.card .card-header .card-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-medium);padding:3px 8px;border-radius:var(--radius-pill)}.card .card-header .card-badge.warning{background:var(--warn-bg);color:var(--warn-fg);border:1px solid rgba(245,158,11,.22)}.card .card-header .card-badge.error{background:var(--loss-bg);color:var(--loss-fg);border:1px solid rgba(239,68,68,.2)}.card .card-header .card-badge.success{background:var(--gain-bg);color:var(--gain-fg);border:1px solid rgba(34,197,94,.2)}.card.full-width{grid-column:1 / -1}.card.span-2{grid-column:span 2}@media(max-width:900px){.card.span-2{grid-column:1}}@media(max-width:480px){.card{padding:var(--space-3);border-radius:var(--radius-md)}.card .card-header{margin-bottom:var(--space-2)}.card .card-header .card-title{font-size:var(--text-sm)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);height:32px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;cursor:pointer;border:1px solid transparent;outline:none;transition:background var(--duration-default) var(--ease-out),border-color var(--duration-default) var(--ease-out)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn.btn-primary{background:var(--brand);color:var(--brand-fg)}.btn.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn.btn-primary:active:not(:disabled){background:var(--brand-press)}.btn.btn-secondary{background:transparent;color:var(--fg-default);border-color:var(--border-strong)}.btn.btn-secondary:hover:not(:disabled){background:var(--hover-bg)}.btn.btn-secondary:active:not(:disabled){background:var(--press-bg)}.btn.btn-ghost{background:transparent;color:var(--fg-default)}.btn.btn-ghost:hover:not(:disabled){background:var(--hover-bg)}.btn.btn-ghost:active:not(:disabled){background:var(--press-bg)}.btn.btn-danger{background:var(--loss);color:#fff}.btn.btn-danger:hover:not(:disabled){background:var(--loss-300)}.btn.btn-danger:active:not(:disabled){background:var(--loss-700)}.btn.btn-success{background:var(--gain);color:#fff}.btn.btn-success:hover:not(:disabled){background:var(--gain-300)}.btn.btn-success:active:not(:disabled){background:var(--gain-700)}.btn.btn-sm{height:26px;padding:0 var(--space-2);font-size:var(--text-xs)}.btn.btn-lg{height:38px;padding:0 var(--space-4);font-size:var(--text-base)}@media(max-width:480px){.btn{min-height:44px}.btn.btn-sm{min-height:44px;padding:0 var(--space-3)}}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-6);color:var(--fg-subtle)}.loading .spinner{width:24px;height:24px;border:2px solid var(--border-default);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.empty-state{text-align:center;padding:var(--space-8);color:var(--fg-muted)}.empty-state .empty-icon{display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-3);color:var(--fg-subtle)}.empty-state .empty-text{font-size:var(--text-sm);font-family:var(--font-sans)}.gauge{margin-bottom:var(--space-3)}.gauge .gauge-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-1);font-size:var(--text-sm)}.gauge .gauge-header .gauge-label{color:var(--fg-muted)}.gauge .gauge-header .gauge-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);color:var(--fg-default)}.gauge .gauge-track{height:8px;background:var(--border-default);border-radius:var(--radius-pill);overflow:hidden}.gauge .gauge-track .gauge-fill{height:100%;border-radius:var(--radius-pill);transition:width var(--duration-slow) var(--ease-out)}.gauge .gauge-track .gauge-fill.success{background:var(--gain)}.gauge .gauge-track .gauge-fill.warning{background:var(--warn)}.gauge .gauge-track .gauge-fill.danger{background:var(--loss)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast)}.modal-overlay .modal{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:var(--space-5);width:90%;max-width:480px;animation:slideIn var(--transition-base)}.modal-overlay .modal .modal-header{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--fg-default);margin-bottom:var(--space-3)}.modal-overlay .modal .modal-body{font-size:var(--text-base);color:var(--fg-default);margin-bottom:var(--space-4)}.modal-overlay .modal .modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2)}@media(max-width:480px){.modal-overlay .modal{width:100%;max-width:none;height:100dvh;border-radius:0;margin:0}}.form-group{margin-bottom:var(--space-3)}.form-group label{display:block;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-1);color:var(--fg-muted)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-2) var(--space-3);background:var(--input-bg);color:var(--fg-default);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-out)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--brand)}.form-group textarea{resize:vertical;min-height:80px}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:var(--space-1) var(--space-2);background:var(--bg-raised);color:var(--fg-default);border:1px solid var(--border-default);font-size:var(--text-2xs);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-out);margin-bottom:var(--space-1)}.tooltip:hover:after{opacity:1;visibility:visible}.notif-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--border-default);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--fg-muted)}.notif-banner button{height:28px;padding:0 var(--space-3);background:var(--brand-tint);color:var(--brand);border:1px solid var(--brand-tint-strong);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:background var(--duration-default) var(--ease-out),border-color var(--duration-default) var(--ease-out)}.notif-banner button:hover{background:var(--brand-tint-strong);border-color:var(--brand)}.notif-banner button:active{background:var(--brand-press);color:var(--brand-fg)}.error-boundary-fallback{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-5);background:var(--bg-canvas);color:var(--fg-default);font-family:var(--font-sans)}.error-boundary-fallback .error-boundary-card{width:100%;max-width:32rem;padding:var(--space-6);background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);text-align:center}.error-boundary-fallback h1{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-4);color:var(--fg-default)}.error-boundary-fallback p{font-size:var(--text-base);line-height:1.5;color:var(--fg-muted);margin-bottom:var(--space-5)}.error-boundary-fallback .error-boundary-details{background:var(--loss-bg);color:var(--loss);padding:var(--space-4);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-xs);text-align:left;white-space:pre-wrap;overflow-x:auto;margin-bottom:var(--space-5);max-height:12rem}.error-boundary-fallback .error-boundary-reload{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) var(--space-6);background:var(--brand);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.error-boundary-fallback .error-boundary-reload:hover{background:var(--brand-hover)}.error-boundary-fallback .error-boundary-reload:active{background:var(--brand-press)}@media(max-width:480px){.error-boundary-fallback{padding:var(--space-4)}.error-boundary-fallback .error-boundary-card{padding:var(--space-5)}.error-boundary-fallback h1{font-size:var(--font-size-xl)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--azure-50: #EAF2FF;--azure-100: #D1E1FF;--azure-200: #A8C5FF;--azure-300: #7AA5FF;--azure-400: #5691FF;--azure-500: #3D7EFF;--azure-600: #2A6BF0;--azure-700: #1F55C7;--azure-800: #173F94;--azure-900: #0F2A66;--navy-50: #E4E8F1;--navy-100: #C5CDDE;--navy-200: #8E9BB8;--navy-300: #5C6B8C;--navy-400: #3A4666;--navy-500: #232C47;--navy-600: #1A2236;--navy-700: #111827;--navy-800: #0A0F1C;--navy-900: #05080F;--slate-50: #F8FAFC;--slate-100: #F1F5F9;--slate-200: #E2E8F0;--slate-300: #CBD5E1;--slate-400: #94A3B8;--slate-500: #64748B;--slate-600: #475569;--slate-700: #334155;--slate-800: #1E293B;--slate-900: #0F172A;--gain-50: #E6F7EE;--gain-300: #4ADE80;--gain-500: #22C55E;--gain-700: #15803D;--loss-50: #FEE7E7;--loss-300: #FB7185;--loss-500: #EF4444;--loss-700: #B91C1C;--warn-50: #FEF3C7;--warn-300: #FCD34D;--warn-500: #F59E0B;--warn-700: #B45309;--info-500: var(--azure-500);--bg-canvas: var(--navy-800);--bg-surface: var(--navy-700);--bg-raised: var(--navy-600);--bg-sunken: var(--navy-900);--bg-overlay: rgba(5, 8, 15, .6);--fg-default: #E6EBF5;--fg-muted: #9AA7BD;--fg-subtle: #64748B;--fg-disabled: #475569;--fg-inverse: var(--navy-900);--brand: var(--azure-500);--brand-hover: var(--azure-400);--brand-press: var(--azure-600);--brand-fg: #FFFFFF;--brand-tint: rgba(61, 126, 255, .12);--brand-tint-strong: rgba(61, 126, 255, .22);--border-default: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .12);--border-focus: var(--azure-500);--gain: var(--gain-500);--gain-bg: rgba(34, 197, 94, .12);--loss: var(--loss-500);--loss-bg: rgba(239, 68, 68, .12);--warn: var(--warn-500);--warn-bg: rgba(245, 158, 11, .12);--card-bg: var(--navy-700);--hover-bg: rgba(255, 255, 255, .04);--hover-bg-strong:rgba(255, 255, 255, .06);--press-bg: rgba(255, 255, 255, .1);--topbar-bg: rgba(10, 15, 28, .7);--row-divider: rgba(255, 255, 255, .04);--kbd-border: rgba(255, 255, 255, .08);--scrim-bg: rgba(5, 8, 15, .6);--input-bg: var(--navy-800);--grid-stroke: rgba(255, 255, 255, .04);--selection: rgba(61, 126, 255, .35);--scrollbar-thumb:rgba(255, 255, 255, .08);--scrollbar-thumb-hover: rgba(255, 255, 255, .14);--gain-fg: #4ADE80;--loss-fg: #FB7185;--warn-fg: #FCD34D;--info-fg: #7AA5FF;--series-1: #3D7EFF;--series-2: #22C55E;--series-3: #F59E0B;--series-4: #A855F7;--series-5: #06B6D4;--series-6: #EC4899;--series-7: #84CC16;--series-8: #F97316;--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", "JetBrains Mono", "IBM Plex Mono", Menlo, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 32px;--text-display-sm: 40px;--text-display-md: 56px;--text-display-lg: 72px;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-eyebrow: .08em;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-pill: 999px;--shadow-none: none;--shadow-pop: 0 4px 12px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .06);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .08);--shadow-focus: 0 0 0 2px var(--bg-canvas), 0 0 0 4px var(--azure-500);--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-default: .15s;--duration-slow: .18s;--duration-flash: .6s}[data-theme=light]{--bg-canvas: #F8FAFC;--bg-surface: #FFFFFF;--bg-raised: #F1F5F9;--bg-sunken: #F1F5F9;--bg-overlay: rgba(15, 23, 42, .4);--fg-default: #0F172A;--fg-muted: #475569;--fg-subtle: #64748B;--fg-disabled: #94A3B8;--fg-inverse: #FFFFFF;--border-default: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .16);--shadow-pop: 0 4px 12px rgba(15, 23, 42, .08), 0 0 0 1px rgba(15, 23, 42, .06);--shadow-modal: 0 24px 64px rgba(15, 23, 42, .18), 0 0 0 1px rgba(15, 23, 42, .08);--gain-bg: rgba(34, 197, 94, .1);--loss-bg: rgba(239, 68, 68, .1);--warn-bg: rgba(245, 158, 11, .12);--card-bg: #FFFFFF;--hover-bg: rgba(15, 23, 42, .04);--hover-bg-strong:rgba(15, 23, 42, .06);--press-bg: rgba(15, 23, 42, .1);--topbar-bg: rgba(255, 255, 255, .85);--row-divider: rgba(15, 23, 42, .05);--kbd-border: rgba(15, 23, 42, .1);--scrim-bg: rgba(15, 23, 42, .4);--input-bg: #FFFFFF;--grid-stroke: rgba(15, 23, 42, .06);--selection: rgba(61, 126, 255, .2);--scrollbar-thumb:rgba(15, 23, 42, .14);--scrollbar-thumb-hover: rgba(15, 23, 42, .22);--gain-fg: #15803D;--loss-fg: #B91C1C;--warn-fg: #B45309;--info-fg: #1F55C7}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg-canvas: #F8FAFC;--bg-surface: #FFFFFF;--bg-raised: #F1F5F9;--bg-sunken: #F1F5F9;--bg-overlay: rgba(15, 23, 42, .4);--fg-default: #0F172A;--fg-muted: #475569;--fg-subtle: #64748B;--fg-disabled: #94A3B8;--border-default: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .16);--card-bg: #FFFFFF;--hover-bg: rgba(15, 23, 42, .04);--hover-bg-strong: rgba(15, 23, 42, .06);--topbar-bg: rgba(255, 255, 255, .85);--row-divider: rgba(15, 23, 42, .05);--scrim-bg: rgba(15, 23, 42, .4);--input-bg: #FFFFFF;--grid-stroke: rgba(15, 23, 42, .06);--selection: rgba(61, 126, 255, .2);--gain-bg: rgba(34, 197, 94, .1);--loss-bg: rgba(239, 68, 68, .1);--warn-bg: rgba(245, 158, 11, .12);--gain-fg: #15803D;--loss-fg: #B91C1C;--warn-fg: #B45309;--info-fg: #1F55C7}}:root{--color-bg: var(--bg-canvas);--color-bg-secondary: var(--bg-surface);--color-text: var(--fg-default);--color-text-secondary: var(--fg-muted);--color-text-muted: var(--fg-subtle);--color-border: var(--border-default);--color-border-light: var(--border-default);--color-primary: var(--brand);--color-primary-hover: var(--brand-hover);--color-primary-active: var(--brand-press);--color-primary-bg: var(--brand-tint);--color-success: var(--gain);--color-success-bg: var(--gain-bg);--color-success-border: rgba(34, 197, 94, .2);--color-warning: var(--warn);--color-warning-bg: var(--warn-bg);--color-warning-border: rgba(245, 158, 11, .22);--color-error: var(--loss);--color-error-bg: var(--loss-bg);--color-error-border: rgba(239, 68, 68, .2);--color-info: var(--info-500);--color-info-bg: var(--brand-tint);--color-danger: var(--loss);--color-buy: var(--gain);--color-buy-bg: var(--gain-bg);--color-sell: var(--loss);--color-sell-bg: var(--loss-bg);--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-4);--spacing-lg: var(--space-5);--spacing-xl: var(--space-6);--spacing-2xl: var(--space-8);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-full: 999px;--font-size-xs: var(--text-2xs);--font-size-sm: var(--text-xs);--font-size-base: var(--text-sm);--font-size-lg: var(--text-base);--font-size-xl: var(--text-md);--font-size-2xl: var(--text-lg);--font-size-3xl: var(--text-xl);--shadow-sm: var(--shadow-none);--shadow-md: var(--shadow-pop);--shadow-lg: var(--shadow-modal);--transition-fast: var(--duration-fast) var(--ease-out);--transition-base: var(--duration-default) var(--ease-out);--transition-slow: var(--duration-slow) var(--ease-out)}[data-theme=light]{--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 0 0 1px rgba(15, 23, 42, .06)}@media(prefers-color-scheme:light){:root:not([data-theme]){--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 0 0 1px rgba(15, 23, 42, .06)}}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--fg-default);background-color:var(--bg-canvas);min-height:100vh}#root{min-height:100vh}::selection{background:var(--selection)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.h-display{font-family:var(--font-sans);font-size:var(--text-display-md);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--fg-default)}.h1{font-family:var(--font-sans);font-size:var(--text-3xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--fg-default)}.h2{font-family:var(--font-sans);font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--fg-default)}.h3{font-family:var(--font-sans);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--fg-default)}.h4{font-family:var(--font-sans);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--fg-default)}.body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--fg-default)}.body-sm{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--fg-default)}.label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);color:var(--fg-default)}.eyebrow{font-family:var(--font-sans);font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:1;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--fg-muted)}.caption{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-regular);line-height:var(--leading-snug);color:var(--fg-muted)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1,"cv11" 1;font-variant-numeric:tabular-nums}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.delta-up{color:var(--gain)}.delta-down{color:var(--loss)}.delta-flat{color:var(--fg-muted)}.focus-ring:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.text-secondary{color:var(--fg-muted)}.text-muted{color:var(--fg-subtle)}.text-success{color:var(--gain)}.text-warning{color:var(--warn)}.text-error{color:var(--loss)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-fadeIn{animation:fadeIn var(--transition-base)}.animate-slideIn{animation:slideIn var(--transition-base)}@media(max-width:480px){html{font-size:15px}body{overflow-x:hidden}}@media(hover:none){.tooltip:hover:after{opacity:0;visibility:hidden}}
