/** * Searchable Dropdown Styles * A searchable dropdown component for better UX with large lists * Note: Variables are defined in css-variables.css * Common styles (overlay, container, title, close button, search input) are in common-components.css */ /* Main Container - Component-specific sizing */ .resolution-master-searchable-dropdown { min-width: var(--width-dropdown-min); max-width: var(--width-dropdown-max); max-height: 400px; display: flex; flex-direction: column; } /* Responsive: full width on small screens */ @media (max-width: 480px) { .resolution-master-searchable-dropdown { min-width: 200px; max-width: 90vw; } } /* Mode Toggle Container */ .resolution-master-searchable-dropdown-mode-toggle-container { padding: var(--spacing-6) var(--spacing-8); display: flex; align-items: center; gap: var(--spacing-8); border-bottom: 1px solid var(--color-gray-800); background: var(--overlay-dark-20); } .resolution-master-searchable-dropdown-mode-label { color: var(--color-gray-300); font-size: var(--font-sm); font-weight: bold; } .resolution-master-searchable-dropdown-mode-toggle { padding: var(--spacing-4) var(--spacing-12); border: 1px solid var(--color-gray-600); border-radius: var(--radius-md); font-size: var(--font-sm); cursor: pointer; transition: var(--transition-all); } /* Keyboard focus accessibility */ .resolution-master-searchable-dropdown-mode-toggle:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; } .resolution-master-searchable-dropdown-mode-toggle.list-mode { background: var(--bg-primary-20); border-color: var(--color-primary); color: var(--color-primary); } .resolution-master-searchable-dropdown-mode-toggle.visual-mode { background: rgba(100, 100, 100, 0.3); border-color: var(--color-gray-600); color: var(--color-gray-300); } .resolution-master-searchable-dropdown-mode-toggle.list-mode:hover { background: var(--bg-primary-30); } .resolution-master-searchable-dropdown-mode-toggle.visual-mode:hover { background: rgba(120, 120, 120, 0.4); } /* Items Container */ .resolution-master-searchable-dropdown-items { overflow-y: auto; max-height: 300px; padding: var(--spacing-5) 0; } /* Dropdown Item */ .resolution-master-searchable-dropdown-item { padding: var(--spacing-5) var(--spacing-12); cursor: pointer; color: var(--color-gray-100); font-size: var(--font-md); transition: background var(--transition-fast); user-select: none; line-height: var(--line-height-tight); } .resolution-master-searchable-dropdown-item:hover, .resolution-master-searchable-dropdown-item.selected { background: var(--bg-primary-30); color: var(--color-white); } /* Keyboard focus accessibility */ .resolution-master-searchable-dropdown-item:focus-visible { outline: 2px solid var(--color-primary); outline-offset: -2px; background: var(--bg-primary-30); color: var(--color-white); } /* Custom Preset Indicator */ .resolution-master-searchable-dropdown-item-custom-indicator { width: 14px; height: 14px; margin-left: var(--spacing-6); vertical-align: middle; } /* Search Highlight */ .resolution-master-searchable-dropdown-highlight { background: var(--color-primary); color: var(--color-black); font-weight: bold; padding: var(--spacing-1) var(--spacing-2); border-radius: var(--radius-sm); } /* No Results */ .resolution-master-searchable-dropdown-no-results { padding: var(--spacing-20) 15px; color: var(--color-gray-500); text-align: center; font-size: var(--font-base); line-height: 1.4; } .resolution-master-searchable-dropdown-hint { color: var(--color-primary); font-size: var(--font-sm); margin-top: var(--spacing-8); } .resolution-master-searchable-dropdown-custom-hint { color: var(--color-primary); font-size: var(--font-sm); } /* Use Custom Value Button */ .resolution-master-searchable-dropdown-use-custom-btn { margin-top: var(--spacing-12); padding: var(--spacing-6) var(--spacing-16); background: var(--bg-primary-20); border: 1px solid var(--color-primary); border-radius: var(--radius-md); color: var(--color-primary); font-size: var(--font-md); font-weight: bold; cursor: pointer; transition: var(--transition-all); } /* Keyboard focus accessibility */ .resolution-master-searchable-dropdown-use-custom-btn:focus-visible { outline: 2px solid var(--color-primary-light); outline-offset: 2px; } .resolution-master-searchable-dropdown-use-custom-btn:hover { background: var(--bg-primary-30); border-color: #7bf; color: #7bf; } .resolution-master-searchable-dropdown-use-custom-btn:active { background: var(--bg-primary-40); transform: translateY(1px); } /* Expand Button */ .resolution-master-searchable-dropdown-expand-btn { padding: var(--spacing-4) var(--spacing-12); border: none; border-top: 1px solid var(--color-gray-800); background: var(--color-gray-900); color: var(--color-primary); font-size: var(--font-xs); cursor: pointer; transition: background var(--transition-normal); } .resolution-master-searchable-dropdown-expand-btn:hover { background: var(--color-gray-800); } /* Keyboard focus accessibility */ .resolution-master-searchable-dropdown-expand-btn:focus-visible { outline: 2px solid var(--color-primary); outline-offset: -2px; } /* Count Indicator */ .resolution-master-searchable-dropdown-count { padding: var(--spacing-6) var(--spacing-12); border-top: 1px solid var(--color-gray-800); color: var(--color-gray-500); font-size: var(--font-xs); text-align: center; }