.group-selector { margin: 1rem 0; padding: 1rem; background: rgba(255, 255, 255, 0.05); border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.1); } .group-selector-label { display: block; font-size: 0.875rem; font-weight: 600; color: rgba(255, 255, 255, 0.7); margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.05em; } .group-selector-select { width: 100%; padding: 0.75rem 1rem; font-size: 1rem; font-weight: 500; background: rgba(255, 255, 255, 0.1); color: white; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px; cursor: pointer; transition: all 0.2s ease; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M6 9L1 4h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 3rem; } .group-selector-select:hover:not(:disabled) { background: rgba(255, 255, 255, 0.15); border-color: rgba(255, 255, 255, 0.3); } .group-selector-select:focus { outline: none; border-color: var(--color-primary, #3b82f6); box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2); } .group-selector-select:disabled { opacity: 0.5; cursor: not-allowed; } .group-selector-select option { background: #1a1a1a; color: white; padding: 0.5rem; } .group-selector-description { margin-top: 0.5rem; font-size: 0.875rem; color: rgba(255, 255, 255, 0.5); font-style: italic; } .group-selector-loading, .group-selector-error { padding: 0.75rem; text-align: center; font-size: 0.875rem; color: rgba(255, 255, 255, 0.7); } .group-selector-error { color: #ef4444; background: rgba(239, 68, 68, 0.1); border-radius: 8px; } .group-selector-changing { margin-top: 0.5rem; padding: 0.5rem; text-align: center; font-size: 0.875rem; color: var(--color-primary, #3b82f6); background: rgba(59, 130, 246, 0.1); border-radius: 8px; animation: pulse 1.5s ease-in-out infinite; } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } /* Mobile responsiveness */ @media (max-width: 768px) { .group-selector { margin: 0.75rem 0; padding: 0.75rem; } .group-selector-select { font-size: 1rem; } }