:root{--bg-body:#06081a;--bg-surface:#0f193ccc;--bg-surface-hover:#142350e6;--bg-glass:#ffffff0a;--bg-glass-hover:#ffffff14;--bg-input:#ffffff0f;--accent:#00d4ff;--accent-dim:#00d4ff26;--accent-glow:0 0 20px #00d4ff4d;--profit:#00ff87;--profit-dim:#00ff871f;--loss:#ff4757;--loss-dim:#ff47571f;--warning:#ffa502;--warning-dim:#ffa5021f;--neutral:#a0aec0;--text-primary:#e8ecf4;--text-secondary:#8b95a8;--text-muted:#5a6478;--border:#ffffff14;--border-hover:#ffffff29;--border-accent:#00d4ff4d;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-card:0 4px 24px #0000004d;--shadow-glow:0 0 30px #00d4ff14;--font-sans:"Inter", -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:14px}body{font-family:var(--font-sans);background:var(--bg-body);color:var(--text-primary);min-height:100vh;overflow-x:hidden}a{color:var(--accent);text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select{outline:none;font-family:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.mono{font-family:var(--font-mono)}.text-profit{color:var(--profit)!important}.text-loss{color:var(--loss)!important}.text-warning{color:var(--warning)!important}.text-muted{color:var(--text-muted)!important}.text-secondary{color:var(--text-secondary)!important}.hidden{display:none!important}@keyframes pulse-green{0%,to{box-shadow:0 0 #00ff8780}50%{box-shadow:0 0 0 6px #00ff8700}}@keyframes pulse-red{0%,to{box-shadow:0 0 #ff475780}50%{box-shadow:0 0 0 6px #ff475700}}@keyframes blink-border{0%,to{border-color:var(--loss)}50%{border-color:#0000}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow-pulse{0%,to{opacity:.6}50%{opacity:1}}.animate-fade-in{animation:.3s forwards fadeInUp}.animate-slide-in{animation:.25s forwards slideIn}.login-page{background:var(--bg-body);background-image:radial-gradient(at 20%,#00d4ff0f 0%,#0000 60%),radial-gradient(at 80% 20%,#00ff870a 0%,#0000 50%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);width:400px;max-width:92vw;box-shadow:var(--shadow-card), var(--shadow-glow);padding:48px 40px;animation:.5s fadeInUp}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{background:linear-gradient(135deg, var(--accent), var(--profit));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.login-logo p{color:var(--text-muted);margin-top:6px;font-size:13px}.login-field{margin-bottom:20px}.login-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.login-field input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:44px;color:var(--text-primary);transition:border-color var(--transition-fast);padding:0 16px;font-size:14px}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.login-btn{background:linear-gradient(135deg, var(--accent), #09c);color:#fff;border-radius:var(--radius-sm);width:100%;height:46px;transition:all var(--transition-fast);letter-spacing:.3px;margin-top:8px;font-size:15px;font-weight:700}.login-btn:hover{box-shadow:var(--accent-glow);transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-btn:disabled{opacity:.5;pointer-events:none}.login-error{background:var(--loss-dim);border-radius:var(--radius-sm);color:var(--loss);text-align:center;border:1px solid #ff47574d;margin-top:16px;padding:10px 14px;font-size:13px}.dashboard{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{background:var(--bg-surface);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.header-brand{align-items:center;gap:12px;display:flex}.header-brand .logo-icon{background:linear-gradient(135deg, var(--accent), var(--profit));color:#06081a;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:900;display:flex}.header-brand h1{background:linear-gradient(90deg, var(--text-primary), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:700}.header-status{color:var(--text-secondary);align-items:center;gap:20px;font-size:13px;display:flex}.header-status .stat{align-items:center;gap:6px;display:flex}.header-status .stat .dot{border-radius:50%;width:8px;height:8px}.header-status .dot-online{background:var(--profit);animation:2s infinite pulse-green}.header-status .dot-offline{background:var(--loss)}.header-user{align-items:center;gap:12px;display:flex}.header-user .user-badge{background:var(--accent-dim);border:1px solid var(--border-accent);color:var(--accent);border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600}.header-user .logout-btn{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);padding:6px 14px;font-size:12px}.header-user .logout-btn:hover{background:var(--loss-dim);color:var(--loss);border-color:#ff47574d}.kpi-row{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 24px 0;display:grid}.kpi-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition-normal);padding:20px;position:relative;overflow:hidden}.kpi-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:0;height:2px;transition:opacity var(--transition-normal);position:absolute;top:0;left:0;right:0}.kpi-card:hover{border-color:var(--border-hover)}.kpi-card:hover:before{opacity:1}.kpi-card .kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:600}.kpi-card .kpi-value{font-family:var(--font-mono);letter-spacing:-.5px;transition:color var(--transition-fast);font-size:28px;font-weight:700}.kpi-card .kpi-icon{opacity:.5;font-size:20px;position:absolute;top:16px;right:16px}.main-content{flex:1;gap:16px;min-height:0;padding:20px 24px;display:flex;overflow:hidden}.panel-left{flex-direction:column;flex-shrink:0;gap:12px;width:420px;display:flex}.panel-toolbar{flex-shrink:0;align-items:center;gap:8px;display:flex}.panel-toolbar .search-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);height:36px;color:var(--text-primary);transition:border-color var(--transition-fast);flex:1;padding:0 12px;font-size:13px}.panel-toolbar .search-input:focus{border-color:var(--accent)}.panel-toolbar .search-input::placeholder{color:var(--text-muted)}.panel-toolbar .filter-btn{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);height:36px;color:var(--text-secondary);transition:all var(--transition-fast);white-space:nowrap;padding:0 12px;font-size:12px;font-weight:500}.panel-toolbar .filter-btn:hover{background:var(--bg-glass-hover)}.panel-toolbar .filter-btn.active{background:var(--accent-dim);color:var(--accent);border-color:var(--border-accent)}.account-list{flex-direction:column;flex:1;gap:8px;padding-right:4px;display:flex;overflow-y:auto}.account-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);padding:16px;animation:.3s fadeInUp}.account-card:hover{border-color:var(--border-hover);background:var(--bg-surface-hover);transform:translateY(-1px)}.account-card.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 16px #00d4ff1a}.account-card.alert{border-color:var(--loss);animation:1.5s infinite blink-border}.account-card .card-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.account-card .card-account{font-family:var(--font-mono);color:var(--text-primary);font-size:14px;font-weight:700}.account-card .card-status{border-radius:50%;width:8px;height:8px}.card-status.online{background:var(--profit);animation:2s infinite pulse-green}.card-status.stale{background:var(--warning)}.card-status.offline{background:var(--loss)}.account-card .card-metrics{grid-template-columns:1fr 1fr 1fr;gap:4px;margin-bottom:12px;display:grid}.card-metric .metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.card-metric .metric-value{font-family:var(--font-mono);margin-top:2px;font-size:15px;font-weight:700}.account-card .card-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.order-tag{font-size:11px;font-weight:600;font-family:var(--font-mono);border-radius:4px;padding:2px 8px}.order-tag.buy{background:var(--profit-dim);color:var(--profit)}.order-tag.sell{background:var(--loss-dim);color:var(--loss)}.card-quick-actions{gap:4px;margin-left:auto;display:flex}.quick-btn{background:var(--bg-glass);border:1px solid var(--border);color:var(--text-secondary);transition:all var(--transition-fast);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:600}.quick-btn:hover{background:var(--bg-glass-hover)}.quick-btn.danger{color:var(--loss);border-color:#ff475733}.quick-btn.danger:hover{background:var(--loss-dim)}.panel-right{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex;overflow:hidden}.panel-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.panel-section-header{border-bottom:1px solid var(--border);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;justify-content:space-between;align-items:center;padding:14px 18px;font-size:13px;font-weight:700;display:flex}.position-table-wrap{flex:1;min-height:0;overflow-y:auto}.position-table{border-collapse:collapse;width:100%;font-size:12px}.position-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);background:var(--bg-surface);padding:10px 14px;font-weight:600;position:sticky;top:0}.position-table td{font-family:var(--font-mono);transition:background var(--transition-fast);border-bottom:1px solid #ffffff08;padding:10px 14px;font-size:12px}.position-table tr:hover td{background:var(--bg-glass)}.position-table .close-pos-btn{background:var(--loss-dim);color:var(--loss);cursor:pointer;transition:all var(--transition-fast);border:1px solid #ff475733;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600}.position-table .close-pos-btn:hover{border-color:var(--loss);background:#ff475740}.control-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 18px;display:grid}.ctrl-btn{border-radius:var(--radius-sm);text-align:center;transition:all var(--transition-fast);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.3px;padding:12px 8px;font-size:12px;font-weight:700}.ctrl-btn:hover{transform:translateY(-1px)}.ctrl-btn:active{transform:translateY(0)}.ctrl-btn:disabled{opacity:.3;pointer-events:none}.ctrl-btn.close-buy{background:var(--profit-dim);color:var(--profit);border-color:#00ff8733}.ctrl-btn.close-buy:hover{background:#00ff8733;box-shadow:0 0 12px #00ff8726}.ctrl-btn.close-sell{background:var(--loss-dim);color:var(--loss);border-color:#ff475733}.ctrl-btn.close-sell:hover{background:#ff475733;box-shadow:0 0 12px #ff475726}.ctrl-btn.close-all{color:var(--loss);background:linear-gradient(135deg,#ff475726,#ff475740);border-color:#ff47574d}.ctrl-btn.close-all:hover{background:#ff47574d;box-shadow:0 0 16px #ff475733}.ctrl-btn.pending{background:var(--warning-dim);color:var(--warning);border-color:#ffa50233}.ctrl-btn.pending:hover{background:#ffa50233}.ctrl-btn.pause{background:var(--warning-dim);color:var(--warning);border-color:#ffa50233}.ctrl-btn.pause:hover{background:#ffa50233}.ctrl-btn.resume{background:var(--profit-dim);color:var(--profit);border-color:#00ff8733}.ctrl-btn.resume:hover{background:#00ff8733}.symbol-close-row{gap:8px;padding:0 18px 16px;display:flex}.symbol-select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);height:36px;color:var(--text-primary);flex:1;padding:0 12px;font-size:13px}.symbol-close-btn{background:var(--loss-dim);border-radius:var(--radius-sm);height:36px;color:var(--loss);transition:all var(--transition-fast);border:1px solid #ff475733;padding:0 16px;font-size:12px;font-weight:700}.symbol-close-btn:hover{background:#ff475740}.chart-container{height:200px;padding:16px 18px}.chart-container canvas{width:100%!important;height:100%!important}.log-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;height:120px;display:flex;overflow:hidden}.log-scroll{font-family:var(--font-mono);flex:1;padding:8px 16px;font-size:11px;overflow-y:auto}.log-entry{align-items:center;gap:10px;padding:3px 0;animation:.2s slideIn;display:flex}.log-entry .log-time{color:var(--text-muted);min-width:70px}.log-entry .log-icon{font-size:12px}.log-entry .log-account{color:var(--accent);min-width:90px}.log-entry .log-action{color:var(--text-secondary)}.log-entry .log-status-done{color:var(--profit)}.log-entry .log-status-fail{color:var(--loss)}.log-entry .log-status-pending{color:var(--warning)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.15s fadeInUp;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:400px;max-width:90vw;box-shadow:var(--shadow-card);padding:32px}.modal-card h3{color:var(--loss);margin-bottom:12px;font-size:18px;font-weight:700}.modal-card p{color:var(--text-secondary);margin-bottom:20px;font-size:13px;line-height:1.6}.modal-card .confirm-input{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:40px;color:var(--text-primary);font-size:14px;font-family:var(--font-mono);margin-bottom:20px;padding:0 14px}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions .cancel-btn{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:8px 20px;font-size:13px}.modal-actions .danger-btn{background:var(--loss);border-radius:var(--radius-sm);color:#fff;padding:8px 20px;font-size:13px;font-weight:700}.modal-actions .danger-btn:disabled{opacity:.4}.alert-banner{background:linear-gradient(90deg, var(--loss-dim), transparent);color:var(--loss);border-bottom:1px solid #ff475733;align-items:center;gap:10px;padding:8px 24px;font-size:13px;animation:.3s slideIn;display:flex}.alert-banner .alert-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:16px}.empty-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:40px;font-size:13px;display:flex}.empty-state .empty-icon{opacity:.4;font-size:32px}@media (width<=1200px){.kpi-row{grid-template-columns:repeat(2,1fr)}.main-content{flex-direction:column}.panel-left{width:100%;max-height:50vh}}@media (width<=768px){.kpi-row{grid-template-columns:1fr}.header{padding:0 16px}.main-content{padding:12px 16px}.control-grid{grid-template-columns:repeat(2,1fr)}.kpi-card .kpi-value{font-size:22px}}
