.duckit-filter-search{
        width:100%;
        box-sizing:border-box;
        padding:8px 10px;
        border-radius:10px;
        border:1px solid rgba(255,255,255,.12);
        background: rgba(0,0,0,.15);
        outline:none;
        margin: 0 0 10px 0;
      }
      .duckit-filter-tree-body{
        display:flex;
        flex-direction:column;
        gap:10px;
      }
      .duckit-filter-node{
        border:1px solid rgba(255,255,255,.10);
        border-radius:14px;
        overflow:hidden;
        background: rgba(0,0,0,.10);
      }
      .duckit-filter-summary{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        padding:10px 12px;
        cursor:pointer;
        user-select:none;
        background: rgba(0,0,0,.12);
      }
      .duckit-filter-summary:hover{
        background: rgba(0,0,0,.18);
      }
      .duckit-filter-summary .left{
        display:flex;
        align-items:center;
        gap:10px;
        min-width:0;
      }
      .duckit-filter-summary .title{
        font-weight:600;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
      }
      .duckit-filter-summary .meta{
        opacity:.75;
        font-size:12px;
        white-space:nowrap;
      }
      .duckit-filter-body{
        padding:10px 12px 12px 12px;
      }

      /* Icon groups */
      .duckit-filter-icongroup{
        border:1px solid rgba(255,255,255,.08);
        border-radius:12px;
        overflow:hidden;
        background: rgba(255,255,255,.03);
        margin-bottom:10px;
      }
      .duckit-filter-icongroup-summary{
        padding:8px 10px;
        cursor:pointer;
        user-select:none;
        background: rgba(0,0,0,.10);
      }
      .duckit-filter-icongroup-summary:hover{
        background: rgba(0,0,0,.16);
      }
      .icongroup-head{
        display:flex;
        align-items:center;
        gap:10px;
      }
      .duckit-filter-icongroup-icon{
        width:24px;
        height:24px;
        flex:0 0 26px;
        object-fit:contain;
        border-radius:6px;
        background: rgba(0,0,0,.18);
        border:1px solid rgba(255,255,255,.10);
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:12px;
        line-height:1;
      }
      .duckit-filter-icongroup-icon--none{
        color: rgba(255,255,255,.70);
      }
      .duckit-filter-icongroup-title{
        font-size:12px;
        opacity:.85;
      }

      /* Sub list */
      .duckit-filter-sublist{
        list-style:none;
        margin:0;
        padding:6px 6px 8px 6px;
        display:flex;
        flex-direction:column;
        gap:2px;
      }
      .duckit-filter-subitem{
        padding:0;
        margin:0;
        border-radius:10px;
      }
      .duckit-filter-subitem:hover{
        background: rgba(255,255,255,.05);
      }

      /* ✅ Alignment fix: put everything in a single flex label */
      .duckit-filter-sub{
        display:flex;
        align-items:center;
        gap:8px;
        width:100%;
        padding:6px 8px;
        box-sizing:border-box;
        cursor:pointer;
        min-height:30px;
      }
      .sub-cb{
        margin:0;
        width:16px;
        height:16px;
        flex:0 0 16px;
      }
      .sub-icon{
        width:20px;
        height:20px;
        flex:0 0 22px;
        object-fit:contain;
        border-radius:5px;
        border:1px solid rgba(255,255,255,.10);
        background: rgba(0,0,0,.14);
        display:block; /* avoids baseline alignment shifts */
      }
      .sub-label{
        min-width:0;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:13px;
        line-height:1.25;
      }
