.px-icon-picker{position:relative}.px-icon-picker__trigger{display:inline-flex;align-items:center;gap:8px;padding:0 12px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:13px;line-height:1.4;color:#333;height:40px;width:100%;text-align:left;transition:border-color 0.15s,box-shadow 0.15s;box-sizing:border-box}.px-icon-picker__trigger:hover{border-color:#999}.px-icon-picker__trigger:focus-visible{border-color:var(--action,#0093f5);box-shadow:0 0 0 1px var(--action,#0093f5);outline:none}.px-icon-picker__preview{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.px-icon-picker__preview:empty{display:none}.px-icon-picker__preview svg{display:block;width:22px;height:22px}.px-icon-picker__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#999}.px-icon-picker__input[value]:not([value=""])~.px-icon-picker__trigger .px-icon-picker__label{color:#333}.px-icon-picker__arrow{flex-shrink:0;color:#999;transition:transform 0.2s}.px-icon-picker__remove{display:inline-block;margin-top:4px;padding:0;background:none;border:none;color:#a00;font-size:12px;cursor:pointer;text-decoration:underline}.px-icon-picker__remove:hover{color:#d00}.px-icon-picker--loading .px-icon-picker__trigger::after{content:'';width:14px;height:14px;border:2px solid #ddd;border-top-color:#666;border-radius:50%;animation:px-icon-spin 0.6s linear infinite;flex-shrink:0}@keyframes px-icon-spin{to{transform:rotate(360deg)}}.px-icon-picker__popup{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 8px 32px rgb(0 0 0 / .15);min-width:320px;max-width:520px;width:100%;animation:px-icon-popup-in 0.15s ease-out}@keyframes px-icon-popup-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.px-icon-picker__search-wrap{padding:12px 12px 0}.px-icon-picker__search{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px;outline:none;box-sizing:border-box;transition:border-color 0.15s,box-shadow 0.15s}.px-icon-picker__search:focus{border-color:var(--action,#0093f5);box-shadow:0 0 0 1px var(--action,#0093f5)}.px-icon-picker__categories{display:flex;gap:6px;padding:10px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.px-icon-picker__categories::-webkit-scrollbar{display:none}.px-icon-picker__cat-pill{flex-shrink:0;padding:4px 10px;border:1px solid #e0e0e0;border-radius:20px;background:#f8f8f8;color:#555;font-size:11px;cursor:pointer;white-space:nowrap;transition:all 0.15s;line-height:1.4}.px-icon-picker__cat-pill:hover{border-color:#bbb;background:#f0f0f0}.px-icon-picker__cat-pill--active{background:var(--action,#0093f5);border-color:var(--action,#0093f5);color:#fff}.px-icon-picker__cat-pill--active:hover{background:var(--action,#0093f5);border-color:var(--action,#0093f5);color:#fff}.px-icon-picker__cat-pill--featured{border-color:#e8d44d;background:#fdf8e1;color:#8a7400}.px-icon-picker__cat-pill--featured:hover{border-color:#d4bf00;background:#fcf3c7}.px-icon-picker__cat-pill--featured.px-icon-picker__cat-pill--active{background:#d4a800;border-color:#d4a800;color:#fff}.px-icon-picker__cat-pill--featured.px-icon-picker__cat-pill--active:hover{background:#d4a800;border-color:#d4a800;color:#fff}.px-icon-picker__star{position:absolute;top:2px;right:2px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:#bbb;opacity:0;transition:opacity 0.1s,color 0.1s;pointer-events:auto;cursor:pointer;z-index:2}.px-icon-picker__icon-btn:hover .px-icon-picker__star{opacity:1}.px-icon-picker__icon-btn:not(.px-icon-picker__icon-btn--fav) .px-icon-picker__star:hover{color:#d4a800}.px-icon-picker__icon-btn--fav .px-icon-picker__star{color:#d4a800;opacity:1}.px-icon-picker__icon-btn--fav .px-icon-picker__star:hover{color:#c0392b}.px-icon-picker__separator{grid-column:1 / -1;height:1px;background:#e5e5e5;margin:4px 0}.px-icon-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:2px;padding:4px 12px 12px;max-height:320px;overflow-y:auto;overflow-x:hidden}.px-icon-picker__icon-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:2px solid #fff0;border-radius:6px;background:none;color:#444;cursor:pointer;transition:all 0.1s;position:relative}.px-icon-picker__icon-btn svg{display:block;width:22px;height:22px}.px-icon-picker__icon-btn:hover{background:#f5f5f5;border-color:#e0e0e0;color:#111}.px-icon-picker__icon-btn:focus-visible{border-color:var(--action,#0093f5);outline:none}.px-icon-picker__icon-btn--selected{background:var(--action,#0093f5);border-color:var(--action,#0093f5);color:#fff}.px-icon-picker__icon-btn--selected:hover{background:var(--action,#0093f5);color:#fff}.px-icon-picker__icon-btn::after{content:attr(title);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);padding:3px 8px;background:#333;color:#fff;font-size:11px;line-height:1.3;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 0.15s;z-index:10}.px-icon-picker__icon-btn:hover::after{opacity:1}.px-icon-picker__empty{padding:32px;text-align:center;color:#999;font-size:13px}