.login-wrap[data-v-466fbee2]{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box[data-v-466fbee2]{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:32px;width:340px;display:flex;flex-direction:column;gap:14px}.login-box h2[data-v-466fbee2]{margin:0;font-size:20px;color:#f8fafc}.login-sub[data-v-466fbee2]{font-size:13px;color:#64748b;margin:0 0 4px}.login-box input[data-v-466fbee2]{padding:10px 12px;border:1px solid #334155;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:14px;outline:none;transition:border-color .15s}.login-box input[data-v-466fbee2]:focus{border-color:#3b82f6}.login-box button[data-v-466fbee2]{padding:10px;border:none;border-radius:6px;background:#3b82f6;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.login-box button[data-v-466fbee2]:hover{background:#2563eb}.login-box button[data-v-466fbee2]:disabled{opacity:.6;cursor:not-allowed}.login-error[data-v-466fbee2]{color:#ef4444;font-size:13px;margin:0;text-align:center}.settings[data-v-770d6080]{display:flex;flex-direction:column;gap:24px}.card[data-v-770d6080]{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:20px}.card h3[data-v-770d6080]{margin:0 0 8px;font-size:16px;color:#f8fafc}.hint[data-v-770d6080]{font-size:13px;color:#64748b;margin:0 0 16px}.token-form[data-v-770d6080]{display:flex;gap:8px}.schedule-form[data-v-770d6080]{display:flex;flex-direction:column;gap:12px}.sched-row[data-v-770d6080]{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.sched-times[data-v-770d6080]{display:flex;gap:12px;align-items:center}.sched-times label[data-v-770d6080]{display:flex;align-items:center;gap:6px;font-size:13px;color:#94a3b8}.sched-note[data-v-770d6080]{font-size:12px;color:#64748b}.ctrl-input.wide[data-v-770d6080]{flex:1}.ctrl-input[data-v-770d6080]{padding:8px 10px;border:1px solid #334155;border-radius:6px;background:#0f172a;color:#e2e8f0;font-size:14px;outline:none}.ctrl-input[data-v-770d6080]:focus{border-color:#3b82f6}.ctrl-checkbox[data-v-770d6080]{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer}.token-table[data-v-770d6080]{width:auto;font-size:13px}.token-table td[data-v-770d6080],.token-table th[data-v-770d6080]{padding:8px 16px 8px 0;text-align:left}.badge-on[data-v-770d6080]{color:#22c55e;font-weight:600}.badge-off[data-v-770d6080]{color:#64748b}.time[data-v-770d6080]{color:#94a3b8;font-size:12px}.btn-sm[data-v-770d6080]{padding:4px 10px;border:none;border-radius:4px;font-size:12px;cursor:pointer}.btn-danger[data-v-770d6080]{background:#7f1d1d;color:#fca5a5}.btn-danger[data-v-770d6080]:hover{background:#991b1b}.msg-ok[data-v-770d6080]{color:#22c55e;font-size:13px;margin:8px 0 0}.msg-err[data-v-770d6080]{color:#ef4444;font-size:13px;margin:8px 0 0}.loading[data-v-770d6080],.empty[data-v-770d6080]{font-size:14px;color:#64748b;padding:16px 0}button[data-v-770d6080]{padding:8px 16px;border:none;border-radius:6px;background:#3b82f6;color:#fff;font-size:14px;cursor:pointer}button[data-v-770d6080]:hover{background:#2563eb}button[data-v-770d6080]:disabled{opacity:.5;cursor:not-allowed}.market-data[data-v-d233d7cd]{display:flex;flex-direction:column;gap:16px}.header-row[data-v-d233d7cd]{display:flex;align-items:center;gap:12px}.header-row h2[data-v-d233d7cd]{margin:0}.card-header[data-v-d233d7cd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-header h3[data-v-d233d7cd]{margin:0}.card[data-v-d233d7cd]{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:20px}.card h3[data-v-d233d7cd]{margin:0 0 12px;font-size:16px;color:#f8fafc}.hint[data-v-d233d7cd]{font-size:13px;color:#64748b;margin:0 0 16px}.tabs[data-v-d233d7cd]{display:flex;gap:4px;margin-bottom:4px}.tabs button[data-v-d233d7cd]{padding:8px 20px;border:1px solid #334155;border-radius:8px 8px 0 0;background:#1e293b;color:#94a3b8;cursor:pointer;font-size:14px}.tabs button.tab-active[data-v-d233d7cd]{color:#f8fafc;border-bottom-color:#1e293b}.search-form[data-v-d233d7cd]{display:flex;gap:8px;margin-bottom:16px}.search-form .ctrl-input.wide[data-v-d233d7cd]{flex:1}.search-results[data-v-d233d7cd]{max-height:500px;overflow-y:auto}.sse-badge[data-v-d233d7cd]{font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px}.sse-on[data-v-d233d7cd]{color:#22c55e;background:#052e16}.sse-off[data-v-d233d7cd]{color:#94a3b8;background:#1e293b}.data-table[data-v-d233d7cd]{width:100%;font-size:13px;border-collapse:collapse}.data-table th[data-v-d233d7cd]{text-align:left;padding:6px 8px;color:#94a3b8;border-bottom:1px solid #334155;font-weight:600}.data-table td[data-v-d233d7cd]{padding:6px 8px;border-bottom:1px solid #1e293b}.data-table tbody tr[data-v-d233d7cd]{cursor:pointer;transition:background .1s}.data-table tbody tr[data-v-d233d7cd]:hover{background:#0f172a}.data-table tbody tr.row-selected[data-v-d233d7cd]{background:#1e3a5f}.ticker[data-v-d233d7cd]{font-weight:600;color:#f8fafc}.name-col[data-v-d233d7cd]{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono[data-v-d233d7cd]{font-family:monospace;font-variant-numeric:tabular-nums}.val[data-v-d233d7cd]{font-variant-numeric:tabular-nums}.time[data-v-d233d7cd]{color:#94a3b8;font-size:12px}.bid[data-v-d233d7cd]{color:#22c55e}.ask[data-v-d233d7cd]{color:#ef4444}.trades-scroll[data-v-d233d7cd]{max-height:400px;overflow-y:auto}.dir-buy[data-v-d233d7cd]{color:#22c55e;font-weight:700}.dir-sell[data-v-d233d7cd]{color:#ef4444;font-weight:700}.ob-trades-row[data-v-d233d7cd]{display:flex;gap:12px;margin-bottom:12px}.ob-trades-row .card[data-v-d233d7cd]{margin:0}.ob-card[data-v-d233d7cd]{flex:0 0 320px;padding:16px;height:fit-content}.trades-card[data-v-d233d7cd]{flex:1;min-width:0;padding:16px;height:fit-content;max-height:500px}.trades-card .card-header[data-v-d233d7cd]{margin-bottom:8px}.ob-header[data-v-d233d7cd]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ob-header strong[data-v-d233d7cd]{font-size:15px;color:#f8fafc}.last-price[data-v-d233d7cd]{font-weight:700;font-size:16px;color:#f8fafc;font-variant-numeric:tabular-nums}.ob-vertical[data-v-d233d7cd]{display:flex;flex-direction:column;gap:2px}.ob-section h4[data-v-d233d7cd]{margin:0 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:1px}.ask-label[data-v-d233d7cd]{color:#ef4444}.bid-label[data-v-d233d7cd]{color:#22c55e}.ob-divider[data-v-d233d7cd]{height:1px;background:#334155;margin:4px 0}.level[data-v-d233d7cd]{display:flex;justify-content:space-between;padding:1px 0;font-size:12px;font-variant-numeric:tabular-nums}.level .price[data-v-d233d7cd]{font-weight:500}.level .qty[data-v-d233d7cd]{color:#94a3b8}.btn-sm[data-v-d233d7cd]{padding:4px 10px;border:none;border-radius:4px;font-size:12px;cursor:pointer}.btn-danger[data-v-d233d7cd]{background:#7f1d1d;color:#fca5a5}.btn-danger[data-v-d233d7cd]:hover{background:#991b1b}.btn-add[data-v-d233d7cd]{background:#14532d;color:#86efac}.btn-add[data-v-d233d7cd]:hover{background:#166534}.btn-refresh[data-v-d233d7cd]{background:#3b82f6;color:#fff}.btn-refresh[data-v-d233d7cd]:hover{background:#2563eb}.msg-ok[data-v-d233d7cd]{color:#22c55e;font-size:13px}.msg-err[data-v-d233d7cd]{color:#ef4444;font-size:13px}.loading[data-v-d233d7cd],.empty[data-v-d233d7cd]{font-size:14px;color:#64748b;padding:12px 0}.btn-logout[data-v-261ec41d]{padding:6px 12px;border:1px solid #475569;border-radius:6px;background:transparent;color:#94a3b8;font-size:13px;cursor:pointer;transition:all .15s}.btn-logout[data-v-261ec41d]:hover{border-color:#ef4444;color:#ef4444}.nav-tabs[data-v-261ec41d]{display:flex;gap:4px}.nav-tabs button[data-v-261ec41d]{padding:6px 16px;border:1px solid #334155;border-radius:6px;background:transparent;color:#94a3b8;font-size:13px;cursor:pointer;transition:all .15s}.nav-tabs button[data-v-261ec41d]:hover{border-color:#3b82f6;color:#e2e8f0}.nav-tabs button.nav-active[data-v-261ec41d]{background:#3b82f6;border-color:#3b82f6;color:#fff}.header-right[data-v-261ec41d]{display:flex;align-items:center;gap:12px}.username[data-v-261ec41d]{font-size:13px;color:#64748b}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0f172a;color:#e2e8f0;min-height:100vh}#app{max-width:1400px;margin:0 auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}h1{font-size:24px;font-weight:700;color:#f8fafc}.controls{display:flex;align-items:center;gap:8px}.controls label{font-size:14px;color:#94a3b8}.controls select{padding:6px 12px;border:1px solid #334155;border-radius:6px;background:#1e293b;color:#e2e8f0;font-size:14px;cursor:pointer}.ctrl-input{padding:6px 10px;border:1px solid #334155;border-radius:6px;background:#1e293b;color:#e2e8f0;font-size:14px;width:130px}.ctrl-input::placeholder{color:#475569}.controls button{padding:6px 16px;border:none;border-radius:6px;background:#3b82f6;color:#fff;font-size:14px;cursor:pointer;transition:background .15s}.controls button:hover{background:#2563eb}.controls button:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:13px}thead th{background:#1e293b;padding:10px 8px;text-align:left;font-weight:600;color:#94a3b8;border-bottom:2px solid #334155;white-space:nowrap}thead th:first-child{border-radius:8px 0 0}thead th:last-child{border-radius:0 8px 0 0}.subheader th{font-size:11px;font-weight:500;color:#64748b;padding:6px 8px;border-bottom:1px solid #334155}tbody tr{border-bottom:1px solid #1e293b;transition:background .1s}tbody tr:hover{background:#1e293b}tbody td{padding:8px;vertical-align:middle;white-space:nowrap}.val{font-variant-numeric:tabular-nums}.delta{font-variant-numeric:tabular-nums;font-weight:500;min-width:70px}.delta.pos{color:#22c55e}.delta.neg{color:#ef4444}.delta.zero{color:#475569}.copy-col{width:32px}.copy-cell{padding:0 4px!important;text-align:center}.copy-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:4px 6px;border-radius:4px;transition:background .1s;line-height:1}.copy-btn:hover{background:#334155}.copy-btn.copied{color:#22c55e}.ticker{font-weight:600;color:#f8fafc}.time{color:#94a3b8;font-size:12px}.loading,.error,.empty{text-align:center;padding:48px;font-size:16px;color:#64748b}.error{color:#ef4444}.last-update{font-size:12px;color:#64748b}
