diff --git a/assets/css/admin/entity-selector.css b/assets/css/admin/entity-selector.css index 9e3ceb1..65fa5c9 100644 --- a/assets/css/admin/entity-selector.css +++ b/assets/css/admin/entity-selector.css @@ -1,2 +1,2 @@ -@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.target-conditions-trait,.target-conditions-trait *,.entity-selector-trait,.entity-selector-trait *,.method-dropdown-menu,.method-dropdown-menu *,.target-preview-popover,.target-preview-popover *{border-style:solid;border-width:0;border-color:#dee2e6}.form-group:has(.entity-selector-trait),.form-group:has(.target-conditions-trait),.form-group:has(.condition-trait){display:block}.form-group:has(.entity-selector-trait)>.control-label,.form-group:has(.target-conditions-trait)>.control-label,.form-group:has(.condition-trait)>.control-label{display:none}.form-group:has(.entity-selector-trait)>.col-lg-8,.form-group:has(.target-conditions-trait)>.col-lg-8,.form-group:has(.condition-trait)>.col-lg-8{width:100%;max-width:100%;padding-left:1rem;padding-right:1rem;flex:0 0 100% !important}.form-group.condition-trait-fullwidth{display:block}.form-group.condition-trait-fullwidth>.control-label{display:none}.form-group.condition-trait-fullwidth>.col-lg-8{width:100%;max-width:100%;padding-left:1rem;padding-right:1rem;flex:0 0 100% !important}.panel:has(.target-search-dropdown.show),.card:has(.target-search-dropdown.show),.form-wrapper:has(.target-search-dropdown.show),.panel-body:has(.target-search-dropdown.show),.card-body:has(.target-search-dropdown.show),.form-group:has(.target-search-dropdown.show),.col-lg-8:has(.target-search-dropdown.show),.col-lg-12:has(.target-search-dropdown.show){overflow:visible !important}.target-conditions-trait:has(.target-search-dropdown.show),.entity-selector-trait:has(.target-search-dropdown.show),.condition-trait-body:has(.target-search-dropdown.show),.target-block-content:has(.target-search-dropdown.show),.target-block-groups:has(.target-search-dropdown.show),.target-group:has(.target-search-dropdown.show),.target-group-body:has(.target-search-dropdown.show),.target-search-wrapper:has(.target-search-dropdown.show){overflow:visible !important}@media(max-width: 991px){.target-conditions-trait .condition-trait-header,.entity-selector-trait .condition-trait-header{flex-direction:column;align-items:flex-start;gap:.5rem}.target-conditions-trait .trait-header-right,.entity-selector-trait .trait-header-right{width:100%;justify-content:flex-end}.target-conditions-trait .target-block-tabs,.entity-selector-trait .target-block-tabs{flex-wrap:wrap}}@media(max-width: 767px){.target-conditions-trait .target-block-tab,.entity-selector-trait .target-block-tab{padding:.5rem;font-size:.75rem}.target-conditions-trait .target-group-header,.entity-selector-trait .target-group-header{flex-direction:column;align-items:flex-start}.target-conditions-trait .target-search-dropdown,.entity-selector-trait .target-search-dropdown{width:100% !important;left:0 !important;right:0 !important}.target-conditions-trait .dropdown-results-grid,.entity-selector-trait .dropdown-results-grid{grid-template-columns:1fr !important}}@media(min-width: 1600px){.target-conditions-trait .dropdown-results-grid.view-grid-3,.entity-selector-trait .dropdown-results-grid.view-grid-3{grid-template-columns:repeat(4, 1fr)}}.target-conditions-trait,.entity-selector-trait{position:relative;overflow:visible;background:#fff;border:1px solid #dee2e6;border-radius:.3rem}.target-conditions-trait .condition-trait-header,.entity-selector-trait .condition-trait-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:.875rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;cursor:pointer;user-select:none;transition:background-color .15s ease-in-out}.target-conditions-trait .condition-trait-header:hover,.entity-selector-trait .condition-trait-header:hover{background:#e9ecef}.target-conditions-trait .trait-header-left,.entity-selector-trait .trait-header-left{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.target-conditions-trait .trait-icon,.entity-selector-trait .trait-icon{font-size:1.125rem;color:#6c757d;flex-shrink:0}.target-conditions-trait .trait-title-group,.entity-selector-trait .trait-title-group{display:flex;flex-direction:column;gap:.125rem;min-width:0}.target-conditions-trait .trait-title,.entity-selector-trait .trait-title{font-size:.875rem;font-weight:600;color:#212529;white-space:nowrap}.target-conditions-trait .trait-subtitle,.entity-selector-trait .trait-subtitle{font-size:.75rem;color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-conditions-trait .trait-total-count,.entity-selector-trait .trait-total-count{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .trait-total-count:hover,.entity-selector-trait .trait-total-count:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .trait-total-count:focus,.entity-selector-trait .trait-total-count:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .trait-total-count.loading,.entity-selector-trait .trait-total-count.loading{cursor:wait}.target-conditions-trait .trait-total-count.loading i,.entity-selector-trait .trait-total-count.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .trait-total-count.loading:hover,.entity-selector-trait .trait-total-count.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .trait-total-count.inactive,.target-conditions-trait .trait-total-count.no-matches,.entity-selector-trait .trait-total-count.inactive,.entity-selector-trait .trait-total-count.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .trait-total-count.inactive:hover,.target-conditions-trait .trait-total-count.no-matches:hover,.entity-selector-trait .trait-total-count.inactive:hover,.entity-selector-trait .trait-total-count.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .trait-total-count.popover-open,.entity-selector-trait .trait-total-count.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .trait-total-count i,.entity-selector-trait .trait-total-count i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .trait-total-count:hover i,.entity-selector-trait .trait-total-count:hover i{opacity:1}.target-conditions-trait .trait-total-count .preview-count,.entity-selector-trait .trait-total-count .preview-count{font-weight:700}.target-conditions-trait .trait-total-count,.entity-selector-trait .trait-total-count{margin-left:.5rem}.target-conditions-trait .trait-show-all-toggle,.entity-selector-trait .trait-show-all-toggle{display:inline-flex;align-items:center;gap:.5rem;margin-right:.75rem;padding:.25rem .5rem;border-radius:.2rem;cursor:pointer;user-select:none;transition:background-color .15s ease-in-out}.target-conditions-trait .trait-show-all-toggle:hover,.entity-selector-trait .trait-show-all-toggle:hover{background:rgba(0,0,0,.05)}.target-conditions-trait .trait-show-all-toggle .toggle-label,.entity-selector-trait .trait-show-all-toggle .toggle-label{font-size:.75rem;font-weight:500;color:#6c757d}.target-conditions-trait .trait-show-all-toggle .show-all-checkbox,.entity-selector-trait .trait-show-all-toggle .show-all-checkbox{display:none}.target-conditions-trait .trait-show-all-toggle .toggle-slider,.entity-selector-trait .trait-show-all-toggle .toggle-slider{position:relative;width:36px;height:20px;background:#cbd5e1;border-radius:50rem;transition:background-color .2s ease-in-out}.target-conditions-trait .trait-show-all-toggle .toggle-slider::after,.entity-selector-trait .trait-show-all-toggle .toggle-slider::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s ease-in-out}.target-conditions-trait .trait-show-all-toggle .show-all-checkbox:checked+.toggle-slider,.entity-selector-trait .trait-show-all-toggle .show-all-checkbox:checked+.toggle-slider{background:#28a745}.target-conditions-trait .trait-show-all-toggle .show-all-checkbox:checked+.toggle-slider::after,.entity-selector-trait .trait-show-all-toggle .show-all-checkbox:checked+.toggle-slider::after{transform:translateX(16px)}.target-conditions-trait.has-validation-error,.entity-selector-trait.has-validation-error{border-color:#dc3545;box-shadow:0 0 0 3px rgba(220,53,69,.1)}.target-conditions-trait.has-validation-error .condition-trait-header,.entity-selector-trait.has-validation-error .condition-trait-header{border-bottom-color:#dc3545}.target-conditions-trait .trait-validation-error,.entity-selector-trait .trait-validation-error{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f8d7da;color:#b91c1c;font-size:.875rem;font-weight:500;border-bottom:1px solid #fecaca}.target-conditions-trait .trait-validation-error i,.entity-selector-trait .trait-validation-error i{color:#dc3545}.target-conditions-trait.trait-required .trait-title::after,.entity-selector-trait.trait-required .trait-title::after{content:" *";color:#dc3545}.target-conditions-trait .condition-trait-body,.entity-selector-trait .condition-trait-body{padding:0;background:#fff;border-radius:0 0 .3rem .3rem}.target-conditions-trait .target-block-tabs,.entity-selector-trait .target-block-tabs{display:flex;flex-wrap:wrap;gap:0;padding:0;background:#f1f5f9;border-bottom:1px solid #dee2e6}.target-conditions-trait .target-block-tab,.entity-selector-trait .target-block-tab{position:relative;display:flex;align-items:center;gap:.5rem;flex:none;min-width:0;padding:.625rem 1rem;margin-bottom:-1px;background:rgba(0,0,0,0);border:0;border-bottom:2px solid rgba(0,0,0,0);color:#6c757d;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .target-block-tab:hover,.entity-selector-trait .target-block-tab:hover{background:#e2e8f0;color:#334155}.target-conditions-trait .target-block-tab.active,.entity-selector-trait .target-block-tab.active{background:#fff;border-bottom-color:#06b6d4;color:#25b9d7}.target-conditions-trait .target-block-tab i,.entity-selector-trait .target-block-tab i{font-size:.875rem}.target-conditions-trait .target-block-tab .tab-label,.entity-selector-trait .target-block-tab .tab-label{white-space:nowrap}.target-conditions-trait .target-block-tab .tab-badge,.entity-selector-trait .target-block-tab .tab-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .target-block-tab .tab-badge:hover,.entity-selector-trait .target-block-tab .tab-badge:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .target-block-tab .tab-badge:focus,.entity-selector-trait .target-block-tab .tab-badge:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .target-block-tab .tab-badge.loading,.entity-selector-trait .target-block-tab .tab-badge.loading{cursor:wait}.target-conditions-trait .target-block-tab .tab-badge.loading i,.entity-selector-trait .target-block-tab .tab-badge.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .target-block-tab .tab-badge.loading:hover,.entity-selector-trait .target-block-tab .tab-badge.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .target-block-tab .tab-badge.inactive,.target-conditions-trait .target-block-tab .tab-badge.no-matches,.entity-selector-trait .target-block-tab .tab-badge.inactive,.entity-selector-trait .target-block-tab .tab-badge.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .target-block-tab .tab-badge.inactive:hover,.target-conditions-trait .target-block-tab .tab-badge.no-matches:hover,.entity-selector-trait .target-block-tab .tab-badge.inactive:hover,.entity-selector-trait .target-block-tab .tab-badge.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .target-block-tab .tab-badge.popover-open,.entity-selector-trait .target-block-tab .tab-badge.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .target-block-tab .tab-badge i,.entity-selector-trait .target-block-tab .tab-badge i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .target-block-tab .tab-badge:hover i,.entity-selector-trait .target-block-tab .tab-badge:hover i{opacity:1}.target-conditions-trait .target-block-tab .tab-badge .preview-count,.entity-selector-trait .target-block-tab .tab-badge .preview-count{font-weight:700}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#94a3b8;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge:hover,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(148,163,184,.4)}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge:focus,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge:focus{outline:none;box-shadow:0 0 0 2px rgba(148,163,184,.3),0 2px 8px rgba(148,163,184,.4)}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.loading,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.loading{cursor:wait}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.loading i,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.loading:hover,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.inactive,.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.no-matches,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.inactive,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.inactive:hover,.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.no-matches:hover,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.inactive:hover,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.popover-open,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.popover-open{background:hsl(215,20.2247191011%,55.0980392157%);box-shadow:0 2px 8px rgba(148,163,184,.4)}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge i,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge:hover i,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge:hover i{opacity:1}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge .preview-count,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge .preview-count{font-weight:700}.target-conditions-trait .target-block-container,.entity-selector-trait .target-block-container{display:none}.target-conditions-trait .target-block-container.active,.entity-selector-trait .target-block-container.active{display:block}.target-conditions-trait .target-block-content,.entity-selector-trait .target-block-content{padding:1rem}.target-conditions-trait .target-block-groups,.entity-selector-trait .target-block-groups{display:flex;flex-direction:column;gap:1rem}.target-conditions-trait .target-block-header,.entity-selector-trait .target-block-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.target-conditions-trait .target-block-empty,.entity-selector-trait .target-block-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;color:#6c757d}.target-conditions-trait .target-block-empty i,.entity-selector-trait .target-block-empty i{font-size:2rem;opacity:.5}.target-conditions-trait .target-block-empty p,.entity-selector-trait .target-block-empty p{margin:0;font-size:.875rem}.target-conditions-trait .trait-collapse-toggle,.target-conditions-trait .collapse-toggle,.entity-selector-trait .trait-collapse-toggle,.entity-selector-trait .collapse-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;cursor:pointer;transition:transform .2s ease-in-out}.target-conditions-trait .trait-collapse-toggle.collapsed,.target-conditions-trait .collapse-toggle.collapsed,.entity-selector-trait .trait-collapse-toggle.collapsed,.entity-selector-trait .collapse-toggle.collapsed{transform:rotate(-90deg)}.target-conditions-trait .trait-header-right,.entity-selector-trait .trait-header-right{display:flex;align-items:center;gap:.5rem}.target-conditions-trait.collapsed .condition-trait-body,.entity-selector-trait.collapsed .condition-trait-body{display:none}.target-conditions-trait.collapsed .condition-trait-header,.entity-selector-trait.collapsed .condition-trait-header{border-radius:.3rem}.target-conditions-trait.single-mode .target-block-tabs,.entity-selector-trait.single-mode .target-block-tabs{display:none}.target-conditions-trait.single-mode .target-block-container,.entity-selector-trait.single-mode .target-block-container{display:block}.target-conditions-trait .header-actions,.entity-selector-trait .header-actions{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .header-action-btn,.entity-selector-trait .header-action-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .header-action-btn:focus,.entity-selector-trait .header-action-btn:focus{outline:none}.target-conditions-trait .header-action-btn,.entity-selector-trait .header-action-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#6c757d;background:rgba(0,0,0,0);border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .header-action-btn:hover,.entity-selector-trait .header-action-btn:hover{background:#e2e8f0;color:#495057}.target-conditions-trait .header-action-btn i,.entity-selector-trait .header-action-btn i{font-size:12px}.target-conditions-trait .target-search-wrapper,.entity-selector-trait .target-search-wrapper{position:relative}.target-conditions-trait .target-search-dropdown,.entity-selector-trait .target-search-dropdown{position:absolute;z-index:1000;background:#fff;border:1px solid #dee2e6;border-radius:.3rem;box-shadow:0 1rem 3rem rgba(0,0,0,.175);display:none;width:600px;max-width:calc(100vw - 40px)}.target-conditions-trait .target-search-dropdown.show,.entity-selector-trait .target-search-dropdown.show{display:block}.target-conditions-trait .dropdown-header,.entity-selector-trait .dropdown-header{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0}.target-conditions-trait .dropdown-search-input,.entity-selector-trait .dropdown-search-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .dropdown-search-input:focus,.entity-selector-trait .dropdown-search-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .dropdown-search-input::placeholder,.entity-selector-trait .dropdown-search-input::placeholder{color:#adb5bd}.target-conditions-trait .dropdown-search-input,.entity-selector-trait .dropdown-search-input{flex:1;padding:.5rem 1rem}.target-conditions-trait .dropdown-close-btn,.entity-selector-trait .dropdown-close-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .dropdown-close-btn:focus,.entity-selector-trait .dropdown-close-btn:focus{outline:none}.target-conditions-trait .dropdown-close-btn,.entity-selector-trait .dropdown-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#6c757d;border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .dropdown-close-btn:hover,.entity-selector-trait .dropdown-close-btn:hover{background:#e2e8f0;color:#495057}.target-conditions-trait .dropdown-controls,.entity-selector-trait .dropdown-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #dee2e6}.target-conditions-trait .dropdown-controls-left,.target-conditions-trait .dropdown-controls-right,.entity-selector-trait .dropdown-controls-left,.entity-selector-trait .dropdown-controls-right{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .view-mode-btn,.entity-selector-trait .view-mode-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .view-mode-btn:focus,.entity-selector-trait .view-mode-btn:focus{outline:none}.target-conditions-trait .view-mode-btn,.entity-selector-trait .view-mode-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;background:rgba(0,0,0,0);border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .view-mode-btn:hover,.entity-selector-trait .view-mode-btn:hover{background:#f1f5f9;color:#495057}.target-conditions-trait .view-mode-btn.active,.entity-selector-trait .view-mode-btn.active{background:#25b9d7;color:#fff}.target-conditions-trait .dropdown-results-count,.entity-selector-trait .dropdown-results-count{font-size:.75rem;color:#6c757d}.target-conditions-trait .dropdown-body,.entity-selector-trait .dropdown-body{max-height:400px;overflow-y:auto}.target-conditions-trait .dropdown-body::-webkit-scrollbar,.entity-selector-trait .dropdown-body::-webkit-scrollbar{width:6px;height:6px}.target-conditions-trait .dropdown-body::-webkit-scrollbar-track,.entity-selector-trait .dropdown-body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-conditions-trait .dropdown-body::-webkit-scrollbar-thumb,.entity-selector-trait .dropdown-body::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-conditions-trait .dropdown-body::-webkit-scrollbar-thumb:hover,.entity-selector-trait .dropdown-body::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-conditions-trait .dropdown-results,.entity-selector-trait .dropdown-results{padding:0 .5rem}.target-conditions-trait .results-count,.entity-selector-trait .results-count{font-size:.75rem;color:#6c757d;padding:.25rem .5rem}.target-conditions-trait .results-header,.entity-selector-trait .results-header{display:flex;align-items:center;gap:.5rem;padding:.25rem 1rem;background:#f1f5f9;border-bottom:1px solid #dee2e6;font-size:.75rem;font-weight:600;color:#495057}.target-conditions-trait .dropdown-results-grid,.entity-selector-trait .dropdown-results-grid{display:grid;gap:.5rem}.target-conditions-trait .dropdown-results-grid.view-list,.entity-selector-trait .dropdown-results-grid.view-list{grid-template-columns:1fr}.target-conditions-trait .dropdown-results-grid.view-grid-2,.entity-selector-trait .dropdown-results-grid.view-grid-2{grid-template-columns:repeat(2, 1fr)}.target-conditions-trait .dropdown-results-grid.view-grid-3,.entity-selector-trait .dropdown-results-grid.view-grid-3{grid-template-columns:repeat(3, 1fr)}.target-conditions-trait .dropdown-result-item,.entity-selector-trait .dropdown-result-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:#fff;border:none;border-bottom:1px solid #dee2e6;border-radius:0;cursor:pointer;transition:background .15s ease-in-out}.target-conditions-trait .dropdown-result-item:last-child,.entity-selector-trait .dropdown-result-item:last-child{border-bottom:none}.target-conditions-trait .dropdown-result-item:hover,.entity-selector-trait .dropdown-result-item:hover{background:#e9ecef}.target-conditions-trait .dropdown-result-item.selected,.entity-selector-trait .dropdown-result-item.selected{background:rgba(37,185,215,.1)}.target-conditions-trait .dropdown-result-item.disabled,.entity-selector-trait .dropdown-result-item.disabled{opacity:.5;cursor:not-allowed}.target-conditions-trait .dropdown-result-item.disabled:hover,.entity-selector-trait .dropdown-result-item.disabled:hover{background:#fff}.target-conditions-trait .result-item-image,.target-conditions-trait .result-image,.entity-selector-trait .result-item-image,.entity-selector-trait .result-image{flex-shrink:0;width:40px;height:40px;overflow:hidden;border-radius:.2rem;background:#f1f5f9}.target-conditions-trait .result-item-image img,.target-conditions-trait .result-image img,.entity-selector-trait .result-item-image img,.entity-selector-trait .result-image img{width:100%;height:100%;object-fit:cover}.target-conditions-trait .result-icon,.entity-selector-trait .result-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;background:#f1f5f9;border-radius:.2rem;color:#6c757d}.target-conditions-trait .result-icon i,.entity-selector-trait .result-icon i{font-size:16px}.target-conditions-trait .result-item-info,.target-conditions-trait .result-info,.entity-selector-trait .result-item-info,.entity-selector-trait .result-info{flex:1;min-width:0}.target-conditions-trait .result-item-name,.target-conditions-trait .result-name,.entity-selector-trait .result-item-name,.entity-selector-trait .result-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .result-item-meta,.target-conditions-trait .result-subtitle,.entity-selector-trait .result-item-meta,.entity-selector-trait .result-subtitle{font-size:.75rem;color:#6c757d}.target-conditions-trait .subtitle-line,.entity-selector-trait .subtitle-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .subtitle-line-primary,.entity-selector-trait .subtitle-line-primary{color:#495057}.target-conditions-trait .subtitle-line-secondary,.entity-selector-trait .subtitle-line-secondary{color:#6c757d;font-size:11px}.target-conditions-trait .result-col,.entity-selector-trait .result-col{flex-shrink:0;width:70px;text-align:right;font-size:.75rem}.target-conditions-trait .result-col-price,.entity-selector-trait .result-col-price{color:#495057}.target-conditions-trait .result-col-sale,.entity-selector-trait .result-col-sale{color:#dc3545;font-weight:600}.target-conditions-trait .result-col-stock .col-value.stock-ok,.entity-selector-trait .result-col-stock .col-value.stock-ok{color:#28a745}.target-conditions-trait .result-col-stock .col-value.stock-low,.entity-selector-trait .result-col-stock .col-value.stock-low{color:#ffc107}.target-conditions-trait .result-col-stock .col-value.stock-out,.entity-selector-trait .result-col-stock .col-value.stock-out{color:#dc3545}.target-conditions-trait .result-col-sales,.entity-selector-trait .result-col-sales{color:#6c757d}.target-conditions-trait .col-value,.entity-selector-trait .col-value{display:block}.target-conditions-trait .result-item-checkbox,.target-conditions-trait .result-checkbox,.entity-selector-trait .result-item-checkbox,.entity-selector-trait .result-checkbox{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border:2px solid #ced4da;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .result-item-checkbox i,.target-conditions-trait .result-checkbox i,.entity-selector-trait .result-item-checkbox i,.entity-selector-trait .result-checkbox i{display:none;font-size:10px;color:#fff}.dropdown-result-item.selected .target-conditions-trait .result-item-checkbox,.dropdown-item.selected .target-conditions-trait .result-item-checkbox,.dropdown-result-item.selected .target-conditions-trait .result-checkbox,.dropdown-item.selected .target-conditions-trait .result-checkbox,.dropdown-result-item.selected .entity-selector-trait .result-item-checkbox,.dropdown-item.selected .entity-selector-trait .result-item-checkbox,.dropdown-result-item.selected .entity-selector-trait .result-checkbox,.dropdown-item.selected .entity-selector-trait .result-checkbox{background:#25b9d7;border-color:#25b9d7}.dropdown-result-item.selected .target-conditions-trait .result-item-checkbox i,.dropdown-item.selected .target-conditions-trait .result-item-checkbox i,.dropdown-result-item.selected .target-conditions-trait .result-checkbox i,.dropdown-item.selected .target-conditions-trait .result-checkbox i,.dropdown-result-item.selected .entity-selector-trait .result-item-checkbox i,.dropdown-item.selected .entity-selector-trait .result-item-checkbox i,.dropdown-result-item.selected .entity-selector-trait .result-checkbox i,.dropdown-item.selected .entity-selector-trait .result-checkbox i{display:block}.target-conditions-trait .result-item-product,.entity-selector-trait .result-item-product{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .no-results,.entity-selector-trait .no-results{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6c757d;font-size:.875rem}.target-conditions-trait .no-results i,.entity-selector-trait .no-results i{font-size:1.25rem;opacity:.5}.target-conditions-trait .dropdown-empty,.entity-selector-trait .dropdown-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;color:#6c757d}.target-conditions-trait .dropdown-empty i,.entity-selector-trait .dropdown-empty i{font-size:2rem;opacity:.5}.target-conditions-trait .dropdown-empty p,.entity-selector-trait .dropdown-empty p{margin:0;font-size:.875rem}.target-conditions-trait .dropdown-loading,.entity-selector-trait .dropdown-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6c757d}.target-conditions-trait .dropdown-loading i,.entity-selector-trait .dropdown-loading i{font-size:1.5rem;animation:spin 1s linear infinite}.target-conditions-trait .load-more-controls,.entity-selector-trait .load-more-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-top:1px solid #dee2e6;font-size:.75rem;color:#6c757d}.target-conditions-trait .load-more-controls .remaining-count,.entity-selector-trait .load-more-controls .remaining-count{font-weight:600;color:#495057}.target-conditions-trait .load-more-controls .load-more-select,.entity-selector-trait .load-more-controls .load-more-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .load-more-controls .load-more-select:focus,.entity-selector-trait .load-more-controls .load-more-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .load-more-controls .load-more-select::placeholder,.entity-selector-trait .load-more-controls .load-more-select::placeholder{color:#adb5bd}.target-conditions-trait .load-more-controls .load-more-select,.entity-selector-trait .load-more-controls .load-more-select{padding:.25rem .5rem;font-size:.75rem;min-width:70px}.target-conditions-trait .dropdown-load-more,.entity-selector-trait .dropdown-load-more{display:flex;justify-content:center;padding:1rem;border-top:1px solid #dee2e6}.target-conditions-trait .dropdown-load-more .load-more-btn,.entity-selector-trait .dropdown-load-more .load-more-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .dropdown-load-more .load-more-btn:focus,.entity-selector-trait .dropdown-load-more .load-more-btn:focus{outline:none}.target-conditions-trait .dropdown-load-more .load-more-btn,.entity-selector-trait .dropdown-load-more .load-more-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#25b9d7;background:rgba(37,185,215,.1);border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .dropdown-load-more .load-more-btn:hover,.entity-selector-trait .dropdown-load-more .load-more-btn:hover{background:rgba(37,185,215,.2)}.target-conditions-trait .dropdown-load-more .load-more-btn.loading,.entity-selector-trait .dropdown-load-more .load-more-btn.loading{opacity:.7;cursor:wait}.target-conditions-trait .dropdown-footer,.entity-selector-trait .dropdown-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border-top:1px solid #dee2e6;border-radius:0 0 .3rem .3rem}.target-conditions-trait .dropdown-selection-count,.entity-selector-trait .dropdown-selection-count{font-size:.75rem;color:#6c757d}.target-conditions-trait .dropdown-selection-count strong,.entity-selector-trait .dropdown-selection-count strong{color:#25b9d7}.target-conditions-trait .dropdown-actions,.entity-selector-trait .dropdown-actions{display:flex;gap:.5rem}.target-conditions-trait .dropdown-action-btn,.entity-selector-trait .dropdown-action-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .dropdown-action-btn:focus,.entity-selector-trait .dropdown-action-btn:focus{outline:none}.target-conditions-trait .dropdown-action-btn,.entity-selector-trait .dropdown-action-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .dropdown-action-btn.btn-cancel,.entity-selector-trait .dropdown-action-btn.btn-cancel{color:#495057;background:#f1f5f9}.target-conditions-trait .dropdown-action-btn.btn-cancel:hover,.entity-selector-trait .dropdown-action-btn.btn-cancel:hover{background:#e2e8f0}.target-conditions-trait .dropdown-action-btn.btn-apply,.entity-selector-trait .dropdown-action-btn.btn-apply{color:#fff;background:#25b9d7}.target-conditions-trait .dropdown-action-btn.btn-apply:hover,.entity-selector-trait .dropdown-action-btn.btn-apply:hover{background:#1a9ab7}.target-conditions-trait .dropdown-filter-panel,.entity-selector-trait .dropdown-filter-panel{padding:1rem;background:#f8fafc;border-bottom:1px solid #dee2e6}.target-conditions-trait .filter-panel-header,.entity-selector-trait .filter-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.target-conditions-trait .filter-panel-title,.entity-selector-trait .filter-panel-title{font-size:.875rem;font-weight:600;color:#212529}.target-conditions-trait .filter-panel-toggle,.entity-selector-trait .filter-panel-toggle{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .filter-panel-toggle:focus,.entity-selector-trait .filter-panel-toggle:focus{outline:none}.target-conditions-trait .filter-panel-toggle,.entity-selector-trait .filter-panel-toggle{font-size:.75rem;color:#25b9d7}.target-conditions-trait .filter-panel-toggle:hover,.entity-selector-trait .filter-panel-toggle:hover{text-decoration:underline}.target-conditions-trait .filter-panel-content,.entity-selector-trait .filter-panel-content{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr))}.target-conditions-trait .filter-group,.entity-selector-trait .filter-group{display:flex;flex-direction:column;gap:.25rem}.target-conditions-trait .filter-label,.entity-selector-trait .filter-label{font-size:.75rem;font-weight:500;color:#495057}.target-conditions-trait .filter-select,.target-conditions-trait .filter-input,.entity-selector-trait .filter-select,.entity-selector-trait .filter-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .filter-select:focus,.target-conditions-trait .filter-input:focus,.entity-selector-trait .filter-select:focus,.entity-selector-trait .filter-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .filter-select::placeholder,.target-conditions-trait .filter-input::placeholder,.entity-selector-trait .filter-select::placeholder,.entity-selector-trait .filter-input::placeholder{color:#adb5bd}.target-conditions-trait .filter-select,.target-conditions-trait .filter-input,.entity-selector-trait .filter-select,.entity-selector-trait .filter-input{padding:.375rem .5rem;font-size:.75rem}.target-conditions-trait .category-tree,.entity-selector-trait .category-tree{padding:.5rem}.target-conditions-trait .tree-loading,.entity-selector-trait .tree-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6c757d;font-size:.875rem}.target-conditions-trait .tree-loading i,.entity-selector-trait .tree-loading i{animation:spin .6s linear infinite}.target-conditions-trait .tree-item,.entity-selector-trait .tree-item{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem;border-radius:.2rem;cursor:pointer;transition:background-color .15s ease-in-out}.target-conditions-trait .tree-item:hover,.entity-selector-trait .tree-item:hover{background:#e9ecef}.target-conditions-trait .tree-item.selected,.entity-selector-trait .tree-item.selected{background:rgba(37,185,215,.1)}.target-conditions-trait .tree-item.selected .tree-checkbox,.entity-selector-trait .tree-item.selected .tree-checkbox{background:#25b9d7;border-color:#25b9d7}.target-conditions-trait .tree-item.selected .tree-checkbox i,.entity-selector-trait .tree-item.selected .tree-checkbox i{display:block}.target-conditions-trait .tree-info,.entity-selector-trait .tree-info{display:flex;align-items:center;gap:.25rem;flex:1;min-width:0}.target-conditions-trait .tree-name,.entity-selector-trait .tree-name{font-size:.875rem;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .tree-subtitle,.entity-selector-trait .tree-subtitle{font-size:.75rem;color:#6c757d}.target-conditions-trait .category-tree-item,.entity-selector-trait .category-tree-item{padding:.25rem 0}.target-conditions-trait .category-tree-node,.entity-selector-trait .category-tree-node{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.2rem;cursor:pointer;transition:background-color .15s ease-in-out}.target-conditions-trait .category-tree-node:hover,.entity-selector-trait .category-tree-node:hover{background:#e9ecef}.target-conditions-trait .category-tree-node.selected,.entity-selector-trait .category-tree-node.selected{background:rgba(37,185,215,.1)}.target-conditions-trait .category-tree-toggle,.entity-selector-trait .category-tree-toggle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#6c757d;transition:transform .15s ease-in-out}.target-conditions-trait .category-tree-toggle.expanded,.entity-selector-trait .category-tree-toggle.expanded{transform:rotate(90deg)}.target-conditions-trait .category-tree-toggle.empty,.entity-selector-trait .category-tree-toggle.empty{visibility:hidden}.target-conditions-trait .category-tree-checkbox,.entity-selector-trait .category-tree-checkbox{flex-shrink:0;width:16px;height:16px;border:2px solid #ced4da;border-radius:3px;transition:all .15s ease-in-out}.target-conditions-trait .category-tree-checkbox.checked,.entity-selector-trait .category-tree-checkbox.checked{background:#25b9d7;border-color:#25b9d7}.target-conditions-trait .category-tree-checkbox.checked::after,.entity-selector-trait .category-tree-checkbox.checked::after{content:"✓";display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-size:10px}.target-conditions-trait .category-tree-checkbox.indeterminate,.entity-selector-trait .category-tree-checkbox.indeterminate{background:#25b9d7;border-color:#25b9d7}.target-conditions-trait .category-tree-checkbox.indeterminate::after,.entity-selector-trait .category-tree-checkbox.indeterminate::after{content:"−";display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-size:10px}.target-conditions-trait .category-tree-name,.entity-selector-trait .category-tree-name{flex:1;font-size:.875rem;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .category-tree-count,.entity-selector-trait .category-tree-count{font-size:.75rem;color:#6c757d}.target-conditions-trait .category-tree-children,.entity-selector-trait .category-tree-children{margin-left:24px}.target-conditions-trait .search-history-list,.entity-selector-trait .search-history-list{padding:.5rem}.target-conditions-trait .history-item,.entity-selector-trait .history-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.2rem;cursor:pointer;transition:background-color .15s ease-in-out}.target-conditions-trait .history-item:hover,.entity-selector-trait .history-item:hover{background:#e9ecef}.target-conditions-trait .history-item>i,.entity-selector-trait .history-item>i{color:#6c757d;font-size:14px}.target-conditions-trait .history-query,.entity-selector-trait .history-query{flex:1;font-size:.875rem;color:#212529}.target-conditions-trait .btn-delete-history,.entity-selector-trait .btn-delete-history{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-delete-history:focus,.entity-selector-trait .btn-delete-history:focus{outline:none}.target-conditions-trait .btn-delete-history,.entity-selector-trait .btn-delete-history{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;opacity:0;transition:all .15s ease-in-out}.history-item:hover .target-conditions-trait .btn-delete-history,.history-item:hover .entity-selector-trait .btn-delete-history{opacity:1}.target-conditions-trait .btn-delete-history:hover,.entity-selector-trait .btn-delete-history:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .btn-delete-history i,.entity-selector-trait .btn-delete-history i{font-size:12px}.target-conditions-trait .filter-panel,.entity-selector-trait .filter-panel{display:none;padding:1rem;background:#f8fafc;border-bottom:1px solid #dee2e6}.target-conditions-trait .filter-panel.show,.entity-selector-trait .filter-panel.show{display:block}.target-conditions-trait .filter-row,.entity-selector-trait .filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.target-conditions-trait .filter-row:last-child,.entity-selector-trait .filter-row:last-child{margin-bottom:0}.target-conditions-trait .view-mode-select,.entity-selector-trait .view-mode-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .view-mode-select:focus,.entity-selector-trait .view-mode-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .view-mode-select::placeholder,.entity-selector-trait .view-mode-select::placeholder{color:#adb5bd}.target-conditions-trait .view-mode-select,.entity-selector-trait .view-mode-select{padding:.25rem .5rem;font-size:.75rem;min-width:80px}body>.target-search-dropdown,.target-search-dropdown{position:absolute;z-index:1000;background:#fff;border:1px solid #dee2e6;border-radius:.3rem;box-shadow:0 1rem 3rem rgba(0,0,0,.175);display:none;width:600px;max-width:calc(100vw - 40px)}body>.target-search-dropdown.show,.target-search-dropdown.show{display:block}body>.target-search-dropdown .dropdown-header,.target-search-dropdown .dropdown-header{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;flex-wrap:wrap}body>.target-search-dropdown .results-count,.target-search-dropdown .results-count{font-size:.875rem;font-weight:600;color:#212529;white-space:nowrap}body>.target-search-dropdown .dropdown-actions,.target-search-dropdown .dropdown-actions{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;flex:1;justify-content:flex-end}body>.target-search-dropdown .btn-select-all,body>.target-search-dropdown .btn-clear-selection,.target-search-dropdown .btn-select-all,.target-search-dropdown .btn-clear-selection{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .btn-select-all:focus,body>.target-search-dropdown .btn-clear-selection:focus,.target-search-dropdown .btn-select-all:focus,.target-search-dropdown .btn-clear-selection:focus{outline:none}body>.target-search-dropdown .btn-select-all,body>.target-search-dropdown .btn-clear-selection,.target-search-dropdown .btn-select-all,.target-search-dropdown .btn-clear-selection{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .btn-select-all:hover,body>.target-search-dropdown .btn-clear-selection:hover,.target-search-dropdown .btn-select-all:hover,.target-search-dropdown .btn-clear-selection:hover{background:#e9ecef;border-color:#cbd5e1}body>.target-search-dropdown .btn-select-all kbd,body>.target-search-dropdown .btn-clear-selection kbd,.target-search-dropdown .btn-select-all kbd,.target-search-dropdown .btn-clear-selection kbd{font-size:.65rem;padding:.125rem .25rem;background:#f1f5f9;border-radius:2px;color:#6c757d}body>.target-search-dropdown .sort-controls,.target-search-dropdown .sort-controls{display:flex;align-items:center}body>.target-search-dropdown .sort-field-select,.target-search-dropdown .sort-field-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .sort-field-select:focus,.target-search-dropdown .sort-field-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .sort-field-select::placeholder,.target-search-dropdown .sort-field-select::placeholder{color:#adb5bd}body>.target-search-dropdown .sort-field-select,.target-search-dropdown .sort-field-select{padding:.25rem .5rem;font-size:.75rem;min-width:80px;height:28px;border-radius:.2rem 0 0 .2rem;border-right:none}body>.target-search-dropdown .btn-sort-dir,.target-search-dropdown .btn-sort-dir{display:flex;align-items:center;justify-content:center;width:38px;min-width:38px;flex-shrink:0;height:28px;padding:0;margin:0;color:#6c757d;background:#fff;border:1px solid #dee2e6;border-radius:0 .2rem .2rem 0;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .btn-sort-dir i,.target-search-dropdown .btn-sort-dir i{font-size:14px}body>.target-search-dropdown .btn-sort-dir:hover,.target-search-dropdown .btn-sort-dir:hover{background:#e9ecef;color:#212529}body>.target-search-dropdown .btn-sort-dir.active,.target-search-dropdown .btn-sort-dir.active{background:rgba(37,185,215,.1);border-color:#25b9d7;color:#25b9d7}body>.target-search-dropdown .view-mode-select,.target-search-dropdown .view-mode-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .view-mode-select:focus,.target-search-dropdown .view-mode-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .view-mode-select::placeholder,.target-search-dropdown .view-mode-select::placeholder{color:#adb5bd}body>.target-search-dropdown .view-mode-select,.target-search-dropdown .view-mode-select{padding:.25rem .5rem;font-size:.75rem;min-width:80px;margin-left:.25rem}body>.target-search-dropdown .btn-toggle-filters,body>.target-search-dropdown .btn-show-history,.target-search-dropdown .btn-toggle-filters,.target-search-dropdown .btn-show-history{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;flex-shrink:0;height:28px;padding:0;margin:0;color:#6c757d;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .btn-toggle-filters i,body>.target-search-dropdown .btn-show-history i,.target-search-dropdown .btn-toggle-filters i,.target-search-dropdown .btn-show-history i{font-size:14px}body>.target-search-dropdown .btn-toggle-filters:hover,body>.target-search-dropdown .btn-show-history:hover,.target-search-dropdown .btn-toggle-filters:hover,.target-search-dropdown .btn-show-history:hover{background:#e9ecef;color:#212529}body>.target-search-dropdown .btn-toggle-filters.active,body>.target-search-dropdown .btn-show-history.active,.target-search-dropdown .btn-toggle-filters.active,.target-search-dropdown .btn-show-history.active{background:rgba(37,185,215,.1);border-color:#25b9d7;color:#25b9d7}body>.target-search-dropdown .refine-compact,.target-search-dropdown .refine-compact{display:flex;align-items:center}body>.target-search-dropdown .refine-compact .btn-refine-negate,.target-search-dropdown .refine-compact .btn-refine-negate{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;flex-shrink:0;height:28px;padding:0;margin:0;color:#6c757d;background:#fff;border:1px solid #dee2e6;border-right:none;border-radius:.2rem 0 0 .2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .refine-compact .btn-refine-negate:hover,.target-search-dropdown .refine-compact .btn-refine-negate:hover{background:#e9ecef;color:#212529}body>.target-search-dropdown .refine-compact .btn-refine-negate.active,.target-search-dropdown .refine-compact .btn-refine-negate.active{background:#f8d7da;color:#dc3545;border-color:#dc3545}body>.target-search-dropdown .refine-compact .refine-input,.target-search-dropdown .refine-compact .refine-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .refine-compact .refine-input:focus,.target-search-dropdown .refine-compact .refine-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .refine-compact .refine-input::placeholder,.target-search-dropdown .refine-compact .refine-input::placeholder{color:#adb5bd}body>.target-search-dropdown .refine-compact .refine-input,.target-search-dropdown .refine-compact .refine-input{width:100px;padding:.25rem .5rem;font-size:.75rem;border-radius:0 .2rem .2rem 0}body>.target-search-dropdown .refine-compact .btn-clear-refine,.target-search-dropdown .refine-compact .btn-clear-refine{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:0;margin-left:-1px;color:#6c757d;background:#fff;border:1px solid #dee2e6;border-radius:0 .2rem .2rem 0;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .refine-compact .btn-clear-refine:hover,.target-search-dropdown .refine-compact .btn-clear-refine:hover{background:#e9ecef;color:#212529}body>.target-search-dropdown .filter-panel,.target-search-dropdown .filter-panel{display:none;padding:1rem;background:#f8fafc;border-bottom:1px solid #dee2e6}body>.target-search-dropdown .filter-panel.show,.target-search-dropdown .filter-panel.show{display:block}body>.target-search-dropdown .filter-row,.target-search-dropdown .filter-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}body>.target-search-dropdown .filter-row:last-child,.target-search-dropdown .filter-row:last-child{margin-bottom:0}body>.target-search-dropdown .filter-label,.target-search-dropdown .filter-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:#495057;cursor:pointer}body>.target-search-dropdown .filter-label input[type=checkbox],.target-search-dropdown .filter-label input[type=checkbox]{margin:0}body>.target-search-dropdown .filter-price-range,.target-search-dropdown .filter-price-range{display:flex;align-items:center;gap:.25rem}body>.target-search-dropdown .filter-price-range .filter-price-label,.target-search-dropdown .filter-price-range .filter-price-label{font-size:.75rem;color:#6c757d}body>.target-search-dropdown .filter-price-range .filter-price-min,body>.target-search-dropdown .filter-price-range .filter-price-max,.target-search-dropdown .filter-price-range .filter-price-min,.target-search-dropdown .filter-price-range .filter-price-max{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .filter-price-range .filter-price-min:focus,body>.target-search-dropdown .filter-price-range .filter-price-max:focus,.target-search-dropdown .filter-price-range .filter-price-min:focus,.target-search-dropdown .filter-price-range .filter-price-max:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .filter-price-range .filter-price-min::placeholder,body>.target-search-dropdown .filter-price-range .filter-price-max::placeholder,.target-search-dropdown .filter-price-range .filter-price-min::placeholder,.target-search-dropdown .filter-price-range .filter-price-max::placeholder{color:#adb5bd}body>.target-search-dropdown .filter-price-range .filter-price-min,body>.target-search-dropdown .filter-price-range .filter-price-max,.target-search-dropdown .filter-price-range .filter-price-min,.target-search-dropdown .filter-price-range .filter-price-max{width:70px;padding:.25rem .5rem;font-size:.75rem}body>.target-search-dropdown .filter-price-range .filter-price-sep,.target-search-dropdown .filter-price-range .filter-price-sep{color:#6c757d}body>.target-search-dropdown .btn-clear-filters,.target-search-dropdown .btn-clear-filters{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .btn-clear-filters:focus,.target-search-dropdown .btn-clear-filters:focus{outline:none}body>.target-search-dropdown .btn-clear-filters,.target-search-dropdown .btn-clear-filters{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;cursor:pointer;margin-left:auto}body>.target-search-dropdown .btn-clear-filters:hover,.target-search-dropdown .btn-clear-filters:hover{background:#e2e8f0;color:#212529}body>.target-search-dropdown .filter-row-multi,.target-search-dropdown .filter-row-multi{flex-direction:column;align-items:stretch;gap:.5rem}body>.target-search-dropdown .filter-subrow,.target-search-dropdown .filter-subrow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}body>.target-search-dropdown .filter-range-group,body>.target-search-dropdown .filter-date-group,body>.target-search-dropdown .filter-select-group,.target-search-dropdown .filter-range-group,.target-search-dropdown .filter-date-group,.target-search-dropdown .filter-select-group{display:flex;align-items:center;gap:.25rem}body>.target-search-dropdown .filter-range-label,body>.target-search-dropdown .filter-date-label,body>.target-search-dropdown .filter-select-label,body>.target-search-dropdown .filter-row-label,.target-search-dropdown .filter-range-label,.target-search-dropdown .filter-date-label,.target-search-dropdown .filter-select-label,.target-search-dropdown .filter-row-label{font-size:.75rem;color:#6c757d;white-space:nowrap}body>.target-search-dropdown .filter-range-label i,body>.target-search-dropdown .filter-date-label i,body>.target-search-dropdown .filter-select-label i,body>.target-search-dropdown .filter-row-label i,.target-search-dropdown .filter-range-label i,.target-search-dropdown .filter-date-label i,.target-search-dropdown .filter-select-label i,.target-search-dropdown .filter-row-label i{margin-right:.25rem}body>.target-search-dropdown .filter-range-sep,.target-search-dropdown .filter-range-sep{color:#6c757d}body>.target-search-dropdown .filter-product-count-min,body>.target-search-dropdown .filter-product-count-max,body>.target-search-dropdown .filter-sales-min,body>.target-search-dropdown .filter-sales-max,body>.target-search-dropdown .filter-turnover-min,body>.target-search-dropdown .filter-turnover-max,body>.target-search-dropdown .filter-date-add-from,body>.target-search-dropdown .filter-date-add-to,body>.target-search-dropdown .filter-last-product-from,body>.target-search-dropdown .filter-last-product-to,.target-search-dropdown .filter-product-count-min,.target-search-dropdown .filter-product-count-max,.target-search-dropdown .filter-sales-min,.target-search-dropdown .filter-sales-max,.target-search-dropdown .filter-turnover-min,.target-search-dropdown .filter-turnover-max,.target-search-dropdown .filter-date-add-from,.target-search-dropdown .filter-date-add-to,.target-search-dropdown .filter-last-product-from,.target-search-dropdown .filter-last-product-to{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .filter-product-count-min:focus,body>.target-search-dropdown .filter-product-count-max:focus,body>.target-search-dropdown .filter-sales-min:focus,body>.target-search-dropdown .filter-sales-max:focus,body>.target-search-dropdown .filter-turnover-min:focus,body>.target-search-dropdown .filter-turnover-max:focus,body>.target-search-dropdown .filter-date-add-from:focus,body>.target-search-dropdown .filter-date-add-to:focus,body>.target-search-dropdown .filter-last-product-from:focus,body>.target-search-dropdown .filter-last-product-to:focus,.target-search-dropdown .filter-product-count-min:focus,.target-search-dropdown .filter-product-count-max:focus,.target-search-dropdown .filter-sales-min:focus,.target-search-dropdown .filter-sales-max:focus,.target-search-dropdown .filter-turnover-min:focus,.target-search-dropdown .filter-turnover-max:focus,.target-search-dropdown .filter-date-add-from:focus,.target-search-dropdown .filter-date-add-to:focus,.target-search-dropdown .filter-last-product-from:focus,.target-search-dropdown .filter-last-product-to:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .filter-product-count-min::placeholder,body>.target-search-dropdown .filter-product-count-max::placeholder,body>.target-search-dropdown .filter-sales-min::placeholder,body>.target-search-dropdown .filter-sales-max::placeholder,body>.target-search-dropdown .filter-turnover-min::placeholder,body>.target-search-dropdown .filter-turnover-max::placeholder,body>.target-search-dropdown .filter-date-add-from::placeholder,body>.target-search-dropdown .filter-date-add-to::placeholder,body>.target-search-dropdown .filter-last-product-from::placeholder,body>.target-search-dropdown .filter-last-product-to::placeholder,.target-search-dropdown .filter-product-count-min::placeholder,.target-search-dropdown .filter-product-count-max::placeholder,.target-search-dropdown .filter-sales-min::placeholder,.target-search-dropdown .filter-sales-max::placeholder,.target-search-dropdown .filter-turnover-min::placeholder,.target-search-dropdown .filter-turnover-max::placeholder,.target-search-dropdown .filter-date-add-from::placeholder,.target-search-dropdown .filter-date-add-to::placeholder,.target-search-dropdown .filter-last-product-from::placeholder,.target-search-dropdown .filter-last-product-to::placeholder{color:#adb5bd}body>.target-search-dropdown .filter-product-count-min,body>.target-search-dropdown .filter-product-count-max,body>.target-search-dropdown .filter-sales-min,body>.target-search-dropdown .filter-sales-max,body>.target-search-dropdown .filter-turnover-min,body>.target-search-dropdown .filter-turnover-max,body>.target-search-dropdown .filter-date-add-from,body>.target-search-dropdown .filter-date-add-to,body>.target-search-dropdown .filter-last-product-from,body>.target-search-dropdown .filter-last-product-to,.target-search-dropdown .filter-product-count-min,.target-search-dropdown .filter-product-count-max,.target-search-dropdown .filter-sales-min,.target-search-dropdown .filter-sales-max,.target-search-dropdown .filter-turnover-min,.target-search-dropdown .filter-turnover-max,.target-search-dropdown .filter-date-add-from,.target-search-dropdown .filter-date-add-to,.target-search-dropdown .filter-last-product-from,.target-search-dropdown .filter-last-product-to{width:70px;padding:.25rem .5rem;font-size:.75rem}body>.target-search-dropdown .filter-depth-select,body>.target-search-dropdown .filter-attribute-group-select,body>.target-search-dropdown .filter-feature-group-select,.target-search-dropdown .filter-depth-select,.target-search-dropdown .filter-attribute-group-select,.target-search-dropdown .filter-feature-group-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .filter-depth-select:focus,body>.target-search-dropdown .filter-attribute-group-select:focus,body>.target-search-dropdown .filter-feature-group-select:focus,.target-search-dropdown .filter-depth-select:focus,.target-search-dropdown .filter-attribute-group-select:focus,.target-search-dropdown .filter-feature-group-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .filter-depth-select::placeholder,body>.target-search-dropdown .filter-attribute-group-select::placeholder,body>.target-search-dropdown .filter-feature-group-select::placeholder,.target-search-dropdown .filter-depth-select::placeholder,.target-search-dropdown .filter-attribute-group-select::placeholder,.target-search-dropdown .filter-feature-group-select::placeholder{color:#adb5bd}body>.target-search-dropdown .filter-depth-select,body>.target-search-dropdown .filter-attribute-group-select,body>.target-search-dropdown .filter-feature-group-select,.target-search-dropdown .filter-depth-select,.target-search-dropdown .filter-attribute-group-select,.target-search-dropdown .filter-feature-group-select{padding:.25rem .5rem;font-size:.75rem;min-width:100px}body>.target-search-dropdown .filter-attributes-container,body>.target-search-dropdown .filter-features-container,body>.target-search-dropdown .filter-values-container,.target-search-dropdown .filter-attributes-container,.target-search-dropdown .filter-features-container,.target-search-dropdown .filter-values-container{display:flex;flex-wrap:wrap;gap:.25rem}body>.target-search-dropdown .filter-group-toggle,.target-search-dropdown .filter-group-toggle{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .filter-group-toggle:focus,.target-search-dropdown .filter-group-toggle:focus{outline:none}body>.target-search-dropdown .filter-group-toggle,.target-search-dropdown .filter-group-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .filter-group-toggle:hover,.target-search-dropdown .filter-group-toggle:hover{background:#e9ecef;border-color:#cbd5e1}body>.target-search-dropdown .filter-group-toggle.active,.target-search-dropdown .filter-group-toggle.active{background:rgba(37,185,215,.1);border-color:#25b9d7;color:#25b9d7}body>.target-search-dropdown .filter-group-toggle.active .toggle-count,.target-search-dropdown .filter-group-toggle.active .toggle-count{color:#25b9d7}body>.target-search-dropdown .filter-group-toggle.has-selection,.target-search-dropdown .filter-group-toggle.has-selection{border-color:#28a745;background:rgba(40,167,69,.05)}body>.target-search-dropdown .filter-group-toggle.has-selection .toggle-count,.target-search-dropdown .filter-group-toggle.has-selection .toggle-count{color:#28a745;font-weight:600}body>.target-search-dropdown .filter-group-toggle .toggle-name,.target-search-dropdown .filter-group-toggle .toggle-name{font-weight:500}body>.target-search-dropdown .filter-group-toggle .toggle-count,.target-search-dropdown .filter-group-toggle .toggle-count{display:inline-flex;align-items:center;gap:.125rem;color:#6c757d;font-size:.65rem}body>.target-search-dropdown .filter-group-toggle .toggle-count i,.target-search-dropdown .filter-group-toggle .toggle-count i{font-size:10px;color:#25b9d7}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable,.target-search-dropdown .filter-group-toggle .toggle-count.clickable{cursor:pointer;padding:.125rem .25rem;border-radius:.2rem;transition:all .15s ease-in-out}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable:hover,.target-search-dropdown .filter-group-toggle .toggle-count.clickable:hover{background:rgba(37,185,215,.1);color:#25b9d7}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable:hover i,.target-search-dropdown .filter-group-toggle .toggle-count.clickable:hover i{color:#25b9d7}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable.popover-open,.target-search-dropdown .filter-group-toggle .toggle-count.clickable.popover-open{background:#25b9d7;color:#fff}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable.popover-open i,.target-search-dropdown .filter-group-toggle .toggle-count.clickable.popover-open i{color:#fff}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable.loading i,.target-search-dropdown .filter-group-toggle .toggle-count.clickable.loading i{animation:spin .6s linear infinite}body>.target-search-dropdown .filter-chip,body>.target-search-dropdown .filter-attr-chip,body>.target-search-dropdown .filter-feat-chip,.target-search-dropdown .filter-chip,.target-search-dropdown .filter-attr-chip,.target-search-dropdown .filter-feat-chip{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .filter-chip:focus,.target-search-dropdown .filter-chip:focus,.target-search-dropdown .filter-attr-chip:focus,.target-search-dropdown .filter-feat-chip:focus{outline:none}body>.target-search-dropdown .filter-chip,body>.target-search-dropdown .filter-attr-chip,body>.target-search-dropdown .filter-feat-chip,.target-search-dropdown .filter-chip,.target-search-dropdown .filter-attr-chip,.target-search-dropdown .filter-feat-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#495057;background:#f1f5f9;border:1px solid rgba(0,0,0,0);border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .filter-chip:hover,.target-search-dropdown .filter-chip:hover,.target-search-dropdown .filter-attr-chip:hover,.target-search-dropdown .filter-feat-chip:hover{background:#e2e8f0}body>.target-search-dropdown .filter-chip.active,.target-search-dropdown .filter-chip.active,.target-search-dropdown .active.filter-attr-chip,.target-search-dropdown .active.filter-feat-chip{background:#25b9d7;color:#fff}body>.target-search-dropdown .filter-row-values,.target-search-dropdown .filter-row-values{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border:1px solid #dee2e6;border-radius:.2rem}body>.target-search-dropdown .filter-row-values .filter-values-container,.target-search-dropdown .filter-row-values .filter-values-container{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;flex:1}body>.target-search-dropdown .filter-row-values .filter-values-label,.target-search-dropdown .filter-row-values .filter-values-label{font-size:.75rem;font-weight:600;color:#495057;white-space:nowrap}body>.target-search-dropdown .filter-row-values .btn-close-values,.target-search-dropdown .filter-row-values .btn-close-values{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .filter-row-values .btn-close-values:focus,.target-search-dropdown .filter-row-values .btn-close-values:focus{outline:none}body>.target-search-dropdown .filter-row-values .btn-close-values,.target-search-dropdown .filter-row-values .btn-close-values{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;color:#6c757d;border-radius:.2rem}body>.target-search-dropdown .filter-row-values .btn-close-values:hover,.target-search-dropdown .filter-row-values .btn-close-values:hover{background:#e2e8f0;color:#212529}body>.target-search-dropdown .chip-name,.target-search-dropdown .chip-name{font-weight:500}body>.target-search-dropdown .chip-count,.target-search-dropdown .chip-count{font-size:.6rem;color:#6c757d;margin-left:.125rem}body>.target-search-dropdown .filter-chip.active .chip-count,.target-search-dropdown .filter-chip.active .chip-count,.target-search-dropdown .active.filter-attr-chip .chip-count,.target-search-dropdown .active.filter-feat-chip .chip-count{color:hsla(0,0%,100%,.8)}body>.target-search-dropdown .dropdown-content,.target-search-dropdown .dropdown-content{max-height:400px;overflow-y:auto}body>.target-search-dropdown .dropdown-content::-webkit-scrollbar,.target-search-dropdown .dropdown-content::-webkit-scrollbar{width:6px;height:6px}body>.target-search-dropdown .dropdown-content::-webkit-scrollbar-track,.target-search-dropdown .dropdown-content::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}body>.target-search-dropdown .dropdown-content::-webkit-scrollbar-thumb,.target-search-dropdown .dropdown-content::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}body>.target-search-dropdown .dropdown-content::-webkit-scrollbar-thumb:hover,.target-search-dropdown .dropdown-content::-webkit-scrollbar-thumb:hover{background:#ced4da}body>.target-search-dropdown .dropdown-items,.target-search-dropdown .dropdown-items{display:flex;flex-direction:column;gap:.25rem;padding:.5rem}body>.target-search-dropdown .item-checkbox,.target-search-dropdown .item-checkbox{flex-shrink:0;width:16px;height:16px;border:2px solid #ced4da;border-radius:3px;transition:all .15s ease-in-out}.dropdown-item.selected body>.target-search-dropdown .item-checkbox,.dropdown-item.selected .target-search-dropdown .item-checkbox{background:#25b9d7;border-color:#25b9d7}body>.target-search-dropdown .item-image,.target-search-dropdown .item-image{flex-shrink:0;width:40px;height:40px;object-fit:cover;border-radius:.2rem;background:#f1f5f9}body>.target-search-dropdown .item-info,.target-search-dropdown .item-info{flex:1;min-width:0}body>.target-search-dropdown .item-name,.target-search-dropdown .item-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .item-meta,.target-search-dropdown .item-meta{font-size:.75rem;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .dropdown-footer,.target-search-dropdown .dropdown-footer{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-top:1px solid #dee2e6;border-radius:0 0 .3rem .3rem}body>.target-search-dropdown .dropdown-footer-info,.target-search-dropdown .dropdown-footer-info{font-size:.75rem;color:#6c757d}body>.target-search-dropdown .btn-cancel-dropdown,.target-search-dropdown .btn-cancel-dropdown{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .btn-cancel-dropdown:focus,.target-search-dropdown .btn-cancel-dropdown:focus{outline:none}body>.target-search-dropdown .btn-cancel-dropdown,.target-search-dropdown .btn-cancel-dropdown{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.875rem;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer}body>.target-search-dropdown .btn-cancel-dropdown:hover,.target-search-dropdown .btn-cancel-dropdown:hover{background:#e9ecef;color:#dc3545;border-color:#dc3545}body>.target-search-dropdown .btn-cancel-dropdown i,.target-search-dropdown .btn-cancel-dropdown i{font-size:10px}body>.target-search-dropdown .btn-cancel-dropdown kbd,.target-search-dropdown .btn-cancel-dropdown kbd{font-size:.65rem;padding:.125rem .25rem;background:#f1f5f9;border-radius:2px;color:#6c757d;margin-left:.25rem}body>.target-search-dropdown .btn-confirm-dropdown,.target-search-dropdown .btn-confirm-dropdown{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .btn-confirm-dropdown:focus,.target-search-dropdown .btn-confirm-dropdown:focus{outline:none}body>.target-search-dropdown .btn-confirm-dropdown,.target-search-dropdown .btn-confirm-dropdown{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.875rem;color:#fff;background:#25b9d7;border:1px solid #25b9d7;border-radius:.2rem;cursor:pointer}body>.target-search-dropdown .btn-confirm-dropdown:hover,.target-search-dropdown .btn-confirm-dropdown:hover{background:#1a9ab7;border-color:#1a9ab7}body>.target-search-dropdown .btn-confirm-dropdown i,.target-search-dropdown .btn-confirm-dropdown i{font-size:10px}body>.target-search-dropdown .btn-confirm-dropdown kbd,.target-search-dropdown .btn-confirm-dropdown kbd{font-size:.65rem;padding:.125rem .25rem;background:hsla(0,0%,100%,.2);border-radius:2px;color:hsla(0,0%,100%,.8)}body>.target-search-dropdown .filter-chips-row,.target-search-dropdown .filter-chips-row{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem 1rem;border-bottom:1px solid #dee2e6}body>.target-search-dropdown .filter-chip,body>.target-search-dropdown .filter-attr-chip,body>.target-search-dropdown .filter-feat-chip,.target-search-dropdown .filter-chip,.target-search-dropdown .filter-attr-chip,.target-search-dropdown .filter-feat-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:#e9ecef;color:#495057;border-radius:50rem}body>.target-search-dropdown .filter-chip .chip-remove,.target-search-dropdown .filter-chip .chip-remove,.target-search-dropdown .filter-attr-chip .chip-remove,.target-search-dropdown .filter-feat-chip .chip-remove{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .filter-chip .chip-remove:focus,.target-search-dropdown .filter-chip .chip-remove:focus,.target-search-dropdown .filter-attr-chip .chip-remove:focus,.target-search-dropdown .filter-feat-chip .chip-remove:focus{outline:none}body>.target-search-dropdown .filter-chip .chip-remove,.target-search-dropdown .filter-chip .chip-remove,.target-search-dropdown .filter-attr-chip .chip-remove,.target-search-dropdown .filter-feat-chip .chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:10px;color:#6c757d;border-radius:50%}body>.target-search-dropdown .filter-chip .chip-remove:hover,.target-search-dropdown .filter-chip .chip-remove:hover,.target-search-dropdown .filter-attr-chip .chip-remove:hover,.target-search-dropdown .filter-feat-chip .chip-remove:hover{background:rgba(0,0,0,.1);color:#dc3545}body>.target-search-dropdown .dropdown-empty,body>.target-search-dropdown .dropdown-loading,.target-search-dropdown .dropdown-empty,.target-search-dropdown .dropdown-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#6c757d;font-size:.875rem}body>.target-search-dropdown .dropdown-empty i,body>.target-search-dropdown .dropdown-loading i,.target-search-dropdown .dropdown-empty i,.target-search-dropdown .dropdown-loading i{font-size:2rem;opacity:.5;margin-bottom:.5rem}body>.target-search-dropdown .search-history-panel,.target-search-dropdown .search-history-panel{display:none;padding:.5rem;background:#fff;border-bottom:1px solid #dee2e6}body>.target-search-dropdown .search-history-panel.show,.target-search-dropdown .search-history-panel.show{display:block}body>.target-search-dropdown .history-item,.target-search-dropdown .history-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.2rem;cursor:pointer;transition:background .15s ease-in-out}body>.target-search-dropdown .history-item:hover,.target-search-dropdown .history-item:hover{background:#e9ecef}body>.target-search-dropdown .history-item i,.target-search-dropdown .history-item i{color:#6c757d;font-size:.875rem}body>.target-search-dropdown .history-item span,.target-search-dropdown .history-item span{flex:1;font-size:.875rem;color:#212529}body>.target-search-dropdown .history-item .btn-remove-history,body>.target-search-dropdown .history-item .btn-delete-history,.target-search-dropdown .history-item .btn-remove-history,.target-search-dropdown .history-item .btn-delete-history{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .history-item .btn-remove-history:focus,body>.target-search-dropdown .history-item .btn-delete-history:focus,.target-search-dropdown .history-item .btn-remove-history:focus,.target-search-dropdown .history-item .btn-delete-history:focus{outline:none}body>.target-search-dropdown .history-item .btn-remove-history,body>.target-search-dropdown .history-item .btn-delete-history,.target-search-dropdown .history-item .btn-remove-history,.target-search-dropdown .history-item .btn-delete-history{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}body>.target-search-dropdown .history-item .btn-remove-history:hover,body>.target-search-dropdown .history-item .btn-delete-history:hover,.target-search-dropdown .history-item .btn-remove-history:hover,.target-search-dropdown .history-item .btn-delete-history:hover{background:#e2e8f0;color:#dc3545}body>.target-search-dropdown .search-history-list,.target-search-dropdown .search-history-list{display:flex;flex-direction:column;gap:.25rem}body>.target-search-dropdown .results-header,.target-search-dropdown .results-header{display:flex;align-items:center;gap:.5rem;padding:.25rem 1rem;background:#f1f5f9;border-bottom:1px solid #dee2e6;font-size:.75rem;font-weight:600;color:#495057}body>.target-search-dropdown .results-header .header-spacer,.target-search-dropdown .results-header .header-spacer{width:58px;flex-shrink:0}body>.target-search-dropdown .results-header .header-col,.target-search-dropdown .results-header .header-col{flex-shrink:0;width:70px;text-align:right}body>.target-search-dropdown .results-header .header-col-name,.target-search-dropdown .results-header .header-col-name{flex:1;text-align:left}body>.target-search-dropdown .dropdown-results,.target-search-dropdown .dropdown-results{padding:0 .5rem;background:#fff;min-height:200px}body>.target-search-dropdown .dropdown-item,.target-search-dropdown .dropdown-item{position:relative;display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:#fff;border:none;border-bottom:1px solid #dee2e6;border-radius:0;cursor:pointer;transition:background .15s ease-in-out}body>.target-search-dropdown .dropdown-item:last-child,.target-search-dropdown .dropdown-item:last-child{border-bottom:none}body>.target-search-dropdown .dropdown-item:hover,.target-search-dropdown .dropdown-item:hover{background:#e9ecef}body>.target-search-dropdown .dropdown-item.selected,.target-search-dropdown .dropdown-item.selected{background:rgba(37,185,215,.1)}body>.target-search-dropdown .dropdown-item.selected .result-checkbox,.target-search-dropdown .dropdown-item.selected .result-checkbox{background:#25b9d7;border-color:#25b9d7;color:#fff}body>.target-search-dropdown .dropdown-item.selected .result-checkbox i,.target-search-dropdown .dropdown-item.selected .result-checkbox i{display:block}body>.target-search-dropdown .dropdown-item.disabled,.target-search-dropdown .dropdown-item.disabled{opacity:.5;cursor:not-allowed}body>.target-search-dropdown .result-checkbox,.target-search-dropdown .result-checkbox{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;background:#fff;border:2px solid #ced4da;border-radius:3px;transition:all .15s ease-in-out}body>.target-search-dropdown .result-checkbox i,.target-search-dropdown .result-checkbox i{display:none;font-size:10px}body>.target-search-dropdown.view-cols-2 .dropdown-results,.target-search-dropdown.view-cols-2 .dropdown-results{display:grid;grid-template-columns:repeat(2, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-3 .dropdown-results,.target-search-dropdown.view-cols-3 .dropdown-results{display:grid;grid-template-columns:repeat(3, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-4 .dropdown-results,.target-search-dropdown.view-cols-4 .dropdown-results{display:grid;grid-template-columns:repeat(4, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-5 .dropdown-results,.target-search-dropdown.view-cols-5 .dropdown-results{display:grid;grid-template-columns:repeat(5, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-6 .dropdown-results,.target-search-dropdown.view-cols-6 .dropdown-results{display:grid;grid-template-columns:repeat(6, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-7 .dropdown-results,.target-search-dropdown.view-cols-7 .dropdown-results{display:grid;grid-template-columns:repeat(7, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-8 .dropdown-results,.target-search-dropdown.view-cols-8 .dropdown-results{display:grid;grid-template-columns:repeat(8, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-2 .dropdown-item,body>.target-search-dropdown.view-cols-3 .dropdown-item,body>.target-search-dropdown.view-cols-4 .dropdown-item,body>.target-search-dropdown.view-cols-5 .dropdown-item,body>.target-search-dropdown.view-cols-6 .dropdown-item,body>.target-search-dropdown.view-cols-7 .dropdown-item,body>.target-search-dropdown.view-cols-8 .dropdown-item,.target-search-dropdown.view-cols-2 .dropdown-item,.target-search-dropdown.view-cols-3 .dropdown-item,.target-search-dropdown.view-cols-4 .dropdown-item,.target-search-dropdown.view-cols-5 .dropdown-item,.target-search-dropdown.view-cols-6 .dropdown-item,.target-search-dropdown.view-cols-7 .dropdown-item,.target-search-dropdown.view-cols-8 .dropdown-item{flex-direction:column;align-items:center;text-align:center;padding:.5rem;border:none;border-right:1px solid #dee2e6;border-bottom:1px solid #dee2e6;border-radius:0}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-2 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-3 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-4 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-5 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-6 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-7 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-8 .dropdown-item .result-checkbox{position:absolute;top:.25rem;left:.25rem}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-2 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-icon,.target-search-dropdown.view-cols-2 .dropdown-item .result-image,.target-search-dropdown.view-cols-2 .dropdown-item .result-icon,.target-search-dropdown.view-cols-3 .dropdown-item .result-image,.target-search-dropdown.view-cols-3 .dropdown-item .result-icon,.target-search-dropdown.view-cols-4 .dropdown-item .result-image,.target-search-dropdown.view-cols-4 .dropdown-item .result-icon,.target-search-dropdown.view-cols-5 .dropdown-item .result-image,.target-search-dropdown.view-cols-5 .dropdown-item .result-icon,.target-search-dropdown.view-cols-6 .dropdown-item .result-image,.target-search-dropdown.view-cols-6 .dropdown-item .result-icon,.target-search-dropdown.view-cols-7 .dropdown-item .result-image,.target-search-dropdown.view-cols-7 .dropdown-item .result-icon,.target-search-dropdown.view-cols-8 .dropdown-item .result-image,.target-search-dropdown.view-cols-8 .dropdown-item .result-icon{width:48px;height:48px;margin-bottom:.25rem}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-info,.target-search-dropdown.view-cols-2 .dropdown-item .result-info,.target-search-dropdown.view-cols-3 .dropdown-item .result-info,.target-search-dropdown.view-cols-4 .dropdown-item .result-info,.target-search-dropdown.view-cols-5 .dropdown-item .result-info,.target-search-dropdown.view-cols-6 .dropdown-item .result-info,.target-search-dropdown.view-cols-7 .dropdown-item .result-info,.target-search-dropdown.view-cols-8 .dropdown-item .result-info{width:100%}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-name,.target-search-dropdown.view-cols-2 .dropdown-item .result-name,.target-search-dropdown.view-cols-3 .dropdown-item .result-name,.target-search-dropdown.view-cols-4 .dropdown-item .result-name,.target-search-dropdown.view-cols-5 .dropdown-item .result-name,.target-search-dropdown.view-cols-6 .dropdown-item .result-name,.target-search-dropdown.view-cols-7 .dropdown-item .result-name,.target-search-dropdown.view-cols-8 .dropdown-item .result-name{font-size:.75rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-2 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-3 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-4 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-5 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-6 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-7 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-8 .dropdown-item .result-subtitle{display:none}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-col,.target-search-dropdown.view-cols-2 .dropdown-item .result-col,.target-search-dropdown.view-cols-3 .dropdown-item .result-col,.target-search-dropdown.view-cols-4 .dropdown-item .result-col,.target-search-dropdown.view-cols-5 .dropdown-item .result-col,.target-search-dropdown.view-cols-6 .dropdown-item .result-col,.target-search-dropdown.view-cols-7 .dropdown-item .result-col,.target-search-dropdown.view-cols-8 .dropdown-item .result-col{display:none}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;margin-top:.25rem;font-size:.65rem}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-price{color:#212529;font-weight:600}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock{color:#6c757d}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock.stock-out{color:#dc3545}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock.stock-low{color:#ffc107}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-discount{color:#28a745;font-weight:500}body>.target-search-dropdown.view-cols-2 .results-header,body>.target-search-dropdown.view-cols-3 .results-header,body>.target-search-dropdown.view-cols-4 .results-header,body>.target-search-dropdown.view-cols-5 .results-header,body>.target-search-dropdown.view-cols-6 .results-header,body>.target-search-dropdown.view-cols-7 .results-header,body>.target-search-dropdown.view-cols-8 .results-header,.target-search-dropdown.view-cols-2 .results-header,.target-search-dropdown.view-cols-3 .results-header,.target-search-dropdown.view-cols-4 .results-header,.target-search-dropdown.view-cols-5 .results-header,.target-search-dropdown.view-cols-6 .results-header,.target-search-dropdown.view-cols-7 .results-header,.target-search-dropdown.view-cols-8 .results-header{display:none}body>.target-search-dropdown.view-cols-2 .dropdown-results .dropdown-item:nth-child(2n),.target-search-dropdown.view-cols-2 .dropdown-results .dropdown-item:nth-child(2n){border-right:none}body>.target-search-dropdown.view-cols-3 .dropdown-results .dropdown-item:nth-child(3n),.target-search-dropdown.view-cols-3 .dropdown-results .dropdown-item:nth-child(3n){border-right:none}body>.target-search-dropdown.view-cols-4 .dropdown-results .dropdown-item:nth-child(4n),.target-search-dropdown.view-cols-4 .dropdown-results .dropdown-item:nth-child(4n){border-right:none}body>.target-search-dropdown.view-cols-5 .dropdown-results .dropdown-item:nth-child(5n),.target-search-dropdown.view-cols-5 .dropdown-results .dropdown-item:nth-child(5n){border-right:none}body>.target-search-dropdown.view-cols-6 .dropdown-results .dropdown-item:nth-child(6n),.target-search-dropdown.view-cols-6 .dropdown-results .dropdown-item:nth-child(6n){border-right:none}body>.target-search-dropdown.view-cols-7 .dropdown-results .dropdown-item:nth-child(7n),.target-search-dropdown.view-cols-7 .dropdown-results .dropdown-item:nth-child(7n){border-right:none}body>.target-search-dropdown.view-cols-8 .dropdown-results .dropdown-item:nth-child(8n),.target-search-dropdown.view-cols-8 .dropdown-results .dropdown-item:nth-child(8n){border-right:none}body>.target-search-dropdown.view-cols-5 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-icon,.target-search-dropdown.view-cols-5 .dropdown-item .result-image,.target-search-dropdown.view-cols-5 .dropdown-item .result-icon,.target-search-dropdown.view-cols-6 .dropdown-item .result-image,.target-search-dropdown.view-cols-6 .dropdown-item .result-icon,.target-search-dropdown.view-cols-7 .dropdown-item .result-image,.target-search-dropdown.view-cols-7 .dropdown-item .result-icon,.target-search-dropdown.view-cols-8 .dropdown-item .result-image,.target-search-dropdown.view-cols-8 .dropdown-item .result-icon{width:40px;height:40px}body>.target-search-dropdown.view-cols-5 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-name,.target-search-dropdown.view-cols-5 .dropdown-item .result-name,.target-search-dropdown.view-cols-6 .dropdown-item .result-name,.target-search-dropdown.view-cols-7 .dropdown-item .result-name,.target-search-dropdown.view-cols-8 .dropdown-item .result-name{font-size:.65rem}body>.target-search-dropdown .result-item-product,.target-search-dropdown .result-item-product{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}body>.target-search-dropdown .result-item-image,body>.target-search-dropdown .result-image,.target-search-dropdown .result-item-image,.target-search-dropdown .result-image{flex-shrink:0;width:40px;height:40px;overflow:hidden;border-radius:.2rem;background:#f1f5f9}body>.target-search-dropdown .result-item-image img,body>.target-search-dropdown .result-image img,.target-search-dropdown .result-item-image img,.target-search-dropdown .result-image img{width:100%;height:100%;object-fit:cover}body>.target-search-dropdown .result-icon,.target-search-dropdown .result-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;background:#f1f5f9;border-radius:.2rem;color:#6c757d}body>.target-search-dropdown .result-icon i,.target-search-dropdown .result-icon i{font-size:16px}body>.target-search-dropdown .result-item-info,body>.target-search-dropdown .result-info,.target-search-dropdown .result-item-info,.target-search-dropdown .result-info{flex:1;min-width:0}body>.target-search-dropdown .result-item-name,body>.target-search-dropdown .result-name,.target-search-dropdown .result-item-name,.target-search-dropdown .result-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .result-item-meta,body>.target-search-dropdown .result-subtitle,.target-search-dropdown .result-item-meta,.target-search-dropdown .result-subtitle{font-size:.75rem;color:#6c757d}body>.target-search-dropdown .subtitle-line,.target-search-dropdown .subtitle-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .subtitle-line-primary,.target-search-dropdown .subtitle-line-primary{color:#495057}body>.target-search-dropdown .subtitle-line-secondary,.target-search-dropdown .subtitle-line-secondary{color:#6c757d;font-size:11px}body>.target-search-dropdown .result-col,.target-search-dropdown .result-col{flex-shrink:0;width:70px;text-align:right;font-size:.75rem}body>.target-search-dropdown .result-col-price,.target-search-dropdown .result-col-price{color:#495057}body>.target-search-dropdown .result-col-sale,.target-search-dropdown .result-col-sale{color:#dc3545;font-weight:600}body>.target-search-dropdown .result-col-stock .col-value.stock-ok,.target-search-dropdown .result-col-stock .col-value.stock-ok{color:#28a745}body>.target-search-dropdown .result-col-stock .col-value.stock-low,.target-search-dropdown .result-col-stock .col-value.stock-low{color:#ffc107}body>.target-search-dropdown .result-col-stock .col-value.stock-out,.target-search-dropdown .result-col-stock .col-value.stock-out{color:#dc3545}body>.target-search-dropdown .result-col-sales,.target-search-dropdown .result-col-sales{color:#6c757d}body>.target-search-dropdown .col-value,.target-search-dropdown .col-value{display:block}body>.target-search-dropdown .result-item-checkbox,body>.target-search-dropdown .result-checkbox,.target-search-dropdown .result-item-checkbox,.target-search-dropdown .result-checkbox{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border:2px solid #ced4da;border-radius:.2rem;transition:all .15s ease-in-out}body>.target-search-dropdown .result-item-checkbox i,body>.target-search-dropdown .result-checkbox i,.target-search-dropdown .result-item-checkbox i,.target-search-dropdown .result-checkbox i{display:none;font-size:10px;color:#fff}.dropdown-result-item.selected body>.target-search-dropdown .result-item-checkbox,.dropdown-item.selected body>.target-search-dropdown .result-item-checkbox,.dropdown-result-item.selected body>.target-search-dropdown .result-checkbox,.dropdown-item.selected body>.target-search-dropdown .result-checkbox,.dropdown-result-item.selected .target-search-dropdown .result-item-checkbox,.dropdown-item.selected .target-search-dropdown .result-item-checkbox,.dropdown-result-item.selected .target-search-dropdown .result-checkbox,.dropdown-item.selected .target-search-dropdown .result-checkbox{background:#25b9d7;border-color:#25b9d7}.dropdown-result-item.selected body>.target-search-dropdown .result-item-checkbox i,.dropdown-item.selected body>.target-search-dropdown .result-item-checkbox i,.dropdown-result-item.selected body>.target-search-dropdown .result-checkbox i,.dropdown-item.selected body>.target-search-dropdown .result-checkbox i,.dropdown-result-item.selected .target-search-dropdown .result-item-checkbox i,.dropdown-item.selected .target-search-dropdown .result-item-checkbox i,.dropdown-result-item.selected .target-search-dropdown .result-checkbox i,.dropdown-item.selected .target-search-dropdown .result-checkbox i{display:block}body>.target-search-dropdown .no-results,.target-search-dropdown .no-results{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6c757d;font-size:.875rem}body>.target-search-dropdown .no-results i,.target-search-dropdown .no-results i{font-size:1.25rem;opacity:.5}body>.target-search-dropdown .load-more-controls,.target-search-dropdown .load-more-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;color:#6c757d}body>.target-search-dropdown .load-more-controls .load-more-label,body>.target-search-dropdown .load-more-controls .load-more-of,.target-search-dropdown .load-more-controls .load-more-label,.target-search-dropdown .load-more-controls .load-more-of{white-space:nowrap}body>.target-search-dropdown .load-more-controls .remaining-count,.target-search-dropdown .load-more-controls .remaining-count{font-weight:600;color:#495057}body>.target-search-dropdown .load-more-controls .load-more-select,.target-search-dropdown .load-more-controls .load-more-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .load-more-controls .load-more-select:focus,.target-search-dropdown .load-more-controls .load-more-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .load-more-controls .load-more-select::placeholder,.target-search-dropdown .load-more-controls .load-more-select::placeholder{color:#adb5bd}body>.target-search-dropdown .load-more-controls .load-more-select,.target-search-dropdown .load-more-controls .load-more-select{padding:.25rem .5rem;font-size:.75rem;min-width:60px}body>.target-search-dropdown .load-more-controls .btn-load-more,.target-search-dropdown .load-more-controls .btn-load-more{display:flex;align-items:center;justify-content:center;padding:.25rem;margin:0;border:none;color:#25b9d7;background:rgba(37,185,215,.1) !important;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out;font:inherit}body>.target-search-dropdown .load-more-controls .btn-load-more i,.target-search-dropdown .load-more-controls .btn-load-more i{font-size:14px}body>.target-search-dropdown .load-more-controls .btn-load-more:hover,.target-search-dropdown .load-more-controls .btn-load-more:hover{background:rgba(37,185,215,.2) !important}body>.target-search-dropdown .dropdown-load-more,.target-search-dropdown .dropdown-load-more{display:flex;justify-content:center;padding:1rem;border-top:1px solid #dee2e6}body>.target-search-dropdown .dropdown-load-more .load-more-btn,.target-search-dropdown .dropdown-load-more .load-more-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .dropdown-load-more .load-more-btn:focus,.target-search-dropdown .dropdown-load-more .load-more-btn:focus{outline:none}body>.target-search-dropdown .dropdown-load-more .load-more-btn,.target-search-dropdown .dropdown-load-more .load-more-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#25b9d7;background:rgba(37,185,215,.1);border-radius:.25rem;transition:all .15s ease-in-out}body>.target-search-dropdown .dropdown-load-more .load-more-btn:hover,.target-search-dropdown .dropdown-load-more .load-more-btn:hover{background:rgba(37,185,215,.2)}body>.target-search-dropdown .dropdown-load-more .load-more-btn.loading,.target-search-dropdown .dropdown-load-more .load-more-btn.loading{opacity:.7;cursor:wait}body>.target-search-dropdown .dropdown-body,.target-search-dropdown .dropdown-body{max-height:400px;overflow-y:auto}body>.target-search-dropdown .dropdown-body::-webkit-scrollbar,.target-search-dropdown .dropdown-body::-webkit-scrollbar{width:6px;height:6px}body>.target-search-dropdown .dropdown-body::-webkit-scrollbar-track,.target-search-dropdown .dropdown-body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}body>.target-search-dropdown .dropdown-body::-webkit-scrollbar-thumb,.target-search-dropdown .dropdown-body::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}body>.target-search-dropdown .dropdown-body::-webkit-scrollbar-thumb:hover,.target-search-dropdown .dropdown-body::-webkit-scrollbar-thumb:hover{background:#ced4da}body>.target-search-dropdown .tree-container,.target-search-dropdown .tree-container{padding:.5rem}body>.target-search-dropdown .tree-loading,.target-search-dropdown .tree-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6c757d;font-size:.875rem}body>.target-search-dropdown .tree-loading i,.target-search-dropdown .tree-loading i{animation:spin .6s linear infinite}body>.target-search-dropdown .tree-item,.target-search-dropdown .tree-item{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem;border-radius:.2rem;cursor:pointer;transition:background-color .15s ease-in-out}body>.target-search-dropdown .tree-item:hover,.target-search-dropdown .tree-item:hover{background:#e9ecef}body>.target-search-dropdown .tree-item.selected,.target-search-dropdown .tree-item.selected{background:rgba(37,185,215,.1)}body>.target-search-dropdown .tree-item.selected .tree-checkbox,.target-search-dropdown .tree-item.selected .tree-checkbox{background:#25b9d7;border-color:#25b9d7}body>.target-search-dropdown .tree-item.selected .tree-checkbox i,.target-search-dropdown .tree-item.selected .tree-checkbox i{display:block}body>.target-search-dropdown .tree-info,.target-search-dropdown .tree-info{display:flex;align-items:center;gap:.25rem;flex:1;min-width:0}body>.target-search-dropdown .tree-name,.target-search-dropdown .tree-name{font-size:.875rem;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .tree-subtitle,.target-search-dropdown .tree-subtitle{font-size:.75rem;color:#6c757d}.target-search-dropdown .dropdown-results{max-height:400px;overflow-y:auto;padding:0 .5rem}.target-search-dropdown .dropdown-results::-webkit-scrollbar{width:6px;height:6px}.target-search-dropdown .dropdown-results::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-search-dropdown .dropdown-results::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-search-dropdown .dropdown-results::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-search-dropdown .results-header{display:flex;align-items:center;gap:.5rem;padding:.25rem 1rem;background:#f1f5f9;border-bottom:1px solid #dee2e6;font-size:.75rem;font-weight:600;color:#495057}.target-search-dropdown .results-header .header-spacer{width:58px;flex-shrink:0}.target-search-dropdown .results-header .header-col{flex-shrink:0;width:70px;text-align:right}.target-search-dropdown .results-header .header-col-name{flex:1;text-align:left}.target-search-dropdown:not(.view-list) .results-header,.target-search-dropdown.view-tree .results-header{display:none}.target-search-dropdown .result-item-product{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.target-search-dropdown .result-col{flex-shrink:0;width:70px;text-align:right;font-size:.75rem}.target-search-dropdown .result-col-price{color:#495057}.target-search-dropdown .result-col-sale{color:#dc3545;font-weight:600}.target-search-dropdown .result-col-stock .col-value.stock-ok{color:#28a745}.target-search-dropdown .result-col-stock .col-value.stock-low{color:#ffc107}.target-search-dropdown .result-col-stock .col-value.stock-out{color:#dc3545}.target-search-dropdown .result-col-sales{color:#6c757d}.target-search-dropdown .dropdown-item{display:flex;align-items:center;gap:.5rem;padding:0;border:none;border-bottom:1px solid #dee2e6;border-radius:0;cursor:pointer;transition:background-color .15s ease-in-out}.target-search-dropdown .dropdown-item:last-child{border-bottom:none}.target-search-dropdown .dropdown-item:hover{background:#e9ecef}.target-search-dropdown .dropdown-item.selected{background:rgba(37,185,215,.1)}.target-search-dropdown .result-checkbox{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid #ced4da;border-radius:3px;transition:all .15s ease-in-out}.target-search-dropdown .result-checkbox i{font-size:10px;color:rgba(0,0,0,0)}.dropdown-item.selected .target-search-dropdown .result-checkbox{background:#25b9d7;border-color:#25b9d7}.dropdown-item.selected .target-search-dropdown .result-checkbox i{color:#fff}.target-search-dropdown .result-image{flex-shrink:0;width:40px;height:40px;overflow:hidden;border-radius:.2rem;background:#f1f5f9}.target-search-dropdown .result-image img{width:100%;height:100%;object-fit:cover}.target-search-dropdown .result-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f1f5f9;border-radius:.2rem}.target-search-dropdown .result-icon i{font-size:16px;color:#6c757d}.target-search-dropdown .result-info{flex:1;min-width:0}.target-search-dropdown .result-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-search-dropdown .result-subtitle{font-size:.75rem;color:#6c757d}.target-search-dropdown .subtitle-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-search-dropdown .subtitle-line-primary{color:#495057}.target-search-dropdown .subtitle-line-secondary{color:#6c757d;font-size:11px}.target-search-dropdown[class*=view-cols-] .result-col,.target-search-dropdown.view-tree .result-col{display:none}.target-search-dropdown .entity-search-box{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:#fff;border:none;border-bottom:1px solid #dee2e6;border-radius:0}.target-search-dropdown .entity-search-box .entity-search-icon{color:#6c757d;flex-shrink:0;margin-left:.25rem}.target-search-dropdown .entity-search-box input.entity-search-input,.target-search-dropdown .entity-search-box input.entity-search-input[type=text]{flex:1;min-width:0;width:auto !important;max-width:none !important;height:auto;padding:0;margin:0;border:none !important;outline:none;background:rgba(0,0,0,0) !important;font-size:.875rem;color:#212529;box-shadow:none !important}.target-search-dropdown .entity-search-box input.entity-search-input::placeholder,.target-search-dropdown .entity-search-box input.entity-search-input[type=text]::placeholder{color:#6c757d}.target-search-dropdown .entity-search-box input.entity-search-input:focus,.target-search-dropdown .entity-search-box input.entity-search-input[type=text]:focus{border:none !important;box-shadow:none !important;outline:none}.target-search-dropdown .entity-search-box .search-loading{color:#6c757d}body>.target-search-dropdown .dropdown-item{border:none;border-radius:0}body>.target-search-dropdown .dropdown-item:not(:last-child){border-bottom:1px solid #dee2e6}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.target-conditions-trait .chips-wrapper,.entity-selector-trait .chips-wrapper{display:flex;flex-direction:column;margin-top:.5rem;background:#f8fafc;border:1px solid #dee2e6;border-radius:.25rem;overflow:hidden}.target-conditions-trait .chips-toolbar,.entity-selector-trait .chips-toolbar{display:none;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #dee2e6}.target-conditions-trait .chips-toolbar.has-chips,.entity-selector-trait .chips-toolbar.has-chips{display:flex}.target-conditions-trait .chips-toolbar>i,.entity-selector-trait .chips-toolbar>i{color:#6c757d;font-size:14px;flex-shrink:0}.target-conditions-trait .chips-search-input,.target-conditions-trait input.chips-search-input,.target-conditions-trait input.chips-search-input[type=text],.entity-selector-trait .chips-search-input,.entity-selector-trait input.chips-search-input,.entity-selector-trait input.chips-search-input[type=text]{flex:1 !important;min-width:80px !important;max-width:none !important;width:auto !important;height:auto !important;padding:0 !important;border:none !important;border-bottom:1px solid rgba(0,0,0,0) !important;border-radius:0 !important;background:rgba(0,0,0,0) !important;font-size:.875rem !important;color:#212529;box-shadow:none !important;transition:border-color .15s ease-in-out}.target-conditions-trait .chips-search-input:focus,.target-conditions-trait input.chips-search-input:focus,.target-conditions-trait input.chips-search-input[type=text]:focus,.entity-selector-trait .chips-search-input:focus,.entity-selector-trait input.chips-search-input:focus,.entity-selector-trait input.chips-search-input[type=text]:focus{outline:none !important;border:none !important;border-bottom:1px solid #25b9d7 !important;box-shadow:none !important}.target-conditions-trait .chips-search-input::placeholder,.target-conditions-trait input.chips-search-input::placeholder,.target-conditions-trait input.chips-search-input[type=text]::placeholder,.entity-selector-trait .chips-search-input::placeholder,.entity-selector-trait input.chips-search-input::placeholder,.entity-selector-trait input.chips-search-input[type=text]::placeholder{color:#6c757d}.target-conditions-trait .chips-count,.entity-selector-trait .chips-count{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;white-space:nowrap}.target-conditions-trait .chips-count.has-filter,.entity-selector-trait .chips-count.has-filter{background:#06b6d4}.target-conditions-trait .chips-count .count-filtered,.entity-selector-trait .chips-count .count-filtered{font-weight:700}.target-conditions-trait .chips-count .count-separator,.entity-selector-trait .chips-count .count-separator{opacity:.7}.target-conditions-trait .chips-actions,.entity-selector-trait .chips-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.target-conditions-trait .btn-chips-clear,.entity-selector-trait .btn-chips-clear{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-chips-clear:focus,.entity-selector-trait .btn-chips-clear:focus{outline:none}.target-conditions-trait .btn-chips-clear,.entity-selector-trait .btn-chips-clear{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;color:#fff;font-size:.75rem;font-weight:600;background:#dc3545;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-chips-clear:hover,.entity-selector-trait .btn-chips-clear:hover{background:rgb(197.9088607595,34.2911392405,49.9670886076)}.target-conditions-trait .btn-chips-clear i,.entity-selector-trait .btn-chips-clear i{font-size:11px}.target-conditions-trait .entity-chips,.entity-selector-trait .entity-chips{display:flex;flex-wrap:wrap;gap:.25rem;padding:1rem;min-height:40px;max-height:300px;overflow-y:auto}.target-conditions-trait .entity-chips:empty,.entity-selector-trait .entity-chips:empty{display:none}.target-conditions-trait .chips-load-more,.entity-selector-trait .chips-load-more{display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:#fff;border-top:1px solid #dee2e6}.target-conditions-trait .chips-load-more .btn-load-more,.entity-selector-trait .chips-load-more .btn-load-more{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .chips-load-more .btn-load-more:focus,.entity-selector-trait .chips-load-more .btn-load-more:focus{outline:none}.target-conditions-trait .chips-load-more .btn-load-more,.entity-selector-trait .chips-load-more .btn-load-more{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;color:#fff;font-size:.875rem;font-weight:600;background:#25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .chips-load-more .btn-load-more:hover,.entity-selector-trait .chips-load-more .btn-load-more:hover{background:#1a9ab7}.target-conditions-trait .chips-load-more .btn-load-more i,.entity-selector-trait .chips-load-more .btn-load-more i{font-size:12px}.target-conditions-trait .entity-chip,.entity-selector-trait .entity-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#f1f5f9;color:#495057;font-size:.75rem;font-weight:500;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .entity-chip:hover,.entity-selector-trait .entity-chip:hover{background:#e2e8f0}.target-conditions-trait .entity-chip.has-image,.entity-selector-trait .entity-chip.has-image{padding-left:.25rem}.target-conditions-trait .entity-chip.chip-filtered-out,.target-conditions-trait .entity-chip.chip-paginated-out,.entity-selector-trait .entity-chip.chip-filtered-out,.entity-selector-trait .entity-chip.chip-paginated-out{display:none}.target-conditions-trait .chip-image,.entity-selector-trait .chip-image{width:20px;height:20px;object-fit:cover;border-radius:50%;flex-shrink:0}.target-conditions-trait .chip-icon,.entity-selector-trait .chip-icon{display:flex;align-items:center;justify-content:center;font-size:12px;color:#6c757d;flex-shrink:0}.target-conditions-trait .chip-icon img,.entity-selector-trait .chip-icon img{width:20px;height:20px;object-fit:cover;border-radius:.2rem}.target-conditions-trait .chip-text,.target-conditions-trait .chip-name,.entity-selector-trait .chip-text,.entity-selector-trait .chip-name{word-break:break-word}.target-conditions-trait .chip-remove,.entity-selector-trait .chip-remove{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .chip-remove:focus,.entity-selector-trait .chip-remove:focus{outline:none}.target-conditions-trait .chip-remove,.entity-selector-trait .chip-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:.125rem;color:#6c757d;border-radius:50%;flex-shrink:0;transition:all .15s ease-in-out}.target-conditions-trait .chip-remove:hover,.entity-selector-trait .chip-remove:hover{background:rgba(0,0,0,.1);color:#dc3545}.target-conditions-trait .chip-remove i,.entity-selector-trait .chip-remove i{font-size:10px}.target-conditions-trait .entity-chip.chip-primary,.entity-selector-trait .entity-chip.chip-primary{background:rgba(37,185,215,.1);color:#25b9d7}.target-conditions-trait .entity-chip.chip-primary:hover,.entity-selector-trait .entity-chip.chip-primary:hover{background:rgba(37,185,215,.2)}.target-conditions-trait .entity-chip.chip-success,.entity-selector-trait .entity-chip.chip-success{background:#d4edda;color:#1e7e34}.target-conditions-trait .entity-chip.chip-success:hover,.entity-selector-trait .entity-chip.chip-success:hover{background:rgba(40,167,69,.2)}.target-conditions-trait .entity-chip.chip-danger,.entity-selector-trait .entity-chip.chip-danger{background:#f8d7da;color:#dc3545}.target-conditions-trait .entity-chip.chip-danger:hover,.entity-selector-trait .entity-chip.chip-danger:hover{background:rgba(220,53,69,.2)}.target-conditions-trait .entity-chip.chip-warning,.entity-selector-trait .entity-chip.chip-warning{background:#fff3cd;color:#a07800}.target-conditions-trait .entity-chip.chip-warning:hover,.entity-selector-trait .entity-chip.chip-warning:hover{background:rgba(255,193,7,.3)}.target-conditions-trait .entity-chip.loading,.target-conditions-trait .entity-chip-loading,.entity-selector-trait .entity-chip.loading,.entity-selector-trait .entity-chip-loading{opacity:.7}.target-conditions-trait .entity-chip.loading .chip-remove,.target-conditions-trait .entity-chip-loading .chip-remove,.entity-selector-trait .entity-chip.loading .chip-remove,.entity-selector-trait .entity-chip-loading .chip-remove{display:none}.target-conditions-trait .entity-chip.loading .chip-icon i,.target-conditions-trait .entity-chip-loading .chip-icon i,.entity-selector-trait .entity-chip.loading .chip-icon i,.entity-selector-trait .entity-chip-loading .chip-icon i{animation:spin .6s linear infinite}.target-conditions-trait .entity-chip.chip-hidden,.entity-selector-trait .entity-chip.chip-hidden{display:none}.target-conditions-trait .entity-chips.chips-collapsed,.target-conditions-trait .entity-chips.chips-expanded,.entity-selector-trait .entity-chips.chips-collapsed,.entity-selector-trait .entity-chips.chips-expanded{position:relative}.target-conditions-trait .chips-show-more-toggle,.entity-selector-trait .chips-show-more-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;color:#25b9d7;font-size:.75rem;font-weight:500;cursor:pointer;transition:color .15s ease-in-out}.target-conditions-trait .chips-show-more-toggle:hover,.entity-selector-trait .chips-show-more-toggle:hover{color:#1a9ab7}.target-conditions-trait .chips-show-more-toggle i,.entity-selector-trait .chips-show-more-toggle i{font-size:10px}.target-conditions-trait .chips-more,.entity-selector-trait .chips-more{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;background:#e2e8f0;color:#495057;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .chips-more:hover,.entity-selector-trait .chips-more:hover{background:#cbd5e1}.target-conditions-trait .chip-add-btn,.entity-selector-trait .chip-add-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .chip-add-btn:focus,.entity-selector-trait .chip-add-btn:focus{outline:none}.target-conditions-trait .chip-add-btn,.entity-selector-trait .chip-add-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:rgba(0,0,0,0);color:#25b9d7;font-size:.75rem;font-weight:500;border:1px dashed #25b9d7;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .chip-add-btn:hover,.entity-selector-trait .chip-add-btn:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .chip-add-btn i,.entity-selector-trait .chip-add-btn i{font-size:10px}.target-conditions-trait .entity-chips.inline,.entity-selector-trait .entity-chips.inline{display:inline-flex;padding:0;min-height:auto}.target-conditions-trait .entity-chips.inline .entity-chip,.entity-selector-trait .entity-chips.inline .entity-chip{padding:.125rem .375rem;font-size:11px}.target-conditions-trait .selected-chips-container,.entity-selector-trait .selected-chips-container{display:flex;flex-direction:column;gap:.25rem}.target-conditions-trait .selected-chips-label,.entity-selector-trait .selected-chips-label{font-size:.75rem;font-weight:500;color:#6c757d}.target-conditions-trait .entity-chip.chip-pattern,.entity-selector-trait .entity-chip.chip-pattern{background:#fef3c7;color:#92400e;font-family:monospace}.target-conditions-trait .entity-chip.chip-pattern:hover,.entity-selector-trait .entity-chip.chip-pattern:hover{background:#fde68a}.target-conditions-trait .entity-chip.chip-pattern .chip-icon,.entity-selector-trait .entity-chip.chip-pattern .chip-icon{color:#d97706}.target-conditions-trait .entity-chip.chip-range,.target-conditions-trait .range-chip,.entity-selector-trait .entity-chip.chip-range,.entity-selector-trait .range-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#ecfeff;color:#0891b2;font-size:.75rem;font-weight:500;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .entity-chip.chip-range:hover,.target-conditions-trait .range-chip:hover,.entity-selector-trait .entity-chip.chip-range:hover,.entity-selector-trait .range-chip:hover{background:#cffafe}.target-conditions-trait .range-chip-text,.entity-selector-trait .range-chip-text{font-family:monospace}.target-conditions-trait .btn-remove-range,.entity-selector-trait .btn-remove-range{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-range:focus,.entity-selector-trait .btn-remove-range:focus{outline:none}.target-conditions-trait .btn-remove-range,.entity-selector-trait .btn-remove-range{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#0891b2;border-radius:50%;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-range:hover,.entity-selector-trait .btn-remove-range:hover{background:rgba(0,0,0,.1);color:#dc3545}.target-conditions-trait .btn-remove-range i,.entity-selector-trait .btn-remove-range i{font-size:10px}.target-conditions-trait .multi-range-chips,.entity-selector-trait .multi-range-chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.25rem}.target-conditions-trait .multi-range-chips:empty,.entity-selector-trait .multi-range-chips:empty{display:none}.target-conditions-trait .pattern-chips,.entity-selector-trait .pattern-chips{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem 0;min-height:32px}.target-conditions-trait .pattern-chips:empty::before,.entity-selector-trait .pattern-chips:empty::before{content:attr(data-placeholder);color:#6c757d;font-size:.75rem;font-style:italic}.target-conditions-trait .pattern-tag,.entity-selector-trait .pattern-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fef3c7;color:#92400e;font-size:.75rem;font-weight:500;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .pattern-tag:hover,.entity-selector-trait .pattern-tag:hover{background:#fde68a}.target-conditions-trait .pattern-tag.case-sensitive .case-icon,.entity-selector-trait .pattern-tag.case-sensitive .case-icon{color:#28a745;font-weight:700}.target-conditions-trait .pattern-tag.draft-tag,.entity-selector-trait .pattern-tag.draft-tag{background:#fff;border:1px solid #dee2e6;padding:0;flex:1;min-width:150px}.target-conditions-trait .pattern-tag.draft-tag:hover,.entity-selector-trait .pattern-tag.draft-tag:hover{background:#fff}.target-conditions-trait .pattern-tag.draft-tag .pattern-input,.entity-selector-trait .pattern-tag.draft-tag .pattern-input{flex:1;min-width:100px;padding:.375rem;border:0;background:rgba(0,0,0,0);font-size:.875rem;font-family:inherit}.target-conditions-trait .pattern-tag.draft-tag .pattern-input:focus,.entity-selector-trait .pattern-tag.draft-tag .pattern-input:focus{outline:none}.target-conditions-trait .pattern-tag.draft-tag .pattern-input::placeholder,.entity-selector-trait .pattern-tag.draft-tag .pattern-input::placeholder{color:#6c757d;font-style:italic}.target-conditions-trait .pattern-tag-text,.entity-selector-trait .pattern-tag-text{font-family:monospace;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .btn-toggle-case,.entity-selector-trait .btn-toggle-case{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-toggle-case:focus,.entity-selector-trait .btn-toggle-case:focus{outline:none}.target-conditions-trait .btn-toggle-case,.entity-selector-trait .btn-toggle-case{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-toggle-case:hover,.entity-selector-trait .btn-toggle-case:hover{background:rgba(0,0,0,.1)}.target-conditions-trait .case-icon,.entity-selector-trait .case-icon{font-size:11px;font-weight:600;font-family:monospace}.target-conditions-trait .btn-remove-pattern,.entity-selector-trait .btn-remove-pattern{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-pattern:focus,.entity-selector-trait .btn-remove-pattern:focus{outline:none}.target-conditions-trait .btn-remove-pattern,.entity-selector-trait .btn-remove-pattern{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:#d97706;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-pattern:hover,.entity-selector-trait .btn-remove-pattern:hover{background:rgba(0,0,0,.1);color:#dc3545}.target-conditions-trait .btn-remove-pattern i,.entity-selector-trait .btn-remove-pattern i{font-size:10px}.target-conditions-trait .btn-add-pattern,.entity-selector-trait .btn-add-pattern{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-pattern:focus,.entity-selector-trait .btn-add-pattern:focus{outline:none}.target-conditions-trait .btn-add-pattern,.entity-selector-trait .btn-add-pattern{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-pattern:hover,.entity-selector-trait .btn-add-pattern:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .btn-add-pattern i,.entity-selector-trait .btn-add-pattern i{font-size:12px}.target-conditions-trait .pattern-match-count,.entity-selector-trait .pattern-match-count{display:inline-flex;align-items:center;gap:.25rem;padding:0 .375rem;color:#6c757d;font-size:.75rem;cursor:pointer}.target-conditions-trait .pattern-match-count.count-zero,.entity-selector-trait .pattern-match-count.count-zero{color:#ffc107}.target-conditions-trait .pattern-match-count.count-found,.entity-selector-trait .pattern-match-count.count-found{color:#28a745}.target-conditions-trait .pattern-match-count .count-value,.entity-selector-trait .pattern-match-count .count-value{font-weight:600}.target-conditions-trait .pattern-input-row,.entity-selector-trait .pattern-input-row{display:flex;align-items:stretch;gap:.25rem}.target-conditions-trait .target-group,.entity-selector-trait .target-group{background:#fff;border:1px solid #dee2e6;border-radius:.3rem;overflow:hidden}.target-conditions-trait .target-group-header,.entity-selector-trait .target-group-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.target-conditions-trait .target-group-title,.entity-selector-trait .target-group-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#212529}.target-conditions-trait .target-group-title .group-number,.entity-selector-trait .target-group-title .group-number{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .25rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:700;border-radius:50rem}.target-conditions-trait .target-group-actions,.entity-selector-trait .target-group-actions{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .group-action-btn,.entity-selector-trait .group-action-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .group-action-btn:focus,.entity-selector-trait .group-action-btn:focus{outline:none}.target-conditions-trait .group-action-btn,.entity-selector-trait .group-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .group-action-btn:hover,.entity-selector-trait .group-action-btn:hover{background:#e2e8f0;color:#495057}.target-conditions-trait .group-action-btn.danger:hover,.entity-selector-trait .group-action-btn.danger:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .target-group-body,.target-conditions-trait .group-body,.entity-selector-trait .target-group-body,.entity-selector-trait .group-body{padding:1rem}.target-conditions-trait .include-section,.entity-selector-trait .include-section{margin-bottom:1rem}.target-conditions-trait .section-label,.entity-selector-trait .section-label{display:flex;align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.target-conditions-trait .section-label.label-include,.entity-selector-trait .section-label.label-include{color:#1e7e34}.target-conditions-trait .section-label.label-include i,.entity-selector-trait .section-label.label-include i{color:#28a745}.target-conditions-trait .section-label.label-exclude,.entity-selector-trait .section-label.label-exclude{color:#dc3545}.target-conditions-trait .section-label.label-exclude i,.entity-selector-trait .section-label.label-exclude i{color:#dc3545}.target-conditions-trait .method-selector,.entity-selector-trait .method-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.target-conditions-trait .method-selector-wrapper,.entity-selector-trait .method-selector-wrapper{flex:1;position:relative}.target-conditions-trait .method-select,.entity-selector-trait .method-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .method-select:focus,.entity-selector-trait .method-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .method-select::placeholder,.entity-selector-trait .method-select::placeholder{color:#adb5bd}.target-conditions-trait .method-select,.entity-selector-trait .method-select{padding-right:2rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.target-conditions-trait .method-help-btn,.entity-selector-trait .method-help-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .method-help-btn:focus,.entity-selector-trait .method-help-btn:focus{outline:none}.target-conditions-trait .method-help-btn,.entity-selector-trait .method-help-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .method-help-btn:hover,.entity-selector-trait .method-help-btn:hover{background:#f1f5f9;color:#25b9d7}.target-conditions-trait .value-picker,.entity-selector-trait .value-picker{position:relative}.target-conditions-trait .value-picker-trigger,.entity-selector-trait .value-picker-trigger{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .value-picker-trigger:focus,.entity-selector-trait .value-picker-trigger:focus{outline:none}.target-conditions-trait .value-picker-trigger,.entity-selector-trait .value-picker-trigger{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:#fff;border:1px solid #dee2e6;border-radius:.25rem;color:#6c757d;font-size:.875rem;text-align:left;transition:all .15s ease-in-out}.target-conditions-trait .value-picker-trigger:hover,.entity-selector-trait .value-picker-trigger:hover{border-color:#cbd5e1}.target-conditions-trait .value-picker-trigger:focus,.entity-selector-trait .value-picker-trigger:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .value-picker-trigger i,.entity-selector-trait .value-picker-trigger i{color:#adb5bd}.target-conditions-trait .pattern-input-wrapper,.entity-selector-trait .pattern-input-wrapper{position:relative}.target-conditions-trait .pattern-input,.entity-selector-trait .pattern-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .pattern-input:focus,.entity-selector-trait .pattern-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .pattern-input::placeholder,.entity-selector-trait .pattern-input::placeholder{color:#adb5bd}.target-conditions-trait .pattern-input,.entity-selector-trait .pattern-input{font-family:monospace}.target-conditions-trait .pattern-add-btn,.entity-selector-trait .pattern-add-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .pattern-add-btn:focus,.entity-selector-trait .pattern-add-btn:focus{outline:none}.target-conditions-trait .pattern-add-btn,.entity-selector-trait .pattern-add-btn{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .pattern-add-btn:hover,.entity-selector-trait .pattern-add-btn:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .multi-range-container,.entity-selector-trait .multi-range-container{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .range-row,.entity-selector-trait .range-row{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .range-input,.entity-selector-trait .range-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .range-input:focus,.entity-selector-trait .range-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .range-input::placeholder,.entity-selector-trait .range-input::placeholder{color:#adb5bd}.target-conditions-trait .range-input,.entity-selector-trait .range-input{width:100px;text-align:center}.target-conditions-trait .range-separator,.entity-selector-trait .range-separator{color:#6c757d;font-size:.875rem}.target-conditions-trait .range-remove-btn,.entity-selector-trait .range-remove-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .range-remove-btn:focus,.entity-selector-trait .range-remove-btn:focus{outline:none}.target-conditions-trait .range-remove-btn,.entity-selector-trait .range-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .range-remove-btn:hover,.entity-selector-trait .range-remove-btn:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .range-add-btn,.entity-selector-trait .range-add-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .range-add-btn:focus,.entity-selector-trait .range-add-btn:focus{outline:none}.target-conditions-trait .range-add-btn,.entity-selector-trait .range-add-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;color:#25b9d7;font-size:.75rem;font-weight:500;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .range-add-btn:hover,.entity-selector-trait .range-add-btn:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .multi-select-tiles,.entity-selector-trait .multi-select-tiles{display:flex;flex-wrap:wrap;gap:.25rem}.target-conditions-trait .multi-select-tile,.entity-selector-trait .multi-select-tile{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .multi-select-tile:focus,.entity-selector-trait .multi-select-tile:focus{outline:none}.target-conditions-trait .multi-select-tile,.entity-selector-trait .multi-select-tile{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:#f1f5f9;color:#495057;font-size:.75rem;font-weight:500;border:1px solid rgba(0,0,0,0);border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .multi-select-tile:hover,.entity-selector-trait .multi-select-tile:hover{background:#e2e8f0}.target-conditions-trait .multi-select-tile.selected,.entity-selector-trait .multi-select-tile.selected{background:rgba(37,185,215,.1);color:#25b9d7;border-color:#25b9d7}.target-conditions-trait .exclude-section,.entity-selector-trait .exclude-section{margin-top:1rem;padding-top:1rem;border-top:1px dashed #dee2e6}.target-conditions-trait .exclude-rows,.entity-selector-trait .exclude-rows{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .exclude-row-content,.entity-selector-trait .exclude-row-content{flex:1}.target-conditions-trait .exclude-remove-btn,.entity-selector-trait .exclude-remove-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .exclude-remove-btn:focus,.entity-selector-trait .exclude-remove-btn:focus{outline:none}.target-conditions-trait .exclude-remove-btn,.entity-selector-trait .exclude-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;flex-shrink:0;transition:all .15s ease-in-out}.target-conditions-trait .exclude-remove-btn:hover,.entity-selector-trait .exclude-remove-btn:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .add-exclude-btn,.entity-selector-trait .add-exclude-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .add-exclude-btn:focus,.entity-selector-trait .add-exclude-btn:focus{outline:none}.target-conditions-trait .add-exclude-btn,.entity-selector-trait .add-exclude-btn{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.25rem .5rem;color:#dc3545;font-size:.75rem;font-weight:500;border:1px dashed #dc3545;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .add-exclude-btn:hover,.entity-selector-trait .add-exclude-btn:hover{background:#f8d7da}.target-conditions-trait .btn-add-group,.entity-selector-trait .btn-add-group{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-group:focus,.entity-selector-trait .btn-add-group:focus{outline:none}.target-conditions-trait .btn-add-group,.entity-selector-trait .btn-add-group{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;color:#25b9d7;font-size:.875rem;font-weight:500;background:rgba(37,185,215,.05);border:1px dashed #25b9d7;border-radius:.375rem;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-group:hover,.entity-selector-trait .btn-add-group:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .btn-add-group i,.entity-selector-trait .btn-add-group i{font-size:12px}.target-conditions-trait .block-footer,.entity-selector-trait .block-footer{display:flex;align-items:center;gap:.5rem;padding:1rem;border-top:1px solid #dee2e6}.target-conditions-trait .block-body,.entity-selector-trait .block-body{padding:0}.target-conditions-trait .groups-container,.entity-selector-trait .groups-container{padding:1rem}.target-conditions-trait .groups-empty-state,.entity-selector-trait .groups-empty-state{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6c757d;font-size:.875rem}.target-conditions-trait .selection-group,.entity-selector-trait .selection-group{background:#fff;border:1px solid #dee2e6;border-radius:.3rem;margin-bottom:1rem}.target-conditions-trait .selection-group:last-child,.entity-selector-trait .selection-group:last-child{margin-bottom:0}.target-conditions-trait .selection-group.collapsed .group-body,.entity-selector-trait .selection-group.collapsed .group-body{display:none}.target-conditions-trait .selection-group.collapsed .group-collapse-toggle i,.entity-selector-trait .selection-group.collapsed .group-collapse-toggle i{transform:rotate(-90deg)}.target-conditions-trait .group-header,.entity-selector-trait .group-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;cursor:pointer}.target-conditions-trait .group-header.group-header-single,.entity-selector-trait .group-header.group-header-single{padding:.25rem 1rem;background:rgba(0,0,0,0);border-bottom:none}.target-conditions-trait .group-collapse-toggle,.entity-selector-trait .group-collapse-toggle{display:flex;align-items:center;justify-content:center;width:20px;color:#6c757d}.target-conditions-trait .group-collapse-toggle i,.entity-selector-trait .group-collapse-toggle i{transition:transform .15s ease-in-out}.target-conditions-trait .group-name-wrapper,.entity-selector-trait .group-name-wrapper{flex:1;display:flex;align-items:center;gap:.5rem}.target-conditions-trait .group-name-input,.entity-selector-trait .group-name-input{flex:1;padding:.25rem .5rem;font-size:.875rem;font-weight:600;color:#212529;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .group-name-input:hover,.target-conditions-trait .group-name-input:focus,.entity-selector-trait .group-name-input:hover,.entity-selector-trait .group-name-input:focus{background:#fff;border-color:#dee2e6;outline:none}.target-conditions-trait .group-name-input::placeholder,.entity-selector-trait .group-name-input::placeholder{color:#6c757d;font-weight:500}.target-conditions-trait .group-count-badge,.entity-selector-trait .group-count-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .group-count-badge:hover,.entity-selector-trait .group-count-badge:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .group-count-badge:focus,.entity-selector-trait .group-count-badge:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .group-count-badge.loading,.entity-selector-trait .group-count-badge.loading{cursor:wait}.target-conditions-trait .group-count-badge.loading i,.entity-selector-trait .group-count-badge.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .group-count-badge.loading:hover,.entity-selector-trait .group-count-badge.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .group-count-badge.inactive,.target-conditions-trait .group-count-badge.no-matches,.entity-selector-trait .group-count-badge.inactive,.entity-selector-trait .group-count-badge.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .group-count-badge.inactive:hover,.target-conditions-trait .group-count-badge.no-matches:hover,.entity-selector-trait .group-count-badge.inactive:hover,.entity-selector-trait .group-count-badge.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .group-count-badge.popover-open,.entity-selector-trait .group-count-badge.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .group-count-badge i,.entity-selector-trait .group-count-badge i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .group-count-badge:hover i,.entity-selector-trait .group-count-badge:hover i{opacity:1}.target-conditions-trait .group-count-badge .preview-count,.entity-selector-trait .group-count-badge .preview-count{font-weight:700}.target-conditions-trait .btn-remove-group,.entity-selector-trait .btn-remove-group{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-group:focus,.entity-selector-trait .btn-remove-group:focus{outline:none}.target-conditions-trait .btn-remove-group,.entity-selector-trait .btn-remove-group{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-group:hover,.entity-selector-trait .btn-remove-group:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .group-include,.entity-selector-trait .group-include{margin-bottom:1rem;padding:.5rem;background:rgba(40,167,69,.03);border:1px solid rgba(40,167,69,.2);border-radius:.25rem}.target-conditions-trait .section-row,.entity-selector-trait .section-row{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .method-selector-wrapper,.entity-selector-trait .method-selector-wrapper{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .method-info-placeholder,.entity-selector-trait .method-info-placeholder{display:flex;align-items:center;min-width:20px}.target-conditions-trait .include-method-select,.target-conditions-trait .exclude-method-select,.entity-selector-trait .include-method-select,.entity-selector-trait .exclude-method-select{flex:1;width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .include-method-select:focus,.target-conditions-trait .exclude-method-select:focus,.entity-selector-trait .include-method-select:focus,.entity-selector-trait .exclude-method-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .include-method-select::placeholder,.target-conditions-trait .exclude-method-select::placeholder,.entity-selector-trait .include-method-select::placeholder,.entity-selector-trait .exclude-method-select::placeholder{color:#adb5bd}.target-conditions-trait .include-method-select,.target-conditions-trait .exclude-method-select,.entity-selector-trait .include-method-select,.entity-selector-trait .exclude-method-select{cursor:pointer}.target-conditions-trait .selector-locked .include-method-select,.entity-selector-trait .selector-locked .include-method-select{opacity:.7;cursor:not-allowed}.target-conditions-trait .lock-indicator,.entity-selector-trait .lock-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#ffc107;cursor:help}.target-conditions-trait .lock-indicator i,.entity-selector-trait .lock-indicator i{font-size:14px}.target-conditions-trait .lock-indicator .mpr-tooltip,.entity-selector-trait .lock-indicator .mpr-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:.25rem .5rem;background:#1e293b;color:#fff;font-size:.75rem;font-weight:400;white-space:nowrap;border-radius:.2rem;z-index:100}.target-conditions-trait .lock-indicator:hover .mpr-tooltip,.entity-selector-trait .lock-indicator:hover .mpr-tooltip{display:block}.target-conditions-trait .group-excludes,.entity-selector-trait .group-excludes{margin-top:1rem}.target-conditions-trait .except-separator,.entity-selector-trait .except-separator{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem 0}.target-conditions-trait .except-separator::before,.target-conditions-trait .except-separator::after,.entity-selector-trait .except-separator::before,.entity-selector-trait .except-separator::after{content:"";flex:1;height:1px;background:rgba(220,53,69,.3)}.target-conditions-trait .except-label,.entity-selector-trait .except-label{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:#f8d7da;color:#dc3545;font-size:.75rem;font-weight:600;border-radius:50rem;white-space:nowrap;flex-shrink:0}.target-conditions-trait .except-label i,.entity-selector-trait .except-label i{font-size:10px}.target-conditions-trait .exclude-rows-container,.entity-selector-trait .exclude-rows-container{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .exclude-row,.entity-selector-trait .exclude-row{display:flex;flex-direction:column;padding:.5rem;background:rgba(220,53,69,.03);border:1px solid rgba(220,53,69,.15);border-radius:.25rem}.target-conditions-trait .exclude-row .value-picker,.entity-selector-trait .exclude-row .value-picker{width:100%;margin-top:.5rem}.target-conditions-trait .exclude-header-row,.entity-selector-trait .exclude-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.target-conditions-trait .exclude-header-row .method-selector-wrapper,.entity-selector-trait .exclude-header-row .method-selector-wrapper{flex:1}.target-conditions-trait .exclude-header-row .btn-remove-exclude-row,.entity-selector-trait .exclude-header-row .btn-remove-exclude-row{flex-shrink:0;margin-left:auto}.target-conditions-trait .btn-remove-exclude-row,.entity-selector-trait .btn-remove-exclude-row{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-exclude-row:focus,.entity-selector-trait .btn-remove-exclude-row:focus{outline:none}.target-conditions-trait .btn-remove-exclude-row,.entity-selector-trait .btn-remove-exclude-row{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-exclude-row:hover,.entity-selector-trait .btn-remove-exclude-row:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .btn-add-exclude,.target-conditions-trait .btn-add-another-exclude,.entity-selector-trait .btn-add-exclude,.entity-selector-trait .btn-add-another-exclude{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-exclude:focus,.target-conditions-trait .btn-add-another-exclude:focus,.entity-selector-trait .btn-add-exclude:focus,.entity-selector-trait .btn-add-another-exclude:focus{outline:none}.target-conditions-trait .btn-add-exclude,.target-conditions-trait .btn-add-another-exclude,.entity-selector-trait .btn-add-exclude,.entity-selector-trait .btn-add-another-exclude{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.375rem .625rem;color:#dc3545;font-size:.75rem;font-weight:500;background:rgba(0,0,0,0);border:1px dashed rgba(220,53,69,.5);border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-exclude:hover,.target-conditions-trait .btn-add-another-exclude:hover,.entity-selector-trait .btn-add-exclude:hover,.entity-selector-trait .btn-add-another-exclude:hover{background:#f8d7da;border-color:#dc3545}.target-conditions-trait .btn-add-exclude i,.target-conditions-trait .btn-add-another-exclude i,.entity-selector-trait .btn-add-exclude i,.entity-selector-trait .btn-add-another-exclude i{font-size:10px}.target-conditions-trait .group-modifiers,.entity-selector-trait .group-modifiers{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 1rem;margin:1rem -1rem -1rem;background:#f8fafc;border-top:1px solid #dee2e6;border-radius:0 0 .3rem .3rem}.target-conditions-trait .modifier-inline,.entity-selector-trait .modifier-inline{display:flex;align-items:center;gap:.375rem}.target-conditions-trait .group-modifier-limit,.entity-selector-trait .group-modifier-limit{width:50px;max-width:50px;height:26px;padding:0 .375rem;font-size:.75rem;text-align:center;border:1px solid #dee2e6;border-radius:.2rem}.target-conditions-trait .group-modifier-limit:focus,.entity-selector-trait .group-modifier-limit:focus{border-color:#25b9d7;outline:none}.target-conditions-trait .modifier-sort,.entity-selector-trait .modifier-sort{gap:0}.target-conditions-trait .modifier-sort .modifier-label,.entity-selector-trait .modifier-sort .modifier-label{margin-right:.375rem}.target-conditions-trait .modifier-sort .group-modifier-sort,.entity-selector-trait .modifier-sort .group-modifier-sort{height:26px;padding:0 .5rem;font-size:.75rem;border:1px solid #dee2e6;border-radius:.2rem 0 0 .2rem;border-right:none;cursor:pointer}.target-conditions-trait .modifier-sort .group-modifier-sort:focus,.entity-selector-trait .modifier-sort .group-modifier-sort:focus{border-color:#25b9d7;outline:none;position:relative;z-index:1}.target-conditions-trait .modifier-sort .btn-sort-dir,.entity-selector-trait .modifier-sort .btn-sort-dir{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .modifier-sort .btn-sort-dir:focus,.entity-selector-trait .modifier-sort .btn-sort-dir:focus{outline:none}.target-conditions-trait .modifier-sort .btn-sort-dir,.entity-selector-trait .modifier-sort .btn-sort-dir{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:#6c757d;background:#f1f5f9;border:1px solid #dee2e6;border-radius:0 .2rem .2rem 0;transition:all .15s ease-in-out}.target-conditions-trait .modifier-sort .btn-sort-dir:hover,.entity-selector-trait .modifier-sort .btn-sort-dir:hover{background:#e2e8f0;color:#495057}.target-conditions-trait .modifier-sort .btn-sort-dir i,.entity-selector-trait .modifier-sort .btn-sort-dir i{font-size:11px}.target-conditions-trait .group-modifier-sort,.entity-selector-trait .group-modifier-sort{height:26px;padding:0 .5rem;font-size:.75rem;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer}.target-conditions-trait .group-modifier-sort:focus,.entity-selector-trait .group-modifier-sort:focus{border-color:#25b9d7;outline:none}.target-conditions-trait .btn-sort-dir,.entity-selector-trait .btn-sort-dir{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-sort-dir:focus,.entity-selector-trait .btn-sort-dir:focus{outline:none}.target-conditions-trait .btn-sort-dir,.entity-selector-trait .btn-sort-dir{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:#6c757d;border:1px solid #dee2e6;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-sort-dir:hover,.entity-selector-trait .btn-sort-dir:hover{background:#f1f5f9;color:#495057}.target-conditions-trait .group-preview-badge,.entity-selector-trait .group-preview-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#f1f5f9;color:#6c757d;font-size:.75rem;font-weight:500;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .group-preview-badge.clickable,.entity-selector-trait .group-preview-badge.clickable{cursor:pointer}.target-conditions-trait .group-preview-badge.clickable:hover,.entity-selector-trait .group-preview-badge.clickable:hover{background:rgba(37,185,215,.1);color:#25b9d7}.target-conditions-trait .group-separator,.entity-selector-trait .group-separator{display:flex;align-items:center;justify-content:center;padding:.5rem 0;color:#6c757d;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.target-conditions-trait .group-separator::before,.target-conditions-trait .group-separator::after,.entity-selector-trait .group-separator::before,.entity-selector-trait .group-separator::after{content:"";flex:1;height:1px;background:#dee2e6;margin:0 1rem}.target-conditions-trait .group-modifiers,.entity-selector-trait .group-modifiers{display:flex;flex-wrap:wrap;gap:1rem;padding-top:1rem;margin-top:1rem;border-top:1px solid #dee2e6}.target-conditions-trait .modifier-group,.entity-selector-trait .modifier-group{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .modifier-label,.entity-selector-trait .modifier-label{font-size:.75rem;font-weight:500;color:#6c757d;white-space:nowrap}.target-conditions-trait .modifier-input,.entity-selector-trait .modifier-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .modifier-input:focus,.entity-selector-trait .modifier-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .modifier-input::placeholder,.entity-selector-trait .modifier-input::placeholder{color:#adb5bd}.target-conditions-trait .modifier-input,.entity-selector-trait .modifier-input{width:80px;padding:.25rem .5rem;font-size:.75rem}.target-conditions-trait .modifier-select,.entity-selector-trait .modifier-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .modifier-select:focus,.entity-selector-trait .modifier-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .modifier-select::placeholder,.entity-selector-trait .modifier-select::placeholder{color:#adb5bd}.target-conditions-trait .modifier-select,.entity-selector-trait .modifier-select{width:auto;padding:.25rem 1.5rem .25rem .5rem;font-size:.75rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .25rem center;background-repeat:no-repeat;background-size:1.25em 1.25em}.target-conditions-trait .condition-match-count,.entity-selector-trait .condition-match-count{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;background:#f1f5f9;color:#6c757d;font-size:.75rem;font-weight:500;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .condition-match-count:hover,.entity-selector-trait .condition-match-count:hover{background:#e2e8f0}.target-conditions-trait .condition-match-count.has-results,.entity-selector-trait .condition-match-count.has-results{background:rgba(37,185,215,.1);color:#25b9d7}.target-conditions-trait .condition-match-count i,.entity-selector-trait .condition-match-count i{font-size:10px}.target-conditions-trait .value-picker,.entity-selector-trait .value-picker{padding:.5rem 0}.target-conditions-trait .value-picker[style*="display: none"],.target-conditions-trait .value-picker[style*="display:none"],.entity-selector-trait .value-picker[style*="display: none"],.entity-selector-trait .value-picker[style*="display:none"]{padding:0}.target-conditions-trait .entity-search-box,.entity-selector-trait .entity-search-box{position:relative;display:flex;align-items:center;gap:.5rem;padding:.25rem;background:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .entity-search-box:focus-within,.entity-selector-trait .entity-search-box:focus-within{border-color:#25b9d7;box-shadow:0 0 0 2px rgba(37,185,215,.1)}.target-conditions-trait .chips-wrapper+.entity-search-box,.entity-selector-trait .chips-wrapper+.entity-search-box{margin-top:1rem}.target-conditions-trait .entity-search-icon,.entity-selector-trait .entity-search-icon{color:#6c757d;font-size:14px;flex-shrink:0;margin-left:.25rem}.target-conditions-trait input.entity-search-input,.target-conditions-trait input.entity-search-input[type=text],.entity-selector-trait input.entity-search-input,.entity-selector-trait input.entity-search-input[type=text]{padding:0;margin:0;background:none;border:none;font:inherit;color:inherit}.target-conditions-trait input.entity-search-input:focus,.target-conditions-trait input.entity-search-input[type=text]:focus,.entity-selector-trait input.entity-search-input:focus,.entity-selector-trait input.entity-search-input[type=text]:focus{outline:none}.target-conditions-trait input.entity-search-input,.target-conditions-trait input.entity-search-input[type=text],.entity-selector-trait input.entity-search-input,.entity-selector-trait input.entity-search-input[type=text]{flex:1;min-width:0;width:auto !important;max-width:none !important;padding:.375rem;font-size:.875rem;color:#212529;border:none !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.target-conditions-trait input.entity-search-input::placeholder,.target-conditions-trait input.entity-search-input[type=text]::placeholder,.entity-selector-trait input.entity-search-input::placeholder,.entity-selector-trait input.entity-search-input[type=text]::placeholder{color:#6c757d}.target-conditions-trait input.entity-search-input:focus,.target-conditions-trait input.entity-search-input[type=text]:focus,.entity-selector-trait input.entity-search-input:focus,.entity-selector-trait input.entity-search-input[type=text]:focus{border:none !important;box-shadow:none !important;outline:none}.target-conditions-trait .search-loading,.entity-selector-trait .search-loading{display:flex;align-items:center;justify-content:center;color:#25b9d7}.target-conditions-trait .search-loading i,.entity-selector-trait .search-loading i{animation:spin .6s linear infinite}.target-conditions-trait .btn-browse-tree,.entity-selector-trait .btn-browse-tree{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-browse-tree:focus,.entity-selector-trait .btn-browse-tree:focus{outline:none}.target-conditions-trait .btn-browse-tree,.entity-selector-trait .btn-browse-tree{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;color:#25b9d7;background:rgba(37,185,215,.1);border-radius:.2rem;flex-shrink:0;transition:all .15s ease-in-out}.target-conditions-trait .btn-browse-tree:hover,.entity-selector-trait .btn-browse-tree:hover{background:#25b9d7;color:#fff}.target-conditions-trait .btn-browse-tree i,.entity-selector-trait .btn-browse-tree i{font-size:14px}.target-conditions-trait .numeric-range-box,.target-conditions-trait .multi-range-input-row,.entity-selector-trait .numeric-range-box,.entity-selector-trait .multi-range-input-row{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .range-min-input,.target-conditions-trait .range-max-input,.entity-selector-trait .range-min-input,.entity-selector-trait .range-max-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .range-min-input:focus,.target-conditions-trait .range-max-input:focus,.entity-selector-trait .range-min-input:focus,.entity-selector-trait .range-max-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .range-min-input::placeholder,.target-conditions-trait .range-max-input::placeholder,.entity-selector-trait .range-min-input::placeholder,.entity-selector-trait .range-max-input::placeholder{color:#adb5bd}.target-conditions-trait .range-min-input,.target-conditions-trait .range-max-input,.entity-selector-trait .range-min-input,.entity-selector-trait .range-max-input{width:100px;padding:.5rem;text-align:center;font-size:.875rem}.target-conditions-trait .range-min-input::-webkit-inner-spin-button,.target-conditions-trait .range-min-input::-webkit-outer-spin-button,.target-conditions-trait .range-max-input::-webkit-inner-spin-button,.target-conditions-trait .range-max-input::-webkit-outer-spin-button,.entity-selector-trait .range-min-input::-webkit-inner-spin-button,.entity-selector-trait .range-min-input::-webkit-outer-spin-button,.entity-selector-trait .range-max-input::-webkit-inner-spin-button,.entity-selector-trait .range-max-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.target-conditions-trait .range-min-input,.target-conditions-trait .range-max-input,.entity-selector-trait .range-min-input,.entity-selector-trait .range-max-input{-moz-appearance:textfield}.target-conditions-trait .range-separator,.entity-selector-trait .range-separator{color:#6c757d;font-size:.875rem;font-weight:500}.target-conditions-trait .btn-add-range,.entity-selector-trait .btn-add-range{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-range:focus,.entity-selector-trait .btn-add-range:focus{outline:none}.target-conditions-trait .btn-add-range,.entity-selector-trait .btn-add-range{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#fff;background:#25b9d7;border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-range:hover,.entity-selector-trait .btn-add-range:hover{background:#1a9ab7}.target-conditions-trait .btn-add-range i,.entity-selector-trait .btn-add-range i{font-size:12px}.target-conditions-trait .multi-range-container,.entity-selector-trait .multi-range-container{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .date-range-box,.entity-selector-trait .date-range-box{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .date-from-input,.target-conditions-trait .date-to-input,.entity-selector-trait .date-from-input,.entity-selector-trait .date-to-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .date-from-input:focus,.target-conditions-trait .date-to-input:focus,.entity-selector-trait .date-from-input:focus,.entity-selector-trait .date-to-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .date-from-input::placeholder,.target-conditions-trait .date-to-input::placeholder,.entity-selector-trait .date-from-input::placeholder,.entity-selector-trait .date-to-input::placeholder{color:#adb5bd}.target-conditions-trait .date-from-input,.target-conditions-trait .date-to-input,.entity-selector-trait .date-from-input,.entity-selector-trait .date-to-input{width:140px;padding:.5rem;font-size:.875rem}.target-conditions-trait .multi-select-tiles,.entity-selector-trait .multi-select-tiles{display:flex;flex-wrap:wrap;gap:.25rem}.target-conditions-trait .tile-option,.entity-selector-trait .tile-option{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .tile-option:focus,.entity-selector-trait .tile-option:focus{outline:none}.target-conditions-trait .tile-option,.entity-selector-trait .tile-option{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;color:#495057;background:#f1f5f9;border:1px solid rgba(0,0,0,0);border-radius:.2rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .tile-option:hover,.entity-selector-trait .tile-option:hover{background:#e2e8f0}.target-conditions-trait .tile-option.selected,.entity-selector-trait .tile-option.selected{color:#25b9d7;background:rgba(37,185,215,.1);border-color:#25b9d7}.target-conditions-trait .tile-option i,.entity-selector-trait .tile-option i{font-size:12px}.target-conditions-trait .tile-label,.entity-selector-trait .tile-label{white-space:nowrap}.target-conditions-trait .select-input-box,.entity-selector-trait .select-input-box{display:inline-block}.target-conditions-trait .select-value-input,.entity-selector-trait .select-value-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .select-value-input:focus,.entity-selector-trait .select-value-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .select-value-input::placeholder,.entity-selector-trait .select-value-input::placeholder{color:#adb5bd}.target-conditions-trait .select-value-input,.entity-selector-trait .select-value-input{padding:.5rem 1rem;font-size:.875rem;min-width:150px}.target-conditions-trait .boolean-input-box,.entity-selector-trait .boolean-input-box{display:inline-flex;align-items:center;padding:.5rem 1rem;background:#d4edda;color:#1e7e34;border-radius:.25rem;font-size:.875rem;font-weight:500}.target-conditions-trait .boolean-label,.entity-selector-trait .boolean-label{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .boolean-label::before,.entity-selector-trait .boolean-label::before{content:"✓";font-weight:bold}.target-conditions-trait .condition-match-count,.entity-selector-trait .condition-match-count{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .condition-match-count:hover,.entity-selector-trait .condition-match-count:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .condition-match-count:focus,.entity-selector-trait .condition-match-count:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .condition-match-count.loading,.entity-selector-trait .condition-match-count.loading{cursor:wait}.target-conditions-trait .condition-match-count.loading i,.entity-selector-trait .condition-match-count.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .condition-match-count.loading:hover,.entity-selector-trait .condition-match-count.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .condition-match-count.inactive,.target-conditions-trait .condition-match-count.no-matches,.entity-selector-trait .condition-match-count.inactive,.entity-selector-trait .condition-match-count.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .condition-match-count.inactive:hover,.target-conditions-trait .condition-match-count.no-matches:hover,.entity-selector-trait .condition-match-count.inactive:hover,.entity-selector-trait .condition-match-count.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .condition-match-count.popover-open,.entity-selector-trait .condition-match-count.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .condition-match-count i,.entity-selector-trait .condition-match-count i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .condition-match-count:hover i,.entity-selector-trait .condition-match-count:hover i{opacity:1}.target-conditions-trait .condition-match-count .preview-count,.entity-selector-trait .condition-match-count .preview-count{font-weight:700}.target-conditions-trait .condition-match-count,.entity-selector-trait .condition-match-count{margin-left:.5rem}.mpr-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1050;opacity:0;transition:opacity .2s ease-in-out}.mpr-modal-backdrop.show{opacity:1}.mpr-modal{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.95);z-index:1051;width:90%;max-width:600px;max-height:90vh;background:#fff;border-radius:.5rem;box-shadow:0 1.5rem 4rem rgba(0,0,0,.2);opacity:0;transition:all .2s ease-in-out;overflow:hidden;display:flex;flex-direction:column}.mpr-modal.show{opacity:1;transform:translate(-50%, -50%) scale(1)}.mpr-modal.modal-sm{max-width:400px}.mpr-modal.modal-lg{max-width:800px}.mpr-modal.modal-xl{max-width:1000px}.mpr-modal.modal-fullscreen{width:95%;max-width:none;height:90vh;max-height:none}.mpr-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;flex-shrink:0}.mpr-modal-title{font-size:1rem;font-weight:600;color:#212529;margin:0}.mpr-modal-close{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.mpr-modal-close:focus{outline:none}.mpr-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#6c757d;border-radius:.25rem;transition:all .15s ease-in-out}.mpr-modal-close:hover{background:#e2e8f0;color:#495057}.mpr-modal-close i{font-size:1.125rem}.mpr-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.mpr-modal-body::-webkit-scrollbar{width:6px;height:6px}.mpr-modal-body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.mpr-modal-body::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.mpr-modal-body::-webkit-scrollbar-thumb:hover{background:#ced4da}.mpr-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;background:#f8f9fa;border-top:1px solid #dee2e6;flex-shrink:0}.mpr-modal-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.mpr-modal-btn:focus{outline:none}.mpr-modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:.25rem;transition:all .15s ease-in-out}.mpr-modal-btn.btn-secondary{color:#495057;background:#f1f5f9}.mpr-modal-btn.btn-secondary:hover{background:#e2e8f0}.mpr-modal-btn.btn-primary{color:#fff;background:#25b9d7}.mpr-modal-btn.btn-primary:hover{background:#1a9ab7}.mpr-modal-btn.btn-danger{color:#fff;background:#dc3545}.mpr-modal-btn.btn-danger:hover{background:rgb(189.2151898734,32.7848101266,47.7721518987)}.mpr-modal-btn:disabled{opacity:.5;cursor:not-allowed}.popover-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0}.popover-title{font-size:.875rem;font-weight:600;color:#212529}.popover-close{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.popover-close:focus{outline:none}.popover-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.popover-close:hover{background:#e2e8f0;color:#495057}.popover-body{max-height:300px;overflow-y:auto;padding:.5rem}.popover-body::-webkit-scrollbar{width:6px;height:6px}.popover-body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.popover-body::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.popover-body::-webkit-scrollbar-thumb:hover{background:#ced4da}.popover-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border-top:1px solid #dee2e6;border-radius:0 0 .3rem .3rem}.popover-info{font-size:.75rem;color:#6c757d}.popover-load-more{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.popover-load-more:focus{outline:none}.popover-load-more{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.popover-load-more:hover{background:rgba(37,185,215,.1)}.popover-arrow{position:absolute;width:12px;height:12px;background:#fff;border:1px solid #dee2e6;transform:rotate(45deg)}.popover-arrow.arrow-top{top:-7px;left:50%;margin-left:-6px;border-right:none;border-bottom:none}.popover-arrow.arrow-bottom{bottom:-7px;left:50%;margin-left:-6px;border-left:none;border-top:none}.target-preview-popover{position:absolute;z-index:10000;min-width:280px;max-width:400px;background:#fff;border:1px solid #dee2e6;border-radius:.3rem;box-shadow:0 1rem 3rem rgba(0,0,0,.175);overflow:hidden}.target-preview-popover::before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);border-left:8px solid rgba(0,0,0,0);border-right:8px solid rgba(0,0,0,0);border-bottom:8px solid #dee2e6}.target-preview-popover::after{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-bottom:6px solid #fff}.target-preview-popover .preview-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.target-preview-popover .preview-header .preview-count{font-size:.875rem;font-weight:600;color:#212529}.target-preview-popover .preview-header .preview-close{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-preview-popover .preview-header .preview-close:focus{outline:none}.target-preview-popover .preview-header .preview-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-preview-popover .preview-header .preview-close:hover{background:#e2e8f0;color:#212529}.target-preview-popover .preview-list{max-height:300px;overflow-y:auto}.target-preview-popover .preview-list::-webkit-scrollbar{width:6px;height:6px}.target-preview-popover .preview-list::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-preview-popover .preview-list::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-preview-popover .preview-list::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-preview-popover .preview-list{padding:.5rem;display:flex;flex-direction:column;gap:.25rem;position:relative}.target-preview-popover .preview-list.filtering{pointer-events:none;opacity:.6}.target-preview-popover .preview-list .filter-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.7);z-index:10}.target-preview-popover .preview-list .filter-loading-overlay i{font-size:20px;color:#25b9d7;animation:spin .6s linear infinite}.target-preview-popover .preview-filter{padding:.5rem;border-bottom:1px solid #dee2e6}.target-preview-popover .preview-filter .preview-filter-input{width:100%;padding:.25rem .5rem;font-size:.75rem;line-height:1.4;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.2rem;box-sizing:border-box}.target-preview-popover .preview-filter .preview-filter-input:focus{border-color:#25b9d7;outline:none}.target-preview-popover .preview-filter .preview-filter-input::placeholder{color:#6c757d}.target-preview-popover .preview-footer{padding:.5rem 1rem;background:#f8fafc;border-top:1px solid #dee2e6}.target-preview-popover .preview-footer .preview-more-info{font-size:.75rem;color:#6c757d;font-weight:500;text-align:center}.target-preview-popover .load-more-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.75rem;color:#6c757d}.target-preview-popover .load-more-controls .load-more-label{white-space:nowrap}.target-preview-popover .load-more-controls .load-more-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-preview-popover .load-more-controls .load-more-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-preview-popover .load-more-controls .load-more-select::placeholder{color:#adb5bd}.target-preview-popover .load-more-controls .load-more-select{padding:.25rem .5rem;font-size:.75rem;min-width:70px}.target-preview-popover .load-more-controls .load-more-of{white-space:nowrap}.target-preview-popover .load-more-controls .remaining-count{font-weight:600;color:#495057}.target-preview-popover .load-more-controls .btn-load-more{display:flex;align-items:center;justify-content:center;padding:.25rem;margin:0;border:none;color:#25b9d7;background:rgba(37,185,215,.1) !important;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out;font:inherit}.target-preview-popover .load-more-controls .btn-load-more i{font-size:14px}.target-preview-popover .load-more-controls .btn-load-more:hover{background:rgba(37,185,215,.2) !important}.target-preview-popover .load-more-controls .btn-load-more.loading{cursor:wait}.target-preview-popover .load-more-controls .btn-load-more.loading i{animation:spin .6s linear infinite}.entity-list-preview{display:flex;flex-direction:column;gap:.25rem}.preview-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:#fff;border:none;border-bottom:1px solid #dee2e6;border-radius:0;transition:background .15s ease-in-out}.preview-item:last-child{border-bottom:none}.preview-item:hover{background:#e9ecef}.preview-item-image{flex-shrink:0;width:36px;height:36px;object-fit:cover;border-radius:.2rem;background:#f1f5f9}.preview-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;background:#f1f5f9;color:#6c757d;border-radius:.2rem;font-size:1rem}.preview-item-info{flex:1;min-width:0}.preview-item-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-item-meta{font-size:.75rem;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-item-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1;background-color:#f1f5f9;color:#6c757d;border-radius:50rem;flex-shrink:0}.preview-item-price{font-size:.875rem;font-weight:600;color:#25b9d7;flex-shrink:0}.entity-list-preview.grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));gap:.5rem}.entity-list-preview.grid-layout .preview-item{flex-direction:column;text-align:center;padding:1rem}.entity-list-preview.grid-layout .preview-item-image{width:60px;height:60px}.entity-list-preview.grid-layout .preview-item-info{width:100%}.entity-list-preview.compact{gap:0}.entity-list-preview.compact .preview-item{border-radius:0;border-bottom:none}.entity-list-preview.compact .preview-item:first-child{border-radius:.25rem .25rem 0 0}.entity-list-preview.compact .preview-item:last-child{border-radius:0 0 .25rem .25rem;border-bottom:1px solid #dee2e6}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;color:#6c757d}.preview-empty i{font-size:2rem;opacity:.5}.preview-empty p{margin:0;font-size:.875rem}.preview-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6c757d}.preview-loading .spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#25b9d7;border-radius:50%;animation:spin .8s linear infinite}.preview-pagination{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:1rem 0}.preview-page-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.preview-page-btn:focus{outline:none}.preview-page-btn{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .5rem;font-size:.75rem;font-weight:500;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;transition:all .15s ease-in-out}.preview-page-btn:hover:not(:disabled){background:#e9ecef;border-color:#cbd5e1}.preview-page-btn.active{background:#25b9d7;border-color:#25b9d7;color:#fff}.preview-page-btn:disabled{opacity:.5;cursor:not-allowed}.preview-summary{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-top:1px solid #dee2e6;font-size:.75rem;color:#6c757d}.preview-count{font-weight:500}.preview-count strong{color:#212529}.preview-filters{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem;background:#f8fafc;border-bottom:1px solid #dee2e6}.preview-filter-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:#e9ecef;color:#495057;border-radius:50rem}.preview-filter-chip .chip-remove{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.preview-filter-chip .chip-remove:focus{outline:none}.preview-filter-chip .chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:10px;color:#6c757d;border-radius:50%}.preview-filter-chip .chip-remove:hover{background:rgba(0,0,0,.1);color:#dc3545}.preview-search{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.preview-search:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.preview-search::placeholder{color:#adb5bd}.preview-search{flex:1;min-width:150px;padding:.375rem .5rem;font-size:.75rem}.preview-list-scrollable{max-height:400px;overflow-y:auto}.preview-list-scrollable::-webkit-scrollbar{width:6px;height:6px}.preview-list-scrollable::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.preview-list-scrollable::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.preview-list-scrollable::-webkit-scrollbar-thumb:hover{background:#ced4da}.entity-mini-preview{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#f8fafc;border-radius:.2rem;font-size:.75rem}.entity-mini-preview img{width:16px;height:16px;object-fit:cover;border-radius:2px}.entity-mini-preview .mini-preview-name{color:#212529;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.total-preview-popover{min-width:240px;max-width:320px}.total-preview-popover .preview-popover-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.total-preview-popover .preview-popover-header .preview-popover-title{font-weight:600;color:#212529;font-size:.875rem}.total-preview-popover .preview-popover-header .preview-popover-count{font-size:.75rem;color:#6c757d}.total-preview-popover .preview-popover-body{padding:.25rem 0}.total-preview-popover .total-summary-list{list-style:none;margin:0;padding:0}.total-preview-popover .total-summary-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;cursor:pointer;transition:background-color .15s ease}.total-preview-popover .total-summary-item:hover{background:#f8fafc}.total-preview-popover .total-summary-item i{width:18px;text-align:center;color:#6c757d;font-size:14px}.total-preview-popover .total-summary-item .summary-item-label{flex:1;font-size:.875rem;color:#212529}.total-preview-popover .total-summary-item .summary-item-count{font-size:.875rem;font-weight:600;color:#25b9d7;background:rgba(37,185,215,.1);padding:2px 8px;border-radius:.2rem}.trait-total-count{cursor:pointer;transition:all .15s ease}.trait-total-count:hover{opacity:.8}.trait-total-count.popover-open{opacity:.9}.schedule-conditions-trait{background:#fff;border:1px solid #dee2e6;border-radius:.3rem}.schedule-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;cursor:pointer;user-select:none;transition:background-color .15s ease-in-out}.schedule-header:hover{background:#e9ecef}.schedule-title{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:600;color:#212529}.schedule-title i{color:#6c757d}.schedule-body{padding:1rem}.schedule-section{margin-bottom:1.5rem}.schedule-section:last-child{margin-bottom:0}.schedule-section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:#212529}.schedule-section-title i{color:#6c757d}.schedule-section-description{margin-bottom:1rem;font-size:.75rem;color:#6c757d}.datetime-range{display:flex;flex-wrap:wrap;gap:1rem}.datetime-field{flex:1;min-width:200px}.datetime-label{display:block;margin-bottom:.25rem;font-size:.75rem;font-weight:500;color:#495057}.datetime-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.datetime-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.datetime-input::placeholder{color:#adb5bd}.weekly-schedule{display:flex;flex-direction:column;gap:.5rem}.day-row{display:flex;align-items:center;gap:1rem;padding:.5rem;background:#f8fafc;border-radius:.25rem}.day-row.disabled{opacity:.5}.day-toggle{display:flex;align-items:center;gap:.5rem;min-width:100px}.day-checkbox{width:18px;height:18px;cursor:pointer}.day-name{font-size:.875rem;font-weight:500;color:#212529}.timeline-slider{flex:1;position:relative;height:24px;background:#e2e8f0;border-radius:50rem;cursor:pointer}.timeline-fill{position:absolute;top:0;height:100%;background:#25b9d7;border-radius:50rem;transition:all .15s ease-in-out}.timeline-handle{position:absolute;top:50%;width:16px;height:16px;background:#fff;border:2px solid #25b9d7;border-radius:50%;transform:translate(-50%, -50%);cursor:grab;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);transition:box-shadow .15s ease-in-out}.timeline-handle:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}.timeline-handle:active{cursor:grabbing}.timeline-handle.handle-start{z-index:2}.timeline-handle.handle-end{z-index:1}.day-times{display:flex;align-items:center;gap:.25rem;min-width:120px;font-size:.75rem;font-family:monospace;color:#495057}.time-separator{color:#6c757d}.holiday-section{padding:1rem;background:#f8fafc;border-radius:.25rem}.holiday-toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.holiday-checkbox{width:18px;height:18px;cursor:pointer}.holiday-label{font-size:.875rem;font-weight:500;color:#212529}.holiday-countries{display:flex;flex-wrap:wrap;gap:.25rem}.holiday-country-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:#e9ecef;color:#495057;border-radius:50rem}.holiday-country-chip .chip-remove{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.holiday-country-chip .chip-remove:focus{outline:none}.holiday-country-chip .chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:10px;color:#6c757d;border-radius:50%}.holiday-country-chip .chip-remove:hover{background:rgba(0,0,0,.1);color:#dc3545}.holiday-country-chip{cursor:pointer}.holiday-country-chip.selected{background:rgba(37,185,215,.1);color:#25b9d7}.server-time{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#d1ecf1;border-radius:.25rem;font-size:.75rem;color:#17a2b8}.server-time i{font-size:.875rem}.server-time .time-value{font-family:monospace;font-weight:600}.schedule-summary{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:#f8fafc;border-radius:.25rem;font-size:.875rem;color:#495057}.schedule-summary .summary-item{display:flex;align-items:center;gap:.5rem}.schedule-summary .summary-item i{color:#28a745;font-size:.875rem}.schedule-summary .summary-item.inactive i{color:#6c757d}.schedule-conditions-trait.collapsed .schedule-body{display:none}.schedule-conditions-trait.collapsed .schedule-header{border-radius:.3rem}.target-conditions-trait .target-tips-box,.entity-selector-trait .target-tips-box{margin:1.5rem 1rem 1rem;border:1px solid #dee2e6;border-radius:.3rem;overflow:hidden;background:linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%)}.target-conditions-trait .tips-header,.entity-selector-trait .tips-header{display:flex;align-items:center;gap:.625rem;padding:1rem 1.5rem;cursor:pointer;user-select:none;transition:background-color .15s ease-in-out}.target-conditions-trait .tips-header:hover,.entity-selector-trait .tips-header:hover{background:rgba(0,0,0,.02)}.target-conditions-trait .tips-header>i:first-child,.entity-selector-trait .tips-header>i:first-child{font-size:1rem;color:#ffc107}.target-conditions-trait .tips-header>span,.entity-selector-trait .tips-header>span{flex:1;font-size:13px;font-weight:600;color:#475569}.target-conditions-trait .tips-toggle,.entity-selector-trait .tips-toggle{font-size:.75rem;color:#94a3b8;transition:transform .2s}.target-conditions-trait .target-tips-box.expanded .tips-toggle,.entity-selector-trait .target-tips-box.expanded .tips-toggle{transform:rotate(180deg)}.target-conditions-trait .target-tips-box.expanded .tips-content,.entity-selector-trait .target-tips-box.expanded .tips-content{display:block}.target-conditions-trait .tips-content,.entity-selector-trait .tips-content{display:none;padding:0 1.5rem 1.5rem}.target-conditions-trait .tips-grid,.entity-selector-trait .tips-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))}.target-conditions-trait .tip-item,.entity-selector-trait .tip-item{display:flex;gap:1rem;padding:1rem;background:#fff;border-radius:.25rem;border:1px solid #dee2e6}.target-conditions-trait .tip-icon,.entity-selector-trait .tip-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:rgba(37,185,215,.1);border-radius:.25rem;color:#25b9d7;font-size:.875rem}.target-conditions-trait .tip-text,.entity-selector-trait .tip-text{flex:1;min-width:0}.target-conditions-trait .tip-text strong,.entity-selector-trait .tip-text strong{display:block;font-size:.75rem;font-weight:600;color:#334155;margin-bottom:.25rem}.target-conditions-trait .tip-text p,.entity-selector-trait .tip-text p{font-size:11px;color:#6c757d;line-height:1.625;margin:0}.target-conditions-trait .tips-footer,.entity-selector-trait .tips-footer{margin-top:1rem;padding:.625rem 1rem;background:#fff;border-radius:.25rem;border:1px dashed #dee2e6;font-size:11px;color:#6c757d;line-height:1.625}.target-conditions-trait .tips-footer i,.entity-selector-trait .tips-footer i{color:#25b9d7;margin-right:.25rem}.condition-trait{background:#fff;border:1px solid #dee2e6;border-radius:.3rem;margin-bottom:1.5rem}.condition-trait:last-child{margin-bottom:0}.condition-trait.collapsed .condition-trait-header{border-bottom-color:rgba(0,0,0,0);border-radius:.3rem}.condition-trait.collapsed .collapse-icon{transform:rotate(180deg)}.condition-trait-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding:.875rem 1.5rem;background:#f8fafc;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;cursor:pointer;transition:background-color .15s ease-in-out}.condition-trait-header:hover{background:#f1f5f9}.trait-header-left{display:flex;align-items:center;gap:1rem;min-width:0;flex:1}.trait-icon{font-size:1.125rem;color:#6c757d;flex-shrink:0}.trait-title-group{display:flex;flex-direction:column;gap:.125rem;min-width:0}.trait-title{font-size:.875rem;font-weight:600;color:#1e293b;white-space:nowrap}.trait-subtitle{font-size:.75rem;color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trait-header-right{display:flex;align-items:center;gap:1rem;flex-shrink:0;margin-left:auto}.trait-header-actions{display:flex;align-items:center;gap:.5rem}.collapse-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:.875rem;color:#6c757d;cursor:pointer;transition:all .2s;border-radius:.2rem;background:rgba(0,0,0,0)}.collapse-icon:hover{color:#25b9d7;background:rgba(37,185,215,.08)}.trait-show-all-toggle{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:#25b9d7;cursor:pointer}.trait-show-all-toggle:hover{text-decoration:underline}.trait-total-count{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.trait-total-count:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.trait-total-count:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.trait-total-count.loading{cursor:wait}.trait-total-count.loading i{font-size:10px;animation:spin .6s linear infinite}.trait-total-count.loading:hover{transform:none;box-shadow:none}.trait-total-count.inactive,.trait-total-count.no-matches{background:#94a3b8;cursor:default}.trait-total-count.inactive:hover,.trait-total-count.no-matches:hover{transform:none;box-shadow:none}.trait-total-count.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.trait-total-count i{font-size:10px;line-height:1;opacity:.8}.trait-total-count:hover i{opacity:1}.trait-total-count .preview-count{font-weight:700}.trait-required{color:#dc3545;font-size:.75rem}.trait-validation-error{color:#dc3545;font-size:.75rem;margin-top:.25rem}.trait-toggle{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.trait-toggle:focus{outline:none}.trait-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:all .15s ease-in-out}.trait-toggle:hover{background:#f8fafc;border-color:#dee2e6}.trait-toggle.active{color:#25b9d7;border-color:#25b9d7;background:rgba(37,185,215,.1)}.condition-trait-body{padding:1.5rem;border-radius:0 0 .3rem .3rem;background:#fff;animation:slideDown .2s ease-out}.condition-trait.collapsed .condition-trait-body{display:none}.schedule-section,.context-section{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid #f1f5f9}.schedule-section:last-child,.context-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.section-label{display:flex;align-items:center;gap:.5rem;font-size:13px;font-weight:600;color:#475569;margin-bottom:1rem}.section-label i{font-size:.875rem;color:#94a3b8;margin-right:.25rem}.section-hint{margin-top:.5rem;font-size:11px;color:#94a3b8}.form-group.condition-trait-fullwidth{display:block !important}.form-group.condition-trait-fullwidth>.control-label{display:none !important}.form-group.condition-trait-fullwidth>.col-lg-8,.form-group.condition-trait-fullwidth>.col-lg-8.col-lg-offset-3{width:100% !important;max-width:100% !important;flex:0 0 100% !important;padding-left:1.5rem !important;padding-right:1.5rem !important;margin:0 !important;margin-left:0 !important}.condition-traits-group-label{font-size:.875rem;font-weight:600;color:#334155;margin-bottom:1rem}.condition-traits-wrapper{display:flex;flex-direction:column;gap:1rem}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.target-conditions-trait .combination-attributes-picker,.entity-selector-trait .combination-attributes-picker{display:flex;flex-direction:column;gap:.625rem}.target-conditions-trait .combination-mode-toggle,.entity-selector-trait .combination-mode-toggle{display:inline-flex;gap:.25rem;padding:.125rem;background:#f1f5f9;border-radius:.25rem;margin-bottom:.5rem}.target-conditions-trait .combination-mode-option,.entity-selector-trait .combination-mode-option{display:flex;align-items:center;gap:.25rem;cursor:pointer;font-size:11px;color:#6c757d;padding:.25rem .625rem;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .combination-mode-option input[type=radio],.entity-selector-trait .combination-mode-option input[type=radio]{display:none}.target-conditions-trait .combination-mode-option .mode-label,.entity-selector-trait .combination-mode-option .mode-label{user-select:none}.target-conditions-trait .combination-mode-option:hover,.entity-selector-trait .combination-mode-option:hover{color:#25b9d7;background:rgba(37,185,215,.1)}.target-conditions-trait .combination-mode-option:has(input[type=radio]:checked),.entity-selector-trait .combination-mode-option:has(input[type=radio]:checked){background:#25b9d7;color:#fff;font-weight:500}.target-conditions-trait .combination-groups-container,.entity-selector-trait .combination-groups-container{display:flex;flex-wrap:wrap;gap:1rem}.target-conditions-trait .combination-loading,.target-conditions-trait .combination-empty,.target-conditions-trait .combination-error,.entity-selector-trait .combination-loading,.entity-selector-trait .combination-empty,.entity-selector-trait .combination-error{color:#6c757d;font-style:italic;padding:.5rem}.target-conditions-trait .combination-error,.entity-selector-trait .combination-error{color:#dc3545}.target-conditions-trait .combinations-section,.entity-selector-trait .combinations-section{margin-bottom:1rem}.target-conditions-trait .combinations-header,.entity-selector-trait .combinations-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.target-conditions-trait .combinations-label,.entity-selector-trait .combinations-label{font-size:.75rem;font-weight:500;color:#6c757d}.target-conditions-trait .combinations-help,.entity-selector-trait .combinations-help{font-size:11px;color:#94a3b8}.target-conditions-trait .btn-toggle-combinations,.entity-selector-trait .btn-toggle-combinations{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-toggle-combinations:focus,.entity-selector-trait .btn-toggle-combinations:focus{outline:none}.target-conditions-trait .btn-toggle-combinations,.entity-selector-trait .btn-toggle-combinations{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#25b9d7;background:rgba(0,0,0,0);border:1px solid #25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-toggle-combinations:hover,.entity-selector-trait .btn-toggle-combinations:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .btn-remove-combinations,.entity-selector-trait .btn-remove-combinations{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-combinations:focus,.entity-selector-trait .btn-remove-combinations:focus{outline:none}.target-conditions-trait .btn-remove-combinations,.entity-selector-trait .btn-remove-combinations{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#dc3545;background:rgba(0,0,0,0)}.target-conditions-trait .btn-remove-combinations:hover,.entity-selector-trait .btn-remove-combinations:hover{text-decoration:underline}.target-conditions-trait .comb-attr-group,.entity-selector-trait .comb-attr-group{flex:none;min-width:120px;max-width:200px;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;overflow:hidden}.target-conditions-trait .comb-attr-group.has-selections,.entity-selector-trait .comb-attr-group.has-selections{border-color:#25b9d7}.target-conditions-trait .comb-attr-group-header,.entity-selector-trait .comb-attr-group-header{display:flex;justify-content:space-between;align-items:center;padding:.375rem .625rem;background:#f1f5f9;border-bottom:1px solid #dee2e6;font-weight:600;font-size:.75rem;color:#1e293b}.comb-attr-group.has-selections .target-conditions-trait .comb-attr-group-header,.comb-attr-group.has-selections .entity-selector-trait .comb-attr-group-header{background:#ecfeff;border-bottom-color:#a5f3fc}.target-conditions-trait .comb-attr-group-name,.entity-selector-trait .comb-attr-group-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-conditions-trait .comb-attr-group-count,.entity-selector-trait .comb-attr-group-count{flex-shrink:0;min-width:18px;height:18px;padding:0 .25rem;background:#dee2e6;border-radius:50rem;font-size:11px;font-weight:600;line-height:18px;text-align:center;color:#6c757d}.comb-attr-group.has-selections .target-conditions-trait .comb-attr-group-count,.comb-attr-group.has-selections .entity-selector-trait .comb-attr-group-count{background:#25b9d7;color:#fff}.target-conditions-trait .comb-attr-toolbar,.entity-selector-trait .comb-attr-toolbar{display:flex;align-items:center;gap:.25rem;padding:.25rem .375rem;background:#f8fafc;border-bottom:1px solid #f1f5f9}.target-conditions-trait .comb-toolbar-btn,.entity-selector-trait .comb-toolbar-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .comb-toolbar-btn:focus,.entity-selector-trait .comb-toolbar-btn:focus{outline:none}.target-conditions-trait .comb-toolbar-btn,.entity-selector-trait .comb-toolbar-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;color:#6c757d;cursor:pointer;font-size:.75rem;transition:all .15s ease-in-out}.target-conditions-trait .comb-toolbar-btn:hover,.entity-selector-trait .comb-toolbar-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#1e293b}.target-conditions-trait .comb-attr-search,.entity-selector-trait .comb-attr-search{flex:1;min-width:60px;padding:.125rem .375rem;border:1px solid #dee2e6;border-radius:.2rem;font-size:11px;outline:none}.target-conditions-trait .comb-attr-search:focus,.entity-selector-trait .comb-attr-search:focus{border-color:#25b9d7}.target-conditions-trait .comb-attr-search::placeholder,.entity-selector-trait .comb-attr-search::placeholder{color:#94a3b8}.target-conditions-trait .comb-attr-values,.entity-selector-trait .comb-attr-values{display:flex;flex-wrap:wrap;gap:.25rem;padding:.375rem;max-height:150px;overflow-y:auto}.target-conditions-trait .comb-attr-values::-webkit-scrollbar,.entity-selector-trait .comb-attr-values::-webkit-scrollbar{width:6px;height:6px}.target-conditions-trait .comb-attr-values::-webkit-scrollbar-track,.entity-selector-trait .comb-attr-values::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-conditions-trait .comb-attr-values::-webkit-scrollbar-thumb,.entity-selector-trait .comb-attr-values::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-conditions-trait .comb-attr-values::-webkit-scrollbar-thumb:hover,.entity-selector-trait .comb-attr-values::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-conditions-trait .comb-attr-loading,.target-conditions-trait .comb-attr-empty,.target-conditions-trait .comb-attr-error,.entity-selector-trait .comb-attr-loading,.entity-selector-trait .comb-attr-empty,.entity-selector-trait .comb-attr-error{width:100%;text-align:center;color:#94a3b8;font-size:11px;padding:.25rem}.target-conditions-trait .comb-attr-error,.entity-selector-trait .comb-attr-error{color:#dc3545}.target-conditions-trait .comb-attr-value,.entity-selector-trait .comb-attr-value{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:#fff;border:1px solid #94a3b8;border-radius:.75rem;font-size:11px;color:#475569;cursor:pointer;transition:all .15s ease-in-out;white-space:nowrap}.target-conditions-trait .comb-attr-value:hover,.entity-selector-trait .comb-attr-value:hover{background:#f1f5f9;border-color:#6c757d}.target-conditions-trait .comb-attr-value.selected,.entity-selector-trait .comb-attr-value.selected{background:#25b9d7;border-color:#1a9ab7;color:#fff}.target-conditions-trait .comb-attr-value.selected:hover,.entity-selector-trait .comb-attr-value.selected:hover{background:#1a9ab7;border-color:rgb(22.8277511962,135.2105263158,160.6722488038)}.target-conditions-trait .comb-attr-value-count,.entity-selector-trait .comb-attr-value-count{font-size:9px;color:#94a3b8;background:#f1f5f9;padding:1px .25rem;border-radius:.5rem;min-width:14px;text-align:center}.comb-attr-value.selected .target-conditions-trait .comb-attr-value-count,.comb-attr-value.selected .entity-selector-trait .comb-attr-value-count{color:#fff;background:hsla(0,0%,100%,.3)}.target-conditions-trait .combination-conditions-container,.entity-selector-trait .combination-conditions-container{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .combination-condition-row,.entity-selector-trait .combination-condition-row{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f8fafc;border-radius:.2rem}.target-conditions-trait .combination-group-select,.target-conditions-trait .combination-values-select,.entity-selector-trait .combination-group-select,.entity-selector-trait .combination-values-select{flex:1;min-width:120px}.target-conditions-trait .combination-equals,.entity-selector-trait .combination-equals{font-size:.75rem;color:#6c757d;padding:0 .25rem}.target-conditions-trait .btn-add-combination-condition,.entity-selector-trait .btn-add-combination-condition{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-combination-condition:focus,.entity-selector-trait .btn-add-combination-condition:focus{outline:none}.target-conditions-trait .btn-add-combination-condition,.entity-selector-trait .btn-add-combination-condition{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:#25b9d7;background:rgba(0,0,0,0);border:1px dashed #25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-combination-condition:hover,.entity-selector-trait .btn-add-combination-condition:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .btn-add-combination-condition i,.entity-selector-trait .btn-add-combination-condition i{font-size:10px}.target-conditions-trait .btn-remove-combination-row,.entity-selector-trait .btn-remove-combination-row{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-combination-row:focus,.entity-selector-trait .btn-remove-combination-row:focus{outline:none}.target-conditions-trait .btn-remove-combination-row,.entity-selector-trait .btn-remove-combination-row{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-combination-row:hover,.entity-selector-trait .btn-remove-combination-row:hover{background:rgba(220,53,69,.1);color:#dc3545}.target-conditions-trait .btn-remove-combination-row i,.entity-selector-trait .btn-remove-combination-row i{font-size:12px}.target-conditions-trait .method-dropdown-trigger,.entity-selector-trait .method-dropdown-trigger{display:inline-flex;align-items:center;gap:.5rem;height:36px;padding:0 1rem;border-radius:.25rem;background:#fff;color:#1e293b;font-size:.875rem;cursor:pointer;transition:all .15s ease-in-out;min-width:180px;max-width:320px;border:1px solid #dee2e6}.target-conditions-trait .method-dropdown-trigger:hover,.entity-selector-trait .method-dropdown-trigger:hover{background:#f8fafc;border-color:#dee2e6}.target-conditions-trait .method-dropdown-trigger:focus,.target-conditions-trait .method-dropdown-trigger:active,.entity-selector-trait .method-dropdown-trigger:focus,.entity-selector-trait .method-dropdown-trigger:active{outline:none;border-color:#25b9d7;box-shadow:0 0 0 3px rgba(37,185,215,.1)}.target-conditions-trait .method-trigger-icon,.entity-selector-trait .method-trigger-icon{font-size:.875rem;color:#6c757d;flex-shrink:0;width:18px;text-align:center}.target-conditions-trait .method-trigger-label,.entity-selector-trait .method-trigger-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.target-conditions-trait .method-trigger-caret,.entity-selector-trait .method-trigger-caret{font-size:.75rem;color:#94a3b8;flex-shrink:0;margin-left:auto}.target-conditions-trait .selector-locked .method-dropdown-trigger,.entity-selector-trait .selector-locked .method-dropdown-trigger{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;border-color:#dee2e6}.target-conditions-trait .selector-locked .method-dropdown-trigger:hover,.entity-selector-trait .selector-locked .method-dropdown-trigger:hover{background:#f1f5f9;border-color:#dee2e6}.target-conditions-trait .method-selector-wrapper,.entity-selector-trait .method-selector-wrapper{position:relative}.target-conditions-trait .method-select-hidden,.entity-selector-trait .method-select-hidden{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:0 !important;height:0 !important;overflow:hidden !important}.method-select-hidden{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:0 !important;height:0 !important;overflow:hidden !important}.method-dropdown-menu{position:absolute;z-index:1001;min-width:200px;max-width:360px;max-height:400px;overflow-y:auto;background:#fff;border-radius:.3rem;padding:.375rem 0;border:1px solid #dee2e6;box-shadow:0 10px 40px rgba(0,0,0,.15);animation:methodDropdownFadeIn .15s ease}.method-dropdown-menu::-webkit-scrollbar{width:6px;height:6px}.method-dropdown-menu::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.method-dropdown-menu::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.method-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#ced4da}@keyframes methodDropdownFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.method-dropdown-item{display:flex;align-items:center;gap:.625rem;padding:.5rem 1rem;cursor:pointer;transition:background-color .1s;position:relative}.method-dropdown-item:hover{background:#f1f5f9}.method-dropdown-item.selected{background:rgba(37,185,215,.08)}.method-dropdown-item .method-item-icon{font-size:.875rem;color:#6c757d;width:18px;text-align:center;flex-shrink:0}.method-dropdown-item.selected .method-item-icon{color:#25b9d7}.method-dropdown-item .method-item-label{flex:1;font-size:.875rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.method-dropdown-item.selected .method-item-label{color:#0e7490;font-weight:500}.method-dropdown-item .method-item-check{font-size:.75rem;flex-shrink:0;margin-left:auto;color:#25b9d7}.method-dropdown-optgroup{margin-top:.25rem}.method-dropdown-optgroup:first-child{margin-top:0}.method-optgroup-label{padding:.5rem 1rem;font-size:11px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}.method-dropdown-optgroup:first-child .method-optgroup-label{border-top:0}.method-optgroup-items{padding:.25rem 0}.method-optgroup-items .method-dropdown-item{padding-left:1.5rem}.method-info-placeholder{font-size:.75rem;color:#6c757d;font-style:italic}.mpr-info-wrapper{display:inline-flex;align-items:center;position:relative;cursor:help;vertical-align:middle;margin-left:.25rem}.mpr-info-wrapper .material-icons{font-size:16px;color:#6c757d;transition:color .15s ease}.mpr-info-wrapper:hover .material-icons{color:#25b9d7}.mpr-tooltip-fixed{position:fixed;background:#fff;color:#1e293b;padding:1rem 1.5rem;border-radius:.25rem;font-size:13px;line-height:1.5;white-space:normal;z-index:10500;max-width:320px;min-width:180px;text-align:left;box-shadow:rgba(0,0,0,.12) 0px 1px 1px 0px,rgba(64,68,82,.16) 0px 0px 0px 1px,rgba(64,68,82,.08) 0px 2px 5px 0px;pointer-events:none}.mpr-tooltip-fixed.pinned{pointer-events:auto;padding-right:3rem}.mpr-tooltip-fixed strong{display:block;margin-bottom:.375rem;font-weight:600;color:#25b9d7}.mpr-tooltip-fixed p{margin:0;color:#495057}.mpr-tooltip-fixed ul{margin:.5rem 0 0;padding-left:1.25rem}.mpr-tooltip-fixed ul li{margin:.25rem 0;color:#495057}.mpr-tooltip-close{position:absolute;top:.375rem;right:.375rem;padding:.125rem;border:none;background:rgba(0,0,0,0);cursor:pointer;border-radius:.2rem;line-height:1;transition:background-color .15s ease}.mpr-tooltip-close .material-icons{font-size:16px;color:#6c757d}.mpr-tooltip-close:hover{background:#f1f5f9}.mpr-tooltip-close:hover .material-icons{color:#334155}.category-tree{display:flex;flex-direction:column}.category-tree .tree-toolbar{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:#f8fafc;border-bottom:1px solid #e9ecef;flex-shrink:0}.category-tree .tree-toolbar .btn-expand-all,.category-tree .tree-toolbar .btn-collapse-all{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.category-tree .tree-toolbar .btn-expand-all:focus,.category-tree .tree-toolbar .btn-collapse-all:focus{outline:none}.category-tree .tree-toolbar .btn-expand-all,.category-tree .tree-toolbar .btn-collapse-all{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;transition:all .15s ease-in-out}.category-tree .tree-toolbar .btn-expand-all:hover,.category-tree .tree-toolbar .btn-collapse-all:hover{background:#f1f5f9;border-color:#cbd5e1}.category-tree .tree-toolbar .btn-expand-all i,.category-tree .tree-toolbar .btn-collapse-all i{font-size:12px}.category-tree .tree-items{padding:0}.tree-item{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;cursor:pointer;transition:background .15s ease-in-out;border-radius:0}.tree-item:hover{background:#f1f5f9}.tree-item.selected{background:rgba(37,185,215,.1)}.tree-item.selected .tree-name{font-weight:600;color:#25b9d7}.tree-item.selected .tree-checkbox{color:#25b9d7}.tree-item.selected .tree-checkbox i{opacity:1}.tree-item.inactive{opacity:.6}.tree-item.inactive .tree-name{font-style:italic}.tree-item.filtered-out{display:none}.tree-item.filter-match{background:#fff3cd}.tree-item.filter-match.selected{background:rgba(37,185,215,.1)}.category-tree .tree-indent{flex-shrink:0}.category-tree .tree-toggle{display:flex;align-items:center;justify-content:center;width:12px;height:12px;box-sizing:border-box;color:#495057;flex-shrink:0;border-radius:.2rem;transition:all .15s ease-in-out;cursor:pointer}.category-tree .tree-toggle:hover{background:#e2e8f0;color:#212529}.category-tree .tree-toggle.tree-leaf{cursor:default;visibility:hidden}.category-tree .tree-toggle.tree-leaf:hover{background:rgba(0,0,0,0)}.category-tree .tree-toggle i{font-size:10px;transition:transform .15s ease-in-out}.category-tree .tree-item.collapsed>.tree-toggle i{transform:rotate(-90deg)}.category-tree .tree-checkbox{display:flex;align-items:center;justify-content:center;width:12px;height:12px;box-sizing:border-box;flex-shrink:0;border:1px solid #dee2e6;border-radius:2px;background:#fff}.category-tree .tree-checkbox i{font-size:8px;opacity:0;color:#fff;transition:opacity .15s ease-in-out}.category-tree .tree-item.selected .tree-checkbox{background:#25b9d7;border-color:#25b9d7}.category-tree .tree-item.selected .tree-checkbox i{opacity:1}.category-tree .tree-icon{display:flex;align-items:center;justify-content:center;width:12px;height:12px;box-sizing:border-box;color:#6c757d;flex-shrink:0}.category-tree .tree-icon i{font-size:12px}.category-tree .tree-item.selected .tree-icon{color:#25b9d7}.category-tree .tree-name{flex:1;font-size:.875rem;color:#212529;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-tree .tree-count{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.category-tree .tree-count:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.category-tree .tree-count:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.category-tree .tree-count.loading{cursor:wait}.category-tree .tree-count.loading i{font-size:10px;animation:spin .6s linear infinite}.category-tree .tree-count.loading:hover{transform:none;box-shadow:none}.category-tree .tree-count.inactive,.category-tree .tree-count.no-matches{background:#94a3b8;cursor:default}.category-tree .tree-count.inactive:hover,.category-tree .tree-count.no-matches:hover{transform:none;box-shadow:none}.category-tree .tree-count.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.category-tree .tree-count i{font-size:10px;line-height:1;opacity:.8}.category-tree .tree-count:hover i{opacity:1}.category-tree .tree-count .preview-count{font-weight:700}.category-tree .tree-count{height:18px;min-width:18px;padding:0 .5rem}.category-tree .tree-count i{font-size:10px}.category-tree .tree-count.clickable.loading{pointer-events:none}.category-tree .tree-count.clickable.loading i{animation:spin 1s linear infinite}.category-tree .tree-count.clickable.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381)}.category-tree .btn-select-children{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.category-tree .btn-select-children:focus{outline:none}.category-tree .btn-select-children{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;box-sizing:border-box;color:#6c757d;border-radius:.2rem;opacity:.3;transition:all .15s ease-in-out;flex-shrink:0}.category-tree .btn-select-children i{font-size:14px}.category-tree .btn-select-children:hover{color:#25b9d7;opacity:1}.category-tree .tree-item:hover .btn-select-children{opacity:.6}.category-tree .tree-badge{display:inline-flex;align-items:center;padding:.125rem .25rem;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:.2rem;flex-shrink:0}.category-tree .tree-badge.inactive{color:#ffc107;background:#fff3cd}.category-tree .tree-children{display:block}.category-tree .tree-children.filter-expanded{display:block !important}.category-tree .tree-item.collapsed+.tree-children{display:none}.category-tree .tree-item.filtered-out{display:none !important}.category-tree .tree-loading,.category-tree .dropdown-empty,.category-tree .dropdown-error{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6c757d;font-size:.875rem}.category-tree .tree-loading i,.category-tree .dropdown-empty i,.category-tree .dropdown-error i{margin-right:.5rem}.category-tree .dropdown-error{color:#dc3545}.target-search-dropdown.view-tree .dropdown-results{padding:0}.target-search-dropdown.view-tree .category-tree{max-height:100%;overflow-y:auto}.target-search-dropdown.view-tree .category-tree::-webkit-scrollbar{width:6px;height:6px}.target-search-dropdown.view-tree .category-tree::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-search-dropdown.view-tree .category-tree::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-search-dropdown.view-tree .category-tree::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-search-dropdown.view-tree .tree-items{max-height:calc(100% - 40px);overflow-y:auto}.target-search-dropdown.view-tree .tree-items::-webkit-scrollbar{width:6px;height:6px}.target-search-dropdown.view-tree .tree-items::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-search-dropdown.view-tree .tree-items::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-search-dropdown.view-tree .tree-items::-webkit-scrollbar-thumb:hover{background:#ced4da}.es-validation-toast{display:flex;align-items:flex-start;gap:.5rem;padding:1rem;background:#fff;border:1px solid #dc3545;border-left:4px solid #dc3545;border-radius:.25rem;box-shadow:0 1rem 3rem rgba(0,0,0,.175);max-width:400px;animation:es-toast-slide-in .2s ease-out}.es-validation-toast .es-toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#dc3545;flex-shrink:0}.es-validation-toast .es-toast-icon i{font-size:18px}.es-validation-toast .es-toast-content{flex:1;min-width:0}.es-validation-toast .es-toast-title{font-size:.875rem;font-weight:600;color:#dc3545;margin-bottom:2px}.es-validation-toast .es-toast-message{font-size:.75rem;color:#495057;line-height:1.4}.es-validation-toast .es-toast-close{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.es-validation-toast .es-toast-close:focus{outline:none}.es-validation-toast .es-toast-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#6c757d;border-radius:.2rem;flex-shrink:0;transition:all .15s ease-in-out}.es-validation-toast .es-toast-close:hover{background:#f1f5f9;color:#212529}.es-validation-toast .es-toast-close i{font-size:12px}@keyframes es-toast-slide-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}} +@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.target-conditions-trait,.target-conditions-trait *,.entity-selector-trait,.entity-selector-trait *,.method-dropdown-menu,.method-dropdown-menu *,.target-preview-popover,.target-preview-popover *{border-style:solid;border-width:0;border-color:#dee2e6}.form-group:has(.entity-selector-trait),.form-group:has(.target-conditions-trait),.form-group:has(.condition-trait){display:block}.form-group:has(.entity-selector-trait)>.control-label,.form-group:has(.target-conditions-trait)>.control-label,.form-group:has(.condition-trait)>.control-label{display:none}.form-group:has(.entity-selector-trait)>.col-lg-8,.form-group:has(.target-conditions-trait)>.col-lg-8,.form-group:has(.condition-trait)>.col-lg-8{width:100%;max-width:100%;padding-left:1rem;padding-right:1rem;flex:0 0 100% !important}.form-group.condition-trait-fullwidth{display:block}.form-group.condition-trait-fullwidth>.control-label{display:none}.form-group.condition-trait-fullwidth>.col-lg-8{width:100%;max-width:100%;padding-left:1rem;padding-right:1rem;flex:0 0 100% !important}.panel:has(.target-search-dropdown.show),.card:has(.target-search-dropdown.show),.form-wrapper:has(.target-search-dropdown.show),.panel-body:has(.target-search-dropdown.show),.card-body:has(.target-search-dropdown.show),.form-group:has(.target-search-dropdown.show),.col-lg-8:has(.target-search-dropdown.show),.col-lg-12:has(.target-search-dropdown.show){overflow:visible !important}.target-conditions-trait:has(.target-search-dropdown.show),.entity-selector-trait:has(.target-search-dropdown.show),.condition-trait-body:has(.target-search-dropdown.show),.target-block-content:has(.target-search-dropdown.show),.target-block-groups:has(.target-search-dropdown.show),.target-group:has(.target-search-dropdown.show),.target-group-body:has(.target-search-dropdown.show),.target-search-wrapper:has(.target-search-dropdown.show){overflow:visible !important}@media(max-width: 991px){.target-conditions-trait .condition-trait-header,.entity-selector-trait .condition-trait-header{flex-direction:column;align-items:flex-start;gap:.5rem}.target-conditions-trait .trait-header-right,.entity-selector-trait .trait-header-right{width:100%;justify-content:flex-end}.target-conditions-trait .target-block-tabs,.entity-selector-trait .target-block-tabs{flex-wrap:wrap}}@media(max-width: 767px){.target-conditions-trait .target-block-tab,.entity-selector-trait .target-block-tab{padding:.5rem;font-size:.75rem}.target-conditions-trait .target-group-header,.entity-selector-trait .target-group-header{flex-direction:column;align-items:flex-start}.target-conditions-trait .target-search-dropdown,.entity-selector-trait .target-search-dropdown{width:100% !important;left:0 !important;right:0 !important}.target-conditions-trait .dropdown-results-grid,.entity-selector-trait .dropdown-results-grid{grid-template-columns:1fr !important}}@media(min-width: 1600px){.target-conditions-trait .dropdown-results-grid.view-grid-3,.entity-selector-trait .dropdown-results-grid.view-grid-3{grid-template-columns:repeat(4, 1fr)}}.target-conditions-trait,.entity-selector-trait{position:relative;overflow:visible;background:#fff;border:1px solid #dee2e6;border-radius:.3rem}.target-conditions-trait .condition-trait-header,.entity-selector-trait .condition-trait-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:.875rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;cursor:pointer;user-select:none;transition:background-color .15s ease-in-out}.target-conditions-trait .condition-trait-header:hover,.entity-selector-trait .condition-trait-header:hover{background:#e9ecef}.target-conditions-trait .trait-header-left,.entity-selector-trait .trait-header-left{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.target-conditions-trait .trait-icon,.entity-selector-trait .trait-icon{font-size:1.125rem;color:#6c757d;flex-shrink:0}.target-conditions-trait .trait-title-group,.entity-selector-trait .trait-title-group{display:flex;flex-direction:column;gap:.125rem;min-width:0}.target-conditions-trait .trait-title,.entity-selector-trait .trait-title{font-size:.875rem;font-weight:600;color:#212529;white-space:nowrap}.target-conditions-trait .trait-subtitle,.entity-selector-trait .trait-subtitle{font-size:.75rem;color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-conditions-trait .trait-total-count,.entity-selector-trait .trait-total-count{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .trait-total-count:hover,.entity-selector-trait .trait-total-count:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .trait-total-count:focus,.entity-selector-trait .trait-total-count:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .trait-total-count.loading,.entity-selector-trait .trait-total-count.loading{cursor:wait}.target-conditions-trait .trait-total-count.loading i,.entity-selector-trait .trait-total-count.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .trait-total-count.loading:hover,.entity-selector-trait .trait-total-count.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .trait-total-count.inactive,.target-conditions-trait .trait-total-count.no-matches,.entity-selector-trait .trait-total-count.inactive,.entity-selector-trait .trait-total-count.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .trait-total-count.inactive:hover,.target-conditions-trait .trait-total-count.no-matches:hover,.entity-selector-trait .trait-total-count.inactive:hover,.entity-selector-trait .trait-total-count.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .trait-total-count.popover-open,.entity-selector-trait .trait-total-count.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .trait-total-count i,.entity-selector-trait .trait-total-count i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .trait-total-count:hover i,.entity-selector-trait .trait-total-count:hover i{opacity:1}.target-conditions-trait .trait-total-count .preview-count,.entity-selector-trait .trait-total-count .preview-count{font-weight:700}.target-conditions-trait .trait-total-count,.entity-selector-trait .trait-total-count{margin-left:.5rem}.target-conditions-trait .trait-show-all-toggle,.entity-selector-trait .trait-show-all-toggle{display:inline-flex;align-items:center;gap:.5rem;margin-right:.75rem;padding:.25rem .5rem;border-radius:.2rem;cursor:pointer;user-select:none;transition:background-color .15s ease-in-out}.target-conditions-trait .trait-show-all-toggle:hover,.entity-selector-trait .trait-show-all-toggle:hover{background:rgba(0,0,0,.05)}.target-conditions-trait .trait-show-all-toggle .toggle-label,.entity-selector-trait .trait-show-all-toggle .toggle-label{font-size:.75rem;font-weight:500;color:#6c757d}.target-conditions-trait .trait-show-all-toggle .show-all-checkbox,.entity-selector-trait .trait-show-all-toggle .show-all-checkbox{display:none}.target-conditions-trait .trait-show-all-toggle .toggle-slider,.entity-selector-trait .trait-show-all-toggle .toggle-slider{position:relative;width:36px;height:20px;background:#cbd5e1;border-radius:50rem;transition:background-color .2s ease-in-out}.target-conditions-trait .trait-show-all-toggle .toggle-slider::after,.entity-selector-trait .trait-show-all-toggle .toggle-slider::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s ease-in-out}.target-conditions-trait .trait-show-all-toggle .show-all-checkbox:checked+.toggle-slider,.entity-selector-trait .trait-show-all-toggle .show-all-checkbox:checked+.toggle-slider{background:#28a745}.target-conditions-trait .trait-show-all-toggle .show-all-checkbox:checked+.toggle-slider::after,.entity-selector-trait .trait-show-all-toggle .show-all-checkbox:checked+.toggle-slider::after{transform:translateX(16px)}.target-conditions-trait.has-validation-error,.entity-selector-trait.has-validation-error{border-color:#dc3545;box-shadow:0 0 0 3px rgba(220,53,69,.1)}.target-conditions-trait.has-validation-error .condition-trait-header,.entity-selector-trait.has-validation-error .condition-trait-header{border-bottom-color:#dc3545}.target-conditions-trait .trait-validation-error,.entity-selector-trait .trait-validation-error{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f8d7da;color:#b91c1c;font-size:.875rem;font-weight:500;border-bottom:1px solid #fecaca}.target-conditions-trait .trait-validation-error i,.entity-selector-trait .trait-validation-error i{color:#dc3545}.target-conditions-trait.trait-required .trait-title::after,.entity-selector-trait.trait-required .trait-title::after{content:" *";color:#dc3545}.target-conditions-trait .condition-trait-body,.entity-selector-trait .condition-trait-body{padding:0;background:#fff;border-radius:0 0 .3rem .3rem}.target-conditions-trait .target-block-tabs,.entity-selector-trait .target-block-tabs{display:flex;flex-wrap:wrap;gap:0;padding:0;background:#f1f5f9;border-bottom:1px solid #dee2e6}.target-conditions-trait .target-block-tab,.entity-selector-trait .target-block-tab{position:relative;display:flex;align-items:center;gap:.5rem;flex:none;min-width:0;padding:.625rem 1rem;margin-bottom:-1px;background:rgba(0,0,0,0);border:0;border-bottom:2px solid rgba(0,0,0,0);color:#6c757d;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .target-block-tab:hover,.entity-selector-trait .target-block-tab:hover{background:#e2e8f0;color:#334155}.target-conditions-trait .target-block-tab.active,.entity-selector-trait .target-block-tab.active{background:#fff;border-bottom-color:#06b6d4;color:#25b9d7}.target-conditions-trait .target-block-tab i,.entity-selector-trait .target-block-tab i{font-size:.875rem}.target-conditions-trait .target-block-tab .tab-label,.entity-selector-trait .target-block-tab .tab-label{white-space:nowrap}.target-conditions-trait .target-block-tab .tab-badge,.entity-selector-trait .target-block-tab .tab-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .target-block-tab .tab-badge:hover,.entity-selector-trait .target-block-tab .tab-badge:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .target-block-tab .tab-badge:focus,.entity-selector-trait .target-block-tab .tab-badge:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .target-block-tab .tab-badge.loading,.entity-selector-trait .target-block-tab .tab-badge.loading{cursor:wait}.target-conditions-trait .target-block-tab .tab-badge.loading i,.entity-selector-trait .target-block-tab .tab-badge.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .target-block-tab .tab-badge.loading:hover,.entity-selector-trait .target-block-tab .tab-badge.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .target-block-tab .tab-badge.inactive,.target-conditions-trait .target-block-tab .tab-badge.no-matches,.entity-selector-trait .target-block-tab .tab-badge.inactive,.entity-selector-trait .target-block-tab .tab-badge.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .target-block-tab .tab-badge.inactive:hover,.target-conditions-trait .target-block-tab .tab-badge.no-matches:hover,.entity-selector-trait .target-block-tab .tab-badge.inactive:hover,.entity-selector-trait .target-block-tab .tab-badge.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .target-block-tab .tab-badge.popover-open,.entity-selector-trait .target-block-tab .tab-badge.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .target-block-tab .tab-badge i,.entity-selector-trait .target-block-tab .tab-badge i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .target-block-tab .tab-badge:hover i,.entity-selector-trait .target-block-tab .tab-badge:hover i{opacity:1}.target-conditions-trait .target-block-tab .tab-badge .preview-count,.entity-selector-trait .target-block-tab .tab-badge .preview-count{font-weight:700}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#94a3b8;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge:hover,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(148,163,184,.4)}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge:focus,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge:focus{outline:none;box-shadow:0 0 0 2px rgba(148,163,184,.3),0 2px 8px rgba(148,163,184,.4)}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.loading,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.loading{cursor:wait}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.loading i,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.loading:hover,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.inactive,.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.no-matches,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.inactive,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.inactive:hover,.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.no-matches:hover,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.inactive:hover,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge.popover-open,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge.popover-open{background:hsl(215,20.2247191011%,55.0980392157%);box-shadow:0 2px 8px rgba(148,163,184,.4)}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge i,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge:hover i,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge:hover i{opacity:1}.target-conditions-trait .target-block-tab.has-data:not(.active) .tab-badge .preview-count,.entity-selector-trait .target-block-tab.has-data:not(.active) .tab-badge .preview-count{font-weight:700}.target-conditions-trait .target-block-container,.entity-selector-trait .target-block-container{display:none}.target-conditions-trait .target-block-container.active,.entity-selector-trait .target-block-container.active{display:block}.target-conditions-trait .target-block-content,.entity-selector-trait .target-block-content{padding:1rem}.target-conditions-trait .target-block-groups,.entity-selector-trait .target-block-groups{display:flex;flex-direction:column;gap:1rem}.target-conditions-trait .target-block-header,.entity-selector-trait .target-block-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.target-conditions-trait .target-block-empty,.entity-selector-trait .target-block-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;color:#6c757d}.target-conditions-trait .target-block-empty i,.entity-selector-trait .target-block-empty i{font-size:2rem;opacity:.5}.target-conditions-trait .target-block-empty p,.entity-selector-trait .target-block-empty p{margin:0;font-size:.875rem}.target-conditions-trait .trait-collapse-toggle,.target-conditions-trait .collapse-toggle,.entity-selector-trait .trait-collapse-toggle,.entity-selector-trait .collapse-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;cursor:pointer;transition:transform .2s ease-in-out}.target-conditions-trait .trait-collapse-toggle.collapsed,.target-conditions-trait .collapse-toggle.collapsed,.entity-selector-trait .trait-collapse-toggle.collapsed,.entity-selector-trait .collapse-toggle.collapsed{transform:rotate(-90deg)}.target-conditions-trait .trait-header-right,.entity-selector-trait .trait-header-right{display:flex;align-items:center;gap:.5rem}.target-conditions-trait.collapsed .condition-trait-body,.entity-selector-trait.collapsed .condition-trait-body{display:none}.target-conditions-trait.collapsed .condition-trait-header,.entity-selector-trait.collapsed .condition-trait-header{border-radius:.3rem}.target-conditions-trait.single-mode .target-block-tabs,.entity-selector-trait.single-mode .target-block-tabs{display:none}.target-conditions-trait.single-mode .target-block-container,.entity-selector-trait.single-mode .target-block-container{display:block}.target-conditions-trait .header-actions,.entity-selector-trait .header-actions{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .header-action-btn,.entity-selector-trait .header-action-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .header-action-btn:focus,.entity-selector-trait .header-action-btn:focus{outline:none}.target-conditions-trait .header-action-btn,.entity-selector-trait .header-action-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#6c757d;background:rgba(0,0,0,0);border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .header-action-btn:hover,.entity-selector-trait .header-action-btn:hover{background:#e2e8f0;color:#495057}.target-conditions-trait .header-action-btn i,.entity-selector-trait .header-action-btn i{font-size:12px}.target-conditions-trait .target-search-wrapper,.entity-selector-trait .target-search-wrapper{position:relative}.target-conditions-trait .target-search-dropdown,.entity-selector-trait .target-search-dropdown{position:absolute;z-index:1000;background:#fff;border:1px solid #dee2e6;border-radius:.3rem;box-shadow:0 1rem 3rem rgba(0,0,0,.175);display:none;width:600px;max-width:calc(100vw - 40px)}.target-conditions-trait .target-search-dropdown.show,.entity-selector-trait .target-search-dropdown.show{display:block}.target-conditions-trait .dropdown-header,.entity-selector-trait .dropdown-header{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0}.target-conditions-trait .dropdown-search-input,.entity-selector-trait .dropdown-search-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .dropdown-search-input:focus,.entity-selector-trait .dropdown-search-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .dropdown-search-input::placeholder,.entity-selector-trait .dropdown-search-input::placeholder{color:#adb5bd}.target-conditions-trait .dropdown-search-input,.entity-selector-trait .dropdown-search-input{flex:1;padding:.5rem 1rem}.target-conditions-trait .dropdown-close-btn,.entity-selector-trait .dropdown-close-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .dropdown-close-btn:focus,.entity-selector-trait .dropdown-close-btn:focus{outline:none}.target-conditions-trait .dropdown-close-btn,.entity-selector-trait .dropdown-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#6c757d;border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .dropdown-close-btn:hover,.entity-selector-trait .dropdown-close-btn:hover{background:#e2e8f0;color:#495057}.target-conditions-trait .dropdown-controls,.entity-selector-trait .dropdown-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #dee2e6}.target-conditions-trait .dropdown-controls-left,.target-conditions-trait .dropdown-controls-right,.entity-selector-trait .dropdown-controls-left,.entity-selector-trait .dropdown-controls-right{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .view-mode-btn,.entity-selector-trait .view-mode-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .view-mode-btn:focus,.entity-selector-trait .view-mode-btn:focus{outline:none}.target-conditions-trait .view-mode-btn,.entity-selector-trait .view-mode-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;background:rgba(0,0,0,0);border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .view-mode-btn:hover,.entity-selector-trait .view-mode-btn:hover{background:#f1f5f9;color:#495057}.target-conditions-trait .view-mode-btn.active,.entity-selector-trait .view-mode-btn.active{background:#25b9d7;color:#fff}.target-conditions-trait .dropdown-results-count,.entity-selector-trait .dropdown-results-count{font-size:.75rem;color:#6c757d}.target-conditions-trait .dropdown-body,.entity-selector-trait .dropdown-body{max-height:400px;overflow-y:auto}.target-conditions-trait .dropdown-body::-webkit-scrollbar,.entity-selector-trait .dropdown-body::-webkit-scrollbar{width:6px;height:6px}.target-conditions-trait .dropdown-body::-webkit-scrollbar-track,.entity-selector-trait .dropdown-body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-conditions-trait .dropdown-body::-webkit-scrollbar-thumb,.entity-selector-trait .dropdown-body::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-conditions-trait .dropdown-body::-webkit-scrollbar-thumb:hover,.entity-selector-trait .dropdown-body::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-conditions-trait .dropdown-results,.entity-selector-trait .dropdown-results{padding:0 .5rem}.target-conditions-trait .results-count,.entity-selector-trait .results-count{font-size:.75rem;color:#6c757d;padding:.25rem .5rem}.target-conditions-trait .results-header,.entity-selector-trait .results-header{display:flex;align-items:center;gap:.5rem;padding:.25rem 1rem;background:#f1f5f9;border-bottom:1px solid #dee2e6;font-size:.75rem;font-weight:600;color:#495057}.target-conditions-trait .dropdown-results-grid,.entity-selector-trait .dropdown-results-grid{display:grid;gap:.5rem}.target-conditions-trait .dropdown-results-grid.view-list,.entity-selector-trait .dropdown-results-grid.view-list{grid-template-columns:1fr}.target-conditions-trait .dropdown-results-grid.view-grid-2,.entity-selector-trait .dropdown-results-grid.view-grid-2{grid-template-columns:repeat(2, 1fr)}.target-conditions-trait .dropdown-results-grid.view-grid-3,.entity-selector-trait .dropdown-results-grid.view-grid-3{grid-template-columns:repeat(3, 1fr)}.target-conditions-trait .dropdown-result-item,.entity-selector-trait .dropdown-result-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:#fff;border:none;border-bottom:1px solid #dee2e6;border-radius:0;cursor:pointer;transition:background .15s ease-in-out}.target-conditions-trait .dropdown-result-item:last-child,.entity-selector-trait .dropdown-result-item:last-child{border-bottom:none}.target-conditions-trait .dropdown-result-item:hover,.entity-selector-trait .dropdown-result-item:hover{background:#e9ecef}.target-conditions-trait .dropdown-result-item.selected,.entity-selector-trait .dropdown-result-item.selected{background:rgba(37,185,215,.1)}.target-conditions-trait .dropdown-result-item.disabled,.entity-selector-trait .dropdown-result-item.disabled{opacity:.5;cursor:not-allowed}.target-conditions-trait .dropdown-result-item.disabled:hover,.entity-selector-trait .dropdown-result-item.disabled:hover{background:#fff}.target-conditions-trait .result-item-image,.target-conditions-trait .result-image,.entity-selector-trait .result-item-image,.entity-selector-trait .result-image{flex-shrink:0;width:40px;height:40px;overflow:hidden;border-radius:.2rem;background:#f1f5f9}.target-conditions-trait .result-item-image img,.target-conditions-trait .result-image img,.entity-selector-trait .result-item-image img,.entity-selector-trait .result-image img{width:100%;height:100%;object-fit:cover}.target-conditions-trait .result-icon,.entity-selector-trait .result-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;background:#f1f5f9;border-radius:.2rem;color:#6c757d}.target-conditions-trait .result-icon i,.entity-selector-trait .result-icon i{font-size:16px}.target-conditions-trait .result-item-info,.target-conditions-trait .result-info,.entity-selector-trait .result-item-info,.entity-selector-trait .result-info{flex:1;min-width:0}.target-conditions-trait .result-item-name,.target-conditions-trait .result-name,.entity-selector-trait .result-item-name,.entity-selector-trait .result-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .result-item-meta,.target-conditions-trait .result-subtitle,.entity-selector-trait .result-item-meta,.entity-selector-trait .result-subtitle{font-size:.75rem;color:#6c757d}.target-conditions-trait .subtitle-line,.entity-selector-trait .subtitle-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .subtitle-line-primary,.entity-selector-trait .subtitle-line-primary{color:#495057}.target-conditions-trait .subtitle-line-secondary,.entity-selector-trait .subtitle-line-secondary{color:#6c757d;font-size:11px}.target-conditions-trait .result-col,.entity-selector-trait .result-col{flex-shrink:0;width:70px;text-align:right;font-size:.75rem}.target-conditions-trait .result-col-price,.entity-selector-trait .result-col-price{color:#495057}.target-conditions-trait .result-col-sale,.entity-selector-trait .result-col-sale{color:#dc3545;font-weight:600}.target-conditions-trait .result-col-stock .col-value.stock-ok,.entity-selector-trait .result-col-stock .col-value.stock-ok{color:#28a745}.target-conditions-trait .result-col-stock .col-value.stock-low,.entity-selector-trait .result-col-stock .col-value.stock-low{color:#ffc107}.target-conditions-trait .result-col-stock .col-value.stock-out,.entity-selector-trait .result-col-stock .col-value.stock-out{color:#dc3545}.target-conditions-trait .result-col-sales,.entity-selector-trait .result-col-sales{color:#6c757d}.target-conditions-trait .col-value,.entity-selector-trait .col-value{display:block}.target-conditions-trait .result-item-checkbox,.target-conditions-trait .result-checkbox,.entity-selector-trait .result-item-checkbox,.entity-selector-trait .result-checkbox{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border:2px solid #ced4da;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .result-item-checkbox i,.target-conditions-trait .result-checkbox i,.entity-selector-trait .result-item-checkbox i,.entity-selector-trait .result-checkbox i{display:none;font-size:10px;color:#fff}.dropdown-result-item.selected .target-conditions-trait .result-item-checkbox,.dropdown-item.selected .target-conditions-trait .result-item-checkbox,.dropdown-result-item.selected .target-conditions-trait .result-checkbox,.dropdown-item.selected .target-conditions-trait .result-checkbox,.dropdown-result-item.selected .entity-selector-trait .result-item-checkbox,.dropdown-item.selected .entity-selector-trait .result-item-checkbox,.dropdown-result-item.selected .entity-selector-trait .result-checkbox,.dropdown-item.selected .entity-selector-trait .result-checkbox{background:#25b9d7;border-color:#25b9d7}.dropdown-result-item.selected .target-conditions-trait .result-item-checkbox i,.dropdown-item.selected .target-conditions-trait .result-item-checkbox i,.dropdown-result-item.selected .target-conditions-trait .result-checkbox i,.dropdown-item.selected .target-conditions-trait .result-checkbox i,.dropdown-result-item.selected .entity-selector-trait .result-item-checkbox i,.dropdown-item.selected .entity-selector-trait .result-item-checkbox i,.dropdown-result-item.selected .entity-selector-trait .result-checkbox i,.dropdown-item.selected .entity-selector-trait .result-checkbox i{display:block}.target-conditions-trait .result-item-product,.entity-selector-trait .result-item-product{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .no-results,.entity-selector-trait .no-results{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6c757d;font-size:.875rem}.target-conditions-trait .no-results i,.entity-selector-trait .no-results i{font-size:1.25rem;opacity:.5}.target-conditions-trait .dropdown-empty,.entity-selector-trait .dropdown-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;color:#6c757d}.target-conditions-trait .dropdown-empty i,.entity-selector-trait .dropdown-empty i{font-size:2rem;opacity:.5}.target-conditions-trait .dropdown-empty p,.entity-selector-trait .dropdown-empty p{margin:0;font-size:.875rem}.target-conditions-trait .dropdown-loading,.entity-selector-trait .dropdown-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6c757d}.target-conditions-trait .dropdown-loading i,.entity-selector-trait .dropdown-loading i{font-size:1.5rem;animation:spin 1s linear infinite}.target-conditions-trait .load-more-controls,.entity-selector-trait .load-more-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-top:1px solid #dee2e6;font-size:.75rem;color:#6c757d}.target-conditions-trait .load-more-controls .remaining-count,.entity-selector-trait .load-more-controls .remaining-count{font-weight:600;color:#495057}.target-conditions-trait .load-more-controls .load-more-select,.entity-selector-trait .load-more-controls .load-more-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .load-more-controls .load-more-select:focus,.entity-selector-trait .load-more-controls .load-more-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .load-more-controls .load-more-select::placeholder,.entity-selector-trait .load-more-controls .load-more-select::placeholder{color:#adb5bd}.target-conditions-trait .load-more-controls .load-more-select,.entity-selector-trait .load-more-controls .load-more-select{padding:.25rem .5rem;font-size:.75rem;min-width:70px}.target-conditions-trait .dropdown-load-more,.entity-selector-trait .dropdown-load-more{display:flex;justify-content:center;padding:1rem;border-top:1px solid #dee2e6}.target-conditions-trait .dropdown-load-more .load-more-btn,.entity-selector-trait .dropdown-load-more .load-more-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .dropdown-load-more .load-more-btn:focus,.entity-selector-trait .dropdown-load-more .load-more-btn:focus{outline:none}.target-conditions-trait .dropdown-load-more .load-more-btn,.entity-selector-trait .dropdown-load-more .load-more-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#25b9d7;background:rgba(37,185,215,.1);border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .dropdown-load-more .load-more-btn:hover,.entity-selector-trait .dropdown-load-more .load-more-btn:hover{background:rgba(37,185,215,.2)}.target-conditions-trait .dropdown-load-more .load-more-btn.loading,.entity-selector-trait .dropdown-load-more .load-more-btn.loading{opacity:.7;cursor:wait}.target-conditions-trait .dropdown-footer,.entity-selector-trait .dropdown-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border-top:1px solid #dee2e6;border-radius:0 0 .3rem .3rem}.target-conditions-trait .dropdown-selection-count,.entity-selector-trait .dropdown-selection-count{font-size:.75rem;color:#6c757d}.target-conditions-trait .dropdown-selection-count strong,.entity-selector-trait .dropdown-selection-count strong{color:#25b9d7}.target-conditions-trait .dropdown-actions,.entity-selector-trait .dropdown-actions{display:flex;gap:.5rem}.target-conditions-trait .dropdown-action-btn,.entity-selector-trait .dropdown-action-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .dropdown-action-btn:focus,.entity-selector-trait .dropdown-action-btn:focus{outline:none}.target-conditions-trait .dropdown-action-btn,.entity-selector-trait .dropdown-action-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .dropdown-action-btn.btn-cancel,.entity-selector-trait .dropdown-action-btn.btn-cancel{color:#495057;background:#f1f5f9}.target-conditions-trait .dropdown-action-btn.btn-cancel:hover,.entity-selector-trait .dropdown-action-btn.btn-cancel:hover{background:#e2e8f0}.target-conditions-trait .dropdown-action-btn.btn-apply,.entity-selector-trait .dropdown-action-btn.btn-apply{color:#fff;background:#25b9d7}.target-conditions-trait .dropdown-action-btn.btn-apply:hover,.entity-selector-trait .dropdown-action-btn.btn-apply:hover{background:#1a9ab7}.target-conditions-trait .dropdown-filter-panel,.entity-selector-trait .dropdown-filter-panel{padding:1rem;background:#f8fafc;border-bottom:1px solid #dee2e6}.target-conditions-trait .filter-panel-header,.entity-selector-trait .filter-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.target-conditions-trait .filter-panel-title,.entity-selector-trait .filter-panel-title{font-size:.875rem;font-weight:600;color:#212529}.target-conditions-trait .filter-panel-toggle,.entity-selector-trait .filter-panel-toggle{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .filter-panel-toggle:focus,.entity-selector-trait .filter-panel-toggle:focus{outline:none}.target-conditions-trait .filter-panel-toggle,.entity-selector-trait .filter-panel-toggle{font-size:.75rem;color:#25b9d7}.target-conditions-trait .filter-panel-toggle:hover,.entity-selector-trait .filter-panel-toggle:hover{text-decoration:underline}.target-conditions-trait .filter-panel-content,.entity-selector-trait .filter-panel-content{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr))}.target-conditions-trait .filter-group,.entity-selector-trait .filter-group{display:flex;flex-direction:column;gap:.25rem}.target-conditions-trait .filter-label,.entity-selector-trait .filter-label{font-size:.75rem;font-weight:500;color:#495057}.target-conditions-trait .filter-select,.target-conditions-trait .filter-input,.entity-selector-trait .filter-select,.entity-selector-trait .filter-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .filter-select:focus,.target-conditions-trait .filter-input:focus,.entity-selector-trait .filter-select:focus,.entity-selector-trait .filter-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .filter-select::placeholder,.target-conditions-trait .filter-input::placeholder,.entity-selector-trait .filter-select::placeholder,.entity-selector-trait .filter-input::placeholder{color:#adb5bd}.target-conditions-trait .filter-select,.target-conditions-trait .filter-input,.entity-selector-trait .filter-select,.entity-selector-trait .filter-input{padding:.375rem .5rem;font-size:.75rem}.target-conditions-trait .category-tree,.entity-selector-trait .category-tree{padding:.5rem}.target-conditions-trait .tree-loading,.entity-selector-trait .tree-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6c757d;font-size:.875rem}.target-conditions-trait .tree-loading i,.entity-selector-trait .tree-loading i{animation:spin .6s linear infinite}.target-conditions-trait .tree-item,.entity-selector-trait .tree-item{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem;border-radius:.2rem;cursor:pointer;transition:background-color .15s ease-in-out}.target-conditions-trait .tree-item:hover,.entity-selector-trait .tree-item:hover{background:#e9ecef}.target-conditions-trait .tree-item.selected,.entity-selector-trait .tree-item.selected{background:rgba(37,185,215,.1)}.target-conditions-trait .tree-item.selected .tree-checkbox,.entity-selector-trait .tree-item.selected .tree-checkbox{background:#25b9d7;border-color:#25b9d7}.target-conditions-trait .tree-item.selected .tree-checkbox i,.entity-selector-trait .tree-item.selected .tree-checkbox i{display:block}.target-conditions-trait .tree-info,.entity-selector-trait .tree-info{display:flex;align-items:center;gap:.25rem;flex:1;min-width:0}.target-conditions-trait .tree-name,.entity-selector-trait .tree-name{font-size:.875rem;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .tree-subtitle,.entity-selector-trait .tree-subtitle{font-size:.75rem;color:#6c757d}.target-conditions-trait .category-tree-item,.entity-selector-trait .category-tree-item{padding:.25rem 0}.target-conditions-trait .category-tree-node,.entity-selector-trait .category-tree-node{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.2rem;cursor:pointer;transition:background-color .15s ease-in-out}.target-conditions-trait .category-tree-node:hover,.entity-selector-trait .category-tree-node:hover{background:#e9ecef}.target-conditions-trait .category-tree-node.selected,.entity-selector-trait .category-tree-node.selected{background:rgba(37,185,215,.1)}.target-conditions-trait .category-tree-toggle,.entity-selector-trait .category-tree-toggle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#6c757d;transition:transform .15s ease-in-out}.target-conditions-trait .category-tree-toggle.expanded,.entity-selector-trait .category-tree-toggle.expanded{transform:rotate(90deg)}.target-conditions-trait .category-tree-toggle.empty,.entity-selector-trait .category-tree-toggle.empty{visibility:hidden}.target-conditions-trait .category-tree-checkbox,.entity-selector-trait .category-tree-checkbox{flex-shrink:0;width:16px;height:16px;border:2px solid #ced4da;border-radius:3px;transition:all .15s ease-in-out}.target-conditions-trait .category-tree-checkbox.checked,.entity-selector-trait .category-tree-checkbox.checked{background:#25b9d7;border-color:#25b9d7}.target-conditions-trait .category-tree-checkbox.checked::after,.entity-selector-trait .category-tree-checkbox.checked::after{content:"✓";display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-size:10px}.target-conditions-trait .category-tree-checkbox.indeterminate,.entity-selector-trait .category-tree-checkbox.indeterminate{background:#25b9d7;border-color:#25b9d7}.target-conditions-trait .category-tree-checkbox.indeterminate::after,.entity-selector-trait .category-tree-checkbox.indeterminate::after{content:"−";display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;font-size:10px}.target-conditions-trait .category-tree-name,.entity-selector-trait .category-tree-name{flex:1;font-size:.875rem;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .category-tree-count,.entity-selector-trait .category-tree-count{font-size:.75rem;color:#6c757d}.target-conditions-trait .category-tree-children,.entity-selector-trait .category-tree-children{margin-left:24px}.target-conditions-trait .search-history-list,.entity-selector-trait .search-history-list{padding:.5rem}.target-conditions-trait .history-item,.entity-selector-trait .history-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.2rem;cursor:pointer;transition:background-color .15s ease-in-out}.target-conditions-trait .history-item:hover,.entity-selector-trait .history-item:hover{background:#e9ecef}.target-conditions-trait .history-item>i,.entity-selector-trait .history-item>i{color:#6c757d;font-size:14px}.target-conditions-trait .history-query,.entity-selector-trait .history-query{flex:1;font-size:.875rem;color:#212529}.target-conditions-trait .btn-delete-history,.entity-selector-trait .btn-delete-history{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-delete-history:focus,.entity-selector-trait .btn-delete-history:focus{outline:none}.target-conditions-trait .btn-delete-history,.entity-selector-trait .btn-delete-history{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;opacity:0;transition:all .15s ease-in-out}.history-item:hover .target-conditions-trait .btn-delete-history,.history-item:hover .entity-selector-trait .btn-delete-history{opacity:1}.target-conditions-trait .btn-delete-history:hover,.entity-selector-trait .btn-delete-history:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .btn-delete-history i,.entity-selector-trait .btn-delete-history i{font-size:12px}.target-conditions-trait .filter-panel,.entity-selector-trait .filter-panel{display:none;padding:1rem;background:#f8fafc;border-bottom:1px solid #dee2e6}.target-conditions-trait .filter-panel.show,.entity-selector-trait .filter-panel.show{display:block}.target-conditions-trait .filter-row,.entity-selector-trait .filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.target-conditions-trait .filter-row:last-child,.entity-selector-trait .filter-row:last-child{margin-bottom:0}.target-conditions-trait .view-mode-select,.entity-selector-trait .view-mode-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .view-mode-select:focus,.entity-selector-trait .view-mode-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .view-mode-select::placeholder,.entity-selector-trait .view-mode-select::placeholder{color:#adb5bd}.target-conditions-trait .view-mode-select,.entity-selector-trait .view-mode-select{padding:.25rem .5rem;font-size:.75rem;min-width:80px}body>.target-search-dropdown,.target-search-dropdown{position:absolute;z-index:1000;background:#fff;border:1px solid #dee2e6;border-radius:.3rem;box-shadow:0 1rem 3rem rgba(0,0,0,.175);display:none;width:600px;max-width:calc(100vw - 40px)}body>.target-search-dropdown.show,.target-search-dropdown.show{display:block}body>.target-search-dropdown .dropdown-header,.target-search-dropdown .dropdown-header{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;flex-wrap:wrap}body>.target-search-dropdown .results-count,.target-search-dropdown .results-count{font-size:.875rem;font-weight:600;color:#212529;white-space:nowrap}body>.target-search-dropdown .dropdown-actions,.target-search-dropdown .dropdown-actions{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;flex:1;justify-content:flex-end}body>.target-search-dropdown .btn-select-all,body>.target-search-dropdown .btn-clear-selection,.target-search-dropdown .btn-select-all,.target-search-dropdown .btn-clear-selection{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .btn-select-all:focus,body>.target-search-dropdown .btn-clear-selection:focus,.target-search-dropdown .btn-select-all:focus,.target-search-dropdown .btn-clear-selection:focus{outline:none}body>.target-search-dropdown .btn-select-all,body>.target-search-dropdown .btn-clear-selection,.target-search-dropdown .btn-select-all,.target-search-dropdown .btn-clear-selection{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .btn-select-all:hover,body>.target-search-dropdown .btn-clear-selection:hover,.target-search-dropdown .btn-select-all:hover,.target-search-dropdown .btn-clear-selection:hover{background:#e9ecef;border-color:#cbd5e1}body>.target-search-dropdown .btn-select-all kbd,body>.target-search-dropdown .btn-clear-selection kbd,.target-search-dropdown .btn-select-all kbd,.target-search-dropdown .btn-clear-selection kbd{font-size:.65rem;padding:.125rem .25rem;background:#f1f5f9;border-radius:2px;color:#6c757d}body>.target-search-dropdown .sort-controls,.target-search-dropdown .sort-controls{display:flex;align-items:center}body>.target-search-dropdown .sort-field-select,.target-search-dropdown .sort-field-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .sort-field-select:focus,.target-search-dropdown .sort-field-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .sort-field-select::placeholder,.target-search-dropdown .sort-field-select::placeholder{color:#adb5bd}body>.target-search-dropdown .sort-field-select,.target-search-dropdown .sort-field-select{padding:.25rem .5rem;font-size:.75rem;min-width:80px;height:28px;border-radius:.2rem 0 0 .2rem;border-right:none}body>.target-search-dropdown .btn-sort-dir,.target-search-dropdown .btn-sort-dir{display:flex;align-items:center;justify-content:center;width:38px;min-width:38px;flex-shrink:0;height:28px;padding:0;margin:0;color:#6c757d;background:#fff;border:1px solid #dee2e6;border-radius:0 .2rem .2rem 0;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .btn-sort-dir i,.target-search-dropdown .btn-sort-dir i{font-size:14px}body>.target-search-dropdown .btn-sort-dir:hover,.target-search-dropdown .btn-sort-dir:hover{background:#e9ecef;color:#212529}body>.target-search-dropdown .btn-sort-dir.active,.target-search-dropdown .btn-sort-dir.active{background:rgba(37,185,215,.1);border-color:#25b9d7;color:#25b9d7}body>.target-search-dropdown .view-mode-select,.target-search-dropdown .view-mode-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .view-mode-select:focus,.target-search-dropdown .view-mode-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .view-mode-select::placeholder,.target-search-dropdown .view-mode-select::placeholder{color:#adb5bd}body>.target-search-dropdown .view-mode-select,.target-search-dropdown .view-mode-select{padding:.25rem .5rem;font-size:.75rem;min-width:80px;margin-left:.25rem}body>.target-search-dropdown .btn-toggle-filters,body>.target-search-dropdown .btn-show-history,.target-search-dropdown .btn-toggle-filters,.target-search-dropdown .btn-show-history{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;flex-shrink:0;height:28px;padding:0;margin:0;color:#6c757d;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .btn-toggle-filters i,body>.target-search-dropdown .btn-show-history i,.target-search-dropdown .btn-toggle-filters i,.target-search-dropdown .btn-show-history i{font-size:14px}body>.target-search-dropdown .btn-toggle-filters:hover,body>.target-search-dropdown .btn-show-history:hover,.target-search-dropdown .btn-toggle-filters:hover,.target-search-dropdown .btn-show-history:hover{background:#e9ecef;color:#212529}body>.target-search-dropdown .btn-toggle-filters.active,body>.target-search-dropdown .btn-show-history.active,.target-search-dropdown .btn-toggle-filters.active,.target-search-dropdown .btn-show-history.active{background:rgba(37,185,215,.1);border-color:#25b9d7;color:#25b9d7}body>.target-search-dropdown .refine-compact,.target-search-dropdown .refine-compact{display:flex;align-items:center}body>.target-search-dropdown .refine-compact .btn-refine-negate,.target-search-dropdown .refine-compact .btn-refine-negate{display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;flex-shrink:0;height:28px;padding:0;margin:0;color:#6c757d;background:#fff;border:1px solid #dee2e6;border-right:none;border-radius:.2rem 0 0 .2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .refine-compact .btn-refine-negate:hover,.target-search-dropdown .refine-compact .btn-refine-negate:hover{background:#e9ecef;color:#212529}body>.target-search-dropdown .refine-compact .btn-refine-negate.active,.target-search-dropdown .refine-compact .btn-refine-negate.active{background:#f8d7da;color:#dc3545;border-color:#dc3545}body>.target-search-dropdown .refine-compact .refine-input,.target-search-dropdown .refine-compact .refine-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .refine-compact .refine-input:focus,.target-search-dropdown .refine-compact .refine-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .refine-compact .refine-input::placeholder,.target-search-dropdown .refine-compact .refine-input::placeholder{color:#adb5bd}body>.target-search-dropdown .refine-compact .refine-input,.target-search-dropdown .refine-compact .refine-input{width:100px;padding:.25rem .5rem;font-size:.75rem;border-radius:0 .2rem .2rem 0}body>.target-search-dropdown .refine-compact .btn-clear-refine,.target-search-dropdown .refine-compact .btn-clear-refine{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:0;margin-left:-1px;color:#6c757d;background:#fff;border:1px solid #dee2e6;border-radius:0 .2rem .2rem 0;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .refine-compact .btn-clear-refine:hover,.target-search-dropdown .refine-compact .btn-clear-refine:hover{background:#e9ecef;color:#212529}body>.target-search-dropdown .filter-panel,.target-search-dropdown .filter-panel{display:none;padding:1rem;background:#f8fafc;border-bottom:1px solid #dee2e6}body>.target-search-dropdown .filter-panel.show,.target-search-dropdown .filter-panel.show{display:block}body>.target-search-dropdown .filter-row,.target-search-dropdown .filter-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}body>.target-search-dropdown .filter-row:last-child,.target-search-dropdown .filter-row:last-child{margin-bottom:0}body>.target-search-dropdown .filter-label,.target-search-dropdown .filter-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:#495057;cursor:pointer}body>.target-search-dropdown .filter-label input[type=checkbox],.target-search-dropdown .filter-label input[type=checkbox]{margin:0}body>.target-search-dropdown .filter-price-range,.target-search-dropdown .filter-price-range{display:flex;align-items:center;gap:.25rem}body>.target-search-dropdown .filter-price-range .filter-price-label,.target-search-dropdown .filter-price-range .filter-price-label{font-size:.75rem;color:#6c757d}body>.target-search-dropdown .filter-price-range .filter-price-min,body>.target-search-dropdown .filter-price-range .filter-price-max,.target-search-dropdown .filter-price-range .filter-price-min,.target-search-dropdown .filter-price-range .filter-price-max{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .filter-price-range .filter-price-min:focus,body>.target-search-dropdown .filter-price-range .filter-price-max:focus,.target-search-dropdown .filter-price-range .filter-price-min:focus,.target-search-dropdown .filter-price-range .filter-price-max:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .filter-price-range .filter-price-min::placeholder,body>.target-search-dropdown .filter-price-range .filter-price-max::placeholder,.target-search-dropdown .filter-price-range .filter-price-min::placeholder,.target-search-dropdown .filter-price-range .filter-price-max::placeholder{color:#adb5bd}body>.target-search-dropdown .filter-price-range .filter-price-min,body>.target-search-dropdown .filter-price-range .filter-price-max,.target-search-dropdown .filter-price-range .filter-price-min,.target-search-dropdown .filter-price-range .filter-price-max{width:70px;padding:.25rem .5rem;font-size:.75rem}body>.target-search-dropdown .filter-price-range .filter-price-sep,.target-search-dropdown .filter-price-range .filter-price-sep{color:#6c757d}body>.target-search-dropdown .btn-clear-filters,.target-search-dropdown .btn-clear-filters{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .btn-clear-filters:focus,.target-search-dropdown .btn-clear-filters:focus{outline:none}body>.target-search-dropdown .btn-clear-filters,.target-search-dropdown .btn-clear-filters{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;cursor:pointer;margin-left:auto}body>.target-search-dropdown .btn-clear-filters:hover,.target-search-dropdown .btn-clear-filters:hover{background:#e2e8f0;color:#212529}body>.target-search-dropdown .filter-row-multi,.target-search-dropdown .filter-row-multi{flex-direction:column;align-items:stretch;gap:.5rem}body>.target-search-dropdown .filter-subrow,.target-search-dropdown .filter-subrow{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}body>.target-search-dropdown .filter-range-group,body>.target-search-dropdown .filter-date-group,body>.target-search-dropdown .filter-select-group,.target-search-dropdown .filter-range-group,.target-search-dropdown .filter-date-group,.target-search-dropdown .filter-select-group{display:flex;align-items:center;gap:.25rem}body>.target-search-dropdown .filter-range-label,body>.target-search-dropdown .filter-date-label,body>.target-search-dropdown .filter-select-label,body>.target-search-dropdown .filter-row-label,.target-search-dropdown .filter-range-label,.target-search-dropdown .filter-date-label,.target-search-dropdown .filter-select-label,.target-search-dropdown .filter-row-label{font-size:.75rem;color:#6c757d;white-space:nowrap}body>.target-search-dropdown .filter-range-label i,body>.target-search-dropdown .filter-date-label i,body>.target-search-dropdown .filter-select-label i,body>.target-search-dropdown .filter-row-label i,.target-search-dropdown .filter-range-label i,.target-search-dropdown .filter-date-label i,.target-search-dropdown .filter-select-label i,.target-search-dropdown .filter-row-label i{margin-right:.25rem}body>.target-search-dropdown .filter-range-sep,.target-search-dropdown .filter-range-sep{color:#6c757d}body>.target-search-dropdown .filter-product-count-min,body>.target-search-dropdown .filter-product-count-max,body>.target-search-dropdown .filter-sales-min,body>.target-search-dropdown .filter-sales-max,body>.target-search-dropdown .filter-turnover-min,body>.target-search-dropdown .filter-turnover-max,body>.target-search-dropdown .filter-date-add-from,body>.target-search-dropdown .filter-date-add-to,body>.target-search-dropdown .filter-last-product-from,body>.target-search-dropdown .filter-last-product-to,.target-search-dropdown .filter-product-count-min,.target-search-dropdown .filter-product-count-max,.target-search-dropdown .filter-sales-min,.target-search-dropdown .filter-sales-max,.target-search-dropdown .filter-turnover-min,.target-search-dropdown .filter-turnover-max,.target-search-dropdown .filter-date-add-from,.target-search-dropdown .filter-date-add-to,.target-search-dropdown .filter-last-product-from,.target-search-dropdown .filter-last-product-to{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .filter-product-count-min:focus,body>.target-search-dropdown .filter-product-count-max:focus,body>.target-search-dropdown .filter-sales-min:focus,body>.target-search-dropdown .filter-sales-max:focus,body>.target-search-dropdown .filter-turnover-min:focus,body>.target-search-dropdown .filter-turnover-max:focus,body>.target-search-dropdown .filter-date-add-from:focus,body>.target-search-dropdown .filter-date-add-to:focus,body>.target-search-dropdown .filter-last-product-from:focus,body>.target-search-dropdown .filter-last-product-to:focus,.target-search-dropdown .filter-product-count-min:focus,.target-search-dropdown .filter-product-count-max:focus,.target-search-dropdown .filter-sales-min:focus,.target-search-dropdown .filter-sales-max:focus,.target-search-dropdown .filter-turnover-min:focus,.target-search-dropdown .filter-turnover-max:focus,.target-search-dropdown .filter-date-add-from:focus,.target-search-dropdown .filter-date-add-to:focus,.target-search-dropdown .filter-last-product-from:focus,.target-search-dropdown .filter-last-product-to:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .filter-product-count-min::placeholder,body>.target-search-dropdown .filter-product-count-max::placeholder,body>.target-search-dropdown .filter-sales-min::placeholder,body>.target-search-dropdown .filter-sales-max::placeholder,body>.target-search-dropdown .filter-turnover-min::placeholder,body>.target-search-dropdown .filter-turnover-max::placeholder,body>.target-search-dropdown .filter-date-add-from::placeholder,body>.target-search-dropdown .filter-date-add-to::placeholder,body>.target-search-dropdown .filter-last-product-from::placeholder,body>.target-search-dropdown .filter-last-product-to::placeholder,.target-search-dropdown .filter-product-count-min::placeholder,.target-search-dropdown .filter-product-count-max::placeholder,.target-search-dropdown .filter-sales-min::placeholder,.target-search-dropdown .filter-sales-max::placeholder,.target-search-dropdown .filter-turnover-min::placeholder,.target-search-dropdown .filter-turnover-max::placeholder,.target-search-dropdown .filter-date-add-from::placeholder,.target-search-dropdown .filter-date-add-to::placeholder,.target-search-dropdown .filter-last-product-from::placeholder,.target-search-dropdown .filter-last-product-to::placeholder{color:#adb5bd}body>.target-search-dropdown .filter-product-count-min,body>.target-search-dropdown .filter-product-count-max,body>.target-search-dropdown .filter-sales-min,body>.target-search-dropdown .filter-sales-max,body>.target-search-dropdown .filter-turnover-min,body>.target-search-dropdown .filter-turnover-max,body>.target-search-dropdown .filter-date-add-from,body>.target-search-dropdown .filter-date-add-to,body>.target-search-dropdown .filter-last-product-from,body>.target-search-dropdown .filter-last-product-to,.target-search-dropdown .filter-product-count-min,.target-search-dropdown .filter-product-count-max,.target-search-dropdown .filter-sales-min,.target-search-dropdown .filter-sales-max,.target-search-dropdown .filter-turnover-min,.target-search-dropdown .filter-turnover-max,.target-search-dropdown .filter-date-add-from,.target-search-dropdown .filter-date-add-to,.target-search-dropdown .filter-last-product-from,.target-search-dropdown .filter-last-product-to{width:70px;padding:.25rem .5rem;font-size:.75rem}body>.target-search-dropdown .filter-depth-select,body>.target-search-dropdown .filter-attribute-group-select,body>.target-search-dropdown .filter-feature-group-select,.target-search-dropdown .filter-depth-select,.target-search-dropdown .filter-attribute-group-select,.target-search-dropdown .filter-feature-group-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .filter-depth-select:focus,body>.target-search-dropdown .filter-attribute-group-select:focus,body>.target-search-dropdown .filter-feature-group-select:focus,.target-search-dropdown .filter-depth-select:focus,.target-search-dropdown .filter-attribute-group-select:focus,.target-search-dropdown .filter-feature-group-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .filter-depth-select::placeholder,body>.target-search-dropdown .filter-attribute-group-select::placeholder,body>.target-search-dropdown .filter-feature-group-select::placeholder,.target-search-dropdown .filter-depth-select::placeholder,.target-search-dropdown .filter-attribute-group-select::placeholder,.target-search-dropdown .filter-feature-group-select::placeholder{color:#adb5bd}body>.target-search-dropdown .filter-depth-select,body>.target-search-dropdown .filter-attribute-group-select,body>.target-search-dropdown .filter-feature-group-select,.target-search-dropdown .filter-depth-select,.target-search-dropdown .filter-attribute-group-select,.target-search-dropdown .filter-feature-group-select{padding:.25rem .5rem;font-size:.75rem;min-width:100px}body>.target-search-dropdown .filter-attributes-container,body>.target-search-dropdown .filter-features-container,body>.target-search-dropdown .filter-values-container,.target-search-dropdown .filter-attributes-container,.target-search-dropdown .filter-features-container,.target-search-dropdown .filter-values-container{display:flex;flex-wrap:wrap;gap:.25rem}body>.target-search-dropdown .filter-group-toggle,.target-search-dropdown .filter-group-toggle{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .filter-group-toggle:focus,.target-search-dropdown .filter-group-toggle:focus{outline:none}body>.target-search-dropdown .filter-group-toggle,.target-search-dropdown .filter-group-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .filter-group-toggle:hover,.target-search-dropdown .filter-group-toggle:hover{background:#e9ecef;border-color:#cbd5e1}body>.target-search-dropdown .filter-group-toggle.active,.target-search-dropdown .filter-group-toggle.active{background:rgba(37,185,215,.1);border-color:#25b9d7;color:#25b9d7}body>.target-search-dropdown .filter-group-toggle.active .toggle-count,.target-search-dropdown .filter-group-toggle.active .toggle-count{color:#25b9d7}body>.target-search-dropdown .filter-group-toggle.has-selection,.target-search-dropdown .filter-group-toggle.has-selection{border-color:#28a745;background:rgba(40,167,69,.05)}body>.target-search-dropdown .filter-group-toggle.has-selection .toggle-count,.target-search-dropdown .filter-group-toggle.has-selection .toggle-count{color:#28a745;font-weight:600}body>.target-search-dropdown .filter-group-toggle .toggle-name,.target-search-dropdown .filter-group-toggle .toggle-name{font-weight:500}body>.target-search-dropdown .filter-group-toggle .toggle-count,.target-search-dropdown .filter-group-toggle .toggle-count{display:inline-flex;align-items:center;gap:.125rem;color:#6c757d;font-size:.65rem}body>.target-search-dropdown .filter-group-toggle .toggle-count i,.target-search-dropdown .filter-group-toggle .toggle-count i{font-size:10px;color:#25b9d7}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable,.target-search-dropdown .filter-group-toggle .toggle-count.clickable{cursor:pointer;padding:.125rem .25rem;border-radius:.2rem;transition:all .15s ease-in-out}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable:hover,.target-search-dropdown .filter-group-toggle .toggle-count.clickable:hover{background:rgba(37,185,215,.1);color:#25b9d7}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable:hover i,.target-search-dropdown .filter-group-toggle .toggle-count.clickable:hover i{color:#25b9d7}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable.popover-open,.target-search-dropdown .filter-group-toggle .toggle-count.clickable.popover-open{background:#25b9d7;color:#fff}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable.popover-open i,.target-search-dropdown .filter-group-toggle .toggle-count.clickable.popover-open i{color:#fff}body>.target-search-dropdown .filter-group-toggle .toggle-count.clickable.loading i,.target-search-dropdown .filter-group-toggle .toggle-count.clickable.loading i{animation:spin .6s linear infinite}body>.target-search-dropdown .filter-chip,body>.target-search-dropdown .filter-attr-chip,body>.target-search-dropdown .filter-feat-chip,.target-search-dropdown .filter-chip,.target-search-dropdown .filter-attr-chip,.target-search-dropdown .filter-feat-chip{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .filter-chip:focus,.target-search-dropdown .filter-chip:focus,.target-search-dropdown .filter-attr-chip:focus,.target-search-dropdown .filter-feat-chip:focus{outline:none}body>.target-search-dropdown .filter-chip,body>.target-search-dropdown .filter-attr-chip,body>.target-search-dropdown .filter-feat-chip,.target-search-dropdown .filter-chip,.target-search-dropdown .filter-attr-chip,.target-search-dropdown .filter-feat-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#495057;background:#f1f5f9;border:1px solid rgba(0,0,0,0);border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out}body>.target-search-dropdown .filter-chip:hover,.target-search-dropdown .filter-chip:hover,.target-search-dropdown .filter-attr-chip:hover,.target-search-dropdown .filter-feat-chip:hover{background:#e2e8f0}body>.target-search-dropdown .filter-chip.active,.target-search-dropdown .filter-chip.active,.target-search-dropdown .active.filter-attr-chip,.target-search-dropdown .active.filter-feat-chip{background:#25b9d7;color:#fff}body>.target-search-dropdown .filter-row-values,.target-search-dropdown .filter-row-values{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border:1px solid #dee2e6;border-radius:.2rem}body>.target-search-dropdown .filter-row-values .filter-values-container,.target-search-dropdown .filter-row-values .filter-values-container{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;flex:1}body>.target-search-dropdown .filter-row-values .filter-values-label,.target-search-dropdown .filter-row-values .filter-values-label{font-size:.75rem;font-weight:600;color:#495057;white-space:nowrap}body>.target-search-dropdown .filter-row-values .btn-close-values,.target-search-dropdown .filter-row-values .btn-close-values{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .filter-row-values .btn-close-values:focus,.target-search-dropdown .filter-row-values .btn-close-values:focus{outline:none}body>.target-search-dropdown .filter-row-values .btn-close-values,.target-search-dropdown .filter-row-values .btn-close-values{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;color:#6c757d;border-radius:.2rem}body>.target-search-dropdown .filter-row-values .btn-close-values:hover,.target-search-dropdown .filter-row-values .btn-close-values:hover{background:#e2e8f0;color:#212529}body>.target-search-dropdown .chip-name,.target-search-dropdown .chip-name{font-weight:500}body>.target-search-dropdown .chip-count,.target-search-dropdown .chip-count{font-size:.6rem;color:#6c757d;margin-left:.125rem}body>.target-search-dropdown .filter-chip.active .chip-count,.target-search-dropdown .filter-chip.active .chip-count,.target-search-dropdown .active.filter-attr-chip .chip-count,.target-search-dropdown .active.filter-feat-chip .chip-count{color:hsla(0,0%,100%,.8)}body>.target-search-dropdown .dropdown-content,.target-search-dropdown .dropdown-content{max-height:400px;overflow-y:auto}body>.target-search-dropdown .dropdown-content::-webkit-scrollbar,.target-search-dropdown .dropdown-content::-webkit-scrollbar{width:6px;height:6px}body>.target-search-dropdown .dropdown-content::-webkit-scrollbar-track,.target-search-dropdown .dropdown-content::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}body>.target-search-dropdown .dropdown-content::-webkit-scrollbar-thumb,.target-search-dropdown .dropdown-content::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}body>.target-search-dropdown .dropdown-content::-webkit-scrollbar-thumb:hover,.target-search-dropdown .dropdown-content::-webkit-scrollbar-thumb:hover{background:#ced4da}body>.target-search-dropdown .dropdown-items,.target-search-dropdown .dropdown-items{display:flex;flex-direction:column;gap:.25rem;padding:.5rem}body>.target-search-dropdown .item-checkbox,.target-search-dropdown .item-checkbox{flex-shrink:0;width:16px;height:16px;border:2px solid #ced4da;border-radius:3px;transition:all .15s ease-in-out}.dropdown-item.selected body>.target-search-dropdown .item-checkbox,.dropdown-item.selected .target-search-dropdown .item-checkbox{background:#25b9d7;border-color:#25b9d7}body>.target-search-dropdown .item-image,.target-search-dropdown .item-image{flex-shrink:0;width:40px;height:40px;object-fit:cover;border-radius:.2rem;background:#f1f5f9}body>.target-search-dropdown .item-info,.target-search-dropdown .item-info{flex:1;min-width:0}body>.target-search-dropdown .item-name,.target-search-dropdown .item-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .item-meta,.target-search-dropdown .item-meta{font-size:.75rem;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .dropdown-footer,.target-search-dropdown .dropdown-footer{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-top:1px solid #dee2e6;border-radius:0 0 .3rem .3rem}body>.target-search-dropdown .dropdown-footer-info,.target-search-dropdown .dropdown-footer-info{font-size:.75rem;color:#6c757d}body>.target-search-dropdown .btn-cancel-dropdown,.target-search-dropdown .btn-cancel-dropdown{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .btn-cancel-dropdown:focus,.target-search-dropdown .btn-cancel-dropdown:focus{outline:none}body>.target-search-dropdown .btn-cancel-dropdown,.target-search-dropdown .btn-cancel-dropdown{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.875rem;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer}body>.target-search-dropdown .btn-cancel-dropdown:hover,.target-search-dropdown .btn-cancel-dropdown:hover{background:#e9ecef;color:#dc3545;border-color:#dc3545}body>.target-search-dropdown .btn-cancel-dropdown i,.target-search-dropdown .btn-cancel-dropdown i{font-size:10px}body>.target-search-dropdown .btn-cancel-dropdown kbd,.target-search-dropdown .btn-cancel-dropdown kbd{font-size:.65rem;padding:.125rem .25rem;background:#f1f5f9;border-radius:2px;color:#6c757d;margin-left:.25rem}body>.target-search-dropdown .btn-confirm-dropdown,.target-search-dropdown .btn-confirm-dropdown{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .btn-confirm-dropdown:focus,.target-search-dropdown .btn-confirm-dropdown:focus{outline:none}body>.target-search-dropdown .btn-confirm-dropdown,.target-search-dropdown .btn-confirm-dropdown{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.875rem;color:#fff;background:#25b9d7;border:1px solid #25b9d7;border-radius:.2rem;cursor:pointer}body>.target-search-dropdown .btn-confirm-dropdown:hover,.target-search-dropdown .btn-confirm-dropdown:hover{background:#1a9ab7;border-color:#1a9ab7}body>.target-search-dropdown .btn-confirm-dropdown i,.target-search-dropdown .btn-confirm-dropdown i{font-size:10px}body>.target-search-dropdown .btn-confirm-dropdown kbd,.target-search-dropdown .btn-confirm-dropdown kbd{font-size:.65rem;padding:.125rem .25rem;background:hsla(0,0%,100%,.2);border-radius:2px;color:hsla(0,0%,100%,.8)}body>.target-search-dropdown .filter-chips-row,.target-search-dropdown .filter-chips-row{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem 1rem;border-bottom:1px solid #dee2e6}body>.target-search-dropdown .filter-chip,body>.target-search-dropdown .filter-attr-chip,body>.target-search-dropdown .filter-feat-chip,.target-search-dropdown .filter-chip,.target-search-dropdown .filter-attr-chip,.target-search-dropdown .filter-feat-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:#e9ecef;color:#495057;border-radius:50rem}body>.target-search-dropdown .filter-chip .chip-remove,.target-search-dropdown .filter-chip .chip-remove,.target-search-dropdown .filter-attr-chip .chip-remove,.target-search-dropdown .filter-feat-chip .chip-remove{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .filter-chip .chip-remove:focus,.target-search-dropdown .filter-chip .chip-remove:focus,.target-search-dropdown .filter-attr-chip .chip-remove:focus,.target-search-dropdown .filter-feat-chip .chip-remove:focus{outline:none}body>.target-search-dropdown .filter-chip .chip-remove,.target-search-dropdown .filter-chip .chip-remove,.target-search-dropdown .filter-attr-chip .chip-remove,.target-search-dropdown .filter-feat-chip .chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:10px;color:#6c757d;border-radius:50%}body>.target-search-dropdown .filter-chip .chip-remove:hover,.target-search-dropdown .filter-chip .chip-remove:hover,.target-search-dropdown .filter-attr-chip .chip-remove:hover,.target-search-dropdown .filter-feat-chip .chip-remove:hover{background:rgba(0,0,0,.1);color:#dc3545}body>.target-search-dropdown .dropdown-empty,body>.target-search-dropdown .dropdown-loading,.target-search-dropdown .dropdown-empty,.target-search-dropdown .dropdown-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:#6c757d;font-size:.875rem}body>.target-search-dropdown .dropdown-empty i,body>.target-search-dropdown .dropdown-loading i,.target-search-dropdown .dropdown-empty i,.target-search-dropdown .dropdown-loading i{font-size:2rem;opacity:.5;margin-bottom:.5rem}body>.target-search-dropdown .search-history-panel,.target-search-dropdown .search-history-panel{display:none;padding:.5rem;background:#fff;border-bottom:1px solid #dee2e6}body>.target-search-dropdown .search-history-panel.show,.target-search-dropdown .search-history-panel.show{display:block}body>.target-search-dropdown .history-item,.target-search-dropdown .history-item{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.2rem;cursor:pointer;transition:background .15s ease-in-out}body>.target-search-dropdown .history-item:hover,.target-search-dropdown .history-item:hover{background:#e9ecef}body>.target-search-dropdown .history-item i,.target-search-dropdown .history-item i{color:#6c757d;font-size:.875rem}body>.target-search-dropdown .history-item span,.target-search-dropdown .history-item span{flex:1;font-size:.875rem;color:#212529}body>.target-search-dropdown .history-item .btn-remove-history,body>.target-search-dropdown .history-item .btn-delete-history,.target-search-dropdown .history-item .btn-remove-history,.target-search-dropdown .history-item .btn-delete-history{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .history-item .btn-remove-history:focus,body>.target-search-dropdown .history-item .btn-delete-history:focus,.target-search-dropdown .history-item .btn-remove-history:focus,.target-search-dropdown .history-item .btn-delete-history:focus{outline:none}body>.target-search-dropdown .history-item .btn-remove-history,body>.target-search-dropdown .history-item .btn-delete-history,.target-search-dropdown .history-item .btn-remove-history,.target-search-dropdown .history-item .btn-delete-history{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}body>.target-search-dropdown .history-item .btn-remove-history:hover,body>.target-search-dropdown .history-item .btn-delete-history:hover,.target-search-dropdown .history-item .btn-remove-history:hover,.target-search-dropdown .history-item .btn-delete-history:hover{background:#e2e8f0;color:#dc3545}body>.target-search-dropdown .search-history-list,.target-search-dropdown .search-history-list{display:flex;flex-direction:column;gap:.25rem}body>.target-search-dropdown .results-header,.target-search-dropdown .results-header{display:flex;align-items:center;gap:.5rem;padding:.25rem 1rem;background:#f1f5f9;border-bottom:1px solid #dee2e6;font-size:.75rem;font-weight:600;color:#495057}body>.target-search-dropdown .results-header .header-spacer,.target-search-dropdown .results-header .header-spacer{width:58px;flex-shrink:0}body>.target-search-dropdown .results-header .header-col,.target-search-dropdown .results-header .header-col{flex-shrink:0;width:70px;text-align:right}body>.target-search-dropdown .results-header .header-col-name,.target-search-dropdown .results-header .header-col-name{flex:1;text-align:left}body>.target-search-dropdown .dropdown-results,.target-search-dropdown .dropdown-results{padding:0 .5rem;background:#fff;min-height:200px}body>.target-search-dropdown .dropdown-item,.target-search-dropdown .dropdown-item{position:relative;display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:#fff;border:none;border-bottom:1px solid #dee2e6;border-radius:0;cursor:pointer;transition:background .15s ease-in-out}body>.target-search-dropdown .dropdown-item:last-child,.target-search-dropdown .dropdown-item:last-child{border-bottom:none}body>.target-search-dropdown .dropdown-item:hover,.target-search-dropdown .dropdown-item:hover{background:#e9ecef}body>.target-search-dropdown .dropdown-item.selected,.target-search-dropdown .dropdown-item.selected{background:rgba(37,185,215,.1)}body>.target-search-dropdown .dropdown-item.selected .result-checkbox,.target-search-dropdown .dropdown-item.selected .result-checkbox{background:#25b9d7;border-color:#25b9d7;color:#fff}body>.target-search-dropdown .dropdown-item.selected .result-checkbox i,.target-search-dropdown .dropdown-item.selected .result-checkbox i{display:block}body>.target-search-dropdown .dropdown-item.disabled,.target-search-dropdown .dropdown-item.disabled{opacity:.5;cursor:not-allowed}body>.target-search-dropdown .result-checkbox,.target-search-dropdown .result-checkbox{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;background:#fff;border:2px solid #ced4da;border-radius:3px;transition:all .15s ease-in-out}body>.target-search-dropdown .result-checkbox i,.target-search-dropdown .result-checkbox i{display:none;font-size:10px}body>.target-search-dropdown.view-cols-2 .dropdown-results,.target-search-dropdown.view-cols-2 .dropdown-results{display:grid;grid-template-columns:repeat(2, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-3 .dropdown-results,.target-search-dropdown.view-cols-3 .dropdown-results{display:grid;grid-template-columns:repeat(3, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-4 .dropdown-results,.target-search-dropdown.view-cols-4 .dropdown-results{display:grid;grid-template-columns:repeat(4, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-5 .dropdown-results,.target-search-dropdown.view-cols-5 .dropdown-results{display:grid;grid-template-columns:repeat(5, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-6 .dropdown-results,.target-search-dropdown.view-cols-6 .dropdown-results{display:grid;grid-template-columns:repeat(6, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-7 .dropdown-results,.target-search-dropdown.view-cols-7 .dropdown-results{display:grid;grid-template-columns:repeat(7, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-8 .dropdown-results,.target-search-dropdown.view-cols-8 .dropdown-results{display:grid;grid-template-columns:repeat(8, 1fr);gap:0;padding:0;border-top:1px solid #dee2e6;border-left:1px solid #dee2e6}body>.target-search-dropdown.view-cols-2 .dropdown-item,body>.target-search-dropdown.view-cols-3 .dropdown-item,body>.target-search-dropdown.view-cols-4 .dropdown-item,body>.target-search-dropdown.view-cols-5 .dropdown-item,body>.target-search-dropdown.view-cols-6 .dropdown-item,body>.target-search-dropdown.view-cols-7 .dropdown-item,body>.target-search-dropdown.view-cols-8 .dropdown-item,.target-search-dropdown.view-cols-2 .dropdown-item,.target-search-dropdown.view-cols-3 .dropdown-item,.target-search-dropdown.view-cols-4 .dropdown-item,.target-search-dropdown.view-cols-5 .dropdown-item,.target-search-dropdown.view-cols-6 .dropdown-item,.target-search-dropdown.view-cols-7 .dropdown-item,.target-search-dropdown.view-cols-8 .dropdown-item{flex-direction:column;align-items:center;text-align:center;padding:.5rem;border:none;border-right:1px solid #dee2e6;border-bottom:1px solid #dee2e6;border-radius:0}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-checkbox,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-2 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-3 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-4 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-5 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-6 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-7 .dropdown-item .result-checkbox,.target-search-dropdown.view-cols-8 .dropdown-item .result-checkbox{position:absolute;top:.25rem;left:.25rem}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-2 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-icon,.target-search-dropdown.view-cols-2 .dropdown-item .result-image,.target-search-dropdown.view-cols-2 .dropdown-item .result-icon,.target-search-dropdown.view-cols-3 .dropdown-item .result-image,.target-search-dropdown.view-cols-3 .dropdown-item .result-icon,.target-search-dropdown.view-cols-4 .dropdown-item .result-image,.target-search-dropdown.view-cols-4 .dropdown-item .result-icon,.target-search-dropdown.view-cols-5 .dropdown-item .result-image,.target-search-dropdown.view-cols-5 .dropdown-item .result-icon,.target-search-dropdown.view-cols-6 .dropdown-item .result-image,.target-search-dropdown.view-cols-6 .dropdown-item .result-icon,.target-search-dropdown.view-cols-7 .dropdown-item .result-image,.target-search-dropdown.view-cols-7 .dropdown-item .result-icon,.target-search-dropdown.view-cols-8 .dropdown-item .result-image,.target-search-dropdown.view-cols-8 .dropdown-item .result-icon{width:48px;height:48px;margin-bottom:.25rem}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-info,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-info,.target-search-dropdown.view-cols-2 .dropdown-item .result-info,.target-search-dropdown.view-cols-3 .dropdown-item .result-info,.target-search-dropdown.view-cols-4 .dropdown-item .result-info,.target-search-dropdown.view-cols-5 .dropdown-item .result-info,.target-search-dropdown.view-cols-6 .dropdown-item .result-info,.target-search-dropdown.view-cols-7 .dropdown-item .result-info,.target-search-dropdown.view-cols-8 .dropdown-item .result-info{width:100%}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-name,.target-search-dropdown.view-cols-2 .dropdown-item .result-name,.target-search-dropdown.view-cols-3 .dropdown-item .result-name,.target-search-dropdown.view-cols-4 .dropdown-item .result-name,.target-search-dropdown.view-cols-5 .dropdown-item .result-name,.target-search-dropdown.view-cols-6 .dropdown-item .result-name,.target-search-dropdown.view-cols-7 .dropdown-item .result-name,.target-search-dropdown.view-cols-8 .dropdown-item .result-name{font-size:.75rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-subtitle,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-2 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-3 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-4 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-5 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-6 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-7 .dropdown-item .result-subtitle,.target-search-dropdown.view-cols-8 .dropdown-item .result-subtitle{display:none}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-col,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-col,.target-search-dropdown.view-cols-2 .dropdown-item .result-col,.target-search-dropdown.view-cols-3 .dropdown-item .result-col,.target-search-dropdown.view-cols-4 .dropdown-item .result-col,.target-search-dropdown.view-cols-5 .dropdown-item .result-col,.target-search-dropdown.view-cols-6 .dropdown-item .result-col,.target-search-dropdown.view-cols-7 .dropdown-item .result-col,.target-search-dropdown.view-cols-8 .dropdown-item .result-col{display:none}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;margin-top:.25rem;font-size:.65rem}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-price,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-price,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-price{color:#212529;font-weight:600}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock{color:#6c757d}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock.stock-out,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock.stock-out,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock.stock-out{color:#dc3545}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock.stock-low,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-stock.stock-low,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-stock.stock-low{color:#ffc107}body>.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-discount,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-2 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-3 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-4 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-5 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-6 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-7 .dropdown-item .result-grid-info .grid-discount,.target-search-dropdown.view-cols-8 .dropdown-item .result-grid-info .grid-discount{color:#28a745;font-weight:500}body>.target-search-dropdown.view-cols-2 .results-header,body>.target-search-dropdown.view-cols-3 .results-header,body>.target-search-dropdown.view-cols-4 .results-header,body>.target-search-dropdown.view-cols-5 .results-header,body>.target-search-dropdown.view-cols-6 .results-header,body>.target-search-dropdown.view-cols-7 .results-header,body>.target-search-dropdown.view-cols-8 .results-header,.target-search-dropdown.view-cols-2 .results-header,.target-search-dropdown.view-cols-3 .results-header,.target-search-dropdown.view-cols-4 .results-header,.target-search-dropdown.view-cols-5 .results-header,.target-search-dropdown.view-cols-6 .results-header,.target-search-dropdown.view-cols-7 .results-header,.target-search-dropdown.view-cols-8 .results-header{display:none}body>.target-search-dropdown.view-cols-2 .dropdown-results .dropdown-item:nth-child(2n),.target-search-dropdown.view-cols-2 .dropdown-results .dropdown-item:nth-child(2n){border-right:none}body>.target-search-dropdown.view-cols-3 .dropdown-results .dropdown-item:nth-child(3n),.target-search-dropdown.view-cols-3 .dropdown-results .dropdown-item:nth-child(3n){border-right:none}body>.target-search-dropdown.view-cols-4 .dropdown-results .dropdown-item:nth-child(4n),.target-search-dropdown.view-cols-4 .dropdown-results .dropdown-item:nth-child(4n){border-right:none}body>.target-search-dropdown.view-cols-5 .dropdown-results .dropdown-item:nth-child(5n),.target-search-dropdown.view-cols-5 .dropdown-results .dropdown-item:nth-child(5n){border-right:none}body>.target-search-dropdown.view-cols-6 .dropdown-results .dropdown-item:nth-child(6n),.target-search-dropdown.view-cols-6 .dropdown-results .dropdown-item:nth-child(6n){border-right:none}body>.target-search-dropdown.view-cols-7 .dropdown-results .dropdown-item:nth-child(7n),.target-search-dropdown.view-cols-7 .dropdown-results .dropdown-item:nth-child(7n){border-right:none}body>.target-search-dropdown.view-cols-8 .dropdown-results .dropdown-item:nth-child(8n),.target-search-dropdown.view-cols-8 .dropdown-results .dropdown-item:nth-child(8n){border-right:none}body>.target-search-dropdown.view-cols-5 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-5 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-icon,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-image,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-icon,.target-search-dropdown.view-cols-5 .dropdown-item .result-image,.target-search-dropdown.view-cols-5 .dropdown-item .result-icon,.target-search-dropdown.view-cols-6 .dropdown-item .result-image,.target-search-dropdown.view-cols-6 .dropdown-item .result-icon,.target-search-dropdown.view-cols-7 .dropdown-item .result-image,.target-search-dropdown.view-cols-7 .dropdown-item .result-icon,.target-search-dropdown.view-cols-8 .dropdown-item .result-image,.target-search-dropdown.view-cols-8 .dropdown-item .result-icon{width:40px;height:40px}body>.target-search-dropdown.view-cols-5 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-6 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-7 .dropdown-item .result-name,body>.target-search-dropdown.view-cols-8 .dropdown-item .result-name,.target-search-dropdown.view-cols-5 .dropdown-item .result-name,.target-search-dropdown.view-cols-6 .dropdown-item .result-name,.target-search-dropdown.view-cols-7 .dropdown-item .result-name,.target-search-dropdown.view-cols-8 .dropdown-item .result-name{font-size:.65rem}body>.target-search-dropdown .result-item-product,.target-search-dropdown .result-item-product{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}body>.target-search-dropdown .result-item-image,body>.target-search-dropdown .result-image,.target-search-dropdown .result-item-image,.target-search-dropdown .result-image{flex-shrink:0;width:40px;height:40px;overflow:hidden;border-radius:.2rem;background:#f1f5f9}body>.target-search-dropdown .result-item-image img,body>.target-search-dropdown .result-image img,.target-search-dropdown .result-item-image img,.target-search-dropdown .result-image img{width:100%;height:100%;object-fit:cover}body>.target-search-dropdown .result-icon,.target-search-dropdown .result-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;background:#f1f5f9;border-radius:.2rem;color:#6c757d}body>.target-search-dropdown .result-icon i,.target-search-dropdown .result-icon i{font-size:16px}body>.target-search-dropdown .result-item-info,body>.target-search-dropdown .result-info,.target-search-dropdown .result-item-info,.target-search-dropdown .result-info{flex:1;min-width:0}body>.target-search-dropdown .result-item-name,body>.target-search-dropdown .result-name,.target-search-dropdown .result-item-name,.target-search-dropdown .result-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .result-item-meta,body>.target-search-dropdown .result-subtitle,.target-search-dropdown .result-item-meta,.target-search-dropdown .result-subtitle{font-size:.75rem;color:#6c757d}body>.target-search-dropdown .subtitle-line,.target-search-dropdown .subtitle-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .subtitle-line-primary,.target-search-dropdown .subtitle-line-primary{color:#495057}body>.target-search-dropdown .subtitle-line-secondary,.target-search-dropdown .subtitle-line-secondary{color:#6c757d;font-size:11px}body>.target-search-dropdown .result-col,.target-search-dropdown .result-col{flex-shrink:0;width:70px;text-align:right;font-size:.75rem}body>.target-search-dropdown .result-col-price,.target-search-dropdown .result-col-price{color:#495057}body>.target-search-dropdown .result-col-sale,.target-search-dropdown .result-col-sale{color:#dc3545;font-weight:600}body>.target-search-dropdown .result-col-stock .col-value.stock-ok,.target-search-dropdown .result-col-stock .col-value.stock-ok{color:#28a745}body>.target-search-dropdown .result-col-stock .col-value.stock-low,.target-search-dropdown .result-col-stock .col-value.stock-low{color:#ffc107}body>.target-search-dropdown .result-col-stock .col-value.stock-out,.target-search-dropdown .result-col-stock .col-value.stock-out{color:#dc3545}body>.target-search-dropdown .result-col-sales,.target-search-dropdown .result-col-sales{color:#6c757d}body>.target-search-dropdown .col-value,.target-search-dropdown .col-value{display:block}body>.target-search-dropdown .result-item-checkbox,body>.target-search-dropdown .result-checkbox,.target-search-dropdown .result-item-checkbox,.target-search-dropdown .result-checkbox{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border:2px solid #ced4da;border-radius:.2rem;transition:all .15s ease-in-out}body>.target-search-dropdown .result-item-checkbox i,body>.target-search-dropdown .result-checkbox i,.target-search-dropdown .result-item-checkbox i,.target-search-dropdown .result-checkbox i{display:none;font-size:10px;color:#fff}.dropdown-result-item.selected body>.target-search-dropdown .result-item-checkbox,.dropdown-item.selected body>.target-search-dropdown .result-item-checkbox,.dropdown-result-item.selected body>.target-search-dropdown .result-checkbox,.dropdown-item.selected body>.target-search-dropdown .result-checkbox,.dropdown-result-item.selected .target-search-dropdown .result-item-checkbox,.dropdown-item.selected .target-search-dropdown .result-item-checkbox,.dropdown-result-item.selected .target-search-dropdown .result-checkbox,.dropdown-item.selected .target-search-dropdown .result-checkbox{background:#25b9d7;border-color:#25b9d7}.dropdown-result-item.selected body>.target-search-dropdown .result-item-checkbox i,.dropdown-item.selected body>.target-search-dropdown .result-item-checkbox i,.dropdown-result-item.selected body>.target-search-dropdown .result-checkbox i,.dropdown-item.selected body>.target-search-dropdown .result-checkbox i,.dropdown-result-item.selected .target-search-dropdown .result-item-checkbox i,.dropdown-item.selected .target-search-dropdown .result-item-checkbox i,.dropdown-result-item.selected .target-search-dropdown .result-checkbox i,.dropdown-item.selected .target-search-dropdown .result-checkbox i{display:block}body>.target-search-dropdown .no-results,.target-search-dropdown .no-results{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6c757d;font-size:.875rem}body>.target-search-dropdown .no-results i,.target-search-dropdown .no-results i{font-size:1.25rem;opacity:.5}body>.target-search-dropdown .load-more-controls,.target-search-dropdown .load-more-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;color:#6c757d}body>.target-search-dropdown .load-more-controls .load-more-label,body>.target-search-dropdown .load-more-controls .load-more-of,.target-search-dropdown .load-more-controls .load-more-label,.target-search-dropdown .load-more-controls .load-more-of{white-space:nowrap}body>.target-search-dropdown .load-more-controls .remaining-count,.target-search-dropdown .load-more-controls .remaining-count{font-weight:600;color:#495057}body>.target-search-dropdown .load-more-controls .load-more-select,.target-search-dropdown .load-more-controls .load-more-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}body>.target-search-dropdown .load-more-controls .load-more-select:focus,.target-search-dropdown .load-more-controls .load-more-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}body>.target-search-dropdown .load-more-controls .load-more-select::placeholder,.target-search-dropdown .load-more-controls .load-more-select::placeholder{color:#adb5bd}body>.target-search-dropdown .load-more-controls .load-more-select,.target-search-dropdown .load-more-controls .load-more-select{padding:.25rem .5rem;font-size:.75rem;min-width:60px}body>.target-search-dropdown .load-more-controls .btn-load-more,.target-search-dropdown .load-more-controls .btn-load-more{display:flex;align-items:center;justify-content:center;padding:.25rem;margin:0;border:none;color:#25b9d7;background:rgba(37,185,215,.1) !important;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out;font:inherit}body>.target-search-dropdown .load-more-controls .btn-load-more i,.target-search-dropdown .load-more-controls .btn-load-more i{font-size:14px}body>.target-search-dropdown .load-more-controls .btn-load-more:hover,.target-search-dropdown .load-more-controls .btn-load-more:hover{background:rgba(37,185,215,.2) !important}body>.target-search-dropdown .dropdown-load-more,.target-search-dropdown .dropdown-load-more{display:flex;justify-content:center;padding:1rem;border-top:1px solid #dee2e6}body>.target-search-dropdown .dropdown-load-more .load-more-btn,.target-search-dropdown .dropdown-load-more .load-more-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}body>.target-search-dropdown .dropdown-load-more .load-more-btn:focus,.target-search-dropdown .dropdown-load-more .load-more-btn:focus{outline:none}body>.target-search-dropdown .dropdown-load-more .load-more-btn,.target-search-dropdown .dropdown-load-more .load-more-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#25b9d7;background:rgba(37,185,215,.1);border-radius:.25rem;transition:all .15s ease-in-out}body>.target-search-dropdown .dropdown-load-more .load-more-btn:hover,.target-search-dropdown .dropdown-load-more .load-more-btn:hover{background:rgba(37,185,215,.2)}body>.target-search-dropdown .dropdown-load-more .load-more-btn.loading,.target-search-dropdown .dropdown-load-more .load-more-btn.loading{opacity:.7;cursor:wait}body>.target-search-dropdown .dropdown-body,.target-search-dropdown .dropdown-body{max-height:400px;overflow-y:auto}body>.target-search-dropdown .dropdown-body::-webkit-scrollbar,.target-search-dropdown .dropdown-body::-webkit-scrollbar{width:6px;height:6px}body>.target-search-dropdown .dropdown-body::-webkit-scrollbar-track,.target-search-dropdown .dropdown-body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}body>.target-search-dropdown .dropdown-body::-webkit-scrollbar-thumb,.target-search-dropdown .dropdown-body::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}body>.target-search-dropdown .dropdown-body::-webkit-scrollbar-thumb:hover,.target-search-dropdown .dropdown-body::-webkit-scrollbar-thumb:hover{background:#ced4da}body>.target-search-dropdown .tree-container,.target-search-dropdown .tree-container{padding:.5rem}body>.target-search-dropdown .tree-loading,.target-search-dropdown .tree-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:#6c757d;font-size:.875rem}body>.target-search-dropdown .tree-loading i,.target-search-dropdown .tree-loading i{animation:spin .6s linear infinite}body>.target-search-dropdown .tree-item,.target-search-dropdown .tree-item{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem;border-radius:.2rem;cursor:pointer;transition:background-color .15s ease-in-out}body>.target-search-dropdown .tree-item:hover,.target-search-dropdown .tree-item:hover{background:#e9ecef}body>.target-search-dropdown .tree-item.selected,.target-search-dropdown .tree-item.selected{background:rgba(37,185,215,.1)}body>.target-search-dropdown .tree-item.selected .tree-checkbox,.target-search-dropdown .tree-item.selected .tree-checkbox{background:#25b9d7;border-color:#25b9d7}body>.target-search-dropdown .tree-item.selected .tree-checkbox i,.target-search-dropdown .tree-item.selected .tree-checkbox i{display:block}body>.target-search-dropdown .tree-info,.target-search-dropdown .tree-info{display:flex;align-items:center;gap:.25rem;flex:1;min-width:0}body>.target-search-dropdown .tree-name,.target-search-dropdown .tree-name{font-size:.875rem;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>.target-search-dropdown .tree-subtitle,.target-search-dropdown .tree-subtitle{font-size:.75rem;color:#6c757d}.target-search-dropdown .dropdown-results{max-height:400px;overflow-y:auto;padding:0 .5rem}.target-search-dropdown .dropdown-results::-webkit-scrollbar{width:6px;height:6px}.target-search-dropdown .dropdown-results::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-search-dropdown .dropdown-results::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-search-dropdown .dropdown-results::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-search-dropdown .results-header{display:flex;align-items:center;gap:.5rem;padding:.25rem 1rem;background:#f1f5f9;border-bottom:1px solid #dee2e6;font-size:.75rem;font-weight:600;color:#495057}.target-search-dropdown .results-header .header-spacer{width:58px;flex-shrink:0}.target-search-dropdown .results-header .header-col{flex-shrink:0;width:70px;text-align:right}.target-search-dropdown .results-header .header-col-name{flex:1;text-align:left}.target-search-dropdown:not(.view-list) .results-header,.target-search-dropdown.view-tree .results-header{display:none}.target-search-dropdown .result-item-product{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.target-search-dropdown .result-col{flex-shrink:0;width:70px;text-align:right;font-size:.75rem}.target-search-dropdown .result-col-price{color:#495057}.target-search-dropdown .result-col-sale{color:#dc3545;font-weight:600}.target-search-dropdown .result-col-stock .col-value.stock-ok{color:#28a745}.target-search-dropdown .result-col-stock .col-value.stock-low{color:#ffc107}.target-search-dropdown .result-col-stock .col-value.stock-out{color:#dc3545}.target-search-dropdown .result-col-sales{color:#6c757d}.target-search-dropdown .dropdown-item{display:flex;align-items:center;gap:.5rem;padding:0;border:none;border-bottom:1px solid #dee2e6;border-radius:0;cursor:pointer;transition:background-color .15s ease-in-out}.target-search-dropdown .dropdown-item:last-child{border-bottom:none}.target-search-dropdown .dropdown-item:hover{background:#e9ecef}.target-search-dropdown .dropdown-item.selected{background:rgba(37,185,215,.1)}.target-search-dropdown .result-checkbox{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid #ced4da;border-radius:3px;transition:all .15s ease-in-out}.target-search-dropdown .result-checkbox i{font-size:10px;color:rgba(0,0,0,0)}.dropdown-item.selected .target-search-dropdown .result-checkbox{background:#25b9d7;border-color:#25b9d7}.dropdown-item.selected .target-search-dropdown .result-checkbox i{color:#fff}.target-search-dropdown .result-image{flex-shrink:0;width:40px;height:40px;overflow:hidden;border-radius:.2rem;background:#f1f5f9}.target-search-dropdown .result-image img{width:100%;height:100%;object-fit:cover}.target-search-dropdown .result-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f1f5f9;border-radius:.2rem}.target-search-dropdown .result-icon i{font-size:16px;color:#6c757d}.target-search-dropdown .result-info{flex:1;min-width:0}.target-search-dropdown .result-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-search-dropdown .result-subtitle{font-size:.75rem;color:#6c757d}.target-search-dropdown .subtitle-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-search-dropdown .subtitle-line-primary{color:#495057}.target-search-dropdown .subtitle-line-secondary{color:#6c757d;font-size:11px}.target-search-dropdown[class*=view-cols-] .result-col,.target-search-dropdown.view-tree .result-col{display:none}.target-search-dropdown .entity-search-box{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:#fff;border:none;border-bottom:1px solid #dee2e6;border-radius:0}.target-search-dropdown .entity-search-box .entity-search-icon{color:#6c757d;flex-shrink:0;margin-left:.25rem}.target-search-dropdown .entity-search-box input.entity-search-input,.target-search-dropdown .entity-search-box input.entity-search-input[type=text]{flex:1;min-width:0;width:auto !important;max-width:none !important;height:auto;padding:0;margin:0;border:none !important;outline:none;background:rgba(0,0,0,0) !important;font-size:.875rem;color:#212529;box-shadow:none !important}.target-search-dropdown .entity-search-box input.entity-search-input::placeholder,.target-search-dropdown .entity-search-box input.entity-search-input[type=text]::placeholder{color:#6c757d}.target-search-dropdown .entity-search-box input.entity-search-input:focus,.target-search-dropdown .entity-search-box input.entity-search-input[type=text]:focus{border:none !important;box-shadow:none !important;outline:none}.target-search-dropdown .entity-search-box .search-loading{color:#6c757d}body>.target-search-dropdown .dropdown-item{border:none;border-radius:0}body>.target-search-dropdown .dropdown-item:not(:last-child){border-bottom:1px solid #dee2e6}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.target-conditions-trait .chips-wrapper,.entity-selector-trait .chips-wrapper{display:flex;flex-direction:column;margin-top:.5rem;background:#f8fafc;border:1px solid #dee2e6;border-radius:.25rem;overflow:hidden}.target-conditions-trait .chips-toolbar,.entity-selector-trait .chips-toolbar{display:none;align-items:center;gap:.25rem;padding:.5rem 1rem;padding-bottom:0;background:rgba(0,0,0,0)}.target-conditions-trait .chips-toolbar.has-chips,.entity-selector-trait .chips-toolbar.has-chips{display:flex}.target-conditions-trait .chips-filter-group,.entity-selector-trait .chips-filter-group{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fff;border:1px solid #dee2e6;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .chips-filter-group:focus-within,.entity-selector-trait .chips-filter-group:focus-within{border-color:#25b9d7;box-shadow:0 0 0 2px rgba(37,185,215,.1)}.target-conditions-trait .chips-filter-group>i,.entity-selector-trait .chips-filter-group>i{color:#6c757d;font-size:12px;flex-shrink:0}.target-conditions-trait .chips-search-input,.target-conditions-trait input.chips-search-input,.target-conditions-trait input.chips-search-input[type=text],.entity-selector-trait .chips-search-input,.entity-selector-trait input.chips-search-input,.entity-selector-trait input.chips-search-input[type=text]{flex:1 !important;min-width:60px !important;max-width:120px !important;width:auto !important;height:auto !important;padding:.125rem 0 !important;border:none !important;border-radius:0 !important;background:rgba(0,0,0,0) !important;font-size:.75rem !important;color:#212529;box-shadow:none !important}.target-conditions-trait .chips-search-input:focus,.target-conditions-trait input.chips-search-input:focus,.target-conditions-trait input.chips-search-input[type=text]:focus,.entity-selector-trait .chips-search-input:focus,.entity-selector-trait input.chips-search-input:focus,.entity-selector-trait input.chips-search-input[type=text]:focus{outline:none !important;border:none !important;box-shadow:none !important}.target-conditions-trait .chips-search-input::placeholder,.target-conditions-trait input.chips-search-input::placeholder,.target-conditions-trait input.chips-search-input[type=text]::placeholder,.entity-selector-trait .chips-search-input::placeholder,.entity-selector-trait input.chips-search-input::placeholder,.entity-selector-trait input.chips-search-input[type=text]::placeholder{color:#6c757d;font-size:.75rem}.target-conditions-trait .chips-count,.entity-selector-trait .chips-count{display:inline-flex;align-items:center;gap:.125rem;padding:.125rem .5rem;background:#e2e8f0;color:#495057;font-size:11px;font-weight:600;border-radius:50rem;white-space:nowrap}.target-conditions-trait .chips-count.has-filter,.entity-selector-trait .chips-count.has-filter{background:#cffafe;color:#0e7490}.target-conditions-trait .chips-count .count-filtered,.entity-selector-trait .chips-count .count-filtered{font-weight:700}.target-conditions-trait .chips-count .count-separator,.entity-selector-trait .chips-count .count-separator{opacity:.6;margin:0 .125rem}.target-conditions-trait .chips-actions,.entity-selector-trait .chips-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.target-conditions-trait .btn-chips-clear,.entity-selector-trait .btn-chips-clear{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-chips-clear:focus,.entity-selector-trait .btn-chips-clear:focus{outline:none}.target-conditions-trait .btn-chips-clear,.entity-selector-trait .btn-chips-clear{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;color:#dc3545;font-size:11px;font-weight:500;background:rgba(220,53,69,.1);border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-chips-clear:hover,.entity-selector-trait .btn-chips-clear:hover{background:#dc3545;color:#fff}.target-conditions-trait .btn-chips-clear i,.entity-selector-trait .btn-chips-clear i{font-size:10px}@media(max-width: 480px){.target-conditions-trait .btn-chips-clear .clear-text,.entity-selector-trait .btn-chips-clear .clear-text{display:none}}.target-conditions-trait .entity-chips,.entity-selector-trait .entity-chips{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem 1rem 1rem;min-height:40px;max-height:300px;overflow-y:auto}.target-conditions-trait .entity-chips:empty,.entity-selector-trait .entity-chips:empty{display:none}.target-conditions-trait .chips-load-more,.entity-selector-trait .chips-load-more{display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:#fff;border-top:1px solid #dee2e6}.target-conditions-trait .chips-load-more .btn-load-more,.entity-selector-trait .chips-load-more .btn-load-more{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .chips-load-more .btn-load-more:focus,.entity-selector-trait .chips-load-more .btn-load-more:focus{outline:none}.target-conditions-trait .chips-load-more .btn-load-more,.entity-selector-trait .chips-load-more .btn-load-more{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;color:#fff;font-size:.875rem;font-weight:600;background:#25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .chips-load-more .btn-load-more:hover,.entity-selector-trait .chips-load-more .btn-load-more:hover{background:#1a9ab7}.target-conditions-trait .chips-load-more .btn-load-more i,.entity-selector-trait .chips-load-more .btn-load-more i{font-size:12px}.target-conditions-trait .entity-chip,.entity-selector-trait .entity-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#f1f5f9;color:#495057;font-size:.75rem;font-weight:500;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .entity-chip:hover,.entity-selector-trait .entity-chip:hover{background:#e2e8f0}.target-conditions-trait .entity-chip.has-image,.entity-selector-trait .entity-chip.has-image{padding-left:.25rem}.target-conditions-trait .entity-chip.chip-filtered-out,.target-conditions-trait .entity-chip.chip-paginated-out,.entity-selector-trait .entity-chip.chip-filtered-out,.entity-selector-trait .entity-chip.chip-paginated-out{display:none}.target-conditions-trait .chip-image,.entity-selector-trait .chip-image{width:20px;height:20px;object-fit:cover;border-radius:50%;flex-shrink:0}.target-conditions-trait .chip-icon,.entity-selector-trait .chip-icon{display:flex;align-items:center;justify-content:center;font-size:12px;color:#6c757d;flex-shrink:0}.target-conditions-trait .chip-icon img,.entity-selector-trait .chip-icon img{width:20px;height:20px;object-fit:cover;border-radius:.2rem}.target-conditions-trait .chip-text,.target-conditions-trait .chip-name,.entity-selector-trait .chip-text,.entity-selector-trait .chip-name{word-break:break-word}.target-conditions-trait .chip-remove,.entity-selector-trait .chip-remove{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .chip-remove:focus,.entity-selector-trait .chip-remove:focus{outline:none}.target-conditions-trait .chip-remove,.entity-selector-trait .chip-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:.125rem;color:#6c757d;border-radius:50%;flex-shrink:0;transition:all .15s ease-in-out}.target-conditions-trait .chip-remove:hover,.entity-selector-trait .chip-remove:hover{background:rgba(0,0,0,.1);color:#dc3545}.target-conditions-trait .chip-remove i,.entity-selector-trait .chip-remove i{font-size:10px}.target-conditions-trait .entity-chip.chip-primary,.entity-selector-trait .entity-chip.chip-primary{background:rgba(37,185,215,.1);color:#25b9d7}.target-conditions-trait .entity-chip.chip-primary:hover,.entity-selector-trait .entity-chip.chip-primary:hover{background:rgba(37,185,215,.2)}.target-conditions-trait .entity-chip.chip-success,.entity-selector-trait .entity-chip.chip-success{background:#d4edda;color:#1e7e34}.target-conditions-trait .entity-chip.chip-success:hover,.entity-selector-trait .entity-chip.chip-success:hover{background:rgba(40,167,69,.2)}.target-conditions-trait .entity-chip.chip-danger,.entity-selector-trait .entity-chip.chip-danger{background:#f8d7da;color:#dc3545}.target-conditions-trait .entity-chip.chip-danger:hover,.entity-selector-trait .entity-chip.chip-danger:hover{background:rgba(220,53,69,.2)}.target-conditions-trait .entity-chip.chip-warning,.entity-selector-trait .entity-chip.chip-warning{background:#fff3cd;color:#a07800}.target-conditions-trait .entity-chip.chip-warning:hover,.entity-selector-trait .entity-chip.chip-warning:hover{background:rgba(255,193,7,.3)}.target-conditions-trait .entity-chip.loading,.target-conditions-trait .entity-chip-loading,.entity-selector-trait .entity-chip.loading,.entity-selector-trait .entity-chip-loading{opacity:.7}.target-conditions-trait .entity-chip.loading .chip-remove,.target-conditions-trait .entity-chip-loading .chip-remove,.entity-selector-trait .entity-chip.loading .chip-remove,.entity-selector-trait .entity-chip-loading .chip-remove{display:none}.target-conditions-trait .entity-chip.loading .chip-icon i,.target-conditions-trait .entity-chip-loading .chip-icon i,.entity-selector-trait .entity-chip.loading .chip-icon i,.entity-selector-trait .entity-chip-loading .chip-icon i{animation:spin .6s linear infinite}.target-conditions-trait .entity-chip.chip-hidden,.entity-selector-trait .entity-chip.chip-hidden{display:none}.target-conditions-trait .entity-chips.chips-collapsed,.target-conditions-trait .entity-chips.chips-expanded,.entity-selector-trait .entity-chips.chips-collapsed,.entity-selector-trait .entity-chips.chips-expanded{position:relative}.target-conditions-trait .chips-show-more-toggle,.entity-selector-trait .chips-show-more-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;color:#25b9d7;font-size:.75rem;font-weight:500;cursor:pointer;transition:color .15s ease-in-out}.target-conditions-trait .chips-show-more-toggle:hover,.entity-selector-trait .chips-show-more-toggle:hover{color:#1a9ab7}.target-conditions-trait .chips-show-more-toggle i,.entity-selector-trait .chips-show-more-toggle i{font-size:10px}.target-conditions-trait .chips-more,.entity-selector-trait .chips-more{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;background:#e2e8f0;color:#495057;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .chips-more:hover,.entity-selector-trait .chips-more:hover{background:#cbd5e1}.target-conditions-trait .chip-add-btn,.entity-selector-trait .chip-add-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .chip-add-btn:focus,.entity-selector-trait .chip-add-btn:focus{outline:none}.target-conditions-trait .chip-add-btn,.entity-selector-trait .chip-add-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:rgba(0,0,0,0);color:#25b9d7;font-size:.75rem;font-weight:500;border:1px dashed #25b9d7;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .chip-add-btn:hover,.entity-selector-trait .chip-add-btn:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .chip-add-btn i,.entity-selector-trait .chip-add-btn i{font-size:10px}.target-conditions-trait .entity-chips.inline,.entity-selector-trait .entity-chips.inline{display:inline-flex;padding:0;min-height:auto}.target-conditions-trait .entity-chips.inline .entity-chip,.entity-selector-trait .entity-chips.inline .entity-chip{padding:.125rem .375rem;font-size:11px}.target-conditions-trait .selected-chips-container,.entity-selector-trait .selected-chips-container{display:flex;flex-direction:column;gap:.25rem}.target-conditions-trait .selected-chips-label,.entity-selector-trait .selected-chips-label{font-size:.75rem;font-weight:500;color:#6c757d}.target-conditions-trait .entity-chip.chip-pattern,.entity-selector-trait .entity-chip.chip-pattern{background:#fef3c7;color:#92400e;font-family:monospace}.target-conditions-trait .entity-chip.chip-pattern:hover,.entity-selector-trait .entity-chip.chip-pattern:hover{background:#fde68a}.target-conditions-trait .entity-chip.chip-pattern .chip-icon,.entity-selector-trait .entity-chip.chip-pattern .chip-icon{color:#d97706}.target-conditions-trait .entity-chip.chip-range,.target-conditions-trait .range-chip,.entity-selector-trait .entity-chip.chip-range,.entity-selector-trait .range-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#ecfeff;color:#0891b2;font-size:.75rem;font-weight:500;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .entity-chip.chip-range:hover,.target-conditions-trait .range-chip:hover,.entity-selector-trait .entity-chip.chip-range:hover,.entity-selector-trait .range-chip:hover{background:#cffafe}.target-conditions-trait .range-chip-text,.entity-selector-trait .range-chip-text{font-family:monospace}.target-conditions-trait .btn-remove-range,.entity-selector-trait .btn-remove-range{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-range:focus,.entity-selector-trait .btn-remove-range:focus{outline:none}.target-conditions-trait .btn-remove-range,.entity-selector-trait .btn-remove-range{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#0891b2;border-radius:50%;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-range:hover,.entity-selector-trait .btn-remove-range:hover{background:rgba(0,0,0,.1);color:#dc3545}.target-conditions-trait .btn-remove-range i,.entity-selector-trait .btn-remove-range i{font-size:10px}.target-conditions-trait .multi-range-chips,.entity-selector-trait .multi-range-chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.25rem}.target-conditions-trait .multi-range-chips:empty,.entity-selector-trait .multi-range-chips:empty{display:none}.target-conditions-trait .pattern-chips,.entity-selector-trait .pattern-chips{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem 0;min-height:32px}.target-conditions-trait .pattern-chips:empty::before,.entity-selector-trait .pattern-chips:empty::before{content:attr(data-placeholder);color:#6c757d;font-size:.75rem;font-style:italic}.target-conditions-trait .pattern-tag,.entity-selector-trait .pattern-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fef3c7;color:#92400e;font-size:.75rem;font-weight:500;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .pattern-tag:hover,.entity-selector-trait .pattern-tag:hover{background:#fde68a}.target-conditions-trait .pattern-tag.case-sensitive .case-icon,.entity-selector-trait .pattern-tag.case-sensitive .case-icon{color:#28a745;font-weight:700}.target-conditions-trait .pattern-tag.draft-tag,.entity-selector-trait .pattern-tag.draft-tag{background:#fff;border:1px solid #dee2e6;padding:0;flex:1;min-width:150px}.target-conditions-trait .pattern-tag.draft-tag:hover,.entity-selector-trait .pattern-tag.draft-tag:hover{background:#fff}.target-conditions-trait .pattern-tag.draft-tag .pattern-input,.entity-selector-trait .pattern-tag.draft-tag .pattern-input{flex:1;min-width:100px;padding:.375rem;border:0;background:rgba(0,0,0,0);font-size:.875rem;font-family:inherit}.target-conditions-trait .pattern-tag.draft-tag .pattern-input:focus,.entity-selector-trait .pattern-tag.draft-tag .pattern-input:focus{outline:none}.target-conditions-trait .pattern-tag.draft-tag .pattern-input::placeholder,.entity-selector-trait .pattern-tag.draft-tag .pattern-input::placeholder{color:#6c757d;font-style:italic}.target-conditions-trait .pattern-tag-text,.entity-selector-trait .pattern-tag-text{font-family:monospace;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.target-conditions-trait .btn-toggle-case,.entity-selector-trait .btn-toggle-case{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-toggle-case:focus,.entity-selector-trait .btn-toggle-case:focus{outline:none}.target-conditions-trait .btn-toggle-case,.entity-selector-trait .btn-toggle-case{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-toggle-case:hover,.entity-selector-trait .btn-toggle-case:hover{background:rgba(0,0,0,.1)}.target-conditions-trait .case-icon,.entity-selector-trait .case-icon{font-size:11px;font-weight:600;font-family:monospace}.target-conditions-trait .btn-remove-pattern,.entity-selector-trait .btn-remove-pattern{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-pattern:focus,.entity-selector-trait .btn-remove-pattern:focus{outline:none}.target-conditions-trait .btn-remove-pattern,.entity-selector-trait .btn-remove-pattern{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:#d97706;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-pattern:hover,.entity-selector-trait .btn-remove-pattern:hover{background:rgba(0,0,0,.1);color:#dc3545}.target-conditions-trait .btn-remove-pattern i,.entity-selector-trait .btn-remove-pattern i{font-size:10px}.target-conditions-trait .btn-add-pattern,.entity-selector-trait .btn-add-pattern{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-pattern:focus,.entity-selector-trait .btn-add-pattern:focus{outline:none}.target-conditions-trait .btn-add-pattern,.entity-selector-trait .btn-add-pattern{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-pattern:hover,.entity-selector-trait .btn-add-pattern:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .btn-add-pattern i,.entity-selector-trait .btn-add-pattern i{font-size:12px}.target-conditions-trait .pattern-match-count,.entity-selector-trait .pattern-match-count{display:inline-flex;align-items:center;gap:.25rem;padding:0 .375rem;color:#6c757d;font-size:.75rem;cursor:pointer}.target-conditions-trait .pattern-match-count.count-zero,.entity-selector-trait .pattern-match-count.count-zero{color:#ffc107}.target-conditions-trait .pattern-match-count.count-found,.entity-selector-trait .pattern-match-count.count-found{color:#28a745}.target-conditions-trait .pattern-match-count .count-value,.entity-selector-trait .pattern-match-count .count-value{font-weight:600}.target-conditions-trait .pattern-input-row,.entity-selector-trait .pattern-input-row{display:flex;align-items:stretch;gap:.25rem}.target-conditions-trait .target-group,.entity-selector-trait .target-group{background:#fff;border:1px solid #dee2e6;border-radius:.3rem;overflow:hidden}.target-conditions-trait .target-group-header,.entity-selector-trait .target-group-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.target-conditions-trait .target-group-title,.entity-selector-trait .target-group-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#212529}.target-conditions-trait .target-group-title .group-number,.entity-selector-trait .target-group-title .group-number{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .25rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:700;border-radius:50rem}.target-conditions-trait .target-group-actions,.entity-selector-trait .target-group-actions{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .group-action-btn,.entity-selector-trait .group-action-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .group-action-btn:focus,.entity-selector-trait .group-action-btn:focus{outline:none}.target-conditions-trait .group-action-btn,.entity-selector-trait .group-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .group-action-btn:hover,.entity-selector-trait .group-action-btn:hover{background:#e2e8f0;color:#495057}.target-conditions-trait .group-action-btn.danger:hover,.entity-selector-trait .group-action-btn.danger:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .target-group-body,.target-conditions-trait .group-body,.entity-selector-trait .target-group-body,.entity-selector-trait .group-body{padding:1rem}.target-conditions-trait .include-section,.entity-selector-trait .include-section{margin-bottom:1rem}.target-conditions-trait .section-label,.entity-selector-trait .section-label{display:flex;align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.target-conditions-trait .section-label.label-include,.entity-selector-trait .section-label.label-include{color:#1e7e34}.target-conditions-trait .section-label.label-include i,.entity-selector-trait .section-label.label-include i{color:#28a745}.target-conditions-trait .section-label.label-exclude,.entity-selector-trait .section-label.label-exclude{color:#dc3545}.target-conditions-trait .section-label.label-exclude i,.entity-selector-trait .section-label.label-exclude i{color:#dc3545}.target-conditions-trait .method-selector,.entity-selector-trait .method-selector{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.target-conditions-trait .method-selector-wrapper,.entity-selector-trait .method-selector-wrapper{flex:1;position:relative}.target-conditions-trait .method-select,.entity-selector-trait .method-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .method-select:focus,.entity-selector-trait .method-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .method-select::placeholder,.entity-selector-trait .method-select::placeholder{color:#adb5bd}.target-conditions-trait .method-select,.entity-selector-trait .method-select{padding-right:2rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em}.target-conditions-trait .method-help-btn,.entity-selector-trait .method-help-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .method-help-btn:focus,.entity-selector-trait .method-help-btn:focus{outline:none}.target-conditions-trait .method-help-btn,.entity-selector-trait .method-help-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .method-help-btn:hover,.entity-selector-trait .method-help-btn:hover{background:#f1f5f9;color:#25b9d7}.target-conditions-trait .value-picker,.entity-selector-trait .value-picker{position:relative}.target-conditions-trait .value-picker-trigger,.entity-selector-trait .value-picker-trigger{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .value-picker-trigger:focus,.entity-selector-trait .value-picker-trigger:focus{outline:none}.target-conditions-trait .value-picker-trigger,.entity-selector-trait .value-picker-trigger{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:#fff;border:1px solid #dee2e6;border-radius:.25rem;color:#6c757d;font-size:.875rem;text-align:left;transition:all .15s ease-in-out}.target-conditions-trait .value-picker-trigger:hover,.entity-selector-trait .value-picker-trigger:hover{border-color:#cbd5e1}.target-conditions-trait .value-picker-trigger:focus,.entity-selector-trait .value-picker-trigger:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .value-picker-trigger i,.entity-selector-trait .value-picker-trigger i{color:#adb5bd}.target-conditions-trait .pattern-input-wrapper,.entity-selector-trait .pattern-input-wrapper{position:relative}.target-conditions-trait .pattern-input,.entity-selector-trait .pattern-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .pattern-input:focus,.entity-selector-trait .pattern-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .pattern-input::placeholder,.entity-selector-trait .pattern-input::placeholder{color:#adb5bd}.target-conditions-trait .pattern-input,.entity-selector-trait .pattern-input{font-family:monospace}.target-conditions-trait .pattern-add-btn,.entity-selector-trait .pattern-add-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .pattern-add-btn:focus,.entity-selector-trait .pattern-add-btn:focus{outline:none}.target-conditions-trait .pattern-add-btn,.entity-selector-trait .pattern-add-btn{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .pattern-add-btn:hover,.entity-selector-trait .pattern-add-btn:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .multi-range-container,.entity-selector-trait .multi-range-container{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .range-row,.entity-selector-trait .range-row{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .range-input,.entity-selector-trait .range-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .range-input:focus,.entity-selector-trait .range-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .range-input::placeholder,.entity-selector-trait .range-input::placeholder{color:#adb5bd}.target-conditions-trait .range-input,.entity-selector-trait .range-input{width:100px;text-align:center}.target-conditions-trait .range-separator,.entity-selector-trait .range-separator{color:#6c757d;font-size:.875rem}.target-conditions-trait .range-remove-btn,.entity-selector-trait .range-remove-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .range-remove-btn:focus,.entity-selector-trait .range-remove-btn:focus{outline:none}.target-conditions-trait .range-remove-btn,.entity-selector-trait .range-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .range-remove-btn:hover,.entity-selector-trait .range-remove-btn:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .range-add-btn,.entity-selector-trait .range-add-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .range-add-btn:focus,.entity-selector-trait .range-add-btn:focus{outline:none}.target-conditions-trait .range-add-btn,.entity-selector-trait .range-add-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;color:#25b9d7;font-size:.75rem;font-weight:500;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .range-add-btn:hover,.entity-selector-trait .range-add-btn:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .multi-select-tiles,.entity-selector-trait .multi-select-tiles{display:flex;flex-wrap:wrap;gap:.25rem}.target-conditions-trait .multi-select-tile,.entity-selector-trait .multi-select-tile{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .multi-select-tile:focus,.entity-selector-trait .multi-select-tile:focus{outline:none}.target-conditions-trait .multi-select-tile,.entity-selector-trait .multi-select-tile{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:#f1f5f9;color:#495057;font-size:.75rem;font-weight:500;border:1px solid rgba(0,0,0,0);border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .multi-select-tile:hover,.entity-selector-trait .multi-select-tile:hover{background:#e2e8f0}.target-conditions-trait .multi-select-tile.selected,.entity-selector-trait .multi-select-tile.selected{background:rgba(37,185,215,.1);color:#25b9d7;border-color:#25b9d7}.target-conditions-trait .exclude-section,.entity-selector-trait .exclude-section{margin-top:1rem;padding-top:1rem;border-top:1px dashed #dee2e6}.target-conditions-trait .exclude-rows,.entity-selector-trait .exclude-rows{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .exclude-row-content,.entity-selector-trait .exclude-row-content{flex:1}.target-conditions-trait .exclude-remove-btn,.entity-selector-trait .exclude-remove-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .exclude-remove-btn:focus,.entity-selector-trait .exclude-remove-btn:focus{outline:none}.target-conditions-trait .exclude-remove-btn,.entity-selector-trait .exclude-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;flex-shrink:0;transition:all .15s ease-in-out}.target-conditions-trait .exclude-remove-btn:hover,.entity-selector-trait .exclude-remove-btn:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .add-exclude-btn,.entity-selector-trait .add-exclude-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .add-exclude-btn:focus,.entity-selector-trait .add-exclude-btn:focus{outline:none}.target-conditions-trait .add-exclude-btn,.entity-selector-trait .add-exclude-btn{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.25rem .5rem;color:#dc3545;font-size:.75rem;font-weight:500;border:1px dashed #dc3545;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .add-exclude-btn:hover,.entity-selector-trait .add-exclude-btn:hover{background:#f8d7da}.target-conditions-trait .btn-add-group,.entity-selector-trait .btn-add-group{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-group:focus,.entity-selector-trait .btn-add-group:focus{outline:none}.target-conditions-trait .btn-add-group,.entity-selector-trait .btn-add-group{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;color:#25b9d7;font-size:.875rem;font-weight:500;background:rgba(37,185,215,.05);border:1px dashed #25b9d7;border-radius:.375rem;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-group:hover,.entity-selector-trait .btn-add-group:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .btn-add-group i,.entity-selector-trait .btn-add-group i{font-size:12px}.target-conditions-trait .block-footer,.entity-selector-trait .block-footer{display:flex;align-items:center;gap:.5rem;padding:1rem;border-top:1px solid #dee2e6}.target-conditions-trait .block-body,.entity-selector-trait .block-body{padding:0}.target-conditions-trait .groups-container,.entity-selector-trait .groups-container{padding:1rem}.target-conditions-trait .groups-empty-state,.entity-selector-trait .groups-empty-state{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6c757d;font-size:.875rem}.target-conditions-trait .selection-group,.entity-selector-trait .selection-group{background:#fff;border:1px solid #dee2e6;border-radius:.3rem;margin-bottom:1rem}.target-conditions-trait .selection-group:last-child,.entity-selector-trait .selection-group:last-child{margin-bottom:0}.target-conditions-trait .selection-group.collapsed .group-body,.entity-selector-trait .selection-group.collapsed .group-body{display:none}.target-conditions-trait .selection-group.collapsed .group-collapse-toggle i,.entity-selector-trait .selection-group.collapsed .group-collapse-toggle i{transform:rotate(-90deg)}.target-conditions-trait .group-header,.entity-selector-trait .group-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;cursor:pointer}.target-conditions-trait .group-header.group-header-single,.entity-selector-trait .group-header.group-header-single{padding:.25rem 1rem;background:rgba(0,0,0,0);border-bottom:none}.target-conditions-trait .group-collapse-toggle,.entity-selector-trait .group-collapse-toggle{display:flex;align-items:center;justify-content:center;width:20px;color:#6c757d}.target-conditions-trait .group-collapse-toggle i,.entity-selector-trait .group-collapse-toggle i{transition:transform .15s ease-in-out}.target-conditions-trait .group-name-wrapper,.entity-selector-trait .group-name-wrapper{flex:1;display:flex;align-items:center;gap:.5rem}.target-conditions-trait .group-name-input,.entity-selector-trait .group-name-input{flex:1;padding:.25rem .5rem;font-size:.875rem;font-weight:600;color:#212529;background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .group-name-input:hover,.target-conditions-trait .group-name-input:focus,.entity-selector-trait .group-name-input:hover,.entity-selector-trait .group-name-input:focus{background:#fff;border-color:#dee2e6;outline:none}.target-conditions-trait .group-name-input::placeholder,.entity-selector-trait .group-name-input::placeholder{color:#6c757d;font-weight:500}.target-conditions-trait .group-count-badge,.entity-selector-trait .group-count-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .group-count-badge:hover,.entity-selector-trait .group-count-badge:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .group-count-badge:focus,.entity-selector-trait .group-count-badge:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .group-count-badge.loading,.entity-selector-trait .group-count-badge.loading{cursor:wait}.target-conditions-trait .group-count-badge.loading i,.entity-selector-trait .group-count-badge.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .group-count-badge.loading:hover,.entity-selector-trait .group-count-badge.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .group-count-badge.inactive,.target-conditions-trait .group-count-badge.no-matches,.entity-selector-trait .group-count-badge.inactive,.entity-selector-trait .group-count-badge.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .group-count-badge.inactive:hover,.target-conditions-trait .group-count-badge.no-matches:hover,.entity-selector-trait .group-count-badge.inactive:hover,.entity-selector-trait .group-count-badge.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .group-count-badge.popover-open,.entity-selector-trait .group-count-badge.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .group-count-badge i,.entity-selector-trait .group-count-badge i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .group-count-badge:hover i,.entity-selector-trait .group-count-badge:hover i{opacity:1}.target-conditions-trait .group-count-badge .preview-count,.entity-selector-trait .group-count-badge .preview-count{font-weight:700}.target-conditions-trait .btn-remove-group,.entity-selector-trait .btn-remove-group{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-group:focus,.entity-selector-trait .btn-remove-group:focus{outline:none}.target-conditions-trait .btn-remove-group,.entity-selector-trait .btn-remove-group{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-group:hover,.entity-selector-trait .btn-remove-group:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .group-include,.entity-selector-trait .group-include{margin-bottom:1rem;padding:.5rem;background:rgba(40,167,69,.03);border:1px solid rgba(40,167,69,.2);border-radius:.25rem}.target-conditions-trait .section-row,.entity-selector-trait .section-row{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .method-selector-wrapper,.entity-selector-trait .method-selector-wrapper{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .method-info-placeholder,.entity-selector-trait .method-info-placeholder{display:flex;align-items:center;min-width:20px}.target-conditions-trait .include-method-select,.target-conditions-trait .exclude-method-select,.entity-selector-trait .include-method-select,.entity-selector-trait .exclude-method-select{flex:1;width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .include-method-select:focus,.target-conditions-trait .exclude-method-select:focus,.entity-selector-trait .include-method-select:focus,.entity-selector-trait .exclude-method-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .include-method-select::placeholder,.target-conditions-trait .exclude-method-select::placeholder,.entity-selector-trait .include-method-select::placeholder,.entity-selector-trait .exclude-method-select::placeholder{color:#adb5bd}.target-conditions-trait .include-method-select,.target-conditions-trait .exclude-method-select,.entity-selector-trait .include-method-select,.entity-selector-trait .exclude-method-select{cursor:pointer}.target-conditions-trait .selector-locked .include-method-select,.entity-selector-trait .selector-locked .include-method-select{opacity:.7;cursor:not-allowed}.target-conditions-trait .lock-indicator,.entity-selector-trait .lock-indicator{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#ffc107;cursor:help}.target-conditions-trait .lock-indicator i,.entity-selector-trait .lock-indicator i{font-size:14px}.target-conditions-trait .lock-indicator .mpr-tooltip,.entity-selector-trait .lock-indicator .mpr-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:.25rem .5rem;background:#1e293b;color:#fff;font-size:.75rem;font-weight:400;white-space:nowrap;border-radius:.2rem;z-index:100}.target-conditions-trait .lock-indicator:hover .mpr-tooltip,.entity-selector-trait .lock-indicator:hover .mpr-tooltip{display:block}.target-conditions-trait .group-excludes,.entity-selector-trait .group-excludes{margin-top:1rem}.target-conditions-trait .except-separator,.entity-selector-trait .except-separator{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem 0}.target-conditions-trait .except-separator::before,.target-conditions-trait .except-separator::after,.entity-selector-trait .except-separator::before,.entity-selector-trait .except-separator::after{content:"";flex:1;height:1px;background:rgba(220,53,69,.3)}.target-conditions-trait .except-label,.entity-selector-trait .except-label{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:#f8d7da;color:#dc3545;font-size:.75rem;font-weight:600;border-radius:50rem;white-space:nowrap;flex-shrink:0}.target-conditions-trait .except-label i,.entity-selector-trait .except-label i{font-size:10px}.target-conditions-trait .exclude-rows-container,.entity-selector-trait .exclude-rows-container{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .exclude-row,.entity-selector-trait .exclude-row{display:flex;flex-direction:column;padding:.5rem;background:rgba(220,53,69,.03);border:1px solid rgba(220,53,69,.15);border-radius:.25rem}.target-conditions-trait .exclude-row .value-picker,.entity-selector-trait .exclude-row .value-picker{width:100%;margin-top:.5rem}.target-conditions-trait .exclude-header-row,.entity-selector-trait .exclude-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.target-conditions-trait .exclude-header-row .method-selector-wrapper,.entity-selector-trait .exclude-header-row .method-selector-wrapper{flex:1}.target-conditions-trait .exclude-header-row .btn-remove-exclude-row,.entity-selector-trait .exclude-header-row .btn-remove-exclude-row{flex-shrink:0;margin-left:auto}.target-conditions-trait .btn-remove-exclude-row,.entity-selector-trait .btn-remove-exclude-row{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-exclude-row:focus,.entity-selector-trait .btn-remove-exclude-row:focus{outline:none}.target-conditions-trait .btn-remove-exclude-row,.entity-selector-trait .btn-remove-exclude-row{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-exclude-row:hover,.entity-selector-trait .btn-remove-exclude-row:hover{background:#f8d7da;color:#dc3545}.target-conditions-trait .btn-add-exclude,.target-conditions-trait .btn-add-another-exclude,.entity-selector-trait .btn-add-exclude,.entity-selector-trait .btn-add-another-exclude{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-exclude:focus,.target-conditions-trait .btn-add-another-exclude:focus,.entity-selector-trait .btn-add-exclude:focus,.entity-selector-trait .btn-add-another-exclude:focus{outline:none}.target-conditions-trait .btn-add-exclude,.target-conditions-trait .btn-add-another-exclude,.entity-selector-trait .btn-add-exclude,.entity-selector-trait .btn-add-another-exclude{display:inline-flex;align-items:center;gap:.25rem;margin-top:.5rem;padding:.375rem .625rem;color:#dc3545;font-size:.75rem;font-weight:500;background:rgba(0,0,0,0);border:1px dashed rgba(220,53,69,.5);border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-exclude:hover,.target-conditions-trait .btn-add-another-exclude:hover,.entity-selector-trait .btn-add-exclude:hover,.entity-selector-trait .btn-add-another-exclude:hover{background:#f8d7da;border-color:#dc3545}.target-conditions-trait .btn-add-exclude i,.target-conditions-trait .btn-add-another-exclude i,.entity-selector-trait .btn-add-exclude i,.entity-selector-trait .btn-add-another-exclude i{font-size:10px}.target-conditions-trait .group-modifiers,.entity-selector-trait .group-modifiers{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 1rem;margin:1rem -1rem -1rem;background:#f8fafc;border-top:1px solid #dee2e6;border-radius:0 0 .3rem .3rem}.target-conditions-trait .modifier-inline,.entity-selector-trait .modifier-inline{display:flex;align-items:center;gap:.375rem}.target-conditions-trait .group-modifier-limit,.entity-selector-trait .group-modifier-limit{width:50px;max-width:50px;height:26px;padding:0 .375rem;font-size:.75rem;text-align:center;border:1px solid #dee2e6;border-radius:.2rem}.target-conditions-trait .group-modifier-limit:focus,.entity-selector-trait .group-modifier-limit:focus{border-color:#25b9d7;outline:none}.target-conditions-trait .modifier-sort,.entity-selector-trait .modifier-sort{gap:0}.target-conditions-trait .modifier-sort .modifier-label,.entity-selector-trait .modifier-sort .modifier-label{margin-right:.375rem}.target-conditions-trait .modifier-sort .group-modifier-sort,.entity-selector-trait .modifier-sort .group-modifier-sort{height:26px;padding:0 .5rem;font-size:.75rem;border:1px solid #dee2e6;border-radius:.2rem 0 0 .2rem;border-right:none;cursor:pointer}.target-conditions-trait .modifier-sort .group-modifier-sort:focus,.entity-selector-trait .modifier-sort .group-modifier-sort:focus{border-color:#25b9d7;outline:none;position:relative;z-index:1}.target-conditions-trait .modifier-sort .btn-sort-dir,.entity-selector-trait .modifier-sort .btn-sort-dir{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .modifier-sort .btn-sort-dir:focus,.entity-selector-trait .modifier-sort .btn-sort-dir:focus{outline:none}.target-conditions-trait .modifier-sort .btn-sort-dir,.entity-selector-trait .modifier-sort .btn-sort-dir{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:#6c757d;background:#f1f5f9;border:1px solid #dee2e6;border-radius:0 .2rem .2rem 0;transition:all .15s ease-in-out}.target-conditions-trait .modifier-sort .btn-sort-dir:hover,.entity-selector-trait .modifier-sort .btn-sort-dir:hover{background:#e2e8f0;color:#495057}.target-conditions-trait .modifier-sort .btn-sort-dir i,.entity-selector-trait .modifier-sort .btn-sort-dir i{font-size:11px}.target-conditions-trait .group-modifier-sort,.entity-selector-trait .group-modifier-sort{height:26px;padding:0 .5rem;font-size:.75rem;border:1px solid #dee2e6;border-radius:.2rem;cursor:pointer}.target-conditions-trait .group-modifier-sort:focus,.entity-selector-trait .group-modifier-sort:focus{border-color:#25b9d7;outline:none}.target-conditions-trait .btn-sort-dir,.entity-selector-trait .btn-sort-dir{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-sort-dir:focus,.entity-selector-trait .btn-sort-dir:focus{outline:none}.target-conditions-trait .btn-sort-dir,.entity-selector-trait .btn-sort-dir{display:flex;align-items:center;justify-content:center;width:26px;height:26px;color:#6c757d;border:1px solid #dee2e6;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-sort-dir:hover,.entity-selector-trait .btn-sort-dir:hover{background:#f1f5f9;color:#495057}.target-conditions-trait .group-preview-badge,.entity-selector-trait .group-preview-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#f1f5f9;color:#6c757d;font-size:.75rem;font-weight:500;border-radius:50rem;transition:all .15s ease-in-out}.target-conditions-trait .group-preview-badge.clickable,.entity-selector-trait .group-preview-badge.clickable{cursor:pointer}.target-conditions-trait .group-preview-badge.clickable:hover,.entity-selector-trait .group-preview-badge.clickable:hover{background:rgba(37,185,215,.1);color:#25b9d7}.target-conditions-trait .group-separator,.entity-selector-trait .group-separator{display:flex;align-items:center;justify-content:center;padding:.5rem 0;color:#6c757d;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}.target-conditions-trait .group-separator::before,.target-conditions-trait .group-separator::after,.entity-selector-trait .group-separator::before,.entity-selector-trait .group-separator::after{content:"";flex:1;height:1px;background:#dee2e6;margin:0 1rem}.target-conditions-trait .group-modifiers,.entity-selector-trait .group-modifiers{display:flex;flex-wrap:wrap;gap:1rem;padding-top:1rem;margin-top:1rem;border-top:1px solid #dee2e6}.target-conditions-trait .modifier-group,.entity-selector-trait .modifier-group{display:flex;align-items:center;gap:.5rem}.target-conditions-trait .modifier-label,.entity-selector-trait .modifier-label{font-size:.75rem;font-weight:500;color:#6c757d;white-space:nowrap}.target-conditions-trait .modifier-input,.entity-selector-trait .modifier-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .modifier-input:focus,.entity-selector-trait .modifier-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .modifier-input::placeholder,.entity-selector-trait .modifier-input::placeholder{color:#adb5bd}.target-conditions-trait .modifier-input,.entity-selector-trait .modifier-input{width:80px;padding:.25rem .5rem;font-size:.75rem}.target-conditions-trait .modifier-select,.entity-selector-trait .modifier-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .modifier-select:focus,.entity-selector-trait .modifier-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .modifier-select::placeholder,.entity-selector-trait .modifier-select::placeholder{color:#adb5bd}.target-conditions-trait .modifier-select,.entity-selector-trait .modifier-select{width:auto;padding:.25rem 1.5rem .25rem .5rem;font-size:.75rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .25rem center;background-repeat:no-repeat;background-size:1.25em 1.25em}.target-conditions-trait .condition-match-count,.entity-selector-trait .condition-match-count{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;background:#f1f5f9;color:#6c757d;font-size:.75rem;font-weight:500;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .condition-match-count:hover,.entity-selector-trait .condition-match-count:hover{background:#e2e8f0}.target-conditions-trait .condition-match-count.has-results,.entity-selector-trait .condition-match-count.has-results{background:rgba(37,185,215,.1);color:#25b9d7}.target-conditions-trait .condition-match-count i,.entity-selector-trait .condition-match-count i{font-size:10px}.target-conditions-trait .value-picker,.entity-selector-trait .value-picker{padding:.5rem 0}.target-conditions-trait .value-picker[style*="display: none"],.target-conditions-trait .value-picker[style*="display:none"],.entity-selector-trait .value-picker[style*="display: none"],.entity-selector-trait .value-picker[style*="display:none"]{padding:0}.target-conditions-trait .entity-search-box,.entity-selector-trait .entity-search-box{position:relative;display:flex;align-items:center;gap:.5rem;padding:.25rem;background:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .entity-search-box:focus-within,.entity-selector-trait .entity-search-box:focus-within{border-color:#25b9d7;box-shadow:0 0 0 2px rgba(37,185,215,.1)}.target-conditions-trait .chips-wrapper+.entity-search-box,.entity-selector-trait .chips-wrapper+.entity-search-box{margin-top:1rem}.target-conditions-trait .entity-search-icon,.entity-selector-trait .entity-search-icon{color:#6c757d;font-size:14px;flex-shrink:0;margin-left:.25rem}.target-conditions-trait input.entity-search-input,.target-conditions-trait input.entity-search-input[type=text],.entity-selector-trait input.entity-search-input,.entity-selector-trait input.entity-search-input[type=text]{padding:0;margin:0;background:none;border:none;font:inherit;color:inherit}.target-conditions-trait input.entity-search-input:focus,.target-conditions-trait input.entity-search-input[type=text]:focus,.entity-selector-trait input.entity-search-input:focus,.entity-selector-trait input.entity-search-input[type=text]:focus{outline:none}.target-conditions-trait input.entity-search-input,.target-conditions-trait input.entity-search-input[type=text],.entity-selector-trait input.entity-search-input,.entity-selector-trait input.entity-search-input[type=text]{flex:1;min-width:0;width:auto !important;max-width:none !important;padding:.375rem;font-size:.875rem;color:#212529;border:none !important;background:rgba(0,0,0,0) !important;box-shadow:none !important}.target-conditions-trait input.entity-search-input::placeholder,.target-conditions-trait input.entity-search-input[type=text]::placeholder,.entity-selector-trait input.entity-search-input::placeholder,.entity-selector-trait input.entity-search-input[type=text]::placeholder{color:#6c757d}.target-conditions-trait input.entity-search-input:focus,.target-conditions-trait input.entity-search-input[type=text]:focus,.entity-selector-trait input.entity-search-input:focus,.entity-selector-trait input.entity-search-input[type=text]:focus{border:none !important;box-shadow:none !important;outline:none}.target-conditions-trait .search-loading,.entity-selector-trait .search-loading{display:flex;align-items:center;justify-content:center;color:#25b9d7}.target-conditions-trait .search-loading i,.entity-selector-trait .search-loading i{animation:spin .6s linear infinite}.target-conditions-trait .btn-browse-tree,.entity-selector-trait .btn-browse-tree{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-browse-tree:focus,.entity-selector-trait .btn-browse-tree:focus{outline:none}.target-conditions-trait .btn-browse-tree,.entity-selector-trait .btn-browse-tree{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;color:#25b9d7;background:rgba(37,185,215,.1);border-radius:.2rem;flex-shrink:0;transition:all .15s ease-in-out}.target-conditions-trait .btn-browse-tree:hover,.entity-selector-trait .btn-browse-tree:hover{background:#25b9d7;color:#fff}.target-conditions-trait .btn-browse-tree i,.entity-selector-trait .btn-browse-tree i{font-size:14px}.target-conditions-trait .numeric-range-box,.target-conditions-trait .multi-range-input-row,.entity-selector-trait .numeric-range-box,.entity-selector-trait .multi-range-input-row{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .range-min-input,.target-conditions-trait .range-max-input,.entity-selector-trait .range-min-input,.entity-selector-trait .range-max-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .range-min-input:focus,.target-conditions-trait .range-max-input:focus,.entity-selector-trait .range-min-input:focus,.entity-selector-trait .range-max-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .range-min-input::placeholder,.target-conditions-trait .range-max-input::placeholder,.entity-selector-trait .range-min-input::placeholder,.entity-selector-trait .range-max-input::placeholder{color:#adb5bd}.target-conditions-trait .range-min-input,.target-conditions-trait .range-max-input,.entity-selector-trait .range-min-input,.entity-selector-trait .range-max-input{width:100px;padding:.5rem;text-align:center;font-size:.875rem}.target-conditions-trait .range-min-input::-webkit-inner-spin-button,.target-conditions-trait .range-min-input::-webkit-outer-spin-button,.target-conditions-trait .range-max-input::-webkit-inner-spin-button,.target-conditions-trait .range-max-input::-webkit-outer-spin-button,.entity-selector-trait .range-min-input::-webkit-inner-spin-button,.entity-selector-trait .range-min-input::-webkit-outer-spin-button,.entity-selector-trait .range-max-input::-webkit-inner-spin-button,.entity-selector-trait .range-max-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.target-conditions-trait .range-min-input,.target-conditions-trait .range-max-input,.entity-selector-trait .range-min-input,.entity-selector-trait .range-max-input{-moz-appearance:textfield}.target-conditions-trait .range-separator,.entity-selector-trait .range-separator{color:#6c757d;font-size:.875rem;font-weight:500}.target-conditions-trait .btn-add-range,.entity-selector-trait .btn-add-range{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-range:focus,.entity-selector-trait .btn-add-range:focus{outline:none}.target-conditions-trait .btn-add-range,.entity-selector-trait .btn-add-range{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#fff;background:#25b9d7;border-radius:.25rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-range:hover,.entity-selector-trait .btn-add-range:hover{background:#1a9ab7}.target-conditions-trait .btn-add-range i,.entity-selector-trait .btn-add-range i{font-size:12px}.target-conditions-trait .multi-range-container,.entity-selector-trait .multi-range-container{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .date-range-box,.entity-selector-trait .date-range-box{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .date-from-input,.target-conditions-trait .date-to-input,.entity-selector-trait .date-from-input,.entity-selector-trait .date-to-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .date-from-input:focus,.target-conditions-trait .date-to-input:focus,.entity-selector-trait .date-from-input:focus,.entity-selector-trait .date-to-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .date-from-input::placeholder,.target-conditions-trait .date-to-input::placeholder,.entity-selector-trait .date-from-input::placeholder,.entity-selector-trait .date-to-input::placeholder{color:#adb5bd}.target-conditions-trait .date-from-input,.target-conditions-trait .date-to-input,.entity-selector-trait .date-from-input,.entity-selector-trait .date-to-input{width:140px;padding:.5rem;font-size:.875rem}.target-conditions-trait .multi-select-tiles,.entity-selector-trait .multi-select-tiles{display:flex;flex-wrap:wrap;gap:.25rem}.target-conditions-trait .tile-option,.entity-selector-trait .tile-option{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .tile-option:focus,.entity-selector-trait .tile-option:focus{outline:none}.target-conditions-trait .tile-option,.entity-selector-trait .tile-option{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;color:#495057;background:#f1f5f9;border:1px solid rgba(0,0,0,0);border-radius:.2rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out}.target-conditions-trait .tile-option:hover,.entity-selector-trait .tile-option:hover{background:#e2e8f0}.target-conditions-trait .tile-option.selected,.entity-selector-trait .tile-option.selected{color:#25b9d7;background:rgba(37,185,215,.1);border-color:#25b9d7}.target-conditions-trait .tile-option i,.entity-selector-trait .tile-option i{font-size:12px}.target-conditions-trait .tile-label,.entity-selector-trait .tile-label{white-space:nowrap}.target-conditions-trait .select-input-box,.entity-selector-trait .select-input-box{display:inline-block}.target-conditions-trait .select-value-input,.entity-selector-trait .select-value-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-conditions-trait .select-value-input:focus,.entity-selector-trait .select-value-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-conditions-trait .select-value-input::placeholder,.entity-selector-trait .select-value-input::placeholder{color:#adb5bd}.target-conditions-trait .select-value-input,.entity-selector-trait .select-value-input{padding:.5rem 1rem;font-size:.875rem;min-width:150px}.target-conditions-trait .boolean-input-box,.entity-selector-trait .boolean-input-box{display:inline-flex;align-items:center;padding:.5rem 1rem;background:#d4edda;color:#1e7e34;border-radius:.25rem;font-size:.875rem;font-weight:500}.target-conditions-trait .boolean-label,.entity-selector-trait .boolean-label{display:flex;align-items:center;gap:.25rem}.target-conditions-trait .boolean-label::before,.entity-selector-trait .boolean-label::before{content:"✓";font-weight:bold}.target-conditions-trait .condition-match-count,.entity-selector-trait .condition-match-count{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.target-conditions-trait .condition-match-count:hover,.entity-selector-trait .condition-match-count:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .condition-match-count:focus,.entity-selector-trait .condition-match-count:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .condition-match-count.loading,.entity-selector-trait .condition-match-count.loading{cursor:wait}.target-conditions-trait .condition-match-count.loading i,.entity-selector-trait .condition-match-count.loading i{font-size:10px;animation:spin .6s linear infinite}.target-conditions-trait .condition-match-count.loading:hover,.entity-selector-trait .condition-match-count.loading:hover{transform:none;box-shadow:none}.target-conditions-trait .condition-match-count.inactive,.target-conditions-trait .condition-match-count.no-matches,.entity-selector-trait .condition-match-count.inactive,.entity-selector-trait .condition-match-count.no-matches{background:#94a3b8;cursor:default}.target-conditions-trait .condition-match-count.inactive:hover,.target-conditions-trait .condition-match-count.no-matches:hover,.entity-selector-trait .condition-match-count.inactive:hover,.entity-selector-trait .condition-match-count.no-matches:hover{transform:none;box-shadow:none}.target-conditions-trait .condition-match-count.popover-open,.entity-selector-trait .condition-match-count.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.target-conditions-trait .condition-match-count i,.entity-selector-trait .condition-match-count i{font-size:10px;line-height:1;opacity:.8}.target-conditions-trait .condition-match-count:hover i,.entity-selector-trait .condition-match-count:hover i{opacity:1}.target-conditions-trait .condition-match-count .preview-count,.entity-selector-trait .condition-match-count .preview-count{font-weight:700}.target-conditions-trait .condition-match-count,.entity-selector-trait .condition-match-count{margin-left:.5rem}.mpr-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1050;opacity:0;transition:opacity .2s ease-in-out}.mpr-modal-backdrop.show{opacity:1}.mpr-modal{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.95);z-index:1051;width:90%;max-width:600px;max-height:90vh;background:#fff;border-radius:.5rem;box-shadow:0 1.5rem 4rem rgba(0,0,0,.2);opacity:0;transition:all .2s ease-in-out;overflow:hidden;display:flex;flex-direction:column}.mpr-modal.show{opacity:1;transform:translate(-50%, -50%) scale(1)}.mpr-modal.modal-sm{max-width:400px}.mpr-modal.modal-lg{max-width:800px}.mpr-modal.modal-xl{max-width:1000px}.mpr-modal.modal-fullscreen{width:95%;max-width:none;height:90vh;max-height:none}.mpr-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;flex-shrink:0}.mpr-modal-title{font-size:1rem;font-weight:600;color:#212529;margin:0}.mpr-modal-close{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.mpr-modal-close:focus{outline:none}.mpr-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#6c757d;border-radius:.25rem;transition:all .15s ease-in-out}.mpr-modal-close:hover{background:#e2e8f0;color:#495057}.mpr-modal-close i{font-size:1.125rem}.mpr-modal-body{flex:1;overflow-y:auto;padding:1.5rem}.mpr-modal-body::-webkit-scrollbar{width:6px;height:6px}.mpr-modal-body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.mpr-modal-body::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.mpr-modal-body::-webkit-scrollbar-thumb:hover{background:#ced4da}.mpr-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;background:#f8f9fa;border-top:1px solid #dee2e6;flex-shrink:0}.mpr-modal-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.mpr-modal-btn:focus{outline:none}.mpr-modal-btn{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:.25rem;transition:all .15s ease-in-out}.mpr-modal-btn.btn-secondary{color:#495057;background:#f1f5f9}.mpr-modal-btn.btn-secondary:hover{background:#e2e8f0}.mpr-modal-btn.btn-primary{color:#fff;background:#25b9d7}.mpr-modal-btn.btn-primary:hover{background:#1a9ab7}.mpr-modal-btn.btn-danger{color:#fff;background:#dc3545}.mpr-modal-btn.btn-danger:hover{background:rgb(189.2151898734,32.7848101266,47.7721518987)}.mpr-modal-btn:disabled{opacity:.5;cursor:not-allowed}.popover-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0}.popover-title{font-size:.875rem;font-weight:600;color:#212529}.popover-close{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.popover-close:focus{outline:none}.popover-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.popover-close:hover{background:#e2e8f0;color:#495057}.popover-body{max-height:300px;overflow-y:auto;padding:.5rem}.popover-body::-webkit-scrollbar{width:6px;height:6px}.popover-body::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.popover-body::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.popover-body::-webkit-scrollbar-thumb:hover{background:#ced4da}.popover-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border-top:1px solid #dee2e6;border-radius:0 0 .3rem .3rem}.popover-info{font-size:.75rem;color:#6c757d}.popover-load-more{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.popover-load-more:focus{outline:none}.popover-load-more{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.popover-load-more:hover{background:rgba(37,185,215,.1)}.popover-arrow{position:absolute;width:12px;height:12px;background:#fff;border:1px solid #dee2e6;transform:rotate(45deg)}.popover-arrow.arrow-top{top:-7px;left:50%;margin-left:-6px;border-right:none;border-bottom:none}.popover-arrow.arrow-bottom{bottom:-7px;left:50%;margin-left:-6px;border-left:none;border-top:none}.target-preview-popover{position:absolute;z-index:10000;min-width:280px;max-width:400px;background:#fff;border:1px solid #dee2e6;border-radius:.3rem;box-shadow:0 1rem 3rem rgba(0,0,0,.175);overflow:hidden}.target-preview-popover::before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);border-left:8px solid rgba(0,0,0,0);border-right:8px solid rgba(0,0,0,0);border-bottom:8px solid #dee2e6}.target-preview-popover::after{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-left:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,0);border-bottom:6px solid #fff}.target-preview-popover .preview-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.target-preview-popover .preview-header .preview-count{font-size:.875rem;font-weight:600;color:#212529}.target-preview-popover .preview-header .preview-close{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-preview-popover .preview-header .preview-close:focus{outline:none}.target-preview-popover .preview-header .preview-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-preview-popover .preview-header .preview-close:hover{background:#e2e8f0;color:#212529}.target-preview-popover .preview-list{max-height:300px;overflow-y:auto}.target-preview-popover .preview-list::-webkit-scrollbar{width:6px;height:6px}.target-preview-popover .preview-list::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-preview-popover .preview-list::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-preview-popover .preview-list::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-preview-popover .preview-list{padding:.5rem;display:flex;flex-direction:column;gap:.25rem;position:relative}.target-preview-popover .preview-list.filtering{pointer-events:none;opacity:.6}.target-preview-popover .preview-list .filter-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.7);z-index:10}.target-preview-popover .preview-list .filter-loading-overlay i{font-size:20px;color:#25b9d7;animation:spin .6s linear infinite}.target-preview-popover .preview-filter{padding:.5rem;border-bottom:1px solid #dee2e6}.target-preview-popover .preview-filter .preview-filter-input{width:100%;padding:.25rem .5rem;font-size:.75rem;line-height:1.4;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.2rem;box-sizing:border-box}.target-preview-popover .preview-filter .preview-filter-input:focus{border-color:#25b9d7;outline:none}.target-preview-popover .preview-filter .preview-filter-input::placeholder{color:#6c757d}.target-preview-popover .preview-footer{padding:.5rem 1rem;background:#f8fafc;border-top:1px solid #dee2e6}.target-preview-popover .preview-footer .preview-more-info{font-size:.75rem;color:#6c757d;font-weight:500;text-align:center}.target-preview-popover .load-more-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.75rem;color:#6c757d}.target-preview-popover .load-more-controls .load-more-label{white-space:nowrap}.target-preview-popover .load-more-controls .load-more-select{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.target-preview-popover .load-more-controls .load-more-select:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.target-preview-popover .load-more-controls .load-more-select::placeholder{color:#adb5bd}.target-preview-popover .load-more-controls .load-more-select{padding:.25rem .5rem;font-size:.75rem;min-width:70px}.target-preview-popover .load-more-controls .load-more-of{white-space:nowrap}.target-preview-popover .load-more-controls .remaining-count{font-weight:600;color:#495057}.target-preview-popover .load-more-controls .btn-load-more{display:flex;align-items:center;justify-content:center;padding:.25rem;margin:0;border:none;color:#25b9d7;background:rgba(37,185,215,.1) !important;border-radius:.2rem;cursor:pointer;transition:all .15s ease-in-out;font:inherit}.target-preview-popover .load-more-controls .btn-load-more i{font-size:14px}.target-preview-popover .load-more-controls .btn-load-more:hover{background:rgba(37,185,215,.2) !important}.target-preview-popover .load-more-controls .btn-load-more.loading{cursor:wait}.target-preview-popover .load-more-controls .btn-load-more.loading i{animation:spin .6s linear infinite}.entity-list-preview{display:flex;flex-direction:column;gap:.25rem}.preview-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;background:#fff;border:none;border-bottom:1px solid #dee2e6;border-radius:0;transition:background .15s ease-in-out}.preview-item:last-child{border-bottom:none}.preview-item:hover{background:#e9ecef}.preview-item-image{flex-shrink:0;width:36px;height:36px;object-fit:cover;border-radius:.2rem;background:#f1f5f9}.preview-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;background:#f1f5f9;color:#6c757d;border-radius:.2rem;font-size:1rem}.preview-item-info{flex:1;min-width:0}.preview-item-name{font-size:.875rem;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-item-meta{font-size:.75rem;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-item-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1;background-color:#f1f5f9;color:#6c757d;border-radius:50rem;flex-shrink:0}.preview-item-price{font-size:.875rem;font-weight:600;color:#25b9d7;flex-shrink:0}.entity-list-preview.grid-layout{display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));gap:.5rem}.entity-list-preview.grid-layout .preview-item{flex-direction:column;text-align:center;padding:1rem}.entity-list-preview.grid-layout .preview-item-image{width:60px;height:60px}.entity-list-preview.grid-layout .preview-item-info{width:100%}.entity-list-preview.compact{gap:0}.entity-list-preview.compact .preview-item{border-radius:0;border-bottom:none}.entity-list-preview.compact .preview-item:first-child{border-radius:.25rem .25rem 0 0}.entity-list-preview.compact .preview-item:last-child{border-radius:0 0 .25rem .25rem;border-bottom:1px solid #dee2e6}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;text-align:center;color:#6c757d}.preview-empty i{font-size:2rem;opacity:.5}.preview-empty p{margin:0;font-size:.875rem}.preview-loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6c757d}.preview-loading .spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#25b9d7;border-radius:50%;animation:spin .8s linear infinite}.preview-pagination{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:1rem 0}.preview-page-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.preview-page-btn:focus{outline:none}.preview-page-btn{display:flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 .5rem;font-size:.75rem;font-weight:500;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;transition:all .15s ease-in-out}.preview-page-btn:hover:not(:disabled){background:#e9ecef;border-color:#cbd5e1}.preview-page-btn.active{background:#25b9d7;border-color:#25b9d7;color:#fff}.preview-page-btn:disabled{opacity:.5;cursor:not-allowed}.preview-summary{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-top:1px solid #dee2e6;font-size:.75rem;color:#6c757d}.preview-count{font-weight:500}.preview-count strong{color:#212529}.preview-filters{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem;background:#f8fafc;border-bottom:1px solid #dee2e6}.preview-filter-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:#e9ecef;color:#495057;border-radius:50rem}.preview-filter-chip .chip-remove{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.preview-filter-chip .chip-remove:focus{outline:none}.preview-filter-chip .chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:10px;color:#6c757d;border-radius:50%}.preview-filter-chip .chip-remove:hover{background:rgba(0,0,0,.1);color:#dc3545}.preview-search{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.preview-search:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.preview-search::placeholder{color:#adb5bd}.preview-search{flex:1;min-width:150px;padding:.375rem .5rem;font-size:.75rem}.preview-list-scrollable{max-height:400px;overflow-y:auto}.preview-list-scrollable::-webkit-scrollbar{width:6px;height:6px}.preview-list-scrollable::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.preview-list-scrollable::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.preview-list-scrollable::-webkit-scrollbar-thumb:hover{background:#ced4da}.entity-mini-preview{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#f8fafc;border-radius:.2rem;font-size:.75rem}.entity-mini-preview img{width:16px;height:16px;object-fit:cover;border-radius:2px}.entity-mini-preview .mini-preview-name{color:#212529;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.total-preview-popover{min-width:240px;max-width:320px}.total-preview-popover .preview-popover-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.total-preview-popover .preview-popover-header .preview-popover-title{font-weight:600;color:#212529;font-size:.875rem}.total-preview-popover .preview-popover-header .preview-popover-count{font-size:.75rem;color:#6c757d}.total-preview-popover .preview-popover-body{padding:.25rem 0}.total-preview-popover .total-summary-list{list-style:none;margin:0;padding:0}.total-preview-popover .total-summary-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;cursor:pointer;transition:background-color .15s ease}.total-preview-popover .total-summary-item:hover{background:#f8fafc}.total-preview-popover .total-summary-item i{width:18px;text-align:center;color:#6c757d;font-size:14px}.total-preview-popover .total-summary-item .summary-item-label{flex:1;font-size:.875rem;color:#212529}.total-preview-popover .total-summary-item .summary-item-count{font-size:.875rem;font-weight:600;color:#25b9d7;background:rgba(37,185,215,.1);padding:2px 8px;border-radius:.2rem}.trait-total-count{cursor:pointer;transition:all .15s ease}.trait-total-count:hover{opacity:.8}.trait-total-count.popover-open{opacity:.9}.schedule-conditions-trait{background:#fff;border:1px solid #dee2e6;border-radius:.3rem}.schedule-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;background:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;cursor:pointer;user-select:none;transition:background-color .15s ease-in-out}.schedule-header:hover{background:#e9ecef}.schedule-title{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:600;color:#212529}.schedule-title i{color:#6c757d}.schedule-body{padding:1rem}.schedule-section{margin-bottom:1.5rem}.schedule-section:last-child{margin-bottom:0}.schedule-section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:#212529}.schedule-section-title i{color:#6c757d}.schedule-section-description{margin-bottom:1rem;font-size:.75rem;color:#6c757d}.datetime-range{display:flex;flex-wrap:wrap;gap:1rem}.datetime-field{flex:1;min-width:200px}.datetime-label{display:block;margin-bottom:.25rem;font-size:.75rem;font-weight:500;color:#495057}.datetime-input{width:100%;padding:.5rem 1rem;font-size:.875rem;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.datetime-input:focus{border-color:#25b9d7;outline:0;box-shadow:0 0 0 .2rem rgba(37,185,215,.25)}.datetime-input::placeholder{color:#adb5bd}.weekly-schedule{display:flex;flex-direction:column;gap:.5rem}.day-row{display:flex;align-items:center;gap:1rem;padding:.5rem;background:#f8fafc;border-radius:.25rem}.day-row.disabled{opacity:.5}.day-toggle{display:flex;align-items:center;gap:.5rem;min-width:100px}.day-checkbox{width:18px;height:18px;cursor:pointer}.day-name{font-size:.875rem;font-weight:500;color:#212529}.timeline-slider{flex:1;position:relative;height:24px;background:#e2e8f0;border-radius:50rem;cursor:pointer}.timeline-fill{position:absolute;top:0;height:100%;background:#25b9d7;border-radius:50rem;transition:all .15s ease-in-out}.timeline-handle{position:absolute;top:50%;width:16px;height:16px;background:#fff;border:2px solid #25b9d7;border-radius:50%;transform:translate(-50%, -50%);cursor:grab;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);transition:box-shadow .15s ease-in-out}.timeline-handle:hover{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}.timeline-handle:active{cursor:grabbing}.timeline-handle.handle-start{z-index:2}.timeline-handle.handle-end{z-index:1}.day-times{display:flex;align-items:center;gap:.25rem;min-width:120px;font-size:.75rem;font-family:monospace;color:#495057}.time-separator{color:#6c757d}.holiday-section{padding:1rem;background:#f8fafc;border-radius:.25rem}.holiday-toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.holiday-checkbox{width:18px;height:18px;cursor:pointer}.holiday-label{font-size:.875rem;font-weight:500;color:#212529}.holiday-countries{display:flex;flex-wrap:wrap;gap:.25rem}.holiday-country-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;background:#e9ecef;color:#495057;border-radius:50rem}.holiday-country-chip .chip-remove{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.holiday-country-chip .chip-remove:focus{outline:none}.holiday-country-chip .chip-remove{display:flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:10px;color:#6c757d;border-radius:50%}.holiday-country-chip .chip-remove:hover{background:rgba(0,0,0,.1);color:#dc3545}.holiday-country-chip{cursor:pointer}.holiday-country-chip.selected{background:rgba(37,185,215,.1);color:#25b9d7}.server-time{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#d1ecf1;border-radius:.25rem;font-size:.75rem;color:#17a2b8}.server-time i{font-size:.875rem}.server-time .time-value{font-family:monospace;font-weight:600}.schedule-summary{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:#f8fafc;border-radius:.25rem;font-size:.875rem;color:#495057}.schedule-summary .summary-item{display:flex;align-items:center;gap:.5rem}.schedule-summary .summary-item i{color:#28a745;font-size:.875rem}.schedule-summary .summary-item.inactive i{color:#6c757d}.schedule-conditions-trait.collapsed .schedule-body{display:none}.schedule-conditions-trait.collapsed .schedule-header{border-radius:.3rem}.target-conditions-trait .target-tips-box,.entity-selector-trait .target-tips-box{margin:1.5rem 1rem 1rem;border:1px solid #dee2e6;border-radius:.3rem;overflow:hidden;background:linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%)}.target-conditions-trait .tips-header,.entity-selector-trait .tips-header{display:flex;align-items:center;gap:.625rem;padding:1rem 1.5rem;cursor:pointer;user-select:none;transition:background-color .15s ease-in-out}.target-conditions-trait .tips-header:hover,.entity-selector-trait .tips-header:hover{background:rgba(0,0,0,.02)}.target-conditions-trait .tips-header>i:first-child,.entity-selector-trait .tips-header>i:first-child{font-size:1rem;color:#ffc107}.target-conditions-trait .tips-header>span,.entity-selector-trait .tips-header>span{flex:1;font-size:13px;font-weight:600;color:#475569}.target-conditions-trait .tips-toggle,.entity-selector-trait .tips-toggle{font-size:.75rem;color:#94a3b8;transition:transform .2s}.target-conditions-trait .target-tips-box.expanded .tips-toggle,.entity-selector-trait .target-tips-box.expanded .tips-toggle{transform:rotate(180deg)}.target-conditions-trait .target-tips-box.expanded .tips-content,.entity-selector-trait .target-tips-box.expanded .tips-content{display:block}.target-conditions-trait .tips-content,.entity-selector-trait .tips-content{display:none;padding:0 1.5rem 1.5rem}.target-conditions-trait .tips-grid,.entity-selector-trait .tips-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))}.target-conditions-trait .tip-item,.entity-selector-trait .tip-item{display:flex;gap:1rem;padding:1rem;background:#fff;border-radius:.25rem;border:1px solid #dee2e6}.target-conditions-trait .tip-icon,.entity-selector-trait .tip-icon{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:rgba(37,185,215,.1);border-radius:.25rem;color:#25b9d7;font-size:.875rem}.target-conditions-trait .tip-text,.entity-selector-trait .tip-text{flex:1;min-width:0}.target-conditions-trait .tip-text strong,.entity-selector-trait .tip-text strong{display:block;font-size:.75rem;font-weight:600;color:#334155;margin-bottom:.25rem}.target-conditions-trait .tip-text p,.entity-selector-trait .tip-text p{font-size:11px;color:#6c757d;line-height:1.625;margin:0}.target-conditions-trait .tips-footer,.entity-selector-trait .tips-footer{margin-top:1rem;padding:.625rem 1rem;background:#fff;border-radius:.25rem;border:1px dashed #dee2e6;font-size:11px;color:#6c757d;line-height:1.625}.target-conditions-trait .tips-footer i,.entity-selector-trait .tips-footer i{color:#25b9d7;margin-right:.25rem}.condition-trait{background:#fff;border:1px solid #dee2e6;border-radius:.3rem;margin-bottom:1.5rem}.condition-trait:last-child{margin-bottom:0}.condition-trait.collapsed .condition-trait-header{border-bottom-color:rgba(0,0,0,0);border-radius:.3rem}.condition-trait.collapsed .collapse-icon{transform:rotate(180deg)}.condition-trait-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding:.875rem 1.5rem;background:#f8fafc;border-bottom:1px solid #dee2e6;border-radius:.3rem .3rem 0 0;cursor:pointer;transition:background-color .15s ease-in-out}.condition-trait-header:hover{background:#f1f5f9}.trait-header-left{display:flex;align-items:center;gap:1rem;min-width:0;flex:1}.trait-icon{font-size:1.125rem;color:#6c757d;flex-shrink:0}.trait-title-group{display:flex;flex-direction:column;gap:.125rem;min-width:0}.trait-title{font-size:.875rem;font-weight:600;color:#1e293b;white-space:nowrap}.trait-subtitle{font-size:.75rem;color:#6c757d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trait-header-right{display:flex;align-items:center;gap:1rem;flex-shrink:0;margin-left:auto}.trait-header-actions{display:flex;align-items:center;gap:.5rem}.collapse-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:.875rem;color:#6c757d;cursor:pointer;transition:all .2s;border-radius:.2rem;background:rgba(0,0,0,0)}.collapse-icon:hover{color:#25b9d7;background:rgba(37,185,215,.08)}.trait-show-all-toggle{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:#25b9d7;cursor:pointer}.trait-show-all-toggle:hover{text-decoration:underline}.trait-total-count{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.trait-total-count:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.trait-total-count:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.trait-total-count.loading{cursor:wait}.trait-total-count.loading i{font-size:10px;animation:spin .6s linear infinite}.trait-total-count.loading:hover{transform:none;box-shadow:none}.trait-total-count.inactive,.trait-total-count.no-matches{background:#94a3b8;cursor:default}.trait-total-count.inactive:hover,.trait-total-count.no-matches:hover{transform:none;box-shadow:none}.trait-total-count.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.trait-total-count i{font-size:10px;line-height:1;opacity:.8}.trait-total-count:hover i{opacity:1}.trait-total-count .preview-count{font-weight:700}.trait-required{color:#dc3545;font-size:.75rem}.trait-validation-error{color:#dc3545;font-size:.75rem;margin-top:.25rem}.trait-toggle{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.trait-toggle:focus{outline:none}.trait-toggle{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.25rem;transition:all .15s ease-in-out}.trait-toggle:hover{background:#f8fafc;border-color:#dee2e6}.trait-toggle.active{color:#25b9d7;border-color:#25b9d7;background:rgba(37,185,215,.1)}.condition-trait-body{padding:1.5rem;border-radius:0 0 .3rem .3rem;background:#fff;animation:slideDown .2s ease-out}.condition-trait.collapsed .condition-trait-body{display:none}.schedule-section,.context-section{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid #f1f5f9}.schedule-section:last-child,.context-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.section-label{display:flex;align-items:center;gap:.5rem;font-size:13px;font-weight:600;color:#475569;margin-bottom:1rem}.section-label i{font-size:.875rem;color:#94a3b8;margin-right:.25rem}.section-hint{margin-top:.5rem;font-size:11px;color:#94a3b8}.form-group.condition-trait-fullwidth{display:block !important}.form-group.condition-trait-fullwidth>.control-label{display:none !important}.form-group.condition-trait-fullwidth>.col-lg-8,.form-group.condition-trait-fullwidth>.col-lg-8.col-lg-offset-3{width:100% !important;max-width:100% !important;flex:0 0 100% !important;padding-left:1.5rem !important;padding-right:1.5rem !important;margin:0 !important;margin-left:0 !important}.condition-traits-group-label{font-size:.875rem;font-weight:600;color:#334155;margin-bottom:1rem}.condition-traits-wrapper{display:flex;flex-direction:column;gap:1rem}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.target-conditions-trait .combination-attributes-picker,.entity-selector-trait .combination-attributes-picker{display:flex;flex-direction:column;gap:.625rem}.target-conditions-trait .combination-mode-toggle,.entity-selector-trait .combination-mode-toggle{display:inline-flex;gap:.25rem;padding:.125rem;background:#f1f5f9;border-radius:.25rem;margin-bottom:.5rem}.target-conditions-trait .combination-mode-option,.entity-selector-trait .combination-mode-option{display:flex;align-items:center;gap:.25rem;cursor:pointer;font-size:11px;color:#6c757d;padding:.25rem .625rem;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .combination-mode-option input[type=radio],.entity-selector-trait .combination-mode-option input[type=radio]{display:none}.target-conditions-trait .combination-mode-option .mode-label,.entity-selector-trait .combination-mode-option .mode-label{user-select:none}.target-conditions-trait .combination-mode-option:hover,.entity-selector-trait .combination-mode-option:hover{color:#25b9d7;background:rgba(37,185,215,.1)}.target-conditions-trait .combination-mode-option:has(input[type=radio]:checked),.entity-selector-trait .combination-mode-option:has(input[type=radio]:checked){background:#25b9d7;color:#fff;font-weight:500}.target-conditions-trait .combination-groups-container,.entity-selector-trait .combination-groups-container{display:flex;flex-wrap:wrap;gap:1rem}.target-conditions-trait .combination-loading,.target-conditions-trait .combination-empty,.target-conditions-trait .combination-error,.entity-selector-trait .combination-loading,.entity-selector-trait .combination-empty,.entity-selector-trait .combination-error{color:#6c757d;font-style:italic;padding:.5rem}.target-conditions-trait .combination-error,.entity-selector-trait .combination-error{color:#dc3545}.target-conditions-trait .combinations-section,.entity-selector-trait .combinations-section{margin-bottom:1rem}.target-conditions-trait .combinations-header,.entity-selector-trait .combinations-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.target-conditions-trait .combinations-label,.entity-selector-trait .combinations-label{font-size:.75rem;font-weight:500;color:#6c757d}.target-conditions-trait .combinations-help,.entity-selector-trait .combinations-help{font-size:11px;color:#94a3b8}.target-conditions-trait .btn-toggle-combinations,.entity-selector-trait .btn-toggle-combinations{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-toggle-combinations:focus,.entity-selector-trait .btn-toggle-combinations:focus{outline:none}.target-conditions-trait .btn-toggle-combinations,.entity-selector-trait .btn-toggle-combinations{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#25b9d7;background:rgba(0,0,0,0);border:1px solid #25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-toggle-combinations:hover,.entity-selector-trait .btn-toggle-combinations:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .btn-remove-combinations,.entity-selector-trait .btn-remove-combinations{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-combinations:focus,.entity-selector-trait .btn-remove-combinations:focus{outline:none}.target-conditions-trait .btn-remove-combinations,.entity-selector-trait .btn-remove-combinations{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;color:#dc3545;background:rgba(0,0,0,0)}.target-conditions-trait .btn-remove-combinations:hover,.entity-selector-trait .btn-remove-combinations:hover{text-decoration:underline}.target-conditions-trait .comb-attr-group,.entity-selector-trait .comb-attr-group{flex:none;min-width:120px;max-width:200px;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;overflow:hidden}.target-conditions-trait .comb-attr-group.has-selections,.entity-selector-trait .comb-attr-group.has-selections{border-color:#25b9d7}.target-conditions-trait .comb-attr-group-header,.entity-selector-trait .comb-attr-group-header{display:flex;justify-content:space-between;align-items:center;padding:.375rem .625rem;background:#f1f5f9;border-bottom:1px solid #dee2e6;font-weight:600;font-size:.75rem;color:#1e293b}.comb-attr-group.has-selections .target-conditions-trait .comb-attr-group-header,.comb-attr-group.has-selections .entity-selector-trait .comb-attr-group-header{background:#ecfeff;border-bottom-color:#a5f3fc}.target-conditions-trait .comb-attr-group-name,.entity-selector-trait .comb-attr-group-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-conditions-trait .comb-attr-group-count,.entity-selector-trait .comb-attr-group-count{flex-shrink:0;min-width:18px;height:18px;padding:0 .25rem;background:#dee2e6;border-radius:50rem;font-size:11px;font-weight:600;line-height:18px;text-align:center;color:#6c757d}.comb-attr-group.has-selections .target-conditions-trait .comb-attr-group-count,.comb-attr-group.has-selections .entity-selector-trait .comb-attr-group-count{background:#25b9d7;color:#fff}.target-conditions-trait .comb-attr-toolbar,.entity-selector-trait .comb-attr-toolbar{display:flex;align-items:center;gap:.25rem;padding:.25rem .375rem;background:#f8fafc;border-bottom:1px solid #f1f5f9}.target-conditions-trait .comb-toolbar-btn,.entity-selector-trait .comb-toolbar-btn{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .comb-toolbar-btn:focus,.entity-selector-trait .comb-toolbar-btn:focus{outline:none}.target-conditions-trait .comb-toolbar-btn,.entity-selector-trait .comb-toolbar-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;color:#6c757d;cursor:pointer;font-size:.75rem;transition:all .15s ease-in-out}.target-conditions-trait .comb-toolbar-btn:hover,.entity-selector-trait .comb-toolbar-btn:hover{background:#f1f5f9;border-color:#94a3b8;color:#1e293b}.target-conditions-trait .comb-attr-search,.entity-selector-trait .comb-attr-search{flex:1;min-width:60px;padding:.125rem .375rem;border:1px solid #dee2e6;border-radius:.2rem;font-size:11px;outline:none}.target-conditions-trait .comb-attr-search:focus,.entity-selector-trait .comb-attr-search:focus{border-color:#25b9d7}.target-conditions-trait .comb-attr-search::placeholder,.entity-selector-trait .comb-attr-search::placeholder{color:#94a3b8}.target-conditions-trait .comb-attr-values,.entity-selector-trait .comb-attr-values{display:flex;flex-wrap:wrap;gap:.25rem;padding:.375rem;max-height:150px;overflow-y:auto}.target-conditions-trait .comb-attr-values::-webkit-scrollbar,.entity-selector-trait .comb-attr-values::-webkit-scrollbar{width:6px;height:6px}.target-conditions-trait .comb-attr-values::-webkit-scrollbar-track,.entity-selector-trait .comb-attr-values::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-conditions-trait .comb-attr-values::-webkit-scrollbar-thumb,.entity-selector-trait .comb-attr-values::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-conditions-trait .comb-attr-values::-webkit-scrollbar-thumb:hover,.entity-selector-trait .comb-attr-values::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-conditions-trait .comb-attr-loading,.target-conditions-trait .comb-attr-empty,.target-conditions-trait .comb-attr-error,.entity-selector-trait .comb-attr-loading,.entity-selector-trait .comb-attr-empty,.entity-selector-trait .comb-attr-error{width:100%;text-align:center;color:#94a3b8;font-size:11px;padding:.25rem}.target-conditions-trait .comb-attr-error,.entity-selector-trait .comb-attr-error{color:#dc3545}.target-conditions-trait .comb-attr-value,.entity-selector-trait .comb-attr-value{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:#fff;border:1px solid #94a3b8;border-radius:.75rem;font-size:11px;color:#475569;cursor:pointer;transition:all .15s ease-in-out;white-space:nowrap}.target-conditions-trait .comb-attr-value:hover,.entity-selector-trait .comb-attr-value:hover{background:#f1f5f9;border-color:#6c757d}.target-conditions-trait .comb-attr-value.selected,.entity-selector-trait .comb-attr-value.selected{background:#25b9d7;border-color:#1a9ab7;color:#fff}.target-conditions-trait .comb-attr-value.selected:hover,.entity-selector-trait .comb-attr-value.selected:hover{background:#1a9ab7;border-color:rgb(22.8277511962,135.2105263158,160.6722488038)}.target-conditions-trait .comb-attr-value-count,.entity-selector-trait .comb-attr-value-count{font-size:9px;color:#94a3b8;background:#f1f5f9;padding:1px .25rem;border-radius:.5rem;min-width:14px;text-align:center}.comb-attr-value.selected .target-conditions-trait .comb-attr-value-count,.comb-attr-value.selected .entity-selector-trait .comb-attr-value-count{color:#fff;background:hsla(0,0%,100%,.3)}.target-conditions-trait .combination-conditions-container,.entity-selector-trait .combination-conditions-container{display:flex;flex-direction:column;gap:.5rem}.target-conditions-trait .combination-condition-row,.entity-selector-trait .combination-condition-row{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f8fafc;border-radius:.2rem}.target-conditions-trait .combination-group-select,.target-conditions-trait .combination-values-select,.entity-selector-trait .combination-group-select,.entity-selector-trait .combination-values-select{flex:1;min-width:120px}.target-conditions-trait .combination-equals,.entity-selector-trait .combination-equals{font-size:.75rem;color:#6c757d;padding:0 .25rem}.target-conditions-trait .btn-add-combination-condition,.entity-selector-trait .btn-add-combination-condition{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-add-combination-condition:focus,.entity-selector-trait .btn-add-combination-condition:focus{outline:none}.target-conditions-trait .btn-add-combination-condition,.entity-selector-trait .btn-add-combination-condition{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:#25b9d7;background:rgba(0,0,0,0);border:1px dashed #25b9d7;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-add-combination-condition:hover,.entity-selector-trait .btn-add-combination-condition:hover{background:rgba(37,185,215,.1)}.target-conditions-trait .btn-add-combination-condition i,.entity-selector-trait .btn-add-combination-condition i{font-size:10px}.target-conditions-trait .btn-remove-combination-row,.entity-selector-trait .btn-remove-combination-row{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.target-conditions-trait .btn-remove-combination-row:focus,.entity-selector-trait .btn-remove-combination-row:focus{outline:none}.target-conditions-trait .btn-remove-combination-row,.entity-selector-trait .btn-remove-combination-row{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6c757d;border-radius:.2rem;transition:all .15s ease-in-out}.target-conditions-trait .btn-remove-combination-row:hover,.entity-selector-trait .btn-remove-combination-row:hover{background:rgba(220,53,69,.1);color:#dc3545}.target-conditions-trait .btn-remove-combination-row i,.entity-selector-trait .btn-remove-combination-row i{font-size:12px}.target-conditions-trait .method-dropdown-trigger,.entity-selector-trait .method-dropdown-trigger{display:inline-flex;align-items:center;gap:.5rem;height:36px;padding:0 1rem;border-radius:.25rem;background:#fff;color:#1e293b;font-size:.875rem;cursor:pointer;transition:all .15s ease-in-out;min-width:180px;max-width:320px;border:1px solid #dee2e6}.target-conditions-trait .method-dropdown-trigger:hover,.entity-selector-trait .method-dropdown-trigger:hover{background:#f8fafc;border-color:#dee2e6}.target-conditions-trait .method-dropdown-trigger:focus,.target-conditions-trait .method-dropdown-trigger:active,.entity-selector-trait .method-dropdown-trigger:focus,.entity-selector-trait .method-dropdown-trigger:active{outline:none;border-color:#25b9d7;box-shadow:0 0 0 3px rgba(37,185,215,.1)}.target-conditions-trait .method-trigger-icon,.entity-selector-trait .method-trigger-icon{font-size:.875rem;color:#6c757d;flex-shrink:0;width:18px;text-align:center}.target-conditions-trait .method-trigger-label,.entity-selector-trait .method-trigger-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.target-conditions-trait .method-trigger-caret,.entity-selector-trait .method-trigger-caret{font-size:.75rem;color:#94a3b8;flex-shrink:0;margin-left:auto}.target-conditions-trait .selector-locked .method-dropdown-trigger,.entity-selector-trait .selector-locked .method-dropdown-trigger{background:#f1f5f9;color:#94a3b8;cursor:not-allowed;border-color:#dee2e6}.target-conditions-trait .selector-locked .method-dropdown-trigger:hover,.entity-selector-trait .selector-locked .method-dropdown-trigger:hover{background:#f1f5f9;border-color:#dee2e6}.target-conditions-trait .method-selector-wrapper,.entity-selector-trait .method-selector-wrapper{position:relative}.target-conditions-trait .method-select-hidden,.entity-selector-trait .method-select-hidden{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:0 !important;height:0 !important;overflow:hidden !important}.method-select-hidden{position:absolute !important;opacity:0 !important;pointer-events:none !important;width:0 !important;height:0 !important;overflow:hidden !important}.method-dropdown-menu{position:absolute;z-index:1001;min-width:200px;max-width:360px;max-height:400px;overflow-y:auto;background:#fff;border-radius:.3rem;padding:.375rem 0;border:1px solid #dee2e6;box-shadow:0 10px 40px rgba(0,0,0,.15);animation:methodDropdownFadeIn .15s ease}.method-dropdown-menu::-webkit-scrollbar{width:6px;height:6px}.method-dropdown-menu::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.method-dropdown-menu::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.method-dropdown-menu::-webkit-scrollbar-thumb:hover{background:#ced4da}@keyframes methodDropdownFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.method-dropdown-item{display:flex;align-items:center;gap:.625rem;padding:.5rem 1rem;cursor:pointer;transition:background-color .1s;position:relative}.method-dropdown-item:hover{background:#f1f5f9}.method-dropdown-item.selected{background:rgba(37,185,215,.08)}.method-dropdown-item .method-item-icon{font-size:.875rem;color:#6c757d;width:18px;text-align:center;flex-shrink:0}.method-dropdown-item.selected .method-item-icon{color:#25b9d7}.method-dropdown-item .method-item-label{flex:1;font-size:.875rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.method-dropdown-item.selected .method-item-label{color:#0e7490;font-weight:500}.method-dropdown-item .method-item-check{font-size:.75rem;flex-shrink:0;margin-left:auto;color:#25b9d7}.method-dropdown-optgroup{margin-top:.25rem}.method-dropdown-optgroup:first-child{margin-top:0}.method-optgroup-label{padding:.5rem 1rem;font-size:11px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9}.method-dropdown-optgroup:first-child .method-optgroup-label{border-top:0}.method-optgroup-items{padding:.25rem 0}.method-optgroup-items .method-dropdown-item{padding-left:1.5rem}.method-info-placeholder{font-size:.75rem;color:#6c757d;font-style:italic}.mpr-info-wrapper{display:inline-flex;align-items:center;position:relative;cursor:help;vertical-align:middle;margin-left:.25rem}.mpr-info-wrapper .material-icons{font-size:16px;color:#6c757d;transition:color .15s ease}.mpr-info-wrapper:hover .material-icons{color:#25b9d7}.mpr-tooltip-fixed{position:fixed;background:#fff;color:#1e293b;padding:1rem 1.5rem;border-radius:.25rem;font-size:13px;line-height:1.5;white-space:normal;z-index:10500;max-width:320px;min-width:180px;text-align:left;box-shadow:rgba(0,0,0,.12) 0px 1px 1px 0px,rgba(64,68,82,.16) 0px 0px 0px 1px,rgba(64,68,82,.08) 0px 2px 5px 0px;pointer-events:none}.mpr-tooltip-fixed.pinned{pointer-events:auto;padding-right:3rem}.mpr-tooltip-fixed strong{display:block;margin-bottom:.375rem;font-weight:600;color:#25b9d7}.mpr-tooltip-fixed p{margin:0;color:#495057}.mpr-tooltip-fixed ul{margin:.5rem 0 0;padding-left:1.25rem}.mpr-tooltip-fixed ul li{margin:.25rem 0;color:#495057}.mpr-tooltip-close{position:absolute;top:.375rem;right:.375rem;padding:.125rem;border:none;background:rgba(0,0,0,0);cursor:pointer;border-radius:.2rem;line-height:1;transition:background-color .15s ease}.mpr-tooltip-close .material-icons{font-size:16px;color:#6c757d}.mpr-tooltip-close:hover{background:#f1f5f9}.mpr-tooltip-close:hover .material-icons{color:#334155}.category-tree{display:flex;flex-direction:column}.category-tree .tree-toolbar{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:#f8fafc;border-bottom:1px solid #e9ecef;flex-shrink:0}.category-tree .tree-toolbar .btn-expand-all,.category-tree .tree-toolbar .btn-collapse-all{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.category-tree .tree-toolbar .btn-expand-all:focus,.category-tree .tree-toolbar .btn-collapse-all:focus{outline:none}.category-tree .tree-toolbar .btn-expand-all,.category-tree .tree-toolbar .btn-collapse-all{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:.2rem;transition:all .15s ease-in-out}.category-tree .tree-toolbar .btn-expand-all:hover,.category-tree .tree-toolbar .btn-collapse-all:hover{background:#f1f5f9;border-color:#cbd5e1}.category-tree .tree-toolbar .btn-expand-all i,.category-tree .tree-toolbar .btn-collapse-all i{font-size:12px}.category-tree .tree-items{padding:0}.tree-item{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;cursor:pointer;transition:background .15s ease-in-out;border-radius:0}.tree-item:hover{background:#f1f5f9}.tree-item.selected{background:rgba(37,185,215,.1)}.tree-item.selected .tree-name{font-weight:600;color:#25b9d7}.tree-item.selected .tree-checkbox{color:#25b9d7}.tree-item.selected .tree-checkbox i{opacity:1}.tree-item.inactive{opacity:.6}.tree-item.inactive .tree-name{font-style:italic}.tree-item.filtered-out{display:none}.tree-item.filter-match{background:#fff3cd}.tree-item.filter-match.selected{background:rgba(37,185,215,.1)}.category-tree .tree-indent{flex-shrink:0}.category-tree .tree-toggle{display:flex;align-items:center;justify-content:center;width:12px;height:12px;box-sizing:border-box;color:#495057;flex-shrink:0;border-radius:.2rem;transition:all .15s ease-in-out;cursor:pointer}.category-tree .tree-toggle:hover{background:#e2e8f0;color:#212529}.category-tree .tree-toggle.tree-leaf{cursor:default;visibility:hidden}.category-tree .tree-toggle.tree-leaf:hover{background:rgba(0,0,0,0)}.category-tree .tree-toggle i{font-size:10px;transition:transform .15s ease-in-out}.category-tree .tree-item.collapsed>.tree-toggle i{transform:rotate(-90deg)}.category-tree .tree-checkbox{display:flex;align-items:center;justify-content:center;width:12px;height:12px;box-sizing:border-box;flex-shrink:0;border:1px solid #dee2e6;border-radius:2px;background:#fff}.category-tree .tree-checkbox i{font-size:8px;opacity:0;color:#fff;transition:opacity .15s ease-in-out}.category-tree .tree-item.selected .tree-checkbox{background:#25b9d7;border-color:#25b9d7}.category-tree .tree-item.selected .tree-checkbox i{opacity:1}.category-tree .tree-icon{display:flex;align-items:center;justify-content:center;width:12px;height:12px;box-sizing:border-box;color:#6c757d;flex-shrink:0}.category-tree .tree-icon i{font-size:12px}.category-tree .tree-item.selected .tree-icon{color:#25b9d7}.category-tree .tree-name{flex:1;font-size:.875rem;color:#212529;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-tree .tree-count{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:20px;height:20px;padding:0 .5rem;background:#25b9d7;color:#fff;font-size:.75rem;font-weight:600;border-radius:50rem;cursor:pointer;transition:all .15s ease-in-out;flex-shrink:0}.category-tree .tree-count:hover{transform:scale(1.05);box-shadow:0 2px 8px rgba(37,185,215,.4)}.category-tree .tree-count:focus{outline:none;box-shadow:0 0 0 2px rgba(37,185,215,.3),0 2px 8px rgba(37,185,215,.4)}.category-tree .tree-count.loading{cursor:wait}.category-tree .tree-count.loading i{font-size:10px;animation:spin .6s linear infinite}.category-tree .tree-count.loading:hover{transform:none;box-shadow:none}.category-tree .tree-count.inactive,.category-tree .tree-count.no-matches{background:#94a3b8;cursor:default}.category-tree .tree-count.inactive:hover,.category-tree .tree-count.no-matches:hover{transform:none;box-shadow:none}.category-tree .tree-count.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381);box-shadow:0 2px 8px rgba(37,185,215,.4)}.category-tree .tree-count i{font-size:10px;line-height:1;opacity:.8}.category-tree .tree-count:hover i{opacity:1}.category-tree .tree-count .preview-count{font-weight:700}.category-tree .tree-count{height:18px;min-width:18px;padding:0 .5rem}.category-tree .tree-count i{font-size:10px}.category-tree .tree-count.clickable.loading{pointer-events:none}.category-tree .tree-count.clickable.loading i{animation:spin 1s linear infinite}.category-tree .tree-count.clickable.popover-open{background:rgb(29.5119047619,147.5595238095,171.4880952381)}.category-tree .btn-select-children{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.category-tree .btn-select-children:focus{outline:none}.category-tree .btn-select-children{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;box-sizing:border-box;color:#6c757d;border-radius:.2rem;opacity:.3;transition:all .15s ease-in-out;flex-shrink:0}.category-tree .btn-select-children i{font-size:14px}.category-tree .btn-select-children:hover{color:#25b9d7;opacity:1}.category-tree .tree-item:hover .btn-select-children{opacity:.6}.category-tree .tree-badge{display:inline-flex;align-items:center;padding:.125rem .25rem;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:.2rem;flex-shrink:0}.category-tree .tree-badge.inactive{color:#ffc107;background:#fff3cd}.category-tree .tree-children{display:block}.category-tree .tree-children.filter-expanded{display:block !important}.category-tree .tree-item.collapsed+.tree-children{display:none}.category-tree .tree-item.filtered-out{display:none !important}.category-tree .tree-loading,.category-tree .dropdown-empty,.category-tree .dropdown-error{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6c757d;font-size:.875rem}.category-tree .tree-loading i,.category-tree .dropdown-empty i,.category-tree .dropdown-error i{margin-right:.5rem}.category-tree .dropdown-error{color:#dc3545}.target-search-dropdown.view-tree .dropdown-results{padding:0}.target-search-dropdown.view-tree .category-tree{max-height:100%;overflow-y:auto}.target-search-dropdown.view-tree .category-tree::-webkit-scrollbar{width:6px;height:6px}.target-search-dropdown.view-tree .category-tree::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-search-dropdown.view-tree .category-tree::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-search-dropdown.view-tree .category-tree::-webkit-scrollbar-thumb:hover{background:#ced4da}.target-search-dropdown.view-tree .tree-items{max-height:calc(100% - 40px);overflow-y:auto}.target-search-dropdown.view-tree .tree-items::-webkit-scrollbar{width:6px;height:6px}.target-search-dropdown.view-tree .tree-items::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.target-search-dropdown.view-tree .tree-items::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:3px}.target-search-dropdown.view-tree .tree-items::-webkit-scrollbar-thumb:hover{background:#ced4da}.es-validation-toast{display:flex;align-items:flex-start;gap:.5rem;padding:1rem;background:#fff;border:1px solid #dc3545;border-left:4px solid #dc3545;border-radius:.25rem;box-shadow:0 1rem 3rem rgba(0,0,0,.175);max-width:400px;animation:es-toast-slide-in .2s ease-out}.es-validation-toast .es-toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#dc3545;flex-shrink:0}.es-validation-toast .es-toast-icon i{font-size:18px}.es-validation-toast .es-toast-content{flex:1;min-width:0}.es-validation-toast .es-toast-title{font-size:.875rem;font-weight:600;color:#dc3545;margin-bottom:2px}.es-validation-toast .es-toast-message{font-size:.75rem;color:#495057;line-height:1.4}.es-validation-toast .es-toast-close{padding:0;margin:0;background:none;border:none;cursor:pointer;font:inherit;color:inherit}.es-validation-toast .es-toast-close:focus{outline:none}.es-validation-toast .es-toast-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#6c757d;border-radius:.2rem;flex-shrink:0;transition:all .15s ease-in-out}.es-validation-toast .es-toast-close:hover{background:#f1f5f9;color:#212529}.es-validation-toast .es-toast-close i{font-size:12px}@keyframes es-toast-slide-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}} /*# sourceMappingURL=entity-selector.css.map */ diff --git a/assets/css/admin/entity-selector.css.map b/assets/css/admin/entity-selector.css.map index d270f76..2e7c812 100644 --- a/assets/css/admin/entity-selector.css.map +++ b/assets/css/admin/entity-selector.css.map @@ -1 +1 @@ -{"version":3,"sources":["_mixins.scss","layouts/_form-integration.scss","../../../prestashop-admin/assets/scss/_variables.scss","layouts/_responsive.scss","_variables.scss","components/_entity-selector.scss","components/_dropdown.scss","components/_chips.scss","components/_groups.scss","components/_value-picker.scss","components/_modal.scss","components/_list-preview.scss","components/_schedule.scss","components/_tips.scss","components/_condition-trait.scss","components/_combinations.scss","components/_method-dropdown.scss","components/_tooltip.scss","components/_tree.scss","components/_validation.scss"],"names":[],"mappings":"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,aACA,eACA,MF9SD,KEiTH,wjBAEI,WJjTF,QIkTE,aJlTF,QIoTE,wkBACI,cAMZ,0FACI,aACA,mBACA,IFhPQ,MEoPZ,wEACI,aACA,mBACA,uBACA,IFxPQ,MEyPR,QFtPQ,KEuPR,MJvUI,QIwUJ,UF3MU,QE6MV,4EACI,kBACA,WAKR,gFACI,aACA,sBACA,mBACA,uBACA,IFzQQ,ME0QR,QFvQQ,KEwQR,kBACA,MJzVI,QI2VJ,oFACI,eACA,WAGJ,oFACI,SACA,UFrOM,QE0Od,oFACI,aACA,mBACA,uBACA,QF3RQ,KE4RR,MJ5WI,QI8WJ,wFACI,iBACA,kCAKR,wFACI,aACA,mBACA,uBACA,IF5SQ,ME6SR,mBACA,6BACA,UFhQU,OEiQV,MJ7XI,QI+XJ,0HACI,YF7Pc,IE8Pd,MFnWE,QEsWN,4HNtSJ,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,wIACI,aE1GE,QF2CN,UACA,4CAkEA,sJACI,MIlFM,QEwWN,4HAEI,qBACA,UF3QM,OE4QN,eAKR,wFACI,aACA,uBACA,QJ5ZC,KI6ZD,6BAEA,sHNxXJ,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,kIACI,aM+WA,sHAEI,oBACA,mBACA,IF3UI,OE4UJ,mBACA,UF5RM,QE6RN,YFxRY,IEyRZ,MJ5ZF,QI6ZE,WFzZO,oBE0ZP,cJxYI,OIyYJ,gCAEA,kIACI,+BAGJ,sIACI,WACA,YAMZ,kFACI,aACA,mBACA,8BACA,IFnWQ,MEoWR,mBACA,WJ7aA,QI8aA,6BACA,8BAGJ,oGACI,UF5TU,OE6TV,MJzbI,QI2bJ,kHACI,MJ7bF,QIicN,oFACI,aACA,IFrXQ,MEwXZ,0FN1aA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,sGACI,aMiaJ,0FAEI,mBACA,UF3UU,QE4UV,YFvUgB,IEwUhB,cJrbQ,OIsbR,gCAEA,gHACI,MFhbE,QEibF,WF3aG,QE6aH,4HACI,WF7aD,QEibP,8GACI,MF1dD,KE2dC,WJzdF,QI2dE,0HACI,WFzdG,QE+df,8FACI,Q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1BG,KEy1BH,yBACA,cJj0BW,MIk0BX,eACA,gCAEA,4MACI,WFn0BE,QEo0BF,aFvzBG,QE0zBP,oMACI,iBACA,uBACA,WF/zBG,QEg0BH,kBACA,MJr2BA,QIy2BR,mFACI,aACA,mBAIJ,2FNjxBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,uGACI,aE1GE,QF2CN,UACA,4CAkEA,qHACI,MIlFM,QEm1BV,2FAEI,qBACA,UFtvBU,OEuvBV,eACA,YACA,8BACA,kBAGJ,iFACI,aACA,mBACA,uBACA,WACA,eACA,cACA,YACA,UACA,SACA,MJn4BI,QIo4BJ,WFv4BG,KEw4BH,yBACA,8BACA,eACA,gCAEA,qFACI,eAGJ,6FACI,WFt3BE,QEu3BF,MFh3BE,QEm3BN,+FACI,WFj5BO,oBEk5BP,aJt5BF,QIu5BE,MJv5BF,QI25BN,yFN5zBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,qGACI,aE1GE,QF2CN,UACA,4CAkEA,mHACI,MIlFM,QE83BV,yFAEI,qBACA,UFjyBU,OEkyBV,eACA,mBAGJ,sLAEI,aACA,mBACA,uBACA,WACA,eACA,cACA,YACA,UACA,SACA,MJ76BI,QI86BJ,WFj7BG,KEk7BH,yBACA,cJ15BW,MI25BX,eACA,gCAEA,8LACI,eAGJ,8MACI,WFh6BE,QEi6BF,MF15BE,QE65BN,kNACI,WF37BO,oBE47BP,aJh8BF,QIi8BE,MJj8BF,QIq8BN,qFACI,aACA,mBAIA,2HACI,aACA,mBACA,uBACA,WACA,eACA,cACA,YACA,UACA,SACA,MJp9BA,QIq9BA,WFx9BD,KEy9BC,yBACA,kBACA,8BACA,eACA,gCAEA,uIACI,WFp8BF,QEq8BE,MF97BF,QEi8BF,yIACI,WFv9BE,QEw9BF,MJj+BP,QIk+BO,aJl+BP,QIs+BD,iHN14BJ,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,y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cL/jBW,MKgkBX,gCAEA,8FACI,WHtlBO,oBGylBX,sFACI,eAKR,0FACI,oBACA,mBACA,WACA,kBACA,MLvmBI,QKwmBJ,UH5eU,OG6eV,eAEA,gHACI,MLzmBF,QK4mBF,kHACI,ML/mBF,QKknBF,oHACI,YHjfc,IGsftB,sFACI,aACA,oBACA,IHhjBQ,OIlFZ,4EACI,WJEG,KIDH,yBACA,cN0BW,MMzBX,gBAIJ,0FACI,aACA,mBACA,8BACA,INlBC,KMmBD,mBACA,WNHA,QMIA,gCAGJ,wFACI,aACA,mBACA,IJ8DQ,MI7DR,UJ6GU,QI5GV,YJkHkB,IIjHlB,MJcM,QIZN,oHACI,oBACA,mBACA,uBACA,eACA,YACA,iBACA,WN5BF,QM6BE,MJ/BD,KIgCC,UJ+FM,OI9FN,YJsGU,IIrGV,cJ2DK,MIvDb,4FACI,aACA,mBACA,IJsCQ,OInCZ,oFRdA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,gGACI,aQKJ,oFAEI,aACA,mBACA,uBACA,WACA,YACA,MNhDI,QMiDJ,cN3BW,MM4BX,gCAEA,gGACI,WJhBG,QIiBH,MJxBE,QI2BN,8GACI,WJ/CM,QIgDN,MNzDH,QM8DL,8JAEI,QN9EC,KMkFL,kFACI,cNnFC,KMsFL,8EACI,aACA,mBACA,IJDQ,OIER,cJDQ,MIER,UJ6CU,OI5CV,YJmDkB,IIlDlB,yBACA,qBAEA,0GACI,MJ7EM,QI+EN,8GACI,MNvFN,QM2FF,0GACI,MN3FH,QM6FG,8GACI,MN9FP,QMoGL,kFACI,aACA,mBACA,IJ5BQ,MI6BR,cJ7BQ,MIgCZ,kGACI,OACA,kBAGJ,8ERpBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,0FACI,aE1GE,QF2CN,UACA,4CAkEA,wGACI,MIlFM,QIsFV,8EAEI,mBACA,eACA,gBACA,mPACA,uCACA,4BACA,4BAGJ,kFRlGA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,8FACI,aQyFJ,kFAEI,aACA,mBACA,uBACA,WACA,YACA,MNpII,QMqIJ,cJ3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qBV,yBACA,cN3wBW,MM4wBX,eAEA,sGACI,aNtyBF,QMuyBE,aAIR,4ER/wBA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,wFACI,aQswBJ,4EAEI,aACA,mBACA,uBACA,MAvFc,KAwFd,OAxFc,KAyFd,MNjzBI,QMkzBJ,yBACA,cN7xBW,MM8xBX,gCAEA,wFACI,WJnxBG,QIoxBH,MJ1xBE,QI8xBV,0FACI,oBACA,mBACA,WACA,qBACA,WJ7xBO,QI8xBP,MNl0BI,QMm0BJ,UJvsBU,OIwsBV,YJlsBgB,IImsBhB,cJ3uBS,MI4uBT,gCAEA,8GACI,eAEA,0HACI,WJz0BG,oBI00BH,MN90BN,QMo1BN,kFACI,aACA,mBACA,uBACA,gBACA,MNx1BI,QMy1BJ,UJ7tBU,OI8tBV,YJvtBkB,IIwtBlB,yBACA,oBAEA,kMAEI,WACA,OACA,WACA,WN/0BG,QMg1BH,cAKR,kFACI,aACA,eACA,INx3BC,KMy3BD,YNz3BC,KM03BD,WN13BC,KM23BD,6BAGJ,gFACI,aACA,mBACA,IJxyBQ,MI2yBZ,gFACI,UJ7vBU,OI8vBV,YJxvBgB,IIyvBhB,MN33BI,QM43BJ,mBAGJ,gFRjyBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,4FACI,aE1GE,QF2CN,UACA,4CAkEA,0GACI,MIlFM,QIm2BV,gFAEI,WACA,qBACA,UJvwBU,OI0wBd,kFRxyBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,8FACI,aE1GE,QF2CN,UACA,4CAkEA,4GACI,MIlFM,QI02BV,kFAEI,WACA,mCACA,UJ9wBU,OI+wBV,eACA,gBACA,mPACA,wCACA,4BACA,8BAIJ,8FACI,oBACA,mBACA,WACA,wBACA,WJr3BO,QIs3BP,MN15BI,QM25BJ,UJ/xBU,OIgyBV,YJ1xBgB,II2xBhB,cJn0BS,MIo0BT,eACA,gCAEA,0GACI,WJ73BG,QIg4BP,sHACI,WJn6BO,oBIo6BP,MNx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CACI,MPxbM,QOybN,YPvVgB,IJlHpB,gBACA,uBACA,mBWycI,gBASR,uBACI,gBACA,gBAEA,+CACI,aACA,mBACA,8BACA,mBACA,WTxeA,QSyeA,gCAEA,sEACI,YP9Wc,IO+Wd,MPldE,QOmdF,UPtXM,QOyXV,sEACI,UP3XM,OO4XN,MTxfA,QS4fR,6CACI,iBAGJ,2CACI,gBACA,SACA,UAGJ,2CACI,aACA,mBACA,IP5bQ,MO6bR,mBACA,eACA,sCAEA,iDACI,WP5eE,QO+eN,6CACI,WACA,kBACA,MTrhBA,QSshBA,eAGJ,+DACI,OACA,UP9ZM,QO+ZN,MP5fE,QO+fN,+DACI,UPnaM,QOoaN,YP9Zc,IO+Zd,MTniBF,QSoiBE,+BACA,gBACA,cT/gBO,MSqhBnB,mBACI,eACA,yBAEA,yBACI,WAGJ,gCACI,WC7jBR,2BACI,WRKO,KQJP,yBACA,cV6Be,MUzBnB,iBACI,aACA,mBACA,8BACA,IVdK,KUeL,qBACA,WVCI,wCUCJ,8BACA,eACA,iBACA,6CAEA,uBACI,WRaM,QQTd,gBACI,aACA,mBACA,WACA,URyGc,QQxGd,YR8GsB,IQ7GtB,MRUU,QQRV,kBACI,MVzBI,QU8BZ,eACI,QV3CK,KU+CT,kBACI,cR2CY,OQzCZ,6BACI,gBAIR,wBACI,aACA,mBACA,IR+BY,MQ9BZ,cR8BY,MQ7BZ,UR6Ec,QQ5Ed,YRkFsB,IQjFtB,MRlBU,QQoBV,0BACI,MVrDI,QUyDZ,8BACI,cVtEK,KUuEL,URiEc,OQhEd,MV5DQ,QUgEZ,gBACI,aACA,eACA,IV/EK,KUkFT,gBACI,OACA,gBAGJ,gBACI,cACA,qBACA,UR8Cc,OQ7Cd,YRmDoB,IQlDpB,MRlDU,QQqDd,gBZWI,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,sBACI,aE1GE,QF2CN,UACA,4CAkEA,6BACI,MIlFM,QQ4Dd,iBACI,aACA,sBACA,IRdY,MQiBhB,SACI,aACA,mBACA,IV7GK,KU8GL,QRrBY,MQsBZ,WRhEU,QQiEV,cV/EY,OUiFZ,kBACI,WAIR,YACI,aACA,mBACA,IRjCY,MQkCZ,gBAGJ,cACI,WACA,YACA,eAGJ,UACI,URIc,QQHd,YRQoB,IQPpB,MR3FU,QQ+Fd,iBACI,OACA,kBACA,YACA,WR9FW,QQ+FX,cR1Ca,MQ2Cb,eAGJ,eACI,kBACA,MACA,YACA,WV7IM,QU8IN,cRnDa,MQoDb,gCAGJ,iBACI,kBACA,QACA,WACA,YACA,WRzJO,KQ0JP,yBACA,kBACA,gCACA,YACA,WR3DW,kCQ4DX,uCAEA,uBACI,WR9DO,6BQiEX,wBACI,gBAGJ,8BACI,UAGJ,4BACI,UAKR,WACI,aACA,mBACA,IRvGY,OQwGZ,gBACA,URzDc,OQ0Dd,sBACA,MRzJU,QQ4Jd,gBACI,MV3LQ,QU+LZ,iBACI,QV5MK,KU6ML,WR9JU,QQ+JV,cV7KY,OUgLhB,gBACI,aACA,mBACA,IR3HY,MQ4HZ,cVrNK,KUwNT,kBACI,WACA,YACA,eAGJ,eACI,URtFc,QQuFd,YRlFoB,IQmFpB,MRrLU,QQwLd,mBACI,aACA,eACA,IR/IY,OQkJhB,sBZmBI,oBACA,mBACA,IIvKY,OJwKZ,qBACA,UIzHc,OJ0Hd,YIpHoB,IJqHpB,WI9NU,QJ+NV,MI1NU,QJ2NV,cI/Ja,MJiKb,mCAhOA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,yCACI,aAuNJ,mCAjQA,aACA,mBACA,uBAkQI,WACA,YACA,eACA,MEjQI,QFkQJ,kBAEA,yCACI,0BACA,MEpQH,QU4NT,sBAEI,eAEA,+BACI,WRhOW,oBQiOX,MVrOE,QU0OV,aACI,aACA,mBACA,IR/JY,MQgKZ,mBACA,WR5NY,QQ6NZ,cV1NY,OU2NZ,URpHc,OQqHd,MV7OG,QU+OH,eACI,URvHU,QQ0Hd,yBACI,sBACA,YRtHkB,IQ2H1B,kBACI,aACA,sBACA,IRrLY,OQsLZ,QV9QK,KU+QL,WRhOU,QQiOV,cV/OY,OUgPZ,URxIc,QQyId,MRxOU,QQ0OV,gCACI,aACA,mBACA,IR9LQ,MQgMR,kCACI,MV7QF,QU8QE,URlJM,QQqJV,2CACI,MVnRA,QU0RR,oDACI,aAGJ,sDACI,cVxQW,MW7Bf,kFACI,wBAC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","file":"entity-selector.css","sourcesContent":["/**\n * Entity Selector Mixins\n * Reusable patterns - prefer Bootstrap utilities in HTML where possible\n */\n\n@use 'variables' as *;\n\n// =============================================================================\n// Layout\n// =============================================================================\n\n@mixin flex-center {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@mixin flex-between {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n@mixin grid-columns($cols) {\n display: grid;\n grid-template-columns: repeat($cols, 1fr);\n gap: $es-spacing-sm;\n}\n\n// =============================================================================\n// Text\n// =============================================================================\n\n@mixin text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n// =============================================================================\n// Interactive Elements\n// =============================================================================\n\n// Reset button styles\n@mixin button-reset {\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n cursor: pointer;\n font: inherit;\n color: inherit;\n\n &:focus {\n outline: none;\n }\n}\n\n// Focus ring (Bootstrap 4 style)\n@mixin focus-ring($color: $es-primary) {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba($color, 0.25);\n}\n\n// Interactive hover state\n@mixin interactive-item {\n cursor: pointer;\n transition: background-color $es-transition-fast, color $es-transition-fast;\n\n &:hover {\n background-color: $es-bg-hover;\n }\n}\n\n// =============================================================================\n// Cards & Containers\n// =============================================================================\n\n@mixin card {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n}\n\n@mixin dropdown-container {\n position: absolute;\n z-index: $es-z-dropdown;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n box-shadow: $es-shadow-lg;\n}\n\n// =============================================================================\n// Form Elements\n// =============================================================================\n\n// Reset input styles (for inputs in custom wrappers)\n@mixin input-reset {\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n font: inherit;\n color: inherit;\n\n &:focus {\n outline: none;\n }\n}\n\n@mixin input-base {\n width: 100%;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n line-height: $es-line-height-normal;\n color: $es-text-primary;\n background-color: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n transition: border-color $es-transition-fast, box-shadow $es-transition-fast;\n\n &:focus {\n border-color: $es-primary;\n @include focus-ring($es-primary);\n }\n\n &::placeholder {\n color: $es-text-light;\n }\n}\n\n// =============================================================================\n// Scrollbar\n// =============================================================================\n\n@mixin custom-scrollbar {\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background: $es-gray-100;\n border-radius: 3px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: $es-gray-300;\n border-radius: 3px;\n\n &:hover {\n background: $es-gray-400;\n }\n }\n}\n\n// =============================================================================\n// Badges & Chips\n// =============================================================================\n\n@mixin badge($bg: $es-gray-200, $color: $es-gray-700) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.125rem 0.5rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n line-height: 1;\n background-color: $bg;\n color: $color;\n border-radius: $es-radius-full;\n}\n\n// Count badge with preview icon (used for tab badges, match counts, totals)\n// Note: Eye icon is provided in HTML via \n@mixin count-badge($bg: $es-primary) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.25rem;\n min-width: 20px;\n height: 20px;\n padding: 0 0.5rem;\n background: $bg;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n cursor: pointer;\n transition: all $es-transition-fast;\n flex-shrink: 0;\n\n &:hover {\n transform: scale(1.05);\n box-shadow: 0 2px 8px rgba($bg, 0.4);\n }\n\n // Focus state - maintain styled appearance\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px rgba($bg, 0.3), 0 2px 8px rgba($bg, 0.4);\n }\n\n // Loading state - spinner icon replaces eye\n &.loading {\n cursor: wait;\n\n i {\n font-size: 10px;\n animation: spin 0.6s linear infinite;\n }\n\n &:hover {\n transform: none;\n box-shadow: none;\n }\n }\n\n // Inactive/empty state\n &.inactive,\n &.no-matches {\n background: $es-slate-400;\n cursor: default;\n\n &:hover {\n transform: none;\n box-shadow: none;\n }\n }\n\n // Popover open state\n &.popover-open {\n background: darken($bg, 10%);\n box-shadow: 0 2px 8px rgba($bg, 0.4);\n }\n\n // Icon inside badge (eye, spinner, etc.)\n i {\n font-size: 10px;\n line-height: 1;\n opacity: 0.8;\n }\n\n &:hover i {\n opacity: 1;\n }\n\n .preview-count {\n font-weight: $es-font-weight-bold;\n }\n}\n\n@keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n@mixin chip {\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-xs $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n background: $es-gray-200;\n color: $es-gray-700;\n border-radius: $es-radius-full;\n\n .chip-remove {\n @include button-reset;\n @include flex-center;\n width: 14px;\n height: 14px;\n font-size: 10px;\n color: $es-text-muted;\n border-radius: 50%;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n }\n}\n\n// =============================================================================\n// Toggle Switch\n// =============================================================================\n\n@mixin toggle-switch($width: 36px, $height: 20px) {\n position: relative;\n width: $width;\n height: $height;\n border-radius: $height;\n background: $es-gray-400;\n transition: background-color $es-transition-normal;\n cursor: pointer;\n\n &::after {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: $height - 4px;\n height: $height - 4px;\n background: $es-white;\n border-radius: 50%;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n transition: transform $es-transition-normal;\n }\n\n &.active {\n background: $es-success;\n\n &::after {\n transform: translateX($width - $height);\n }\n }\n}\n\n// =============================================================================\n// Screen Reader Only\n// =============================================================================\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n","/**\n * Form Integration Styles\n * Handles PrestaShop admin form layout overrides\n */\n\n@use '../variables' as *;\n\n// Base border reset for all entity-selector elements\n.target-conditions-trait,\n.target-conditions-trait *,\n.entity-selector-trait,\n.entity-selector-trait *,\n.method-dropdown-menu,\n.method-dropdown-menu *,\n.target-preview-popover,\n.target-preview-popover * {\n border-style: solid;\n border-width: 0;\n border-color: $es-border-color;\n}\n\n// Full-width form group override using :has()\n.form-group:has(.entity-selector-trait),\n.form-group:has(.target-conditions-trait),\n.form-group:has(.condition-trait) {\n display: block;\n\n > .control-label {\n display: none;\n }\n\n > .col-lg-8 {\n width: 100%;\n max-width: 100%;\n padding-left: $es-spacing-md;\n padding-right: $es-spacing-md;\n flex: 0 0 100% !important;\n }\n}\n\n// Fallback class for browsers without :has() support\n.form-group.condition-trait-fullwidth {\n display: block;\n\n > .control-label {\n display: none;\n }\n\n > .col-lg-8 {\n width: 100%;\n max-width: 100%;\n padding-left: $es-spacing-md;\n padding-right: $es-spacing-md;\n flex: 0 0 100% !important;\n }\n}\n\n// Dropdown overflow fix\n// When dropdown is open, parent containers must allow overflow\n.panel:has(.target-search-dropdown.show),\n.card:has(.target-search-dropdown.show),\n.form-wrapper:has(.target-search-dropdown.show),\n.panel-body:has(.target-search-dropdown.show),\n.card-body:has(.target-search-dropdown.show),\n.form-group:has(.target-search-dropdown.show),\n.col-lg-8:has(.target-search-dropdown.show),\n.col-lg-12:has(.target-search-dropdown.show) {\n overflow: visible !important;\n}\n\n// Target conditions wrapper hierarchy overflow fix\n.target-conditions-trait:has(.target-search-dropdown.show),\n.entity-selector-trait:has(.target-search-dropdown.show),\n.condition-trait-body:has(.target-search-dropdown.show),\n.target-block-content:has(.target-search-dropdown.show),\n.target-block-groups:has(.target-search-dropdown.show),\n.target-group:has(.target-search-dropdown.show),\n.target-group-body:has(.target-search-dropdown.show),\n.target-search-wrapper:has(.target-search-dropdown.show) {\n overflow: visible !important;\n}\n","/**\n * MPR Admin Variables\n * @package prestashop-admin\n */\n\n// Spacing scale (Bootstrap 4 compatible)\n$spacer: 1rem;\n$spacers: (\n 0: 0,\n 1: $spacer * 0.25,\n 2: $spacer * 0.5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3\n);\n\n// Colors - PrestaShop Admin Theme\n$primary: #25b9d7;\n$secondary: #6c757d;\n$success: #28a745;\n$danger: #dc3545;\n$warning: #ffc107;\n$info: #17a2b8;\n$light: #f8f9fa;\n$dark: #343a40;\n\n$colors: (\n primary: $primary,\n secondary: $secondary,\n success: $success,\n danger: $danger,\n warning: $warning,\n info: $info,\n light: $light,\n dark: $dark\n);\n\n// Border\n$border-color: #dee2e6;\n$border-radius: 0.25rem;\n$border-radius-sm: 0.2rem;\n$border-radius-lg: 0.3rem;\n\n// Breakpoints\n$breakpoint-sm: 576px;\n$breakpoint-md: 768px;\n$breakpoint-lg: 991px;\n$breakpoint-xl: 1200px;\n","/**\n * Responsive Styles\n * Media query adjustments for different screen sizes\n */\n\n@use '../variables' as *;\n\n// Tablet and below\n@media (max-width: 991px) {\n .target-conditions-trait,\n .entity-selector-trait {\n .condition-trait-header {\n flex-direction: column;\n align-items: flex-start;\n gap: $es-spacing-sm;\n }\n\n .trait-header-right {\n width: 100%;\n justify-content: flex-end;\n }\n\n .target-block-tabs {\n flex-wrap: wrap;\n }\n }\n}\n\n// Mobile\n@media (max-width: 767px) {\n .target-conditions-trait,\n .entity-selector-trait {\n .target-block-tab {\n padding: $es-spacing-sm;\n font-size: $es-font-size-xs;\n }\n\n .target-group-header {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .target-search-dropdown {\n width: 100% !important;\n left: 0 !important;\n right: 0 !important;\n }\n\n .dropdown-results-grid {\n grid-template-columns: 1fr !important;\n }\n }\n}\n\n// High-resolution displays\n@media (min-width: 1600px) {\n .target-conditions-trait,\n .entity-selector-trait {\n .dropdown-results-grid.view-grid-3 {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n}\n","/**\n * Entity Selector Variables\n * Bootstrap 4 compatible values for PrestaShop admin theme\n *\n * Imports shared variables from prestashop-admin package\n * and maps them to $es-* prefixed aliases for this package\n */\n\n// Import shared variables from prestashop-admin\n@use '../../../prestashop-admin/assets/scss/variables' as admin;\n\n// =============================================================================\n// Base Colors\n// =============================================================================\n\n$es-white: #ffffff !default;\n$es-black: #000000 !default;\n\n// Primary (from prestashop-admin)\n$es-primary: admin.$primary !default;\n$es-primary-hover: #1a9ab7 !default;\n$es-primary-light: rgba(37, 185, 215, 0.1) !default;\n\n// Semantic colors (from prestashop-admin)\n$es-success: admin.$success !default;\n$es-success-light: #d4edda !default;\n$es-success-dark: #1e7e34 !default;\n\n$es-danger: admin.$danger !default;\n$es-danger-light: #f8d7da !default;\n$es-danger-dark: #bd2130 !default;\n\n$es-warning: admin.$warning !default;\n$es-warning-light: #fff3cd !default;\n\n$es-info: admin.$info !default;\n$es-info-light: #d1ecf1 !default;\n\n// =============================================================================\n// Gray Scale (Bootstrap 4)\n// =============================================================================\n\n$es-gray-100: admin.$light !default;\n$es-gray-200: #e9ecef !default;\n$es-gray-300: admin.$border-color !default;\n$es-gray-400: #ced4da !default;\n$es-gray-500: #adb5bd !default;\n$es-gray-600: admin.$secondary !default;\n$es-gray-700: #495057 !default;\n$es-gray-800: admin.$dark !default;\n$es-gray-900: #212529 !default;\n\n// Slate (subtle variations)\n$es-slate-50: #f8fafc !default;\n$es-slate-100: #f1f5f9 !default;\n$es-slate-200: #e2e8f0 !default;\n$es-slate-300: #cbd5e1 !default;\n$es-slate-400: #94a3b8 !default;\n$es-slate-500: #64748b !default;\n$es-slate-600: #475569 !default;\n$es-slate-700: #334155 !default;\n$es-slate-800: #1e293b !default;\n$es-slate-900: #0f172a !default;\n\n// Cyan\n$es-cyan-50: #ecfeff !default;\n$es-cyan-100: #cffafe !default;\n$es-cyan-200: #a5f3fc !default;\n$es-cyan-500: #06b6d4 !default;\n$es-cyan-600: #0891b2 !default;\n$es-cyan-700: #0e7490 !default;\n\n// =============================================================================\n// Semantic Aliases\n// =============================================================================\n\n$es-bg-header: $es-gray-100 !default;\n$es-bg-hover: $es-gray-200 !default;\n$es-bg-active: $es-gray-200 !default;\n$es-bg-body: $es-white !default;\n\n$es-border-color: admin.$border-color !default;\n$es-border-light: $es-gray-200 !default;\n$es-border-dark: $es-gray-400 !default;\n\n$es-text-primary: $es-gray-900 !default;\n$es-text-secondary: $es-gray-700 !default;\n$es-text-muted: $es-gray-600 !default;\n$es-text-light: $es-gray-500 !default;\n\n// =============================================================================\n// Spacing (Bootstrap 4 compatible, derived from admin.$spacer)\n// =============================================================================\n\n$es-spacing-xs: admin.$spacer * 0.25 !default; // 4px\n$es-spacing-sm: admin.$spacer * 0.5 !default; // 8px\n$es-spacing-md: admin.$spacer !default; // 16px\n$es-spacing-lg: admin.$spacer * 1.5 !default; // 24px\n$es-spacing-xl: admin.$spacer * 2 !default; // 32px\n\n// =============================================================================\n// Border Radius (from prestashop-admin)\n// =============================================================================\n\n$es-radius-sm: admin.$border-radius-sm !default;\n$es-radius-md: admin.$border-radius !default;\n$es-radius-lg: admin.$border-radius-lg !default;\n$es-radius-xl: 0.5rem !default;\n$es-radius-full: 50rem !default;\n\n// =============================================================================\n// Box Shadows (Bootstrap 4 compatible)\n// =============================================================================\n\n$es-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !default;\n$es-shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !default;\n$es-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175) !default;\n$es-shadow-xl: 0 1.5rem 4rem rgba(0, 0, 0, 0.2) !default;\n\n// =============================================================================\n// Transitions\n// =============================================================================\n\n$es-transition-fast: 0.15s ease-in-out !default;\n$es-transition-normal: 0.2s ease-in-out !default;\n$es-transition-slow: 0.3s ease-in-out !default;\n\n// =============================================================================\n// Z-Index (below Bootstrap modal)\n// =============================================================================\n\n$es-z-dropdown: 1000 !default;\n$es-z-modal: 1050 !default;\n$es-z-popover: 1060 !default;\n$es-z-tooltip: 1070 !default;\n\n// =============================================================================\n// Typography\n// =============================================================================\n\n$es-font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif !default;\n\n$es-font-size-xs: 0.75rem !default; // 12px\n$es-font-size-sm: 0.875rem !default; // 14px\n$es-font-size-base: 1rem !default; // 16px\n$es-font-size-lg: 1.125rem !default; // 18px\n\n$es-font-weight-normal: 400 !default;\n$es-font-weight-medium: 500 !default;\n$es-font-weight-semibold: 600 !default;\n$es-font-weight-bold: 700 !default;\n\n$es-line-height-tight: 1.25 !default;\n$es-line-height-normal: 1.5 !default;\n","/**\n * Entity Selector - Main Component Styles\n * Wrapper, header, body, tabs, blocks\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Main wrapper (supports both .target-conditions-trait and .entity-selector-trait)\n.target-conditions-trait,\n.entity-selector-trait {\n position: relative;\n overflow: visible;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n\n // Trait Header (collapsible)\n .condition-trait-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: $es-spacing-md;\n padding: 0.875rem $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n }\n\n .trait-header-left {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n min-width: 0;\n flex: 1;\n }\n\n .trait-icon {\n font-size: $es-font-size-lg;\n color: $es-text-muted;\n flex-shrink: 0;\n }\n\n .trait-title-group {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n min-width: 0;\n }\n\n .trait-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n white-space: nowrap;\n }\n\n .trait-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n // Total count badge in header\n .trait-total-count {\n @include count-badge($es-primary);\n margin-left: $es-spacing-sm;\n }\n\n // Show all toggle switch\n .trait-show-all-toggle {\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-right: 0.75rem;\n padding: 0.25rem $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.05);\n }\n\n .toggle-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n }\n\n .show-all-checkbox {\n display: none;\n }\n\n .toggle-slider {\n position: relative;\n width: 36px;\n height: 20px;\n background: $es-slate-300;\n border-radius: $es-radius-full;\n transition: background-color $es-transition-normal;\n\n &::after {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: 16px;\n height: 16px;\n background: $es-white;\n border-radius: 50%;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n transition: transform $es-transition-normal;\n }\n }\n\n .show-all-checkbox:checked + .toggle-slider {\n background: $es-success;\n\n &::after {\n transform: translateX(16px);\n }\n }\n }\n\n // Validation error states\n &.has-validation-error {\n border-color: $es-danger;\n box-shadow: 0 0 0 3px rgba($es-danger, 0.1);\n\n .condition-trait-header {\n border-bottom-color: $es-danger;\n }\n }\n\n .trait-validation-error {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: 0.625rem $es-spacing-md;\n background: $es-danger-light;\n color: #b91c1c;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n border-bottom: 1px solid #fecaca;\n\n i {\n color: $es-danger;\n }\n }\n\n // Required indicator\n &.trait-required .trait-title::after {\n content: ' *';\n color: $es-danger;\n }\n\n // Body\n .condition-trait-body {\n padding: 0;\n background: $es-white;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n // Block type tabs\n .target-block-tabs {\n display: flex;\n flex-wrap: wrap;\n gap: 0;\n padding: 0;\n background: $es-slate-100;\n border-bottom: 1px solid $es-border-color;\n }\n\n .target-block-tab {\n position: relative;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex: none;\n min-width: 0;\n padding: 0.625rem $es-spacing-md;\n margin-bottom: -1px;\n background: transparent;\n border: 0;\n border-bottom: 2px solid transparent;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-slate-700;\n }\n\n &.active {\n background: $es-white;\n border-bottom-color: $es-cyan-500;\n color: $es-primary;\n }\n\n i {\n font-size: $es-font-size-sm;\n }\n\n .tab-label {\n white-space: nowrap;\n }\n\n .tab-badge {\n @include count-badge($es-primary);\n }\n\n &.has-data:not(.active) .tab-badge {\n @include count-badge($es-slate-400);\n }\n }\n\n // Block container\n .target-block-container {\n display: none;\n\n &.active {\n display: block;\n }\n }\n\n .target-block-content {\n padding: $es-spacing-md;\n }\n\n .target-block-groups {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-md;\n }\n\n // Block header (for standalone blocks)\n .target-block-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n }\n\n // Empty state\n .target-block-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n }\n\n p {\n margin: 0;\n font-size: $es-font-size-sm;\n }\n }\n\n // Collapse toggle\n .trait-collapse-toggle,\n .collapse-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n cursor: pointer;\n transition: transform $es-transition-normal;\n\n &.collapsed {\n transform: rotate(-90deg);\n }\n }\n\n // Header actions\n .trait-header-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n // Collapsed state\n &.collapsed {\n .condition-trait-body {\n display: none;\n }\n\n .condition-trait-header {\n border-radius: $es-radius-lg;\n }\n }\n}\n\n// Single mode specific styles\n.target-conditions-trait.single-mode,\n.entity-selector-trait.single-mode {\n .target-block-tabs {\n display: none;\n }\n\n .target-block-container {\n display: block;\n }\n}\n\n// Header action buttons\n.target-conditions-trait,\n.entity-selector-trait {\n .header-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .header-action-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n background: transparent;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n i {\n font-size: 12px;\n }\n }\n}\n","/**\n * Search Dropdown Component\n * Includes search input, filter panel, results grid\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Search wrapper\n .target-search-wrapper {\n position: relative;\n }\n\n // Search dropdown\n .target-search-dropdown {\n @include dropdown-container;\n display: none;\n width: 600px;\n max-width: calc(100vw - 40px);\n\n &.show {\n display: block;\n }\n }\n\n // Dropdown header\n .dropdown-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n }\n\n .dropdown-search-input {\n @include input-base;\n flex: 1;\n padding: $es-spacing-sm $es-spacing-md;\n }\n\n .dropdown-close-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: $es-text-muted;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n }\n\n // Dropdown controls bar\n .dropdown-controls {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border-bottom: 1px solid $es-border-color;\n }\n\n .dropdown-controls-left,\n .dropdown-controls-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n // View mode buttons\n .view-mode-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n background: transparent;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-text-secondary;\n }\n\n &.active {\n background: $es-primary;\n color: $es-white;\n }\n }\n\n // Results count\n .dropdown-results-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n // Dropdown body\n .dropdown-body {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n // Results container\n .dropdown-results {\n padding: 0 $es-spacing-sm;\n }\n\n // Results count text\n .results-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n padding: $es-spacing-xs $es-spacing-sm;\n }\n\n // Results header (for list view columns)\n .results-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-md;\n background: $es-slate-100;\n border-bottom: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n }\n\n // Grid view\n .dropdown-results-grid {\n display: grid;\n gap: $es-spacing-sm;\n\n &.view-list {\n grid-template-columns: 1fr;\n }\n\n &.view-grid-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n\n &.view-grid-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n\n // Result item (both class names for compatibility)\n // Note: Main dropdown-item styling is in the global .target-search-dropdown section below\n .dropdown-result-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm 0;\n background: $es-white;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n cursor: pointer;\n transition: background $es-transition-fast;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n\n &:hover {\n background: $es-white;\n }\n }\n }\n\n .result-item-image,\n .result-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n .result-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n background: $es-slate-100;\n border-radius: $es-radius-sm;\n color: $es-text-muted;\n\n i {\n font-size: 16px;\n }\n }\n\n .result-item-info,\n .result-info {\n flex: 1;\n min-width: 0;\n }\n\n .result-item-name,\n .result-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .result-item-meta,\n .result-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .subtitle-line {\n @include text-truncate;\n }\n\n .subtitle-line-primary {\n color: $es-text-secondary;\n }\n\n .subtitle-line-secondary {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n // Result columns (for product list view)\n .result-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n font-size: $es-font-size-xs;\n }\n\n .result-col-price {\n color: $es-text-secondary;\n }\n\n .result-col-sale {\n color: $es-danger;\n font-weight: $es-font-weight-semibold;\n }\n\n .result-col-stock {\n .col-value {\n &.stock-ok {\n color: $es-success;\n }\n\n &.stock-low {\n color: $es-warning;\n }\n\n &.stock-out {\n color: $es-danger;\n }\n }\n }\n\n .result-col-sales {\n color: $es-text-muted;\n }\n\n .col-value {\n display: block;\n }\n\n .result-item-checkbox,\n .result-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n border: 2px solid $es-border-dark;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n i {\n display: none;\n font-size: 10px;\n color: $es-white;\n }\n\n .dropdown-result-item.selected &,\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n\n // Product-specific result item\n .result-item-product {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n // No results state\n .no-results {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n font-size: 1.25rem;\n opacity: 0.5;\n }\n }\n\n // Empty state\n .dropdown-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n }\n\n p {\n margin: 0;\n font-size: $es-font-size-sm;\n }\n }\n\n // Loading state\n .dropdown-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n\n i {\n font-size: 1.5rem;\n animation: spin 1s linear infinite;\n }\n }\n\n // Load more controls\n .load-more-controls {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n border-top: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n .remaining-count {\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n }\n\n .load-more-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 70px;\n }\n }\n\n // Load more button\n .dropdown-load-more {\n display: flex;\n justify-content: center;\n padding: $es-spacing-md;\n border-top: 1px solid $es-border-color;\n\n .load-more-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n background: $es-primary-light;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-primary, 0.2);\n }\n\n &.loading {\n opacity: 0.7;\n cursor: wait;\n }\n }\n }\n\n // Dropdown footer\n .dropdown-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n .dropdown-selection-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n strong {\n color: $es-primary;\n }\n }\n\n .dropdown-actions {\n display: flex;\n gap: $es-spacing-sm;\n }\n\n .dropdown-action-btn {\n @include button-reset;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &.btn-cancel {\n color: $es-text-secondary;\n background: $es-slate-100;\n\n &:hover {\n background: $es-slate-200;\n }\n }\n\n &.btn-apply {\n color: $es-white;\n background: $es-primary;\n\n &:hover {\n background: $es-primary-hover;\n }\n }\n }\n\n // Filter panel\n .dropdown-filter-panel {\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n }\n\n .filter-panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: $es-spacing-sm;\n }\n\n .filter-panel-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n }\n\n .filter-panel-toggle {\n @include button-reset;\n font-size: $es-font-size-xs;\n color: $es-primary;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n .filter-panel-content {\n display: grid;\n gap: $es-spacing-sm;\n grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n }\n\n .filter-group {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n }\n\n .filter-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n }\n\n .filter-select,\n .filter-input {\n @include input-base;\n padding: 0.375rem $es-spacing-sm;\n font-size: $es-font-size-xs;\n }\n}\n\n// Category tree view\n.target-conditions-trait,\n.entity-selector-trait {\n .category-tree {\n padding: $es-spacing-sm;\n }\n\n .tree-container {\n // Contains tree items\n }\n\n .tree-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n // Tree item (used by JavaScript)\n .tree-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: 0.375rem $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n\n .tree-checkbox {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n\n &.has-children {\n // Parent node styling\n }\n }\n\n // tree-toggle, btn-select-children, tree-checkbox, tree-icon styles in _tree.scss\n\n .tree-info {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n flex: 1;\n min-width: 0;\n }\n\n .tree-name {\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .tree-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n // Legacy category tree classes (for compatibility)\n .category-tree-item {\n padding: 0.25rem 0;\n }\n\n .category-tree-node {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n }\n }\n\n .category-tree-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: $es-text-muted;\n transition: transform $es-transition-fast;\n\n &.expanded {\n transform: rotate(90deg);\n }\n\n &.empty {\n visibility: hidden;\n }\n }\n\n .category-tree-checkbox {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n border: 2px solid $es-border-dark;\n border-radius: 3px;\n transition: all $es-transition-fast;\n\n &.checked {\n background: $es-primary;\n border-color: $es-primary;\n\n &::after {\n content: '\\2713';\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n color: $es-white;\n font-size: 10px;\n }\n }\n\n &.indeterminate {\n background: $es-primary;\n border-color: $es-primary;\n\n &::after {\n content: '\\2212';\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n color: $es-white;\n font-size: 10px;\n }\n }\n }\n\n .category-tree-name {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .category-tree-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .category-tree-children {\n margin-left: 24px;\n }\n\n // Search history\n .search-history-list {\n padding: $es-spacing-sm;\n }\n\n .history-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n > i {\n color: $es-text-muted;\n font-size: 14px;\n }\n }\n\n .history-query {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n }\n\n .btn-delete-history {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n opacity: 0;\n transition: all $es-transition-fast;\n\n .history-item:hover & {\n opacity: 1;\n }\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Filter panel\n .filter-panel {\n display: none;\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n\n &.show {\n display: block;\n }\n }\n\n .filter-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-sm;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // View mode select\n .view-mode-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 80px;\n }\n}\n\n// =============================================================================\n// Global dropdown styles (when appended to body instead of inside wrapper)\n// Duplicates key styles for when dropdown is outside .entity-selector-trait\n// =============================================================================\nbody > .target-search-dropdown,\n.target-search-dropdown {\n @include dropdown-container;\n display: none;\n width: 600px;\n max-width: calc(100vw - 40px);\n\n &.show {\n display: block;\n }\n\n // Dropdown header\n .dropdown-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n flex-wrap: wrap;\n }\n\n .results-count {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n white-space: nowrap;\n }\n\n .dropdown-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n flex-wrap: wrap;\n flex: 1;\n justify-content: flex-end;\n }\n\n .btn-select-all,\n .btn-clear-selection {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n border-color: $es-slate-300;\n }\n\n kbd {\n font-size: 0.65rem;\n padding: 0.125rem 0.25rem;\n background: $es-slate-100;\n border-radius: 2px;\n color: $es-text-muted;\n }\n }\n\n .sort-controls {\n display: flex;\n align-items: center;\n // No gap - elements are connected\n }\n\n .sort-field-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 80px;\n height: 28px; // Match btn-sort-dir height\n border-radius: $es-radius-sm 0 0 $es-radius-sm;\n border-right: none;\n }\n\n .btn-sort-dir {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 38px;\n min-width: 38px;\n flex-shrink: 0;\n height: 28px;\n padding: 0;\n margin: 0;\n color: $es-text-muted;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: 0 $es-radius-sm $es-radius-sm 0;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n i {\n font-size: 14px;\n }\n\n &:hover {\n background: $es-bg-hover;\n color: $es-text-primary;\n }\n\n &.active {\n background: $es-primary-light;\n border-color: $es-primary;\n color: $es-primary;\n }\n }\n\n .view-mode-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 80px;\n margin-left: 0.25rem;\n }\n\n .btn-toggle-filters,\n .btn-show-history {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n min-width: 32px;\n flex-shrink: 0;\n height: 28px;\n padding: 0;\n margin: 0;\n color: $es-text-muted;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n i {\n font-size: 14px;\n }\n\n &:hover {\n background: $es-bg-hover;\n color: $es-text-primary;\n }\n\n &.active {\n background: $es-primary-light;\n border-color: $es-primary;\n color: $es-primary;\n }\n }\n\n .refine-compact {\n display: flex;\n align-items: center;\n // No gap - elements are connected\n\n // Connected to refine-input\n .btn-refine-negate {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n min-width: 32px;\n flex-shrink: 0;\n height: 28px;\n padding: 0;\n margin: 0;\n color: $es-text-muted;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-right: none;\n border-radius: $es-radius-sm 0 0 $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n color: $es-text-primary;\n }\n\n &.active {\n background: $es-danger-light;\n color: $es-danger;\n border-color: $es-danger;\n }\n }\n\n .refine-input {\n @include input-base;\n width: 100px;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n border-radius: 0 $es-radius-sm $es-radius-sm 0;\n }\n\n .btn-clear-refine {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n margin: 0;\n margin-left: -1px; // Overlap input border when visible\n color: $es-text-muted;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: 0 $es-radius-sm $es-radius-sm 0;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n color: $es-text-primary;\n }\n }\n }\n\n // Filter panel\n .filter-panel {\n display: none;\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n\n &.show {\n display: block;\n }\n }\n\n .filter-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex-wrap: wrap;\n margin-bottom: $es-spacing-sm;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n .filter-label {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n cursor: pointer;\n\n input[type=\"checkbox\"] {\n margin: 0;\n }\n }\n\n .filter-price-range {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n\n .filter-price-label {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .filter-price-min,\n .filter-price-max {\n @include input-base;\n width: 70px;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n }\n\n .filter-price-sep {\n color: $es-text-muted;\n }\n }\n\n .btn-clear-filters {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n cursor: pointer;\n margin-left: auto;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n }\n\n // Multi-row filters\n .filter-row-multi {\n flex-direction: column;\n align-items: stretch;\n gap: $es-spacing-sm;\n }\n\n .filter-subrow {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex-wrap: wrap;\n }\n\n .filter-range-group,\n .filter-date-group,\n .filter-select-group {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n }\n\n .filter-range-label,\n .filter-date-label,\n .filter-select-label,\n .filter-row-label {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n white-space: nowrap;\n\n i {\n margin-right: 0.25rem;\n }\n }\n\n .filter-range-sep {\n color: $es-text-muted;\n }\n\n .filter-product-count-min,\n .filter-product-count-max,\n .filter-sales-min,\n .filter-sales-max,\n .filter-turnover-min,\n .filter-turnover-max,\n .filter-date-add-from,\n .filter-date-add-to,\n .filter-last-product-from,\n .filter-last-product-to {\n @include input-base;\n width: 70px;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n }\n\n .filter-depth-select,\n .filter-attribute-group-select,\n .filter-feature-group-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 100px;\n }\n\n .filter-attributes-container,\n .filter-features-container,\n .filter-values-container {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem;\n }\n\n // Filter group toggle buttons (attribute/feature groups)\n .filter-group-toggle {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n border-color: $es-slate-300;\n }\n\n &.active {\n background: $es-primary-light;\n border-color: $es-primary;\n color: $es-primary;\n\n .toggle-count {\n color: $es-primary;\n }\n }\n\n &.has-selection {\n border-color: $es-success;\n background: rgba($es-success, 0.05);\n\n .toggle-count {\n color: $es-success;\n font-weight: $es-font-weight-semibold;\n }\n }\n\n .toggle-name {\n font-weight: $es-font-weight-medium;\n }\n\n // Count with eye icon (like group-count-badge)\n .toggle-count {\n display: inline-flex;\n align-items: center;\n gap: 0.125rem;\n color: $es-text-muted;\n font-size: 0.65rem;\n\n i {\n font-size: 10px;\n color: $es-primary;\n }\n\n // Clickable preview badge\n &.clickable {\n cursor: pointer;\n padding: 0.125rem 0.25rem;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-primary, 0.1);\n color: $es-primary;\n\n i {\n color: $es-primary;\n }\n }\n\n &.popover-open {\n background: $es-primary;\n color: $es-white;\n\n i {\n color: $es-white;\n }\n }\n\n &.loading {\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n }\n }\n }\n\n // Filter value chips\n .filter-chip {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n background: $es-slate-100;\n border: 1px solid transparent;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.active {\n background: $es-primary;\n color: $es-white;\n }\n }\n\n // Filter attribute chip (specific)\n .filter-attr-chip,\n .filter-feat-chip {\n @extend .filter-chip;\n }\n\n // Filter row for values (expandable)\n .filter-row-values {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n\n .filter-values-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.25rem;\n flex: 1;\n }\n\n .filter-values-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n white-space: nowrap;\n }\n\n .btn-close-values {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n }\n }\n\n // Filter chip name and count\n .chip-name {\n font-weight: $es-font-weight-medium;\n }\n\n .chip-count {\n font-size: 0.6rem;\n color: $es-text-muted;\n margin-left: 0.125rem;\n }\n\n .filter-chip.active .chip-count {\n color: rgba(255, 255, 255, 0.8);\n }\n\n // Dropdown content\n .dropdown-content {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n .dropdown-items {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm;\n }\n\n .item-checkbox {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n border: 2px solid $es-border-dark;\n border-radius: 3px;\n transition: all $es-transition-fast;\n\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n }\n }\n\n .item-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n object-fit: cover;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n }\n\n .item-info {\n flex: 1;\n min-width: 0;\n }\n\n .item-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .item-meta {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n @include text-truncate;\n }\n\n // Dropdown footer\n .dropdown-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n .dropdown-footer-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .btn-cancel-dropdown {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-sm;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n\n &:hover {\n background: $es-bg-hover;\n color: $es-danger;\n border-color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n\n kbd {\n font-size: 0.65rem;\n padding: 0.125rem 0.25rem;\n background: $es-slate-100;\n border-radius: 2px;\n color: $es-text-muted;\n margin-left: 0.25rem;\n }\n }\n\n .btn-confirm-dropdown {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-sm;\n color: $es-white;\n background: $es-primary;\n border: 1px solid $es-primary;\n border-radius: $es-radius-sm;\n cursor: pointer;\n\n &:hover {\n background: $es-primary-hover;\n border-color: $es-primary-hover;\n }\n\n i {\n font-size: 10px;\n }\n\n kbd {\n font-size: 0.65rem;\n padding: 0.125rem 0.25rem;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 2px;\n color: rgba(255, 255, 255, 0.8);\n }\n }\n\n // Filter chips in dropdown\n .filter-chips-row {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n padding: $es-spacing-xs $es-spacing-md;\n border-bottom: 1px solid $es-border-color;\n }\n\n .filter-chip {\n @include chip;\n }\n\n // Empty and loading states\n .dropdown-empty,\n .dropdown-loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n margin-bottom: $es-spacing-sm;\n }\n }\n\n // Search history panel\n .search-history-panel {\n display: none;\n padding: $es-spacing-sm;\n background: $es-white;\n border-bottom: 1px solid $es-border-color;\n\n &.show {\n display: block;\n }\n }\n\n .history-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n i {\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n }\n\n span {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n }\n\n .btn-remove-history,\n .btn-delete-history {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-danger;\n }\n }\n }\n\n // Search history list container\n .search-history-list {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n }\n\n // Results header (for list view columns)\n .results-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-md;\n background: $es-slate-100;\n border-bottom: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n\n .header-spacer {\n width: 58px; // checkbox + image width\n flex-shrink: 0;\n }\n\n .header-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n }\n\n .header-col-name {\n flex: 1;\n text-align: left;\n }\n }\n\n // Results container\n .dropdown-results {\n padding: 0 $es-spacing-sm;\n background: $es-white;\n min-height: 200px;\n }\n\n // Dropdown item (search result)\n .dropdown-item {\n position: relative;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm 0;\n background: $es-white;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n cursor: pointer;\n transition: background $es-transition-fast;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n\n .result-checkbox {\n background: $es-primary;\n border-color: $es-primary;\n color: $es-white;\n\n i {\n display: block;\n }\n }\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n\n // Checkbox indicator\n .result-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n background: $es-white;\n border: 2px solid $es-border-dark;\n border-radius: 3px;\n transition: all $es-transition-fast;\n\n i {\n display: none;\n font-size: 10px;\n }\n }\n\n // View mode classes (applied to dropdown container) - no gap/padding for shared borders\n &.view-cols-2 .dropdown-results { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-3 .dropdown-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-4 .dropdown-results { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-5 .dropdown-results { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-6 .dropdown-results { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-7 .dropdown-results { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-8 .dropdown-results { display: grid; grid-template-columns: repeat(8, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n\n // Grid view item styling (compact cards with shared borders)\n &.view-cols-2,\n &.view-cols-3,\n &.view-cols-4,\n &.view-cols-5,\n &.view-cols-6,\n &.view-cols-7,\n &.view-cols-8 {\n .dropdown-item {\n flex-direction: column;\n align-items: center;\n text-align: center;\n padding: $es-spacing-sm;\n border: none;\n border-right: 1px solid $es-border-color;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n\n .result-checkbox {\n position: absolute;\n top: $es-spacing-xs;\n left: $es-spacing-xs;\n }\n\n .result-image,\n .result-icon {\n width: 48px;\n height: 48px;\n margin-bottom: $es-spacing-xs;\n }\n\n .result-info {\n width: 100%;\n }\n\n .result-name {\n font-size: $es-font-size-xs;\n line-height: 1.3;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .result-subtitle {\n display: none;\n }\n\n // Show compact product info in grid\n .result-col {\n display: none;\n }\n\n .result-grid-info {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 0.25rem;\n margin-top: $es-spacing-xs;\n font-size: 0.65rem;\n\n .grid-price {\n color: $es-text-primary;\n font-weight: $es-font-weight-semibold;\n }\n\n .grid-stock {\n color: $es-text-muted;\n\n &.stock-out { color: $es-danger; }\n &.stock-low { color: $es-warning; }\n }\n\n .grid-discount {\n color: $es-success;\n font-weight: $es-font-weight-medium;\n }\n }\n }\n\n // Hide results header in grid views\n .results-header {\n display: none;\n }\n }\n\n // Remove right border from last item in each row (per column count)\n &.view-cols-2 .dropdown-results .dropdown-item:nth-child(2n) { border-right: none; }\n &.view-cols-3 .dropdown-results .dropdown-item:nth-child(3n) { border-right: none; }\n &.view-cols-4 .dropdown-results .dropdown-item:nth-child(4n) { border-right: none; }\n &.view-cols-5 .dropdown-results .dropdown-item:nth-child(5n) { border-right: none; }\n &.view-cols-6 .dropdown-results .dropdown-item:nth-child(6n) { border-right: none; }\n &.view-cols-7 .dropdown-results .dropdown-item:nth-child(7n) { border-right: none; }\n &.view-cols-8 .dropdown-results .dropdown-item:nth-child(8n) { border-right: none; }\n\n // Smaller items for higher column counts\n &.view-cols-5,\n &.view-cols-6,\n &.view-cols-7,\n &.view-cols-8 {\n .dropdown-item {\n .result-image,\n .result-icon {\n width: 40px;\n height: 40px;\n }\n\n .result-name {\n font-size: 0.65rem;\n }\n }\n }\n\n // Product-specific result item\n .result-item-product {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex: 1;\n min-width: 0;\n }\n\n .result-item-image,\n .result-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n .result-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n background: $es-slate-100;\n border-radius: $es-radius-sm;\n color: $es-text-muted;\n\n i {\n font-size: 16px;\n }\n }\n\n .result-item-info,\n .result-info {\n flex: 1;\n min-width: 0;\n }\n\n .result-item-name,\n .result-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .result-item-meta,\n .result-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .subtitle-line {\n @include text-truncate;\n }\n\n .subtitle-line-primary {\n color: $es-text-secondary;\n }\n\n .subtitle-line-secondary {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n // Result columns (for product list view)\n .result-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n font-size: $es-font-size-xs;\n }\n\n .result-col-price {\n color: $es-text-secondary;\n }\n\n .result-col-sale {\n color: $es-danger;\n font-weight: $es-font-weight-semibold;\n }\n\n .result-col-stock {\n .col-value {\n &.stock-ok {\n color: $es-success;\n }\n\n &.stock-low {\n color: $es-warning;\n }\n\n &.stock-out {\n color: $es-danger;\n }\n }\n }\n\n .result-col-sales {\n color: $es-text-muted;\n }\n\n .col-value {\n display: block;\n }\n\n // Result checkbox\n .result-item-checkbox,\n .result-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n border: 2px solid $es-border-dark;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n i {\n display: none;\n font-size: 10px;\n color: $es-white;\n }\n\n .dropdown-result-item.selected &,\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n\n // No results state\n .no-results {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n font-size: 1.25rem;\n opacity: 0.5;\n }\n }\n\n // Load more controls\n .load-more-controls {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n .load-more-label,\n .load-more-of {\n white-space: nowrap;\n }\n\n .remaining-count {\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n }\n\n .load-more-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 60px;\n }\n\n .btn-load-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xs;\n margin: 0;\n border: none;\n color: $es-primary;\n background: $es-primary-light !important;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n font: inherit;\n\n i {\n font-size: 14px;\n }\n\n &:hover {\n background: rgba($es-primary, 0.2) !important;\n }\n }\n }\n\n // Load more button\n .dropdown-load-more {\n display: flex;\n justify-content: center;\n padding: $es-spacing-md;\n border-top: 1px solid $es-border-color;\n\n .load-more-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n background: $es-primary-light;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-primary, 0.2);\n }\n\n &.loading {\n opacity: 0.7;\n cursor: wait;\n }\n }\n }\n\n // Dropdown body\n .dropdown-body {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n // Tree view styles (for categories)\n .tree-container {\n padding: $es-spacing-sm;\n }\n\n .tree-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n .tree-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: 0.375rem $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n\n .tree-checkbox {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n }\n\n // tree-toggle, btn-select-children, tree-checkbox, tree-icon styles in _tree.scss\n\n .tree-info {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n flex: 1;\n min-width: 0;\n }\n\n .tree-name {\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .tree-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n}\n\n// ============================================================================\n// Standalone dropdown styles (for when dropdown is appended to body)\n// These selectors work because .target-search-dropdown is on the dropdown itself\n// ============================================================================\n\n.target-search-dropdown {\n // Results container - scrollable\n .dropdown-results {\n max-height: 400px;\n overflow-y: auto;\n padding: 0 $es-spacing-sm;\n @include custom-scrollbar;\n }\n\n // Results header (for list view columns)\n .results-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-md;\n background: $es-slate-100;\n border-bottom: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n\n .header-spacer {\n width: 58px; // checkbox + image width\n flex-shrink: 0;\n }\n\n .header-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n }\n\n .header-col-name {\n flex: 1;\n text-align: left;\n }\n }\n\n // Hide results-header by default, show only for products in list view\n &:not(.view-list) .results-header,\n &.view-tree .results-header {\n display: none;\n }\n\n // Result item for products\n .result-item-product {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex: 1;\n min-width: 0;\n }\n\n // Result columns for product data\n .result-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n font-size: $es-font-size-xs;\n }\n\n .result-col-price {\n color: $es-text-secondary;\n }\n\n .result-col-sale {\n color: $es-danger;\n font-weight: $es-font-weight-semibold;\n }\n\n .result-col-stock {\n .col-value {\n &.stock-ok { color: $es-success; }\n &.stock-low { color: $es-warning; }\n &.stock-out { color: $es-danger; }\n }\n }\n\n .result-col-sales {\n color: $es-text-muted;\n }\n\n // Dropdown item styling\n .dropdown-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: 0;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n }\n }\n\n // Result checkbox styling\n .result-checkbox {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border: 2px solid $es-border-dark;\n border-radius: 3px;\n transition: all $es-transition-fast;\n\n i {\n font-size: 10px;\n color: transparent;\n }\n\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n color: $es-white;\n }\n }\n }\n\n // Result image\n .result-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n // Result icon (for non-image entities)\n .result-icon {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n background: $es-slate-100;\n border-radius: $es-radius-sm;\n\n i {\n font-size: 16px;\n color: $es-text-muted;\n }\n }\n\n // Result info container\n .result-info {\n flex: 1;\n min-width: 0;\n }\n\n .result-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .result-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .subtitle-line {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .subtitle-line-primary {\n color: $es-text-secondary;\n }\n\n .subtitle-line-secondary {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n // Hide columns in grid/tree views\n &[class*=\"view-cols-\"] .result-col,\n &.view-tree .result-col {\n display: none;\n }\n\n // Entity search box - full width\n .entity-search-box {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n width: 100%;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n\n .entity-search-icon {\n color: $es-text-muted;\n flex-shrink: 0;\n margin-left: $es-spacing-xs;\n }\n\n // Override Bootstrap/parent form input styles\n input.entity-search-input,\n input.entity-search-input[type=\"text\"] {\n flex: 1;\n min-width: 0;\n width: auto !important;\n max-width: none !important;\n height: auto;\n padding: 0;\n margin: 0;\n border: none !important;\n outline: none;\n background: transparent !important;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n box-shadow: none !important;\n\n &::placeholder {\n color: $es-text-muted;\n }\n\n &:focus {\n border: none !important;\n box-shadow: none !important;\n outline: none;\n }\n }\n\n .search-loading {\n color: $es-text-muted;\n }\n }\n}\n\n// Body-level dropdown (when appended to body for z-index)\nbody > .target-search-dropdown {\n // Override dropdown-item border when inside body-appended dropdown\n .dropdown-item {\n border: none;\n border-radius: 0;\n\n &:not(:last-child) {\n border-bottom: 1px solid $es-border-color;\n }\n }\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n","/**\n * Chips Component\n * Entity chips, selection pills, tags\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Chips container wrapper with toolbar\n .chips-wrapper {\n display: flex;\n flex-direction: column;\n margin-top: $es-spacing-sm;\n background: $es-slate-50;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n overflow: hidden;\n }\n\n // Chips toolbar - search and actions\n .chips-toolbar {\n display: none; // Hidden by default, shown via JS when chips exist\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border-bottom: 1px solid $es-border-color;\n\n &.has-chips {\n display: flex;\n }\n\n // Search icon\n > i {\n color: $es-text-muted;\n font-size: 14px;\n flex-shrink: 0;\n }\n }\n\n .chips-search-input,\n input.chips-search-input,\n input.chips-search-input[type=\"text\"] {\n flex: 1 !important;\n min-width: 80px !important;\n max-width: none !important;\n width: auto !important;\n height: auto !important;\n padding: 0 !important;\n border: none !important;\n border-bottom: 1px solid transparent !important;\n border-radius: 0 !important;\n background: transparent !important;\n font-size: $es-font-size-sm !important;\n color: $es-text-primary;\n box-shadow: none !important;\n transition: border-color $es-transition-fast;\n\n &:focus {\n outline: none !important;\n border: none !important;\n border-bottom: 1px solid $es-primary !important;\n box-shadow: none !important;\n }\n\n &::placeholder {\n color: $es-text-muted;\n }\n }\n\n .chips-count {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.625rem;\n background: $es-primary;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n white-space: nowrap;\n\n &.has-filter {\n background: $es-cyan-500;\n }\n\n .count-filtered {\n font-weight: $es-font-weight-bold;\n }\n\n .count-separator {\n opacity: 0.7;\n }\n }\n\n .chips-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n margin-left: auto;\n }\n\n .btn-chips-clear {\n @include button-reset;\n display: flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.375rem 0.75rem;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n background: $es-danger;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: darken($es-danger, 8%);\n }\n\n i {\n font-size: 11px;\n }\n }\n\n // Chips container\n .entity-chips {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n padding: $es-spacing-md;\n min-height: 40px;\n max-height: 300px;\n overflow-y: auto;\n\n &:empty {\n display: none;\n }\n }\n\n // Load more button\n .chips-load-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border-top: 1px solid $es-border-color;\n\n .btn-load-more {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.5rem 1rem;\n color: $es-white;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n background: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-hover;\n }\n\n i {\n font-size: 12px;\n }\n }\n }\n\n // Individual chip\n .entity-chip {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n background: $es-slate-100;\n color: $es-text-secondary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n // Chip with image\n &.has-image {\n padding-left: 0.25rem;\n }\n\n // Hidden by search filter or pagination\n &.chip-filtered-out,\n &.chip-paginated-out {\n display: none;\n }\n }\n\n .chip-image {\n width: 20px;\n height: 20px;\n object-fit: cover;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .chip-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: $es-text-muted;\n flex-shrink: 0;\n\n // Product/entity images inside chip\n img {\n width: 20px;\n height: 20px;\n object-fit: cover;\n border-radius: $es-radius-sm;\n }\n }\n\n .chip-text,\n .chip-name {\n // Show full name, no truncation\n word-break: break-word;\n }\n\n .chip-remove {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n margin-left: 0.125rem;\n color: $es-text-muted;\n border-radius: 50%;\n flex-shrink: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Chip variants\n .entity-chip.chip-primary {\n background: $es-primary-light;\n color: $es-primary;\n\n &:hover {\n background: rgba($es-primary, 0.2);\n }\n }\n\n .entity-chip.chip-success {\n background: $es-success-light;\n color: $es-success-dark;\n\n &:hover {\n background: rgba($es-success, 0.2);\n }\n }\n\n .entity-chip.chip-danger {\n background: $es-danger-light;\n color: $es-danger;\n\n &:hover {\n background: rgba($es-danger, 0.2);\n }\n }\n\n .entity-chip.chip-warning {\n background: $es-warning-light;\n color: darken($es-warning, 20%);\n\n &:hover {\n background: rgba($es-warning, 0.3);\n }\n }\n\n // Chip loading state\n .entity-chip.loading,\n .entity-chip-loading {\n opacity: 0.7;\n\n .chip-remove {\n display: none;\n }\n\n .chip-icon i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n // Hidden chip (collapsed view)\n .entity-chip.chip-hidden {\n display: none;\n }\n\n // Chips expanded/collapsed states\n .entity-chips.chips-collapsed,\n .entity-chips.chips-expanded {\n position: relative;\n }\n\n // Show more/less toggle\n .chips-show-more-toggle {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n color: $es-primary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: color $es-transition-fast;\n\n &:hover {\n color: $es-primary-hover;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n .chips-collapse-toggle,\n .chips-expand-toggle {\n // Specific variants inherit from .chips-show-more-toggle\n }\n\n // More chips indicator\n .chips-more {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem 0.5rem;\n background: $es-slate-200;\n color: $es-text-secondary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-300;\n }\n }\n\n // Add chip button\n .chip-add-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background: transparent;\n color: $es-primary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border: 1px dashed $es-primary;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Inline chips (compact mode)\n .entity-chips.inline {\n display: inline-flex;\n padding: 0;\n min-height: auto;\n\n .entity-chip {\n padding: 0.125rem 0.375rem;\n font-size: 11px;\n }\n }\n\n // Selected chips section in include/exclude\n .selected-chips-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n }\n\n .selected-chips-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n }\n\n // Pattern chips (for name/reference patterns)\n .entity-chip.chip-pattern {\n background: #fef3c7;\n color: #92400e;\n font-family: monospace;\n\n &:hover {\n background: #fde68a;\n }\n\n .chip-icon {\n color: #d97706;\n }\n }\n\n // Range chips (price, quantity, etc.)\n .entity-chip.chip-range,\n .range-chip {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n background: $es-cyan-50;\n color: $es-cyan-600;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-cyan-100;\n }\n }\n\n .range-chip-text {\n font-family: monospace;\n }\n\n .btn-remove-range {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: $es-cyan-600;\n border-radius: 50%;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Multi-range chips container\n .multi-range-chips {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n margin-bottom: $es-spacing-xs;\n\n &:empty {\n display: none;\n }\n }\n\n // Pattern chips container\n .pattern-chips {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm 0;\n min-height: 32px;\n\n &:empty::before {\n content: attr(data-placeholder);\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-style: italic;\n }\n }\n\n // Pattern tag\n .pattern-tag {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background: #fef3c7;\n color: #92400e;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: #fde68a;\n }\n\n &.case-sensitive {\n .case-icon {\n color: $es-success;\n font-weight: $es-font-weight-bold;\n }\n }\n\n &.draft-tag {\n background: $es-white;\n border: 1px solid $es-border-color;\n padding: 0;\n flex: 1;\n min-width: 150px;\n\n &:hover {\n background: $es-white;\n }\n\n .pattern-input {\n flex: 1;\n min-width: 100px;\n padding: 0.375rem;\n border: 0;\n background: transparent;\n font-size: $es-font-size-sm;\n font-family: inherit;\n\n &:focus {\n outline: none;\n }\n\n &::placeholder {\n color: $es-text-muted;\n font-style: italic;\n }\n }\n }\n }\n\n .pattern-tag-text {\n font-family: monospace;\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .btn-toggle-case {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n }\n }\n\n .case-icon {\n font-size: 11px;\n font-weight: $es-font-weight-semibold;\n font-family: monospace;\n }\n\n .btn-remove-pattern {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n color: #d97706;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n .btn-add-pattern {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Pattern match count (in draft tag)\n .pattern-match-count {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0 0.375rem;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n cursor: pointer;\n\n &.count-zero {\n color: $es-warning;\n }\n\n &.count-found {\n color: $es-success;\n }\n\n .count-value {\n font-weight: $es-font-weight-semibold;\n }\n }\n\n // Pattern input row\n .pattern-input-row {\n display: flex;\n align-items: stretch;\n gap: $es-spacing-xs;\n }\n}\n","/**\n * Groups Component\n * Selection groups, include/exclude sections, method selectors\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Group container\n .target-group {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n overflow: hidden;\n }\n\n // Group header\n .target-group-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-md;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n }\n\n .target-group-title {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n\n .group-number {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 0.25rem;\n background: $es-primary;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-bold;\n border-radius: $es-radius-full;\n }\n }\n\n .target-group-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .group-action-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n &.danger:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n // Group body\n .target-group-body,\n .group-body {\n padding: $es-spacing-md;\n }\n\n // Include section\n .include-section {\n margin-bottom: $es-spacing-md;\n }\n\n .section-label {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n margin-bottom: $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n\n &.label-include {\n color: $es-success-dark;\n\n i {\n color: $es-success;\n }\n }\n\n &.label-exclude {\n color: $es-danger;\n\n i {\n color: $es-danger;\n }\n }\n }\n\n // Method selector\n .method-selector {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-sm;\n }\n\n .method-selector-wrapper {\n flex: 1;\n position: relative;\n }\n\n .method-select {\n @include input-base;\n padding-right: 2rem;\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E\");\n background-position: right 0.5rem center;\n background-repeat: no-repeat;\n background-size: 1.5em 1.5em;\n }\n\n .method-help-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-primary;\n }\n }\n\n // Value picker (search trigger)\n .value-picker {\n position: relative;\n }\n\n .value-picker-trigger {\n @include button-reset;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n width: 100%;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n text-align: left;\n transition: all $es-transition-fast;\n\n &:hover {\n border-color: $es-slate-300;\n }\n\n &:focus {\n border-color: $es-primary;\n @include focus-ring($es-primary);\n }\n\n i {\n color: $es-text-light;\n }\n }\n\n // Pattern input (text input for patterns)\n .pattern-input-wrapper {\n position: relative;\n }\n\n .pattern-input {\n @include input-base;\n font-family: monospace;\n }\n\n .pattern-add-btn {\n @include button-reset;\n position: absolute;\n right: 0.25rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n }\n\n // Multi-range input (price ranges)\n .multi-range-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .range-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .range-input {\n @include input-base;\n width: 100px;\n text-align: center;\n }\n\n .range-separator {\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n }\n\n .range-remove-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n .range-add-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n color: $es-primary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n }\n\n // Multi-select tiles (stock status, etc.)\n .multi-select-tiles {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n }\n\n .multi-select-tile {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n background: $es-slate-100;\n color: $es-text-secondary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border: 1px solid transparent;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.selected {\n background: $es-primary-light;\n color: $es-primary;\n border-color: $es-primary;\n }\n }\n\n // Exclude section\n .exclude-section {\n margin-top: $es-spacing-md;\n padding-top: $es-spacing-md;\n border-top: 1px dashed $es-border-color;\n }\n\n // Legacy exclude-rows (if used elsewhere)\n .exclude-rows {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .exclude-row-content {\n flex: 1;\n }\n\n .exclude-remove-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n flex-shrink: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n .add-exclude-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n margin-top: $es-spacing-sm;\n padding: 0.25rem 0.5rem;\n color: $es-danger;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border: 1px dashed $es-danger;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n }\n }\n\n // Add group button (used in block-footer)\n .btn-add-group {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.5rem 0.875rem;\n color: $es-primary;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n background: rgba($es-primary, 0.05);\n border: 1px dashed $es-primary;\n border-radius: 0.375rem;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-primary, 0.1);\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Block footer\n .block-footer {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-md;\n border-top: 1px solid $es-border-color;\n }\n\n // Block body\n .block-body {\n padding: 0;\n }\n\n // Groups container\n .groups-container {\n padding: $es-spacing-md;\n }\n\n // Groups empty state\n .groups-empty-state {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n }\n\n // Selection group\n .selection-group {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n margin-bottom: $es-spacing-md;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n &.collapsed {\n .group-body {\n display: none;\n }\n\n .group-collapse-toggle i {\n transform: rotate(-90deg);\n }\n }\n }\n\n // Group header\n .group-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n cursor: pointer;\n\n &.group-header-single {\n padding: $es-spacing-xs $es-spacing-md;\n background: transparent;\n border-bottom: none;\n }\n }\n\n .group-collapse-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n color: $es-text-muted;\n\n i {\n transition: transform $es-transition-fast;\n }\n }\n\n .group-name-wrapper {\n flex: 1;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .group-name-input {\n flex: 1;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n background: transparent;\n border: 1px solid transparent;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover,\n &:focus {\n background: $es-white;\n border-color: $es-border-color;\n outline: none;\n }\n\n &::placeholder {\n color: $es-text-muted;\n font-weight: $es-font-weight-medium;\n }\n }\n\n .group-count-badge {\n @include count-badge($es-primary);\n }\n\n .btn-remove-group {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n // Group include section - green accent to distinguish from exclude\n .group-include {\n margin-bottom: $es-spacing-md;\n padding: $es-spacing-sm;\n background: rgba($es-success, 0.03);\n border: 1px solid rgba($es-success, 0.2);\n border-radius: $es-radius-md;\n }\n\n .section-row {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n // Method selector wrapper (from PHP)\n .method-selector-wrapper {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .method-info-placeholder {\n display: flex;\n align-items: center;\n min-width: 20px;\n }\n\n .include-method-select,\n .exclude-method-select {\n flex: 1;\n @include input-base;\n cursor: pointer;\n }\n\n // Lock indicator for method selector (when excludes are present)\n .selector-locked {\n .include-method-select {\n opacity: 0.7;\n cursor: not-allowed;\n }\n }\n\n .lock-indicator {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-warning;\n cursor: help;\n\n i {\n font-size: 14px;\n }\n\n .mpr-tooltip {\n display: none;\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%);\n padding: $es-spacing-xs $es-spacing-sm;\n background: $es-slate-800;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-normal;\n white-space: nowrap;\n border-radius: $es-radius-sm;\n z-index: 100;\n }\n\n &:hover .mpr-tooltip {\n display: block;\n }\n }\n\n // Group excludes section\n .group-excludes {\n margin-top: $es-spacing-md;\n }\n\n .except-separator {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin: 0 0 $es-spacing-sm 0;\n\n // Lines on both sides\n &::before,\n &::after {\n content: '';\n flex: 1;\n height: 1px;\n background: rgba($es-danger, 0.3);\n }\n }\n\n .except-label {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.75rem;\n background: $es-danger-light;\n color: $es-danger;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n white-space: nowrap;\n flex-shrink: 0;\n\n i {\n font-size: 10px;\n }\n }\n\n .exclude-rows-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .exclude-row {\n display: flex;\n flex-direction: column;\n padding: $es-spacing-sm;\n background: rgba($es-danger, 0.03);\n border: 1px solid rgba($es-danger, 0.15);\n border-radius: $es-radius-md;\n\n // Value picker inside exclude row - full width\n .value-picker {\n width: 100%;\n margin-top: $es-spacing-sm;\n }\n }\n\n .exclude-header-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n width: 100%;\n\n .method-selector-wrapper {\n flex: 1;\n }\n\n // Delete button at the far right\n .btn-remove-exclude-row {\n flex-shrink: 0;\n margin-left: auto;\n }\n }\n\n .btn-remove-exclude-row {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n .btn-add-exclude,\n .btn-add-another-exclude {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n margin-top: $es-spacing-sm;\n padding: 0.375rem 0.625rem;\n color: $es-danger;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n background: transparent;\n border: 1px dashed rgba($es-danger, 0.5);\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n border-color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Group modifiers (inline version from PHP)\n // Uses negative margins to break out of .group-body padding\n .group-modifiers {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: $es-spacing-md;\n padding: $es-spacing-sm $es-spacing-md;\n margin: $es-spacing-md (-$es-spacing-md) (-$es-spacing-md);\n background: $es-slate-50;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n .modifier-inline {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n }\n\n // Common height for all modifier controls\n $modifier-height: 26px;\n\n .group-modifier-limit {\n width: 50px;\n max-width: 50px;\n height: $modifier-height;\n padding: 0 0.375rem;\n font-size: $es-font-size-xs;\n text-align: center;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n\n &:focus {\n border-color: $es-primary;\n outline: none;\n }\n }\n\n // Sort modifier - input group style (select + button glued together)\n .modifier-sort {\n gap: 0; // Remove gap to glue select + button together\n\n .modifier-label {\n margin-right: 0.375rem; // Keep space between label and input group\n }\n\n .group-modifier-sort {\n height: $modifier-height;\n padding: 0 0.5rem;\n font-size: $es-font-size-xs;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm 0 0 $es-radius-sm;\n border-right: none;\n cursor: pointer;\n\n &:focus {\n border-color: $es-primary;\n outline: none;\n position: relative;\n z-index: 1;\n }\n }\n\n .btn-sort-dir {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: $modifier-height;\n height: $modifier-height;\n color: $es-text-muted;\n background: $es-slate-100;\n border: 1px solid $es-border-color;\n border-radius: 0 $es-radius-sm $es-radius-sm 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n i {\n font-size: 11px;\n }\n }\n }\n\n // Fallback for elements outside .modifier-sort context\n .group-modifier-sort {\n height: $modifier-height;\n padding: 0 0.5rem;\n font-size: $es-font-size-xs;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n\n &:focus {\n border-color: $es-primary;\n outline: none;\n }\n }\n\n .btn-sort-dir {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: $modifier-height;\n height: $modifier-height;\n color: $es-text-muted;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-text-secondary;\n }\n }\n\n .group-preview-badge {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background: $es-slate-100;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &.clickable {\n cursor: pointer;\n\n &:hover {\n background: $es-primary-light;\n color: $es-primary;\n }\n }\n }\n\n // OR separator between groups\n .group-separator {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-sm 0;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n &::before,\n &::after {\n content: '';\n flex: 1;\n height: 1px;\n background: $es-border-color;\n margin: 0 $es-spacing-md;\n }\n }\n\n // Group modifiers (limit, sort)\n .group-modifiers {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-md;\n padding-top: $es-spacing-md;\n margin-top: $es-spacing-md;\n border-top: 1px solid $es-border-color;\n }\n\n .modifier-group {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .modifier-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n white-space: nowrap;\n }\n\n .modifier-input {\n @include input-base;\n width: 80px;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n }\n\n .modifier-select {\n @include input-base;\n width: auto;\n padding: 0.25rem 1.5rem 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E\");\n background-position: right 0.25rem center;\n background-repeat: no-repeat;\n background-size: 1.25em 1.25em;\n }\n\n // Condition match count badge\n .condition-match-count {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.125rem 0.375rem;\n background: $es-slate-100;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-full;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.has-results {\n background: $es-primary-light;\n color: $es-primary;\n }\n\n i {\n font-size: 10px;\n }\n }\n}\n","/**\n * Value Picker Component\n * Search boxes, input types, range inputs\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Value picker container\n .value-picker {\n padding: $es-spacing-sm 0;\n\n &[style*=\"display: none\"],\n &[style*=\"display:none\"] {\n padding: 0;\n }\n }\n\n .include-picker,\n .exclude-picker {\n // Section-specific picker styles\n }\n\n // Entity search box\n .entity-search-box {\n position: relative;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:focus-within {\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n }\n\n // Separation between chips and search box\n .chips-wrapper + .entity-search-box {\n margin-top: $es-spacing-md;\n }\n\n .entity-search-icon {\n color: $es-text-muted;\n font-size: 14px;\n flex-shrink: 0;\n margin-left: $es-spacing-xs;\n }\n\n // Override parent form's max-width on search input\n input.entity-search-input,\n input.entity-search-input[type=\"text\"] {\n @include input-reset;\n flex: 1;\n min-width: 0;\n width: auto !important;\n max-width: none !important;\n padding: 0.375rem;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n border: none !important;\n background: transparent !important;\n box-shadow: none !important;\n\n &::placeholder {\n color: $es-text-muted;\n }\n\n &:focus {\n border: none !important;\n box-shadow: none !important;\n outline: none;\n }\n }\n\n .search-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n color: $es-primary;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n // Browse tree button (for categories)\n .btn-browse-tree {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n margin-left: auto;\n color: $es-primary;\n background: $es-primary-light;\n border-radius: $es-radius-sm;\n flex-shrink: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary;\n color: $es-white;\n }\n\n i {\n font-size: 14px;\n }\n }\n\n // Numeric range box\n .numeric-range-box,\n .multi-range-input-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .range-min-input,\n .range-max-input {\n @include input-base;\n width: 100px;\n padding: $es-spacing-sm;\n text-align: center;\n font-size: $es-font-size-sm;\n\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n -moz-appearance: textfield;\n }\n\n .range-separator {\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n }\n\n .btn-add-range {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: $es-white;\n background: $es-primary;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-hover;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Multi-range container\n .multi-range-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n // Date range box\n .date-range-box {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .date-from-input,\n .date-to-input {\n @include input-base;\n width: 140px;\n padding: $es-spacing-sm;\n font-size: $es-font-size-sm;\n }\n\n // Multi-select tiles\n .multi-select-tiles {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n }\n\n .tile-option {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.625rem;\n color: $es-text-secondary;\n background: $es-slate-100;\n border: 1px solid transparent;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.selected {\n color: $es-primary;\n background: $es-primary-light;\n border-color: $es-primary;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n .tile-label {\n white-space: nowrap;\n }\n\n // Select input box\n .select-input-box {\n display: inline-block;\n }\n\n .select-value-input {\n @include input-base;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n min-width: 150px;\n }\n\n // Boolean input box\n .boolean-input-box {\n display: inline-flex;\n align-items: center;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-success-light;\n color: $es-success-dark;\n border-radius: $es-radius-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n }\n\n .boolean-label {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n\n &::before {\n content: '\\2713';\n font-weight: bold;\n }\n }\n\n // Condition match count badge\n .condition-match-count {\n @include count-badge($es-primary);\n margin-left: $es-spacing-sm;\n }\n}\n","/**\n * Modal Component\n * Preview modals, confirmation dialogs\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Modal backdrop\n.mpr-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: $es-z-modal;\n opacity: 0;\n transition: opacity $es-transition-normal;\n\n &.show {\n opacity: 1;\n }\n}\n\n// Modal container\n.mpr-modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0.95);\n z-index: $es-z-modal + 1;\n width: 90%;\n max-width: 600px;\n max-height: 90vh;\n background: $es-white;\n border-radius: $es-radius-xl;\n box-shadow: $es-shadow-xl;\n opacity: 0;\n transition: all $es-transition-normal;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n &.show {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n\n &.modal-sm {\n max-width: 400px;\n }\n\n &.modal-lg {\n max-width: 800px;\n }\n\n &.modal-xl {\n max-width: 1000px;\n }\n\n &.modal-fullscreen {\n width: 95%;\n max-width: none;\n height: 90vh;\n max-height: none;\n }\n}\n\n// Modal header\n.mpr-modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-md;\n padding: $es-spacing-md $es-spacing-lg;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n flex-shrink: 0;\n}\n\n.mpr-modal-title {\n font-size: $es-font-size-base;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n margin: 0;\n}\n\n.mpr-modal-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: $es-text-muted;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n i {\n font-size: $es-font-size-lg;\n }\n}\n\n// Modal body\n.mpr-modal-body {\n flex: 1;\n overflow-y: auto;\n padding: $es-spacing-lg;\n @include custom-scrollbar;\n}\n\n// Modal footer\n.mpr-modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: $es-spacing-sm;\n padding: $es-spacing-md $es-spacing-lg;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n flex-shrink: 0;\n}\n\n.mpr-modal-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &.btn-secondary {\n color: $es-text-secondary;\n background: $es-slate-100;\n\n &:hover {\n background: $es-slate-200;\n }\n }\n\n &.btn-primary {\n color: $es-white;\n background: $es-primary;\n\n &:hover {\n background: $es-primary-hover;\n }\n }\n\n &.btn-danger {\n color: $es-white;\n background: $es-danger;\n\n &:hover {\n background: darken($es-danger, 10%);\n }\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n// Preview popover styles moved to _list-preview.scss\n\n.popover-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n}\n\n.popover-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n}\n\n.popover-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n}\n\n.popover-body {\n max-height: 300px;\n overflow-y: auto;\n padding: $es-spacing-sm;\n @include custom-scrollbar;\n}\n\n.popover-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n}\n\n.popover-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n}\n\n.popover-load-more {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n}\n\n// Popover arrow\n.popover-arrow {\n position: absolute;\n width: 12px;\n height: 12px;\n background: $es-white;\n border: 1px solid $es-border-color;\n transform: rotate(45deg);\n\n &.arrow-top {\n top: -7px;\n left: 50%;\n margin-left: -6px;\n border-right: none;\n border-bottom: none;\n }\n\n &.arrow-bottom {\n bottom: -7px;\n left: 50%;\n margin-left: -6px;\n border-left: none;\n border-top: none;\n }\n}\n","/**\n * List Preview Component\n * Entity list display in modals and popovers\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// =============================================================================\n// Preview Popover (floating popover attached to badges)\n// =============================================================================\n\n.target-preview-popover {\n position: absolute;\n z-index: 10000;\n min-width: 280px;\n max-width: 400px;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n box-shadow: $es-shadow-lg;\n overflow: hidden;\n\n // Arrow pointing to badge\n &::before {\n content: '';\n position: absolute;\n top: -8px;\n left: 50%;\n transform: translateX(-50%);\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid $es-border-color;\n }\n\n &::after {\n content: '';\n position: absolute;\n top: -6px;\n left: 50%;\n transform: translateX(-50%);\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid $es-white;\n }\n\n .preview-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n\n .preview-count {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n }\n\n .preview-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n }\n }\n\n .preview-list {\n max-height: 300px;\n overflow-y: auto;\n @include custom-scrollbar;\n padding: $es-spacing-sm;\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n position: relative;\n\n // Loading overlay for AJAX filtering\n &.filtering {\n pointer-events: none;\n opacity: 0.6;\n }\n\n .filter-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba($es-white, 0.7);\n z-index: 10;\n\n i {\n font-size: 20px;\n color: $es-primary;\n animation: spin 0.6s linear infinite;\n }\n }\n }\n\n // Filter input section\n .preview-filter {\n padding: $es-spacing-sm;\n border-bottom: 1px solid $es-border-color;\n\n .preview-filter-input {\n width: 100%;\n padding: $es-spacing-xs $es-spacing-sm;\n font-size: $es-font-size-xs;\n line-height: 1.4;\n color: $es-text-primary;\n background-color: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n box-sizing: border-box;\n\n &:focus {\n border-color: $es-primary;\n outline: none;\n }\n\n &::placeholder {\n color: $es-text-muted;\n }\n }\n }\n\n .preview-footer {\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-slate-50;\n border-top: 1px solid $es-border-color;\n\n .preview-more-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n font-weight: $es-font-weight-medium;\n text-align: center;\n }\n }\n\n // Load more controls (select dropdown style)\n .load-more-controls {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n .load-more-label {\n white-space: nowrap;\n }\n\n .load-more-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 70px;\n }\n\n .load-more-of {\n white-space: nowrap;\n }\n\n .remaining-count {\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n }\n\n .btn-load-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xs;\n margin: 0;\n border: none;\n color: $es-primary;\n background: $es-primary-light !important;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n font: inherit;\n\n i {\n font-size: 14px;\n }\n\n &:hover {\n background: rgba($es-primary, 0.2) !important;\n }\n\n &.loading {\n cursor: wait;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n }\n }\n}\n\n// =============================================================================\n// Preview List Container\n// =============================================================================\n\n// Preview list container\n.entity-list-preview {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n}\n\n// Preview item (list-style with bottom border divider)\n.preview-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm 0;\n background: $es-white;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n transition: background $es-transition-fast;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover {\n background: $es-bg-hover;\n }\n}\n\n.preview-item-image {\n flex-shrink: 0;\n width: 36px;\n height: 36px;\n object-fit: cover;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n}\n\n.preview-item-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 36px;\n height: 36px;\n background: $es-slate-100;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-base;\n}\n\n.preview-item-info {\n flex: 1;\n min-width: 0;\n}\n\n.preview-item-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n}\n\n.preview-item-meta {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n @include text-truncate;\n}\n\n.preview-item-badge {\n @include badge($es-slate-100, $es-text-muted);\n flex-shrink: 0;\n}\n\n.preview-item-price {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n flex-shrink: 0;\n}\n\n// Preview grid layout\n.entity-list-preview.grid-layout {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n gap: $es-spacing-sm;\n\n .preview-item {\n flex-direction: column;\n text-align: center;\n padding: $es-spacing-md;\n }\n\n .preview-item-image {\n width: 60px;\n height: 60px;\n }\n\n .preview-item-info {\n width: 100%;\n }\n}\n\n// Compact list layout\n.entity-list-preview.compact {\n gap: 0;\n\n .preview-item {\n border-radius: 0;\n border-bottom: none;\n\n &:first-child {\n border-radius: $es-radius-md $es-radius-md 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 $es-radius-md $es-radius-md;\n border-bottom: 1px solid $es-border-color;\n }\n }\n}\n\n// Preview empty state\n.preview-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n }\n\n p {\n margin: 0;\n font-size: $es-font-size-sm;\n }\n}\n\n// Preview loading state\n.preview-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n\n .spinner {\n width: 24px;\n height: 24px;\n border: 3px solid $es-slate-200;\n border-top-color: $es-primary;\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n }\n}\n\n// Preview pagination\n.preview-pagination {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-md 0;\n}\n\n.preview-page-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 28px;\n height: 28px;\n padding: 0 $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover:not(:disabled) {\n background: $es-bg-hover;\n border-color: $es-slate-300;\n }\n\n &.active {\n background: $es-primary;\n border-color: $es-primary;\n color: $es-white;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n// Preview summary\n.preview-summary {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n}\n\n.preview-count {\n font-weight: $es-font-weight-medium;\n\n strong {\n color: $es-text-primary;\n }\n}\n\n// Preview filters in modal\n.preview-filters {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n}\n\n.preview-filter-chip {\n @include chip;\n}\n\n.preview-search {\n @include input-base;\n flex: 1;\n min-width: 150px;\n padding: 0.375rem $es-spacing-sm;\n font-size: $es-font-size-xs;\n}\n\n// Scrollable preview list\n.preview-list-scrollable {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n}\n\n// Mini preview (inline)\n.entity-mini-preview {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n background: $es-slate-50;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-xs;\n\n img {\n width: 16px;\n height: 16px;\n object-fit: cover;\n border-radius: 2px;\n }\n\n .mini-preview-name {\n color: $es-text-primary;\n font-weight: $es-font-weight-medium;\n @include text-truncate;\n max-width: 100px;\n }\n}\n\n\n// =============================================================================\n// Total Summary Popover (header total badge click)\n// =============================================================================\n\n.total-preview-popover {\n min-width: 240px;\n max-width: 320px;\n\n .preview-popover-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n\n .preview-popover-title {\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n font-size: $es-font-size-sm;\n }\n\n .preview-popover-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n }\n\n .preview-popover-body {\n padding: $es-spacing-xs 0;\n }\n\n .total-summary-list {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n .total-summary-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n cursor: pointer;\n transition: background-color 0.15s ease;\n\n &:hover {\n background: $es-slate-50;\n }\n\n i {\n width: 18px;\n text-align: center;\n color: $es-text-muted;\n font-size: 14px;\n }\n\n .summary-item-label {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n }\n\n .summary-item-count {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n background: rgba($es-primary, 0.1);\n padding: 2px 8px;\n border-radius: $es-radius-sm;\n }\n }\n}\n\n// Make trait-total-count clickable\n.trait-total-count {\n cursor: pointer;\n transition: all 0.15s ease;\n\n &:hover {\n opacity: 0.8;\n }\n\n &.popover-open {\n opacity: 0.9;\n }\n}\n","/**\n * Schedule Conditions Component\n * DateTime picker, weekly timeline, holidays\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Schedule conditions wrapper\n.schedule-conditions-trait {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n}\n\n// Schedule header\n.schedule-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-md;\n padding: 0.875rem $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n}\n\n.schedule-title {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n\n i {\n color: $es-text-muted;\n }\n}\n\n// Schedule body\n.schedule-body {\n padding: $es-spacing-md;\n}\n\n// Schedule section\n.schedule-section {\n margin-bottom: $es-spacing-lg;\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n.schedule-section-title {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-sm;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n\n i {\n color: $es-text-muted;\n }\n}\n\n.schedule-section-description {\n margin-bottom: $es-spacing-md;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n}\n\n// DateTime range picker\n.datetime-range {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-md;\n}\n\n.datetime-field {\n flex: 1;\n min-width: 200px;\n}\n\n.datetime-label {\n display: block;\n margin-bottom: 0.25rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n}\n\n.datetime-input {\n @include input-base;\n}\n\n// Weekly schedule\n.weekly-schedule {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n}\n\n.day-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-md;\n padding: $es-spacing-sm;\n background: $es-slate-50;\n border-radius: $es-radius-md;\n\n &.disabled {\n opacity: 0.5;\n }\n}\n\n.day-toggle {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n min-width: 100px;\n}\n\n.day-checkbox {\n width: 18px;\n height: 18px;\n cursor: pointer;\n}\n\n.day-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n}\n\n// Timeline slider\n.timeline-slider {\n flex: 1;\n position: relative;\n height: 24px;\n background: $es-slate-200;\n border-radius: $es-radius-full;\n cursor: pointer;\n}\n\n.timeline-fill {\n position: absolute;\n top: 0;\n height: 100%;\n background: $es-primary;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n}\n\n.timeline-handle {\n position: absolute;\n top: 50%;\n width: 16px;\n height: 16px;\n background: $es-white;\n border: 2px solid $es-primary;\n border-radius: 50%;\n transform: translate(-50%, -50%);\n cursor: grab;\n box-shadow: $es-shadow-sm;\n transition: box-shadow $es-transition-fast;\n\n &:hover {\n box-shadow: $es-shadow-md;\n }\n\n &:active {\n cursor: grabbing;\n }\n\n &.handle-start {\n z-index: 2;\n }\n\n &.handle-end {\n z-index: 1;\n }\n}\n\n// Time display\n.day-times {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n min-width: 120px;\n font-size: $es-font-size-xs;\n font-family: monospace;\n color: $es-text-secondary;\n}\n\n.time-separator {\n color: $es-text-muted;\n}\n\n// Holiday exclusions\n.holiday-section {\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-radius: $es-radius-md;\n}\n\n.holiday-toggle {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-md;\n}\n\n.holiday-checkbox {\n width: 18px;\n height: 18px;\n cursor: pointer;\n}\n\n.holiday-label {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n}\n\n.holiday-countries {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n}\n\n.holiday-country-chip {\n @include chip;\n cursor: pointer;\n\n &.selected {\n background: $es-primary-light;\n color: $es-primary;\n }\n}\n\n// Server time display\n.server-time {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-info-light;\n border-radius: $es-radius-md;\n font-size: $es-font-size-xs;\n color: $es-info;\n\n i {\n font-size: $es-font-size-sm;\n }\n\n .time-value {\n font-family: monospace;\n font-weight: $es-font-weight-semibold;\n }\n}\n\n// Schedule summary\n.schedule-summary {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-radius: $es-radius-md;\n font-size: $es-font-size-sm;\n color: $es-text-secondary;\n\n .summary-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n\n i {\n color: $es-success;\n font-size: $es-font-size-sm;\n }\n\n &.inactive i {\n color: $es-text-muted;\n }\n }\n}\n\n// Collapsed state\n.schedule-conditions-trait.collapsed {\n .schedule-body {\n display: none;\n }\n\n .schedule-header {\n border-radius: $es-radius-lg;\n }\n}\n","/**\n * Tips Box Component\n * Pro tips and help information display\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Tips box container\n .target-tips-box {\n margin: $es-spacing-lg $es-spacing-md $es-spacing-md;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n overflow: hidden;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n }\n\n // Tips header (clickable to expand/collapse)\n .tips-header {\n display: flex;\n align-items: center;\n gap: 0.625rem;\n padding: $es-spacing-md $es-spacing-lg;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.02);\n }\n\n // Lightbulb icon\n > i:first-child {\n font-size: 1rem;\n color: $es-warning;\n }\n\n // Title text\n > span {\n flex: 1;\n font-size: 13px;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-600;\n }\n }\n\n // Toggle chevron icon\n .tips-toggle {\n font-size: $es-font-size-xs;\n color: $es-slate-400;\n transition: transform 0.2s;\n }\n\n // Expanded state\n .target-tips-box.expanded {\n .tips-toggle {\n transform: rotate(180deg);\n }\n\n .tips-content {\n display: block;\n }\n }\n\n // Tips content (hidden by default)\n .tips-content {\n display: none;\n padding: 0 $es-spacing-lg $es-spacing-lg;\n }\n\n // Tips grid layout\n .tips-grid {\n display: grid;\n gap: $es-spacing-md;\n grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n }\n\n // Individual tip item\n .tip-item {\n display: flex;\n gap: $es-spacing-md;\n padding: $es-spacing-md;\n background: $es-white;\n border-radius: $es-radius-md;\n border: 1px solid $es-border-color;\n }\n\n // Tip icon\n .tip-icon {\n flex-shrink: 0;\n width: 2rem;\n height: 2rem;\n display: flex;\n align-items: center;\n justify-content: center;\n background: $es-primary-light;\n border-radius: $es-radius-md;\n color: $es-primary;\n font-size: $es-font-size-sm;\n }\n\n // Tip text content\n .tip-text {\n flex: 1;\n min-width: 0;\n\n strong {\n display: block;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-700;\n margin-bottom: 0.25rem;\n }\n\n p {\n font-size: 11px;\n color: $es-text-muted;\n line-height: 1.625;\n margin: 0;\n }\n }\n\n // Tips footer\n .tips-footer {\n margin-top: $es-spacing-md;\n padding: 0.625rem $es-spacing-md;\n background: $es-white;\n border-radius: $es-radius-md;\n border: 1px dashed $es-gray-300;\n font-size: 11px;\n color: $es-text-muted;\n line-height: 1.625;\n\n i {\n color: $es-primary;\n margin-right: 0.25rem;\n }\n }\n}\n","/**\n * Condition Trait Base Styles\n * Shared styling for all condition trait components\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Base condition trait container\n.condition-trait {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n margin-bottom: $es-spacing-lg;\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n// Collapsed state\n.condition-trait.collapsed {\n .condition-trait-header {\n border-bottom-color: transparent;\n border-radius: $es-radius-lg;\n }\n\n .collapse-icon {\n transform: rotate(180deg);\n }\n}\n\n// =============================================================================\n// Trait Header\n// =============================================================================\n\n.condition-trait-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-lg;\n flex-wrap: wrap;\n padding: 0.875rem $es-spacing-lg;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n }\n}\n\n.trait-header-left {\n display: flex;\n align-items: center;\n gap: $es-spacing-md;\n min-width: 0;\n flex: 1;\n}\n\n.trait-icon {\n font-size: 1.125rem;\n color: $es-text-muted;\n flex-shrink: 0;\n}\n\n.trait-title-group {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n min-width: 0;\n}\n\n.trait-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-800;\n white-space: nowrap;\n}\n\n.trait-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.trait-header-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-md;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.trait-header-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n}\n\n// Collapse icon\n.collapse-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n font-size: $es-font-size-sm;\n color: $es-text-muted;\n cursor: pointer;\n transition: all 0.2s;\n border-radius: $es-radius-sm;\n background: transparent;\n\n &:hover {\n color: $es-primary;\n background: rgba($es-primary, 0.08);\n }\n}\n\n// Show all toggle\n.trait-show-all-toggle {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n font-size: $es-font-size-xs;\n color: $es-primary;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n}\n\n// Trait total count badge (global fallback)\n.trait-total-count {\n @include count-badge($es-primary);\n}\n\n// Required indicator\n.trait-required {\n color: $es-danger;\n font-size: $es-font-size-xs;\n}\n\n// Validation error\n.trait-validation-error {\n color: $es-danger;\n font-size: $es-font-size-xs;\n margin-top: 0.25rem;\n}\n\n// Trait toggle button\n.trait-toggle {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-50;\n border-color: $es-gray-300;\n }\n\n &.active {\n color: $es-primary;\n border-color: $es-primary;\n background: $es-primary-light;\n }\n}\n\n// =============================================================================\n// Trait Body\n// =============================================================================\n\n.condition-trait-body {\n padding: $es-spacing-lg;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n background: $es-white;\n animation: slideDown 0.2s ease-out;\n}\n\n// Condition trait collapsed - hide body\n.condition-trait.collapsed .condition-trait-body {\n display: none;\n}\n\n// =============================================================================\n// Section Styles\n// =============================================================================\n\n.schedule-section,\n.context-section {\n margin-bottom: 1.25rem;\n padding-bottom: 1.25rem;\n border-bottom: 1px solid $es-slate-100;\n\n &:last-child {\n margin-bottom: 0;\n padding-bottom: 0;\n border-bottom: 0;\n }\n}\n\n.section-label {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 13px;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-600;\n margin-bottom: $es-spacing-md;\n\n i {\n font-size: $es-font-size-sm;\n color: $es-slate-400;\n margin-right: 0.25rem;\n }\n}\n\n.section-content {\n // Container for section content\n}\n\n.section-hint {\n margin-top: 0.5rem;\n font-size: 11px;\n color: $es-slate-400;\n}\n\n// =============================================================================\n// Full-width Form Group Override\n// =============================================================================\n\n.form-group.condition-trait-fullwidth {\n display: block !important;\n\n > .control-label {\n display: none !important;\n }\n\n > .col-lg-8,\n > .col-lg-8.col-lg-offset-3 {\n width: 100% !important;\n max-width: 100% !important;\n flex: 0 0 100% !important;\n padding-left: $es-spacing-lg !important;\n padding-right: $es-spacing-lg !important;\n margin: 0 !important;\n margin-left: 0 !important;\n }\n}\n\n// Condition traits group label\n.condition-traits-group-label {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-700;\n margin-bottom: $es-spacing-md;\n}\n\n.condition-traits-wrapper {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-md;\n}\n\n// =============================================================================\n// Animations\n// =============================================================================\n\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n","/**\n * Combination Attributes Picker Component\n * Product attribute combination selection styles\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Main container\n .combination-attributes-picker {\n display: flex;\n flex-direction: column;\n gap: 0.625rem;\n }\n\n // Mode toggle (Any/All)\n .combination-mode-toggle {\n display: inline-flex;\n gap: 0.25rem;\n padding: 0.125rem;\n background: $es-slate-100;\n border-radius: $es-radius-md;\n margin-bottom: 0.5rem;\n }\n\n .combination-mode-option {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n cursor: pointer;\n font-size: 11px;\n color: $es-text-muted;\n padding: 0.25rem 0.625rem;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n input[type=\"radio\"] {\n display: none;\n }\n\n .mode-label {\n user-select: none;\n }\n\n &:hover {\n color: $es-primary;\n background: rgba($es-primary, 0.1);\n }\n\n &:has(input[type=\"radio\"]:checked) {\n background: $es-primary;\n color: $es-white;\n font-weight: $es-font-weight-medium;\n }\n }\n\n // Groups container\n .combination-groups-container {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-md;\n }\n\n // Loading/Empty/Error states\n .combination-loading,\n .combination-empty,\n .combination-error {\n color: $es-text-muted;\n font-style: italic;\n padding: 0.5rem;\n }\n\n .combination-error {\n color: $es-danger;\n }\n\n // Section header\n .combinations-section {\n margin-bottom: $es-spacing-md;\n }\n\n .combinations-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: $es-spacing-sm;\n }\n\n .combinations-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n }\n\n .combinations-help {\n font-size: 11px;\n color: $es-slate-400;\n }\n\n // Toggle combinations button\n .btn-toggle-combinations {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-primary;\n background: transparent;\n border: 1px solid $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n }\n\n .btn-remove-combinations {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-danger;\n background: transparent;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n // =============================================================================\n // Attribute Group\n // =============================================================================\n\n .comb-attr-group {\n flex: none;\n min-width: 120px;\n max-width: 200px;\n background: $es-white;\n border: 1px solid $es-gray-300;\n border-radius: $es-radius-sm;\n overflow: hidden;\n\n &.has-selections {\n border-color: $es-primary;\n }\n }\n\n .comb-attr-group-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.375rem 0.625rem;\n background: $es-slate-100;\n border-bottom: 1px solid $es-gray-300;\n font-weight: $es-font-weight-semibold;\n font-size: $es-font-size-xs;\n color: $es-slate-800;\n\n .comb-attr-group.has-selections & {\n background: $es-cyan-50;\n border-bottom-color: $es-cyan-200;\n }\n }\n\n .comb-attr-group-name {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .comb-attr-group-count {\n flex-shrink: 0;\n min-width: 18px;\n height: 18px;\n padding: 0 0.25rem;\n background: $es-gray-300;\n border-radius: $es-radius-full;\n font-size: 11px;\n font-weight: $es-font-weight-semibold;\n line-height: 18px;\n text-align: center;\n color: $es-text-muted;\n\n .comb-attr-group.has-selections & {\n background: $es-primary;\n color: $es-white;\n }\n }\n\n // Toolbar\n .comb-attr-toolbar {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.375rem;\n background: $es-slate-50;\n border-bottom: 1px solid $es-slate-100;\n }\n\n .comb-toolbar-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n padding: 0;\n background: $es-white;\n border: 1px solid $es-gray-300;\n border-radius: $es-radius-sm;\n color: $es-text-muted;\n cursor: pointer;\n font-size: $es-font-size-xs;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-slate-400;\n color: $es-slate-800;\n }\n }\n\n .comb-attr-search {\n flex: 1;\n min-width: 60px;\n padding: 0.125rem 0.375rem;\n border: 1px solid $es-gray-300;\n border-radius: $es-radius-sm;\n font-size: 11px;\n outline: none;\n\n &:focus {\n border-color: $es-primary;\n }\n\n &::placeholder {\n color: $es-slate-400;\n }\n }\n\n // Values container\n .comb-attr-values {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem;\n padding: 0.375rem;\n max-height: 150px;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n .comb-attr-loading,\n .comb-attr-empty,\n .comb-attr-error {\n width: 100%;\n text-align: center;\n color: $es-slate-400;\n font-size: 11px;\n padding: 0.25rem;\n }\n\n .comb-attr-error {\n color: $es-danger;\n }\n\n // Individual value\n .comb-attr-value {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.125rem 0.5rem;\n background: $es-white;\n border: 1px solid $es-slate-400;\n border-radius: 0.75rem;\n font-size: 11px;\n color: $es-slate-600;\n cursor: pointer;\n transition: all $es-transition-fast;\n white-space: nowrap;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-text-muted;\n }\n\n &.selected {\n background: $es-primary;\n border-color: $es-primary-hover;\n color: $es-white;\n\n &:hover {\n background: $es-primary-hover;\n border-color: darken($es-primary-hover, 5%);\n }\n }\n }\n\n .comb-attr-value-count {\n font-size: 9px;\n color: $es-slate-400;\n background: $es-slate-100;\n padding: 1px 0.25rem;\n border-radius: 0.5rem;\n min-width: 14px;\n text-align: center;\n\n .comb-attr-value.selected & {\n color: $es-white;\n background: rgba(255, 255, 255, 0.3);\n }\n }\n\n // =============================================================================\n // Combination Conditions (Row-based)\n // =============================================================================\n\n .combination-conditions-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .combination-condition-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm;\n background: $es-slate-50;\n border-radius: $es-radius-sm;\n }\n\n .combination-group-select,\n .combination-values-select {\n flex: 1;\n min-width: 120px;\n }\n\n .combination-equals {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n padding: 0 0.25rem;\n }\n\n .btn-add-combination-condition {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n background: transparent;\n border: 1px dashed $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n .btn-remove-combination-row {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-danger, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 12px;\n }\n }\n}\n","/**\n * Method Dropdown Component\n * Custom select dropdown with icons for method selection\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Method dropdown trigger button\n .method-dropdown-trigger {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n height: 36px;\n padding: 0 $es-spacing-md;\n border-radius: $es-radius-md;\n background: $es-white;\n color: $es-slate-800;\n font-size: $es-font-size-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n min-width: 180px;\n max-width: 320px;\n border: 1px solid $es-border-color;\n\n &:hover {\n background: $es-slate-50;\n border-color: $es-gray-300;\n }\n\n &:focus,\n &:active {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 3px rgba($es-primary, 0.1);\n }\n }\n\n .method-trigger-icon {\n font-size: $es-font-size-sm;\n color: $es-text-muted;\n flex-shrink: 0;\n width: 18px;\n text-align: center;\n }\n\n .method-trigger-label {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: $es-font-weight-medium;\n }\n\n .method-trigger-caret {\n font-size: $es-font-size-xs;\n color: $es-slate-400;\n flex-shrink: 0;\n margin-left: auto;\n }\n\n // Locked state\n .selector-locked .method-dropdown-trigger {\n background: $es-slate-100;\n color: $es-slate-400;\n cursor: not-allowed;\n border-color: $es-border-color;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-border-color;\n }\n }\n\n // Method selector wrapper\n .method-selector-wrapper {\n position: relative;\n }\n\n // Hidden select (for form submission)\n .method-select-hidden {\n position: absolute !important;\n opacity: 0 !important;\n pointer-events: none !important;\n width: 0 !important;\n height: 0 !important;\n overflow: hidden !important;\n }\n}\n\n// Global fallback for hidden method selects\n.method-select-hidden {\n position: absolute !important;\n opacity: 0 !important;\n pointer-events: none !important;\n width: 0 !important;\n height: 0 !important;\n overflow: hidden !important;\n}\n\n// =============================================================================\n// Method Dropdown Menu (appended to body, outside trait wrappers)\n// =============================================================================\n\n.method-dropdown-menu {\n position: absolute;\n z-index: $es-z-dropdown + 1;\n min-width: 200px;\n max-width: 360px;\n max-height: 400px;\n overflow-y: auto;\n background: $es-white;\n border-radius: $es-radius-lg;\n padding: 0.375rem 0;\n border: 1px solid $es-border-color;\n box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);\n animation: methodDropdownFadeIn 0.15s ease;\n @include custom-scrollbar;\n}\n\n@keyframes methodDropdownFadeIn {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// Method dropdown item\n.method-dropdown-item {\n display: flex;\n align-items: center;\n gap: 0.625rem;\n padding: 0.5rem $es-spacing-md;\n cursor: pointer;\n transition: background-color 0.1s;\n position: relative;\n\n &:hover {\n background: $es-slate-100;\n }\n\n &.selected {\n background: rgba($es-primary, 0.08);\n }\n\n .method-item-icon {\n font-size: $es-font-size-sm;\n color: $es-text-muted;\n width: 18px;\n text-align: center;\n flex-shrink: 0;\n }\n\n &.selected .method-item-icon {\n color: $es-primary;\n }\n\n .method-item-label {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-slate-700;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &.selected .method-item-label {\n color: $es-cyan-700;\n font-weight: $es-font-weight-medium;\n }\n\n .method-item-check {\n font-size: $es-font-size-xs;\n flex-shrink: 0;\n margin-left: auto;\n color: $es-primary;\n }\n}\n\n// Method dropdown optgroup\n.method-dropdown-optgroup {\n margin-top: 0.25rem;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.method-optgroup-label {\n padding: 0.5rem $es-spacing-md;\n font-size: 11px;\n font-weight: $es-font-weight-semibold;\n color: $es-text-muted;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n background: $es-slate-50;\n border-top: 1px solid $es-slate-100;\n border-bottom: 1px solid $es-slate-100;\n\n .method-dropdown-optgroup:first-child & {\n border-top: 0;\n }\n}\n\n.method-optgroup-items {\n padding: 0.25rem 0;\n\n .method-dropdown-item {\n padding-left: $es-spacing-lg;\n }\n}\n\n// Method info placeholder\n.method-info-placeholder {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n font-style: italic;\n}\n","/**\n * Tooltip Component\n * Info tooltips for method help\n */\n\n@use '../variables' as *;\n\n// =============================================================================\n// Info Wrapper (tooltip trigger)\n// =============================================================================\n\n.mpr-info-wrapper {\n display: inline-flex;\n align-items: center;\n position: relative;\n cursor: help;\n vertical-align: middle;\n margin-left: 0.25rem;\n\n .material-icons {\n font-size: 16px;\n color: $es-text-muted;\n transition: color 0.15s ease;\n }\n\n &:hover .material-icons {\n color: $es-primary;\n }\n}\n\n// =============================================================================\n// Fixed Tooltip (appended to body on hover)\n// =============================================================================\n\n.mpr-tooltip-fixed {\n position: fixed;\n background: $es-white;\n color: $es-slate-800;\n padding: $es-spacing-md $es-spacing-lg;\n border-radius: $es-radius-md;\n font-size: 13px;\n line-height: 1.5;\n white-space: normal;\n z-index: 10500;\n max-width: 320px;\n min-width: 180px;\n text-align: left;\n box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 1px 0px,\n rgba(64, 68, 82, 0.16) 0px 0px 0px 1px,\n rgba(64, 68, 82, 0.08) 0px 2px 5px 0px;\n pointer-events: none;\n\n // Pinned tooltip allows interaction\n &.pinned {\n pointer-events: auto;\n padding-right: $es-spacing-xl + 1rem;\n }\n\n strong {\n display: block;\n margin-bottom: 0.375rem;\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n }\n\n p {\n margin: 0;\n color: $es-text-secondary;\n }\n\n ul {\n margin: 0.5rem 0 0;\n padding-left: 1.25rem;\n\n li {\n margin: 0.25rem 0;\n color: $es-text-secondary;\n }\n }\n}\n\n// Close button for pinned tooltips\n.mpr-tooltip-close {\n position: absolute;\n top: 0.375rem;\n right: 0.375rem;\n padding: 0.125rem;\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: $es-radius-sm;\n line-height: 1;\n transition: background-color 0.15s ease;\n\n .material-icons {\n font-size: 16px;\n color: $es-text-muted;\n }\n\n &:hover {\n background: $es-slate-100;\n\n .material-icons {\n color: $es-slate-700;\n }\n }\n}\n","/**\n * Category Tree Component\n * Hierarchical tree view for category selection inside dropdown\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Category tree container (inside dropdown)\n.category-tree {\n display: flex;\n flex-direction: column;\n}\n\n// Tree toolbar inside dropdown\n.category-tree .tree-toolbar {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-sm;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-light;\n flex-shrink: 0;\n\n .btn-expand-all,\n .btn-collapse-all {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: $es-spacing-xs $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-slate-300;\n }\n\n i {\n font-size: 12px;\n }\n }\n}\n\n// Tree items container\n.category-tree .tree-items {\n padding: 0;\n}\n\n// Tree item\n.tree-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-xs $es-spacing-sm;\n cursor: pointer;\n transition: background $es-transition-fast;\n border-radius: 0;\n\n &:hover {\n background: $es-slate-100;\n }\n\n &.selected {\n background: $es-primary-light;\n\n .tree-name {\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n }\n\n .tree-checkbox {\n color: $es-primary;\n\n i {\n opacity: 1;\n }\n }\n }\n\n &.inactive {\n opacity: 0.6;\n\n .tree-name {\n font-style: italic;\n }\n }\n\n &.filtered-out {\n display: none;\n }\n\n &.filter-match {\n background: $es-warning-light;\n\n &.selected {\n background: $es-primary-light;\n }\n }\n}\n\n// All tree element styles nested under .category-tree for specificity\n.category-tree {\n // Tree indentation\n .tree-indent {\n flex-shrink: 0;\n }\n\n // Tree toggle (expand/collapse)\n .tree-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n color: $es-text-secondary;\n flex-shrink: 0;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n cursor: pointer;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n\n &.tree-leaf {\n cursor: default;\n visibility: hidden;\n\n &:hover {\n background: transparent;\n }\n }\n\n i {\n font-size: 10px;\n transition: transform $es-transition-fast;\n }\n }\n\n .tree-item.collapsed > .tree-toggle i {\n transform: rotate(-90deg);\n }\n\n // Tree checkbox indicator - 12x12 to match PrestaShop admin standards\n .tree-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n flex-shrink: 0;\n border: 1px solid $es-border-color;\n border-radius: 2px;\n background: $es-white;\n\n i {\n font-size: 8px;\n opacity: 0;\n color: $es-white;\n transition: opacity $es-transition-fast;\n }\n }\n\n .tree-item.selected .tree-checkbox {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n opacity: 1;\n }\n }\n\n // Tree icon\n .tree-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n color: $es-text-muted;\n flex-shrink: 0;\n\n i {\n font-size: 12px; // match visual weight of other icons\n }\n }\n\n .tree-item.selected .tree-icon {\n color: $es-primary;\n }\n\n // Tree name\n .tree-name {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n // Tree product/page count with preview\n .tree-count {\n @include count-badge($es-primary);\n height: 18px;\n min-width: 18px;\n padding: 0 $es-spacing-sm;\n\n i {\n font-size: 10px;\n }\n\n &.clickable {\n &.loading {\n pointer-events: none;\n\n i {\n animation: spin 1s linear infinite;\n }\n }\n\n &.popover-open {\n background: darken($es-primary, 10%);\n }\n }\n }\n\n // Select children button - positioned on the left next to toggle\n .btn-select-children {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n opacity: 0.3;\n transition: all $es-transition-fast;\n flex-shrink: 0;\n\n i {\n font-size: 14px; // larger to visually match other icons\n }\n\n &:hover {\n color: $es-primary;\n opacity: 1;\n }\n }\n\n .tree-item:hover .btn-select-children {\n opacity: 0.6;\n }\n\n // Tree badge (inactive, etc.)\n .tree-badge {\n display: inline-flex;\n align-items: center;\n padding: 0.125rem $es-spacing-xs;\n font-size: 9px;\n font-weight: $es-font-weight-semibold;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n border-radius: $es-radius-sm;\n flex-shrink: 0;\n\n &.inactive {\n color: $es-warning;\n background: $es-warning-light;\n }\n }\n\n // Tree children container\n .tree-children {\n display: block;\n\n &.filter-expanded {\n display: block !important;\n }\n }\n\n .tree-item.collapsed + .tree-children {\n display: none;\n }\n\n // Filtering - must be inside .category-tree for specificity\n .tree-item.filtered-out {\n display: none !important;\n }\n} // end .category-tree\n\n// Loading/empty/error states\n.category-tree .tree-loading,\n.category-tree .dropdown-empty,\n.category-tree .dropdown-error {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n margin-right: $es-spacing-sm;\n }\n}\n\n.category-tree .dropdown-error {\n color: $es-danger;\n}\n\n// Tree view mode in dropdown\n.target-search-dropdown.view-tree {\n .dropdown-results {\n padding: 0;\n }\n\n .category-tree {\n max-height: 100%;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n .tree-items {\n max-height: calc(100% - 40px);\n overflow-y: auto;\n @include custom-scrollbar;\n }\n}\n","/**\n * Validation Toast Component\n * Error notifications for selection conflicts\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Validation error toast\n.es-validation-toast {\n display: flex;\n align-items: flex-start;\n gap: $es-spacing-sm;\n padding: $es-spacing-md;\n background: $es-white;\n border: 1px solid $es-danger;\n border-left: 4px solid $es-danger;\n border-radius: $es-radius-md;\n box-shadow: $es-shadow-lg;\n max-width: 400px;\n animation: es-toast-slide-in 0.2s ease-out;\n\n .es-toast-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-danger;\n flex-shrink: 0;\n\n i {\n font-size: 18px;\n }\n }\n\n .es-toast-content {\n flex: 1;\n min-width: 0;\n }\n\n .es-toast-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-danger;\n margin-bottom: 2px;\n }\n\n .es-toast-message {\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n line-height: 1.4;\n }\n\n .es-toast-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n flex-shrink: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-text-primary;\n }\n\n i {\n font-size: 12px;\n }\n }\n}\n\n@keyframes es-toast-slide-in {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n"]} \ No newline at end of file +{"version":3,"sources":["_mixins.scss","layouts/_form-integration.scss","../../../prestashop-admin/assets/scss/_variables.scss","layouts/_responsive.scss","_variables.scss","components/_entity-selector.scss","components/_dropdown.scss","components/_chips.scss","components/_groups.scss","components/_value-picker.scss","components/_modal.scss","components/_list-preview.scss","components/_schedule.scss","components/_tips.scss","components/_condition-trait.scss","components/_combinations.scss","components/_method-dropdown.scss","components/_tooltip.scss","components/_tree.scss","components/_validation.scss"],"names":[],"mappings":"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,aACA,eACA,MF9SD,KEiTH,wjBAEI,WJjTF,QIkTE,aJlTF,QIoTE,wkBACI,cAMZ,0FACI,aACA,mBACA,IFhPQ,MEoPZ,wEACI,aACA,mBACA,uBACA,IFxPQ,MEyPR,QFtPQ,KEuPR,MJvUI,QIwUJ,UF3MU,QE6MV,4EACI,kBACA,WAKR,gFACI,aACA,sBACA,mBACA,uBACA,IFzQQ,ME0QR,QFvQQ,KEwQR,kBACA,MJzVI,QI2VJ,oFACI,eACA,WAGJ,oFACI,SACA,UFrOM,QE0Od,oFACI,aACA,mBACA,uBACA,QF3RQ,KE4RR,MJ5WI,QI8WJ,wFACI,iBACA,kCAKR,wFACI,aACA,mBACA,uBACA,IF5SQ,ME6SR,mBACA,6BACA,UFhQU,OEiQV,MJ7XI,QI+XJ,0HACI,YF7Pc,IE8Pd,MFnWE,QEsWN,4HNtSJ,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,wIACI,aE1GE,QF2CN,UACA,4CAkEA,sJACI,MIlFM,QEwWN,4HAEI,qBACA,UF3QM,OE4QN,eAKR,wFACI,aACA,uBACA,QJ5ZC,KI6ZD,6BAEA,sHNxXJ,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,kIACI,aM+WA,sHAEI,oBACA,mBACA,IF3UI,OE4UJ,mBACA,UF5RM,QE6RN,YFxRY,IEyRZ,MJ5ZF,QI6ZE,WFzZO,oBE0ZP,cJxYI,OIyYJ,gCAEA,kIACI,+BAGJ,sIACI,WACA,YAMZ,kFACI,aACA,mBACA,8BACA,IFnWQ,MEoWR,mBACA,WJ7aA,QI8aA,6BACA,8BAGJ,oGACI,UF5TU,OE6TV,MJzbI,QI2bJ,kHACI,MJ7bF,QIicN,oFACI,aACA,IFrXQ,MEwXZ,0FN1aA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,sGACI,aMiaJ,0FAEI,mBACA,UF3UU,QE4UV,YFvUgB,IEwUhB,cJrbQ,OIsbR,gCAEA,gHACI,MFhbE,QEibF,WF3aG,QE6aH,4HACI,WF7aD,QEibP,8GACI,MF1dD,KE2dC,WJzdF,QI2dE,0HACI,WFzdG,QE+df,8FACI,Q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1BG,KEy1BH,yBACA,cJj0BW,MIk0BX,eACA,gCAEA,4MACI,WFn0BE,QEo0BF,aFvzBG,QE0zBP,oMACI,iBACA,uBACA,WF/zBG,QEg0BH,kBACA,MJr2BA,QIy2BR,mFACI,aACA,mBAIJ,2FNjxBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,uGACI,aE1GE,QF2CN,UACA,4CAkEA,qHACI,MIlFM,QEm1BV,2FAEI,qBACA,UFtvBU,OEuvBV,eACA,YACA,8BACA,kBAGJ,iFACI,aACA,mBACA,uBACA,WACA,eACA,cACA,YACA,UACA,SACA,MJn4BI,QIo4BJ,WFv4BG,KEw4BH,yBACA,8BACA,eACA,gCAEA,qFACI,eAGJ,6FACI,WFt3BE,QEu3BF,MFh3BE,QEm3BN,+FACI,WFj5BO,oBEk5BP,aJt5BF,QIu5BE,MJv5BF,QI25BN,yFN5zBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,qGACI,aE1GE,QF2CN,UACA,4CAkEA,mHACI,MIlFM,QE83BV,yFAEI,qBACA,UFjyBU,OEkyBV,eACA,mBAGJ,sLAEI,aACA,mBACA,uBACA,WACA,eACA,cACA,YACA,UACA,SACA,MJ76BI,QI86BJ,WFj7BG,KEk7BH,yBACA,cJ15BW,MI25BX,eACA,gCAEA,8LACI,eAGJ,8MACI,WFh6BE,QEi6BF,MF15BE,QE65BN,kNACI,WF37BO,oBE47BP,aJh8BF,QIi8BE,MJj8BF,QIq8BN,qFACI,aACA,mBAIA,2HACI,aACA,mBACA,uBACA,WACA,eACA,cACA,YACA,UACA,SACA,MJp9BA,QIq9BA,WFx9BD,KEy9BC,yBACA,kBACA,8BACA,eACA,gCAEA,uIACI,WFp8BF,QEq8BE,MF97BF,QEi8BF,yIACI,WFv9BE,QEw9BF,MJj+BP,QIk+BO,aJl+BP,QIs+BD,iHN14BJ,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,y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FACI,eAIR,kFP7kBA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,8FACI,aOokBJ,kFAEI,aACA,mBACA,uBACA,WACA,YACA,MLhnBE,QKinBF,cL1lBW,MK2lBX,gCAEA,8FACI,WHjnBO,oBGonBX,sFACI,eAKR,0FACI,oBACA,mBACA,WACA,kBACA,MLloBI,QKmoBJ,UHvgBU,OGwgBV,eAEA,gHACI,MLpoBF,QKuoBF,kHACI,ML1oBF,QK6oBF,oHACI,YH5gBc,IGihBtB,sFACI,aACA,oBACA,IH3kBQ,OIlFZ,4EACI,WJEG,KIDH,yBACA,cN0BW,MMzBX,gBAIJ,0FACI,aACA,mBACA,8BACA,INlBC,KMmBD,mBACA,WNHA,QMIA,gCAGJ,wFACI,aACA,mBACA,IJ8DQ,MI7DR,UJ6GU,QI5GV,YJkHkB,IIjHlB,MJcM,QIZN,oHACI,oBACA,mBACA,uBACA,eACA,YACA,iBACA,WN5BF,QM6BE,MJ/BD,KIgCC,UJ+FM,OI9FN,YJsGU,IIrGV,cJ2DK,MIvDb,4FACI,aACA,mBACA,IJsCQ,OInCZ,oFRdA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,gGACI,aQKJ,oFAEI,aACA,mBACA,uBACA,WACA,YACA,MNhDI,QMiDJ,cN3BW,MM4BX,gCAEA,gGACI,WJhBG,QIiBH,MJxBE,QI2BN,8GACI,WJ/CM,QIgDN,MNzDH,QM8DL,8JAEI,QN9EC,KMkFL,kFACI,cNnFC,KMsFL,8EACI,aACA,mBACA,IJDQ,OIER,cJDQ,MIER,UJ6CU,OI5CV,YJmDkB,IIlDlB,yBACA,qBAEA,0GACI,MJ7EM,QI+EN,8GACI,MNvFN,QM2FF,0GACI,MN3FH,QM6FG,8GACI,MN9FP,QMoGL,kFACI,aACA,mBACA,IJ5BQ,MI6BR,cJ7BQ,MIgCZ,kGACI,OACA,kBAGJ,8ERpBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,0FACI,aE1GE,QF2CN,UACA,4CAkEA,wGACI,MIlFM,QIsFV,8EAEI,mBACA,eACA,gBACA,mPACA,uCA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kBAEA,wDACI,WI3GE,QO4ad,qBACI,oBACA,mBACA,YACA,qBACA,WPzaU,QO0aV,cTvbe,MSwbf,UPlVc,OOoVd,yBACI,WACA,YACA,iBACA,kBAGJ,wCACI,MPxbM,QOybN,YPvVgB,IJlHpB,gBACA,uBACA,mBWycI,gBASR,uBACI,gBACA,gBAEA,+CACI,aACA,mBACA,8BACA,mBACA,WTxeA,QSyeA,gCAEA,sEACI,YP9Wc,IO+Wd,MPldE,QOmdF,UPtXM,QOyXV,sEACI,UP3XM,OO4XN,MTxfA,QS4fR,6CACI,iBAGJ,2CACI,gBACA,SACA,UAGJ,2CACI,aACA,mBACA,IP5bQ,MO6bR,mBACA,eACA,sCAEA,iDACI,WP5eE,QO+eN,6CACI,WACA,kBACA,MTrhBA,QSshBA,eAGJ,+DACI,OACA,UP9ZM,QO+ZN,MP5fE,QO+fN,+DACI,UPnaM,QOoaN,YP9Zc,IO+Zd,MTniBF,QSoiBE,+BACA,gBACA,cT/gBO,MSqhBnB,mBACI,eACA,yBAEA,yBACI,WAGJ,gCACI,WC7jBR,2BACI,WRKO,KQJP,yBACA,cV6Be,MUzBnB,iBACI,aACA,mBACA,8BACA,IVdK,KUeL,qBACA,WVCI,wCUCJ,8BACA,eACA,iBACA,6CAEA,uBACI,WRaM,QQTd,gBACI,aACA,mBACA,WACA,URyGc,QQxGd,YR8GsB,IQ7GtB,MRUU,QQRV,kBACI,MVzBI,QU8BZ,eACI,QV3CK,KU+CT,kBACI,cR2CY,OQzCZ,6BACI,gBAIR,wBACI,aACA,mBACA,IR+BY,MQ9BZ,cR8BY,MQ7BZ,UR6Ec,QQ5Ed,YRkFsB,IQjFtB,MRlBU,QQoBV,0BACI,MVrDI,QUyDZ,8BACI,cVtEK,KUuEL,URiEc,OQhEd,MV5DQ,QUgEZ,gBACI,aACA,eACA,IV/EK,KUkFT,gBACI,OACA,gBAGJ,gBACI,cACA,qBACA,UR8Cc,OQ7Cd,YRmDoB,IQlDpB,MRlDU,QQqDd,gBZWI,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,sBACI,aE1GE,QF2CN,UACA,4CAkEA,6BACI,MIlFM,QQ4Dd,iBACI,aACA,sBACA,IRdY,MQiBhB,SACI,aACA,mBACA,IV7GK,KU8GL,QRrBY,MQsBZ,WRhEU,QQiEV,cV/EY,OUiFZ,kBACI,WAIR,YACI,aACA,mBACA,IRjCY,MQkCZ,gBAGJ,cACI,WACA,YACA,eAGJ,UACI,URIc,QQHd,YRQoB,IQPpB,MR3FU,QQ+Fd,iBACI,OACA,kBACA,YACA,WR9FW,QQ+FX,cR1Ca,MQ2Cb,eAGJ,eACI,kBACA,MACA,YACA,WV7IM,QU8IN,cRnDa,MQoDb,gCAGJ,iBACI,kBACA,QACA,WACA,YACA,WRzJO,KQ0JP,yBACA,kBACA,gCACA,YACA,WR3DW,kCQ4DX,uCAEA,uBACI,WR9DO,6BQiEX,wBACI,gBAGJ,8BACI,UAGJ,4BACI,UAKR,WACI,aACA,mBACA,IRvGY,OQwGZ,gBACA,URzDc,OQ0Dd,sBACA,MRzJU,QQ4Jd,gBACI,MV3LQ,QU+LZ,iBACI,QV5MK,KU6ML,WR9JU,QQ+JV,cV7KY,OUgLhB,gBACI,aACA,mBACA,IR3HY,MQ4HZ,cVrNK,KUwNT,kBACI,WACA,YACA,eAGJ,eACI,URtFc,QQuFd,YRlFoB,IQmFpB,MRrLU,QQwLd,mBACI,aACA,eACA,IR/IY,OQkJhB,sBZmBI,oBACA,mBACA,IIvKY,OJwKZ,qBACA,UIzHc,OJ0Hd,YIpHoB,IJqHpB,WI9NU,QJ+NV,MI1NU,QJ2NV,cI/Ja,MJiKb,mCAhOA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,yCACI,aAuNJ,mCAjQA,aACA,mBACA,uBAkQI,WACA,YACA,eACA,MEjQI,QFkQJ,kBAEA,yCACI,0BACA,MEpQH,QU4NT,sBAEI,eAEA,+BACI,WRhOW,oBQiOX,MVrOE,QU0OV,aACI,aACA,mBACA,IR/JY,MQgKZ,mBACA,WR5NY,QQ6NZ,cV1NY,OU2NZ,URpHc,OQqHd,MV7OG,QU+OH,eACI,URvHU,QQ0Hd,yBACI,sBACA,YRtHkB,IQ2H1B,kBACI,aACA,sBACA,IRrLY,OQsLZ,QV9QK,KU+QL,WRhOU,QQiOV,cV/OY,OUgPZ,URxIc,QQyId,MRxOU,QQ0O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","file":"entity-selector.css","sourcesContent":["/**\n * Entity Selector Mixins\n * Reusable patterns - prefer Bootstrap utilities in HTML where possible\n */\n\n@use 'variables' as *;\n\n// =============================================================================\n// Layout\n// =============================================================================\n\n@mixin flex-center {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n@mixin flex-between {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n@mixin grid-columns($cols) {\n display: grid;\n grid-template-columns: repeat($cols, 1fr);\n gap: $es-spacing-sm;\n}\n\n// =============================================================================\n// Text\n// =============================================================================\n\n@mixin text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n// =============================================================================\n// Interactive Elements\n// =============================================================================\n\n// Reset button styles\n@mixin button-reset {\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n cursor: pointer;\n font: inherit;\n color: inherit;\n\n &:focus {\n outline: none;\n }\n}\n\n// Focus ring (Bootstrap 4 style)\n@mixin focus-ring($color: $es-primary) {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba($color, 0.25);\n}\n\n// Interactive hover state\n@mixin interactive-item {\n cursor: pointer;\n transition: background-color $es-transition-fast, color $es-transition-fast;\n\n &:hover {\n background-color: $es-bg-hover;\n }\n}\n\n// =============================================================================\n// Cards & Containers\n// =============================================================================\n\n@mixin card {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n}\n\n@mixin dropdown-container {\n position: absolute;\n z-index: $es-z-dropdown;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n box-shadow: $es-shadow-lg;\n}\n\n// =============================================================================\n// Form Elements\n// =============================================================================\n\n// Reset input styles (for inputs in custom wrappers)\n@mixin input-reset {\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n font: inherit;\n color: inherit;\n\n &:focus {\n outline: none;\n }\n}\n\n@mixin input-base {\n width: 100%;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n line-height: $es-line-height-normal;\n color: $es-text-primary;\n background-color: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n transition: border-color $es-transition-fast, box-shadow $es-transition-fast;\n\n &:focus {\n border-color: $es-primary;\n @include focus-ring($es-primary);\n }\n\n &::placeholder {\n color: $es-text-light;\n }\n}\n\n// =============================================================================\n// Scrollbar\n// =============================================================================\n\n@mixin custom-scrollbar {\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background: $es-gray-100;\n border-radius: 3px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: $es-gray-300;\n border-radius: 3px;\n\n &:hover {\n background: $es-gray-400;\n }\n }\n}\n\n// =============================================================================\n// Badges & Chips\n// =============================================================================\n\n@mixin badge($bg: $es-gray-200, $color: $es-gray-700) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.125rem 0.5rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n line-height: 1;\n background-color: $bg;\n color: $color;\n border-radius: $es-radius-full;\n}\n\n// Count badge with preview icon (used for tab badges, match counts, totals)\n// Note: Eye icon is provided in HTML via \n@mixin count-badge($bg: $es-primary) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.25rem;\n min-width: 20px;\n height: 20px;\n padding: 0 0.5rem;\n background: $bg;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n cursor: pointer;\n transition: all $es-transition-fast;\n flex-shrink: 0;\n\n &:hover {\n transform: scale(1.05);\n box-shadow: 0 2px 8px rgba($bg, 0.4);\n }\n\n // Focus state - maintain styled appearance\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px rgba($bg, 0.3), 0 2px 8px rgba($bg, 0.4);\n }\n\n // Loading state - spinner icon replaces eye\n &.loading {\n cursor: wait;\n\n i {\n font-size: 10px;\n animation: spin 0.6s linear infinite;\n }\n\n &:hover {\n transform: none;\n box-shadow: none;\n }\n }\n\n // Inactive/empty state\n &.inactive,\n &.no-matches {\n background: $es-slate-400;\n cursor: default;\n\n &:hover {\n transform: none;\n box-shadow: none;\n }\n }\n\n // Popover open state\n &.popover-open {\n background: darken($bg, 10%);\n box-shadow: 0 2px 8px rgba($bg, 0.4);\n }\n\n // Icon inside badge (eye, spinner, etc.)\n i {\n font-size: 10px;\n line-height: 1;\n opacity: 0.8;\n }\n\n &:hover i {\n opacity: 1;\n }\n\n .preview-count {\n font-weight: $es-font-weight-bold;\n }\n}\n\n@keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n@mixin chip {\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-xs $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n background: $es-gray-200;\n color: $es-gray-700;\n border-radius: $es-radius-full;\n\n .chip-remove {\n @include button-reset;\n @include flex-center;\n width: 14px;\n height: 14px;\n font-size: 10px;\n color: $es-text-muted;\n border-radius: 50%;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n }\n}\n\n// =============================================================================\n// Toggle Switch\n// =============================================================================\n\n@mixin toggle-switch($width: 36px, $height: 20px) {\n position: relative;\n width: $width;\n height: $height;\n border-radius: $height;\n background: $es-gray-400;\n transition: background-color $es-transition-normal;\n cursor: pointer;\n\n &::after {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: $height - 4px;\n height: $height - 4px;\n background: $es-white;\n border-radius: 50%;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n transition: transform $es-transition-normal;\n }\n\n &.active {\n background: $es-success;\n\n &::after {\n transform: translateX($width - $height);\n }\n }\n}\n\n// =============================================================================\n// Screen Reader Only\n// =============================================================================\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n","/**\n * Form Integration Styles\n * Handles PrestaShop admin form layout overrides\n */\n\n@use '../variables' as *;\n\n// Base border reset for all entity-selector elements\n.target-conditions-trait,\n.target-conditions-trait *,\n.entity-selector-trait,\n.entity-selector-trait *,\n.method-dropdown-menu,\n.method-dropdown-menu *,\n.target-preview-popover,\n.target-preview-popover * {\n border-style: solid;\n border-width: 0;\n border-color: $es-border-color;\n}\n\n// Full-width form group override using :has()\n.form-group:has(.entity-selector-trait),\n.form-group:has(.target-conditions-trait),\n.form-group:has(.condition-trait) {\n display: block;\n\n > .control-label {\n display: none;\n }\n\n > .col-lg-8 {\n width: 100%;\n max-width: 100%;\n padding-left: $es-spacing-md;\n padding-right: $es-spacing-md;\n flex: 0 0 100% !important;\n }\n}\n\n// Fallback class for browsers without :has() support\n.form-group.condition-trait-fullwidth {\n display: block;\n\n > .control-label {\n display: none;\n }\n\n > .col-lg-8 {\n width: 100%;\n max-width: 100%;\n padding-left: $es-spacing-md;\n padding-right: $es-spacing-md;\n flex: 0 0 100% !important;\n }\n}\n\n// Dropdown overflow fix\n// When dropdown is open, parent containers must allow overflow\n.panel:has(.target-search-dropdown.show),\n.card:has(.target-search-dropdown.show),\n.form-wrapper:has(.target-search-dropdown.show),\n.panel-body:has(.target-search-dropdown.show),\n.card-body:has(.target-search-dropdown.show),\n.form-group:has(.target-search-dropdown.show),\n.col-lg-8:has(.target-search-dropdown.show),\n.col-lg-12:has(.target-search-dropdown.show) {\n overflow: visible !important;\n}\n\n// Target conditions wrapper hierarchy overflow fix\n.target-conditions-trait:has(.target-search-dropdown.show),\n.entity-selector-trait:has(.target-search-dropdown.show),\n.condition-trait-body:has(.target-search-dropdown.show),\n.target-block-content:has(.target-search-dropdown.show),\n.target-block-groups:has(.target-search-dropdown.show),\n.target-group:has(.target-search-dropdown.show),\n.target-group-body:has(.target-search-dropdown.show),\n.target-search-wrapper:has(.target-search-dropdown.show) {\n overflow: visible !important;\n}\n","/**\n * MPR Admin Variables\n * @package prestashop-admin\n */\n\n// Spacing scale (Bootstrap 4 compatible)\n$spacer: 1rem;\n$spacers: (\n 0: 0,\n 1: $spacer * 0.25,\n 2: $spacer * 0.5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3\n);\n\n// Colors - PrestaShop Admin Theme\n$primary: #25b9d7;\n$secondary: #6c757d;\n$success: #28a745;\n$danger: #dc3545;\n$warning: #ffc107;\n$info: #17a2b8;\n$light: #f8f9fa;\n$dark: #343a40;\n\n$colors: (\n primary: $primary,\n secondary: $secondary,\n success: $success,\n danger: $danger,\n warning: $warning,\n info: $info,\n light: $light,\n dark: $dark\n);\n\n// Border\n$border-color: #dee2e6;\n$border-radius: 0.25rem;\n$border-radius-sm: 0.2rem;\n$border-radius-lg: 0.3rem;\n\n// Breakpoints\n$breakpoint-sm: 576px;\n$breakpoint-md: 768px;\n$breakpoint-lg: 991px;\n$breakpoint-xl: 1200px;\n","/**\n * Responsive Styles\n * Media query adjustments for different screen sizes\n */\n\n@use '../variables' as *;\n\n// Tablet and below\n@media (max-width: 991px) {\n .target-conditions-trait,\n .entity-selector-trait {\n .condition-trait-header {\n flex-direction: column;\n align-items: flex-start;\n gap: $es-spacing-sm;\n }\n\n .trait-header-right {\n width: 100%;\n justify-content: flex-end;\n }\n\n .target-block-tabs {\n flex-wrap: wrap;\n }\n }\n}\n\n// Mobile\n@media (max-width: 767px) {\n .target-conditions-trait,\n .entity-selector-trait {\n .target-block-tab {\n padding: $es-spacing-sm;\n font-size: $es-font-size-xs;\n }\n\n .target-group-header {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .target-search-dropdown {\n width: 100% !important;\n left: 0 !important;\n right: 0 !important;\n }\n\n .dropdown-results-grid {\n grid-template-columns: 1fr !important;\n }\n }\n}\n\n// High-resolution displays\n@media (min-width: 1600px) {\n .target-conditions-trait,\n .entity-selector-trait {\n .dropdown-results-grid.view-grid-3 {\n grid-template-columns: repeat(4, 1fr);\n }\n }\n}\n","/**\n * Entity Selector Variables\n * Bootstrap 4 compatible values for PrestaShop admin theme\n *\n * Imports shared variables from prestashop-admin package\n * and maps them to $es-* prefixed aliases for this package\n */\n\n// Import shared variables from prestashop-admin\n@use '../../../prestashop-admin/assets/scss/variables' as admin;\n\n// =============================================================================\n// Base Colors\n// =============================================================================\n\n$es-white: #ffffff !default;\n$es-black: #000000 !default;\n\n// Primary (from prestashop-admin)\n$es-primary: admin.$primary !default;\n$es-primary-hover: #1a9ab7 !default;\n$es-primary-light: rgba(37, 185, 215, 0.1) !default;\n\n// Semantic colors (from prestashop-admin)\n$es-success: admin.$success !default;\n$es-success-light: #d4edda !default;\n$es-success-dark: #1e7e34 !default;\n\n$es-danger: admin.$danger !default;\n$es-danger-light: #f8d7da !default;\n$es-danger-dark: #bd2130 !default;\n\n$es-warning: admin.$warning !default;\n$es-warning-light: #fff3cd !default;\n\n$es-info: admin.$info !default;\n$es-info-light: #d1ecf1 !default;\n\n// =============================================================================\n// Gray Scale (Bootstrap 4)\n// =============================================================================\n\n$es-gray-100: admin.$light !default;\n$es-gray-200: #e9ecef !default;\n$es-gray-300: admin.$border-color !default;\n$es-gray-400: #ced4da !default;\n$es-gray-500: #adb5bd !default;\n$es-gray-600: admin.$secondary !default;\n$es-gray-700: #495057 !default;\n$es-gray-800: admin.$dark !default;\n$es-gray-900: #212529 !default;\n\n// Slate (subtle variations)\n$es-slate-50: #f8fafc !default;\n$es-slate-100: #f1f5f9 !default;\n$es-slate-200: #e2e8f0 !default;\n$es-slate-300: #cbd5e1 !default;\n$es-slate-400: #94a3b8 !default;\n$es-slate-500: #64748b !default;\n$es-slate-600: #475569 !default;\n$es-slate-700: #334155 !default;\n$es-slate-800: #1e293b !default;\n$es-slate-900: #0f172a !default;\n\n// Cyan\n$es-cyan-50: #ecfeff !default;\n$es-cyan-100: #cffafe !default;\n$es-cyan-200: #a5f3fc !default;\n$es-cyan-500: #06b6d4 !default;\n$es-cyan-600: #0891b2 !default;\n$es-cyan-700: #0e7490 !default;\n\n// =============================================================================\n// Semantic Aliases\n// =============================================================================\n\n$es-bg-header: $es-gray-100 !default;\n$es-bg-hover: $es-gray-200 !default;\n$es-bg-active: $es-gray-200 !default;\n$es-bg-body: $es-white !default;\n\n$es-border-color: admin.$border-color !default;\n$es-border-light: $es-gray-200 !default;\n$es-border-dark: $es-gray-400 !default;\n\n$es-text-primary: $es-gray-900 !default;\n$es-text-secondary: $es-gray-700 !default;\n$es-text-muted: $es-gray-600 !default;\n$es-text-light: $es-gray-500 !default;\n\n// =============================================================================\n// Spacing (Bootstrap 4 compatible, derived from admin.$spacer)\n// =============================================================================\n\n$es-spacing-xs: admin.$spacer * 0.25 !default; // 4px\n$es-spacing-sm: admin.$spacer * 0.5 !default; // 8px\n$es-spacing-md: admin.$spacer !default; // 16px\n$es-spacing-lg: admin.$spacer * 1.5 !default; // 24px\n$es-spacing-xl: admin.$spacer * 2 !default; // 32px\n\n// =============================================================================\n// Border Radius (from prestashop-admin)\n// =============================================================================\n\n$es-radius-sm: admin.$border-radius-sm !default;\n$es-radius-md: admin.$border-radius !default;\n$es-radius-lg: admin.$border-radius-lg !default;\n$es-radius-xl: 0.5rem !default;\n$es-radius-full: 50rem !default;\n\n// =============================================================================\n// Box Shadows (Bootstrap 4 compatible)\n// =============================================================================\n\n$es-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !default;\n$es-shadow-md: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !default;\n$es-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175) !default;\n$es-shadow-xl: 0 1.5rem 4rem rgba(0, 0, 0, 0.2) !default;\n\n// =============================================================================\n// Transitions\n// =============================================================================\n\n$es-transition-fast: 0.15s ease-in-out !default;\n$es-transition-normal: 0.2s ease-in-out !default;\n$es-transition-slow: 0.3s ease-in-out !default;\n\n// =============================================================================\n// Z-Index (below Bootstrap modal)\n// =============================================================================\n\n$es-z-dropdown: 1000 !default;\n$es-z-modal: 1050 !default;\n$es-z-popover: 1060 !default;\n$es-z-tooltip: 1070 !default;\n\n// =============================================================================\n// Typography\n// =============================================================================\n\n$es-font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif !default;\n\n$es-font-size-xs: 0.75rem !default; // 12px\n$es-font-size-sm: 0.875rem !default; // 14px\n$es-font-size-base: 1rem !default; // 16px\n$es-font-size-lg: 1.125rem !default; // 18px\n\n$es-font-weight-normal: 400 !default;\n$es-font-weight-medium: 500 !default;\n$es-font-weight-semibold: 600 !default;\n$es-font-weight-bold: 700 !default;\n\n$es-line-height-tight: 1.25 !default;\n$es-line-height-normal: 1.5 !default;\n","/**\n * Entity Selector - Main Component Styles\n * Wrapper, header, body, tabs, blocks\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Main wrapper (supports both .target-conditions-trait and .entity-selector-trait)\n.target-conditions-trait,\n.entity-selector-trait {\n position: relative;\n overflow: visible;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n\n // Trait Header (collapsible)\n .condition-trait-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: $es-spacing-md;\n padding: 0.875rem $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n }\n\n .trait-header-left {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n min-width: 0;\n flex: 1;\n }\n\n .trait-icon {\n font-size: $es-font-size-lg;\n color: $es-text-muted;\n flex-shrink: 0;\n }\n\n .trait-title-group {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n min-width: 0;\n }\n\n .trait-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n white-space: nowrap;\n }\n\n .trait-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n // Total count badge in header\n .trait-total-count {\n @include count-badge($es-primary);\n margin-left: $es-spacing-sm;\n }\n\n // Show all toggle switch\n .trait-show-all-toggle {\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-right: 0.75rem;\n padding: 0.25rem $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.05);\n }\n\n .toggle-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n }\n\n .show-all-checkbox {\n display: none;\n }\n\n .toggle-slider {\n position: relative;\n width: 36px;\n height: 20px;\n background: $es-slate-300;\n border-radius: $es-radius-full;\n transition: background-color $es-transition-normal;\n\n &::after {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: 16px;\n height: 16px;\n background: $es-white;\n border-radius: 50%;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n transition: transform $es-transition-normal;\n }\n }\n\n .show-all-checkbox:checked + .toggle-slider {\n background: $es-success;\n\n &::after {\n transform: translateX(16px);\n }\n }\n }\n\n // Validation error states\n &.has-validation-error {\n border-color: $es-danger;\n box-shadow: 0 0 0 3px rgba($es-danger, 0.1);\n\n .condition-trait-header {\n border-bottom-color: $es-danger;\n }\n }\n\n .trait-validation-error {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: 0.625rem $es-spacing-md;\n background: $es-danger-light;\n color: #b91c1c;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n border-bottom: 1px solid #fecaca;\n\n i {\n color: $es-danger;\n }\n }\n\n // Required indicator\n &.trait-required .trait-title::after {\n content: ' *';\n color: $es-danger;\n }\n\n // Body\n .condition-trait-body {\n padding: 0;\n background: $es-white;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n // Block type tabs\n .target-block-tabs {\n display: flex;\n flex-wrap: wrap;\n gap: 0;\n padding: 0;\n background: $es-slate-100;\n border-bottom: 1px solid $es-border-color;\n }\n\n .target-block-tab {\n position: relative;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex: none;\n min-width: 0;\n padding: 0.625rem $es-spacing-md;\n margin-bottom: -1px;\n background: transparent;\n border: 0;\n border-bottom: 2px solid transparent;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-slate-700;\n }\n\n &.active {\n background: $es-white;\n border-bottom-color: $es-cyan-500;\n color: $es-primary;\n }\n\n i {\n font-size: $es-font-size-sm;\n }\n\n .tab-label {\n white-space: nowrap;\n }\n\n .tab-badge {\n @include count-badge($es-primary);\n }\n\n &.has-data:not(.active) .tab-badge {\n @include count-badge($es-slate-400);\n }\n }\n\n // Block container\n .target-block-container {\n display: none;\n\n &.active {\n display: block;\n }\n }\n\n .target-block-content {\n padding: $es-spacing-md;\n }\n\n .target-block-groups {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-md;\n }\n\n // Block header (for standalone blocks)\n .target-block-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n }\n\n // Empty state\n .target-block-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n }\n\n p {\n margin: 0;\n font-size: $es-font-size-sm;\n }\n }\n\n // Collapse toggle\n .trait-collapse-toggle,\n .collapse-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n cursor: pointer;\n transition: transform $es-transition-normal;\n\n &.collapsed {\n transform: rotate(-90deg);\n }\n }\n\n // Header actions\n .trait-header-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n // Collapsed state\n &.collapsed {\n .condition-trait-body {\n display: none;\n }\n\n .condition-trait-header {\n border-radius: $es-radius-lg;\n }\n }\n}\n\n// Single mode specific styles\n.target-conditions-trait.single-mode,\n.entity-selector-trait.single-mode {\n .target-block-tabs {\n display: none;\n }\n\n .target-block-container {\n display: block;\n }\n}\n\n// Header action buttons\n.target-conditions-trait,\n.entity-selector-trait {\n .header-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .header-action-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n background: transparent;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n i {\n font-size: 12px;\n }\n }\n}\n","/**\n * Search Dropdown Component\n * Includes search input, filter panel, results grid\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Search wrapper\n .target-search-wrapper {\n position: relative;\n }\n\n // Search dropdown\n .target-search-dropdown {\n @include dropdown-container;\n display: none;\n width: 600px;\n max-width: calc(100vw - 40px);\n\n &.show {\n display: block;\n }\n }\n\n // Dropdown header\n .dropdown-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n }\n\n .dropdown-search-input {\n @include input-base;\n flex: 1;\n padding: $es-spacing-sm $es-spacing-md;\n }\n\n .dropdown-close-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: $es-text-muted;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n }\n\n // Dropdown controls bar\n .dropdown-controls {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border-bottom: 1px solid $es-border-color;\n }\n\n .dropdown-controls-left,\n .dropdown-controls-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n // View mode buttons\n .view-mode-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n background: transparent;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-text-secondary;\n }\n\n &.active {\n background: $es-primary;\n color: $es-white;\n }\n }\n\n // Results count\n .dropdown-results-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n // Dropdown body\n .dropdown-body {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n // Results container\n .dropdown-results {\n padding: 0 $es-spacing-sm;\n }\n\n // Results count text\n .results-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n padding: $es-spacing-xs $es-spacing-sm;\n }\n\n // Results header (for list view columns)\n .results-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-md;\n background: $es-slate-100;\n border-bottom: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n }\n\n // Grid view\n .dropdown-results-grid {\n display: grid;\n gap: $es-spacing-sm;\n\n &.view-list {\n grid-template-columns: 1fr;\n }\n\n &.view-grid-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n\n &.view-grid-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n }\n\n // Result item (both class names for compatibility)\n // Note: Main dropdown-item styling is in the global .target-search-dropdown section below\n .dropdown-result-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm 0;\n background: $es-white;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n cursor: pointer;\n transition: background $es-transition-fast;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n\n &:hover {\n background: $es-white;\n }\n }\n }\n\n .result-item-image,\n .result-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n .result-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n background: $es-slate-100;\n border-radius: $es-radius-sm;\n color: $es-text-muted;\n\n i {\n font-size: 16px;\n }\n }\n\n .result-item-info,\n .result-info {\n flex: 1;\n min-width: 0;\n }\n\n .result-item-name,\n .result-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .result-item-meta,\n .result-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .subtitle-line {\n @include text-truncate;\n }\n\n .subtitle-line-primary {\n color: $es-text-secondary;\n }\n\n .subtitle-line-secondary {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n // Result columns (for product list view)\n .result-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n font-size: $es-font-size-xs;\n }\n\n .result-col-price {\n color: $es-text-secondary;\n }\n\n .result-col-sale {\n color: $es-danger;\n font-weight: $es-font-weight-semibold;\n }\n\n .result-col-stock {\n .col-value {\n &.stock-ok {\n color: $es-success;\n }\n\n &.stock-low {\n color: $es-warning;\n }\n\n &.stock-out {\n color: $es-danger;\n }\n }\n }\n\n .result-col-sales {\n color: $es-text-muted;\n }\n\n .col-value {\n display: block;\n }\n\n .result-item-checkbox,\n .result-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n border: 2px solid $es-border-dark;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n i {\n display: none;\n font-size: 10px;\n color: $es-white;\n }\n\n .dropdown-result-item.selected &,\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n\n // Product-specific result item\n .result-item-product {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n // No results state\n .no-results {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n font-size: 1.25rem;\n opacity: 0.5;\n }\n }\n\n // Empty state\n .dropdown-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n }\n\n p {\n margin: 0;\n font-size: $es-font-size-sm;\n }\n }\n\n // Loading state\n .dropdown-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n\n i {\n font-size: 1.5rem;\n animation: spin 1s linear infinite;\n }\n }\n\n // Load more controls\n .load-more-controls {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n border-top: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n .remaining-count {\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n }\n\n .load-more-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 70px;\n }\n }\n\n // Load more button\n .dropdown-load-more {\n display: flex;\n justify-content: center;\n padding: $es-spacing-md;\n border-top: 1px solid $es-border-color;\n\n .load-more-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n background: $es-primary-light;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-primary, 0.2);\n }\n\n &.loading {\n opacity: 0.7;\n cursor: wait;\n }\n }\n }\n\n // Dropdown footer\n .dropdown-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n .dropdown-selection-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n strong {\n color: $es-primary;\n }\n }\n\n .dropdown-actions {\n display: flex;\n gap: $es-spacing-sm;\n }\n\n .dropdown-action-btn {\n @include button-reset;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &.btn-cancel {\n color: $es-text-secondary;\n background: $es-slate-100;\n\n &:hover {\n background: $es-slate-200;\n }\n }\n\n &.btn-apply {\n color: $es-white;\n background: $es-primary;\n\n &:hover {\n background: $es-primary-hover;\n }\n }\n }\n\n // Filter panel\n .dropdown-filter-panel {\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n }\n\n .filter-panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: $es-spacing-sm;\n }\n\n .filter-panel-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n }\n\n .filter-panel-toggle {\n @include button-reset;\n font-size: $es-font-size-xs;\n color: $es-primary;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n .filter-panel-content {\n display: grid;\n gap: $es-spacing-sm;\n grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n }\n\n .filter-group {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n }\n\n .filter-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n }\n\n .filter-select,\n .filter-input {\n @include input-base;\n padding: 0.375rem $es-spacing-sm;\n font-size: $es-font-size-xs;\n }\n}\n\n// Category tree view\n.target-conditions-trait,\n.entity-selector-trait {\n .category-tree {\n padding: $es-spacing-sm;\n }\n\n .tree-container {\n // Contains tree items\n }\n\n .tree-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n // Tree item (used by JavaScript)\n .tree-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: 0.375rem $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n\n .tree-checkbox {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n\n &.has-children {\n // Parent node styling\n }\n }\n\n // tree-toggle, btn-select-children, tree-checkbox, tree-icon styles in _tree.scss\n\n .tree-info {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n flex: 1;\n min-width: 0;\n }\n\n .tree-name {\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .tree-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n // Legacy category tree classes (for compatibility)\n .category-tree-item {\n padding: 0.25rem 0;\n }\n\n .category-tree-node {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n }\n }\n\n .category-tree-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: $es-text-muted;\n transition: transform $es-transition-fast;\n\n &.expanded {\n transform: rotate(90deg);\n }\n\n &.empty {\n visibility: hidden;\n }\n }\n\n .category-tree-checkbox {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n border: 2px solid $es-border-dark;\n border-radius: 3px;\n transition: all $es-transition-fast;\n\n &.checked {\n background: $es-primary;\n border-color: $es-primary;\n\n &::after {\n content: '\\2713';\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n color: $es-white;\n font-size: 10px;\n }\n }\n\n &.indeterminate {\n background: $es-primary;\n border-color: $es-primary;\n\n &::after {\n content: '\\2212';\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n color: $es-white;\n font-size: 10px;\n }\n }\n }\n\n .category-tree-name {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .category-tree-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .category-tree-children {\n margin-left: 24px;\n }\n\n // Search history\n .search-history-list {\n padding: $es-spacing-sm;\n }\n\n .history-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n > i {\n color: $es-text-muted;\n font-size: 14px;\n }\n }\n\n .history-query {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n }\n\n .btn-delete-history {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n opacity: 0;\n transition: all $es-transition-fast;\n\n .history-item:hover & {\n opacity: 1;\n }\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Filter panel\n .filter-panel {\n display: none;\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n\n &.show {\n display: block;\n }\n }\n\n .filter-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-sm;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // View mode select\n .view-mode-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 80px;\n }\n}\n\n// =============================================================================\n// Global dropdown styles (when appended to body instead of inside wrapper)\n// Duplicates key styles for when dropdown is outside .entity-selector-trait\n// =============================================================================\nbody > .target-search-dropdown,\n.target-search-dropdown {\n @include dropdown-container;\n display: none;\n width: 600px;\n max-width: calc(100vw - 40px);\n\n &.show {\n display: block;\n }\n\n // Dropdown header\n .dropdown-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n flex-wrap: wrap;\n }\n\n .results-count {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n white-space: nowrap;\n }\n\n .dropdown-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n flex-wrap: wrap;\n flex: 1;\n justify-content: flex-end;\n }\n\n .btn-select-all,\n .btn-clear-selection {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n border-color: $es-slate-300;\n }\n\n kbd {\n font-size: 0.65rem;\n padding: 0.125rem 0.25rem;\n background: $es-slate-100;\n border-radius: 2px;\n color: $es-text-muted;\n }\n }\n\n .sort-controls {\n display: flex;\n align-items: center;\n // No gap - elements are connected\n }\n\n .sort-field-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 80px;\n height: 28px; // Match btn-sort-dir height\n border-radius: $es-radius-sm 0 0 $es-radius-sm;\n border-right: none;\n }\n\n .btn-sort-dir {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 38px;\n min-width: 38px;\n flex-shrink: 0;\n height: 28px;\n padding: 0;\n margin: 0;\n color: $es-text-muted;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: 0 $es-radius-sm $es-radius-sm 0;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n i {\n font-size: 14px;\n }\n\n &:hover {\n background: $es-bg-hover;\n color: $es-text-primary;\n }\n\n &.active {\n background: $es-primary-light;\n border-color: $es-primary;\n color: $es-primary;\n }\n }\n\n .view-mode-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 80px;\n margin-left: 0.25rem;\n }\n\n .btn-toggle-filters,\n .btn-show-history {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n min-width: 32px;\n flex-shrink: 0;\n height: 28px;\n padding: 0;\n margin: 0;\n color: $es-text-muted;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n i {\n font-size: 14px;\n }\n\n &:hover {\n background: $es-bg-hover;\n color: $es-text-primary;\n }\n\n &.active {\n background: $es-primary-light;\n border-color: $es-primary;\n color: $es-primary;\n }\n }\n\n .refine-compact {\n display: flex;\n align-items: center;\n // No gap - elements are connected\n\n // Connected to refine-input\n .btn-refine-negate {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n min-width: 32px;\n flex-shrink: 0;\n height: 28px;\n padding: 0;\n margin: 0;\n color: $es-text-muted;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-right: none;\n border-radius: $es-radius-sm 0 0 $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n color: $es-text-primary;\n }\n\n &.active {\n background: $es-danger-light;\n color: $es-danger;\n border-color: $es-danger;\n }\n }\n\n .refine-input {\n @include input-base;\n width: 100px;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n border-radius: 0 $es-radius-sm $es-radius-sm 0;\n }\n\n .btn-clear-refine {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n margin: 0;\n margin-left: -1px; // Overlap input border when visible\n color: $es-text-muted;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: 0 $es-radius-sm $es-radius-sm 0;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n color: $es-text-primary;\n }\n }\n }\n\n // Filter panel\n .filter-panel {\n display: none;\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n\n &.show {\n display: block;\n }\n }\n\n .filter-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex-wrap: wrap;\n margin-bottom: $es-spacing-sm;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n .filter-label {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n cursor: pointer;\n\n input[type=\"checkbox\"] {\n margin: 0;\n }\n }\n\n .filter-price-range {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n\n .filter-price-label {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .filter-price-min,\n .filter-price-max {\n @include input-base;\n width: 70px;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n }\n\n .filter-price-sep {\n color: $es-text-muted;\n }\n }\n\n .btn-clear-filters {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n cursor: pointer;\n margin-left: auto;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n }\n\n // Multi-row filters\n .filter-row-multi {\n flex-direction: column;\n align-items: stretch;\n gap: $es-spacing-sm;\n }\n\n .filter-subrow {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex-wrap: wrap;\n }\n\n .filter-range-group,\n .filter-date-group,\n .filter-select-group {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n }\n\n .filter-range-label,\n .filter-date-label,\n .filter-select-label,\n .filter-row-label {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n white-space: nowrap;\n\n i {\n margin-right: 0.25rem;\n }\n }\n\n .filter-range-sep {\n color: $es-text-muted;\n }\n\n .filter-product-count-min,\n .filter-product-count-max,\n .filter-sales-min,\n .filter-sales-max,\n .filter-turnover-min,\n .filter-turnover-max,\n .filter-date-add-from,\n .filter-date-add-to,\n .filter-last-product-from,\n .filter-last-product-to {\n @include input-base;\n width: 70px;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n }\n\n .filter-depth-select,\n .filter-attribute-group-select,\n .filter-feature-group-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 100px;\n }\n\n .filter-attributes-container,\n .filter-features-container,\n .filter-values-container {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem;\n }\n\n // Filter group toggle buttons (attribute/feature groups)\n .filter-group-toggle {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n border-color: $es-slate-300;\n }\n\n &.active {\n background: $es-primary-light;\n border-color: $es-primary;\n color: $es-primary;\n\n .toggle-count {\n color: $es-primary;\n }\n }\n\n &.has-selection {\n border-color: $es-success;\n background: rgba($es-success, 0.05);\n\n .toggle-count {\n color: $es-success;\n font-weight: $es-font-weight-semibold;\n }\n }\n\n .toggle-name {\n font-weight: $es-font-weight-medium;\n }\n\n // Count with eye icon (like group-count-badge)\n .toggle-count {\n display: inline-flex;\n align-items: center;\n gap: 0.125rem;\n color: $es-text-muted;\n font-size: 0.65rem;\n\n i {\n font-size: 10px;\n color: $es-primary;\n }\n\n // Clickable preview badge\n &.clickable {\n cursor: pointer;\n padding: 0.125rem 0.25rem;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-primary, 0.1);\n color: $es-primary;\n\n i {\n color: $es-primary;\n }\n }\n\n &.popover-open {\n background: $es-primary;\n color: $es-white;\n\n i {\n color: $es-white;\n }\n }\n\n &.loading {\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n }\n }\n }\n\n // Filter value chips\n .filter-chip {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n background: $es-slate-100;\n border: 1px solid transparent;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.active {\n background: $es-primary;\n color: $es-white;\n }\n }\n\n // Filter attribute chip (specific)\n .filter-attr-chip,\n .filter-feat-chip {\n @extend .filter-chip;\n }\n\n // Filter row for values (expandable)\n .filter-row-values {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n\n .filter-values-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 0.25rem;\n flex: 1;\n }\n\n .filter-values-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n white-space: nowrap;\n }\n\n .btn-close-values {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n }\n }\n\n // Filter chip name and count\n .chip-name {\n font-weight: $es-font-weight-medium;\n }\n\n .chip-count {\n font-size: 0.6rem;\n color: $es-text-muted;\n margin-left: 0.125rem;\n }\n\n .filter-chip.active .chip-count {\n color: rgba(255, 255, 255, 0.8);\n }\n\n // Dropdown content\n .dropdown-content {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n .dropdown-items {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm;\n }\n\n .item-checkbox {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n border: 2px solid $es-border-dark;\n border-radius: 3px;\n transition: all $es-transition-fast;\n\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n }\n }\n\n .item-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n object-fit: cover;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n }\n\n .item-info {\n flex: 1;\n min-width: 0;\n }\n\n .item-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .item-meta {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n @include text-truncate;\n }\n\n // Dropdown footer\n .dropdown-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n .dropdown-footer-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .btn-cancel-dropdown {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-sm;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n\n &:hover {\n background: $es-bg-hover;\n color: $es-danger;\n border-color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n\n kbd {\n font-size: 0.65rem;\n padding: 0.125rem 0.25rem;\n background: $es-slate-100;\n border-radius: 2px;\n color: $es-text-muted;\n margin-left: 0.25rem;\n }\n }\n\n .btn-confirm-dropdown {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-sm;\n color: $es-white;\n background: $es-primary;\n border: 1px solid $es-primary;\n border-radius: $es-radius-sm;\n cursor: pointer;\n\n &:hover {\n background: $es-primary-hover;\n border-color: $es-primary-hover;\n }\n\n i {\n font-size: 10px;\n }\n\n kbd {\n font-size: 0.65rem;\n padding: 0.125rem 0.25rem;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 2px;\n color: rgba(255, 255, 255, 0.8);\n }\n }\n\n // Filter chips in dropdown\n .filter-chips-row {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n padding: $es-spacing-xs $es-spacing-md;\n border-bottom: 1px solid $es-border-color;\n }\n\n .filter-chip {\n @include chip;\n }\n\n // Empty and loading states\n .dropdown-empty,\n .dropdown-loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n margin-bottom: $es-spacing-sm;\n }\n }\n\n // Search history panel\n .search-history-panel {\n display: none;\n padding: $es-spacing-sm;\n background: $es-white;\n border-bottom: 1px solid $es-border-color;\n\n &.show {\n display: block;\n }\n }\n\n .history-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n i {\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n }\n\n span {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n }\n\n .btn-remove-history,\n .btn-delete-history {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-danger;\n }\n }\n }\n\n // Search history list container\n .search-history-list {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n }\n\n // Results header (for list view columns)\n .results-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-md;\n background: $es-slate-100;\n border-bottom: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n\n .header-spacer {\n width: 58px; // checkbox + image width\n flex-shrink: 0;\n }\n\n .header-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n }\n\n .header-col-name {\n flex: 1;\n text-align: left;\n }\n }\n\n // Results container\n .dropdown-results {\n padding: 0 $es-spacing-sm;\n background: $es-white;\n min-height: 200px;\n }\n\n // Dropdown item (search result)\n .dropdown-item {\n position: relative;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm 0;\n background: $es-white;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n cursor: pointer;\n transition: background $es-transition-fast;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n\n .result-checkbox {\n background: $es-primary;\n border-color: $es-primary;\n color: $es-white;\n\n i {\n display: block;\n }\n }\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n\n // Checkbox indicator\n .result-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n background: $es-white;\n border: 2px solid $es-border-dark;\n border-radius: 3px;\n transition: all $es-transition-fast;\n\n i {\n display: none;\n font-size: 10px;\n }\n }\n\n // View mode classes (applied to dropdown container) - no gap/padding for shared borders\n &.view-cols-2 .dropdown-results { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-3 .dropdown-results { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-4 .dropdown-results { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-5 .dropdown-results { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-6 .dropdown-results { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-7 .dropdown-results { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n &.view-cols-8 .dropdown-results { display: grid; grid-template-columns: repeat(8, 1fr); gap: 0; padding: 0; border-top: 1px solid $es-border-color; border-left: 1px solid $es-border-color; }\n\n // Grid view item styling (compact cards with shared borders)\n &.view-cols-2,\n &.view-cols-3,\n &.view-cols-4,\n &.view-cols-5,\n &.view-cols-6,\n &.view-cols-7,\n &.view-cols-8 {\n .dropdown-item {\n flex-direction: column;\n align-items: center;\n text-align: center;\n padding: $es-spacing-sm;\n border: none;\n border-right: 1px solid $es-border-color;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n\n .result-checkbox {\n position: absolute;\n top: $es-spacing-xs;\n left: $es-spacing-xs;\n }\n\n .result-image,\n .result-icon {\n width: 48px;\n height: 48px;\n margin-bottom: $es-spacing-xs;\n }\n\n .result-info {\n width: 100%;\n }\n\n .result-name {\n font-size: $es-font-size-xs;\n line-height: 1.3;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .result-subtitle {\n display: none;\n }\n\n // Show compact product info in grid\n .result-col {\n display: none;\n }\n\n .result-grid-info {\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n gap: 0.25rem;\n margin-top: $es-spacing-xs;\n font-size: 0.65rem;\n\n .grid-price {\n color: $es-text-primary;\n font-weight: $es-font-weight-semibold;\n }\n\n .grid-stock {\n color: $es-text-muted;\n\n &.stock-out { color: $es-danger; }\n &.stock-low { color: $es-warning; }\n }\n\n .grid-discount {\n color: $es-success;\n font-weight: $es-font-weight-medium;\n }\n }\n }\n\n // Hide results header in grid views\n .results-header {\n display: none;\n }\n }\n\n // Remove right border from last item in each row (per column count)\n &.view-cols-2 .dropdown-results .dropdown-item:nth-child(2n) { border-right: none; }\n &.view-cols-3 .dropdown-results .dropdown-item:nth-child(3n) { border-right: none; }\n &.view-cols-4 .dropdown-results .dropdown-item:nth-child(4n) { border-right: none; }\n &.view-cols-5 .dropdown-results .dropdown-item:nth-child(5n) { border-right: none; }\n &.view-cols-6 .dropdown-results .dropdown-item:nth-child(6n) { border-right: none; }\n &.view-cols-7 .dropdown-results .dropdown-item:nth-child(7n) { border-right: none; }\n &.view-cols-8 .dropdown-results .dropdown-item:nth-child(8n) { border-right: none; }\n\n // Smaller items for higher column counts\n &.view-cols-5,\n &.view-cols-6,\n &.view-cols-7,\n &.view-cols-8 {\n .dropdown-item {\n .result-image,\n .result-icon {\n width: 40px;\n height: 40px;\n }\n\n .result-name {\n font-size: 0.65rem;\n }\n }\n }\n\n // Product-specific result item\n .result-item-product {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex: 1;\n min-width: 0;\n }\n\n .result-item-image,\n .result-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n .result-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n background: $es-slate-100;\n border-radius: $es-radius-sm;\n color: $es-text-muted;\n\n i {\n font-size: 16px;\n }\n }\n\n .result-item-info,\n .result-info {\n flex: 1;\n min-width: 0;\n }\n\n .result-item-name,\n .result-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .result-item-meta,\n .result-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .subtitle-line {\n @include text-truncate;\n }\n\n .subtitle-line-primary {\n color: $es-text-secondary;\n }\n\n .subtitle-line-secondary {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n // Result columns (for product list view)\n .result-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n font-size: $es-font-size-xs;\n }\n\n .result-col-price {\n color: $es-text-secondary;\n }\n\n .result-col-sale {\n color: $es-danger;\n font-weight: $es-font-weight-semibold;\n }\n\n .result-col-stock {\n .col-value {\n &.stock-ok {\n color: $es-success;\n }\n\n &.stock-low {\n color: $es-warning;\n }\n\n &.stock-out {\n color: $es-danger;\n }\n }\n }\n\n .result-col-sales {\n color: $es-text-muted;\n }\n\n .col-value {\n display: block;\n }\n\n // Result checkbox\n .result-item-checkbox,\n .result-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n border: 2px solid $es-border-dark;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n i {\n display: none;\n font-size: 10px;\n color: $es-white;\n }\n\n .dropdown-result-item.selected &,\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n\n // No results state\n .no-results {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n font-size: 1.25rem;\n opacity: 0.5;\n }\n }\n\n // Load more controls\n .load-more-controls {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n .load-more-label,\n .load-more-of {\n white-space: nowrap;\n }\n\n .remaining-count {\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n }\n\n .load-more-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 60px;\n }\n\n .btn-load-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xs;\n margin: 0;\n border: none;\n color: $es-primary;\n background: $es-primary-light !important;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n font: inherit;\n\n i {\n font-size: 14px;\n }\n\n &:hover {\n background: rgba($es-primary, 0.2) !important;\n }\n }\n }\n\n // Load more button\n .dropdown-load-more {\n display: flex;\n justify-content: center;\n padding: $es-spacing-md;\n border-top: 1px solid $es-border-color;\n\n .load-more-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n background: $es-primary-light;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-primary, 0.2);\n }\n\n &.loading {\n opacity: 0.7;\n cursor: wait;\n }\n }\n }\n\n // Dropdown body\n .dropdown-body {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n // Tree view styles (for categories)\n .tree-container {\n padding: $es-spacing-sm;\n }\n\n .tree-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n .tree-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: 0.375rem $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n\n .tree-checkbox {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n }\n\n // tree-toggle, btn-select-children, tree-checkbox, tree-icon styles in _tree.scss\n\n .tree-info {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n flex: 1;\n min-width: 0;\n }\n\n .tree-name {\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .tree-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n}\n\n// ============================================================================\n// Standalone dropdown styles (for when dropdown is appended to body)\n// These selectors work because .target-search-dropdown is on the dropdown itself\n// ============================================================================\n\n.target-search-dropdown {\n // Results container - scrollable\n .dropdown-results {\n max-height: 400px;\n overflow-y: auto;\n padding: 0 $es-spacing-sm;\n @include custom-scrollbar;\n }\n\n // Results header (for list view columns)\n .results-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-md;\n background: $es-slate-100;\n border-bottom: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n\n .header-spacer {\n width: 58px; // checkbox + image width\n flex-shrink: 0;\n }\n\n .header-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n }\n\n .header-col-name {\n flex: 1;\n text-align: left;\n }\n }\n\n // Hide results-header by default, show only for products in list view\n &:not(.view-list) .results-header,\n &.view-tree .results-header {\n display: none;\n }\n\n // Result item for products\n .result-item-product {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex: 1;\n min-width: 0;\n }\n\n // Result columns for product data\n .result-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n font-size: $es-font-size-xs;\n }\n\n .result-col-price {\n color: $es-text-secondary;\n }\n\n .result-col-sale {\n color: $es-danger;\n font-weight: $es-font-weight-semibold;\n }\n\n .result-col-stock {\n .col-value {\n &.stock-ok { color: $es-success; }\n &.stock-low { color: $es-warning; }\n &.stock-out { color: $es-danger; }\n }\n }\n\n .result-col-sales {\n color: $es-text-muted;\n }\n\n // Dropdown item styling\n .dropdown-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: 0;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n }\n }\n\n // Result checkbox styling\n .result-checkbox {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n border: 2px solid $es-border-dark;\n border-radius: 3px;\n transition: all $es-transition-fast;\n\n i {\n font-size: 10px;\n color: transparent;\n }\n\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n color: $es-white;\n }\n }\n }\n\n // Result image\n .result-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n // Result icon (for non-image entities)\n .result-icon {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n background: $es-slate-100;\n border-radius: $es-radius-sm;\n\n i {\n font-size: 16px;\n color: $es-text-muted;\n }\n }\n\n // Result info container\n .result-info {\n flex: 1;\n min-width: 0;\n }\n\n .result-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .result-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .subtitle-line {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .subtitle-line-primary {\n color: $es-text-secondary;\n }\n\n .subtitle-line-secondary {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n // Hide columns in grid/tree views\n &[class*=\"view-cols-\"] .result-col,\n &.view-tree .result-col {\n display: none;\n }\n\n // Entity search box - full width\n .entity-search-box {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n width: 100%;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n\n .entity-search-icon {\n color: $es-text-muted;\n flex-shrink: 0;\n margin-left: $es-spacing-xs;\n }\n\n // Override Bootstrap/parent form input styles\n input.entity-search-input,\n input.entity-search-input[type=\"text\"] {\n flex: 1;\n min-width: 0;\n width: auto !important;\n max-width: none !important;\n height: auto;\n padding: 0;\n margin: 0;\n border: none !important;\n outline: none;\n background: transparent !important;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n box-shadow: none !important;\n\n &::placeholder {\n color: $es-text-muted;\n }\n\n &:focus {\n border: none !important;\n box-shadow: none !important;\n outline: none;\n }\n }\n\n .search-loading {\n color: $es-text-muted;\n }\n }\n}\n\n// Body-level dropdown (when appended to body for z-index)\nbody > .target-search-dropdown {\n // Override dropdown-item border when inside body-appended dropdown\n .dropdown-item {\n border: none;\n border-radius: 0;\n\n &:not(:last-child) {\n border-bottom: 1px solid $es-border-color;\n }\n }\n}\n\n@keyframes spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n","/**\n * Chips Component\n * Entity chips, selection pills, tags\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Chips container wrapper with toolbar\n .chips-wrapper {\n display: flex;\n flex-direction: column;\n margin-top: $es-spacing-sm;\n background: $es-slate-50;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n overflow: hidden;\n }\n\n // Chips toolbar - integrated filter bar inside chips area\n .chips-toolbar {\n display: none; // Hidden by default, shown via JS when chips exist\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md;\n padding-bottom: 0; // No bottom padding - chips will provide spacing\n background: transparent; // Same as chips area\n\n &.has-chips {\n display: flex;\n }\n }\n\n // Filter input styled as a search chip\n .chips-filter-group {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:focus-within {\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n\n // Search icon inside the pill\n > i {\n color: $es-text-muted;\n font-size: 12px;\n flex-shrink: 0;\n }\n }\n\n .chips-search-input,\n input.chips-search-input,\n input.chips-search-input[type=\"text\"] {\n flex: 1 !important;\n min-width: 60px !important;\n max-width: 120px !important;\n width: auto !important;\n height: auto !important;\n padding: 0.125rem 0 !important;\n border: none !important;\n border-radius: 0 !important;\n background: transparent !important;\n font-size: $es-font-size-xs !important;\n color: $es-text-primary;\n box-shadow: none !important;\n\n &:focus {\n outline: none !important;\n border: none !important;\n box-shadow: none !important;\n }\n\n &::placeholder {\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n }\n }\n\n // Count badge - smaller, pill style\n .chips-count {\n display: inline-flex;\n align-items: center;\n gap: 0.125rem;\n padding: 0.125rem 0.5rem;\n background: $es-slate-200;\n color: $es-text-secondary;\n font-size: 11px;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n white-space: nowrap;\n\n &.has-filter {\n background: $es-cyan-100;\n color: $es-cyan-700;\n }\n\n .count-filtered {\n font-weight: $es-font-weight-bold;\n }\n\n .count-separator {\n opacity: 0.6;\n margin: 0 0.125rem;\n }\n }\n\n .chips-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n margin-left: auto;\n }\n\n // Clear button - subtle, chip-like\n .btn-chips-clear {\n @include button-reset;\n display: flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n color: $es-danger;\n font-size: 11px;\n font-weight: $es-font-weight-medium;\n background: rgba($es-danger, 0.1);\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger;\n color: $es-white;\n }\n\n i {\n font-size: 10px;\n }\n\n .clear-text {\n // Hide text on small screens, keep icon\n @media (max-width: 480px) {\n display: none;\n }\n }\n }\n\n // Chips container - flows naturally from toolbar\n .entity-chips {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md $es-spacing-md;\n min-height: 40px;\n max-height: 300px;\n overflow-y: auto;\n\n &:empty {\n display: none;\n }\n }\n\n // Load more button\n .chips-load-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border-top: 1px solid $es-border-color;\n\n .btn-load-more {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.5rem 1rem;\n color: $es-white;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n background: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-hover;\n }\n\n i {\n font-size: 12px;\n }\n }\n }\n\n // Individual chip\n .entity-chip {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n background: $es-slate-100;\n color: $es-text-secondary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n // Chip with image\n &.has-image {\n padding-left: 0.25rem;\n }\n\n // Hidden by search filter or pagination\n &.chip-filtered-out,\n &.chip-paginated-out {\n display: none;\n }\n }\n\n .chip-image {\n width: 20px;\n height: 20px;\n object-fit: cover;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .chip-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: $es-text-muted;\n flex-shrink: 0;\n\n // Product/entity images inside chip\n img {\n width: 20px;\n height: 20px;\n object-fit: cover;\n border-radius: $es-radius-sm;\n }\n }\n\n .chip-text,\n .chip-name {\n // Show full name, no truncation\n word-break: break-word;\n }\n\n .chip-remove {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n margin-left: 0.125rem;\n color: $es-text-muted;\n border-radius: 50%;\n flex-shrink: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Chip variants\n .entity-chip.chip-primary {\n background: $es-primary-light;\n color: $es-primary;\n\n &:hover {\n background: rgba($es-primary, 0.2);\n }\n }\n\n .entity-chip.chip-success {\n background: $es-success-light;\n color: $es-success-dark;\n\n &:hover {\n background: rgba($es-success, 0.2);\n }\n }\n\n .entity-chip.chip-danger {\n background: $es-danger-light;\n color: $es-danger;\n\n &:hover {\n background: rgba($es-danger, 0.2);\n }\n }\n\n .entity-chip.chip-warning {\n background: $es-warning-light;\n color: darken($es-warning, 20%);\n\n &:hover {\n background: rgba($es-warning, 0.3);\n }\n }\n\n // Chip loading state\n .entity-chip.loading,\n .entity-chip-loading {\n opacity: 0.7;\n\n .chip-remove {\n display: none;\n }\n\n .chip-icon i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n // Hidden chip (collapsed view)\n .entity-chip.chip-hidden {\n display: none;\n }\n\n // Chips expanded/collapsed states\n .entity-chips.chips-collapsed,\n .entity-chips.chips-expanded {\n position: relative;\n }\n\n // Show more/less toggle\n .chips-show-more-toggle {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n color: $es-primary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: color $es-transition-fast;\n\n &:hover {\n color: $es-primary-hover;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n .chips-collapse-toggle,\n .chips-expand-toggle {\n // Specific variants inherit from .chips-show-more-toggle\n }\n\n // More chips indicator\n .chips-more {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem 0.5rem;\n background: $es-slate-200;\n color: $es-text-secondary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-300;\n }\n }\n\n // Add chip button\n .chip-add-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background: transparent;\n color: $es-primary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border: 1px dashed $es-primary;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Inline chips (compact mode)\n .entity-chips.inline {\n display: inline-flex;\n padding: 0;\n min-height: auto;\n\n .entity-chip {\n padding: 0.125rem 0.375rem;\n font-size: 11px;\n }\n }\n\n // Selected chips section in include/exclude\n .selected-chips-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n }\n\n .selected-chips-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n }\n\n // Pattern chips (for name/reference patterns)\n .entity-chip.chip-pattern {\n background: #fef3c7;\n color: #92400e;\n font-family: monospace;\n\n &:hover {\n background: #fde68a;\n }\n\n .chip-icon {\n color: #d97706;\n }\n }\n\n // Range chips (price, quantity, etc.)\n .entity-chip.chip-range,\n .range-chip {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n background: $es-cyan-50;\n color: $es-cyan-600;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-cyan-100;\n }\n }\n\n .range-chip-text {\n font-family: monospace;\n }\n\n .btn-remove-range {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: $es-cyan-600;\n border-radius: 50%;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Multi-range chips container\n .multi-range-chips {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n margin-bottom: $es-spacing-xs;\n\n &:empty {\n display: none;\n }\n }\n\n // Pattern chips container\n .pattern-chips {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm 0;\n min-height: 32px;\n\n &:empty::before {\n content: attr(data-placeholder);\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-style: italic;\n }\n }\n\n // Pattern tag\n .pattern-tag {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background: #fef3c7;\n color: #92400e;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: #fde68a;\n }\n\n &.case-sensitive {\n .case-icon {\n color: $es-success;\n font-weight: $es-font-weight-bold;\n }\n }\n\n &.draft-tag {\n background: $es-white;\n border: 1px solid $es-border-color;\n padding: 0;\n flex: 1;\n min-width: 150px;\n\n &:hover {\n background: $es-white;\n }\n\n .pattern-input {\n flex: 1;\n min-width: 100px;\n padding: 0.375rem;\n border: 0;\n background: transparent;\n font-size: $es-font-size-sm;\n font-family: inherit;\n\n &:focus {\n outline: none;\n }\n\n &::placeholder {\n color: $es-text-muted;\n font-style: italic;\n }\n }\n }\n }\n\n .pattern-tag-text {\n font-family: monospace;\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .btn-toggle-case {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n }\n }\n\n .case-icon {\n font-size: 11px;\n font-weight: $es-font-weight-semibold;\n font-family: monospace;\n }\n\n .btn-remove-pattern {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n color: #d97706;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n .btn-add-pattern {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Pattern match count (in draft tag)\n .pattern-match-count {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0 0.375rem;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n cursor: pointer;\n\n &.count-zero {\n color: $es-warning;\n }\n\n &.count-found {\n color: $es-success;\n }\n\n .count-value {\n font-weight: $es-font-weight-semibold;\n }\n }\n\n // Pattern input row\n .pattern-input-row {\n display: flex;\n align-items: stretch;\n gap: $es-spacing-xs;\n }\n}\n","/**\n * Groups Component\n * Selection groups, include/exclude sections, method selectors\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Group container\n .target-group {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n overflow: hidden;\n }\n\n // Group header\n .target-group-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-md;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n }\n\n .target-group-title {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n\n .group-number {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 0.25rem;\n background: $es-primary;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-bold;\n border-radius: $es-radius-full;\n }\n }\n\n .target-group-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .group-action-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n &.danger:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n // Group body\n .target-group-body,\n .group-body {\n padding: $es-spacing-md;\n }\n\n // Include section\n .include-section {\n margin-bottom: $es-spacing-md;\n }\n\n .section-label {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n margin-bottom: $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n\n &.label-include {\n color: $es-success-dark;\n\n i {\n color: $es-success;\n }\n }\n\n &.label-exclude {\n color: $es-danger;\n\n i {\n color: $es-danger;\n }\n }\n }\n\n // Method selector\n .method-selector {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-sm;\n }\n\n .method-selector-wrapper {\n flex: 1;\n position: relative;\n }\n\n .method-select {\n @include input-base;\n padding-right: 2rem;\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E\");\n background-position: right 0.5rem center;\n background-repeat: no-repeat;\n background-size: 1.5em 1.5em;\n }\n\n .method-help-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-primary;\n }\n }\n\n // Value picker (search trigger)\n .value-picker {\n position: relative;\n }\n\n .value-picker-trigger {\n @include button-reset;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n width: 100%;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n text-align: left;\n transition: all $es-transition-fast;\n\n &:hover {\n border-color: $es-slate-300;\n }\n\n &:focus {\n border-color: $es-primary;\n @include focus-ring($es-primary);\n }\n\n i {\n color: $es-text-light;\n }\n }\n\n // Pattern input (text input for patterns)\n .pattern-input-wrapper {\n position: relative;\n }\n\n .pattern-input {\n @include input-base;\n font-family: monospace;\n }\n\n .pattern-add-btn {\n @include button-reset;\n position: absolute;\n right: 0.25rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n }\n\n // Multi-range input (price ranges)\n .multi-range-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .range-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .range-input {\n @include input-base;\n width: 100px;\n text-align: center;\n }\n\n .range-separator {\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n }\n\n .range-remove-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n .range-add-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n color: $es-primary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n }\n\n // Multi-select tiles (stock status, etc.)\n .multi-select-tiles {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n }\n\n .multi-select-tile {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n background: $es-slate-100;\n color: $es-text-secondary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border: 1px solid transparent;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.selected {\n background: $es-primary-light;\n color: $es-primary;\n border-color: $es-primary;\n }\n }\n\n // Exclude section\n .exclude-section {\n margin-top: $es-spacing-md;\n padding-top: $es-spacing-md;\n border-top: 1px dashed $es-border-color;\n }\n\n // Legacy exclude-rows (if used elsewhere)\n .exclude-rows {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .exclude-row-content {\n flex: 1;\n }\n\n .exclude-remove-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n flex-shrink: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n .add-exclude-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n margin-top: $es-spacing-sm;\n padding: 0.25rem 0.5rem;\n color: $es-danger;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border: 1px dashed $es-danger;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n }\n }\n\n // Add group button (used in block-footer)\n .btn-add-group {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.5rem 0.875rem;\n color: $es-primary;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n background: rgba($es-primary, 0.05);\n border: 1px dashed $es-primary;\n border-radius: 0.375rem;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-primary, 0.1);\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Block footer\n .block-footer {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-md;\n border-top: 1px solid $es-border-color;\n }\n\n // Block body\n .block-body {\n padding: 0;\n }\n\n // Groups container\n .groups-container {\n padding: $es-spacing-md;\n }\n\n // Groups empty state\n .groups-empty-state {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n }\n\n // Selection group\n .selection-group {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n margin-bottom: $es-spacing-md;\n\n &:last-child {\n margin-bottom: 0;\n }\n\n &.collapsed {\n .group-body {\n display: none;\n }\n\n .group-collapse-toggle i {\n transform: rotate(-90deg);\n }\n }\n }\n\n // Group header\n .group-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n cursor: pointer;\n\n &.group-header-single {\n padding: $es-spacing-xs $es-spacing-md;\n background: transparent;\n border-bottom: none;\n }\n }\n\n .group-collapse-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n color: $es-text-muted;\n\n i {\n transition: transform $es-transition-fast;\n }\n }\n\n .group-name-wrapper {\n flex: 1;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .group-name-input {\n flex: 1;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n background: transparent;\n border: 1px solid transparent;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover,\n &:focus {\n background: $es-white;\n border-color: $es-border-color;\n outline: none;\n }\n\n &::placeholder {\n color: $es-text-muted;\n font-weight: $es-font-weight-medium;\n }\n }\n\n .group-count-badge {\n @include count-badge($es-primary);\n }\n\n .btn-remove-group {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n // Group include section - green accent to distinguish from exclude\n .group-include {\n margin-bottom: $es-spacing-md;\n padding: $es-spacing-sm;\n background: rgba($es-success, 0.03);\n border: 1px solid rgba($es-success, 0.2);\n border-radius: $es-radius-md;\n }\n\n .section-row {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n // Method selector wrapper (from PHP)\n .method-selector-wrapper {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .method-info-placeholder {\n display: flex;\n align-items: center;\n min-width: 20px;\n }\n\n .include-method-select,\n .exclude-method-select {\n flex: 1;\n @include input-base;\n cursor: pointer;\n }\n\n // Lock indicator for method selector (when excludes are present)\n .selector-locked {\n .include-method-select {\n opacity: 0.7;\n cursor: not-allowed;\n }\n }\n\n .lock-indicator {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-warning;\n cursor: help;\n\n i {\n font-size: 14px;\n }\n\n .mpr-tooltip {\n display: none;\n position: absolute;\n bottom: calc(100% + 8px);\n left: 50%;\n transform: translateX(-50%);\n padding: $es-spacing-xs $es-spacing-sm;\n background: $es-slate-800;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-normal;\n white-space: nowrap;\n border-radius: $es-radius-sm;\n z-index: 100;\n }\n\n &:hover .mpr-tooltip {\n display: block;\n }\n }\n\n // Group excludes section\n .group-excludes {\n margin-top: $es-spacing-md;\n }\n\n .except-separator {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin: 0 0 $es-spacing-sm 0;\n\n // Lines on both sides\n &::before,\n &::after {\n content: '';\n flex: 1;\n height: 1px;\n background: rgba($es-danger, 0.3);\n }\n }\n\n .except-label {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.75rem;\n background: $es-danger-light;\n color: $es-danger;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n white-space: nowrap;\n flex-shrink: 0;\n\n i {\n font-size: 10px;\n }\n }\n\n .exclude-rows-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .exclude-row {\n display: flex;\n flex-direction: column;\n padding: $es-spacing-sm;\n background: rgba($es-danger, 0.03);\n border: 1px solid rgba($es-danger, 0.15);\n border-radius: $es-radius-md;\n\n // Value picker inside exclude row - full width\n .value-picker {\n width: 100%;\n margin-top: $es-spacing-sm;\n }\n }\n\n .exclude-header-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n width: 100%;\n\n .method-selector-wrapper {\n flex: 1;\n }\n\n // Delete button at the far right\n .btn-remove-exclude-row {\n flex-shrink: 0;\n margin-left: auto;\n }\n }\n\n .btn-remove-exclude-row {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n .btn-add-exclude,\n .btn-add-another-exclude {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n margin-top: $es-spacing-sm;\n padding: 0.375rem 0.625rem;\n color: $es-danger;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n background: transparent;\n border: 1px dashed rgba($es-danger, 0.5);\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n border-color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Group modifiers (inline version from PHP)\n // Uses negative margins to break out of .group-body padding\n .group-modifiers {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: $es-spacing-md;\n padding: $es-spacing-sm $es-spacing-md;\n margin: $es-spacing-md (-$es-spacing-md) (-$es-spacing-md);\n background: $es-slate-50;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n .modifier-inline {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n }\n\n // Common height for all modifier controls\n $modifier-height: 26px;\n\n .group-modifier-limit {\n width: 50px;\n max-width: 50px;\n height: $modifier-height;\n padding: 0 0.375rem;\n font-size: $es-font-size-xs;\n text-align: center;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n\n &:focus {\n border-color: $es-primary;\n outline: none;\n }\n }\n\n // Sort modifier - input group style (select + button glued together)\n .modifier-sort {\n gap: 0; // Remove gap to glue select + button together\n\n .modifier-label {\n margin-right: 0.375rem; // Keep space between label and input group\n }\n\n .group-modifier-sort {\n height: $modifier-height;\n padding: 0 0.5rem;\n font-size: $es-font-size-xs;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm 0 0 $es-radius-sm;\n border-right: none;\n cursor: pointer;\n\n &:focus {\n border-color: $es-primary;\n outline: none;\n position: relative;\n z-index: 1;\n }\n }\n\n .btn-sort-dir {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: $modifier-height;\n height: $modifier-height;\n color: $es-text-muted;\n background: $es-slate-100;\n border: 1px solid $es-border-color;\n border-radius: 0 $es-radius-sm $es-radius-sm 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n i {\n font-size: 11px;\n }\n }\n }\n\n // Fallback for elements outside .modifier-sort context\n .group-modifier-sort {\n height: $modifier-height;\n padding: 0 0.5rem;\n font-size: $es-font-size-xs;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n\n &:focus {\n border-color: $es-primary;\n outline: none;\n }\n }\n\n .btn-sort-dir {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: $modifier-height;\n height: $modifier-height;\n color: $es-text-muted;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-text-secondary;\n }\n }\n\n .group-preview-badge {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background: $es-slate-100;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &.clickable {\n cursor: pointer;\n\n &:hover {\n background: $es-primary-light;\n color: $es-primary;\n }\n }\n }\n\n // OR separator between groups\n .group-separator {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-sm 0;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n\n &::before,\n &::after {\n content: '';\n flex: 1;\n height: 1px;\n background: $es-border-color;\n margin: 0 $es-spacing-md;\n }\n }\n\n // Group modifiers (limit, sort)\n .group-modifiers {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-md;\n padding-top: $es-spacing-md;\n margin-top: $es-spacing-md;\n border-top: 1px solid $es-border-color;\n }\n\n .modifier-group {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .modifier-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n white-space: nowrap;\n }\n\n .modifier-input {\n @include input-base;\n width: 80px;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n }\n\n .modifier-select {\n @include input-base;\n width: auto;\n padding: 0.25rem 1.5rem 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E\");\n background-position: right 0.25rem center;\n background-repeat: no-repeat;\n background-size: 1.25em 1.25em;\n }\n\n // Condition match count badge\n .condition-match-count {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.125rem 0.375rem;\n background: $es-slate-100;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-full;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.has-results {\n background: $es-primary-light;\n color: $es-primary;\n }\n\n i {\n font-size: 10px;\n }\n }\n}\n","/**\n * Value Picker Component\n * Search boxes, input types, range inputs\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Value picker container\n .value-picker {\n padding: $es-spacing-sm 0;\n\n &[style*=\"display: none\"],\n &[style*=\"display:none\"] {\n padding: 0;\n }\n }\n\n .include-picker,\n .exclude-picker {\n // Section-specific picker styles\n }\n\n // Entity search box\n .entity-search-box {\n position: relative;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:focus-within {\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n }\n\n // Separation between chips and search box\n .chips-wrapper + .entity-search-box {\n margin-top: $es-spacing-md;\n }\n\n .entity-search-icon {\n color: $es-text-muted;\n font-size: 14px;\n flex-shrink: 0;\n margin-left: $es-spacing-xs;\n }\n\n // Override parent form's max-width on search input\n input.entity-search-input,\n input.entity-search-input[type=\"text\"] {\n @include input-reset;\n flex: 1;\n min-width: 0;\n width: auto !important;\n max-width: none !important;\n padding: 0.375rem;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n border: none !important;\n background: transparent !important;\n box-shadow: none !important;\n\n &::placeholder {\n color: $es-text-muted;\n }\n\n &:focus {\n border: none !important;\n box-shadow: none !important;\n outline: none;\n }\n }\n\n .search-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n color: $es-primary;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n // Browse tree button (for categories)\n .btn-browse-tree {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n margin-left: auto;\n color: $es-primary;\n background: $es-primary-light;\n border-radius: $es-radius-sm;\n flex-shrink: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary;\n color: $es-white;\n }\n\n i {\n font-size: 14px;\n }\n }\n\n // Numeric range box\n .numeric-range-box,\n .multi-range-input-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .range-min-input,\n .range-max-input {\n @include input-base;\n width: 100px;\n padding: $es-spacing-sm;\n text-align: center;\n font-size: $es-font-size-sm;\n\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n -moz-appearance: textfield;\n }\n\n .range-separator {\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n }\n\n .btn-add-range {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: $es-white;\n background: $es-primary;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-hover;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Multi-range container\n .multi-range-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n // Date range box\n .date-range-box {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .date-from-input,\n .date-to-input {\n @include input-base;\n width: 140px;\n padding: $es-spacing-sm;\n font-size: $es-font-size-sm;\n }\n\n // Multi-select tiles\n .multi-select-tiles {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n }\n\n .tile-option {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.625rem;\n color: $es-text-secondary;\n background: $es-slate-100;\n border: 1px solid transparent;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.selected {\n color: $es-primary;\n background: $es-primary-light;\n border-color: $es-primary;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n .tile-label {\n white-space: nowrap;\n }\n\n // Select input box\n .select-input-box {\n display: inline-block;\n }\n\n .select-value-input {\n @include input-base;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n min-width: 150px;\n }\n\n // Boolean input box\n .boolean-input-box {\n display: inline-flex;\n align-items: center;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-success-light;\n color: $es-success-dark;\n border-radius: $es-radius-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n }\n\n .boolean-label {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n\n &::before {\n content: '\\2713';\n font-weight: bold;\n }\n }\n\n // Condition match count badge\n .condition-match-count {\n @include count-badge($es-primary);\n margin-left: $es-spacing-sm;\n }\n}\n","/**\n * Modal Component\n * Preview modals, confirmation dialogs\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Modal backdrop\n.mpr-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: $es-z-modal;\n opacity: 0;\n transition: opacity $es-transition-normal;\n\n &.show {\n opacity: 1;\n }\n}\n\n// Modal container\n.mpr-modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0.95);\n z-index: $es-z-modal + 1;\n width: 90%;\n max-width: 600px;\n max-height: 90vh;\n background: $es-white;\n border-radius: $es-radius-xl;\n box-shadow: $es-shadow-xl;\n opacity: 0;\n transition: all $es-transition-normal;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n &.show {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n\n &.modal-sm {\n max-width: 400px;\n }\n\n &.modal-lg {\n max-width: 800px;\n }\n\n &.modal-xl {\n max-width: 1000px;\n }\n\n &.modal-fullscreen {\n width: 95%;\n max-width: none;\n height: 90vh;\n max-height: none;\n }\n}\n\n// Modal header\n.mpr-modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-md;\n padding: $es-spacing-md $es-spacing-lg;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n flex-shrink: 0;\n}\n\n.mpr-modal-title {\n font-size: $es-font-size-base;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n margin: 0;\n}\n\n.mpr-modal-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: $es-text-muted;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n i {\n font-size: $es-font-size-lg;\n }\n}\n\n// Modal body\n.mpr-modal-body {\n flex: 1;\n overflow-y: auto;\n padding: $es-spacing-lg;\n @include custom-scrollbar;\n}\n\n// Modal footer\n.mpr-modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: $es-spacing-sm;\n padding: $es-spacing-md $es-spacing-lg;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n flex-shrink: 0;\n}\n\n.mpr-modal-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &.btn-secondary {\n color: $es-text-secondary;\n background: $es-slate-100;\n\n &:hover {\n background: $es-slate-200;\n }\n }\n\n &.btn-primary {\n color: $es-white;\n background: $es-primary;\n\n &:hover {\n background: $es-primary-hover;\n }\n }\n\n &.btn-danger {\n color: $es-white;\n background: $es-danger;\n\n &:hover {\n background: darken($es-danger, 10%);\n }\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n// Preview popover styles moved to _list-preview.scss\n\n.popover-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n}\n\n.popover-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n}\n\n.popover-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n}\n\n.popover-body {\n max-height: 300px;\n overflow-y: auto;\n padding: $es-spacing-sm;\n @include custom-scrollbar;\n}\n\n.popover-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n}\n\n.popover-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n}\n\n.popover-load-more {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n}\n\n// Popover arrow\n.popover-arrow {\n position: absolute;\n width: 12px;\n height: 12px;\n background: $es-white;\n border: 1px solid $es-border-color;\n transform: rotate(45deg);\n\n &.arrow-top {\n top: -7px;\n left: 50%;\n margin-left: -6px;\n border-right: none;\n border-bottom: none;\n }\n\n &.arrow-bottom {\n bottom: -7px;\n left: 50%;\n margin-left: -6px;\n border-left: none;\n border-top: none;\n }\n}\n","/**\n * List Preview Component\n * Entity list display in modals and popovers\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// =============================================================================\n// Preview Popover (floating popover attached to badges)\n// =============================================================================\n\n.target-preview-popover {\n position: absolute;\n z-index: 10000;\n min-width: 280px;\n max-width: 400px;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n box-shadow: $es-shadow-lg;\n overflow: hidden;\n\n // Arrow pointing to badge\n &::before {\n content: '';\n position: absolute;\n top: -8px;\n left: 50%;\n transform: translateX(-50%);\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid $es-border-color;\n }\n\n &::after {\n content: '';\n position: absolute;\n top: -6px;\n left: 50%;\n transform: translateX(-50%);\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid $es-white;\n }\n\n .preview-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n\n .preview-count {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n }\n\n .preview-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n }\n }\n\n .preview-list {\n max-height: 300px;\n overflow-y: auto;\n @include custom-scrollbar;\n padding: $es-spacing-sm;\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n position: relative;\n\n // Loading overlay for AJAX filtering\n &.filtering {\n pointer-events: none;\n opacity: 0.6;\n }\n\n .filter-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgba($es-white, 0.7);\n z-index: 10;\n\n i {\n font-size: 20px;\n color: $es-primary;\n animation: spin 0.6s linear infinite;\n }\n }\n }\n\n // Filter input section\n .preview-filter {\n padding: $es-spacing-sm;\n border-bottom: 1px solid $es-border-color;\n\n .preview-filter-input {\n width: 100%;\n padding: $es-spacing-xs $es-spacing-sm;\n font-size: $es-font-size-xs;\n line-height: 1.4;\n color: $es-text-primary;\n background-color: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n box-sizing: border-box;\n\n &:focus {\n border-color: $es-primary;\n outline: none;\n }\n\n &::placeholder {\n color: $es-text-muted;\n }\n }\n }\n\n .preview-footer {\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-slate-50;\n border-top: 1px solid $es-border-color;\n\n .preview-more-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n font-weight: $es-font-weight-medium;\n text-align: center;\n }\n }\n\n // Load more controls (select dropdown style)\n .load-more-controls {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n .load-more-label {\n white-space: nowrap;\n }\n\n .load-more-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 70px;\n }\n\n .load-more-of {\n white-space: nowrap;\n }\n\n .remaining-count {\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n }\n\n .btn-load-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xs;\n margin: 0;\n border: none;\n color: $es-primary;\n background: $es-primary-light !important;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n font: inherit;\n\n i {\n font-size: 14px;\n }\n\n &:hover {\n background: rgba($es-primary, 0.2) !important;\n }\n\n &.loading {\n cursor: wait;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n }\n }\n}\n\n// =============================================================================\n// Preview List Container\n// =============================================================================\n\n// Preview list container\n.entity-list-preview {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n}\n\n// Preview item (list-style with bottom border divider)\n.preview-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm 0;\n background: $es-white;\n border: none;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n transition: background $es-transition-fast;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover {\n background: $es-bg-hover;\n }\n}\n\n.preview-item-image {\n flex-shrink: 0;\n width: 36px;\n height: 36px;\n object-fit: cover;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n}\n\n.preview-item-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 36px;\n height: 36px;\n background: $es-slate-100;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-base;\n}\n\n.preview-item-info {\n flex: 1;\n min-width: 0;\n}\n\n.preview-item-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n}\n\n.preview-item-meta {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n @include text-truncate;\n}\n\n.preview-item-badge {\n @include badge($es-slate-100, $es-text-muted);\n flex-shrink: 0;\n}\n\n.preview-item-price {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n flex-shrink: 0;\n}\n\n// Preview grid layout\n.entity-list-preview.grid-layout {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n gap: $es-spacing-sm;\n\n .preview-item {\n flex-direction: column;\n text-align: center;\n padding: $es-spacing-md;\n }\n\n .preview-item-image {\n width: 60px;\n height: 60px;\n }\n\n .preview-item-info {\n width: 100%;\n }\n}\n\n// Compact list layout\n.entity-list-preview.compact {\n gap: 0;\n\n .preview-item {\n border-radius: 0;\n border-bottom: none;\n\n &:first-child {\n border-radius: $es-radius-md $es-radius-md 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 $es-radius-md $es-radius-md;\n border-bottom: 1px solid $es-border-color;\n }\n }\n}\n\n// Preview empty state\n.preview-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n }\n\n p {\n margin: 0;\n font-size: $es-font-size-sm;\n }\n}\n\n// Preview loading state\n.preview-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n\n .spinner {\n width: 24px;\n height: 24px;\n border: 3px solid $es-slate-200;\n border-top-color: $es-primary;\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n }\n}\n\n// Preview pagination\n.preview-pagination {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-md 0;\n}\n\n.preview-page-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 28px;\n height: 28px;\n padding: 0 $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover:not(:disabled) {\n background: $es-bg-hover;\n border-color: $es-slate-300;\n }\n\n &.active {\n background: $es-primary;\n border-color: $es-primary;\n color: $es-white;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n// Preview summary\n.preview-summary {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n}\n\n.preview-count {\n font-weight: $es-font-weight-medium;\n\n strong {\n color: $es-text-primary;\n }\n}\n\n// Preview filters in modal\n.preview-filters {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n}\n\n.preview-filter-chip {\n @include chip;\n}\n\n.preview-search {\n @include input-base;\n flex: 1;\n min-width: 150px;\n padding: 0.375rem $es-spacing-sm;\n font-size: $es-font-size-xs;\n}\n\n// Scrollable preview list\n.preview-list-scrollable {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n}\n\n// Mini preview (inline)\n.entity-mini-preview {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n background: $es-slate-50;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-xs;\n\n img {\n width: 16px;\n height: 16px;\n object-fit: cover;\n border-radius: 2px;\n }\n\n .mini-preview-name {\n color: $es-text-primary;\n font-weight: $es-font-weight-medium;\n @include text-truncate;\n max-width: 100px;\n }\n}\n\n\n// =============================================================================\n// Total Summary Popover (header total badge click)\n// =============================================================================\n\n.total-preview-popover {\n min-width: 240px;\n max-width: 320px;\n\n .preview-popover-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n\n .preview-popover-title {\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n font-size: $es-font-size-sm;\n }\n\n .preview-popover-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n }\n\n .preview-popover-body {\n padding: $es-spacing-xs 0;\n }\n\n .total-summary-list {\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n .total-summary-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n cursor: pointer;\n transition: background-color 0.15s ease;\n\n &:hover {\n background: $es-slate-50;\n }\n\n i {\n width: 18px;\n text-align: center;\n color: $es-text-muted;\n font-size: 14px;\n }\n\n .summary-item-label {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n }\n\n .summary-item-count {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n background: rgba($es-primary, 0.1);\n padding: 2px 8px;\n border-radius: $es-radius-sm;\n }\n }\n}\n\n// Make trait-total-count clickable\n.trait-total-count {\n cursor: pointer;\n transition: all 0.15s ease;\n\n &:hover {\n opacity: 0.8;\n }\n\n &.popover-open {\n opacity: 0.9;\n }\n}\n","/**\n * Schedule Conditions Component\n * DateTime picker, weekly timeline, holidays\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Schedule conditions wrapper\n.schedule-conditions-trait {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n}\n\n// Schedule header\n.schedule-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-md;\n padding: 0.875rem $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n}\n\n.schedule-title {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n\n i {\n color: $es-text-muted;\n }\n}\n\n// Schedule body\n.schedule-body {\n padding: $es-spacing-md;\n}\n\n// Schedule section\n.schedule-section {\n margin-bottom: $es-spacing-lg;\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n.schedule-section-title {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-sm;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n\n i {\n color: $es-text-muted;\n }\n}\n\n.schedule-section-description {\n margin-bottom: $es-spacing-md;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n}\n\n// DateTime range picker\n.datetime-range {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-md;\n}\n\n.datetime-field {\n flex: 1;\n min-width: 200px;\n}\n\n.datetime-label {\n display: block;\n margin-bottom: 0.25rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n}\n\n.datetime-input {\n @include input-base;\n}\n\n// Weekly schedule\n.weekly-schedule {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n}\n\n.day-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-md;\n padding: $es-spacing-sm;\n background: $es-slate-50;\n border-radius: $es-radius-md;\n\n &.disabled {\n opacity: 0.5;\n }\n}\n\n.day-toggle {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n min-width: 100px;\n}\n\n.day-checkbox {\n width: 18px;\n height: 18px;\n cursor: pointer;\n}\n\n.day-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n}\n\n// Timeline slider\n.timeline-slider {\n flex: 1;\n position: relative;\n height: 24px;\n background: $es-slate-200;\n border-radius: $es-radius-full;\n cursor: pointer;\n}\n\n.timeline-fill {\n position: absolute;\n top: 0;\n height: 100%;\n background: $es-primary;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n}\n\n.timeline-handle {\n position: absolute;\n top: 50%;\n width: 16px;\n height: 16px;\n background: $es-white;\n border: 2px solid $es-primary;\n border-radius: 50%;\n transform: translate(-50%, -50%);\n cursor: grab;\n box-shadow: $es-shadow-sm;\n transition: box-shadow $es-transition-fast;\n\n &:hover {\n box-shadow: $es-shadow-md;\n }\n\n &:active {\n cursor: grabbing;\n }\n\n &.handle-start {\n z-index: 2;\n }\n\n &.handle-end {\n z-index: 1;\n }\n}\n\n// Time display\n.day-times {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n min-width: 120px;\n font-size: $es-font-size-xs;\n font-family: monospace;\n color: $es-text-secondary;\n}\n\n.time-separator {\n color: $es-text-muted;\n}\n\n// Holiday exclusions\n.holiday-section {\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-radius: $es-radius-md;\n}\n\n.holiday-toggle {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-md;\n}\n\n.holiday-checkbox {\n width: 18px;\n height: 18px;\n cursor: pointer;\n}\n\n.holiday-label {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n}\n\n.holiday-countries {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n}\n\n.holiday-country-chip {\n @include chip;\n cursor: pointer;\n\n &.selected {\n background: $es-primary-light;\n color: $es-primary;\n }\n}\n\n// Server time display\n.server-time {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-info-light;\n border-radius: $es-radius-md;\n font-size: $es-font-size-xs;\n color: $es-info;\n\n i {\n font-size: $es-font-size-sm;\n }\n\n .time-value {\n font-family: monospace;\n font-weight: $es-font-weight-semibold;\n }\n}\n\n// Schedule summary\n.schedule-summary {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-radius: $es-radius-md;\n font-size: $es-font-size-sm;\n color: $es-text-secondary;\n\n .summary-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n\n i {\n color: $es-success;\n font-size: $es-font-size-sm;\n }\n\n &.inactive i {\n color: $es-text-muted;\n }\n }\n}\n\n// Collapsed state\n.schedule-conditions-trait.collapsed {\n .schedule-body {\n display: none;\n }\n\n .schedule-header {\n border-radius: $es-radius-lg;\n }\n}\n","/**\n * Tips Box Component\n * Pro tips and help information display\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Tips box container\n .target-tips-box {\n margin: $es-spacing-lg $es-spacing-md $es-spacing-md;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n overflow: hidden;\n background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n }\n\n // Tips header (clickable to expand/collapse)\n .tips-header {\n display: flex;\n align-items: center;\n gap: 0.625rem;\n padding: $es-spacing-md $es-spacing-lg;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.02);\n }\n\n // Lightbulb icon\n > i:first-child {\n font-size: 1rem;\n color: $es-warning;\n }\n\n // Title text\n > span {\n flex: 1;\n font-size: 13px;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-600;\n }\n }\n\n // Toggle chevron icon\n .tips-toggle {\n font-size: $es-font-size-xs;\n color: $es-slate-400;\n transition: transform 0.2s;\n }\n\n // Expanded state\n .target-tips-box.expanded {\n .tips-toggle {\n transform: rotate(180deg);\n }\n\n .tips-content {\n display: block;\n }\n }\n\n // Tips content (hidden by default)\n .tips-content {\n display: none;\n padding: 0 $es-spacing-lg $es-spacing-lg;\n }\n\n // Tips grid layout\n .tips-grid {\n display: grid;\n gap: $es-spacing-md;\n grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n }\n\n // Individual tip item\n .tip-item {\n display: flex;\n gap: $es-spacing-md;\n padding: $es-spacing-md;\n background: $es-white;\n border-radius: $es-radius-md;\n border: 1px solid $es-border-color;\n }\n\n // Tip icon\n .tip-icon {\n flex-shrink: 0;\n width: 2rem;\n height: 2rem;\n display: flex;\n align-items: center;\n justify-content: center;\n background: $es-primary-light;\n border-radius: $es-radius-md;\n color: $es-primary;\n font-size: $es-font-size-sm;\n }\n\n // Tip text content\n .tip-text {\n flex: 1;\n min-width: 0;\n\n strong {\n display: block;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-700;\n margin-bottom: 0.25rem;\n }\n\n p {\n font-size: 11px;\n color: $es-text-muted;\n line-height: 1.625;\n margin: 0;\n }\n }\n\n // Tips footer\n .tips-footer {\n margin-top: $es-spacing-md;\n padding: 0.625rem $es-spacing-md;\n background: $es-white;\n border-radius: $es-radius-md;\n border: 1px dashed $es-gray-300;\n font-size: 11px;\n color: $es-text-muted;\n line-height: 1.625;\n\n i {\n color: $es-primary;\n margin-right: 0.25rem;\n }\n }\n}\n","/**\n * Condition Trait Base Styles\n * Shared styling for all condition trait components\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Base condition trait container\n.condition-trait {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n margin-bottom: $es-spacing-lg;\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n// Collapsed state\n.condition-trait.collapsed {\n .condition-trait-header {\n border-bottom-color: transparent;\n border-radius: $es-radius-lg;\n }\n\n .collapse-icon {\n transform: rotate(180deg);\n }\n}\n\n// =============================================================================\n// Trait Header\n// =============================================================================\n\n.condition-trait-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-lg;\n flex-wrap: wrap;\n padding: 0.875rem $es-spacing-lg;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n }\n}\n\n.trait-header-left {\n display: flex;\n align-items: center;\n gap: $es-spacing-md;\n min-width: 0;\n flex: 1;\n}\n\n.trait-icon {\n font-size: 1.125rem;\n color: $es-text-muted;\n flex-shrink: 0;\n}\n\n.trait-title-group {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n min-width: 0;\n}\n\n.trait-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-800;\n white-space: nowrap;\n}\n\n.trait-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.trait-header-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-md;\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.trait-header-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n}\n\n// Collapse icon\n.collapse-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n font-size: $es-font-size-sm;\n color: $es-text-muted;\n cursor: pointer;\n transition: all 0.2s;\n border-radius: $es-radius-sm;\n background: transparent;\n\n &:hover {\n color: $es-primary;\n background: rgba($es-primary, 0.08);\n }\n}\n\n// Show all toggle\n.trait-show-all-toggle {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n font-size: $es-font-size-xs;\n color: $es-primary;\n cursor: pointer;\n\n &:hover {\n text-decoration: underline;\n }\n}\n\n// Trait total count badge (global fallback)\n.trait-total-count {\n @include count-badge($es-primary);\n}\n\n// Required indicator\n.trait-required {\n color: $es-danger;\n font-size: $es-font-size-xs;\n}\n\n// Validation error\n.trait-validation-error {\n color: $es-danger;\n font-size: $es-font-size-xs;\n margin-top: 0.25rem;\n}\n\n// Trait toggle button\n.trait-toggle {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-50;\n border-color: $es-gray-300;\n }\n\n &.active {\n color: $es-primary;\n border-color: $es-primary;\n background: $es-primary-light;\n }\n}\n\n// =============================================================================\n// Trait Body\n// =============================================================================\n\n.condition-trait-body {\n padding: $es-spacing-lg;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n background: $es-white;\n animation: slideDown 0.2s ease-out;\n}\n\n// Condition trait collapsed - hide body\n.condition-trait.collapsed .condition-trait-body {\n display: none;\n}\n\n// =============================================================================\n// Section Styles\n// =============================================================================\n\n.schedule-section,\n.context-section {\n margin-bottom: 1.25rem;\n padding-bottom: 1.25rem;\n border-bottom: 1px solid $es-slate-100;\n\n &:last-child {\n margin-bottom: 0;\n padding-bottom: 0;\n border-bottom: 0;\n }\n}\n\n.section-label {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n font-size: 13px;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-600;\n margin-bottom: $es-spacing-md;\n\n i {\n font-size: $es-font-size-sm;\n color: $es-slate-400;\n margin-right: 0.25rem;\n }\n}\n\n.section-content {\n // Container for section content\n}\n\n.section-hint {\n margin-top: 0.5rem;\n font-size: 11px;\n color: $es-slate-400;\n}\n\n// =============================================================================\n// Full-width Form Group Override\n// =============================================================================\n\n.form-group.condition-trait-fullwidth {\n display: block !important;\n\n > .control-label {\n display: none !important;\n }\n\n > .col-lg-8,\n > .col-lg-8.col-lg-offset-3 {\n width: 100% !important;\n max-width: 100% !important;\n flex: 0 0 100% !important;\n padding-left: $es-spacing-lg !important;\n padding-right: $es-spacing-lg !important;\n margin: 0 !important;\n margin-left: 0 !important;\n }\n}\n\n// Condition traits group label\n.condition-traits-group-label {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-slate-700;\n margin-bottom: $es-spacing-md;\n}\n\n.condition-traits-wrapper {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-md;\n}\n\n// =============================================================================\n// Animations\n// =============================================================================\n\n@keyframes slideDown {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n","/**\n * Combination Attributes Picker Component\n * Product attribute combination selection styles\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Main container\n .combination-attributes-picker {\n display: flex;\n flex-direction: column;\n gap: 0.625rem;\n }\n\n // Mode toggle (Any/All)\n .combination-mode-toggle {\n display: inline-flex;\n gap: 0.25rem;\n padding: 0.125rem;\n background: $es-slate-100;\n border-radius: $es-radius-md;\n margin-bottom: 0.5rem;\n }\n\n .combination-mode-option {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n cursor: pointer;\n font-size: 11px;\n color: $es-text-muted;\n padding: 0.25rem 0.625rem;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n input[type=\"radio\"] {\n display: none;\n }\n\n .mode-label {\n user-select: none;\n }\n\n &:hover {\n color: $es-primary;\n background: rgba($es-primary, 0.1);\n }\n\n &:has(input[type=\"radio\"]:checked) {\n background: $es-primary;\n color: $es-white;\n font-weight: $es-font-weight-medium;\n }\n }\n\n // Groups container\n .combination-groups-container {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-md;\n }\n\n // Loading/Empty/Error states\n .combination-loading,\n .combination-empty,\n .combination-error {\n color: $es-text-muted;\n font-style: italic;\n padding: 0.5rem;\n }\n\n .combination-error {\n color: $es-danger;\n }\n\n // Section header\n .combinations-section {\n margin-bottom: $es-spacing-md;\n }\n\n .combinations-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: $es-spacing-sm;\n }\n\n .combinations-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n }\n\n .combinations-help {\n font-size: 11px;\n color: $es-slate-400;\n }\n\n // Toggle combinations button\n .btn-toggle-combinations {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-primary;\n background: transparent;\n border: 1px solid $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n }\n\n .btn-remove-combinations {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-danger;\n background: transparent;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n // =============================================================================\n // Attribute Group\n // =============================================================================\n\n .comb-attr-group {\n flex: none;\n min-width: 120px;\n max-width: 200px;\n background: $es-white;\n border: 1px solid $es-gray-300;\n border-radius: $es-radius-sm;\n overflow: hidden;\n\n &.has-selections {\n border-color: $es-primary;\n }\n }\n\n .comb-attr-group-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.375rem 0.625rem;\n background: $es-slate-100;\n border-bottom: 1px solid $es-gray-300;\n font-weight: $es-font-weight-semibold;\n font-size: $es-font-size-xs;\n color: $es-slate-800;\n\n .comb-attr-group.has-selections & {\n background: $es-cyan-50;\n border-bottom-color: $es-cyan-200;\n }\n }\n\n .comb-attr-group-name {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .comb-attr-group-count {\n flex-shrink: 0;\n min-width: 18px;\n height: 18px;\n padding: 0 0.25rem;\n background: $es-gray-300;\n border-radius: $es-radius-full;\n font-size: 11px;\n font-weight: $es-font-weight-semibold;\n line-height: 18px;\n text-align: center;\n color: $es-text-muted;\n\n .comb-attr-group.has-selections & {\n background: $es-primary;\n color: $es-white;\n }\n }\n\n // Toolbar\n .comb-attr-toolbar {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.375rem;\n background: $es-slate-50;\n border-bottom: 1px solid $es-slate-100;\n }\n\n .comb-toolbar-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 22px;\n height: 22px;\n padding: 0;\n background: $es-white;\n border: 1px solid $es-gray-300;\n border-radius: $es-radius-sm;\n color: $es-text-muted;\n cursor: pointer;\n font-size: $es-font-size-xs;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-slate-400;\n color: $es-slate-800;\n }\n }\n\n .comb-attr-search {\n flex: 1;\n min-width: 60px;\n padding: 0.125rem 0.375rem;\n border: 1px solid $es-gray-300;\n border-radius: $es-radius-sm;\n font-size: 11px;\n outline: none;\n\n &:focus {\n border-color: $es-primary;\n }\n\n &::placeholder {\n color: $es-slate-400;\n }\n }\n\n // Values container\n .comb-attr-values {\n display: flex;\n flex-wrap: wrap;\n gap: 0.25rem;\n padding: 0.375rem;\n max-height: 150px;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n .comb-attr-loading,\n .comb-attr-empty,\n .comb-attr-error {\n width: 100%;\n text-align: center;\n color: $es-slate-400;\n font-size: 11px;\n padding: 0.25rem;\n }\n\n .comb-attr-error {\n color: $es-danger;\n }\n\n // Individual value\n .comb-attr-value {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.125rem 0.5rem;\n background: $es-white;\n border: 1px solid $es-slate-400;\n border-radius: 0.75rem;\n font-size: 11px;\n color: $es-slate-600;\n cursor: pointer;\n transition: all $es-transition-fast;\n white-space: nowrap;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-text-muted;\n }\n\n &.selected {\n background: $es-primary;\n border-color: $es-primary-hover;\n color: $es-white;\n\n &:hover {\n background: $es-primary-hover;\n border-color: darken($es-primary-hover, 5%);\n }\n }\n }\n\n .comb-attr-value-count {\n font-size: 9px;\n color: $es-slate-400;\n background: $es-slate-100;\n padding: 1px 0.25rem;\n border-radius: 0.5rem;\n min-width: 14px;\n text-align: center;\n\n .comb-attr-value.selected & {\n color: $es-white;\n background: rgba(255, 255, 255, 0.3);\n }\n }\n\n // =============================================================================\n // Combination Conditions (Row-based)\n // =============================================================================\n\n .combination-conditions-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .combination-condition-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm;\n background: $es-slate-50;\n border-radius: $es-radius-sm;\n }\n\n .combination-group-select,\n .combination-values-select {\n flex: 1;\n min-width: 120px;\n }\n\n .combination-equals {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n padding: 0 0.25rem;\n }\n\n .btn-add-combination-condition {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n background: transparent;\n border: 1px dashed $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n .btn-remove-combination-row {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-danger, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 12px;\n }\n }\n}\n","/**\n * Method Dropdown Component\n * Custom select dropdown with icons for method selection\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Method dropdown trigger button\n .method-dropdown-trigger {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n height: 36px;\n padding: 0 $es-spacing-md;\n border-radius: $es-radius-md;\n background: $es-white;\n color: $es-slate-800;\n font-size: $es-font-size-sm;\n cursor: pointer;\n transition: all $es-transition-fast;\n min-width: 180px;\n max-width: 320px;\n border: 1px solid $es-border-color;\n\n &:hover {\n background: $es-slate-50;\n border-color: $es-gray-300;\n }\n\n &:focus,\n &:active {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 3px rgba($es-primary, 0.1);\n }\n }\n\n .method-trigger-icon {\n font-size: $es-font-size-sm;\n color: $es-text-muted;\n flex-shrink: 0;\n width: 18px;\n text-align: center;\n }\n\n .method-trigger-label {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-weight: $es-font-weight-medium;\n }\n\n .method-trigger-caret {\n font-size: $es-font-size-xs;\n color: $es-slate-400;\n flex-shrink: 0;\n margin-left: auto;\n }\n\n // Locked state\n .selector-locked .method-dropdown-trigger {\n background: $es-slate-100;\n color: $es-slate-400;\n cursor: not-allowed;\n border-color: $es-border-color;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-border-color;\n }\n }\n\n // Method selector wrapper\n .method-selector-wrapper {\n position: relative;\n }\n\n // Hidden select (for form submission)\n .method-select-hidden {\n position: absolute !important;\n opacity: 0 !important;\n pointer-events: none !important;\n width: 0 !important;\n height: 0 !important;\n overflow: hidden !important;\n }\n}\n\n// Global fallback for hidden method selects\n.method-select-hidden {\n position: absolute !important;\n opacity: 0 !important;\n pointer-events: none !important;\n width: 0 !important;\n height: 0 !important;\n overflow: hidden !important;\n}\n\n// =============================================================================\n// Method Dropdown Menu (appended to body, outside trait wrappers)\n// =============================================================================\n\n.method-dropdown-menu {\n position: absolute;\n z-index: $es-z-dropdown + 1;\n min-width: 200px;\n max-width: 360px;\n max-height: 400px;\n overflow-y: auto;\n background: $es-white;\n border-radius: $es-radius-lg;\n padding: 0.375rem 0;\n border: 1px solid $es-border-color;\n box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);\n animation: methodDropdownFadeIn 0.15s ease;\n @include custom-scrollbar;\n}\n\n@keyframes methodDropdownFadeIn {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n// Method dropdown item\n.method-dropdown-item {\n display: flex;\n align-items: center;\n gap: 0.625rem;\n padding: 0.5rem $es-spacing-md;\n cursor: pointer;\n transition: background-color 0.1s;\n position: relative;\n\n &:hover {\n background: $es-slate-100;\n }\n\n &.selected {\n background: rgba($es-primary, 0.08);\n }\n\n .method-item-icon {\n font-size: $es-font-size-sm;\n color: $es-text-muted;\n width: 18px;\n text-align: center;\n flex-shrink: 0;\n }\n\n &.selected .method-item-icon {\n color: $es-primary;\n }\n\n .method-item-label {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-slate-700;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &.selected .method-item-label {\n color: $es-cyan-700;\n font-weight: $es-font-weight-medium;\n }\n\n .method-item-check {\n font-size: $es-font-size-xs;\n flex-shrink: 0;\n margin-left: auto;\n color: $es-primary;\n }\n}\n\n// Method dropdown optgroup\n.method-dropdown-optgroup {\n margin-top: 0.25rem;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.method-optgroup-label {\n padding: 0.5rem $es-spacing-md;\n font-size: 11px;\n font-weight: $es-font-weight-semibold;\n color: $es-text-muted;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n background: $es-slate-50;\n border-top: 1px solid $es-slate-100;\n border-bottom: 1px solid $es-slate-100;\n\n .method-dropdown-optgroup:first-child & {\n border-top: 0;\n }\n}\n\n.method-optgroup-items {\n padding: 0.25rem 0;\n\n .method-dropdown-item {\n padding-left: $es-spacing-lg;\n }\n}\n\n// Method info placeholder\n.method-info-placeholder {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n font-style: italic;\n}\n","/**\n * Tooltip Component\n * Info tooltips for method help\n */\n\n@use '../variables' as *;\n\n// =============================================================================\n// Info Wrapper (tooltip trigger)\n// =============================================================================\n\n.mpr-info-wrapper {\n display: inline-flex;\n align-items: center;\n position: relative;\n cursor: help;\n vertical-align: middle;\n margin-left: 0.25rem;\n\n .material-icons {\n font-size: 16px;\n color: $es-text-muted;\n transition: color 0.15s ease;\n }\n\n &:hover .material-icons {\n color: $es-primary;\n }\n}\n\n// =============================================================================\n// Fixed Tooltip (appended to body on hover)\n// =============================================================================\n\n.mpr-tooltip-fixed {\n position: fixed;\n background: $es-white;\n color: $es-slate-800;\n padding: $es-spacing-md $es-spacing-lg;\n border-radius: $es-radius-md;\n font-size: 13px;\n line-height: 1.5;\n white-space: normal;\n z-index: 10500;\n max-width: 320px;\n min-width: 180px;\n text-align: left;\n box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 1px 0px,\n rgba(64, 68, 82, 0.16) 0px 0px 0px 1px,\n rgba(64, 68, 82, 0.08) 0px 2px 5px 0px;\n pointer-events: none;\n\n // Pinned tooltip allows interaction\n &.pinned {\n pointer-events: auto;\n padding-right: $es-spacing-xl + 1rem;\n }\n\n strong {\n display: block;\n margin-bottom: 0.375rem;\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n }\n\n p {\n margin: 0;\n color: $es-text-secondary;\n }\n\n ul {\n margin: 0.5rem 0 0;\n padding-left: 1.25rem;\n\n li {\n margin: 0.25rem 0;\n color: $es-text-secondary;\n }\n }\n}\n\n// Close button for pinned tooltips\n.mpr-tooltip-close {\n position: absolute;\n top: 0.375rem;\n right: 0.375rem;\n padding: 0.125rem;\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: $es-radius-sm;\n line-height: 1;\n transition: background-color 0.15s ease;\n\n .material-icons {\n font-size: 16px;\n color: $es-text-muted;\n }\n\n &:hover {\n background: $es-slate-100;\n\n .material-icons {\n color: $es-slate-700;\n }\n }\n}\n","/**\n * Category Tree Component\n * Hierarchical tree view for category selection inside dropdown\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Category tree container (inside dropdown)\n.category-tree {\n display: flex;\n flex-direction: column;\n}\n\n// Tree toolbar inside dropdown\n.category-tree .tree-toolbar {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xs $es-spacing-sm;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-light;\n flex-shrink: 0;\n\n .btn-expand-all,\n .btn-collapse-all {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: $es-spacing-xs $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-slate-300;\n }\n\n i {\n font-size: 12px;\n }\n }\n}\n\n// Tree items container\n.category-tree .tree-items {\n padding: 0;\n}\n\n// Tree item\n.tree-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-xs $es-spacing-sm;\n cursor: pointer;\n transition: background $es-transition-fast;\n border-radius: 0;\n\n &:hover {\n background: $es-slate-100;\n }\n\n &.selected {\n background: $es-primary-light;\n\n .tree-name {\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n }\n\n .tree-checkbox {\n color: $es-primary;\n\n i {\n opacity: 1;\n }\n }\n }\n\n &.inactive {\n opacity: 0.6;\n\n .tree-name {\n font-style: italic;\n }\n }\n\n &.filtered-out {\n display: none;\n }\n\n &.filter-match {\n background: $es-warning-light;\n\n &.selected {\n background: $es-primary-light;\n }\n }\n}\n\n// All tree element styles nested under .category-tree for specificity\n.category-tree {\n // Tree indentation\n .tree-indent {\n flex-shrink: 0;\n }\n\n // Tree toggle (expand/collapse)\n .tree-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n color: $es-text-secondary;\n flex-shrink: 0;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n cursor: pointer;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n\n &.tree-leaf {\n cursor: default;\n visibility: hidden;\n\n &:hover {\n background: transparent;\n }\n }\n\n i {\n font-size: 10px;\n transition: transform $es-transition-fast;\n }\n }\n\n .tree-item.collapsed > .tree-toggle i {\n transform: rotate(-90deg);\n }\n\n // Tree checkbox indicator - 12x12 to match PrestaShop admin standards\n .tree-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n flex-shrink: 0;\n border: 1px solid $es-border-color;\n border-radius: 2px;\n background: $es-white;\n\n i {\n font-size: 8px;\n opacity: 0;\n color: $es-white;\n transition: opacity $es-transition-fast;\n }\n }\n\n .tree-item.selected .tree-checkbox {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n opacity: 1;\n }\n }\n\n // Tree icon\n .tree-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n color: $es-text-muted;\n flex-shrink: 0;\n\n i {\n font-size: 12px; // match visual weight of other icons\n }\n }\n\n .tree-item.selected .tree-icon {\n color: $es-primary;\n }\n\n // Tree name\n .tree-name {\n flex: 1;\n font-size: $es-font-size-sm;\n color: $es-text-primary;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n // Tree product/page count with preview\n .tree-count {\n @include count-badge($es-primary);\n height: 18px;\n min-width: 18px;\n padding: 0 $es-spacing-sm;\n\n i {\n font-size: 10px;\n }\n\n &.clickable {\n &.loading {\n pointer-events: none;\n\n i {\n animation: spin 1s linear infinite;\n }\n }\n\n &.popover-open {\n background: darken($es-primary, 10%);\n }\n }\n }\n\n // Select children button - positioned on the left next to toggle\n .btn-select-children {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 12px;\n height: 12px;\n box-sizing: border-box;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n opacity: 0.3;\n transition: all $es-transition-fast;\n flex-shrink: 0;\n\n i {\n font-size: 14px; // larger to visually match other icons\n }\n\n &:hover {\n color: $es-primary;\n opacity: 1;\n }\n }\n\n .tree-item:hover .btn-select-children {\n opacity: 0.6;\n }\n\n // Tree badge (inactive, etc.)\n .tree-badge {\n display: inline-flex;\n align-items: center;\n padding: 0.125rem $es-spacing-xs;\n font-size: 9px;\n font-weight: $es-font-weight-semibold;\n text-transform: uppercase;\n letter-spacing: 0.025em;\n border-radius: $es-radius-sm;\n flex-shrink: 0;\n\n &.inactive {\n color: $es-warning;\n background: $es-warning-light;\n }\n }\n\n // Tree children container\n .tree-children {\n display: block;\n\n &.filter-expanded {\n display: block !important;\n }\n }\n\n .tree-item.collapsed + .tree-children {\n display: none;\n }\n\n // Filtering - must be inside .category-tree for specificity\n .tree-item.filtered-out {\n display: none !important;\n }\n} // end .category-tree\n\n// Loading/empty/error states\n.category-tree .tree-loading,\n.category-tree .dropdown-empty,\n.category-tree .dropdown-error {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n margin-right: $es-spacing-sm;\n }\n}\n\n.category-tree .dropdown-error {\n color: $es-danger;\n}\n\n// Tree view mode in dropdown\n.target-search-dropdown.view-tree {\n .dropdown-results {\n padding: 0;\n }\n\n .category-tree {\n max-height: 100%;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n .tree-items {\n max-height: calc(100% - 40px);\n overflow-y: auto;\n @include custom-scrollbar;\n }\n}\n","/**\n * Validation Toast Component\n * Error notifications for selection conflicts\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Validation error toast\n.es-validation-toast {\n display: flex;\n align-items: flex-start;\n gap: $es-spacing-sm;\n padding: $es-spacing-md;\n background: $es-white;\n border: 1px solid $es-danger;\n border-left: 4px solid $es-danger;\n border-radius: $es-radius-md;\n box-shadow: $es-shadow-lg;\n max-width: 400px;\n animation: es-toast-slide-in 0.2s ease-out;\n\n .es-toast-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-danger;\n flex-shrink: 0;\n\n i {\n font-size: 18px;\n }\n }\n\n .es-toast-content {\n flex: 1;\n min-width: 0;\n }\n\n .es-toast-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-danger;\n margin-bottom: 2px;\n }\n\n .es-toast-message {\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n line-height: 1.4;\n }\n\n .es-toast-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n flex-shrink: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-text-primary;\n }\n\n i {\n font-size: 12px;\n }\n }\n}\n\n@keyframes es-toast-slide-in {\n from {\n opacity: 0;\n transform: translateY(-10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n"]} \ No newline at end of file diff --git a/assets/js/admin/entity-selector.js b/assets/js/admin/entity-selector.js index ee8c980..d4778e4 100644 --- a/assets/js/admin/entity-selector.js +++ b/assets/js/admin/entity-selector.js @@ -3953,14 +3953,16 @@ var trans = this.config.trans || {}; var $picker = $chips.closest('.value-picker'); - // Create wrapper structure - simple inline toolbar + // Create wrapper structure - integrated filter toolbar var wrapperHtml = '