:root{--color-bg-primary:#141824;--color-bg-secondary:#1a1f2e;--color-bg-tertiary:#0f1419;--color-surface:#1e293b;--color-surface-hover:#334155;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-positive:#34d399;--color-positive-bg:#34d3991f;--color-negative:#f87171;--color-negative-bg:#f871711f;--color-neutral:#e2e8f0;--color-accent:#38bdf8;--color-accent-muted:#38bdf826;--color-border:#334155;--color-border-light:#475569;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-size-xs:10px;--font-size-sm:12px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 10px 24px #0006;--transition-fast:150ms ease;--transition-normal:300ms ease;--transition-slow:500ms ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-md);line-height:1.5;overflow:hidden}.top-navigation{align-items:center;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;justify-content:space-between;min-height:48px;padding:var(--spacing-sm) var(--spacing-md)}.top-navigation--minimal{gap:var(--spacing-md)}.top-navigation__brand{display:flex;flex-direction:column;gap:0;line-height:1.2}.top-navigation__title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:700;letter-spacing:.02em}.top-navigation__subtitle{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.06em;text-transform:uppercase}.top-navigation__meta{align-items:center;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-md);justify-content:flex-end}.top-navigation__session{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-navigation__session,.top-navigation__version{color:var(--color-text-muted);font-size:var(--font-size-xs)}.connection-status-compact{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-xs)}.connection-status-compact__dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.connection-status-compact__dot--connected{background-color:var(--color-positive);box-shadow:0 0 6px var(--color-positive)}.connection-status-compact__dot--connecting{animation:connection-pulse 1s ease-in-out infinite;background-color:var(--color-accent)}.connection-status-compact__dot--unstable{background-color:#fbbf24}.connection-status-compact__dot--disconnected{background-color:var(--color-negative)}.connection-status-compact__text{color:var(--color-text-primary);font-weight:600}.connection-status-compact__meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}@keyframes connection-pulse{0%,to{opacity:1}50%{opacity:.35}}.nav-menu{display:flex;gap:var(--spacing-lg);list-style:none}.nav-menu-item{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast)}.nav-menu-item:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.nav-utility{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.header-panel,.nav-utility{align-items:center;display:flex;gap:var(--spacing-md)}.header-panel{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0;flex-wrap:wrap;min-height:60px;padding:var(--spacing-xs) var(--spacing-md);position:relative;z-index:100}.action-buttons{display:flex;gap:var(--spacing-sm)}.btn-buy,.btn-sell{border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:700;padding:var(--spacing-sm) var(--spacing-lg);transition:opacity var(--transition-fast)}.btn-buy{background-color:var(--color-positive);color:var(--color-bg-primary)}.btn-sell{background-color:var(--color-negative);color:var(--color-text-primary)}.btn-buy:hover,.btn-sell:hover{opacity:.8}.market-index{display:flex;flex-direction:column;gap:var(--spacing-xs)}.index-value{font-size:var(--font-size-2xl);font-weight:700}.index-change{font-size:var(--font-size-md)}.market-metrics{align-items:center;display:flex;flex:1 1;flex-wrap:nowrap;gap:var(--spacing-sm);min-width:0;overflow:hidden}.market-metrics .metric{flex-shrink:0;font-size:var(--font-size-xs)}.metric{display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.metric .label{color:var(--color-text-secondary)}.metric .value{font-weight:700}.metric .value.positive{color:var(--color-positive)}.metric .value.negative{color:var(--color-negative)}.workspace-tabs{align-items:center;display:flex;flex:1 1;gap:var(--spacing-sm);position:relative;z-index:100}.workspace-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.workspace-tab.active,.workspace-tab:hover{color:var(--color-text-primary)}.workspace-tab.active{border-bottom-color:var(--color-accent)}.widget{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;position:relative}.widget,.widget-container{display:flex;flex-direction:column;height:100%;min-height:500px;opacity:1;visibility:visible}.widget-header{align-items:center;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:space-between;min-height:44px;padding:var(--spacing-xs) var(--spacing-md)}.widget-title{font-size:var(--font-size-lg);font-weight:700}.close-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-xl);height:24px;justify-content:center;transition:background-color var(--transition-fast);width:24px}.close-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.stock-book-widget{display:flex;flex-direction:column;height:100%;max-height:800px;min-height:500px;overflow:hidden;position:relative}.stock-info{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.stock-info .symbol{font-size:var(--font-size-lg);font-weight:700;margin-right:var(--spacing-xs)}.stock-info .name{color:var(--color-text-secondary);font-size:var(--font-size-sm);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-info .price{font-size:var(--font-size-xl)}.stock-info .change,.stock-info .price{font-weight:700;margin-left:var(--spacing-sm)}.stock-info .change{font-size:var(--font-size-md)}.stock-info .change.positive{color:var(--color-positive)}.stock-info .change.negative{color:var(--color-negative)}.widget-tabs{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;flex-wrap:nowrap;gap:var(--spacing-xs);overflow-x:auto;padding:var(--spacing-xs) var(--spacing-md)}.widget-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast);white-space:nowrap}.widget-tab.active,.widget-tab:hover{color:var(--color-text-primary)}.widget-tab.active{border-bottom-color:var(--color-accent)}.market-summary{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-md)}.market-summary,.summary-row{font-size:var(--font-size-sm)}.summary-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.summary-row span{white-space:nowrap}.summary-row:last-child{margin-bottom:0}.table-container{flex:1 1;min-height:0;overflow-x:auto;overflow-y:auto}.market-summary::-webkit-scrollbar,.table-container::-webkit-scrollbar{height:8px;width:8px}.market-summary::-webkit-scrollbar-track,.table-container::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.market-summary::-webkit-scrollbar-thumb,.table-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.market-summary::-webkit-scrollbar-thumb:hover,.table-container::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.market-summary,.table-container{scrollbar-color:var(--color-border) var(--color-bg-secondary);scrollbar-width:thin}table{border-collapse:collapse;font-size:var(--font-size-sm);table-layout:auto;width:100%}thead{background-color:var(--color-bg-secondary);position:-webkit-sticky;position:sticky;top:0;z-index:1}th{border-bottom:2px solid var(--color-border);color:var(--color-text-secondary);font-weight:700;padding:var(--spacing-sm) var(--spacing-md);text-align:left}td,th{white-space:nowrap}td{border-bottom:1px solid var(--color-border-light);padding:var(--spacing-xs) var(--spacing-md)}tbody tr:hover{background-color:var(--color-surface-hover)}tbody tr:last-child td{border-bottom:none}.bid-price{color:var(--color-positive);font-weight:700}.offer-price{color:var(--color-negative);font-weight:700}.positive{color:var(--color-positive)}.negative{color:var(--color-negative)}.top-buyers-sellers{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr;min-height:100%;padding:var(--spacing-md)}.buyers-section,.sellers-section{display:flex;flex-direction:column;min-height:0}.section-title{border-bottom:2px solid var(--color-border);color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:700;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs)}.buyers-section .section-title{color:var(--color-positive)}.sellers-section .section-title{color:var(--color-negative)}.buyers-section table,.sellers-section table{font-size:var(--font-size-xs);width:100%}.buyers-section td,.buyers-section th,.sellers-section td,.sellers-section th{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}@media (max-width:1200px){.top-buyers-sellers{grid-template-columns:1fr}}.widget-content-wrapper{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;position:relative}.table-container .widget-loading-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:10}.table-container{position:relative}.connection-status-footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);color:var(--color-text-secondary);flex-shrink:0;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-md);position:relative;z-index:100}.connection-status,.connection-status-footer{align-items:center;display:flex;font-size:var(--font-size-sm)}.connection-status{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);bottom:var(--spacing-md);box-shadow:var(--shadow-md);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);position:fixed;right:var(--spacing-md);z-index:1000}.connection-status.connected{color:var(--color-positive)}.connection-status.disconnected{color:var(--color-negative)}.connection-status.unstable{color:orange}.error-message{align-items:center;background-color:var(--color-negative-bg);border:1px solid var(--color-negative);border-radius:var(--radius-md);color:var(--color-negative);display:flex;flex:1 1;justify-content:space-between;margin:var(--spacing-md);padding:var(--spacing-md)}.error-message.network-error{background-color:#ffa5001a;border-color:orange;color:orange}.error-content{align-items:flex-start;display:flex;flex:1 1;gap:var(--spacing-sm)}.error-text-container{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.error-text{font-weight:500}.error-hint{font-size:var(--font-size-xs);font-style:italic;opacity:.8}.error-icon{flex-shrink:0;font-size:var(--font-size-lg)}.error-retry{background-color:var(--color-negative);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;flex-shrink:0;font-weight:700;margin-left:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);transition:opacity var(--transition-fast)}.error-retry:hover{opacity:.8}.error-message.network-error .error-retry{background-color:orange;color:var(--color-bg-primary)}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-height:80vh;max-width:500px;overflow:auto;padding:var(--spacing-lg);width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.modal-search-input{background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);width:100%}.modal-search-input,.modal-symbol-list{border:1px solid var(--color-border);border-radius:var(--radius-md)}.modal-symbol-list{maxHeight:400px;overflowY:auto}.modal-symbol-item{border-bottom:1px solid var(--color-border);cursor:pointer;padding:var(--spacing-md);transition:background-color var(--transition-fast)}.modal-symbol-item:hover{background-color:var(--color-surface-hover)}.symbol-code{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:700}.symbol-name{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.symbol-instrument{color:var(--color-text-muted);font-size:var(--font-size-sm)}.modal-empty-state{color:var(--color-text-secondary);padding:var(--spacing-xl);text-align:center}.api-tooltip{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-size-xs);max-width:500px;padding:var(--spacing-xs) var(--spacing-sm);pointer-events:none;white-space:nowrap;word-break:break-all}.api-tooltip-method{color:var(--color-positive);font-size:var(--font-size-xs);font-weight:700;margin-bottom:var(--spacing-xs)}.api-tooltip-endpoint{color:var(--color-text-primary);font-size:var(--font-size-xs)}.api-tooltip-note{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-style:italic;margin-top:var(--spacing-xs)}.add-stock-btn{background-color:var(--color-positive);border:none;border-radius:var(--radius-md);color:var(--color-bg-primary);cursor:pointer;font-size:var(--font-size-md);font-weight:700;padding:var(--spacing-sm) var(--spacing-md);transition:opacity var(--transition-fast)}.add-stock-btn:hover{opacity:.8}.running-trade-widget{display:flex;flex-direction:column;height:100%;max-height:800px;min-height:500px;overflow:hidden}.trade-table{width:100%}.trade-table tbody tr{transition:background-color var(--transition-fast)}.trade-table tbody tr:hover{background-color:var(--color-surface-hover)}.bento-rail .movers-widget,.bento-rail .orders-widget,.bento-rail .running-trade-widget{min-height:0}.app{background-color:var(--color-bg-primary);display:flex;flex-direction:column;height:100vh;overflow:hidden}.dashboard-grid{flex:1 1;overflow-y:auto;padding:var(--spacing-md)}.dashboard-bento{grid-gap:var(--spacing-md);align-content:stretch;display:grid;flex:1 1;grid-template-areas:"stocks rail";grid-template-columns:80% 1fr;grid-template-rows:minmax(0,1fr);overflow:auto;padding:var(--spacing-sm) var(--spacing-md)}.bento-stocks,.dashboard-bento{gap:var(--spacing-md);min-height:0}.bento-stocks{display:flex;flex-direction:column;grid-area:stocks;min-width:0;overflow-y:auto;padding-right:var(--spacing-xs)}.bento-stocks .widget-container--chart{align-self:stretch;width:100%}.bento-rail{display:flex;flex-direction:column;gap:var(--spacing-md);grid-area:rail;min-height:0;overflow-y:auto;padding-left:var(--spacing-xs)}.rail-section{display:flex;flex:1 1;flex-direction:column;min-height:0}.dashboard-bento>*{opacity:1;visibility:visible}.dashboard-bento .widget-container{contain:layout style;display:flex;flex-direction:column;isolation:isolate;min-height:0;overflow:hidden;position:relative}.dashboard-bento .bento-stocks .widget-container--stock{flex-shrink:0;max-height:720px;min-height:420px;width:100%}.dashboard-bento .widget-container--rail{flex:1 1 auto;max-height:400px;min-height:260px}.dashboard-bento .widget-container--rail .widget{max-height:400px;min-height:240px}.dashboard-bento .widget-container--chart{flex:1 1;max-height:460px;min-height:300px}.dashboard-bento .widget-container--chart .widget{max-height:460px;min-height:280px}@media (max-width:1100px){.dashboard-bento{grid-template-areas:"stocks" "rail";grid-template-columns:1fr;grid-template-rows:auto}.bento-rail{flex-direction:row;flex-wrap:wrap;overflow-x:auto;padding-left:0}.dashboard-bento .widget-container--rail{flex:1 1 320px;min-width:min(100%,360px)}}.workspace-header{align-items:center;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;gap:var(--spacing-md);justify-content:space-between;min-height:36px;padding:0 var(--spacing-md);position:relative;z-index:100}.desk-heading{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-sm);font-weight:600;margin:0}
/*# sourceMappingURL=main.415dc2ab.css.map*/