/* Menu de filtros: grupos, chips, listas em acordeão (abrem como painel flutuante) e rodapé. */
.fgroup{flex-shrink:0;min-height:0}
.fgroup h3{font-family:var(--fc);font-size:15px;margin:0 0 5px;display:flex;gap:8px;align-items:center;color:var(--navy)}
.fgroup h3 small{font-family:var(--f);font-size:11.5px;color:var(--muted);font-weight:500}
.fgroup h3 .sp{margin-left:auto}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
input[type=date],input[type=search]{width:100%;border:1px solid var(--line);border-radius:6px;padding:4px 7px;background:var(--soft);font-size:12.5px;height:28px}
.presets{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.chip{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:1px 9px;font-size:11.5px;line-height:1.6;cursor:pointer}
.chip.on{background:var(--navy);color:var(--neon);border-color:var(--navy)}
.checklist{border:1px solid var(--line);border-radius:6px;overflow:auto;background:var(--soft);flex:1 1 0;min-height:0}
.presets.sem-margem{margin-top:0}

/* acordeão de listas */
.acc{display:flex;flex-direction:column;gap:6px;flex-shrink:0}
.acc-sec{border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-height:0;flex-shrink:0;background:var(--panel)}
.acc-sec.open{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--neon)}
.acc-head{display:flex;align-items:center;gap:8px;padding:7px 10px;background:none;border:0;width:100%;text-align:left;cursor:pointer;border-radius:8px}
.acc-head:hover{background:var(--soft)}
.acc-head .ttl{font-family:var(--fc);font-weight:700;font-size:15px;color:var(--navy);white-space:nowrap}
.acc-head .sum{font-size:11.5px;color:var(--muted);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-head .cnt{font-size:11px;font-weight:600;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:0 7px;white-space:nowrap}
.acc-sec.partial .acc-head .cnt{background:var(--navy);color:var(--neon);border-color:var(--navy)}
.acc-head .chev{width:14px;height:14px;flex-shrink:0;transition:transform .15s;color:var(--muted)}
.acc-head .chev{transform:rotate(-90deg)}
.acc-sec.open .acc-head .chev{transform:rotate(90deg);color:var(--navy)}
.acc-body{display:none;flex-direction:column;gap:8px;position:fixed;z-index:900;top:var(--top);bottom:0;left:var(--side);width:min(620px,48vw);
  background:var(--panel);border-right:1px solid var(--line);box-shadow:12px 0 32px rgba(2,0,57,.18);padding:16px 18px}
.acc-sec.open .acc-body{display:flex;animation:flyin .14s ease-out}
@keyframes flyin{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
.fly-head{display:flex;align-items:center;gap:10px}
.fly-head h4{font-family:var(--fc);font-size:22px;margin:0;color:var(--navy)}
.fly-head .cnt{font-size:12px;color:var(--muted)}
.fly-close{margin-left:auto;border:1px solid var(--line);background:var(--soft);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:16px;color:var(--navy)}
.fly-close:hover{border-color:var(--indigo)}
.acc-body input[type=search]{height:34px;font-size:13.5px;padding:6px 10px}
.acc-body .acc-tools{font-size:12.5px}
.acc-body .linkbtns{font-size:12.5px;gap:14px}
.acc-body .checklist{border-radius:8px}
.acc-body .checklist label{padding:5px 12px;font-size:13px;gap:10px;border-bottom:1px solid #E6E8F2}
.acc-body .checklist label .t{white-space:normal}
.acc-body .checklist label small{font-size:11.5px;white-space:normal}
.acc-body .checklist label em{font-size:12px}
.acc-body .checklist .grp{font-size:14px;padding:7px 12px 5px}
.fly-foot{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:11.5px;color:var(--muted)}
.fly-foot .btn.fly-close{flex-shrink:0;width:auto;height:auto;padding:7px 18px;margin:0;font-size:13px}
.acc-tools{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--muted)}
.checklist label .t{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checklist label small{display:block;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checklist label>span{flex:1;min-width:0}
.checklist .grp{font-family:var(--fc);font-weight:600;font-size:12.5px;padding:4px 8px 2px;color:var(--navy);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#E9EBF5;z-index:1}
.checklist label{display:flex;gap:6px;align-items:flex-start;padding:2px 8px;font-size:12px;line-height:1.35;cursor:pointer}
.checklist label:hover{background:#E6E8F4}
.checklist label.zerada{opacity:.45}
.checklist label em{margin-left:auto;font-style:normal;color:var(--muted);font-size:11px;padding-left:6px}
.checklist input{accent-color:var(--navy);margin:2px 0 0;flex-shrink:0}
.linkbtns{display:flex;gap:8px;font-size:11.5px}
.linkbtns button{background:none;border:0;padding:0;color:var(--indigo);cursor:pointer;font-weight:600}
.checklist .grp .grp-btn{padding:0 8px;font-size:11px}

/* rodapé do menu */
.side-foot{flex-shrink:0;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:auto}
.side-foot .btn{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:12.5px;width:100%}
.side-foot .btn:disabled kbd{opacity:.6}
.side-foot .btn.flash{background:var(--neon);color:var(--navy);transition:background .2s}
.side-keys{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}
.side-foot kbd{font-family:var(--f);font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:0 5px;background:var(--soft)}

@media (max-height:720px){.fgroup.grow{min-height:70px}}

.so-disponiveis{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted);flex-shrink:0;cursor:pointer}
.so-disponiveis input{accent-color:var(--navy);margin:1px 0 0}
