:root{--color-bg-primary:#0a0e17;--color-bg-secondary:#111827;--color-bg-card:rgba(17,24,39,.7);--color-bg-card-hover:rgba(26,35,53,.85);--color-bg-elevated:rgba(30,41,59,.5);--color-accent:#00f0ff;--color-accent-light:#67f7ff;--color-accent-dim:rgba(0,240,255,.15);--color-accent-glow:rgba(0,240,255,.3);--color-profit:#00e676;--color-profit-bg:rgba(0,230,118,.1);--color-loss:#ff5252;--color-loss-bg:rgba(255,82,82,.1);--color-warning:#ffab40;--color-warning-bg:rgba(255,171,64,.1);--color-info:#42a5f5;--color-text-primary:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-border:rgba(100,116,139,.2);--color-border-accent:rgba(0,240,255,.25);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code","Cascadia Code",monospace;--shadow-card:0 4px 24px rgba(0,0,0,.3);--shadow-glow:0 0 20px rgba(0,240,255,.15);--shadow-glow-strong:0 0 40px rgba(0,240,255,.25);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{background-color:var(--color-bg-primary)}body{font-family:var(--font-sans);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:linear-gradient(rgba(0,240,255,.02) 1px,transparent 0),linear-gradient(90deg,rgba(0,240,255,.02) 1px,transparent 0);background-size:60px 60px;pointer-events:none;z-index:0}.glass-card{background:var(--color-bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color var(--transition-normal),box-shadow var(--transition-normal)}.glass-card:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-card),var(--shadow-glow)}.accent-gradient{background:linear-gradient(135deg,var(--color-accent),#007cf0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mono{font-family:var(--font-mono);font-size:.875em}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.badge-profit{background:var(--color-profit-bg);color:var(--color-profit);border:1px solid rgba(0,230,118,.2)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgba(255,171,64,.2)}.badge-danger{background:var(--color-loss-bg);color:var(--color-loss);border:1px solid rgba(255,82,82,.2)}.badge-info{background:var(--color-accent-dim);color:var(--color-accent);border:1px solid rgba(0,240,255,.2)}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}@keyframes slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-slide-in{animation:slide-in .3s ease-out forwards}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot-connected{background:var(--color-profit);box-shadow:0 0 8px var(--color-profit);animation:pulse-glow 2s ease-in-out infinite}.status-dot-disconnected{background:var(--color-loss);box-shadow:0 0 8px var(--color-loss)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.app-container{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:var(--space-lg) var(--space-xl)}.app-header{justify-content:space-between;padding:var(--space-lg) 0;margin-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.app-header,.app-header-left{display:flex;align-items:center}.app-header-left{gap:var(--space-md)}.app-header-right{display:flex;align-items:center;gap:var(--space-lg)}.connection-status{display:flex;align-items:center;gap:var(--space-sm);font-size:.8rem;color:var(--color-text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg);margin-bottom:var(--space-2xl)}.stat-card{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs)}.stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.stat-value{font-size:1.75rem;font-weight:700;font-family:var(--font-mono)}.stat-value-accent{color:var(--color-accent)}.stat-value-profit{color:var(--color-profit)}.data-section{margin-bottom:var(--space-2xl)}.section-header{justify-content:space-between;margin-bottom:var(--space-lg)}.section-header,.section-title{display:flex;align-items:center}.section-title{font-size:1.1rem;font-weight:600;gap:var(--space-sm)}.data-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}.data-table thead th{padding:var(--space-sm) var(--space-md);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);text-align:left;border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;background:var(--color-bg-secondary);z-index:1}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-bg-elevated)}.data-table tbody td{padding:var(--space-sm) var(--space-md);font-size:.85rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table .cell-mono{font-family:var(--font-mono);font-size:.8rem}.data-table .cell-profit{color:var(--color-profit);font-weight:600}.data-table .cell-loss{color:var(--color-loss);font-weight:600}.row-new{animation:slide-in .3s ease-out}.row-new td{background:var(--color-accent-dim)}.empty-state{text-align:center;padding:var(--space-2xl) var(--space-xl);color:var(--color-text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.5}.empty-state-title{font-size:1.1rem;font-weight:600;margin-bottom:var(--space-xs);color:var(--color-text-secondary)}.empty-state-desc{font-size:.85rem}.card-title{font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.spread-grid-header{justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.filter-bar,.spread-grid-header{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.filter-group{display:flex;align-items:center;gap:var(--space-xs)}.filter-btn{padding:4px 14px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all var(--transition-fast)}.filter-btn-active,.filter-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-btn-active{background:var(--color-accent-dim);box-shadow:0 0 8px rgba(0,240,255,.15)}.sort-select{padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:.75rem;font-family:var(--font-sans);cursor:pointer;transition:border-color var(--transition-fast)}.sort-select:focus{outline:none;border-color:var(--color-accent)}.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable:hover{color:var(--color-accent)!important}.badge-spot{background:rgba(66,165,245,.12);color:#42a5f5;border:1px solid rgba(66,165,245,.25)}.badge-p2p{background:rgba(255,171,64,.12);color:#ffab40;border:1px solid rgba(255,171,64,.25)}.badge-triangular{background:rgba(171,71,188,.12);color:#ce93d8;border:1px solid rgba(171,71,188,.25)}.badge-signal{background:rgba(0,240,255,.1);color:#00f0ff;border:1px solid rgba(0,240,255,.25);animation:pulse-glow 3s ease-in-out infinite}.badge-low-risk{background:rgba(0,230,118,.1);color:var(--color-profit);border:1px solid rgba(0,230,118,.2);font-size:.65rem}.badge-med-risk{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgba(255,171,64,.2);font-size:.65rem}.badge-high-risk{background:var(--color-loss-bg);color:var(--color-loss);border:1px solid rgba(255,82,82,.2);font-size:.65rem;animation:pulse-glow 2s ease-in-out infinite}.payment-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);background:rgba(100,116,139,.15);color:var(--color-text-secondary);font-size:.7rem;font-weight:500}.exchange-tag{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.05em;color:var(--color-accent);opacity:.8}.cell-price{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-primary)}.cell-spread{color:var(--color-accent)}.cell-time{font-family:var(--font-mono);font-size:.75rem}.cell-time,.profit-kes{color:var(--color-text-muted)}.profit-kes{display:block;font-size:.7rem;font-weight:400}.version-badge{padding:2px 8px;border-radius:var(--radius-full);background:linear-gradient(135deg,rgba(0,240,255,.15),rgba(0,124,240,.15));color:var(--color-accent);font-size:.65rem;font-weight:700;letter-spacing:.08em;border:1px solid rgba(0,240,255,.2)}.fade-in-row{animation:slide-in .3s ease-out}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.empty-icon{display:block;font-size:2.5rem;margin-bottom:var(--space-md);opacity:.4}.empty-sub{font-size:.8rem;margin-top:var(--space-xs);opacity:.6}.app-footer{margin-top:var(--space-2xl);padding:var(--space-2xl) 0 var(--space-lg);border-top:1px solid var(--color-border);text-align:center}.footer-exchanges{margin-bottom:var(--space-lg)}.footer-exchanges-label{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.footer-exchange-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-xs)}.footer-exchange-chip{display:inline-block;padding:3px 12px;border-radius:var(--radius-full);background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.7rem;font-weight:500;letter-spacing:.02em;transition:all var(--transition-fast)}.footer-exchange-chip:hover{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 6px rgba(0,240,255,.1)}.exchange-logos-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-xl);padding:var(--space-md) 0}.exchange-logo-card{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:default;transition:transform var(--transition-fast)}.exchange-logo-card:hover{transform:translateY(-3px)}.exchange-logo-img-wrap{width:48px;height:48px;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.exchange-logo-card:hover .exchange-logo-img-wrap{border-color:var(--color-border-accent);box-shadow:0 0 12px rgba(0,240,255,.15)}.exchange-logo-img{width:32px;height:32px;object-fit:contain;border-radius:4px}.exchange-logo-name{font-size:.6rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.6;transition:opacity var(--transition-fast)}.exchange-logo-card:hover .exchange-logo-name{opacity:1}.footer-divider{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--color-border-accent),transparent);margin:var(--space-lg) auto}.footer-legal{flex-direction:column}.footer-brand,.footer-legal{display:flex;gap:var(--space-sm)}.footer-brand{align-items:center;justify-content:center;flex-wrap:wrap}.footer-logo-text{font-size:.9rem;font-weight:700;background:linear-gradient(135deg,var(--color-accent),#007cf0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-flag{font-size:1rem}.footer-tagline{font-size:.75rem;color:var(--color-text-muted)}.footer-disclaimer{font-size:.7rem;color:var(--color-warning);opacity:.7;max-width:500px;margin:0 auto;line-height:1.4}.footer-copyright{font-size:.7rem;color:var(--color-text-muted);opacity:.5}.footer-clients{color:var(--color-accent);opacity:1}@media (max-width:768px){.app-container{padding:var(--space-md)}.app-header{flex-direction:column;gap:var(--space-md);align-items:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.data-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}