:root{
  --zf-accent:#0b5ed7;
  --zf-accent-soft:rgba(11,94,215,.12);
  --zf-green:#198754;
  --zf-border:rgba(0,0,0,.10);
}
@keyframes zfPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(25,135,84,.35)}70%{transform:scale(1.02);box-shadow:0 0 0 10px rgba(25,135,84,0)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(25,135,84,0)}}

.zf-wrap{width:100%;margin:10px 0 14px}
.zf-trigger-row{display:flex;align-items:center;gap:10px;padding:6px 0}
.zf-trigger-btn{
  appearance:none!important;background:var(--zf-green)!important;color:#fff!important;
  border:1px solid rgba(25,135,84,.75)!important;border-radius:10px!important;
  padding:7px 11px!important;font-size:13px!important;font-weight:900!important;
  cursor:pointer!important;opacity:1!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;
  animation:zfPulse 1.8s ease-out 1;
}
.zf-panel{display:none}
.zf-wrap.is-open .zf-panel{display:block}

.zf-row{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  flex-wrap:nowrap!important;padding:10px 12px!important;border:1px solid var(--zf-border)!important;border-radius:10px!important;background:#fff!important
}
.zf-left{display:flex!important;align-items:center!important;gap:8px!important;flex:1 1 auto!important;min-width:0!important;overflow-x:auto!important}
.zf-right{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
.zf-pill{
  appearance:none!important;border:1px solid rgba(11,94,215,.65)!important;background:#fff!important;color:var(--zf-accent)!important;
  padding:8px 10px!important;border-radius:999px!important;cursor:pointer!important;font-size:13px!important;font-weight:900!important;white-space:nowrap!important
}
.zf-pill:hover{background:var(--zf-accent-soft)!important}
.zf-mini{opacity:.85;margin-left:6px;font-weight:900}

.zf-btn{
  appearance:none!important;border:1px solid rgba(25,135,84,.60)!important;background:#fff!important;color:var(--zf-green)!important;
  padding:8px 12px!important;border-radius:10px!important;cursor:pointer!important;font-size:13px!important;font-weight:900!important
}
.zf-btn.zf-apply{background:var(--zf-green)!important;color:#fff!important}
.zf-btn.zf-clear:hover{background:rgba(25,135,84,.10)!important}
.zf-status{min-width:120px;font-size:12px;opacity:.75}

.zf-pop{display:none;position:fixed;z-index:999999;min-width:260px;max-width:360px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.12);overflow:hidden}
.zf-pop.is-open{display:block}
.zf-pop-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.08)}
.zf-x{appearance:none;border:0;background:transparent;font-size:18px;line-height:1;cursor:pointer;opacity:.7}
.zf-pop-body{max-height:320px;overflow:auto;padding:10px 12px}
.zf-check,.zf-radio{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px}
.zf-check input,.zf-radio input{width:16px;height:16px}
/* safelite6 — evitar sobreposição dos botões (Filtrar/Limpar) sobre a linha de filtros */
.zf-row{flex-wrap:wrap!important;align-items:flex-start!important}
.zf-left{flex:1 1 100%!important;min-width:0!important;overflow-x:auto!important;padding-bottom:6px!important}
.zf-right{flex:1 1 100%!important;justify-content:flex-end!important;position:static!important;right:auto!important;top:auto!important;float:none!important}
.zf-status{min-width:0!important}


/* Botão Limpar como pill */
.zf-cleargrp .zf-pill{cursor:pointer}
