.sidebar{position:fixed;left:0;top:0;height:100vh;width:280px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:50;transition:all var(--duration-300) var(--ease-out)}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);margin-bottom:0;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.sidebar-logo:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(240,147,251,.1));z-index:-1}.logo-icon{width:32px;height:32px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:all var(--duration-300) var(--ease-out)}.logo-icon:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.2) 50%,transparent 70%);transform:translateX(-100%);transition:transform var(--duration-500) var(--ease-out)}.sidebar-logo:hover .logo-icon:before{transform:translateX(100%)}.logo-text{font-size:var(--text-xl);font-weight:var(--font-bold);background:var(--brand-primary);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.025em}.nav-section{flex:1;padding:var(--space-6);overflow-y:auto}.nav-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;padding:0;margin:0}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-radius:var(--radius-lg);text-decoration:none;color:var(--text-secondary);transition:all var(--duration-200) var(--ease-out);cursor:pointer;border:1px solid transparent;background:transparent;width:100%;text-align:left;font-size:var(--text-sm);font-weight:var(--font-medium);font-family:inherit;position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand-primary);opacity:0;transition:opacity var(--duration-200) var(--ease-out);border-radius:0 var(--radius) var(--radius) 0}.nav-item:hover{transform:translateX(4px)}.nav-item.active,.nav-item:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-hover)}.nav-item.active:before{opacity:1}.nav-icon{width:20px;height:20px;flex-shrink:0;opacity:.8;transition:all var(--duration-200) var(--ease-out)}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{opacity:1;transform:scale(1.1)}.nav-text{flex:1;font-weight:var(--font-medium);color:var(--text-secondary)!important;transition:color var(--duration-200) var(--ease-out);line-height:1.4}.nav-item.active .nav-text,.nav-item:hover .nav-text{color:var(--text-primary)!important}.light .nav-text{color:var(--text-secondary)!important}.light .nav-item.active .nav-text,.light .nav-item:hover .nav-text{color:var(--text-primary)!important}.light .nav-item{color:var(--text-secondary)!important}.light .nav-item.active,.light .nav-item:hover{color:var(--text-primary)!important}.dark .nav-text{color:var(--text-secondary)!important}.dark .nav-item.active .nav-text,.dark .nav-item:hover .nav-text{color:var(--text-primary)!important}.dark .nav-item{color:var(--text-secondary)!important}.dark .nav-item.active,.dark .nav-item:hover{color:var(--text-primary)!important}:root .nav-text{color:rgba(255,255,255,.8)!important}:root .nav-item.active .nav-text,:root .nav-item:hover .nav-text{color:rgba(255,255,255,1)!important}.light:root .nav-text{color:#475569!important}.light:root .nav-item.active .nav-text,.light:root .nav-item:hover .nav-text{color:#0f172a!important}.nav-text{color:#cbd5e1!important}.light .nav-text{color:#475569!important}.nav-item.active .nav-text,.nav-item:hover .nav-text{color:#ffffff!important}.light .nav-item.active .nav-text,.light .nav-item:hover .nav-text{color:#0f172a!important}.nav-badge{background:var(--error-gradient);color:white;font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);min-width:18px;text-align:center;line-height:1;font-weight:var(--font-semibold);box-shadow:var(--shadow-sm);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.resources-section{padding:var(--space-6);border-top:1px solid var(--border)}.resources-title{font-size:var(--text-xs);font-weight:var(--font-bold);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.1em;padding:0 var(--space-4);background:var(--brand-accent);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.dark .resources-title,.light .resources-title,.resources-title{color:var(--text-muted)!important}.resources-title{color:#94a3b8!important}.light .resources-title{color:#64748b!important}.theme-toggle-container{padding:var(--space-6);border-top:1px solid var(--border)}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-200) var(--ease-out);color:var(--text-secondary);position:relative;overflow:hidden}.theme-toggle-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--brand-accent);opacity:0;padding:2px;transition:opacity var(--duration-200) var(--ease-out)}.theme-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.theme-toggle-btn:hover:before{opacity:.1}.theme-toggle-btn.dark-mode{color:var(--warning)}.theme-toggle-btn.light-mode{color:var(--text-muted)}.signout-section{padding:var(--space-6);border-top:1px solid var(--border)}.signout-btn{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-4);background:transparent;border:1px solid transparent;font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-200) var(--ease-out);text-align:left;font-family:inherit;position:relative;overflow:hidden}.signout-btn,.signout-btn span{color:var(--text-secondary)!important}.signout-btn span{transition:color var(--duration-200) var(--ease-out)}.signout-btn:hover span{color:var(--error)!important}.light .signout-btn,.light .signout-btn span{color:var(--text-secondary)!important}.light .signout-btn:hover span{color:var(--error)!important}.dark .signout-btn,.dark .signout-btn span{color:var(--text-secondary)!important}.dark .signout-btn:hover span{color:var(--error)!important}.signout-btn:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--error-gradient);opacity:0;transition:opacity var(--duration-200) var(--ease-out)}.signout-btn:hover{color:var(--error);border-color:rgba(239,68,68,.2);transform:translateX(4px);box-shadow:var(--shadow)}.signout-btn:hover:before{opacity:.1}.signout-icon{width:18px;height:18px;opacity:.8;flex-shrink:0;transition:all var(--duration-200) var(--ease-out)}.signout-btn:hover .signout-icon{opacity:1;transform:scale(1.1)}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform var(--duration-300) var(--ease-out);z-index:1001;width:280px;height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar.mobile-open{transform:translateX(0)}.sidebar-logo{padding:var(--space-6) var(--space-4);min-height:60px}.nav-section{flex:1;padding:var(--space-4);overflow-y:auto;min-height:0}.nav-item{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-1)}.nav-icon{width:20px;height:20px}.resources-section{padding:var(--space-4);min-height:auto}.resources-title{margin-bottom:var(--space-2);font-size:var(--text-xs)}.theme-toggle-container{padding:var(--space-4);min-height:auto}.theme-toggle-btn{padding:var(--space-3)}.signout-section{padding:var(--space-4);min-height:auto}.signout-btn{padding:var(--space-3) var(--space-4)}}@media (max-width:480px){.sidebar{width:100vw;height:100vh;height:100dvh}.sidebar-logo{padding:var(--space-4) var(--space-3);min-height:56px}.nav-section{padding:var(--space-3)}.nav-item{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.nav-icon{width:18px;height:18px}.resources-section,.signout-section,.theme-toggle-container{padding:var(--space-3)}}.sidebar.collapsed{width:100px;transition:width var(--duration-300) var(--ease-out)}.sidebar.collapsed .logo-text,.sidebar.collapsed .nav-badge,.sidebar.collapsed .nav-text,.sidebar.collapsed .resources-title{opacity:0;transition:opacity .2s ease;display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:var(--space-4)}.sidebar.collapsed .sidebar-logo{justify-content:center}@media (max-width:768px){.sidebar.collapsed{width:280px;transform:translateX(-100%)}.sidebar.collapsed.mobile-open{transform:translateX(0)}.sidebar.collapsed .logo-text,.sidebar.collapsed .nav-badge,.sidebar.collapsed .nav-text,.sidebar.collapsed .resources-title{display:block}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:var(--space-5)}.sidebar.collapsed .sidebar-logo{justify-content:flex-start}}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000;opacity:0;visibility:hidden;transition:all var(--duration-300) var(--ease-out)}.sidebar-overlay.active{opacity:1;visibility:visible}.desktop-sidebar-toggle{position:relative;overflow:hidden}.desktop-sidebar-toggle:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(102,126,234,.1),rgba(240,147,251,.1));opacity:0;transition:opacity var(--duration-200) var(--ease-out)}.desktop-sidebar-toggle:hover{transform:translateY(-2px);border-color:rgba(102,126,234,.3)}.desktop-sidebar-toggle:hover:before{opacity:1}.desktop-sidebar-toggle:active{transform:translateY(-1px)}.sidebar-logo .logo-icon{border-radius:var(--radius-md);transition:all var(--duration-300) var(--ease-out)}.sidebar-logo:hover .logo-icon{transform:scale(1.05)}.dark .sidebar-logo .logo-icon,.light .sidebar-logo .logo-icon{filter:brightness(1)}.signout-btn,.signout-btn span{color:#cbd5e1!important}.light .signout-btn,.light .signout-btn span{color:#475569!important}.signout-btn:hover,.signout-btn:hover span{color:#f87171!important}