.bank-selection-strip { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-2px 0 14px; padding:10px 12px; border:1px solid #dbe6ef; border-radius:12px; background:#f7fbfc; }
.bank-selection-strip > div { min-width:0; }
.bank-selection-strip span { display:block; color:#718096; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.bank-selection-strip strong { display:block; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#17304d; font-size:12px; }
.bank-filter-toggle { display:none; min-height:34px; padding:0 11px; border:1px solid var(--line); border-radius:10px; background:#fff; color:#315476; font-size:9px; font-weight:850; }
.bank-filter-toggle em { min-width:18px; height:18px; margin-left:4px; border-radius:999px; background:var(--teal); color:#fff; display:inline-grid; place-items:center; font-style:normal; font-size:8px; }
.bank-filter-fields { display:block; }

.active-filter-summary { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:11px 0 4px; padding:10px 12px; border:1px solid #dbe4ed; border-radius:12px; background:rgba(255,255,255,.72); }
.active-filter-summary > div { display:flex; flex-wrap:wrap; gap:6px; align-items:center; min-width:0; }
.active-filter-summary b { margin-right:2px; color:#5b6e84; font-size:9px; text-transform:uppercase; letter-spacing:.05em; }
.active-filter-summary span { padding:5px 8px; border-radius:999px; background:#edf4fb; color:#315f8c; font-size:8px; font-weight:800; }
.active-filter-summary .selection-topic { background:#e8f7f5; color:#0b7476; }
.active-filter-summary button { border:0; background:transparent; color:var(--blue); font-size:8px; font-weight:850; white-space:nowrap; }
.active-filter-summary small { color:var(--muted); font-size:8px; }
.active-filter-summary.empty { background:#f9fbfd; }

.panel-head { position:relative; }
.taxonomy-panel-actions { display:flex; gap:5px; margin-top:4px; }
.taxonomy-panel-actions button { min-height:28px; padding:0 8px; border:1px solid var(--line); border-radius:8px; background:#fff; color:#60758b; font-size:8px; font-weight:800; }
.tax-tree-row-wrap { position:relative; }
.tax-tree-row-wrap.has-collapse > .tax-tree-row { padding-right:54px; }
.tax-collapse-toggle { position:absolute; right:34px; top:7px; z-index:2; width:22px; height:22px; padding:0; border:0; border-radius:7px; background:transparent; color:#7f8fa1; font-size:13px; line-height:1; }
.tax-collapse-toggle:hover { background:#eaf0f6; color:#355b80; }
.tax-tree-row-wrap.collapsed > .tax-tree-children { display:none; }

.builder-context-summary { margin-top:13px; padding:11px; border:1px solid #dce7ef; border-radius:11px; background:#f8fbfd; }
.builder-context-summary span { display:block; color:#748398; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.builder-context-summary strong { display:block; margin-top:3px; color:#17304d; font-size:11px; line-height:1.35; }
.builder-context-summary small { display:block; margin-top:4px; color:var(--muted); font-size:8px; line-height:1.45; }

@media (max-width: 1199px) {
  .builder-context-summary { grid-column:1; }
}

@media (max-width: 900px) {
  .builder-context-summary { margin-top:12px; }
}

@media (max-width: 767px) {
  .bank-selection-strip { position:sticky; top:58px; z-index:12; margin:0 -2px 12px; background:rgba(247,251,252,.96); backdrop-filter:blur(12px); }
  .bank-filter-toggle { display:inline-flex; align-items:center; justify-content:center; }
  .bank-filter-fields { display:none; }
  .bank-controls.filters-open .bank-filter-fields { display:block; }
  .bank-controls.filters-open .bank-filter-toggle { border-color:var(--teal); background:var(--teal-soft); color:#0d7476; }
  .active-filter-summary { align-items:flex-start; padding:9px 10px; }
  .active-filter-summary > div { gap:5px; }
  .active-filter-summary b { width:100%; }
  .active-filter-summary button { min-height:30px; }
  .taxonomy-panel-actions { margin-top:7px; }
  .taxonomy-panel-actions button { flex:1; }
  .tax-tree-row-wrap.has-collapse > .tax-tree-row { padding-right:50px; }
  .tax-collapse-toggle { right:31px; }
  .builder-context-summary { padding:10px; }
}
