{"version":3,"sources":["_mixins.scss","layouts/_form-integration.scss","_variables.scss","layouts/_responsive.scss","components/_entity-selector.scss","components/_dropdown.scss","components/_chips.scss","components/_groups.scss","components/_value-picker.scss","components/_modal.scss","components/_list-preview.scss","components/_schedule.scss","components/_tips.scss","components/_condition-trait.scss","components/_combinations.scss","components/_method-dropdown.scss","components/_tooltip.scss"],"names":[],"mappings":"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MH/CM,QGgDN,yBACA,cHQO,MGPP,gCAEA,0FACI,WH9CG,QG+CH,MHrDE,QGwDN,4FACI,WHtFC,QGuFD,MH3FD,KGgGP,gGACI,UH8BU,OG7BV,MHlEM,QGsEV,8EACI,iBACA,gBLkBJ,oHACI,UACA,WAGJ,gIACI,WErGM,QFsGN,kBAGJ,gIACI,WExGM,QFyGN,kBAEA,4IACI,WE3GE,QG+EV,oFACI,QH9BQ,MGkCZ,8EACI,UHYU,OGXV,MHpFM,QGqFN,qBAIJ,gFACI,aACA,mBACA,IH5CQ,MG6CR,oBACA,WHvFO,QGwFP,gCACA,UHDU,OGEV,YHKkB,IGJlB,MHjGM,QGqGV,8FACI,aACA,IHxDQ,MG0DR,kHACI,0BAGJ,sHACI,qCAGJ,sHACI,qCAKR,0KAEI,aACA,mBACA,IH5EQ,MG6ER,QH7EQ,MG8ER,WH9JG,KG+JH,yBACA,cHtEO,OGuEP,eACA,gCAEA,kMACI,WHzIE,QG0IF,aH7HG,QGgIP,8MACI,WHpKO,oBGqKP,aHvKC,QG0KL,8MACI,WACA,mBAEA,sOACI,WHnLL,KGoLK,aHvJF,QG4JV,kKAEI,cACA,WACA,YACA,gBACA,cHtGO,MGuGP,WHzJO,QG2JP,kLACI,WACA,YACA,iBAIR,0EACI,aACA,mBACA,uBACA,cACA,WACA,YACA,WHzKO,QG0KP,cHxHO,MGyHP,MHlLM,QGoLN,8EACI,eAIR,8JAEI,OACA,YAGJ,8JAEI,UHjGU,QGkGV,YH7FgB,IG8FhB,MHhMM,QFhBV,gBACA,uBACA,mBKkNA,sKAEI,UH1GU,OG2GV,MH1MM,QG6MV,8EL1NA,gBACA,uBACA,mBK4NA,8FACI,MHjNM,QGoNV,kGACI,MHtNM,QGuNN,eAIJ,wEACI,cACA,WACA,iBACA,UHhIU,OGmId,oFACI,MHlOM,QGqOV,kFACI,MH1PI,QG2PJ,YHlIkB,IGuId,4HACI,MHrQH,QGwQD,8HACI,MHjQH,QGoQD,8HACI,MHzQJ,QG8QR,oFACI,MH5PM,QG+PV,sEACI,cAGJ,8KAEI,aACA,mBACA,uBACA,cACA,WACA,YACA,yBACA,cHnNO,MGoNP,gCAEA,sLACI,aACA,eACA,MHlTD,KGqTH,wjBAEI,WHnTC,QGoTD,aHpTC,QGsTD,wkBACI,cAMZ,0FACI,aACA,mBACA,IHpPQ,MGwPZ,wEACI,aACA,mBACA,uBACA,IH5PQ,MG6PR,QH1PQ,KG2PR,MH9SM,QG+SN,UH/MU,QGiNV,4EACI,kBACA,WAKR,gFACI,aACA,sBACA,mBACA,uBACA,IH7QQ,MG8QR,QH3QQ,KG4QR,kBACA,MHhUM,QGkUN,oFACI,eACA,WAGJ,oFACI,SACA,UHzOM,QG8Od,oFACI,aACA,mBACA,uBACA,QH/RQ,KGgSR,MHnVM,QGqVN,wFACI,iBACA,kCAKR,wFACI,aACA,mBACA,uBACA,IHhTQ,MGiTR,mBACA,6BACA,UHpQU,OGqQV,MHpWM,QGsWN,0HACI,YHjQc,IGkQd,MHvWE,QG0WN,4HL1SJ,WACA,mBACA,UE6Bc,QF5Bd,YEsCoB,IFrCpB,MElEU,QFmEV,iBEtGO,KFuGP,yBACA,cEdW,OFeX,qEAEA,wIACI,aExGK,QFyCT,UACA,4CAkEA,sJACI,MElFM,QG4WN,4HAEI,qBACA,UH/QM,OGgRN,eAKR,wFACI,aACA,uBACA,QHtUQ,KGuUR,6BAEA,sHL5XJ,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,kIACI,aKmXA,sHAEI,oBACA,mBACA,IH/UI,OGgVJ,mBACA,UHhSM,QGiSN,YH5RY,IG6RZ,MH9ZC,QG+ZD,WH7ZO,oBG8ZP,cH1UG,OG2UH,gCAEA,kIACI,+BAGJ,sIACI,WACA,YAMZ,kFACI,aACA,mBACA,8BACA,IHvWQ,MGwWR,mBACA,WH9ZM,QG+ZN,6BACA,8BAGJ,oGACI,UHhUU,OGiUV,MHhaM,QGkaN,kHACI,MH/bC,QGmcT,oFACI,aACA,IHzXQ,MG4XZ,0FL9aA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,sGACI,aKqaJ,0FAEI,mBACA,UH/UU,QGgVV,YH3UgB,IG4UhB,cHvXO,OGwXP,gCAEA,gHACI,MHpbE,QGqbF,WH/aG,QGibH,4HACI,WHjbD,QGqbP,8GACI,MH9dD,KG+dC,WH3dC,QG6dD,0HACI,WH7dG,QGmef,8FACI,QHxZQ,KGyZR,WHpcM,QGqcN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WACA,YACA,MHv9BE,QGw9BF,cH/5BG,MGg6BH,eAEA,4QACI,WHh+BF,QGm+BF,gRACI,MHn/BJ,QGy/BR,iFACI,aACA,QHv7BQ,KGw7BR,WHn+BM,QGo+BN,gCAEA,2FACI,cAIR,6EACI,aACA,mBACA,IHp8BQ,MGq8BR,eACA,cHt8BQ,MGw8BR,mGACI,gBAIR,iFACI,oBACA,mBACA,WACA,UHl6BU,OGm6BV,MHjgCM,QGkgCN,eAEA,2HACI,SAIR,6FACI,aACA,mBACA,WAEA,qIACI,UHj7BM,OGk7BN,MHjhCE,QGohCN,kQLn9BJ,WACA,mBACA,UE6Bc,QF5Bd,YEsCoB,IFrCpB,MElEU,QFmEV,iBEtGO,KFuGP,yBACA,cEdW,OFeX,qEAEA,0RACI,aExGK,QFyCT,UACA,4CAkEA,sTACI,MElFM,QGqhCN,kQAGI,WACA,qBACA,UH17BM,OG67BV,iIACI,MH7hCE,QGiiCV,2FLniCA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,uGACI,aK0hCJ,2FAEI,aACA,mBACA,uBACA,WACA,YACA,MHxiCM,QGyiCN,cHh/BO,MGi/BP,eACA,iBAEA,uGACI,WHtiCG,QGuiCH,MH5iCE,QGijCV,yFACI,sBACA,oBACA,IHvgCQ,MG0gCZ,mFACI,aACA,mBACA,IH7gCQ,MG8gCR,eAGJ,uRAGI,aACA,mBACA,WAGJ,gXAII,UH9+BU,OG++BV,MH9kCM,QG+kCN,mBAEA,gYACI,oBAIR,yFACI,MHvlCM,QG0lCV,88BLzhCA,WACA,mBACA,UE6Bc,QF5Bd,YEsCoB,IFrCpB,MElEU,QFmEV,iBEtGO,KFuGP,yBACA,cEdW,OFeX,qEAEA,skCACI,aExGK,QFyCT,UACA,4CAkEA,ktCACI,MElFM,QG2lCV,88BAWI,WACA,qBACA,UHxgCU,OG2gCd,iULziCA,WACA,mBACA,UE6Bc,QF5Bd,YEsCoB,IFrCpB,MElEU,QFmEV,iBEtGO,KFuGP,yBACA,cEdW,OFeX,qEAEA,qWACI,aExGK,QFyCT,UACA,4CAkEA,+YACI,MElFM,QG2mCV,iUAII,qBACA,UHhhCU,OGihCV,gBAGJ,iUAGI,aACA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YACA,MJlbK,QImbL,cJ9VO,MI+VP,gCAEA,8FACI,WJrbO,oBIwbX,sFACI,eAKR,0FACI,oBACA,mBACA,WACA,kBACA,MJzaM,QI0aN,UJ3UU,OI4UV,eAEA,gHACI,MJ7bC,QIgcL,kHACI,MJzcC,QI4cL,oHACI,YJhVc,IIqVtB,sFACI,aACA,oBACA,IJ/YQ,OK5EZ,4EACI,WLJG,KKKH,yBACA,cLqFO,MKpFP,gBAIJ,0FACI,aACA,mBACA,8BACA,ILkEQ,KKjER,mBACA,WLUM,QKTN,gCAGJ,wFACI,aACA,mBACA,ILwDQ,MKvDR,ULuGU,QKtGV,YL4GkB,IK3GlB,MLQM,QKNN,oHACI,oBACA,mBACA,uBACA,eACA,YACA,iBACA,WLhCC,QKiCD,MLrCD,KKsCC,ULyFM,OKxFN,YLgGU,IK/FV,cLqDK,MKjDb,4FACI,aACA,mBACA,ILgCQ,OK7BZ,oFPpBA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,gGACI,aOWJ,oFAEI,aACA,mBACA,uBACA,WACA,YACA,MLzBM,QK0BN,cL+BO,MK9BP,gCAEA,gGACI,WLtBG,QKuBH,ML9BE,QKiCN,8GACI,WLrDM,QKsDN,MLvDA,QK4DR,8JAEI,QLMQ,KKFZ,kFACI,cLCQ,KKEZ,8EACI,aACA,mBACA,ILPQ,OKQR,cLPQ,MKQR,ULuCU,OKtCV,YL6CkB,IK5ClB,yBACA,qBAEA,0GACI,MLnFM,QKqFN,8GACI,MLxFH,QK4FL,0GACI,MLzFA,QK2FA,8GACI,ML5FJ,QKkGR,kFACI,aACA,mBACA,ILlCQ,MKmCR,cLnCQ,MKsCZ,kGACI,OACA,kBAGJ,8EP1BA,WACA,mBACA,UE6Bc,QF5Bd,YEsCoB,IFrCpB,MElEU,QFmEV,iBEtGO,KFuGP,yBACA,cEdW,OFeX,qEAEA,0FACI,aExGK,QFyCT,UACA,4CAkEA,wGACI,MElFM,QK4FV,8EAEI,mBACA,eACA,gBACA,mPACA,uCACA,4BACA,4BAGJ,kFPxGA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,8FACI,aO+FJ,kFAEI,aACA,mBACA,uBACA,WACA,YACA,ML7GM,QK8GN,cL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mPX,yBACI,WRzRK,QQ0RL,aR1RK,QQ2RL,MR/RG,KQkSP,2BACI,WACA,mBAKR,iBACI,aACA,mBACA,8BACA,mBACA,WRnRU,QQoRV,6BACA,URjLc,OQkLd,MRjRU,QQoRd,eACI,YRhLoB,IQkLpB,sBACI,MRrRM,QQ0Rd,iBACI,aACA,eACA,IRhPY,MQiPZ,mBACA,WR5RU,QQ6RV,gCAGJ,qBVxFI,oBACA,mBACA,IEjKY,OFkKZ,qBACA,UEnHc,OFoHd,YE9GoB,IF+GpB,WExNU,QFyNV,MEpNU,QFqNV,cEzJa,MF2Jb,kCA1NA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,wCACI,aAiNJ,kCArPA,aACA,mBACA,uBAsPI,WACA,YACA,eACA,ME9NM,QF+NN,kBAEA,wCACI,0BACA,MEtPA,QQ6TZ,gBVzOI,WACA,mBACA,UE6Bc,QF5Bd,YEsCoB,IFrCpB,MElEU,QFmEV,iBEtGO,KFuGP,yBACA,cEdW,OFeX,qEAEA,sBACI,aExGK,QFyCT,UACA,4CAkEA,6BACI,MElFM,QQ2Sd,gBAEI,OACA,gBACA,sBACA,URhNc,OQoNlB,yBACI,iBACA,gBV3NA,4CACI,UACA,WAGJ,kDACI,WErGM,QFsGN,kBAGJ,kDACI,WExGM,QFyGN,kBAEA,wDACI,WE3GE,QQ4Td,qBACI,oBACA,mBACA,YACA,qBACA,WRzTU,QQ0TV,cRvQW,MQwQX,URlOc,OQoOd,yBACI,WACA,YACA,iBACA,kBAGJ,wCACI,MRxUM,QQyUN,YRvOgB,IFlHpB,gBACA,uBACA,mBUyVI,gBC9WR,2BACI,WTDO,KSEP,yBACA,cTwFW,MSpFf,iBACI,aACA,mBACA,8BACA,ITsEY,KSrEZ,qBACA,WTcU,QSbV,gCACA,8BACA,eACA,iBACA,6CAEA,uBACI,WTOM,QSHd,gBACI,aACA,mBACA,WACA,UTmGc,QSlGd,YTwGsB,ISvGtB,MTIU,QSFV,kBACI,MTFM,QSOd,eACI,QTyCY,KSrChB,kBACI,cTqCY,OSnCZ,6BACI,gBAIR,wBACI,aACA,mBACA,ITyBY,MSxBZ,cTwBY,MSvBZ,UTuEc,QStEd,YT4EsB,IS3EtB,MTxBU,QS0BV,0BACI,MT9BM,QSkCd,8BACI,cTcY,KSbZ,UT2Dc,OS1Dd,MTrCU,QSyCd,gBACI,aACA,eACA,ITKY,KSFhB,gBACI,OACA,gBAGJ,gBACI,cACA,qBACA,UTwCc,OSvCd,YT6CoB,IS5CpB,MTxDU,QS2Dd,gBXKI,WACA,mBACA,UE6Bc,QF5Bd,YEsCoB,IFrCpB,MElEU,QFmEV,iBEtGO,KFuGP,yBACA,cEdW,OFeX,qEAEA,sBACI,aExGK,QFyCT,UACA,4CAkEA,6BACI,MElFM,QSkEd,iBACI,aACA,sBACA,ITpBY,MSuBhB,SACI,aACA,mBACA,ITzBY,KS0BZ,QT3BY,MS4BZ,WTtEU,QSuEV,cTnBW,OSqBX,kBACI,WAIR,YACI,aACA,mBACA,ITvCY,MSwCZ,gBAGJ,cACI,WACA,YACA,eAGJ,UACI,UTFc,QSGd,YTEoB,ISDpB,MTjGU,QSqGd,iBACI,OACA,kBACA,YACA,WTpGW,QSqGX,cThDa,MSiDb,eAGJ,eACI,kBACA,MACA,YACA,WTjJS,QSkJT,cTzDa,MS0Db,gCAGJ,iBACI,kBACA,QACA,WACA,YACA,WT/JO,KSgKP,yBACA,kBACA,gCACA,YACA,WTjEW,kCSkEX,uCAEA,uBACI,WTpEO,6BSuEX,wBACI,gBAGJ,8BACI,UAGJ,4BACI,UAKR,WACI,aACA,mBACA,IT7GY,OS8GZ,gBACA,UT/Dc,OSgEd,sBACA,MT/JU,QSkKd,gBACI,MTpKU,QSwKd,iBACI,QTxHY,KSyHZ,WTpKU,QSqKV,cTjHW,OSoHf,gBACI,aACA,mBACA,ITjIY,MSkIZ,cTjIY,KSoIhB,kBACI,WACA,YACA,eAGJ,eACI,UT5Fc,QS6Fd,YTxFoB,ISyFpB,MT3LU,QS8Ld,mBACI,aACA,eACA,ITrJY,OSwJhB,sBXOI,oBACA,mBACA,IEjKY,OFkKZ,qBACA,UEnHc,OFoHd,YE9GoB,IF+GpB,WExNU,QFyNV,MEpNU,QFqNV,cEzJa,MF2Jb,mCA1NA,UACA,SACA,gBACA,YACA,eACA,aACA,cAEA,yCACI,aAiNJ,mCArPA,aACA,mBACA,uBAsPI,WACA,YACA,eACA,ME9NM,QF+NN,kBAEA,yCACI,0BACA,MEtPA,QS0NZ,sBAEI,eAEA,+BACI,WTtOW,oBSuOX,MTzOK,QS8Ob,aACI,aACA,mBACA,ITrKY,MSsKZ,mBACA,WTlOY,QSmOZ,cT9JW,OS+JX,UT1Hc,OS2Hd,MTtOM,QSwON,eACI,UT7HU,QSgId,yBACI,sBACA,YT5HkB,ISiI1B,kBACI,aACA,sBACA,IT3LY,OS4LZ,QT1LY,KS2LZ,WTtOU,QSuOV,cTnLW,OSoLX,UT9Ic,QS+Id,MT9OU,QSgPV,gCACI,aACA,mBACA,ITpMQ,MSsMR,kCACI,MT9QC,QS+QD,UTxJM,QS2JV,2CACI,MT5PE,QSmQV,oDACI,aAGJ,sDACI,cT7MO,MUxFX,kFACI,wBACA,yBACA,cVqFO,MUpFP,gBACA,6DAIJ,0EACI,aACA,mBACA,YACA,oBACA,eACA,iBACA,6CAEA,sFACI,2BAIJ,sGACI,eACA,MVXC,QUeL,oFACI,OACA,eACA,YVmGc,IUlGd,MVQG,QUHX,0EACI,UVqFU,OUpFV,MVDO,QUEP,yBAKA,8HACI,yBAGJ,gIACI,cAKR,4EACI,aACA,wBAIJ,sEACI,aACA,IVcQ,KUbR,2DAIJ,oEACI,aACA,IVOQ,KUNR,QVMQ,KULR,WV5EG,KU6EH,cVaO,OUZP,yBAIJ,oEACI,cACA,WACA,YACA,aACA,mBACA,uBACA,WVnFW,oBUoFX,qBACA,MVvFK,QUwFL,UVoCU,QUhCd,oEACI,OACA,YAEA,kFACI,cACA,UVyBM,OUxBN,YV+Bc,IU9Bd,MV3DG,QU4DH,qBAGJ,wEACI,eACA,MV9EE,QU+EF,kBACA,SAKR,0EACI,WVrCQ,KUsCR,qBACA,WVxHG,KUyHH,cV/BO,OUgCP,0BACA,eACA,MV5FM,QU6FN,kBAEA,8EACI,MV5HC,QU6HD,oBCjIZ,iBACI,WXDO,KWEP,yBACA,cXwFW,MWvFX,cX8EY,OW5EZ,4BACI,gBAMJ,mDACI,kCACA,cX4EO,MWzEX,0CACI,yBAQR,wBACI,aACA,mBACA,8BACA,IXmDY,OWlDZ,eACA,uBACA,WXIU,QWHV,gCACA,8BACA,eACA,6CAEA,8BACI,WXFO,QWMf,mBACI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KV,kBCxMJ,kBACI,oBACA,mBACA,kBACA,YACA,sBACA,kBAIJ,+BACI,kBACA,WdfO,KcgBP,Md8BW,Qc7BX,oBACA,cdwEW,OcvEX,eACA,kBACA,mBACA,aACA,gBACA,gBACA,gBACA,yBACA,SACA,2BACA,iHAKA,uCACI,WACA,kBACA,SACA,SACA,2BACA,+BACA,oCAIJ,sCACI,WACA,kBACA,SACA,SACA,2BACA,+BACA,iBdpDG,KcuDP,sCACI,cACA,oBACA,Yd4EkB,Ic3ElB,cAGJ,iCACI,SACA,Md/BM,QcuCd,mBACI,eACA,Wd1EO,Kc2EP,Md7BW,Qc8BX,oBACA,cdaW,OcZX,eACA,kBACA,mBACA,cACA,gBACA,gBACA,gBACA,iHAIA,0BACI,cACA,oBACA,Yd0CkB,IczClB,cAGJ,qBACI,SACA,MdjEM,QcyEd,UACI,qBACA,WACA,YACA,iBdlEW,QcmEX,sBACA,eACA,gCACA,kBACA,sBACA,qBACA,0BACA,8BACA,6BAEA,gBACI,yBAGJ,eACI,yBAEA,qBACI,yBAMZ,oBACI,2nBACA,moBAOJ,cACI,eAEA,kBACI,gBACA,mBAIR,iBACI,sBACA,eACA,WdrHW,QcsHX,qBACA,cdrEW,McsEX,gBAGJ,eACI,eACA,MdpIU,QcqIV,iBACA,kBACA","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// =============================================================================\n// Text\n// =============================================================================\n\n@mixin text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n// =============================================================================\n// Interactive Elements\n// =============================================================================\n\n// Reset button styles\n@mixin button-reset {\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n cursor: pointer;\n font: inherit;\n color: inherit;\n\n &:focus {\n outline: none;\n }\n}\n\n// Focus ring (Bootstrap 4 style)\n@mixin focus-ring($color: $es-primary) {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba($color, 0.25);\n}\n\n// Interactive hover state\n@mixin interactive-item {\n cursor: pointer;\n transition: background-color $es-transition-fast, color $es-transition-fast;\n\n &:hover {\n background-color: $es-bg-hover;\n }\n}\n\n// =============================================================================\n// Cards & Containers\n// =============================================================================\n\n@mixin card {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n}\n\n@mixin dropdown-container {\n position: absolute;\n z-index: $es-z-dropdown;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n box-shadow: $es-shadow-lg;\n}\n\n// =============================================================================\n// Form Elements\n// =============================================================================\n\n// Reset input styles (for inputs in custom wrappers)\n@mixin input-reset {\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n font: inherit;\n color: inherit;\n\n &:focus {\n outline: none;\n }\n}\n\n@mixin input-base {\n width: 100%;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n line-height: $es-line-height-normal;\n color: $es-text-primary;\n background-color: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n transition: border-color $es-transition-fast, box-shadow $es-transition-fast;\n\n &:focus {\n border-color: $es-primary;\n @include focus-ring($es-primary);\n }\n\n &::placeholder {\n color: $es-text-light;\n }\n}\n\n// =============================================================================\n// Scrollbar\n// =============================================================================\n\n@mixin custom-scrollbar {\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n\n &::-webkit-scrollbar-track {\n background: $es-gray-100;\n border-radius: 3px;\n }\n\n &::-webkit-scrollbar-thumb {\n background: $es-gray-300;\n border-radius: 3px;\n\n &:hover {\n background: $es-gray-400;\n }\n }\n}\n\n// =============================================================================\n// Badges & Chips\n// =============================================================================\n\n@mixin badge($bg: $es-gray-200, $color: $es-gray-700) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.125rem 0.5rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n line-height: 1;\n background-color: $bg;\n color: $color;\n border-radius: $es-radius-full;\n}\n\n// Count badge with preview icon (used for tab badges, match counts, totals)\n// Note: Eye icon is provided in HTML via \n@mixin count-badge($bg: $es-primary) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.25rem;\n min-width: 20px;\n height: 20px;\n padding: 0 0.5rem;\n background: $bg;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n cursor: pointer;\n transition: all $es-transition-fast;\n flex-shrink: 0;\n\n &:hover {\n transform: scale(1.05);\n box-shadow: 0 2px 8px rgba($bg, 0.4);\n }\n\n // 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 * Entity Selector Variables\n * Bootstrap 4 compatible values for PrestaShop admin theme\n */\n\n// =============================================================================\n// Base Colors\n// =============================================================================\n\n$es-white: #ffffff !default;\n$es-black: #000000 !default;\n\n// Primary (PrestaShop admin accent)\n$es-primary: #25b9d7 !default;\n$es-primary-hover: #1a9ab7 !default;\n$es-primary-light: rgba(37, 185, 215, 0.1) !default;\n\n// Semantic colors (Bootstrap 4 aligned)\n$es-success: #28a745 !default;\n$es-success-light: #d4edda !default;\n$es-success-dark: #1e7e34 !default;\n\n$es-danger: #dc3545 !default;\n$es-danger-light: #f8d7da !default;\n$es-danger-dark: #bd2130 !default;\n\n$es-warning: #ffc107 !default;\n$es-warning-light: #fff3cd !default;\n\n$es-info: #17a2b8 !default;\n$es-info-light: #d1ecf1 !default;\n\n// =============================================================================\n// Gray Scale (Bootstrap 4)\n// =============================================================================\n\n$es-gray-100: #f8f9fa !default;\n$es-gray-200: #e9ecef !default;\n$es-gray-300: #dee2e6 !default;\n$es-gray-400: #ced4da !default;\n$es-gray-500: #adb5bd !default;\n$es-gray-600: #6c757d !default;\n$es-gray-700: #495057 !default;\n$es-gray-800: #343a40 !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: $es-gray-300 !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)\n// =============================================================================\n\n$es-spacing-xs: 0.25rem !default; // 4px\n$es-spacing-sm: 0.5rem !default; // 8px\n$es-spacing-md: 1rem !default; // 16px\n$es-spacing-lg: 1.5rem !default; // 24px\n$es-spacing-xl: 2rem !default; // 32px\n\n// =============================================================================\n// Border Radius (Bootstrap 4 compatible)\n// =============================================================================\n\n$es-radius-sm: 0.2rem !default;\n$es-radius-md: 0.25rem !default;\n$es-radius-lg: 0.3rem !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 * 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 - Main Component Styles\n * Wrapper, header, body, tabs, blocks\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Main wrapper (supports both .target-conditions-trait and .entity-selector-trait)\n.target-conditions-trait,\n.entity-selector-trait {\n position: relative;\n overflow: visible;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n\n // Trait Header (collapsible)\n .condition-trait-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: $es-spacing-md;\n padding: 0.875rem $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n }\n\n .trait-header-left {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n min-width: 0;\n flex: 1;\n }\n\n .trait-icon {\n font-size: $es-font-size-lg;\n color: $es-text-muted;\n flex-shrink: 0;\n }\n\n .trait-title-group {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n min-width: 0;\n }\n\n .trait-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n white-space: nowrap;\n }\n\n .trait-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n // Total count badge in header\n .trait-total-count {\n @include count-badge($es-primary);\n margin-left: $es-spacing-sm;\n }\n\n // Show all toggle switch\n .trait-show-all-toggle {\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-right: 0.75rem;\n padding: 0.25rem $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n user-select: none;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.05);\n }\n\n .toggle-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n }\n\n .show-all-checkbox {\n display: none;\n }\n\n .toggle-slider {\n position: relative;\n width: 36px;\n height: 20px;\n background: $es-slate-300;\n border-radius: $es-radius-full;\n transition: background-color $es-transition-normal;\n\n &::after {\n content: '';\n position: absolute;\n top: 2px;\n left: 2px;\n width: 16px;\n height: 16px;\n background: $es-white;\n border-radius: 50%;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n transition: transform $es-transition-normal;\n }\n }\n\n .show-all-checkbox:checked + .toggle-slider {\n background: $es-success;\n\n &::after {\n transform: translateX(16px);\n }\n }\n }\n\n // Validation error states\n &.has-validation-error {\n border-color: $es-danger;\n box-shadow: 0 0 0 3px rgba($es-danger, 0.1);\n\n .condition-trait-header {\n border-bottom-color: $es-danger;\n }\n }\n\n .trait-validation-error {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: 0.625rem $es-spacing-md;\n background: $es-danger-light;\n color: #b91c1c;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n border-bottom: 1px solid #fecaca;\n\n i {\n color: $es-danger;\n }\n }\n\n // Required indicator\n &.trait-required .trait-title::after {\n content: ' *';\n color: $es-danger;\n }\n\n // Body\n .condition-trait-body {\n padding: 0;\n background: $es-white;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n // Block type tabs\n .target-block-tabs {\n display: flex;\n flex-wrap: wrap;\n gap: 0;\n padding: 0;\n background: $es-slate-100;\n border-bottom: 1px solid $es-border-color;\n }\n\n .target-block-tab {\n position: relative;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n flex: none;\n min-width: 0;\n padding: 0.625rem $es-spacing-md;\n margin-bottom: -1px;\n background: transparent;\n border: 0;\n border-bottom: 2px solid transparent;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-slate-700;\n }\n\n &.active {\n background: $es-white;\n border-bottom-color: $es-cyan-500;\n color: $es-primary;\n }\n\n i {\n font-size: $es-font-size-sm;\n }\n\n .tab-label {\n white-space: nowrap;\n }\n\n .tab-badge {\n @include count-badge($es-primary);\n }\n\n &.has-data:not(.active) .tab-badge {\n @include count-badge($es-slate-400);\n }\n }\n\n // Block container\n .target-block-container {\n display: none;\n\n &.active {\n display: block;\n }\n }\n\n .target-block-content {\n padding: $es-spacing-md;\n }\n\n .target-block-groups {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-md;\n }\n\n // Block header (for standalone blocks)\n .target-block-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n }\n\n // Empty state\n .target-block-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n }\n\n p {\n margin: 0;\n font-size: $es-font-size-sm;\n }\n }\n\n // Collapse toggle\n .trait-collapse-toggle,\n .collapse-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n cursor: pointer;\n transition: transform $es-transition-normal;\n\n &.collapsed {\n transform: rotate(-90deg);\n }\n }\n\n // Header actions\n .trait-header-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n // Collapsed state\n &.collapsed {\n .condition-trait-body {\n display: none;\n }\n\n .condition-trait-header {\n border-radius: $es-radius-lg;\n }\n }\n}\n\n// Single mode specific styles\n.target-conditions-trait.single-mode,\n.entity-selector-trait.single-mode {\n .target-block-tabs {\n display: none;\n }\n\n .target-block-container {\n display: block;\n }\n}\n\n// Header action buttons\n.target-conditions-trait,\n.entity-selector-trait {\n .header-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .header-action-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n background: transparent;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n i {\n font-size: 12px;\n }\n }\n}\n","/**\n * Search Dropdown Component\n * Includes search input, filter panel, results grid\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Search wrapper\n .target-search-wrapper {\n position: relative;\n }\n\n // Search dropdown\n .target-search-dropdown {\n @include dropdown-container;\n display: none;\n width: 600px;\n max-width: calc(100vw - 40px);\n\n &.show {\n display: block;\n }\n }\n\n // Dropdown header\n .dropdown-header {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n }\n\n .dropdown-search-input {\n @include input-base;\n flex: 1;\n padding: $es-spacing-sm $es-spacing-md;\n }\n\n .dropdown-close-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: $es-text-muted;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n }\n\n // Dropdown controls bar\n .dropdown-controls {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border-bottom: 1px solid $es-border-color;\n }\n\n .dropdown-controls-left,\n .dropdown-controls-right {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n // View mode buttons\n .view-mode-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n background: transparent;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-text-secondary;\n }\n\n &.active {\n background: $es-primary;\n color: $es-white;\n }\n }\n\n // Results count\n .dropdown-results-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n // Dropdown body\n .dropdown-body {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n }\n\n // Results container\n .dropdown-results {\n padding: $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 .dropdown-result-item,\n .dropdown-item {\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-md;\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 &.selected {\n background: $es-primary-light;\n border-color: $es-primary;\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n\n &:hover {\n background: $es-white;\n border-color: $es-border-color;\n }\n }\n }\n\n .result-item-image,\n .result-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n overflow: hidden;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n\n .result-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n background: $es-slate-100;\n border-radius: $es-radius-sm;\n color: $es-text-muted;\n\n i {\n font-size: 16px;\n }\n }\n\n .result-item-info,\n .result-info {\n flex: 1;\n min-width: 0;\n }\n\n .result-item-name,\n .result-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .result-item-meta,\n .result-subtitle {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .subtitle-line {\n @include text-truncate;\n }\n\n .subtitle-line-primary {\n color: $es-text-secondary;\n }\n\n .subtitle-line-secondary {\n color: $es-text-muted;\n font-size: 11px;\n }\n\n // Result columns (for product list view)\n .result-col {\n flex-shrink: 0;\n width: 70px;\n text-align: right;\n font-size: $es-font-size-xs;\n }\n\n .result-col-price {\n color: $es-text-secondary;\n }\n\n .result-col-sale {\n color: $es-danger;\n font-weight: $es-font-weight-semibold;\n }\n\n .result-col-stock {\n .col-value {\n &.stock-ok {\n color: $es-success;\n }\n\n &.stock-low {\n color: $es-warning;\n }\n\n &.stock-out {\n color: $es-danger;\n }\n }\n }\n\n .result-col-sales {\n color: $es-text-muted;\n }\n\n .col-value {\n display: block;\n }\n\n .result-item-checkbox,\n .result-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 18px;\n height: 18px;\n border: 2px solid $es-border-dark;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n i {\n display: none;\n font-size: 10px;\n color: $es-white;\n }\n\n .dropdown-result-item.selected &,\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n\n // Product-specific result item\n .result-item-product {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n // No results state\n .no-results {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n font-size: 1.25rem;\n opacity: 0.5;\n }\n }\n\n // Empty state\n .dropdown-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n }\n\n p {\n margin: 0;\n font-size: $es-font-size-sm;\n }\n }\n\n // Loading state\n .dropdown-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n\n i {\n font-size: 1.5rem;\n animation: spin 1s linear infinite;\n }\n }\n\n // Load more controls\n .load-more-controls {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n border-top: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n .remaining-count {\n font-weight: $es-font-weight-semibold;\n color: $es-text-secondary;\n }\n\n .load-more-select {\n @include input-base;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n min-width: 70px;\n }\n }\n\n // Load more button\n .dropdown-load-more {\n display: flex;\n justify-content: center;\n padding: $es-spacing-md;\n border-top: 1px solid $es-border-color;\n\n .load-more-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n background: $es-primary-light;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba($es-primary, 0.2);\n }\n\n &.loading {\n opacity: 0.7;\n cursor: wait;\n }\n }\n }\n\n // Dropdown footer\n .dropdown-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n .dropdown-selection-count {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n\n strong {\n color: $es-primary;\n }\n }\n\n .dropdown-actions {\n display: flex;\n gap: $es-spacing-sm;\n }\n\n .dropdown-action-btn {\n @include button-reset;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &.btn-cancel {\n color: $es-text-secondary;\n background: $es-slate-100;\n\n &:hover {\n background: $es-slate-200;\n }\n }\n\n &.btn-apply {\n color: $es-white;\n background: $es-primary;\n\n &:hover {\n background: $es-primary-hover;\n }\n }\n }\n\n // Filter panel\n .dropdown-filter-panel {\n padding: $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n }\n\n .filter-panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: $es-spacing-sm;\n }\n\n .filter-panel-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n }\n\n .filter-panel-toggle {\n @include button-reset;\n font-size: $es-font-size-xs;\n color: $es-primary;\n\n &:hover {\n text-decoration: underline;\n }\n }\n\n .filter-panel-content {\n display: grid;\n gap: $es-spacing-sm;\n grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n }\n\n .filter-group {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n }\n\n .filter-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n }\n\n .filter-select,\n .filter-input {\n @include input-base;\n padding: 0.375rem $es-spacing-sm;\n font-size: $es-font-size-xs;\n }\n}\n\n// Category tree view\n.target-conditions-trait,\n.entity-selector-trait {\n .category-tree {\n padding: $es-spacing-sm;\n }\n\n .tree-container {\n // Contains tree items\n }\n\n .tree-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n\n i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n // Tree item (used by JavaScript)\n .tree-item {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n padding: 0.375rem $es-spacing-sm;\n border-radius: $es-radius-sm;\n cursor: pointer;\n transition: background-color $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n &.selected {\n background: $es-primary-light;\n\n .tree-checkbox {\n background: $es-primary;\n border-color: $es-primary;\n\n i {\n display: block;\n }\n }\n }\n\n &.has-children {\n // Parent node styling\n }\n }\n\n .tree-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: $es-text-muted;\n cursor: pointer;\n transition: transform $es-transition-fast;\n\n i {\n font-size: 12px;\n }\n }\n\n .tree-toggle-placeholder {\n width: 16px;\n height: 16px;\n }\n\n .btn-select-children {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\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 .btn-select-children-placeholder {\n width: 18px;\n height: 18px;\n }\n\n .tree-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\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 i {\n display: none;\n font-size: 10px;\n color: $es-white;\n }\n }\n\n .tree-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n color: $es-text-muted;\n\n i {\n font-size: 14px;\n }\n }\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 gap: 0.25rem;\n }\n\n .sort-field-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 .btn-sort-dir,\n .btn-toggle-filters,\n .btn-show-history {\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: $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 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 gap: 0.25rem;\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 }\n\n .btn-refine-negate,\n .btn-clear-refine {\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\n &:hover {\n background: $es-bg-hover;\n }\n\n &.active {\n color: $es-danger;\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 // Dropdown item\n .dropdown-item {\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-md;\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 &.selected {\n background: $es-primary-light;\n border-color: $es-primary;\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n\n .item-checkbox {\n flex-shrink: 0;\n width: 16px;\n height: 16px;\n border: 2px solid $es-border-dark;\n border-radius: 3px;\n transition: all $es-transition-fast;\n\n .dropdown-item.selected & {\n background: $es-primary;\n border-color: $es-primary;\n }\n }\n\n .item-image {\n flex-shrink: 0;\n width: 40px;\n height: 40px;\n object-fit: cover;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n }\n\n .item-info {\n flex: 1;\n min-width: 0;\n }\n\n .item-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n }\n\n .item-meta {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n @include text-truncate;\n }\n\n // Dropdown footer\n .dropdown-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n }\n\n .dropdown-footer-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n }\n\n .dropdown-footer-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .btn-cancel-dropdown {\n @include button-reset;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-sm;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n cursor: pointer;\n\n &:hover {\n background: $es-bg-hover;\n }\n\n kbd {\n font-size: 0.65rem;\n padding: 0.125rem 0.25rem;\n background: $es-slate-100;\n border-radius: 2px;\n color: $es-text-muted;\n margin-left: 0.25rem;\n }\n }\n\n .btn-confirm-dropdown {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n font-size: $es-font-size-sm;\n color: $es-white;\n background: $es-primary;\n border: 1px solid $es-primary;\n border-radius: $es-radius-sm;\n cursor: pointer;\n\n &:hover {\n background: $es-primary-hover;\n }\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 @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 opacity: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n }\n\n &:hover .btn-remove-history {\n opacity: 1;\n }\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: $es-spacing-sm;\n }\n\n // Grid view modes\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 styles\n .dropdown-result-item {\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-md;\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 &.selected {\n background: $es-primary-light;\n border-color: $es-primary;\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed;\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 @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\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\n &:hover {\n background: rgba($es-primary, 0.2);\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 {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: $es-text-muted;\n cursor: pointer;\n transition: transform $es-transition-fast;\n\n i {\n font-size: 12px;\n }\n }\n\n .tree-toggle-placeholder {\n width: 16px;\n height: 16px;\n }\n\n .btn-select-children {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\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 .btn-select-children-placeholder {\n width: 18px;\n height: 18px;\n }\n\n .tree-checkbox {\n display: flex;\n align-items: center;\n justify-content: center;\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 i {\n display: none;\n font-size: 10px;\n color: $es-white;\n }\n }\n\n .tree-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n color: $es-text-muted;\n\n i {\n font-size: 14px;\n }\n }\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: $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 }\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\n .entity-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 {\n display: none;\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 max-width: 200px;\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\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 font-size: 12px;\n color: $es-text-muted;\n flex-shrink: 0;\n }\n\n .chip-text,\n .chip-name {\n @include text-truncate;\n }\n\n .chip-remove {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n margin-left: 0.125rem;\n color: $es-text-muted;\n border-radius: 50%;\n flex-shrink: 0;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Chip variants\n .entity-chip.chip-primary {\n background: $es-primary-light;\n color: $es-primary;\n\n &:hover {\n background: rgba($es-primary, 0.2);\n }\n }\n\n .entity-chip.chip-success {\n background: $es-success-light;\n color: $es-success-dark;\n\n &:hover {\n background: rgba($es-success, 0.2);\n }\n }\n\n .entity-chip.chip-danger {\n background: $es-danger-light;\n color: $es-danger;\n\n &:hover {\n background: rgba($es-danger, 0.2);\n }\n }\n\n .entity-chip.chip-warning {\n background: $es-warning-light;\n color: darken($es-warning, 20%);\n\n &:hover {\n background: rgba($es-warning, 0.3);\n }\n }\n\n // Chip loading state\n .entity-chip.loading,\n .entity-chip-loading {\n opacity: 0.7;\n\n .chip-remove {\n display: none;\n }\n\n .chip-icon i {\n animation: spin 0.6s linear infinite;\n }\n }\n\n // Hidden chip (collapsed view)\n .entity-chip.chip-hidden {\n display: none;\n }\n\n // Chips expanded/collapsed states\n .entity-chips.chips-collapsed,\n .entity-chips.chips-expanded {\n position: relative;\n }\n\n // Show more/less toggle\n .chips-show-more-toggle {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n color: $es-primary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: color $es-transition-fast;\n\n &:hover {\n color: $es-primary-hover;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n .chips-collapse-toggle,\n .chips-expand-toggle {\n // Specific variants inherit from .chips-show-more-toggle\n }\n\n // More chips indicator\n .chips-more {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0.25rem 0.5rem;\n background: $es-slate-200;\n color: $es-text-secondary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n border-radius: $es-radius-full;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-300;\n }\n }\n\n // Add chip button\n .chip-add-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background: transparent;\n color: $es-primary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border: 1px dashed $es-primary;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Inline chips (compact mode)\n .entity-chips.inline {\n display: inline-flex;\n padding: 0;\n min-height: auto;\n\n .entity-chip {\n padding: 0.125rem 0.375rem;\n font-size: 11px;\n }\n }\n\n // Selected chips section in include/exclude\n .selected-chips-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n }\n\n .selected-chips-label {\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-muted;\n }\n\n // Pattern chips (for name/reference patterns)\n .entity-chip.chip-pattern {\n background: #fef3c7;\n color: #92400e;\n font-family: monospace;\n\n &:hover {\n background: #fde68a;\n }\n\n .chip-icon {\n color: #d97706;\n }\n }\n\n // Range chips (price, quantity, etc.)\n .entity-chip.chip-range,\n .range-chip {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n background: $es-cyan-50;\n color: $es-cyan-600;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-cyan-100;\n }\n }\n\n .range-chip-text {\n font-family: monospace;\n }\n\n .btn-remove-range {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: $es-cyan-600;\n border-radius: 50%;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n // Multi-range chips container\n .multi-range-chips {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n margin-bottom: $es-spacing-xs;\n\n &:empty {\n display: none;\n }\n }\n\n // Pattern chips container\n .pattern-chips {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm 0;\n min-height: 32px;\n\n &:empty::before {\n content: attr(data-placeholder);\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n font-style: italic;\n }\n }\n\n // Pattern tag\n .pattern-tag {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n background: #fef3c7;\n color: #92400e;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: #fde68a;\n }\n\n &.case-sensitive {\n .case-icon {\n color: $es-success;\n font-weight: $es-font-weight-bold;\n }\n }\n\n &.draft-tag {\n background: $es-white;\n border: 1px solid $es-border-color;\n padding: 0;\n flex: 1;\n min-width: 150px;\n\n &:hover {\n background: $es-white;\n }\n\n .pattern-input {\n flex: 1;\n min-width: 100px;\n padding: 0.375rem;\n border: 0;\n background: transparent;\n font-size: $es-font-size-sm;\n font-family: inherit;\n\n &:focus {\n outline: none;\n }\n\n &::placeholder {\n color: $es-text-muted;\n font-style: italic;\n }\n }\n }\n }\n\n .pattern-tag-text {\n font-family: monospace;\n max-width: 200px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .btn-toggle-case {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n }\n }\n\n .case-icon {\n font-size: 11px;\n font-weight: $es-font-weight-semibold;\n font-family: monospace;\n }\n\n .btn-remove-pattern {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n color: #d97706;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: rgba(0, 0, 0, 0.1);\n color: $es-danger;\n }\n\n i {\n font-size: 10px;\n }\n }\n\n .btn-add-pattern {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Pattern match count (in draft tag)\n .pattern-match-count {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0 0.375rem;\n color: $es-text-muted;\n font-size: $es-font-size-xs;\n cursor: pointer;\n\n &.count-zero {\n color: $es-warning;\n }\n\n &.count-found {\n color: $es-success;\n }\n\n .count-value {\n font-weight: $es-font-weight-semibold;\n }\n }\n\n // Pattern input row\n .pattern-input-row {\n display: flex;\n align-items: stretch;\n gap: $es-spacing-xs;\n }\n}\n","/**\n * Groups Component\n * Selection groups, include/exclude sections, method selectors\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n.target-conditions-trait,\n.entity-selector-trait {\n\n // Group container\n .target-group {\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n overflow: hidden;\n }\n\n // Group header\n .target-group-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-md;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n }\n\n .target-group-title {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n\n .group-number {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 0.25rem;\n background: $es-primary;\n color: $es-white;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-bold;\n border-radius: $es-radius-full;\n }\n }\n\n .target-group-actions {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .group-action-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n &.danger:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n // Group body\n .target-group-body,\n .group-body {\n padding: $es-spacing-md;\n }\n\n // Include section\n .include-section {\n margin-bottom: $es-spacing-md;\n }\n\n .section-label {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n margin-bottom: $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-semibold;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n\n &.label-include {\n color: $es-success-dark;\n\n i {\n color: $es-success;\n }\n }\n\n &.label-exclude {\n color: $es-danger;\n\n i {\n color: $es-danger;\n }\n }\n }\n\n // Method selector\n .method-selector {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-sm;\n }\n\n .method-selector-wrapper {\n flex: 1;\n position: relative;\n }\n\n .method-select {\n @include input-base;\n padding-right: 2rem;\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E\");\n background-position: right 0.5rem center;\n background-repeat: no-repeat;\n background-size: 1.5em 1.5em;\n }\n\n .method-help-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-text-muted;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-100;\n color: $es-primary;\n }\n }\n\n // Value picker (search trigger)\n .value-picker {\n position: relative;\n }\n\n .value-picker-trigger {\n @include button-reset;\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n width: 100%;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n text-align: left;\n transition: all $es-transition-fast;\n\n &:hover {\n border-color: $es-slate-300;\n }\n\n &:focus {\n border-color: $es-primary;\n @include focus-ring($es-primary);\n }\n\n i {\n color: $es-text-light;\n }\n }\n\n // Pattern input (text input for patterns)\n .pattern-input-wrapper {\n position: relative;\n }\n\n .pattern-input {\n @include input-base;\n font-family: monospace;\n }\n\n .pattern-add-btn {\n @include button-reset;\n position: absolute;\n right: 0.25rem;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n color: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n }\n\n // Multi-range input (price ranges)\n .multi-range-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .range-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n }\n\n .range-input {\n @include input-base;\n width: 100px;\n text-align: center;\n }\n\n .range-separator {\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n }\n\n .range-remove-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-danger-light;\n color: $es-danger;\n }\n }\n\n .range-add-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n color: $es-primary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n }\n\n // Multi-select tiles (stock status, etc.)\n .multi-select-tiles {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n }\n\n .multi-select-tile {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.75rem;\n background: $es-slate-100;\n color: $es-text-secondary;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n border: 1px solid transparent;\n border-radius: $es-radius-full;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.selected {\n background: $es-primary-light;\n color: $es-primary;\n border-color: $es-primary;\n }\n }\n\n // Exclude section\n .exclude-section {\n margin-top: $es-spacing-md;\n padding-top: $es-spacing-md;\n border-top: 1px dashed $es-border-color;\n }\n\n .exclude-rows {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n .exclude-row {\n display: flex;\n align-items: flex-start;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm;\n background: rgba($es-danger, 0.05);\n border: 1px solid rgba($es-danger, 0.2);\n border-radius: $es-radius-md;\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\n .group-include {\n margin-bottom: $es-spacing-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 // Group excludes section\n .group-excludes {\n margin-top: $es-spacing-md;\n\n &.has-excludes {\n padding-top: $es-spacing-md;\n border-top: 1px dashed $es-border-color;\n }\n }\n\n .except-separator {\n display: flex;\n align-items: center;\n margin-bottom: $es-spacing-sm;\n }\n\n .except-label {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\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-sm;\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 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\n .exclude-header-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-sm;\n margin-bottom: $es-spacing-sm;\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 .group-modifier-limit {\n width: 60px;\n padding: 0.25rem 0.5rem;\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 .group-modifier-sort {\n padding: 0.25rem 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: 24px;\n height: 24px;\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 .entity-search-icon {\n color: $es-text-muted;\n font-size: 14px;\n flex-shrink: 0;\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 // Numeric range box\n .numeric-range-box,\n .multi-range-input-row {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .range-min-input,\n .range-max-input {\n @include input-base;\n width: 100px;\n padding: $es-spacing-sm;\n text-align: center;\n font-size: $es-font-size-sm;\n\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n -moz-appearance: textfield;\n }\n\n .range-separator {\n color: $es-text-muted;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n }\n\n .btn-add-range {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: $es-white;\n background: $es-primary;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-hover;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n // Multi-range container\n .multi-range-container {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-sm;\n }\n\n // Date range box\n .date-range-box {\n display: flex;\n align-items: center;\n gap: $es-spacing-xs;\n }\n\n .date-from-input,\n .date-to-input {\n @include input-base;\n width: 140px;\n padding: $es-spacing-sm;\n font-size: $es-font-size-sm;\n }\n\n // Multi-select tiles\n .multi-select-tiles {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-xs;\n }\n\n .tile-option {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.375rem 0.625rem;\n color: $es-text-secondary;\n background: $es-slate-100;\n border: 1px solid transparent;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n cursor: pointer;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n }\n\n &.selected {\n color: $es-primary;\n background: $es-primary-light;\n border-color: $es-primary;\n }\n\n i {\n font-size: 12px;\n }\n }\n\n .tile-label {\n white-space: nowrap;\n }\n\n // Select input box\n .select-input-box {\n display: inline-block;\n }\n\n .select-value-input {\n @include input-base;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n min-width: 150px;\n }\n\n // Boolean input box\n .boolean-input-box {\n display: inline-flex;\n align-items: center;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-success-light;\n color: $es-success-dark;\n border-radius: $es-radius-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n }\n\n .boolean-label {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n\n &::before {\n content: '\\2713';\n font-weight: bold;\n }\n }\n\n // Condition match count badge\n .condition-match-count {\n @include count-badge($es-primary);\n margin-left: $es-spacing-sm;\n }\n}\n","/**\n * Modal Component\n * Preview modals, confirmation dialogs\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// Modal backdrop\n.mpr-modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: $es-z-modal;\n opacity: 0;\n transition: opacity $es-transition-normal;\n\n &.show {\n opacity: 1;\n }\n}\n\n// Modal container\n.mpr-modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%) scale(0.95);\n z-index: $es-z-modal + 1;\n width: 90%;\n max-width: 600px;\n max-height: 90vh;\n background: $es-white;\n border-radius: $es-radius-xl;\n box-shadow: $es-shadow-xl;\n opacity: 0;\n transition: all $es-transition-normal;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n\n &.show {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n\n &.modal-sm {\n max-width: 400px;\n }\n\n &.modal-lg {\n max-width: 800px;\n }\n\n &.modal-xl {\n max-width: 1000px;\n }\n\n &.modal-fullscreen {\n width: 95%;\n max-width: none;\n height: 90vh;\n max-height: none;\n }\n}\n\n// Modal header\n.mpr-modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-md;\n padding: $es-spacing-md $es-spacing-lg;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n flex-shrink: 0;\n}\n\n.mpr-modal-title {\n font-size: $es-font-size-base;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n margin: 0;\n}\n\n.mpr-modal-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: $es-text-muted;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n\n i {\n font-size: $es-font-size-lg;\n }\n}\n\n// Modal body\n.mpr-modal-body {\n flex: 1;\n overflow-y: auto;\n padding: $es-spacing-lg;\n @include custom-scrollbar;\n}\n\n// Modal footer\n.mpr-modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: $es-spacing-sm;\n padding: $es-spacing-md $es-spacing-lg;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n flex-shrink: 0;\n}\n\n.mpr-modal-btn {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-sm $es-spacing-md;\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &.btn-secondary {\n color: $es-text-secondary;\n background: $es-slate-100;\n\n &:hover {\n background: $es-slate-200;\n }\n }\n\n &.btn-primary {\n color: $es-white;\n background: $es-primary;\n\n &:hover {\n background: $es-primary-hover;\n }\n }\n\n &.btn-danger {\n color: $es-white;\n background: $es-danger;\n\n &:hover {\n background: darken($es-danger, 10%);\n }\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n// Preview popover styles moved to _list-preview.scss\n\n.popover-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n border-radius: $es-radius-lg $es-radius-lg 0 0;\n}\n\n.popover-title {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n}\n\n.popover-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-secondary;\n }\n}\n\n.popover-body {\n max-height: 300px;\n overflow-y: auto;\n padding: $es-spacing-sm;\n @include custom-scrollbar;\n}\n\n.popover-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n border-radius: 0 0 $es-radius-lg $es-radius-lg;\n}\n\n.popover-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n}\n\n.popover-load-more {\n @include button-reset;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n padding: 0.25rem 0.5rem;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-primary;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-primary-light;\n }\n}\n\n// Popover arrow\n.popover-arrow {\n position: absolute;\n width: 12px;\n height: 12px;\n background: $es-white;\n border: 1px solid $es-border-color;\n transform: rotate(45deg);\n\n &.arrow-top {\n top: -7px;\n left: 50%;\n margin-left: -6px;\n border-right: none;\n border-bottom: none;\n }\n\n &.arrow-bottom {\n bottom: -7px;\n left: 50%;\n margin-left: -6px;\n border-left: none;\n border-top: none;\n }\n}\n","/**\n * List Preview Component\n * Entity list display in modals and popovers\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// =============================================================================\n// Preview Popover (floating popover attached to badges)\n// =============================================================================\n\n.target-preview-popover {\n position: absolute;\n z-index: 10000;\n min-width: 280px;\n max-width: 400px;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-lg;\n box-shadow: $es-shadow-lg;\n overflow: hidden;\n\n // Arrow pointing to badge\n &::before {\n content: '';\n position: absolute;\n top: -8px;\n left: 50%;\n transform: translateX(-50%);\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n border-bottom: 8px solid $es-border-color;\n }\n\n &::after {\n content: '';\n position: absolute;\n top: -6px;\n left: 50%;\n transform: translateX(-50%);\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-bottom: 6px solid $es-white;\n }\n\n .preview-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-bottom: 1px solid $es-border-color;\n\n .preview-count {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-text-primary;\n }\n\n .preview-close {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-slate-200;\n color: $es-text-primary;\n }\n }\n }\n\n .preview-list {\n max-height: 300px;\n overflow-y: auto;\n @include custom-scrollbar;\n padding: $es-spacing-sm;\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n }\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 text-align: center;\n\n .preview-more-info {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n font-weight: $es-font-weight-medium;\n }\n }\n}\n\n// =============================================================================\n// Preview List Container\n// =============================================================================\n\n// Preview list container\n.entity-list-preview {\n display: flex;\n flex-direction: column;\n gap: $es-spacing-xs;\n}\n\n// Preview item\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: 1px solid $es-border-color;\n border-radius: $es-radius-md;\n transition: all $es-transition-fast;\n\n &:hover {\n background: $es-bg-hover;\n border-color: $es-slate-300;\n }\n}\n\n.preview-item-image {\n flex-shrink: 0;\n width: 36px;\n height: 36px;\n object-fit: cover;\n border-radius: $es-radius-sm;\n background: $es-slate-100;\n}\n\n.preview-item-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 36px;\n height: 36px;\n background: $es-slate-100;\n color: $es-text-muted;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-base;\n}\n\n.preview-item-info {\n flex: 1;\n min-width: 0;\n}\n\n.preview-item-name {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-medium;\n color: $es-text-primary;\n @include text-truncate;\n}\n\n.preview-item-meta {\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n @include text-truncate;\n}\n\n.preview-item-badge {\n @include badge($es-slate-100, $es-text-muted);\n flex-shrink: 0;\n}\n\n.preview-item-price {\n font-size: $es-font-size-sm;\n font-weight: $es-font-weight-semibold;\n color: $es-primary;\n flex-shrink: 0;\n}\n\n// Preview grid layout\n.entity-list-preview.grid-layout {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n gap: $es-spacing-sm;\n\n .preview-item {\n flex-direction: column;\n text-align: center;\n padding: $es-spacing-md;\n }\n\n .preview-item-image {\n width: 60px;\n height: 60px;\n }\n\n .preview-item-info {\n width: 100%;\n }\n}\n\n// Compact list layout\n.entity-list-preview.compact {\n gap: 0;\n\n .preview-item {\n border-radius: 0;\n border-bottom: none;\n\n &:first-child {\n border-radius: $es-radius-md $es-radius-md 0 0;\n }\n\n &:last-child {\n border-radius: 0 0 $es-radius-md $es-radius-md;\n border-bottom: 1px solid $es-border-color;\n }\n }\n}\n\n// Preview empty state\n.preview-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-sm;\n padding: $es-spacing-xl;\n text-align: center;\n color: $es-text-muted;\n\n i {\n font-size: 2rem;\n opacity: 0.5;\n }\n\n p {\n margin: 0;\n font-size: $es-font-size-sm;\n }\n}\n\n// Preview loading state\n.preview-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: $es-spacing-xl;\n color: $es-text-muted;\n\n .spinner {\n width: 24px;\n height: 24px;\n border: 3px solid $es-slate-200;\n border-top-color: $es-primary;\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n }\n}\n\n// Preview pagination\n.preview-pagination {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: $es-spacing-xs;\n padding: $es-spacing-md 0;\n}\n\n.preview-page-btn {\n @include button-reset;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 28px;\n height: 28px;\n padding: 0 $es-spacing-sm;\n font-size: $es-font-size-xs;\n font-weight: $es-font-weight-medium;\n color: $es-text-secondary;\n background: $es-white;\n border: 1px solid $es-border-color;\n border-radius: $es-radius-sm;\n transition: all $es-transition-fast;\n\n &:hover:not(:disabled) {\n background: $es-bg-hover;\n border-color: $es-slate-300;\n }\n\n &.active {\n background: $es-primary;\n border-color: $es-primary;\n color: $es-white;\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n// Preview summary\n.preview-summary {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-bg-header;\n border-top: 1px solid $es-border-color;\n font-size: $es-font-size-xs;\n color: $es-text-muted;\n}\n\n.preview-count {\n font-weight: $es-font-weight-medium;\n\n strong {\n color: $es-text-primary;\n }\n}\n\n// Preview filters in modal\n.preview-filters {\n display: flex;\n flex-wrap: wrap;\n gap: $es-spacing-sm;\n padding: $es-spacing-sm $es-spacing-md;\n background: $es-slate-50;\n border-bottom: 1px solid $es-border-color;\n}\n\n.preview-filter-chip {\n @include chip;\n}\n\n.preview-search {\n @include input-base;\n flex: 1;\n min-width: 150px;\n padding: 0.375rem $es-spacing-sm;\n font-size: $es-font-size-xs;\n}\n\n// Scrollable preview list\n.preview-list-scrollable {\n max-height: 400px;\n overflow-y: auto;\n @include custom-scrollbar;\n}\n\n// Mini preview (inline)\n.entity-mini-preview {\n display: inline-flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.25rem 0.5rem;\n background: $es-slate-50;\n border-radius: $es-radius-sm;\n font-size: $es-font-size-xs;\n\n img {\n width: 16px;\n height: 16px;\n object-fit: cover;\n border-radius: 2px;\n }\n\n .mini-preview-name {\n color: $es-text-primary;\n font-weight: $es-font-weight-medium;\n @include text-truncate;\n max-width: 100px;\n }\n}\n","/**\n * 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;\n opacity: 0;\n pointer-events: none;\n width: 0;\n height: 0;\n }\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 and help popovers\n */\n\n@use '../variables' as *;\n@use '../mixins' as *;\n\n// =============================================================================\n// MPR Info Wrapper (hover 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.5rem;\n}\n\n// Tooltip (absolute positioned, follows element)\n.mpr-info-wrapper .mpr-tooltip {\n position: absolute;\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.625;\n white-space: normal;\n z-index: 1050;\n max-width: 350px;\n min-width: 200px;\n text-align: left;\n bottom: calc(100% + 10px);\n left: 50%;\n transform: translateX(-50%);\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\n // Arrow (border)\n &::before {\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border: 9px solid transparent;\n border-top-color: rgba(64, 68, 82, 0.16);\n }\n\n // Arrow (fill)\n &::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n border: 8px solid transparent;\n border-top-color: $es-white;\n }\n\n strong {\n display: block;\n margin-bottom: 0.5rem;\n font-weight: $es-font-weight-semibold;\n color: #337ab7;\n }\n\n p {\n margin: 0;\n color: $es-text-secondary;\n }\n}\n\n// =============================================================================\n// Fixed Tooltip (appended to body)\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.625;\n white-space: normal;\n z-index: 10500;\n max-width: 350px;\n min-width: 200px;\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\n strong {\n display: block;\n margin-bottom: 0.5rem;\n font-weight: $es-font-weight-semibold;\n color: #337ab7;\n }\n\n p {\n margin: 0;\n color: $es-text-secondary;\n }\n}\n\n// =============================================================================\n// MPR Icon (SVG mask icons)\n// =============================================================================\n\n.mpr-icon {\n display: inline-block;\n width: 16px;\n height: 16px;\n background-color: $es-slate-600;\n vertical-align: middle;\n cursor: pointer;\n transition: background-color 0.2s;\n mask-size: contain;\n mask-repeat: no-repeat;\n mask-position: center;\n -webkit-mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n -webkit-mask-position: center;\n\n &:hover {\n background-color: #5bc0de;\n }\n\n &.link {\n background-color: #5bc0de;\n\n &:hover {\n background-color: #337ab7;\n }\n }\n}\n\n// Info icon\n.mpr-icon.icon-info {\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2.5H5A2.5 2.5 0 0 0 2.5 5v6A2.5 2.5 0 0 0 5 13.5h6a2.5 2.5 0 0 0 2.5-2.5V5A2.5 2.5 0 0 0 11 2.5ZM5 1a4 4 0 0 0-4 4v6a4 4 0 0 0 4 4h6a4 4 0 0 0 4-4V5a4 4 0 0 0-4-4H5Z' fill='%23414552'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.25 8A.75.75 0 0 1 7 7.25h1.25A.75.75 0 0 1 9 8v3.5a.75.75 0 0 1-1.5 0V8.75H7A.75.75 0 0 1 6.25 8Z' fill='%23414552'/%3E%3Cpath d='M6.75 5a1.25 1.25 0 1 1 2.5 0 1.25 1.25 0 0 1-2.5 0Z' fill='%23414552'/%3E%3C/svg%3E\");\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M11 2.5H5A2.5 2.5 0 0 0 2.5 5v6A2.5 2.5 0 0 0 5 13.5h6a2.5 2.5 0 0 0 2.5-2.5V5A2.5 2.5 0 0 0 11 2.5ZM5 1a4 4 0 0 0-4 4v6a4 4 0 0 0 4 4h6a4 4 0 0 0 4-4V5a4 4 0 0 0-4-4H5Z' fill='%23414552'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.25 8A.75.75 0 0 1 7 7.25h1.25A.75.75 0 0 1 9 8v3.5a.75.75 0 0 1-1.5 0V8.75H7A.75.75 0 0 1 6.25 8Z' fill='%23414552'/%3E%3Cpath d='M6.75 5a1.25 1.25 0 1 1 2.5 0 1.25 1.25 0 0 1-2.5 0Z' fill='%23414552'/%3E%3C/svg%3E\");\n}\n\n// =============================================================================\n// Tooltip Content Styling\n// =============================================================================\n\n.tooltip-list {\n margin: 0.5rem 0;\n\n > div {\n margin: 0.25rem 0;\n padding-left: 0.5rem;\n }\n}\n\n.tooltip-example {\n font-family: monospace;\n font-size: 12px;\n background: $es-slate-100;\n padding: 0.25rem 0.5rem;\n border-radius: $es-radius-sm;\n margin: 0.25rem 0;\n}\n\n.tooltip-logic {\n font-size: 11px;\n color: $es-text-muted;\n margin-top: 0.5rem;\n padding-top: 0.5rem;\n border-top: 1px solid $es-border-color;\n}\n"]}