- Preserve icon structure when updating total count in trait badge - Add gap between title and count in preview popover header - Style the count badge with background, padding, and rounded corners Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 line
264 KiB
Plaintext
1 line
264 KiB
Plaintext
{"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/_entity-item.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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B,cLpbW,MKqbX,gCAEA,sHACI,eACA,uBACA,2BACA,kBACA,YHjVY,IGoVhB,gHACI,MHxbE,QGybF,WH1dD,KG2dC,yBAEA,4HACI,WHvbD,QGwbC,aHjcF,QGqcN,0NAEI,MHreD,KGseC,WLpeF,QKqeE,yBAEA,kPACI,WHreG,QGseH,aHteG,QGyeP,kRACI,8BAMZ,wFACI,aAGJ,wFACI,aAIJ,8FACI,QLxgBC,KKygBD,WH1dM,QG2dN,gCAGJ,0FACI,aACA,mBACA,8BACA,cHxbQ,MG2bZ,wFACI,UH5YU,QG6YV,YHvYkB,IGwYlB,MH3eM,QG8eV,0FPnfA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,sGACI,aO0eJ,0FAEI,UHpZU,OGqZV,MLlhBE,QKohBF,sGACI,0BAIR,4FACI,aACA,IH7cQ,MG8cR,4DAGJ,4EACI,aACA,sBACA,WAGJ,4EACI,UHzaU,OG0aV,YHpagB,IGqahB,MHzgBM,QG4gBV,0JP5cA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,kLACI,aE1GE,QF2CN,UACA,4CAkEA,8MACI,MIlFM,QG8gBV,0JAGI,sBACA,UHlbU,OGybd,8EACI,QHzeQ,MGgfZ,4EACI,aACA,mBACA,uBACA,IHpfQ,MGqfR,QHlfQ,KGmfR,MLnkBI,QKokBJ,UHvcU,QGycV,gFACI,mCAKR,sEACI,aACA,mBACA,IHngBQ,OGogBR,sBACA,cL3jBW,MK4jBX,eACA,6CAEA,kFACI,WH7jBE,QGgkBN,wFACI,WHvlBO,oBGylBP,sHACI,WL9lBN,QK+lBM,aL/lBN,QKimBM,0HACI,cAYhB,sEACI,aACA,mBACA,IHpiBQ,OGqiBR,OACA,YAGJ,sEACI,UHzfU,QG0fV,MHvlBM,QJhBV,gBACA,uBACA,mBOymBA,8EACI,UHhgBU,OGigBV,ML7nBI,QKioBR,wFACI,iBAGJ,wFACI,aACA,mBACA,IH3jBQ,MG4jBR,qBACA,cLpnBW,MKqnBX,eACA,6CAEA,oGACI,WHtnBE,QGynBN,0GACI,WHhpBO,oBGopBf,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oCI,QK2oCJ,mBAEA,gYACI,oBAIR,yFACI,MLnpCI,QKspCR,88BPxjCA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,skCACI,aE1GE,QF2CN,UACA,4CAkEA,ktCACI,MIlFM,QG0nCV,88BAWI,WACA,qBACA,UHviCU,OG0iCd,iUPxkCA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,qWACI,aE1GE,QF2CN,UACA,4CAkEA,+YACI,MIlFM,QG0oCV,iUAII,qBACA,UH/iCU,OGgjCV,gBAGJ,iUAGI,aACA,eACA,WAIJ,+FP7pCA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,2GACI,aOopCJ,+FAEI,oBACA,mBACA,WACA,qBACA,UHlkCU,OGmkCV,MHjqCM,QGkqCN,WHnsCG,KGosCH,yBACA,cL5qCW,MK6qCX,eACA,gCAEA,2GACI,WH9qCE,QG+qCF,aHlqCG,QGqqCP,6GACI,WHzsCO,oBG0sCP,aL9sCF,QK+sCE,ML/sCF,QKitCE,yIACI,MLltCN,QKstCF,2HACI,aLrtCF,QKstCE,+BAEA,uJACI,MLztCN,QK0tCM,YHxlCU,IG4lClB,yHACI,YH9lCY,IGkmChB,2HACI,oBACA,mBACA,YACA,MLxuCA,QKyuCA,iBAEA,+HACI,eACA,ML9uCN,QKkvCE,+IACI,eACA,uBACA,cL9tCG,MK+tCH,gCAEA,2JACI,+BACA,ML1vCV,QK4vCU,+JACI,ML7vCd,QKiwCM,yKACI,WLlwCV,QKmwCU,MHrwCT,KGuwCS,6KACI,MHxwCb,KG6wCS,mKACI,mCAQpB,iQPxvCA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,2LACI,aO+uCJ,iQAEI,oBACA,mBACA,WACA,qBACA,UH7pCU,OG8pCV,MH5vCM,QG6vCN,WHvvCO,QGwvCP,+BACA,cLvwCW,MKwwCX,eACA,gCAEA,2LACI,WH7vCG,QGgwCP,+LACI,WLvyCF,QKwyCE,MH1yCD,KGqzCP,2F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yBACA,cP3wBW,MO4wBX,eAEA,sGACI,aPtyBF,QOuyBE,aAIR,4ET/wBA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,wFACI,aSswBJ,4EAEI,aACA,mBACA,uBACA,MAvFc,KAwFd,OAxFc,KAyFd,MPjzBI,QOkzBJ,yBACA,cP7xBW,MO8xBX,gCAEA,wFACI,WLnxBG,QKoxBH,ML1xBE,QK8xBV,0FACI,oBACA,mBACA,WACA,qBACA,WL7xBO,QK8xBP,MPl0BI,QOm0BJ,ULvsBU,OKwsBV,YLlsBgB,IKmsBhB,cL3uBS,MK4uBT,gCAEA,8GACI,eAEA,0HACI,WLz0BG,oBK00BH,MP90BN,QOo1BN,kFACI,aACA,mBACA,uBACA,gBACA,MPx1BI,QOy1BJ,UL7tBU,OK8tBV,YLvtBkB,IKwtBlB,yBACA,oBAEA,kMAEI,WACA,OACA,WACA,WP/0BG,QOg1BH,cAKR,kFACI,aACA,eACA,IPx3BC,KOy3BD,YPz3BC,KO03BD,WP13BC,KO23BD,6BAGJ,gFACI,aACA,mBACA,ILxyBQ,MK2yBZ,gFACI,UL7vBU,OK8vBV,YLxvBgB,IKyvBhB,MP33BI,QO43BJ,mBAGJ,gFTjyBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,4FACI,aE1GE,QF2CN,UACA,4CAkEA,0GACI,MIlFM,QKm2BV,gFAEI,WACA,qBACA,ULvwBU,OK0wBd,kFTxyBA,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,8FACI,aE1GE,QF2CN,UACA,4CAkEA,4GACI,MIlFM,QK02BV,kFAEI,WACA,mCACA,UL9wBU,OK+wBV,eACA,gBACA,mPACA,wCACA,4BACA,8BAIJ,8FACI,oBACA,mBACA,WACA,wBACA,WLr3BO,QKs3BP,MP15BI,QO25BJ,UL/xBU,OKgyBV,YL1xBgB,IK2xBhB,cLn0BS,MKo0BT,eACA,gCAEA,0GACI,WL73BG,QKg4BP,sHACI,WLn6BO,oBKo6BP,MPx6BF,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CI,eACA,MVpZE,QUqZF,mCAQR,uBACI,gBACA,gBAEA,+CACI,aACA,mBACA,8BACA,IVhbC,KUibD,mBACA,WVjaA,QUkaA,gCAEA,sEACI,YRvSc,IQwSd,MR3YE,QQ4YF,UR/SM,QQkTV,sEACI,cACA,URrTM,OQsTN,YRhTY,IQiTZ,MVnbA,QUobA,WR/YG,QQgZH,sBACA,cVhaO,MUoaf,6CACI,iBAGJ,2CACI,gBACA,SACA,UAGJ,2CACI,aACA,mBACA,IR1XQ,MQ2XR,mBACA,eACA,sCAEA,iDACI,WR1aE,QQ6aN,6CACI,WACA,kBACA,MVndA,QUodA,eAGJ,+DACI,OACA,UR5VM,QQ6VN,MR1bE,QQ6bN,+DACI,URjWM,QQkWN,YR5Vc,IQ6Vd,MVjeF,QUkeE,+BACA,gBACA,cV7cO,MUmdnB,mBACI,eACA,yBAEA,yBACI,WAGJ,gCACI,WC3fR,2BACI,WTKO,KSJP,yBACA,cX6Be,MWzBnB,iBACI,aACA,mBACA,8BACA,IXdK,KWeL,qBACA,WXCI,wCWCJ,8BACA,eACA,iBACA,6CAEA,uBACI,WTaM,QSTd,gBACI,aACA,mBACA,WACA,UTyGc,QSxGd,YT8GsB,IS7GtB,MTUU,QSRV,kBACI,MXzBI,QW8BZ,eACI,QX3CK,KW+CT,kBACI,cT2CY,OSzCZ,6BACI,gBAIR,wBACI,aACA,mBACA,IT+BY,MS9BZ,cT8BY,MS7BZ,UT6Ec,QS5Ed,YTkFsB,ISjFtB,MTlBU,QSoBV,0BACI,MXrDI,QWyDZ,8BACI,cXtEK,KWuEL,UTiEc,OShEd,MX5DQ,QWgEZ,gBACI,aACA,eACA,IX/EK,KWkFT,gBACI,OACA,gBAGJ,gBACI,cACA,qBACA,UT8Cc,OS7Cd,YTmDoB,ISlDpB,MTlDU,QSqDd,gBbWI,WACA,mBACA,UI6Bc,QJ5Bd,YIsCoB,IJrCpB,MIlEU,QJmEV,iBItGO,KJuGP,yBACA,cEhFY,OFiFZ,qEAEA,sBACI,aE1GE,QF2CN,UACA,4CAkEA,6BACI,MIlFM,QS4Dd,iBACI,aACA,sBACA,ITdY,MSiBhB,SACI,aACA,mBACA,IX7GK,KW8GL,QTrBY,MSsBZ,WThEU,QSiEV,cX/EY,OWiFZ,kBACI,WAIR,YACI,aACA,mBACA,ITjCY,MSkCZ,gBAGJ,cACI,WACA,YACA,eAGJ,UACI,UTIc,QSHd,YTQoB,ISPpB,MT3FU,QS+Fd,iBACI,OACA,kBACA,YACA,WT9FW,QS+FX,cT1Ca,MS2Cb,eAGJ,eACI,kBACA,MACA,YACA,WX7IM,QW8IN,cTnDa,MSoDb,gCAGJ,iBACI,kBACA,QACA,WACA,YACA,WTzJO,KS0JP,yBACA,kBACA,gCACA,YACA,WT3DW,kCS4DX,uCAEA,uBACI,WT9DO,6BSiEX,wBACI,gBAGJ,8BACI,UAGJ,4BACI,UAKR,WACI,aACA,mBACA,ITvGY,OSwGZ,gBACA,UTzDc,OS0Dd,sBACA,MTzJU,QS4Jd,gBACI,MX3LQ,QW+LZ,iBACI,QX5MK,KW6ML,WT9JU,QS+JV,cX7KY,OWgLhB,gBACI,aACA,mBACA,IT3HY,MS4HZ,cXrNK,KWwNT,kBACI,WACA,YACA,eAGJ,eACI,UTtFc,QSuFd,YTlFoB,ISmFpB,MTrLU,QSwLd,mBACI,aACA,eACA,IT/IY,OSkJhB,sBbmBI,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,QW4NT,sBAEI,eAEA,+BACI,WThOW,oBSiOX,MXrOE,QW0OV,aACI,aACA,mBACA,IT/JY,MSgKZ,mBACA,WT5NY,QS6NZ,cX1NY,OW2NZ,UTpHc,OSqHd,MX7OG,QW+OH,eACI,UTvHU,QS0Hd,yBACI,sBACA,YTtHkB,IS2H1B,kBACI,aACA,sBACA,ITrLY,OSsLZ,QX9QK,KW+QL,WThOU,QSiOV,cX/OY,OWgPZ,UTxIc,QSyId,MTxOU,QS0OV,gCACI,aACA,mBACA,IT9LQ,MSgMR,kCACI,MX7QF,QW8QE,UTlJM,QSqJV,2CACI,MXnRA,QW0RR,oDACI,aAGJ,sDACI,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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 <i class=\"icon-eye\"></i>\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 * Entity Item - Shared Base Component\n * Unified styling for entity items in chips, lists, and previews\n *\n * Variants:\n * - .entity-item (base) - default list-row style\n * - .entity-item.chip-style - pill/chip style (compact)\n * - .entity-item.card-style - card/grid style\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// =============================================================================\n// Entity Item Sizing\n// =============================================================================\n\n$entity-item-image-sm: 20px;\n$entity-item-image-md: 32px;\n$entity-item-image-lg: 48px;\n\n// =============================================================================\n// Base Entity Item (list-row layout)\n// =============================================================================\n\n.entity-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm;\n background: $es-white;\n border-radius: $es-radius-sm;\n transition: background $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n // Clickable variant\n &.clickable {\n cursor: pointer;\n }\n\n // Selected state\n &.selected {\n background: $es-primary-light;\n }\n}\n\n// -----------------------------------------------------------------------------\n// Entity Item Image\n// -----------------------------------------------------------------------------\n\n.entity-item-image {\n flex-shrink: 0;\n width: $entity-item-image-md;\n height: $entity-item-image-md;\n object-fit: cover;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n}\n\n// Size variants\n.entity-item-image--sm {\n width: $entity-item-image-sm;\n height: $entity-item-image-sm;\n border-radius: 50%;\n}\n\n.entity-item-image--lg {\n width: $entity-item-image-lg;\n height: $entity-item-image-lg;\n}\n\n// No-image placeholder\n.entity-item-no-image {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: $entity-item-image-md;\n height: $entity-item-image-md;\n background: $es-slate-100;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-sm;\n\n &--sm {\n width: $entity-item-image-sm;\n height: $entity-item-image-sm;\n font-size: 10px;\n border-radius: 50%;\n }\n}\n\n// -----------------------------------------------------------------------------\n// Entity Item Info (name + meta)\n// -----------------------------------------------------------------------------\n\n.entity-item-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n}\n\n.entity-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.entity-item-meta {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n @include text-truncate;\n}\n\n// -----------------------------------------------------------------------------\n// Entity Item Badge/Price (right side)\n// -----------------------------------------------------------------------------\n\n.entity-item-badge {\n flex-shrink: 0;\n padding: 0.125rem 0.5rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n background: $es-slate-100;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n}\n\n.entity-item-price {\n flex-shrink: 0;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n}\n\n// -----------------------------------------------------------------------------\n// Entity Item Actions (remove button, etc.)\n// -----------------------------------------------------------------------------\n\n.entity-item-action {\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: 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// =============================================================================\n// Chip Style Variant (compact pill)\n// =============================================================================\n\n.entity-item.chip-style {\n display: inline-flex;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n background: $es-slate-100;\n border-radius: $es-radius-full;\n\n &:hover {\n background: $es-slate-200;\n }\n\n .entity-item-image {\n width: $entity-item-image-sm;\n height: $entity-item-image-sm;\n border-radius: 50%;\n }\n\n .entity-item-no-image {\n width: $entity-item-image-sm;\n height: $entity-item-image-sm;\n font-size: 10px;\n border-radius: 50%;\n }\n\n .entity-item-info {\n flex-direction: row;\n align-items: center;\n gap: 0.25rem;\n }\n\n .entity-item-name {\n font-size: $es-font-size-xs;\n }\n\n .entity-item-meta {\n display: none;\n }\n\n .entity-item-action {\n width: 16px;\n height: 16px;\n margin-left: 0.125rem;\n }\n}\n\n// =============================================================================\n// List Style Variant (bordered rows)\n// =============================================================================\n\n.entity-item.list-style {\n padding: $es-spacing-sm 0;\n background: transparent;\n border-bottom: 1px solid $es-border-color;\n border-radius: 0;\n\n &:last-child {\n border-bottom: none;\n }\n\n &:hover {\n background: $es-bg-hover;\n }\n}\n\n// =============================================================================\n// Entity Item Container (wrapper for multiple items)\n// =============================================================================\n\n.entity-items-container {\n display: flex;\n flex-direction: column;\n background: $es-slate-50;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n overflow: hidden;\n}\n\n// Toolbar (filter, sort, count, clear)\n.entity-items-toolbar {\n display: none;\n align-items: center;\n flex-wrap: nowrap;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n padding-bottom: 0;\n background: transparent;\n\n &.has-items {\n display: flex;\n }\n}\n\n// Filter input\n.entity-items-filter {\n all: unset;\n display: block;\n flex: 1 1 auto;\n min-width: 80px;\n width: auto;\n height: auto;\n padding: 0.2rem 0.5rem 0.2rem 1.5rem;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E\") no-repeat 0.375rem center;\n background-size: 10px;\n border: 1px solid $es-slate-300;\n border-radius: $es-radius-sm;\n font-size: 11px;\n line-height: 1.4;\n color: $es-text-primary;\n box-sizing: border-box;\n transition: all $es-transition-fast;\n\n &::placeholder {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n}\n\n// Sort dropdown\n.entity-items-sort {\n all: unset;\n flex: 0 0 auto;\n padding: 0.2rem 1.25rem 0.2rem 0.5rem;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23666' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\") no-repeat right 0.375rem center;\n background-size: 8px;\n font-size: 10px;\n line-height: 1.4;\n color: $es-text-secondary;\n cursor: pointer;\n box-sizing: border-box;\n white-space: nowrap;\n\n &:hover {\n border-color: $es-primary;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n}\n\n// Count badge\n.entity-items-count {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n gap: 0.125rem;\n padding: 0.2rem 0.5rem;\n background: $es-slate-200;\n color: $es-text-secondary;\n font-size: 10px;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-sm;\n white-space: nowrap;\n line-height: 1.4;\n\n &.has-filter {\n background: $es-cyan-100;\n color: $es-cyan-700;\n }\n}\n\n// Clear button\n.entity-items-clear {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n gap: 0.25rem;\n padding: 0.2rem 0.5rem;\n color: $es-danger;\n font-size: 10px;\n font-weight: $es-font-weight-medium;\n background: rgba($es-danger, 0.1);\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n white-space: nowrap;\n line-height: 1.4;\n\n &:hover {\n background: $es-danger;\n color: $es-white;\n }\n\n i {\n font-size: 9px;\n flex-shrink: 0;\n }\n}\n\n// Items list area\n.entity-items-list {\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 @include custom-scrollbar;\n\n &:empty {\n display: none;\n }\n\n // List layout (vertical)\n &.list-layout {\n flex-direction: column;\n flex-wrap: nowrap;\n gap: 0;\n padding: $es-spacing-sm;\n }\n}\n\n// Load more section\n.entity-items-load-more {\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 background: transparent;\n border-top: 1px dashed $es-border-color;\n\n .load-more-label {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .load-more-select {\n appearance: none;\n padding: 0.25rem 1.75rem 0.25rem 0.5rem;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23666' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\") no-repeat right 0.5rem center;\n background-size: 8px;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n cursor: pointer;\n transition: all $es-transition-fast;\n height: auto;\n min-height: 0;\n line-height: 1.3;\n\n &:hover {\n border-color: $es-primary;\n background-color: $es-primary-light;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n }\n\n .load-more-remaining {\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\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;\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);\n }\n\n &.loading {\n cursor: wait;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n }\n}\n\n// =============================================================================\n// Empty & Loading States\n// =============================================================================\n\n.entity-items-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.entity-items-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: 20px;\n animation: spin 0.6s linear infinite;\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 // Unified dropdown footer - combines load more and actions\n .dropdown-footer {\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-slate-50;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n // Left side: load more controls\n .dropdown-footer-left {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n .load-label {\n color: $es-text-muted;\n }\n\n .load-more-select,\n select.load-more-select {\n appearance: none;\n padding: 0.25rem 1.5rem 0.25rem 0.5rem;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23666' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\") no-repeat right 0.4rem center;\n background-size: 8px;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n cursor: pointer;\n min-width: 55px;\n\n &:hover {\n border-color: $es-primary;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n }\n }\n\n .remaining-text {\n color: $es-text-muted;\n\n strong {\n color: $es-text-secondary;\n font-weight: $es-font-weight-semibold;\n }\n }\n\n .btn-load-all {\n @include button-reset;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n color: $es-primary;\n background: transparent;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n }\n }\n\n // Right side: action buttons\n .dropdown-footer-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .dropdown-action-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.375rem 0.75rem;\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 .btn-shortcut {\n font-size: 10px;\n padding: 0.125rem 0.25rem;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 3px;\n font-weight: $es-font-weight-normal;\n }\n\n &.btn-cancel {\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-border-dark;\n }\n }\n\n &.btn-apply,\n &.btn-save {\n color: $es-white;\n background: $es-primary;\n border: 1px solid $es-primary;\n\n &:hover {\n background: $es-primary-hover;\n border-color: $es-primary-hover;\n }\n\n .btn-shortcut {\n background: rgba(255, 255, 255, 0.2);\n }\n }\n }\n\n // Legacy support - hide old load more section when new footer exists\n .dropdown-load-more {\n display: none;\n }\n\n .load-more-controls {\n display: none;\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 - unified structure\n .dropdown-footer {\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-slate-50;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n .dropdown-footer-left {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n .load-label {\n color: $es-text-muted;\n }\n\n .load-more-select,\n select.load-more-select {\n appearance: none;\n padding: 0.25rem 1.5rem 0.25rem 0.5rem;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23666' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\") no-repeat right 0.4rem center;\n background-size: 8px;\n font-size: $es-font-size-xs;\n color: $es-text-secondary;\n cursor: pointer;\n min-width: 55px;\n\n &:hover {\n border-color: $es-primary;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n }\n }\n\n .remaining-text {\n color: $es-text-muted;\n\n strong {\n color: $es-text-secondary;\n font-weight: $es-font-weight-semibold;\n }\n }\n }\n\n .dropdown-footer-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .dropdown-action-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.375rem 0.75rem;\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 white-space: nowrap;\n\n .btn-shortcut {\n font-size: 10px;\n padding: 0.125rem 0.25rem;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 3px;\n font-weight: $es-font-weight-normal;\n }\n\n &.btn-cancel {\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n\n &:hover {\n background: $es-slate-100;\n border-color: $es-border-dark;\n }\n }\n\n &.btn-apply,\n &.btn-save {\n color: $es-white;\n background: $es-primary;\n border: 1px solid $es-primary;\n\n &:hover {\n background: $es-primary-hover;\n border-color: $es-primary-hover;\n }\n\n .btn-shortcut {\n background: rgba(255, 255, 255, 0.2);\n }\n }\n }\n\n .dropdown-footer-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n // Legacy button support\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-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;\n align-items: center;\n flex-wrap: nowrap;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n padding-bottom: 0;\n background: transparent;\n\n &.has-chips {\n display: flex;\n }\n\n // Filter input - takes available space, icon embedded as background\n // Using [type=\"text\"] for specificity over .bootstrap input[type=\"text\"]\n input[type=\"text\"].chips-search-input {\n all: unset;\n display: block;\n flex: 1 1 auto;\n min-width: 80px;\n width: auto;\n height: auto;\n padding: 0.2rem 0.5rem 0.2rem 1.5rem;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E\") no-repeat 0.375rem center;\n background-size: 10px;\n border: 1px solid $es-slate-300;\n border-radius: $es-radius-sm;\n font-size: 11px;\n line-height: 1.4;\n color: $es-text-primary;\n box-sizing: border-box;\n transition: all $es-transition-fast;\n\n &::placeholder {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n }\n\n // Sort dropdown - compact, auto width\n select.chips-sort-select {\n all: unset;\n flex: 0 0 auto;\n padding: 0.2rem 1.25rem 0.2rem 0.5rem;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23666' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\") no-repeat right 0.375rem center;\n background-size: 8px;\n font-size: 10px;\n line-height: 1.4;\n color: $es-text-secondary;\n cursor: pointer;\n box-sizing: border-box;\n white-space: nowrap;\n\n &:hover {\n border-color: $es-primary;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n }\n }\n\n // Count badge - smaller, pill style\n .chips-count {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0; // Don't shrink\n gap: 0.125rem;\n padding: 0.2rem 0.5rem;\n background: $es-slate-200;\n color: $es-text-secondary;\n font-size: 10px;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-sm;\n white-space: nowrap;\n line-height: 1.4;\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: inline-flex;\n align-items: center;\n flex-shrink: 0; // Don't shrink\n gap: 0.25rem;\n padding: 0.2rem 0.5rem;\n color: $es-danger;\n font-size: 10px;\n font-weight: $es-font-weight-medium;\n background: rgba($es-danger, 0.1);\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n white-space: nowrap; // Prevent text wrapping\n line-height: 1.4;\n\n &:hover {\n background: $es-danger;\n color: $es-white;\n }\n\n i {\n font-size: 9px;\n flex-shrink: 0;\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 section with select dropdown\n .chips-load-more {\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 background: transparent;\n border-top: 1px dashed $es-border-color;\n\n .load-more-label {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .load-more-select,\n select.load-more-select {\n appearance: none;\n padding: 0.25rem 1.75rem 0.25rem 0.5rem !important;\n border: 1px solid $es-border-color !important;\n border-radius: $es-radius-sm !important;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23666' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\") no-repeat right 0.5rem center !important;\n background-size: 8px !important;\n font-size: $es-font-size-xs !important;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n cursor: pointer;\n transition: all $es-transition-fast;\n height: auto !important;\n min-height: 0 !important;\n line-height: 1.3 !important;\n\n &:hover {\n border-color: $es-primary !important;\n background-color: $es-primary-light !important;\n }\n\n &:focus {\n outline: none !important;\n border-color: $es-primary !important;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1) !important;\n }\n }\n\n .load-more-remaining {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\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// Bootstrap specificity overrides for chips toolbar form elements\n// PrestaShop admin uses #content .mpr-config-form... with high specificity\n// We need to match or exceed that specificity\n#content.bootstrap,\n#content .bootstrap,\n.bootstrap #content {\n .target-conditions-trait,\n .entity-selector-trait {\n .chips-wrapper .chips-toolbar {\n // Double class for extra specificity\n input[type=\"text\"].chips-search-input.chips-search-input {\n all: unset;\n display: block;\n flex: 1 1 auto;\n min-width: 80px;\n width: auto;\n height: auto;\n padding: 0.2rem 0.5rem 0.2rem 1.5rem;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E\") no-repeat 0.375rem center;\n background-size: 10px;\n border: 1px solid $es-slate-300;\n border-radius: $es-radius-sm;\n font-size: 11px;\n line-height: 1.4;\n color: $es-text-primary;\n box-sizing: border-box;\n transition: all $es-transition-fast;\n\n &::placeholder {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n }\n\n // Double class for extra specificity\n select.chips-sort-select.chips-sort-select {\n all: unset;\n flex: 0 0 auto;\n padding: 0.2rem 1.25rem 0.2rem 0.5rem;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23666' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\") no-repeat right 0.375rem center;\n background-size: 8px;\n font-size: 10px;\n line-height: 1.4;\n color: $es-text-secondary;\n cursor: pointer;\n box-sizing: border-box;\n white-space: nowrap;\n height: auto;\n\n &:hover {\n border-color: $es-primary;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\n }\n }\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 * Popover and modal views for entity preview\n *\n * Uses shared entity-item base for item styling.\n * This file only contains popover/modal container styles.\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// =============================================================================\n// Preview Popover Container\n// =============================================================================\n\n.target-preview-popover,\n.target-list-preview-popover {\n position: absolute;\n z-index: 10000;\n min-width: 320px;\n max-width: 480px;\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 // Positioned to the right - arrow on left\n &.position-right {\n &::before,\n &::after {\n left: 20px;\n transform: none;\n }\n }\n\n // Positioned to the left - arrow on right\n &.position-left {\n &::before,\n &::after {\n left: auto;\n right: 20px;\n transform: none;\n }\n }\n}\n\n// =============================================================================\n// Preview Header\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-title {\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: 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-primary;\n }\n }\n}\n\n// =============================================================================\n// Preview Tabs (entity type switcher)\n// =============================================================================\n\n.preview-tabs {\n display: flex;\n flex-wrap: wrap;\n gap: 0;\n padding: 0;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n}\n\n.preview-tab {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.5rem 0.75rem;\n background: transparent;\n border: 0;\n border-bottom: 2px solid transparent;\n margin-bottom: -1px;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: all $es-transition-fast;\n white-space: nowrap;\n\n &:hover {\n background: $es-slate-100;\n color: $es-text-secondary;\n }\n\n &.active {\n background: $es-white;\n border-bottom-color: $es-primary;\n color: $es-primary;\n }\n\n i {\n font-size: 12px;\n }\n}\n\n// =============================================================================\n// Preview Filter\n// =============================================================================\n\n.preview-filter {\n display: flex;\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 i {\n color: $es-text-muted;\n font-size: 12px;\n }\n\n .preview-filter-input {\n all: unset;\n flex: 1;\n padding: 0.25rem 0;\n font-size: $es-font-size-xs;\n color: $es-text-primary;\n box-sizing: border-box;\n\n &::placeholder {\n color: $es-text-muted;\n }\n }\n}\n\n// =============================================================================\n// Preview Contents (tabbed content areas)\n// =============================================================================\n\n.preview-contents {\n max-height: 350px;\n overflow: hidden;\n}\n\n.preview-content {\n display: none;\n max-height: 350px;\n overflow-y: auto;\n @include custom-scrollbar;\n\n &.active {\n display: block;\n }\n}\n\n// =============================================================================\n// Preview Items Container\n// =============================================================================\n\n.preview-items {\n display: flex;\n flex-direction: column;\n padding: $es-spacing-xs $es-spacing-sm;\n}\n\n// =============================================================================\n// Preview Item - Uses entity-item patterns\n// Maps legacy classes to shared styling\n// =============================================================================\n\n.preview-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm;\n background: $es-white;\n border-radius: $es-radius-sm;\n transition: background $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n // Clickable items\n &[data-id] {\n cursor: pointer;\n }\n}\n\n// Image - matches chip image sizing for consistency\n.preview-item-image {\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n object-fit: cover;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n}\n\n// No-image placeholder\n.preview-item-no-image {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n background: $es-slate-100;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-sm;\n}\n\n// Info container\n.preview-item-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n}\n\n// Name\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// Meta/ref (category, email, etc.)\n.preview-item-ref,\n.preview-item-meta {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n @include text-truncate;\n}\n\n// Price badge\n.preview-item-price {\n flex-shrink: 0;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n background: $es-primary-light;\n border-radius: $es-radius-sm;\n}\n\n// =============================================================================\n// Preview Footer (load more)\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\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 appearance: none;\n padding: 0.25rem 1.75rem 0.25rem 0.5rem;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n background: $es-white url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3E%3Cpath fill='%23666' d='M0 2l4 4 4-4z'/%3E%3C/svg%3E\") no-repeat right 0.5rem center;\n background-size: 8px;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n cursor: pointer;\n transition: all $es-transition-fast;\n height: auto;\n min-height: 0;\n line-height: 1.3;\n\n &:hover {\n border-color: $es-primary;\n background-color: $es-primary-light;\n }\n\n &:focus {\n outline: none;\n border-color: $es-primary;\n box-shadow: 0 0 0 2px rgba($es-primary, 0.1);\n }\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;\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);\n }\n\n &.loading {\n cursor: wait;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n }\n}\n\n// =============================================================================\n// Preview States\n// =============================================================================\n\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 {\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: 20px;\n color: $es-primary;\n animation: spin 0.6s linear infinite;\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 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 .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 flex-shrink: 0;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n background: $es-slate-200;\n padding: 0.125rem 0.5rem;\n border-radius: $es-radius-sm;\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"]} |