.sidebar { width: 240px; background-color: #f8fafd; border-right: 1px solid #e9eff6; display: flex; flex-direction: column; padding: 40px 0 20px; z-index: 10; } .sidebar-header { padding: 0 28px 36px; } .brand { font-size: 20px; font-weight: 700; color: var(--text-main); letter-spacing: -0.3px; } .sidebar-nav { flex: 1; } .nav-item, .nav-item-header { padding: 12px 20px; margin: 4px 12px; display: flex; align-items: center; cursor: pointer; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); color: #4a5568; font-size: 14px; font-weight: 500; border-radius: 12px; } .nav-item:hover, .nav-item-header:hover { background-color: #edf2f7; color: #2d3748; } .nav-item.active { background-color: #ebf4ff; color: #04448a; font-weight: 600; } .icon { margin-right: 12px; font-size: 18px; width: 24px; text-align: center; } .arrow { margin-left: auto; transition: transform 0.3s; font-size: 10px; color: #a0aec0; } .arrow.open { transform: rotate(180deg); color: #4a5568; } .nav-sub-items { margin-bottom: 8px; } .nav-sub-item { padding: 10px 20px 10px 52px; margin: 2px 12px; cursor: pointer; font-size: 13px; color: #718096; transition: all 0.2s; border-radius: 10px; } .nav-sub-item:hover { background-color: #edf2f7; color: #2d3748; } .nav-sub-item.active { color: #007aff; font-weight: 600; background-color: #ebf4ff; } .sidebar-footer { padding: 0 20px; text-align: center; } .version { font-size: 12px; color: #cbd5e0; font-weight: 500; letter-spacing: 0.2px; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; } .content { flex: 1; padding: 40px 60px; overflow-y: auto; height: 100%; scrollbar-gutter: stable; } .content:has(.page-container.full-width) { overflow-y: hidden; padding-bottom: 24px; } .page-container { max-width: 800px; margin: 0 auto; padding-bottom: 0; transition: max-width 0.4s ease; } .page-container.full-width { max-width: 1400px; height: calc(100vh - 64px); display: flex; flex-direction: column; } .page-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--border-color); flex-shrink: 0; } .header-info { display: flex; flex-direction: column; gap: 4px; } .page-header h1 { font-size: 22px; font-weight: 700; margin-bottom: 0; color: var(--text-main); line-height: 1.2; } .page-header p { color: var(--text-sec); font-size: 13px; margin-bottom: 0; line-height: 1.2; } .header-actions { display: flex; align-items: center; } .placeholder-page { padding-top: 120px; text-align: center; color: var(--text-sec); } .empty-icon { font-size: 64px; display: block; margin-bottom: 24px; opacity: 0.5; }