:root{--bg-dark: #0c0e14;--bg-panel: #131722;--bg-panel-subtle: #171b26;--bg-hover: #1e222d;--border-color: #242834;--text-primary: #e6e8ec;--text-secondary: #848e9c;--text-muted: #5e6673;--green: #0ecb81;--green-glow: rgba(14, 203, 129, .25);--green-depth: rgba(14, 203, 129, .12);--red: #f6465d;--red-glow: rgba(246, 70, 93, .25);--red-depth: rgba(246, 70, 93, .12);--gold: #f0b90b;--blue: #2962ff;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--header-height: 56px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-primary);font-family:var(--font-sans);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}.terminal-container{display:flex;flex-direction:column;height:100vh;width:100vw}.terminal-header{height:var(--header-height);background:var(--bg-panel);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:16px;z-index:50}.header-left{display:flex;align-items:center;gap:20px}.brand-badge{display:flex;align-items:center;gap:8px;font-weight:700;font-size:16px;letter-spacing:.5px}.brand-logo{width:28px;height:28px;background:linear-gradient(135deg,var(--gold),#ff9800);color:#000;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px}.brand-name{color:#fff}.brand-highlight{color:var(--gold);margin-left:2px}.pair-selector-container{position:relative}.pair-badge{background:var(--bg-hover);border:1px solid var(--border-color);color:#fff;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.pair-badge:hover{background:#2b313f;border-color:#3b4253}.pair-arrow{font-size:10px;color:var(--text-secondary)}.pair-dropdown{position:absolute;top:100%;left:0;margin-top:6px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 10px 25px #00000080;min-width:180px;z-index:100;overflow:hidden}.pair-option{padding:10px 14px;font-size:13px;cursor:pointer;transition:background .15s ease}.pair-option:hover{background:var(--bg-hover)}.pair-option.active{color:var(--gold);font-weight:600;background:#f0b90b1a}.ticker-stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-family:var(--font-mono);font-size:13px;font-weight:600}.text-gold{color:var(--gold)}.text-green{color:var(--green)}.text-red{color:var(--red)}.header-right{display:flex;align-items:center;gap:16px}.status-pill{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:20px;border:1px solid transparent}.status-dot{width:7px;height:7px;border-radius:50%}.status-connected{background:#0ecb811a;color:var(--green);border-color:#0ecb814d}.status-connected .status-dot{background:var(--green);box-shadow:0 0 8px var(--green)}.status-disconnected{background:#f6465d1a;color:var(--red);border-color:#f6465d4d}.status-disconnected .status-dot{background:var(--red);box-shadow:0 0 8px var(--red)}.user-badge{display:flex;align-items:center;gap:8px;background:var(--bg-hover);padding:5px 12px;border-radius:6px;border:1px solid var(--border-color);font-size:13px}.user-name{color:var(--gold);font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:2px 4px}.btn-logout:hover{color:var(--red)}.terminal-main{flex:1;display:grid;grid-template-columns:1fr 360px;height:calc(100vh - var(--header-height));background:var(--bg-dark);overflow:hidden}.terminal-center-column{display:flex;flex-direction:column;height:100%;overflow:hidden;border-right:1px solid var(--border-color)}.chart-section{flex:58;min-height:260px;display:flex;flex-direction:column;background:var(--bg-panel);overflow:hidden}.chart-toolbar{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--bg-panel-subtle);border-bottom:1px solid var(--border-color)}.timeframe-buttons{display:flex;gap:4px}.tf-btn{background:none;border:none;color:var(--text-secondary);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.tf-btn:hover{color:#fff;background:var(--bg-hover)}.tf-btn.active{color:var(--gold);background:#f0b90b26}.chart-info{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.chart-wrapper{flex:1;width:100%;height:100%;position:relative}.dock-section{flex:42;min-height:200px;background:var(--bg-panel);border-top:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.dock-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.dock-header{height:38px;background:var(--bg-panel-subtle);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 12px}.dock-tabs{display:flex;gap:6px}.dock-tab{background:none;border:none;color:var(--text-secondary);font-size:12px;font-weight:600;padding:6px 12px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s ease}.dock-tab:hover{color:#fff;background:var(--bg-hover)}.dock-tab.active{color:#fff;background:var(--bg-hover);border-bottom:2px solid var(--gold)}.dock-badge{background:#2b313f;color:var(--text-primary);font-size:10px;font-family:var(--font-mono);padding:1px 6px;border-radius:10px}.dock-badge.active-badge{background:#0ecb8133;color:var(--green);border:1px solid rgba(14,203,129,.4)}.dock-actions{display:flex;align-items:center}.btn-ghost-sm{background:none;border:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;padding:3px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-ghost-sm:hover{color:#fff;border-color:var(--text-secondary)}.dock-body{flex:1;overflow-y:auto}.dock-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center}.empty-icon{font-size:28px;margin-bottom:8px;opacity:.8}.empty-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.empty-desc{font-size:12px;color:var(--text-muted);max-width:400px;line-height:1.4}.positions-table-wrapper{width:100%;overflow-x:auto}.terminal-table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.terminal-table thead{position:sticky;top:0;background:var(--bg-panel);z-index:10;border-bottom:1px solid var(--border-color)}.terminal-table th{padding:8px 12px;font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.terminal-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap}.terminal-table tr:hover{background:var(--bg-hover)}.badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:700;text-transform:uppercase}.badge-buy{background:#0ecb8126;color:var(--green);border:1px solid rgba(14,203,129,.3)}.badge-sell{background:#f6465d26;color:var(--red);border:1px solid rgba(246,70,93,.3)}.status-tag{font-size:11px;font-weight:600}.status-open{color:var(--gold)}.status-partially_filled{color:#3b82f6}.status-filled{color:var(--green)}.status-cancelled{color:var(--text-muted)}.fill-bar-wrapper{display:inline-flex;align-items:center;gap:4px}.fill-pct{color:var(--text-muted);font-size:11px}.btn-cancel-order{background:#f6465d26;border:1px solid rgba(246,70,93,.3);color:var(--red);font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-cancel-order:hover:not(:disabled){background:var(--red);color:#fff}.btn-cancel-order:disabled{opacity:.5;cursor:not-allowed}.btn-close-pos{background:#eab30826;border:1px solid rgba(234,179,8,.4);color:#eab308;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-close-pos:hover:not(:disabled){background:#eab308;color:#0b0e14}.btn-close-pos:disabled{opacity:.5;cursor:not-allowed}.btn-danger-sm{background:#f6465d26;border:1px solid rgba(246,70,93,.3);color:var(--red);font-size:11px;font-weight:600;padding:4px 10px;border-radius:4px;cursor:pointer;transition:all .15s ease}.btn-danger-sm:hover:not(:disabled){background:var(--red);color:#fff}.btn-danger-sm:disabled{opacity:.5;cursor:not-allowed}.sidebar-section{display:flex;flex-direction:column;height:100%;background:var(--bg-panel);overflow-y:auto}.panel{display:flex;flex-direction:column;border-bottom:1px solid var(--border-color);overflow:hidden}.order-form-panel{border-bottom:1px solid var(--border-color);background:var(--bg-panel)}.order-form-content{padding:12px;display:flex;flex-direction:column;gap:10px}.order-side-tabs{display:flex;background:var(--bg-panel-subtle);border-radius:6px;padding:3px;border:1px solid var(--border-color)}.side-tab{flex:1;padding:7px;border:none;background:none;color:var(--text-secondary);font-weight:600;font-size:12px;border-radius:4px;cursor:pointer;transition:all .2s ease}.side-tab.active-buy{background:var(--green);color:#000;box-shadow:0 2px 8px var(--green-glow)}.side-tab.active-sell{background:var(--red);color:#fff;box-shadow:0 2px 8px var(--red-glow)}.order-type-tabs{display:flex;gap:6px}.type-tab{flex:1;background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:5px;font-size:11px;font-weight:600;border-radius:4px;cursor:pointer;transition:all .15s ease}.type-tab:hover{color:#fff;border-color:var(--text-secondary)}.type-tab.active{background:var(--bg-hover);color:var(--gold);border-color:var(--gold)}.order-form{display:flex;flex-direction:column;gap:10px}.input-header{display:flex;justify-content:space-between;align-items:center}.input-hint{font-size:10px;color:var(--text-muted);font-family:var(--font-mono)}.input-with-addons{position:relative;display:flex;align-items:center}.input-with-addons input{width:100%;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:6px;padding:8px 36px 8px 24px;color:#fff;font-family:var(--font-mono);font-size:13px;font-weight:500;outline:none;transition:border-color .2s ease}.input-with-addons input:focus{border-color:var(--gold)}.input-prefix{position:absolute;left:10px;color:var(--text-muted);font-size:12px;font-family:var(--font-mono);pointer-events:none}.input-suffix{position:absolute;right:10px;color:var(--text-muted);font-size:11px;font-family:var(--font-mono);font-weight:600;pointer-events:none}.qty-shortcuts{display:flex;gap:4px}.qty-chip{flex:1;background:var(--bg-panel-subtle);border:1px solid var(--border-color);color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);padding:3px 0;border-radius:4px;cursor:pointer;transition:all .15s ease}.qty-chip:hover{background:var(--bg-hover);color:#fff;border-color:var(--gold)}.order-summary-box{background:var(--bg-panel-subtle);border:1px solid var(--border-color);border-radius:6px;padding:8px 10px}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-secondary)}.summary-value{font-family:var(--font-mono);font-weight:600;color:var(--text-primary);font-size:12px}.btn-buy-action{background:var(--green);color:#000;font-weight:700;padding:10px;border-radius:6px;border:none;cursor:pointer;font-size:13px;box-shadow:0 4px 12px var(--green-glow);transition:all .2s ease}.btn-buy-action:hover:not(:disabled){background:#11e08f;box-shadow:0 4px 16px #0ecb8166}.btn-sell-action{background:var(--red);color:#fff;font-weight:700;padding:10px;border-radius:6px;border:none;cursor:pointer;font-size:13px;box-shadow:0 4px 12px var(--red-glow);transition:all .2s ease}.btn-sell-action:hover:not(:disabled){background:#ff546b;box-shadow:0 4px 16px #f6465d66}.btn-disabled{opacity:.5;cursor:not-allowed!important;box-shadow:none!important}.order-feedback{padding:8px 10px;border-radius:6px;font-size:11px;text-align:center}.order-feedback.success{background:#0ecb8126;color:var(--green);border:1px solid rgba(14,203,129,.3)}.order-feedback.error{background:#f6465d26;color:var(--red);border:1px solid rgba(246,70,93,.3)}.orderbook-panel{min-height:260px}.trades-panel{min-height:220px}.panel:last-child{border-bottom:none}.panel-header{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--bg-panel-subtle);border-bottom:1px solid var(--border-color)}.panel-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.panel-subtitle{font-size:10px;color:var(--text-muted);font-weight:400}.spread-tag{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.orderbook-table-header{display:grid;grid-template-columns:1fr 1fr 1fr;padding:6px 12px;font-size:11px;color:var(--text-muted);font-weight:600;border-bottom:1px solid rgba(255,255,255,.04)}.text-right{text-align:right}.orderbook-rows{flex:1;display:flex;flex-direction:column;overflow:hidden}.orderbook-row{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;padding:3px 12px;font-family:var(--font-mono);font-size:11px;line-height:1.4;cursor:pointer}.orderbook-row:hover{background:var(--bg-hover)}.depth-bar{position:absolute;top:0;bottom:0;right:0;pointer-events:none;z-index:1}.ask-row .depth-bar{background:var(--red-depth)}.bid-row .depth-bar{background:var(--green-depth)}.ask-price{color:var(--red);font-weight:500;z-index:2}.bid-price{color:var(--green);font-weight:500;z-index:2}.row-qty,.row-total{color:var(--text-primary);z-index:2}.orderbook-mid-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-panel-subtle);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.mid-price-value{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--gold)}.mid-price-label{font-size:11px;color:var(--text-muted)}.trades-table-header{display:grid;grid-template-columns:1fr 1.2fr 1fr;padding:6px 12px;font-size:11px;color:var(--text-muted);font-weight:600;border-bottom:1px solid rgba(255,255,255,.04)}.trades-rows{flex:1;display:flex;flex-direction:column;overflow-y:auto}.trade-row{display:grid;grid-template-columns:1fr 1.2fr 1fr;padding:3px 12px;font-family:var(--font-mono);font-size:11px;line-height:1.4}.trade-row:hover{background:var(--bg-hover)}.trade-time{color:var(--text-muted)}.trade-buy{color:var(--green)}.trade-sell{color:var(--red)}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:11px;font-style:italic;padding:12px}.btn{padding:8px 16px;border-radius:6px;border:none;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,var(--gold),#e0a800);color:#000}.btn-primary:hover{background:linear-gradient(135deg,#ffd026,#f0b90b);box-shadow:0 4px 12px #f0b90b4d}.btn-block{width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;transition:opacity .2s ease}.modal-card{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;width:420px;max-width:90vw;box-shadow:0 20px 40px #0009;overflow:hidden}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:15px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer}.modal-close:hover{color:#fff}.modal-body{padding:20px}.modal-tabs{display:flex;background:var(--bg-panel-subtle);border-radius:6px;padding:3px;margin-bottom:20px;border:1px solid var(--border-color)}.modal-tab{flex:1;background:none;border:none;padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:all .2s ease}.modal-tab.active{background:var(--bg-hover);color:#fff}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;color:var(--text-secondary)}.form-group input{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:6px;padding:10px 12px;color:#fff;font-family:var(--font-sans);font-size:13px;outline:none;transition:border-color .2s ease}.form-group input:focus{border-color:var(--gold)}.auth-feedback{margin-top:14px;padding:10px 12px;border-radius:6px;font-size:12px}.auth-feedback.success{background:#0ecb811a;color:var(--green);border:1px solid rgba(14,203,129,.3)}.auth-feedback.error{background:#f6465d1a;color:var(--red);border:1px solid rgba(246,70,93,.3)}.hidden{display:none!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-panel)}::-webkit-scrollbar-thumb{background:#2b313f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3e4659}
