.sidebar-layout{display:flex;min-height:100vh;font-family:var(--font-sans);background:var(--color-bg-secondary)}.sidebar-layout.dark{background:var(--color-bg-secondary);color:var(--color-text-inverse)}.mobile-toggle{display:none;position:fixed;top:var(--spacing-md);left:var(--spacing-md);z-index:200;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);cursor:pointer}.sidebar-layout.dark .mobile-toggle{background:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text-inverse)}.overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:90}.sidebar{width:var(--sidebar-width);background:var(--color-bg-primary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;transition:all var(--transition-slow);z-index:100}.sidebar-layout.dark .sidebar{background:var(--color-bg-tertiary);border-color:var(--color-border)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.sidebar-layout.dark .sidebar-header{border-color:var(--color-border)}.sidebar-logo{text-decoration:none;color:var(--color-primary);font-weight:700;font-size:1.25rem}.collapse-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:var(--spacing-xs);border-radius:var(--radius-sm)}.collapse-btn:hover{background:var(--color-bg-hover)}.sidebar-layout.dark .collapse-btn:hover{background:var(--color-bg-tertiary)}.sidebar-nav{flex:1;padding:var(--spacing-md) var(--spacing-sm);overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:.75rem var(--spacing-md);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-lg);margin-bottom:var(--spacing-xs);font-weight:500;transition:all var(--transition-fast)}.sidebar-layout.dark .nav-item{color:var(--color-text-secondary)}.nav-item:hover{background:var(--color-bg-hover);color:var(--color-primary)}.sidebar-layout.dark .nav-item:hover{background:var(--color-bg-tertiary);color:#818cf8}.nav-item.active{background:var(--color-primary-light);color:var(--color-primary)}.sidebar-layout.dark .nav-item.active{background:#1e3a8a;color:#818cf8}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-sm)}.sidebar-layout.dark .sidebar-footer{border-color:var(--color-border)}.theme-toggle-btn,.logout-btn-sidebar{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:.75rem var(--spacing-md);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-lg);font-weight:500;font-size:.875rem;transition:all var(--transition-fast)}.sidebar-layout.dark .theme-toggle-btn,.sidebar-layout.dark .logout-btn-sidebar{color:var(--color-text-secondary)}.theme-toggle-btn:hover,.logout-btn-sidebar:hover{background:var(--color-bg-hover)}.sidebar-layout.dark .theme-toggle-btn:hover,.sidebar-layout.dark .logout-btn-sidebar:hover{background:var(--color-bg-tertiary)}.logout-btn-sidebar{color:var(--color-error)}.sidebar-layout.dark .logout-btn-sidebar{color:#f87171}.sidebar.collapsed .theme-toggle-btn,.sidebar.collapsed .logout-btn-sidebar{justify-content:center}.main-wrapper{flex:1;margin-left:var(--sidebar-width);transition:margin-left var(--transition-slow);display:flex;flex-direction:column;min-height:100vh}.main-wrapper.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.top-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50}.sidebar-layout.dark .top-header{background:var(--color-bg-tertiary);border-color:var(--color-border)}.header-left{display:flex;align-items:center}.page-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.sidebar-layout.dark .page-title{color:var(--color-text-primary)}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.user-name{font-size:.875rem;color:var(--color-text-secondary)}.sidebar-layout.dark .user-name{color:var(--color-text-secondary)}.main-content{flex:1;padding:var(--spacing-lg)}@media(max-width:768px){.mobile-toggle{display:flex;top:var(--spacing-sm);left:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.sidebar-layout.dark .mobile-toggle{background:var(--color-bg-tertiary);border-color:var(--color-border)}.overlay{display:block;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{width:280px;transform:translate(-100%);box-shadow:var(--shadow-xl)}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{transform:translate(0);width:280px}.main-wrapper,.main-wrapper.sidebar-collapsed{margin-left:0}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:.75rem var(--spacing-md)}.nav-item{padding:.75rem var(--spacing-md);font-size:.9375rem}.theme-toggle-btn,.logout-btn-sidebar{padding:var(--spacing-sm) var(--spacing-md);font-size:.9375rem}.theme-toggle-btn span,.logout-btn-sidebar span,.nav-item span{display:inline}.user-name{display:none}.page-title{margin-left:3rem;font-size:1rem}.top-header{padding:var(--spacing-sm) var(--spacing-md)}.main-content{padding:var(--spacing-sm)}.sidebar-header{padding:var(--spacing-md)}.sidebar-logo{font-size:1.125rem}.collapse-btn{display:none}}@media(max-width:480px){.sidebar,.sidebar.mobile-open{width:100%}.page-title{margin-left:2.5rem;font-size:.875rem}.mobile-toggle{padding:var(--spacing-xs)}.mobile-toggle svg{width:20px;height:20px}.main-content{padding:var(--spacing-xs)}.top-header{min-height:50px}}@media(min-width:769px){.sidebar{transform:translate(0)!important}}.sidebar-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);color:var(--color-text-muted);font-size:1rem}
