/* Фильтры листингов, вариант C (реш. 78): кнопка «Фильтры (N)» и панель сбоку; внутри панели — прежний блок .pf. Собирает tools/draft/listing_filters.py. */
.pf-blk{border-top:1px solid var(--line);padding:12px 0}
.pf-blk:last-of-type{border-bottom:1px solid var(--line)}
.pf-blk summary{cursor:pointer;font-weight:600;display:flex;gap:6px;align-items:center;list-style:none}
.pf-blk summary::-webkit-details-marker{display:none}
.pf-blk summary span{flex:1}
.pf-blk summary::after{content:"+";font-weight:400;font-size:18px;color:var(--muted)}
.pf-blk[open] summary::after{content:"−"}
.pf-blk>:not(summary){margin-top:10px}
.pf-sn{font-style:normal;font-size:12px;background:var(--ink);color:#fff;border-radius:9px;padding:0 6px}
.pf-sn:empty{display:none}
.pf-q{width:100%;box-sizing:border-box;padding:7px 10px;border:1px solid var(--line);border-radius:6px;font:inherit}
.pf-r,.pf-sub{display:flex;gap:8px;align-items:center;padding:4px 0;cursor:pointer;text-decoration:none;color:inherit}
.pf-r a{flex:1;text-decoration:none;color:inherit}
.pf-r small,.pf-sub small{color:var(--muted)}
.pf-sub small{margin-left:auto}
.pf-r input{accent-color:var(--ink);width:16px;height:16px;margin:0}
.pf-r[hidden]{display:none}
.pf-sub i{width:16px;height:16px;box-sizing:border-box;border:1px solid var(--muted);border-radius:3px;flex:none}
.pf-sub.on i{background:var(--ink);border-color:var(--ink)}
.pf-sub:hover,.pf-r:hover{color:var(--ink)}
.pf-l:not(.all):not(.srch) .pf-r:nth-child(n+9):not(.chk){display:none}
.pf-more{display:inline-block;font-size:13px;color:var(--muted);text-decoration:underline}
.pf-pr{display:flex;gap:6px;align-items:center}
.pf-pr input{width:100px;box-sizing:border-box;padding:7px 8px;border:1px solid var(--line);border-radius:6px;font:inherit}
.pf-rg{display:flex;flex-wrap:wrap;gap:6px}
.pf-rg button{font:inherit;font-size:13px;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:18px;padding:4px 10px}
.pf-rg button[hidden]{display:none}
.pf-more[hidden]{display:none}
.pf-rg button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pf-p small{display:block;color:var(--muted);font-size:12px;margin-top:8px}
.pf-s{color:#b00}
.pf-t{margin:16px 0 4px}
.pf-open{font:inherit;font-weight:600;cursor:pointer;background:#fff;border:1px solid var(--ink);border-radius:18px;padding:9px 20px}
.pf-n{font-style:normal;font-size:12px;background:var(--ink);color:#fff;border-radius:9px;padding:0 6px;margin-left:2px}
.pf-n:empty{display:none}
.pf-ov{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:.2s;z-index:90}
.pf-ov.open{opacity:1;pointer-events:auto}
.pf-panel{position:fixed;z-index:91;top:0;bottom:0;left:0;width:380px;max-width:92vw;background:#fff;display:flex;flex-direction:column;transform:translateX(-100%);visibility:hidden;transition:transform .25s,visibility 0s .25s;font-size:14px}
.pf-panel.open{transform:none;visibility:visible;transition:transform .25s,visibility 0s}
.pf-h{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);font-size:17px}
.pf-x{border:0;background:none;font-size:28px;line-height:1;cursor:pointer}
.pf-b{flex:1;overflow:auto;padding:0 20px 16px}
.pf-f{display:flex;gap:10px;padding:12px 20px;border-top:1px solid var(--line);align-items:center}
.pf-f button{font:inherit;cursor:pointer;border-radius:18px;padding:11px 16px}
.pf-rs{border:0;background:none;color:var(--muted);text-decoration:underline}
.pf-go{flex:1;background:var(--ink);color:#fff;border:1px solid var(--ink);font-weight:600}
.pf-lock{overflow:hidden}
