:root{--color-bg-primary:#1a1a2e;--color-bg-secondary:#16213e;--color-bg-tertiary:#0f1419;--color-surface:#1e293b;--color-surface-hover:#334155;--color-text-primary:#fff;--color-text-secondary:#b0b0b0;--color-text-muted:#64748b;--color-positive:#0f0;--color-positive-bg:#00ff001a;--color-negative:#ff6b6b;--color-negative-bg:#ff6b6b1a;--color-neutral:#fff;--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 #0000004d;--shadow-md:0 4px 6px #0000004d;--shadow-lg:0 10px 15px #0000004d;--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:50px;padding:var(--spacing-sm) var(--spacing-md)}.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-wrap:wrap;gap:var(--spacing-md)}.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-positive)}.widget{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);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-positive)}.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)}.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-grid-simple{grid-gap:var(--spacing-md);align-content:start;background-color:var(--color-bg-primary);display:grid;flex:1 1;gap:var(--spacing-md);grid-auto-rows:minmax(500px,auto);grid-template-columns:repeat(auto-fit,minmax(500px,1fr));overflow-x:hidden;overflow-y:auto;padding:var(--spacing-sm) var(--spacing-md);position:relative}.dashboard-grid-simple>*{opacity:1;visibility:visible}.dashboard-grid-simple .widget-container{contain:layout style;display:flex;flex-direction:column;isolation:isolate;max-height:800px;min-height:500px;overflow:hidden;position:relative}.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}
/*# sourceMappingURL=main.d77b5183.css.map*/