*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-normal),color var(--transition-normal);overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #818cf8;--color-primary-dark: #4338ca;--color-success: #22c55e;--color-success-hover: #16a34a;--color-success-light: #4ade80;--color-success-bg: rgba(34, 197, 94, .1);--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-danger-light: #f87171;--color-danger-bg: rgba(239, 68, 68, .1);--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-light: #fbbf24;--color-warning-bg: rgba(245, 158, 11, .1);--color-info: #3b82f6;--color-info-hover: #2563eb;--color-info-light: #60a5fa;--color-buy: #22c55e;--color-buy-hover: #16a34a;--color-buy-bg: rgba(34, 197, 94, .15);--color-sell: #ef4444;--color-sell-hover: #dc2626;--color-sell-bg: rgba(239, 68, 68, .15);--color-short: #a855f7;--color-short-hover: #9333ea;--color-short-bg: rgba(168, 85, 247, .15);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(99, 102, 241, .3);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--header-height: 64px;--sidebar-width: 240px;--sidebar-collapsed: 64px}[data-theme=dark],:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a26;--bg-elevated: #22222f;--bg-hover: #2a2a3a;--bg-active: #32324a;--text-primary: #f5f5f7;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-disabled: #52525b;--border-primary: #3f3f46;--border-secondary: #27272a;--border-focus: #6366f1;--input-bg: #1a1a26;--input-border: #3f3f46;--input-focus-border: #6366f1;--input-placeholder: #71717a;--card-bg: linear-gradient(135deg, #1a1a26 0%, #12121a 100%);--card-border: #27272a;--glass-bg: rgba(18, 18, 26, .8);--glass-border: rgba(255, 255, 255, .1);--scrollbar-track: #1a1a26;--scrollbar-thumb: #3f3f46;--scrollbar-thumb-hover: #52525b}[data-theme=light]{--bg-primary: #fafafa;--bg-secondary: #f4f4f5;--bg-tertiary: #e4e4e7;--bg-elevated: #ffffff;--bg-hover: #f4f4f5;--bg-active: #e4e4e7;--text-primary: #18181b;--text-secondary: #52525b;--text-muted: #71717a;--text-disabled: #a1a1aa;--border-primary: #e4e4e7;--border-secondary: #d4d4d8;--border-focus: #6366f1;--input-bg: #ffffff;--input-border: #d4d4d8;--input-focus-border: #6366f1;--input-placeholder: #a1a1aa;--card-bg: #ffffff;--card-border: #e4e4e7;--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .1);--scrollbar-track: #f4f4f5;--scrollbar-thumb: #d4d4d8;--scrollbar-thumb-hover: #a1a1aa;--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .05)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:1.3;color:var(--text-primary)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}p{color:var(--text-secondary);margin-bottom:var(--space-4)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.text-mono{font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-buy{color:var(--color-buy)}.text-sell{color:var(--color-sell)}.text-short{color:var(--color-short)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-1{flex:1}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.m-0{margin:0}.m-2{margin:var(--space-2)}.m-4{margin:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-auto{margin-top:auto}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky;top:0}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.opacity-50{opacity:.5}.opacity-75{opacity:.75}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-moz-selection{background:var(--color-primary);color:#fff}::selection{background:var(--color-primary);color:#fff}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(min-width:640px){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}.lg\:overflow-hidden{overflow:hidden}.lg\:h-screen{height:100vh}}@media(min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:0 2px 4px #6366f14d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover) 0%,var(--color-primary-dark) 100%);transform:translateY(-1px);box-shadow:0 4px 8px #6366f166}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-focus)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,var(--color-danger) 0%,var(--color-danger-hover) 100%);color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,var(--color-danger-hover) 0%,#b91c1c 100%)}.btn-success{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-hover) 100%);color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,var(--color-success-hover) 0%,#15803d 100%)}.btn-warning{background:linear-gradient(135deg,var(--color-warning) 0%,#d97706 100%);color:#000}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.btn-buy{background:linear-gradient(135deg,var(--color-buy) 0%,var(--color-buy-hover) 100%);color:#fff;box-shadow:0 2px 4px #22c55e4d}.btn-buy:hover:not(:disabled){box-shadow:0 4px 8px #22c55e66;transform:translateY(-1px)}.btn-sell{background:linear-gradient(135deg,var(--color-sell) 0%,var(--color-sell-hover) 100%);color:#fff;box-shadow:0 2px 4px #ef44444d}.btn-sell:hover:not(:disabled){box-shadow:0 4px 8px #ef444466;transform:translateY(-1px)}.btn-short{background:linear-gradient(135deg,var(--color-short) 0%,var(--color-short-hover) 100%);color:#fff;box-shadow:0 2px 4px #a855f74d}.btn-short:hover:not(:disabled){box-shadow:0 4px 8px #a855f766;transform:translateY(-1px)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-base)}.btn-icon{padding:var(--space-2);aspect-ratio:1}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-normal)}.card-elevated{box-shadow:var(--shadow-lg)}.card-hover:hover{border-color:var(--border-focus);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-glass{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-secondary)}.card-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--text-primary);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.input::-moz-placeholder{color:var(--input-placeholder)}.input::placeholder{color:var(--input-placeholder)}.input:hover{border-color:var(--text-muted)}.input:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px #6366f11a}.input-error{border-color:var(--color-danger)}.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.input-helper{font-size:var(--text-xs);color:var(--text-muted)}.input-error-message{font-size:var(--text-xs);color:var(--color-danger)}.input-with-icon{position:relative}.input-with-icon .input{padding-left:var(--space-10)}.input-icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);white-space:nowrap}.badge-primary{background:#6366f126;color:var(--color-primary-light)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-buy{background:var(--color-buy-bg);color:var(--color-buy)}.badge-sell{background:var(--color-sell-bg);color:var(--color-sell)}.badge-short{background:var(--color-short-bg);color:var(--color-short)}.badge-pulse{position:relative}.badge-pulse:before{content:"";position:absolute;inset:0;border-radius:inherit;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.badge-pulse.badge-success:before{background:var(--color-success)}.badge-pulse.badge-danger:before{background:var(--color-danger)}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-4)}.stat-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-2)}.stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);font-family:JetBrains Mono,monospace}.stat-change{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);margin-top:var(--space-2)}.stat-change.positive{color:var(--color-success)}.stat-change.negative{color:var(--color-danger)}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-secondary)}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-secondary)}.table th{font-weight:var(--font-semibold);color:var(--text-muted);background:var(--bg-tertiary);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.05em}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr:last-child td{border-bottom:none}.modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn var(--transition-fast)}.modal{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow:hidden;z-index:var(--z-modal);box-shadow:var(--shadow-xl);animation:slideUp var(--transition-normal)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-secondary)}.modal-title{font-size:var(--text-lg);font-weight:var(--font-semibold)}.modal-close{padding:var(--space-2);color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:var(--space-6);overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-secondary)}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3)}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:300px;max-width:400px;animation:slideIn var(--transition-normal)}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-danger)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-info{border-left:3px solid var(--color-info)}.toast-icon{flex-shrink:0}.toast-content{flex:1}.toast-title{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.toast-message{font-size:var(--text-sm);color:var(--text-secondary)}.toast-close{padding:var(--space-1);color:var(--text-muted);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm)}.toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}.tabs{display:flex;gap:var(--space-1);background:var(--bg-tertiary);padding:var(--space-1);border-radius:var(--radius-lg)}.tab{flex:1;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.tab-buy.active{background:var(--color-buy);color:#fff}.tab-sell.active{background:var(--color-sell);color:#fff}.tab-short.active{background:var(--color-short);color:#fff}.spinner{width:24px;height:24px;border:3px solid var(--border-secondary);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-lg{width:40px;height:40px;border-width:4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:0}50%{opacity:.3}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-primary)}50%{box-shadow:0 0 20px var(--color-primary)}}.animate-fadeIn{animation:fadeIn var(--transition-normal)}.animate-slideUp{animation:slideUp var(--transition-normal)}.animate-slideDown{animation:slideDown var(--transition-normal)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8);background:var(--bg-primary)}.error-boundary-content{max-width:500px;text-align:center;padding:var(--space-8);background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl)}.error-boundary-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:var(--space-4);background:#ef44441a;border-radius:50%;color:var(--color-danger)}.error-boundary-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.error-boundary-message{font-size:var(--text-md);color:var(--text-muted);margin-bottom:var(--space-6);line-height:1.6}.error-boundary-details{margin-bottom:var(--space-6);text-align:left}.error-boundary-details summary{cursor:pointer;color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-2)}.error-boundary-stack{padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:var(--text-xs);font-family:JetBrains Mono,monospace;color:var(--color-danger);overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.error-boundary-actions{display:flex;gap:var(--space-3);justify-content:center}.error-boundary-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-weight:var(--font-medium);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.error-boundary-btn.primary{background:var(--color-primary);border:none;color:#fff}.error-boundary-btn.primary:hover{background:var(--color-primary-hover)}.error-boundary-btn.secondary{background:transparent;border:1px solid var(--border-secondary);color:var(--text-secondary)}.error-boundary-btn.secondary:hover{background:var(--bg-hover);border-color:var(--text-muted)}.widget-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);text-align:center;color:var(--text-muted)}.widget-error svg{color:var(--color-danger);opacity:.7}.widget-error p{font-size:var(--text-sm)}.widget-error button{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.widget-error button:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.skeleton{background:var(--bg-tertiary);position:relative;overflow:hidden}.skeleton-text{height:1em;border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.skeleton-circular{border-radius:50%}.skeleton-rectangular{border-radius:0}.skeleton-rounded{border-radius:var(--radius-md)}.skeleton-pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton-wave:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:skeleton-wave 1.5s linear infinite}@keyframes skeleton-wave{to{transform:translate(100%)}}.skeleton-text{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-card{background:var(--bg-secondary);border-radius:var(--radius-lg);overflow:hidden}.skeleton-card-content{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-table{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-table-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:var(--space-3);padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.skeleton-table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:var(--space-3);padding:var(--space-2)}.skeleton-chart{display:flex;align-items:flex-end;justify-content:center;padding:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg)}.skeleton-chart-bars{display:flex;align-items:flex-end;gap:var(--space-2);height:100%}.skeleton-orderbook{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.skeleton-orderbook-side{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-orderbook-row{display:flex;justify-content:space-between;gap:var(--space-2)}.skeleton-leaderboard{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-leaderboard-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2)}.skeleton-portfolio{display:flex;flex-direction:column;gap:var(--space-3)}.skeleton-portfolio-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.skeleton-stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.skeleton-portfolio-holdings{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-holding-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.app-layout{display:flex;flex-direction:column;min-height:100vh}@media(min-width:1024px){.app-layout{height:100vh;overflow:hidden}}.header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-6);background:var(--bg-secondary);border-bottom:1px solid var(--border-secondary);flex-shrink:0;position:sticky;top:0;z-index:var(--z-sticky)}.header-brand{display:flex;align-items:center;gap:var(--space-3)}.header-logo{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);text-decoration:none}.header-logo svg{color:var(--color-primary)}.header-nav{display:flex;align-items:center;gap:var(--space-2)}.header-nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast)}.header-nav-link:hover{color:var(--text-primary);background:var(--bg-hover)}.header-nav-link.active{color:var(--color-primary);background:#6366f11a}.header-actions{display:flex;align-items:center;gap:var(--space-4)}.header-status{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-full)}.header-status.connected{background:var(--color-success-bg);color:var(--color-success)}.header-status.disconnected{background:var(--color-danger-bg);color:var(--color-danger)}.header-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.header-status.connected .header-status-dot{animation:pulse 2s ease-in-out infinite}.reconnection-banner{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-danger-bg);border-bottom:1px solid var(--color-danger);color:var(--color-danger);font-size:var(--text-sm)}.reconnect-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.reconnect-btn:hover:not(:disabled){opacity:.9}.reconnect-btn:disabled{opacity:.6;cursor:not-allowed}.reconnect-btn .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.header-user:hover{background:var(--bg-hover)}.header-user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:var(--font-bold);font-size:var(--text-sm)}.header-user-info{display:flex;flex-direction:column}.header-user-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.header-user-role{font-size:var(--text-xs);color:var(--text-muted)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle:hover{color:var(--text-primary);border-color:var(--border-primary)}.sidebar{display:flex;flex-direction:column;width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-secondary);overflow-y:auto;flex-shrink:0}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-nav{display:flex;flex-direction:column;padding:var(--space-4);gap:var(--space-1)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-fast)}.sidebar-nav-item:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-nav-item.active{color:var(--color-primary);background:#6366f11a}.sidebar-nav-item svg{flex-shrink:0}.sidebar.collapsed .sidebar-nav-item span{display:none}.sidebar-section-title{padding:var(--space-4) var(--space-4) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.sidebar.collapsed .sidebar-section-title{display:none}.main-content{flex:1;overflow-y:auto;padding:var(--space-6)}@media(min-width:1024px){.main-content.no-scroll{overflow:hidden}}.main-with-sidebar{display:flex;flex:1;overflow:hidden}.main-with-sidebar .main-content{flex:1;min-width:0}.dashboard-grid{display:grid;gap:var(--space-6);height:100%}@media(min-width:1024px){.dashboard-grid{grid-template-columns:repeat(4,1fr);grid-template-rows:auto 1fr 1fr}.dashboard-grid .stats-row{grid-column:1 / -1}.dashboard-grid .chart-large{grid-column:span 2;grid-row:span 2}.dashboard-grid .panel-medium{grid-column:span 2}}.trading-desk{display:flex;flex-direction:column;gap:var(--space-4);height:100%}@media(min-width:1024px){.trading-desk{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto 1fr auto auto;gap:var(--space-4);height:calc(100vh - var(--header-height) - var(--space-12));overflow:hidden}.trading-desk .indices-bar{grid-column:1 / -1}.trading-desk .main-chart{grid-row:span 2}.trading-desk .quick-trade{height:-moz-fit-content;height:fit-content}.trading-desk .bottom-row{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4);max-height:200px}.trading-desk .social-section{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);max-height:200px}.trading-desk .news-ticker{grid-column:1 / -1;height:48px}}.social-section{display:flex;flex-direction:column;gap:var(--space-4)}.social-section .panel{flex:1;min-height:0}.panel{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-secondary);flex-shrink:0}.panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.panel-title svg{color:var(--color-primary)}.panel-actions{display:flex;gap:var(--space-2)}.panel-body{flex:1;overflow-y:auto;padding:var(--space-4)}.panel-body.no-padding{padding:0}.panel-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-secondary);flex-shrink:0}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg-primary)}.auth-layout:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(168,85,247,.1) 0%,transparent 50%);pointer-events:none}.auth-container{width:100%;max-width:420px;position:relative;z-index:1}.auth-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-xl)}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-logo{display:inline-flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.auth-logo svg{color:var(--color-primary)}.auth-logo span{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.auth-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.auth-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-footer{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.auth-footer a{color:var(--color-primary);font-weight:var(--font-medium)}.auth-footer a:hover{text-decoration:underline}@media(max-width:639px){.header{padding:0 var(--space-4)}.header-nav,.header-user-info{display:none}.main-content{padding:var(--space-4)}.panel-body{padding:var(--space-3)}}.admin-dashboard{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);height:100%;overflow-y:auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.dashboard-title h1{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.dashboard-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.market-control{display:flex;align-items:center;gap:var(--space-4)}.market-status{display:flex;gap:var(--space-2)}.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-4)}@media(max-width:1280px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg)}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-md);color:var(--color-primary)}.stat-content{flex:1}.stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);font-family:JetBrains Mono,monospace}.stat-subvalue{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.stat-subvalue.up{color:var(--color-success)}.stat-subvalue.down{color:var(--color-danger)}.dashboard-content{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-4);flex:1;min-height:0}@media(max-width:1280px){.dashboard-content{grid-template-columns:1fr 1fr}}@media(max-width:768px){.dashboard-content{grid-template-columns:1fr}}.leaderboard-panel,.trades-panel,.status-panel{display:flex;flex-direction:column;overflow:hidden}.leaderboard-list{display:flex;flex-direction:column;gap:var(--space-2)}.leaderboard-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-md)}.leaderboard-item .rank{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:var(--font-bold);font-size:var(--text-sm);background:var(--bg-secondary);color:var(--text-secondary)}.leaderboard-item .rank.top{background:var(--color-warning);color:#000}.leaderboard-item .trader-info{flex:1;min-width:0}.leaderboard-item .trader-name{font-weight:var(--font-medium);font-size:var(--text-sm);display:block;margin-bottom:4px}.leaderboard-item .progress-bar{height:4px;background:var(--bg-secondary);border-radius:2px;overflow:hidden}.leaderboard-item .progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease}.leaderboard-item .net-worth{font-family:JetBrains Mono,monospace;font-weight:var(--font-bold);color:var(--color-success);font-size:var(--text-sm)}.trades-list{display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;max-height:400px}.trade-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.trade-item .trade-symbol{flex-shrink:0}.trade-item .trade-details{flex:1;display:flex;flex-direction:column;gap:2px}.trade-item .trade-details .qty{font-size:var(--text-sm)}.trade-item .trade-details .time{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--text-muted)}.trade-item .trade-price{font-family:JetBrains Mono,monospace;font-weight:var(--font-medium);font-size:var(--text-sm)}.status-list{display:flex;flex-direction:column;gap:var(--space-3)}.status-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border-secondary)}.status-item:last-child{border-bottom:none}.status-label{font-size:var(--text-sm);color:var(--text-secondary)}.game-control-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,1fr)}@media(max-width:1023px){.game-control-grid{grid-template-columns:1fr}}.traders-page{height:100%;display:flex;flex-direction:column}.traders-page .panel{flex:1;min-height:0}.traders-page .table-container{max-height:calc(100vh - 400px);overflow-y:auto}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border-secondary);padding:var(--space-2) var(--space-4);z-index:var(--z-sticky)}@media(max-width:1023px){.mobile-nav{display:flex;justify-content:space-around}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);color:var(--text-muted);text-decoration:none;font-size:var(--text-xs);transition:color var(--transition-fast)}.mobile-nav-item.active{color:var(--color-primary)}.main-content{padding-bottom:calc(var(--space-6) + 70px)}}@media(min-width:768px)and (max-width:1023px){.header{padding:0 var(--space-4)}.header-logo span{font-size:var(--text-lg)}.header-user-info{display:none}.header-nav{gap:var(--space-4)}.sidebar{width:var(--sidebar-collapsed)}.sidebar .sidebar-nav-item span,.sidebar .sidebar-section-title{display:none}.sidebar .sidebar-nav-item{justify-content:center;padding:var(--space-3)}.main-with-sidebar{grid-template-columns:var(--sidebar-collapsed) 1fr}.auth-card{padding:var(--space-6);max-width:100%}.trading-main{flex-direction:column}.trading-left,.trading-right{width:100%}.trading-left{flex:none;height:400px}.trading-right{flex:1}.panel-header{padding:var(--space-2) var(--space-3)}.panel-body{padding:var(--space-2)}.table th,.table td{padding:var(--space-2);font-size:var(--text-xs)}}@media(min-width:640px)and (max-width:767px){.header{padding:0 var(--space-3);height:56px}.header-logo span,.header-brand .badge,.header-nav{display:none}.header-status span:last-child{display:none}.auth-container,.auth-card{padding:var(--space-4)}.auth-title{font-size:var(--text-xl)}.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(hover:none)and (pointer:coarse){.btn{min-height:44px;min-width:44px}.btn-sm{min-height:36px}.btn:hover:not(:disabled){transform:none}.panel-body,.orders-list,.chat-messages{-webkit-overflow-scrolling:touch}.sidebar-nav-item{padding:var(--space-4)}.orderbook-row{padding:var(--space-3) var(--space-2)}.input{font-size:16px;min-height:44px}}.trader-main-content{flex:1;overflow:hidden;height:calc(100vh - var(--header-height))}.trading-desk-new{display:grid;grid-template-columns:1fr 300px;grid-template-rows:auto minmax(180px,220px) minmax(200px,1fr) auto;height:100%;padding:var(--space-2);gap:var(--space-2);overflow:hidden}.market-indices-bar{grid-column:1 / -1;display:flex;align-items:center;gap:var(--space-6);padding:var(--space-2) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);overflow-x:auto}.index-item{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.index-name{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-sm)}.index-value{font-family:JetBrains Mono,monospace;font-weight:var(--font-bold);color:var(--text-primary)}.index-change{display:flex;align-items:center;gap:2px;font-size:var(--text-xs);font-family:JetBrains Mono,monospace}.index-change.positive{color:var(--color-buy)}.index-change.negative{color:var(--color-sell)}.trading-main,.trading-left{display:contents}.symbol-selector{position:relative;z-index:var(--z-dropdown)}.symbol-selector-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.symbol-selector-btn:hover{border-color:var(--color-primary);background:var(--bg-hover)}.symbol-selector-btn.loading{cursor:default}.symbol-selector-btn svg{transition:transform var(--transition-fast);color:var(--text-muted)}.symbol-selector-btn svg.rotated{transform:rotate(180deg)}.symbol-main{display:flex;flex-direction:column;align-items:flex-start}.symbol-name{font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--text-primary)}.symbol-price{font-family:JetBrains Mono,monospace;font-size:var(--text-xs);color:var(--color-success)}.symbol-selector-overlay{position:fixed;inset:0;z-index:var(--z-dropdown)}.symbol-selector-dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;min-width:280px;max-height:400px;background:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:calc(var(--z-dropdown) + 1);display:flex;flex-direction:column;overflow:hidden}.symbol-search{padding:var(--space-2);border-bottom:1px solid var(--border-secondary)}.symbol-search input{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm)}.symbol-search input:focus{outline:none;border-color:var(--color-primary)}.symbol-list{flex:1;overflow-y:auto;padding:var(--space-2)}.symbol-empty{padding:var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.symbol-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all var(--transition-fast)}.symbol-option:hover{background:var(--bg-hover)}.symbol-option.active{background:#6366f126}.symbol-option-info{display:flex;flex-direction:column;gap:2px}.symbol-option-symbol{font-weight:var(--font-bold);font-size:var(--text-sm);color:var(--text-primary)}.symbol-option-name{font-size:var(--text-xs);color:var(--text-muted)}.symbol-option-price{font-family:JetBrains Mono,monospace;font-size:var(--text-sm);color:var(--color-success)}.chart-panel{grid-column:1;grid-row:2;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);min-height:0;overflow:hidden}.chart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-secondary);flex-shrink:0}.chart-title{display:flex;align-items:center;gap:var(--space-2);color:var(--color-primary)}.chart-body{flex:1;min-height:0}.bottom-widgets{grid-column:1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);min-height:0}.trading-right{grid-column:2;grid-row:2 / 4;display:flex;flex-direction:column;gap:0;overflow:hidden}.symbol-selector-sticky{flex-shrink:0;padding:var(--space-2);padding-bottom:var(--space-1);background:var(--bg-primary);z-index:10}.trading-right-scroll{flex:1;display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;overflow-x:hidden;padding:var(--space-2);padding-top:var(--space-1)}.orderbook-widget,.portfolio-widget,.quick-trade-widget,.open-orders-widget,.leaderboard-widget,.chat-widget{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.trading-right-scroll .leaderboard-widget,.trading-right-scroll .chat-widget,.trading-right-scroll .quick-trade-widget,.trading-right-scroll .open-orders-widget{overflow:hidden;flex-shrink:0}.leaderboard-widget .leaderboard-content{padding:var(--space-1)}.leaderboard-widget .leaderboard-row{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.leaderboard-widget .rank{width:20px;height:20px;font-size:10px}.leaderboard-widget .name{font-size:var(--text-xs);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-widget .net-worth{font-size:var(--text-xs)}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-secondary);flex-shrink:0}.leaderboard-widget.collapsed .widget-header,.chat-widget.collapsed .widget-header,.quick-trade-widget.collapsed .widget-header,.open-orders-widget.collapsed .widget-header{border-bottom:none}.widget-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.widget-title svg{color:var(--color-primary)}.empty-state{padding:var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.orderbook-widget{flex:1;min-height:220px}.orderbook-content{display:grid;grid-template-columns:1fr 1fr;flex:1;overflow:hidden}.orderbook-side{display:flex;flex-direction:column;overflow:hidden}.orderbook-side.bids{border-right:1px solid var(--border-secondary)}.orderbook-side-header{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);text-align:center;text-transform:uppercase}.orderbook-side.bids .orderbook-side-header{background:var(--color-buy-bg);color:var(--color-buy)}.orderbook-side.asks .orderbook-side-header{background:var(--color-sell-bg);color:var(--color-sell)}.orderbook-row{display:flex;justify-content:space-between;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-family:JetBrains Mono,monospace;position:relative;z-index:1}.orderbook-row.clickable{cursor:pointer;transition:background var(--transition-fast)}.orderbook-row.clickable:hover{background:var(--bg-hover)}.orderbook-row .depth-bar{position:absolute;top:0;bottom:0;z-index:-1;opacity:.2;transition:width var(--transition-fast)}.orderbook-row .depth-bar.bid{right:0;background:var(--color-buy)}.orderbook-row .depth-bar.ask{left:0;background:var(--color-sell)}.orderbook-row .price.bid{color:var(--color-buy)}.orderbook-row .price.ask{color:var(--color-sell)}.orderbook-row .qty{color:var(--text-muted)}.portfolio-widget{flex:1;min-height:220px}.portfolio-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);padding:var(--space-2);border-bottom:1px solid var(--border-secondary)}.portfolio-stats .stat{background:var(--bg-tertiary);padding:var(--space-2);border-radius:var(--radius-sm)}.portfolio-stats .stat-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-1)}.portfolio-stats .stat-value{font-family:JetBrains Mono,monospace;font-weight:var(--font-bold);font-size:var(--text-sm)}.portfolio-stats .stat-value.positive{color:var(--color-success)}.holdings{flex:1;padding:var(--space-2);overflow:hidden;display:flex;flex-direction:column;min-height:0}.holdings-header{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);text-transform:uppercase;margin-bottom:var(--space-2)}.holdings-header .locked-indicator{display:flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--color-warning);text-transform:none}.holdings-list{overflow-y:auto;flex:1;min-height:0}.holding-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:var(--space-1)}.holding-info{display:flex;flex-direction:column;gap:2px}.holding-info .symbol{font-weight:var(--font-bold);font-size:var(--text-sm)}.holding-info .position-details{font-size:var(--text-xs);color:var(--text-muted);font-family:JetBrains Mono,monospace}.holding-value{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.holding-value .current-value{font-family:JetBrains Mono,monospace;font-size:var(--text-sm);font-weight:var(--font-medium)}.holding-value .pnl{font-family:JetBrains Mono,monospace;font-size:var(--text-xs)}.holding-value .pnl.positive{color:var(--color-success)}.holding-value .pnl.negative{color:var(--color-danger)}.quick-sell-btn{padding:var(--space-1) var(--space-2);background:var(--color-sell-bg);color:var(--color-sell);border:1px solid var(--color-sell);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.quick-sell-btn:hover{background:var(--color-sell);color:#fff}.holding-info .avg-price{display:block;font-size:var(--text-xs);color:var(--text-muted)}.holding-qty .qty{font-family:JetBrains Mono,monospace;font-size:var(--text-sm)}.holding-qty .locked{display:flex;align-items:center;gap:2px;font-size:var(--text-xs);color:var(--color-warning)}.trade-form{padding:var(--space-3)}.order-type-toggle{display:flex;gap:var(--space-1);margin-top:var(--space-2);padding:2px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.order-type-btn{flex:1;padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.order-type-btn:hover{color:var(--text-primary)}.order-type-btn.active{background:var(--bg-secondary);color:var(--color-primary);box-shadow:var(--shadow-sm)}.time-in-force{margin-top:var(--space-2)}.time-in-force label{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-1)}.tif-options{display:flex;gap:var(--space-1)}.tif-btn{flex:1;padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.tif-btn:hover{border-color:var(--color-primary);color:var(--text-primary)}.tif-btn.active{background:#6366f126;border-color:var(--color-primary);color:var(--color-primary)}.market-price-display{padding:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;font-size:var(--text-sm);color:var(--color-success)}.market-price-display.no-data{color:var(--text-muted);font-style:italic}.trade-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-top:var(--space-3)}.trade-inputs .input-group label{display:block;font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-1)}.trade-inputs .input-group input{width:100%;padding:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-sm);color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:var(--text-sm)}.trade-inputs .input-group input:focus{outline:none;border-color:var(--color-primary)}.trade-total{display:flex;justify-content:space-between;padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-top:var(--space-2);font-size:var(--text-sm)}.trade-total .total-value{font-family:JetBrains Mono,monospace;font-weight:var(--font-bold)}.trade-btn{width:100%;padding:var(--space-3);margin-top:var(--space-3);border:none;border-radius:var(--radius-md);font-weight:var(--font-bold);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);color:#fff}.trade-btn.buy{background:linear-gradient(135deg,var(--color-buy) 0%,var(--color-buy-hover) 100%)}.trade-btn.sell{background:linear-gradient(135deg,var(--color-sell) 0%,var(--color-sell-hover) 100%)}.trade-btn.short{background:linear-gradient(135deg,var(--color-short) 0%,var(--color-short-hover) 100%)}.trade-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.widget-header-actions{display:flex;align-items:center;gap:var(--space-2)}.cancel-all-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.cancel-all-btn:hover{background:var(--color-danger);color:#fff}.orders-list{flex:1;overflow-y:auto;padding:var(--space-2)}.order-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.order-info{display:flex;align-items:center;gap:var(--space-2)}.order-info .symbol{font-weight:var(--font-bold);font-size:var(--text-sm)}.order-details{flex:1;text-align:right}.order-details .qty-price{font-family:JetBrains Mono,monospace;font-size:var(--text-sm)}.order-details .filled{display:block;font-size:var(--text-xs);color:var(--text-muted)}.cancel-btn{padding:var(--space-1);background:transparent;border:none;color:var(--color-danger);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.cancel-btn:hover{background:var(--color-danger-bg)}.news-ticker{grid-column:1 / -1;grid-row:4;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);overflow:hidden}.news-label{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-semibold);color:var(--color-primary);flex-shrink:0;background:var(--bg-secondary);padding-right:var(--space-2);z-index:1}.news-content{flex:1;overflow:hidden;white-space:nowrap;position:relative}.news-scroll{display:inline-flex;align-items:center;gap:var(--space-8);animation:ticker-scroll 30s linear infinite;padding-right:var(--space-8)}.news-scroll:hover{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.news-item{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;transition:color var(--transition-fast)}.news-item:hover{color:var(--color-primary)}.sentiment-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.news-keyword{font-weight:var(--font-bold);padding:1px 4px;border-radius:3px;background:#6366f133;color:var(--color-primary)}.news-keyword.bullish{background:#22c55e33;color:var(--color-buy)}.news-keyword.bearish{background:#ef444433;color:var(--color-sell)}.market-indices-bar{grid-column:1 / -1;display:flex;align-items:center;gap:0;padding:0;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);overflow:hidden}.indices-label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-primary);color:#fff;font-weight:var(--font-bold);font-size:var(--text-xs);text-transform:uppercase;flex-shrink:0}.indices-scroll-wrapper{flex:1;overflow:hidden}.indices-scroll{display:inline-flex;align-items:center;animation:indices-scroll 20s linear infinite}.indices-scroll:hover{animation-play-state:paused}@keyframes indices-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.index-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-right:1px solid var(--border-secondary);white-space:nowrap}.index-item:last-child{border-right:none}.index-name{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase}.index-value{font-family:JetBrains Mono,monospace;font-weight:var(--font-bold);color:var(--text-primary);font-size:var(--text-sm)}.index-change{display:flex;align-items:center;gap:2px;font-size:var(--text-xs);font-family:JetBrains Mono,monospace;padding:2px 6px;border-radius:var(--radius-sm)}.index-change.positive{color:var(--color-buy);background:#22c55e26}.index-change.negative{color:var(--color-sell);background:#ef444426}.floating-widget-btn{position:fixed;bottom:var(--space-4);width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all var(--transition-fast);z-index:var(--z-sticky)}.floating-widget-btn.left{left:var(--space-4)}.floating-widget-btn.right{right:var(--space-4)}.floating-widget-btn:hover{transform:scale(1.1)}.floating-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:var(--font-bold);border-radius:9px;display:flex;align-items:center;justify-content:center}.floating-widget{position:fixed;bottom:var(--space-4);width:320px;height:400px;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;z-index:var(--z-modal);transition:all var(--transition-normal)}.floating-widget.left{left:var(--space-4)}.floating-widget.right{right:var(--space-4)}.floating-widget.expanded{width:400px;height:calc(100vh - var(--header-height) - var(--space-8))}.floating-widget-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);border-bottom:1px solid var(--border-secondary);background:var(--bg-tertiary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.floating-widget-title{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-semibold);color:var(--text-primary)}.floating-widget-title svg{color:var(--color-primary)}.floating-widget-actions{display:flex;gap:var(--space-1)}.floating-widget-actions button{padding:var(--space-1);background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.floating-widget-actions button:hover{background:var(--bg-hover);color:var(--text-primary)}.floating-widget-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-content{display:flex;flex-direction:column;height:100%}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-3)}.chat-message{margin-bottom:var(--space-2);font-size:var(--text-sm)}.chat-username{font-weight:var(--font-semibold);color:var(--color-primary)}.chat-text{color:var(--text-secondary)}.chat-input-form{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border-secondary)}.chat-input-form input{flex:1;padding:var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-sm)}.chat-input-form input:focus{outline:none;border-color:var(--color-primary)}.chat-input-form button{padding:var(--space-2) var(--space-4);background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.chat-input-form button:hover{background:var(--color-primary-hover)}.leaderboard-content{overflow-y:auto;padding:var(--space-2)}.leaderboard-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.leaderboard-row:hover{background:var(--bg-hover)}.leaderboard-row.current-user{background:#6366f11a}.rank-info{display:flex;align-items:center;gap:var(--space-2)}.leaderboard-row .rank{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--text-xs);font-weight:var(--font-bold);background:var(--bg-tertiary);color:var(--text-secondary)}.leaderboard-row .rank.top{background:var(--color-warning);color:#000}.leaderboard-row .name{font-size:var(--text-sm)}.leaderboard-row .net-worth{font-family:JetBrains Mono,monospace;font-size:var(--text-sm);color:var(--color-success)}@media(max-width:1024px){.trading-main{grid-template-columns:1fr}.trading-right{flex-direction:row}.quick-trade-widget,.open-orders-widget{flex:1}.bottom-widgets{grid-template-columns:1fr}.trading-desk-new{overflow-y:auto}}@media(max-width:768px){.trading-right{flex-direction:column}.floating-widget{width:calc(100vw - var(--space-8));left:var(--space-4)!important;right:var(--space-4)!important}.floating-widget.expanded{width:calc(100vw - var(--space-8))}}.order-confirmation-content{display:flex;flex-direction:column;gap:var(--space-4)}.order-confirmation-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md)}.order-confirmation-header>div{display:flex;flex-direction:column;gap:2px}.confirmation-action{font-size:var(--text-lg);font-weight:var(--font-bold);text-transform:uppercase}.confirmation-symbol{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.order-confirmation-details{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md)}.confirmation-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0;border-bottom:1px solid var(--border-secondary)}.confirmation-row:last-child{border-bottom:none}.confirmation-row.total{margin-top:var(--space-2);padding-top:var(--space-3);border-top:2px solid var(--border-secondary);border-bottom:none}.confirmation-label{font-size:var(--text-sm);color:var(--text-muted)}.confirmation-value{font-family:JetBrains Mono,monospace;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.confirmation-row.total .confirmation-label{font-weight:var(--font-semibold);color:var(--text-primary)}.confirmation-row.total .confirmation-value{font-size:var(--text-md);font-weight:var(--font-bold);color:var(--color-primary)}.order-confirmation-warning,.order-confirmation-info{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm)}.order-confirmation-warning{background:#f59e0b1a;border:1px solid var(--color-warning);color:var(--color-warning)}.order-confirmation-warning svg{flex-shrink:0;margin-top:2px}.order-confirmation-info{background:#6366f11a;border:1px solid var(--color-primary);color:var(--color-primary)}.order-confirmation-info svg{flex-shrink:0;margin-top:2px}.order-confirmation-actions{display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-2)}.order-confirmation-actions .btn{display:flex;align-items:center;gap:var(--space-2)}.widget-header.clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--transition-fast);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.leaderboard-widget.collapsed .widget-header.clickable,.chat-widget.collapsed .widget-header.clickable,.quick-trade-widget.collapsed .widget-header.clickable,.open-orders-widget.collapsed .widget-header.clickable{border-radius:var(--radius-lg)}.widget-header.clickable:hover{background:var(--bg-hover)}.chat-widget:not(.collapsed) .chat-messages{min-height:150px;max-height:200px;overflow-y:auto;padding:8px}.leaderboard-widget:not(.collapsed) .leaderboard-content{min-height:100px;max-height:200px;overflow-y:auto}.open-orders-widget:not(.collapsed) .orders-list{min-height:100px;max-height:200px;overflow-y:auto}.trading-right-scroll .open-orders-widget{min-height:auto}.trading-right-scroll .open-orders-widget:not(.collapsed){min-height:140px}.portfolio-tabs,.orderbook-tabs{display:flex;gap:var(--space-1);padding:var(--space-2);border-bottom:1px solid var(--border-secondary)}.portfolio-tab,.orderbook-tab{flex:1;padding:var(--space-2);background:transparent;border:1px solid var(--border-secondary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.portfolio-tab:hover,.orderbook-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.portfolio-tab.active,.orderbook-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.trade-history,.stock-trades-content{padding:var(--space-2);overflow-y:auto;max-height:200px}.trade-history-list,.stock-trades-list{display:flex;flex-direction:column;gap:var(--space-1)}.trade-history-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.trade-history-row .trade-info{display:flex;align-items:center;gap:var(--space-2)}.trade-history-row .trade-info .symbol{font-weight:var(--font-semibold);font-size:var(--text-sm)}.trade-history-row .trade-details{flex:1;text-align:right}.trade-history-row .trade-details .qty-price{font-family:JetBrains Mono,monospace;font-size:var(--text-sm)}.trade-history-row .trade-details .total{display:block;font-size:var(--text-xs);color:var(--text-muted)}.trade-history-row .trade-time{font-size:var(--text-xs);color:var(--text-muted);min-width:70px;text-align:right}.stock-trades-header{display:grid;grid-template-columns:1fr 1fr 1fr;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted);border-bottom:1px solid var(--border-secondary);text-transform:uppercase}.stock-trade-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border-bottom:1px solid var(--border-tertiary)}.stock-trade-row .trade-time{font-size:var(--text-xs);color:var(--text-muted)}.stock-trade-row .trade-price{font-family:JetBrains Mono,monospace;text-align:center}.stock-trade-row .trade-price.positive{color:var(--color-success)}.stock-trade-row .trade-price.negative{color:var(--color-danger)}.stock-trade-row .trade-qty{font-family:JetBrains Mono,monospace;text-align:right}
