/* Layout Container */ .layout-container { display: flex; height: 100vh; width: 100vw; background-color: var(--sokuree-bg-main); overflow: hidden; } /* Sidebar */ .sidebar { width: 260px; background-color: var(--sokuree-bg-sidebar); color: var(--sokuree-text-inverse); display: flex; flex-direction: column; border-right: 1px solid rgba(255, 255, 255, 0.05); flex-shrink: 0; z-index: 20; } .sidebar-header { height: 64px; display: flex; align-items: center; padding: 0 1.5rem; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .brand { display: flex; align-items: center; gap: 0.75rem; color: #fff; } .brand-text { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.025em; color: #fff; } .sidebar-nav { flex: 1; padding: 1.5rem 0.75rem; display: flex; flex-direction: column; gap: 0.5rem; overflow-y: auto; } /* Module Group Styles */ .module-group { margin-bottom: 0.5rem; } .module-header { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 0.75rem; color: #94a3b8; font-weight: 600; font-size: 0.9rem; transition: var(--transition-base); border-radius: var(--sokuree-radius-md); } .module-header:hover { background-color: rgba(255, 255, 255, 0.05); color: #fff; } .module-header.active { color: #fff; background-color: rgba(255, 255, 255, 0.05); } .module-title { display: flex; align-items: center; gap: 0.75rem; } .module-items { display: flex; flex-direction: column; gap: 0.25rem; padding-left: 0.5rem; margin-top: 0.25rem; padding-bottom: 0.5rem; } .nav-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.6rem 0.75rem 0.6rem 1rem; border-radius: var(--sokuree-radius-md); color: #94a3b8; transition: var(--transition-base); font-weight: 500; font-size: 0.9rem; text-decoration: none; cursor: pointer; position: relative; z-index: 5; } .nav-item:hover { color: #fff; background-color: rgba(255, 255, 255, 0.1); } .nav-item.active { background-color: var(--sokuree-brand-primary); color: #fff; font-weight: 600; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); } .sidebar-footer { padding: 1rem; border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; align-items: center; justify-content: space-between; } .user-info { display: flex; align-items: center; gap: 0.75rem; } .user-avatar { width: 36px; height: 36px; border-radius: 50%; background-color: var(--sokuree-brand-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.875rem; } .user-details { display: flex; flex-direction: column; } .user-name { font-size: 0.875rem; font-weight: 600; color: #fff; } .user-role { font-size: 0.75rem; color: #94a3b8; } .logout-btn { color: #94a3b8; padding: 0.5rem; border-radius: var(--sokuree-radius-sm); transition: var(--transition-base); } .logout-btn:hover { color: #ef4444; background-color: rgba(239, 68, 68, 0.1); } /* Main Content */ .main-content { flex: 1; display: flex; flex-direction: column; overflow: hidden; background-color: var(--sokuree-bg-main); } @keyframes fadeIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } } /* Top Header - White Theme */ .top-header { height: 64px; background-color: var(--sokuree-bg-card); border-bottom: 1px solid var(--sokuree-border-color); display: flex; align-items: flex-end; padding: 0 2.5rem; color: var(--sokuree-text-primary); justify-content: flex-end; /* Align to right */ } .header-tabs { display: flex; gap: 1.5rem; /* Better gap between tabs */ } .tab-item { padding: 0.75rem 0.5rem; font-weight: 500; color: var(--sokuree-text-secondary); border-bottom: 3px solid transparent; transition: all 0.2s; font-size: 0.95rem; background: none; cursor: pointer; position: relative; top: 1px; text-decoration: none; white-space: nowrap; } .tab-item:hover { color: var(--sokuree-brand-primary); } .tab-item.active { color: var(--sokuree-brand-primary); font-weight: 700; border-bottom-color: var(--sokuree-brand-primary); } .header-actions { margin-left: auto; } /* Content Area */ .content-area { flex: 1; padding: 2rem; overflow-y: auto; }