.filter-page { width:min(100%, 1180px); }
.filter-heading { margin-bottom:22px; }
.filter-heading h1 { margin:5px 0; font-size:25px; }
.filter-status { max-width:340px; text-align:right; }
.filter-status.is-error { color:var(--fd-color-danger); }
.filter-guidance { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin-bottom:18px; }
.filter-guidance > div { display:grid; gap:5px; padding:16px 18px; border:1px solid var(--console-line); border-radius:8px; background:#fff; }
.filter-guidance strong { font-size:14px; }
.filter-guidance span, .filter-form small { color:var(--console-muted); font-size:12px; line-height:1.55; }
.filter-layout { display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(320px, .75fr); gap:18px; align-items:start; }
.filter-form, .filter-preview { display:grid; gap:16px; padding:0 0 20px; overflow:hidden; border:1px solid var(--console-line); border-radius:8px; background:#fff; }
.filter-form > :not(.section-head), .filter-preview > :not(.section-head) { margin:0 18px; }
.filter-form label, .filter-preview label { display:grid; gap:7px; }
.filter-form label > span, .filter-preview label > span { color:var(--console-muted); font-size:12px; font-weight:700; }
.filter-form textarea, .filter-preview textarea { width:100%; min-height:0; resize:vertical; padding:10px; border:1px solid #cbd7e1; border-radius:6px; color:var(--console-ink); line-height:1.5; }
.filter-enabled { grid-template-columns:auto minmax(0, 1fr); align-items:start; padding:14px; border:1px solid var(--console-line); border-radius:7px; background:var(--console-soft); }
.filter-enabled input { width:16px; height:16px; margin-top:2px; }
.filter-enabled strong, .filter-enabled small { display:block; }
.filter-enabled small { margin-top:3px; }
.filter-actions { display:flex; align-items:center; gap:12px; }
.filter-actions span { color:var(--console-muted); font-size:12px; }
.preview-result { min-height:76px; margin:0 18px; padding:14px; border:1px solid var(--console-line); border-radius:7px; background:var(--console-soft); color:var(--console-muted); font-size:13px; line-height:1.55; }
.preview-result.is-filtered { border-color:#e5b6a3; background:#fff5f0; color:#9c3c1f; }
@media (max-width: 760px) { .filter-heading { align-items:start; flex-direction:column; } .filter-status { text-align:left; } .filter-guidance, .filter-layout { grid-template-columns:1fr; } }
