/* Enhanced Dropdown Styles - Fixed width issues */
.enhanced-dropdown .dropdown-menu {
    width: auto !important;
    min-width: 150px !important;
    max-width: none !important;
}

/* Override w-100 class for enhanced dropdowns - more specific selectors */
.enhanced-dropdown .dropdown-menu.w-100 {
    width: auto !important;
    min-width: 150px !important;
    max-width: none !important;
}

/* Text overflow handling */
.enhanced-dropdown .dropdown-toggle {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.enhanced-dropdown .dropdown-item {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* Reset option styling */
.enhanced-dropdown .dropdown-item.reset-option {
    font-style: italic;
    border-bottom: 1px solid #dee2e6;
    margin-bottom: 2px;
    color: #212529 !important;
}

.enhanced-dropdown .dropdown-item.reset-option:hover {
    background-color: #e9ecef !important;
    color: #212529 !important;
}

/* Load more button styling */
.enhanced-dropdown .dropdown-item.text-primary {
    font-weight: 500;
    border-top: 1px solid #dee2e6;
    margin-top: 2px;
}

/* Make button fill parent container */
.enhanced-dropdown .btn.w-100 {
    width: 100% !important;
}

/* Make dropdown list fill menu completely */
.enhanced-dropdown .enhanced-dropdown-list {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

/* Ensure enhanced-dropdown-menu fills parent dropdown */
.enhanced-dropdown .enhanced-dropdown-menu {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.enhanced-dropdown-search {
    padding: 0.5rem;
    border-bottom: 1px solid var(--border-color, #e9ecef);
    background-color: var(--card-bg, #ffffff);
}

.enhanced-dropdown-search-input {
    width: 100%;
    font-size: 0.875rem;
    background-color: var(--card-bg, #ffffff) !important;
    border: 1px solid var(--border-color, #ced4da) !important;
    color: var(--text-color, #212529) !important;
}

.enhanced-dropdown-search-input:focus {
    background-color: var(--card-bg, #ffffff) !important;
    color: var(--text-color, #212529) !important;
    border-color: var(--primary-color, #0d6efd) !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25) !important;
}

.enhanced-dropdown-list-container {
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
}

.enhanced-dropdown-list {
    padding: 0;
    margin: 0;
    list-style: none;
    background-color: var(--sidebar-bg, #ffffff);
    color: var(--sidebar-text, #212529);
    width: auto;
    min-width: 100%;
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
    display: block !important;
    border-radius: 0.375rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    border: 1px solid var(--border-color, #dee2e6);
}

.enhanced-dropdown-list a {
    color: var(--sidebar-text, #212529) !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    padding: 0.25rem 1rem;
    text-decoration: none;
    border-radius: 0;
    border: none;
    width: 100%;
    text-align: left;
    background-color: transparent;
    cursor: pointer;
}

.enhanced-dropdown-list a:hover {
    background-color: var(--accent-color, #e9ecef) !important;
    color: var(--text-color, #212529) !important;
}

.enhanced-dropdown-list a.active {
    background-color: var(--primary-color, #0d6efd) !important;
    color: var(--text-on-primary, #ffffff) !important;
    font-weight: 500;
}

.enhanced-dropdown-loading {
    padding: 0.5rem;
    color: var(--text-color, #212529);
}

.load-more-item {
    cursor: pointer;
    font-style: italic;
    color: var(--primary-color, #0d6efd) !important;
}

.load-more-item:hover {
    background-color: var(--accent-color, #f8f9fa) !important;
    color: var(--text-on-primary, #ffffff) !important;
}

/* Reset option styles */
.reset-option {
    border-bottom: 1px solid #e9ecef;
    background-color: #f8f9fa;
}

.reset-option .dropdown-item {
    color: #6c757d !important;
    font-style: italic;
}

.reset-option .dropdown-item:hover {
    background-color: #e9ecef !important;
    color: #495057 !important;
}

/* Load more button */
.dropdown-item.text-primary {
    color: #0d6efd !important;
    font-weight: 500;
}

.dropdown-item.text-primary:hover {
    background-color: #f8f9fa;
    color: #0a58ca !important;
}

/* Ensure dropdowns stay within their container */
.dropdown {
    position: relative;
}

/* Enhanced dropdown positioning */
.enhanced-dropdown .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    will-change: transform;
    min-width: 100% !important;
    max-width: none !important;
    width: 100% !important;
    background: white !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 0.375rem !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: translateY(0) !important;
    /* Одна полоса прокрутки: только .enhanced-dropdown-list-container, не само меню */
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
}

/* Special handling for dropdowns inside tables */
table .enhanced-dropdown .dropdown-menu {
    z-index: 1050 !important;
    position: fixed !important;
}

#machinesTableContainer {
    overflow: visible !important;
}

#machinesTableContainer .table-responsive {
    overflow: visible !important;
}

#machinesTableContainer table {
    overflow: visible !important;
}

#machinesTableContainer tr {
    overflow: visible !important;
}

#machinesTableContainer td {
    overflow: visible !important;
    position: relative;
}

/* Ensure dropdowns in machine tables are visible */
#machinesTableContainer .enhanced-dropdown .dropdown-menu {
    z-index: 1060 !important;
    position: absolute !important;
    overflow: visible !important;
}

/* Override Bootstrap dropdown positioning */
.enhanced-dropdown .dropdown-menu[style*="top"] {
    top: 100% !important;
}

.enhanced-dropdown .dropdown-menu[style*="transform"] {
    transform: translateY(0) !important;
}

/* Force correct positioning for dropdown menus */
.enhanced-dropdown.show .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-top: 2px !important;
    transform: translateY(0) !important;
    z-index: 1050 !important;
}

/* Special handling for machine dropdowns */
.machine-product-dropdown.show .dropdown-menu,
.machine-model-dropdown.show .dropdown-menu {
    z-index: 1060 !important;
    position: absolute !important;
    overflow: visible !important;
}

/* Ensure parent container has proper positioning */
.enhanced-dropdown {
    position: relative !important;
}

.enhanced-dropdown-search {
    width: 100% !important;
    padding: 6px 12px !important;
    border: 1px solid #ced4da !important;
    border-radius: 0.25rem !important;
    font-size: 0.875rem !important;
    background-color: white !important;
    color: #212529 !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

.enhanced-dropdown-search:focus {
    outline: 0 !important;
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

/* Enhanced dropdown list container */
.enhanced-dropdown-list-container {
    max-height: 300px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Enhanced dropdown list items */
.enhanced-dropdown-list-container .dropdown-item {
    display: block !important;
    width: 100% !important;
    padding: 0.5rem 1rem !important;
    margin: 0 !important;
    clear: both !important;
    font-weight: 400 !important;
    color: var(--text-color, #212529) !important;
    text-align: inherit !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    background-color: transparent !important;
    border: 0 !important;
    cursor: pointer !important;
}

.enhanced-dropdown-list-container .dropdown-item:hover {
    color: var(--text-color, #1e2125) !important;
    background-color: var(--accent-color, #f8f9fa) !important;
}

.enhanced-dropdown-list-container .dropdown-item.active {
    color: var(--text-on-primary, #fff) !important;
    text-decoration: none !important;
    background-color: var(--primary-color, #0d6efd) !important;
}

/* Reset option styling */
.enhanced-dropdown-list-container .dropdown-item.reset-option {
    font-style: italic !important;
    color: #6c757d !important;
    background-color: #f8f9fa !important;
    border-bottom: 1px solid #dee2e6 !important;
}

.enhanced-dropdown-list-container .dropdown-item.reset-option:hover {
    background-color: #e9ecef !important;
    color: #495057 !important;
}

/* Load more button styling */
.enhanced-dropdown-list-container .dropdown-item.text-primary {
    font-weight: 500 !important;
    color: #0d6efd !important;
    border-top: 1px solid #dee2e6 !important;
    background-color: #f8f9fa !important;
}

.enhanced-dropdown-list-container .dropdown-item.text-primary:hover {
    background-color: #e9ecef !important;
    color: #0a58ca !important;
}

/* Loading indicator */
.enhanced-dropdown-loading {
    padding: 0.75rem !important;
    text-align: center !important;
    color: #6c757d !important;
    font-size: 0.875rem !important;
}

/* Selection only via .active background — no checkmark glyph in items or button text */
.dropdown-check {
    display: none !important;
}