/* V13.28 - Blocos de filtros recolhidos por padrão: só aparece "Filtros" + resumo; os campos abrem ao expandir. */
.fx-toggle{order:-1;display:inline-flex;align-items:center;gap:9px;height:34px;padding:0 12px;border-radius:var(--radius-s,8px);border:1px solid var(--svd-line-strong,#285b70);background:rgba(6,34,47,.7);color:var(--svd-text,#e6f1f6);font:600 var(--fs-sm,13px) var(--font-ui,inherit);cursor:pointer;max-width:100%;min-width:0;flex:1 1 220px;text-align:left}
.fx-toggle:hover{border-color:var(--svd-accent,#58b7e6)}
.fx-ico{flex:none;display:inline-flex;color:var(--svd-accent,#58b7e6)}
.fx-chev{flex:none;transition:transform .15s;margin-left:auto}
.fx-open .fx-chev{transform:rotate(180deg)}
.fx-sum{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--svd-muted,#91aeba)}
.fx-n{flex:none;background:var(--svd-accent,#58b7e6);color:#04202d;border-radius:999px;font-size:11px;font-weight:800;padding:1px 7px}
.fx-collapsed .ex-f,.fx-collapsed .ac-filter,.fx-collapsed .ae-filter,.fx-collapsed .emp-f,.fx-collapsed .ms{display:none!important}
.fx-collapsed{padding-top:8px!important;padding-bottom:8px!important}
.fx-collapsed .ex-actions{margin-left:auto}
@media(max-width:700px){.fx-toggle{flex:1 1 100%}}
/* V13.29 · selo de estado dos dados em relação aos filtros */
.fx-stat{order:-1;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--svd-line,#1d4a5e);background:rgba(6,34,47,.55);font:600 var(--fs-xs,12px) var(--font-ui,inherit);color:var(--svd-muted,#91aeba);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.fx-stat .fx-dot{flex:none;width:9px;height:9px;border-radius:50%;background:currentColor}
.fx-stat.ok{color:#7fdcae;border-color:rgba(76,195,138,.35)}
.fx-stat.ok:not(.fresh){color:var(--svd-muted,#91aeba);border-color:var(--svd-line,#1d4a5e)}
.fx-stat.ok:not(.fresh) .fx-dot{background:#4cc38a}
.fx-stat.pending{color:#ffcf6b;border-color:rgba(255,185,60,.55);background:rgba(90,60,10,.35)}
.fx-stat.pending .fx-dot{animation:fxPulse 1.2s ease-in-out infinite}
.fx-stat.loading{color:#7fd0f5;border-color:rgba(88,183,230,.5)}
.fx-stat.loading .fx-dot{background:transparent;border:2px solid currentColor;border-right-color:transparent;animation:fxSpin .8s linear infinite}
.fx-stat.error{color:#ff9aa4;border-color:rgba(255,120,130,.55);background:rgba(90,20,30,.35)}
.fx-retry{border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0}
@keyframes fxPulse{50%{opacity:.25}}@keyframes fxSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.fx-stat .fx-dot{animation:none!important}}
@media(max-width:700px){.fx-stat{flex:1 1 100%;white-space:normal;height:auto;min-height:30px;padding:5px 12px}}
.fx-stat-only>.fx-stat{display:flex;width:fit-content;max-width:100%;margin:0 0 8px;flex:none}
