.board-members-section { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #e5e7eb; } .board-members-section h3 { font-size: 1rem; font-weight: 600; color: #374151; margin: 0 0 1rem 0; } .members-loading { padding: 1rem; text-align: center; color: #9ca3af; } .no-members { padding: 1.5rem; text-align: center; background: #f9fafb; border-radius: 8px; } .no-members p { margin: 0; color: #6b7280; } .no-members .hint { margin-top: 0.5rem; font-size: 0.85rem; color: #9ca3af; } .members-list { display: flex; flex-direction: column; gap: 8px; } .member-item { display: flex; align-items: center; gap: 12px; padding: 12px; background: #f9fafb; border-radius: 8px; transition: background 0.15s; } .member-item:hover { background: #f3f4f6; } .member-avatar { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 1rem; flex-shrink: 0; } .member-info { flex: 1; min-width: 0; } .member-name { font-weight: 500; color: #1f2937; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .member-date { font-size: 0.8rem; color: #9ca3af; margin-top: 2px; } .remove-member-btn { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; background: transparent; border: 1px solid #e5e7eb; border-radius: 6px; color: #9ca3af; cursor: pointer; transition: all 0.2s; flex-shrink: 0; } .remove-member-btn:hover:not(:disabled) { background: #fef2f2; border-color: #fecaca; color: #ef4444; } .remove-member-btn:disabled { opacity: 0.5; cursor: not-allowed; } .spinner-small { width: 14px; height: 14px; border: 2px solid #d1d5db; border-top-color: #6366f1; border-radius: 50%; animation: spin 0.8s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } }