/* Custom Select Component Styles */ /* Base wrapper */ .custom-select-wrapper { position: relative; width: 100%; } /* Display element */ .custom-select-display { user-select: none; position: relative; overflow: hidden; } .custom-select-display:focus { outline: none; } /* Dropdown container */ .custom-select-dropdown { max-height: 320px; transform-origin: top center; backdrop-filter: blur(10px); } /* Options container */ .custom-select-options { scrollbar-width: thin; scrollbar-color: #e2e8f0 #f8fafc; } .custom-select-options::-webkit-scrollbar { width: 10px; } .custom-select-options::-webkit-scrollbar-track { background: #f8fafc; border-radius: 8px; margin: 4px; } .custom-select-options::-webkit-scrollbar-thumb { background-color: #e2e8f0; border-radius: 8px; border: 2px solid #f8fafc; } .custom-select-options::-webkit-scrollbar-thumb:hover { background-color: #cbd5e1; } /* Option hover and selected states */ .custom-select-option { position: relative; overflow: hidden; } .custom-select-option::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.1), transparent); transition: left 0.5s; } .custom-select-option:hover::before { left: 100%; } .custom-select-option.selected { background-color: #eff6ff; color: #1e40af; font-weight: 600; } /* Arrow animation */ .select-arrow-wrapper { position: relative; overflow: hidden; } .select-arrow-wrapper::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: rgba(59, 130, 246, 0.1); border-radius: 50%; transform: translate(-50%, -50%); transition: width 0.3s, height 0.3s; } .custom-select-display:hover .select-arrow-wrapper::before { width: 40px; height: 40px; } /* Search input styles */ .custom-select-dropdown input[type="text"] { transition: all 0.2s ease; } .custom-select-dropdown input[type="text"]:focus { transform: scale(1.02); } /* Loading state */ .custom-select-loading { display: flex; align-items: center; justify-content: center; padding: 2rem; color: #6b7280; } .custom-select-loading svg { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Disabled state */ .custom-select-wrapper.disabled .custom-select-display { opacity: 0.6; cursor: not-allowed; background-color: #f9fafb; } .custom-select-wrapper.disabled .custom-select-display:hover { border-color: #e5e7eb; box-shadow: none; } /* Dark mode support */ @media (prefers-color-scheme: dark) { .custom-select-display { background-color: #1f2937; border-color: #374151; color: #f3f4f6; } .custom-select-dropdown { background-color: #1f2937; border-color: #374151; } .custom-select-option { color: #f3f4f6; } .custom-select-option:hover { background-color: #374151; } .custom-select-option.selected { background-color: #1e3a8a; color: #dbeafe; } .select-arrow-wrapper { background-color: #374151; } .custom-select-dropdown input[type="text"] { background-color: #111827; border-color: #374151; color: #f3f4f6; } }