.dashboard-module__XABe8G__dashboardLayout{background:var(--bg-primary);min-height:100vh;display:flex}.dashboard-module__XABe8G__loadingScreen{min-height:100vh;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.dashboard-module__XABe8G__loadingSpinner{border:3px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite dashboard-module__XABe8G__spin}@keyframes dashboard-module__XABe8G__spin{to{transform:rotate(360deg)}}.dashboard-module__XABe8G__sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-subtle);width:260px;transition:width .3s var(--ease-smooth);z-index:50;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.dashboard-module__XABe8G__sidebarCollapsed{width:72px}.dashboard-module__XABe8G__sidebarHeader{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;height:64px;padding:16px;display:flex}.dashboard-module__XABe8G__sidebarLogo{color:var(--text-primary);letter-spacing:.04em;white-space:nowrap;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;text-decoration:none;display:flex;overflow:hidden}.dashboard-module__XABe8G__sidebarLogoIcon{background:var(--gradient-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex-shrink:0;font-size:1.4rem}.dashboard-module__XABe8G__sidebarToggle{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:1rem;transition:all .2s}.dashboard-module__XABe8G__sidebarToggle:hover{background:var(--bg-card);color:var(--text-primary)}.dashboard-module__XABe8G__sidebarNav{padding:var(--space-3) var(--space-2);flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.dashboard-module__XABe8G__sidebarLink{align-items:center;gap:var(--space-3);padding:9px var(--space-3);border-radius:var(--radius-control);color:var(--text-secondary);transition:background .15s var(--ease-smooth), color .15s var(--ease-smooth);white-space:nowrap;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;overflow:hidden}.dashboard-module__XABe8G__sidebarLink:hover{background:var(--surface-card);color:var(--text-primary)}.dashboard-module__XABe8G__sidebarLinkActive{background:var(--accent-bg);color:var(--accent);font-weight:600}.dashboard-module__XABe8G__sidebarLinkActive .dashboard-module__XABe8G__sidebarIcon{color:var(--accent)}.dashboard-module__XABe8G__sidebarLinkNested{padding-left:var(--space-5)}.dashboard-module__XABe8G__sidebarIcon{width:20px;height:20px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard-module__XABe8G__sidebarLink:hover .dashboard-module__XABe8G__sidebarIcon{color:inherit}.dashboard-module__XABe8G__navGroup{flex-direction:column;display:flex}.dashboard-module__XABe8G__navGroupHeader{align-items:center;gap:var(--space-3);width:100%;padding:9px var(--space-3);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-control);transition:background .15s var(--ease-smooth), color .15s var(--ease-smooth);background:0 0;border:none;font-family:inherit;font-size:.875rem;font-weight:500;display:flex}.dashboard-module__XABe8G__navGroupHeader:hover{background:var(--surface-card);color:var(--text-primary)}.dashboard-module__XABe8G__navGroupHeaderActive{color:var(--text-primary)}.dashboard-module__XABe8G__navGroupHeaderActive .dashboard-module__XABe8G__sidebarIcon{color:var(--accent)}.dashboard-module__XABe8G__navGroupLabel{text-align:left;flex:1}.dashboard-module__XABe8G__navChevron{color:var(--text-muted);transition:transform .18s var(--ease-smooth);flex-shrink:0}.dashboard-module__XABe8G__navChevronOpen{transform:rotate(90deg)}.dashboard-module__XABe8G__navGroupItems{flex-direction:column;gap:1px;display:flex}.dashboard-module__XABe8G__sidebarFooter{border-top:1px solid var(--border-subtle);flex-direction:column;gap:8px;padding:12px;display:flex}.dashboard-module__XABe8G__userInfo{align-items:center;gap:10px;display:flex}.dashboard-module__XABe8G__userAvatar{background:var(--bg-secondary);border:1px solid var(--border-default);color:#fff;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:flex}.dashboard-module__XABe8G__userDetails{flex-direction:column;min-width:0;display:flex}.dashboard-module__XABe8G__userName{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.dashboard-module__XABe8G__userEmail{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.dashboard-module__XABe8G__logoutBtn{border:1px solid var(--border-default);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;font-family:var(--font-sans);background:0 0;padding:6px 12px;transition:all .2s}.dashboard-module__XABe8G__logoutBtn:hover{border-color:var(--accent-rose);color:var(--accent-rose);background:var(--accent-rose-glow)}.dashboard-module__XABe8G__mainContent{min-height:100vh;transition:margin-left .3s var(--ease-smooth);flex-direction:column;flex:1;margin-left:260px;display:flex}:is(.dashboard-module__XABe8G__sidebarCollapsed~.dashboard-module__XABe8G__mainContent,.dashboard-module__XABe8G__dashboardLayout:has(.dashboard-module__XABe8G__sidebarCollapsed) .dashboard-module__XABe8G__mainContent){margin-left:72px}.dashboard-module__XABe8G__topBar{border-bottom:1px solid var(--border-subtle);background:var(--bg-primary);z-index:40;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;top:0}.dashboard-module__XABe8G__searchWrap{flex:1;max-width:480px;position:relative}.dashboard-module__XABe8G__searchIcon{font-size:.9rem;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dashboard-module__XABe8G__searchInput{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);padding:10px 14px 10px 36px;font-size:.85rem;transition:border-color .2s}.dashboard-module__XABe8G__searchInput:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);outline:none}.dashboard-module__XABe8G__searchInput::placeholder{color:var(--text-muted)}.dashboard-module__XABe8G__topBarActions{align-items:center;gap:12px;display:flex}.dashboard-module__XABe8G__marketBadge{font-size:.75rem}.dashboard-module__XABe8G__pageContent{animation:dashboard-module__XABe8G__fadeIn .3s var(--ease-smooth);flex:1;padding:24px}@media (max-width:768px){.dashboard-module__XABe8G__topBar{gap:8px;padding:0 12px}.dashboard-module__XABe8G__pageContent{padding:12px!important}.dashboard-module__XABe8G__searchInput{font-size:16px}}.dashboard-module__XABe8G__tickerStrip{border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);align-items:center;min-width:0;max-width:100%;height:34px;display:flex;position:relative;overflow:hidden}.dashboard-module__XABe8G__tickerTrack{will-change:transform;animation:55s linear infinite dashboard-module__XABe8G__tickerScroll;display:inline-flex}.dashboard-module__XABe8G__tickerStrip:hover .dashboard-module__XABe8G__tickerTrack{animation-play-state:paused}.dashboard-module__XABe8G__tickerGroup{align-items:center;display:inline-flex}.dashboard-module__XABe8G__tickerItem{white-space:nowrap;border-right:1px solid var(--border-subtle);align-items:baseline;gap:7px;padding:0 26px;font-size:.78rem;text-decoration:none;display:inline-flex}.dashboard-module__XABe8G__tickerItem:hover .dashboard-module__XABe8G__tickerLabel{color:#2962ff}.dashboard-module__XABe8G__tickerLabel{letter-spacing:.04em;color:var(--text-muted,#9ca3af);font-size:.7rem;font-weight:700}.dashboard-module__XABe8G__tickerPrice{color:var(--text-primary,#e5e7eb);font-variant-numeric:tabular-nums;font-weight:700}@keyframes dashboard-module__XABe8G__tickerScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.dashboard-module__XABe8G__tickerTrack{animation:none}}
