:root { --term-bg: #0b0e11; --term-surface: #161a1e; --term-border: #2b3139; --term-text: #eaecef; --term-muted: #848e9c; --term-primary: #0062ff; --term-success: #26a69a; --term-danger: #ef5350; --header-height: 50px; --sidebar-width: 260px; --orderbook-width: 280px; } .terminal-container { display: flex; flex-direction: column; height: calc(100vh - 70px); background: var(--term-bg); color: var(--term-text); overflow: hidden; } .terminal-top-nav { height: var(--header-height); background: var(--term-surface); border-bottom: 1px solid var(--term-border); display: flex; align-items: center; padding: 0; } .terminal-tab { padding: 0 24px; height: 100%; display: flex; align-items: center; color: var(--term-muted); text-decoration: none !important; font-weight: 600; font-size: 14px; border-right: 1px solid var(--term-border); transition: all 0.2s; } .terminal-tab:hover { color: var(--term-text); background: rgba(255,255,255,0.05); } .terminal-tab.active { background: var(--term-bg); color: var(--term-primary); border-bottom: 2px solid var(--term-primary); } .terminal-main { display: flex; flex: 1; overflow: hidden; } .terminal-sidebar { width: var(--sidebar-width); border-right: 1px solid var(--term-border); display: flex; flex-direction: column; background: var(--term-surface); } .sidebar-search { padding: 12px; border-bottom: 1px solid var(--term-border); } .sidebar-search input { background: #2b3139; border: none; color: #fff; width: 100%; padding: 8px 12px; border-radius: 4px; font-size: 13px; outline: none; } .coin-list-container { flex: 1; overflow-y: auto; } .coin-row { display: flex; justify-content: space-between; padding: 10px 12px; cursor: pointer; border-bottom: 1px solid rgba(255,255,255,0.02); transition: background 0.2s; } .coin-row:hover { background: rgba(255,255,255,0.05); } .coin-row .coin-info { display: flex; align-items: center; gap: 8px; } .coin-row img { width: 18px; height: 18px; } .coin-row .symbol { font-weight: 600; font-size: 13px; } .coin-row .price { font-size: 13px; text-align: right; font-family: monospace; } .coin-row .change { font-size: 11px; display: block; } .terminal-content { flex: 1; display: flex; flex-direction: column; overflow: hidden; background: var(--term-bg); } .content-header { height: 60px; display: flex; align-items: center; padding: 0 16px; border-bottom: 1px solid var(--term-border); gap: 24px; } .header-pair { font-size: 20px; font-weight: 700; } .header-stat { display: flex; flex-direction: column; } .header-stat label { font-size: 11px; color: var(--term-muted); } .header-stat span { font-size: 13px; font-weight: 600; } .kline-container { flex: 2; background: #000; position: relative; border-bottom: 1px solid var(--term-border); } .trading-panels { height: 280px; display: flex; border-bottom: 1px solid var(--term-border); } .order-form-container { flex: 1; padding: 16px; border-right: 1px solid var(--term-border); } .order-form-tabs { display: flex; gap: 16px; margin-bottom: 16px; } .order-form-tabs button { background: none; border: none; color: var(--term-muted); font-weight: 600; font-size: 14px; padding-bottom: 4px; } .order-form-tabs button.active { color: var(--term-text); border-bottom: 2px solid var(--term-primary); } .input-group-custom { margin-bottom: 12px; } .input-group-custom label { display: block; font-size: 11px; color: var(--term-muted); margin-bottom: 4px; } .input-wrapper { background: #2b3139; border-radius: 4px; display: flex; align-items: center; padding: 0 10px; } .input-wrapper input { background: transparent; border: none; color: #fff; width: 100%; padding: 8px 0; outline: none; font-size: 14px; } .input-wrapper .suffix { font-size: 12px; color: var(--term-muted); } .order-history { flex: 1; overflow-y: auto; } .terminal-right-sidebar { width: var(--orderbook-width); border-left: 1px solid var(--term-border); display: flex; flex-direction: column; background: var(--term-surface); } .order-book { flex: 1; display: flex; flex-direction: column; font-size: 12px; } .ob-header { padding: 8px 12px; display: flex; justify-content: space-between; color: var(--term-muted); border-bottom: 1px solid var(--term-border); } .ob-list { flex: 1; overflow: hidden; } .ob-row { display: flex; justify-content: space-between; padding: 2px 12px; position: relative; z-index: 1; } .ob-row .price { width: 40%; } .ob-row .amount { width: 30%; text-align: right; } .ob-row .total { width: 30%; text-align: right; } .asks .price { color: var(--term-danger); } .bids .price { color: var(--term-success); } .ob-row-bg { position: absolute; top: 0; right: 0; bottom: 0; z-index: -1; opacity: 0.15; } .asks .ob-row-bg { background: var(--term-danger); } .bids .ob-row-bg { background: var(--term-success); } .ob-mid-price { padding: 10px 12px; background: rgba(255,255,255,0.02); display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--term-border); border-bottom: 1px solid var(--term-border); } .ob-mid-price .val { font-size: 18px; font-weight: 700; } .btn-buy { background: var(--term-success); border: none; color: #fff; width: 100%; padding: 10px; border-radius: 4px; font-weight: 700; margin-top: 10px; } .btn-sell { background: var(--term-danger); border: none; color: #fff; width: 100%; padding: 10px; border-radius: 4px; font-weight: 700; margin-top: 10px; }