/* ── Tab 行分类筛选（2026-11-01）：漏斗钮 + 浮层，与放大镜搜索叠加 ──
   位置：搜索钮左边。筛选目标跟随当前页签（书架 / 精读），与搜索同一套 applySearch。 */
.reading-tabs button.tab-filter-toggle{margin-left:auto;align-self:center;flex:0 0 auto;
  width:38px;height:38px;min-height:38px;padding:0;border:1px solid #c3d2c5;border-radius:999px;
  background:#fffefa;color:var(--green);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .18s ease,border-color .18s ease,color .18s ease}
.reading-tabs button.tab-filter-toggle:hover{background:var(--sage);border-color:#72927e}
.reading-tabs button.tab-filter-toggle[aria-expanded="true"],
.reading-tabs button.tab-filter-toggle.is-active{background:var(--green);border-color:var(--green);color:#fff}
.reading-tabs button.tab-filter-toggle svg{display:block;width:17px;height:17px;
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.reading-tabs button.tab-filter-toggle + button.tab-search-toggle{margin-left:6px}
.shelf-filter-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:22;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fffefa;
  box-shadow:0 10px 26px #24312e14}
.shelf-filter-pop .sf-field{display:inline-flex;align-items:center;gap:6px;
  font-size:.8rem;color:var(--muted);white-space:nowrap}
.shelf-filter-pop select{border:1px solid var(--line);border-radius:999px;background:#fffefa;
  padding:6px 12px;font:inherit;font-size:.82rem;color:var(--ink);outline:none;cursor:pointer;max-width:12em}
.shelf-filter-pop select:focus{border-color:#72927e;box-shadow:0 0 0 3px #dce8df}
.shelf-filter-pop select:disabled{opacity:.55;cursor:default}
.shelf-filter-pop .sf-clear{border:1px solid var(--line);border-radius:999px;background:#f6f6f2;
  padding:6px 12px;font:inherit;font-size:.8rem;color:var(--muted);cursor:pointer}
.shelf-filter-pop .sf-clear:hover{border-color:#72927e;color:#4d6b58}
.shelf-filter-pop .sf-status{flex:1 1 100%;margin:0;font-size:.74rem;color:var(--muted)}
.shelf-filter-pop .sf-status:empty{display:none}
@media(max-width:680px){
  .shelf-filter-pop{left:0;right:0;gap:8px}
  .shelf-filter-pop select{max-width:none;flex:1 1 40%;min-width:0}
  .reading-tabs button.tab-filter-toggle{width:36px;height:36px;min-height:36px}
}
