/* ======================================== * 群組人員管理頁面專屬樣式 * ======================================== */ .role-manage-layout { display: flex; gap: var(--spacing-lg); height: calc(100vh - 250px); max-height: 800px; } /* 群組面板 */ .group-panel { flex: 0 0 33.333%; background: var(--bg-content); border-radius: var(--border-radius); border: 1px solid var(--border-color); padding: var(--spacing-lg); overflow-y: auto; max-height: 100%; } .section-title { font-size: 18px; font-weight: 600; color: var(--text-primary); margin: 0 0 var(--spacing-md) 0; padding-bottom: var(--spacing-sm); border-bottom: 2px solid var(--border-color); } .group-item { padding: var(--spacing-md); margin-bottom: var(--spacing-sm); border: 1px solid var(--border-color); border-radius: var(--border-radius); cursor: pointer; transition: all 0.2s; } .group-item:hover { border-color: var(--color-red-eye); background: #fff5f5; } .group-item.active { border-color: var(--color-red-eye); background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%); box-shadow: 0 2px 8px rgba(196, 30, 58, 0.2); } .group-name { font-weight: 600; color: var(--text-primary); margin-bottom: var(--spacing-xs); } .group-description { font-size: var(--font-size-sm); color: var(--text-muted); } /* 成員面板 */ .member-panel { flex: 1; display: flex; gap: var(--spacing-lg); min-height: 0; } .member-list-section, .member-search-section { flex: 1; background: var(--bg-content); border-radius: var(--border-radius); border: 1px solid var(--border-color); padding: var(--spacing-lg); display: flex; flex-direction: column; min-height: 0; } .search-box { margin-bottom: var(--spacing-md); } .member-list { flex: 1; overflow-y: auto; margin-bottom: var(--spacing-md); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: var(--spacing-sm); background: #f9f9f9; min-height: 0; } .member-item { padding: var(--spacing-sm) var(--spacing-md); margin-bottom: var(--spacing-xs); background: var(--bg-content); border: 1px solid var(--border-color); border-radius: var(--border-radius); display: flex; align-items: center; cursor: pointer; transition: all 0.2s; } .member-item:hover { border-color: var(--color-red-eye); background: #fff5f5; } .member-item.selected { border-color: var(--color-red-eye); background: linear-gradient(135deg, #fff5f5 0%, #ffe5e5 100%); } .member-checkbox { margin-right: var(--spacing-sm); cursor: pointer; } .member-info { flex: 1; } .member-name { font-weight: 500; color: var(--text-primary); } .member-id { font-size: var(--font-size-sm); color: var(--text-muted); margin-left: var(--spacing-sm); } .action-buttons { display: flex; gap: var(--spacing-sm); } /* 響應式設計 */ @media (max-width: 1200px) { .role-manage-layout { flex-direction: column; height: auto; max-height: none; } .group-panel { flex: 1; max-height: 300px; } .member-panel { flex-direction: column; } .member-list-section, .member-search-section { min-height: 400px; } }