.asam-apf{width:100%; position:relative;}
.asam-apf-controls{display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end;}
.asam-apf-field{display:flex; flex-direction:column; gap:6px; min-width:220px;}
.asam-apf-label{font-size:13px; opacity:.9;}
.asam-apf-select{height:42px; padding:0 10px; border:1px solid rgba(0,0,0,.15); border-radius:10px; background:#fff;}
.asam-apf-btn{height:42px; padding:0 16px; border-radius:10px; border:1px solid rgba(0,0,0,.15); background:#111; color:#fff; cursor:pointer;}
.asam-apf-results{margin-top:16px;}
.asam-apf-loading{display:flex; align-items:center; gap:10px; margin-top:12px; font-size:13px; opacity:.85;}
.asam-apf-spinner{width:16px; height:16px; border-radius:50%; border:2px solid rgba(0,0,0,.2); border-top-color:rgba(0,0,0,.7); display:inline-block; animation:asam-apf-spin 1s linear infinite;}
@keyframes asam-apf-spin{to{transform:rotate(360deg)}}
.asam-apf-empty{padding:14px; border:1px dashed rgba(0,0,0,.2); border-radius:12px; background:rgba(0,0,0,.02);}
.asam-apf-hint{padding:12px; border:1px solid rgba(0,0,0,.08); border-radius:12px; background:rgba(0,0,0,.02); font-size:13px;}


/* Multi checkbox dropdown */
.asam-apf-multi{position:relative; width:100%;}
.asam-apf-multi-toggle{
  width:100%;
  height:42px;
  padding:0 10px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:10px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
}
.asam-apf-multi-text{font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.asam-apf-multi-caret{opacity:.7; margin-inline-start:10px;}
.asam-apf-multi-panel{
  position:absolute;
  inset-inline-start:0;
  inset-inline-end:0;
  top:calc(100% + 6px);
  z-index:9999;
  background:#fff;
  border:1px solid rgba(0,0,0,.15);
  border-radius:12px;
  padding:8px;
  max-height:260px;
  overflow:auto;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.asam-apf-check{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
  cursor:pointer;
  user-select:none;
  color:black;
}
.asam-apf-check:hover{background:rgba(0,0,0,.04);}
.asam-apf-check input.asam-apf-select{
  height:auto;
  padding:0;
  border:none;
  border-radius:4px;
  background:transparent;
  width:18px;
  min-width:18px;
}
.asam-apf-check-text{font-size:14px; line-height:1.4;}
