:root{color-scheme:dark;--bg: #101824;--surface: #141f2d;--tile: #0f1b2c;--text: #d1d5db;--muted: #9ca3af;--border: #1f2a37;--accent: #22c55e;--accent-soft: rgba(34, 197, 94, .12);--pnl-pos: #22c55e;--pnl-neg: #ef4444;--warn: #fbbf24;--danger: #ef4444;--sidebar-w: 200px;--topbar-h: 52px;--logs-h: 140px;--radius: 10px;--gap: .75rem;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;--mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", Consolas, monospace;--chart: #22c55e;--scroll-thumb: #2a3648;--scroll-track: transparent;--sidebar: #0f1724}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;width:100%;max-width:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--text);background:var(--bg);color-scheme:dark}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--scroll-track)}*::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:999px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#526084;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}button,input{font:inherit}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;height:100%;width:100%;max-width:100%;min-height:0;overflow:hidden}.app-shell.logs-hidden{--logs-h: 44px}.sidebar{grid-column:1;grid-row:1 / -1;width:var(--sidebar-w);max-width:var(--sidebar-w);background:linear-gradient(180deg,var(--sidebar),#070b10);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 12px;gap:14px;z-index:30;min-width:0}.sidebar-brand{font-weight:800;letter-spacing:.08em;font-size:.78rem;line-height:1.25;padding:0 4px;color:var(--accent)}.sidebar-brand .brand-sub{display:block;margin-top:4px;font-weight:500;letter-spacing:0;font-size:.68rem;color:var(--muted);text-transform:none}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;text-align:left;padding:.55rem .7rem;border-radius:10px;color:var(--muted);cursor:pointer;font-weight:600;font-size:.82rem}.nav-item:hover{background:#ffffff08;border-color:var(--border);color:var(--text)}.nav-item.active{background:var(--accent-soft);border-color:#22c55e59;color:#86efac;font-weight:700}.replay-log{max-height:260px;overflow:auto;margin-top:.5rem;padding:.5rem;background:#0b1220;border-radius:8px}.replay-log .hint{color:#94a3b8;margin:.1rem 0}.sidebar-footer{font-size:.7rem;color:var(--muted);padding:.35rem;line-height:1.35}.topbar{grid-column:2;grid-row:1;min-height:var(--topbar-h);height:auto;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;padding:.35rem 1rem;position:sticky;top:0;z-index:20;min-width:0;max-width:100%;flex-wrap:wrap}.topbar-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end;min-width:0;max-width:100%;margin-left:auto}.topbar-left{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1 1 auto;overflow:hidden}.topbar h1{margin:0;font-size:1.05rem;font-weight:650}.menu-btn{display:none}.status-pills{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.pill{font-size:.72rem;color:var(--muted);background:var(--tile);border:1px solid var(--border);border-radius:999px;padding:.2rem .55rem;white-space:nowrap}.pill.on{color:var(--pnl-pos);border-color:color-mix(in srgb,var(--pnl-pos) 40%,var(--border));background:color-mix(in srgb,var(--pnl-pos) 18%,transparent)}.pill.off{color:var(--pnl-neg);border-color:color-mix(in srgb,var(--pnl-neg) 40%,var(--border));background:color-mix(in srgb,var(--pnl-neg) 16%,transparent)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:.4rem .75rem;cursor:pointer;font-weight:600;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#052e16}.btn--danger{background:#fff;border-color:#fecaca;color:var(--danger)}.btn--trade-toggle{min-width:5.5rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn--trade-toggle.is-on{background:var(--danger);border-color:var(--danger);color:#fff}.btn--trade-toggle.is-on:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn--trade-toggle.is-off{background:var(--accent);border-color:var(--accent);color:#052e16}.btn--trade-toggle.is-off:hover:not(:disabled){filter:brightness(1.08)}.btn--ghost{background:transparent}.btn--sm{padding:.28rem .55rem;font-size:.78rem}.main{grid-column:2;grid-row:2;min-width:0;min-height:0;width:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1rem 1.25rem}.live-logs{grid-column:2;grid-row:3;height:var(--logs-h);max-width:100%;background:#060913;color:#e2e8f0;border-top:1px solid var(--border);display:flex;flex-direction:column;min-width:0;overflow:hidden;z-index:15}.live-logs-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .85rem;border-bottom:1px solid #1e293b;font-size:.82rem;min-width:0}.live-logs-body{flex:1;min-width:0;overflow-x:hidden;overflow-y:auto;font-family:var(--mono);font-size:.75rem;padding:.5rem .85rem;line-height:1.45}.log-line{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.log-line.warn{color:#fbbf24}.log-line.error{color:#fb7185}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:var(--gap);margin-bottom:var(--gap);min-width:0;max-width:100%}.kpi,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.kpi-label{color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.kpi-value{font-size:1.45rem;font-weight:700;margin-top:.35rem}.kpi-sub{color:var(--muted);font-size:.82rem;margin-top:.25rem}.pos{color:var(--pnl-pos)}.neg{color:var(--pnl-neg)}.muted{color:var(--muted)}.tenant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap);margin-bottom:var(--gap)}.tenant-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;display:flex;flex-direction:column;gap:.45rem}.tenant-card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.tenant-card h3{margin:0;font-size:.95rem}.table-scroll{overflow-x:auto;max-width:100%;min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}table.data{width:100%;border-collapse:collapse;min-width:0;font-size:.86rem}table.data th,table.data td{padding:.65rem .85rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}table.data th{color:var(--muted);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;background:#0f1524}.row-actions{display:flex;gap:.35rem}.slots-board{display:grid;gap:var(--gap)}.slots-tenant{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.85rem}.slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;margin-top:.65rem}.slot{border:1px dashed var(--border);border-radius:10px;padding:.65rem;min-height:72px;font-size:.8rem;color:var(--muted)}.slot.filled{border-style:solid;color:var(--text);background:var(--tile)}.section-title{margin:0 0 .75rem;font-size:1rem}.hint{color:var(--muted);font-size:.85rem}.errText{color:var(--danger)}.skeleton{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:sk 1.2s linear infinite;border-radius:8px;min-height:1.2rem}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}.login-page{min-height:100%;display:grid;place-items:center;padding:1rem;background:radial-gradient(900px 500px at 20% -10%,#1a2240 0%,var(--bg) 55%)}.login-card{width:min(380px,100%);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem;display:grid;gap:.85rem}.login-card h1{margin:0;font-size:1.25rem}.login-card label{display:grid;gap:.3rem;font-size:.85rem;color:var(--muted)}.login-card input{border:1px solid var(--border);border-radius:10px;padding:.55rem .7rem;color:var(--text);background:var(--tile)}.virtual-list{height:420px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.virtual-row{display:flex;align-items:center;gap:.75rem;padding:0 .85rem;border-bottom:1px solid var(--border);font-size:.82rem}.drawer-backdrop{display:none}@media(max-width:1100px){.kpi-row,.tenant-grid,.slots-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,86vw);max-width:min(280px,86vw);transform:translate(-105%);transition:transform .2s ease;box-shadow:0 10px 40px #0f172a2e}.app-shell.drawer-open .sidebar{transform:translate(0)}.drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0609138c;z-index:25}.topbar,.main,.live-logs{grid-column:1}.menu-btn{display:inline-flex}.kpi-row,.tenant-grid,.slots-grid{grid-template-columns:minmax(0,1fr)}}.strat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem;margin-bottom:1rem}.strat-card{display:flex;gap:.5rem;align-items:flex-start;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;min-width:0}.strat-card.is-on{border-color:var(--accent);background:var(--accent-soft)}.strat-card strong{display:block;font-size:.9rem}.strat-card .hint{display:block;font-size:.72rem}.knob-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.knob{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted)}.knob input[type=number]{width:100%;padding:.4rem .5rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.knob--check{flex-direction:row;align-items:center;gap:.4rem;padding-top:1.2rem}.btn--primary{background:var(--accent);color:#052e16;border-color:var(--accent)}.badge-warn{color:var(--warn);font-size:.75rem;font-weight:600}.kpi--click{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}.kpi--click:hover{border-color:var(--accent)}.trade-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));gap:.5rem;margin-bottom:1rem;min-width:0;max-width:100%}.trade-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.65rem .75rem;cursor:pointer;min-width:0}.trade-tile:hover{border-color:var(--accent)}.trade-tile__head{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-bottom:.35rem}.trade-tile__sym{font-weight:700;font-size:1rem}.trade-tile__thesis,.trade-tile__goal{margin:.25rem 0 0;font-size:.78rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trade-tile__foot{display:flex;justify-content:space-between;margin-top:.45rem;font-weight:600}.side-tag.long{color:var(--pnl-pos);font-size:.72rem;font-weight:700}.side-tag.short{color:var(--pnl-neg);font-size:.72rem;font-weight:700}.linkish{border:0;background:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-align:left}.table-wrap{overflow-x:auto;max-width:100%;min-width:0}table.data tbody tr{cursor:pointer}table.data tbody tr.is-hl{background:var(--accent-soft)}.equity-chart{display:block;width:100%;max-width:100%;height:auto}.rail-hint{margin:0 0 .45rem;font-size:.72rem;color:var(--muted)}.session-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.65rem}.session-bar .session-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.session-bar .session-actions{display:flex;gap:.4rem;flex-wrap:wrap}.session-bar--meta-only{padding:.55rem .75rem;margin-bottom:.5rem;background:var(--row-bg);border:1px solid var(--border);border-radius:var(--tab-radius)}.session-bar--meta-only .session-meta{flex-direction:row;align-items:center;gap:.65rem;flex-wrap:wrap}.terminal-stack{display:flex;flex-direction:column;gap:.65rem;min-width:0;max-width:100%}.terminal-stack .trade-tiles{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));margin-bottom:0}.cmd-grid{display:flex;flex-direction:column;gap:.65rem;min-width:0;max-width:100%}.cmd-col{display:flex;flex-direction:column;gap:.65rem;min-width:0;max-width:100%;overflow:hidden}.cmd-grid .trade-tiles{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));margin-bottom:0}.trade-tile{background:var(--tile)}.desk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(120px,100%),1fr));gap:.5rem;min-width:0;max-width:100%}.desk-card{border:1px solid var(--border);border-radius:var(--radius);padding:.55rem;background:var(--tile);display:flex;flex-direction:column;gap:.2rem;text-align:left;cursor:pointer;min-width:0;max-width:100%;color:inherit;font:inherit}.desk-card .name{font-weight:650}.desk-card:hover{border-color:var(--accent)}.section-title{color:var(--text)}.hint{color:var(--muted)}.kpi{background:var(--surface);border:1px solid var(--border);min-width:0;max-width:100%}.panel{background:var(--surface);border-color:var(--border);min-width:0;max-width:100%;overflow:hidden}table.data th,table.data td{vertical-align:middle}table.data th{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.skeleton{background:linear-gradient(90deg,#141f2d,#1f2a37,#141f2d);background-size:200% 100%}.tenant-card,.strat-card{background:var(--tile)}.slot{background:var(--tile);border-color:var(--border);color:var(--muted)}.slot.filled{color:var(--text)}@media(min-width:1280px){.cmd-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}@media(max-width:1100px){.topbar .status-pills .pill:nth-child(n+3){display:none}}.marketSpreadWarn,.marketHealthInlineWarn{color:#fbbf24}.marketMonitorRowStale{background:#7f1d1d29}.marketMonitorStaleFlag{color:#fca5a5}.marketHealthBanner{display:flex;align-items:flex-start;gap:12px;margin:0 0 12px;padding:12px 16px;border-radius:12px;border:1px solid rgba(248,113,113,.5);background:#7f1d1d38}.marketHealthBanner.warn{border-color:#fbbf2480;background:#78350f2e}.marketHealthBannerTitle{font-weight:600;color:#fecaca}.marketHealthBanner.warn .marketHealthBannerTitle{color:#fde68a}.marketHealthBannerDetail{margin-top:4px;font-size:12.5px;color:var(--muted);word-break:break-word}.marketMonitorTable{max-height:min(440px,46vh);overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.market-table th,.market-table td{font-size:12px;padding:8px}.marketRow--warn td:first-child{color:#fbbf24}.exchange-feed-strip{margin-bottom:var(--gap)}.exchange-feed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.exchange-feed-item{display:flex;flex-direction:column;gap:2px}.exchange-feed-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.instrument-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.instrument-chip{font-size:11px;font-family:ui-monospace,monospace;padding:4px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--pnl-pos) 35%,var(--border));color:var(--pnl-pos);background:color-mix(in srgb,var(--pnl-pos) 12%,transparent)}.market-monitor-panel{margin-bottom:var(--gap)}.market-monitor-hint{margin-bottom:10px;font-size:.78rem;line-height:1.4;overflow-wrap:anywhere;word-break:break-word;max-width:100%}@media(max-width:720px){.cmd-grid .trade-tiles,.trade-tiles,.kpi-row{grid-template-columns:minmax(0,1fr)}.topbar-actions .btn:not(.btn--trade-toggle){padding:.35rem .55rem;font-size:.78rem}.topbar .status-pills .pill:nth-child(n+2){display:none}}.dashboard-page{min-width:0;max-width:100%;overflow-x:hidden;display:flex;flex-direction:column;gap:var(--gap)}.dashboard-page--loading{padding-top:.25rem}.dashboard-hero{display:flex;flex-direction:column;gap:.65rem;min-width:0;max-width:100%}.dashboard-hero__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;min-width:0}.dashboard-hero__title{font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.dashboard-hero__sub{font-size:.82rem;color:var(--muted)}.dashboard-kpi-row{margin-bottom:0}.dashboard-kpi{min-width:0}.dashboard-workspace{display:flex;flex-direction:column;gap:var(--gap);min-width:0;max-width:100%}.dashboard-section{min-width:0;max-width:100%;overflow:hidden}.dashboard-section--trades .dashboard-trades-panel,.dashboard-section--market .market-monitor-panel{margin-bottom:0;width:100%;max-width:100%;min-width:0}.dashboard-section--trades .dashboard-trades-panel{min-height:min(360px,42vh)}.dashboard-section--market .market-monitor-panel .marketMonitorTable{max-height:min(480px,52vh)}.dashboard-secondary{display:flex;flex-direction:column;gap:var(--gap);min-width:0;max-width:100%}.dashboard-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);min-width:0;max-width:100%}.dashboard-secondary-grid--split{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.dashboard-panel{min-width:0;max-width:100%;overflow:hidden}.dashboard-panel__title{margin-top:0;margin-bottom:.65rem}.dashboard-panel__hint{margin-top:.65rem}.dashboard-quick-actions{display:flex;flex-wrap:wrap;gap:.45rem}.dashboard-two-col{display:flex;flex-direction:column;gap:var(--gap);align-items:stretch;margin-bottom:0;min-width:0;max-width:100%}.dashboard-col--trades .dashboard-trades-panel,.dashboard-col--market .market-monitor-panel{height:auto;min-height:0}.dashboard-trades-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:.65rem}.desk-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.desk-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:6px;border:1px solid var(--border);background:#0f172499;color:var(--text);font-size:.72rem;cursor:pointer}.desk-tab--active{border-color:#22c55e73;background:#1665342e}.pill--xs{font-size:.58rem;padding:.05rem .35rem}.terminalTradeSection .recentTradeTilesGrid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.tradeEntryTileCopy{flex-shrink:0;padding:2px 8px;font-size:10px;margin-left:auto}.tradeEntryTileRow{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#cbd5e1;margin-top:4px}.tradeEntryTileSubLabel{font-size:10px;text-transform:uppercase;color:#94a3b8}.tradeEntryTileStrength.strengthLevelValue{color:#5eb3ff}.mascotSoundControls{display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--muted);-webkit-user-select:none;user-select:none;min-width:88px}.mascotSoundToggle{display:flex;align-items:center;gap:4px;cursor:pointer;line-height:1.2}.mascotSoundToggle input{accent-color:var(--accent);width:12px;height:12px;margin:0}.mascotSoundVolumeRow{display:flex;align-items:center;gap:4px}.mascotSoundVolumeRow.isDisabled{opacity:.45}.mascotSoundSlider{flex:1;min-width:48px;height:3px;accent-color:var(--accent)}.mascotSoundVolPct{font-size:9px;min-width:24px;text-align:right}@media(max-width:1100px){.dashboard-secondary-grid,.dashboard-secondary-grid--split{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.market-table th:nth-child(4),.market-table td:nth-child(4),.market-table th:nth-child(6),.market-table td:nth-child(6),.market-table th:nth-child(7),.market-table td:nth-child(7),.market-table th:nth-child(8),.market-table td:nth-child(8){display:none}}@media(max-width:720px){.main{padding:.65rem .65rem 1rem}.dashboard-section--trades .dashboard-trades-panel{min-height:min(280px,38vh)}.dashboard-section--market .market-monitor-panel .marketMonitorTable{max-height:min(360px,44vh)}.terminalTradeSection .recentTradeTilesGrid{grid-template-columns:minmax(0,1fr)}.topbar h1{font-size:.95rem}.topbar-actions .mascotSoundControls{display:none}}@media(max-width:1100px){.dashboard-two-col{grid-template-columns:1fr}}.desk-health-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.65rem;padding:.45rem .55rem;border-radius:8px;background:#fbbf240f;border:1px solid rgba(251,191,36,.18)}.desk-health-pill.warn,.pill.warn{color:#fcd34d;border-color:#fbbf2473;background:#fbbf241a}.desk-health-hint{flex:1 1 100%;font-size:.68rem;color:#94a3b8;margin:0}
