.catalog-layout-right { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
.catalog-layout-right > .sidebar { grid-column: 2; grid-row: 1; min-width: 0; }
.catalog-layout-right > .results { grid-column: 1; grid-row: 1; min-width: 0; }
.filter-section-title { font-size: .85rem; margin: 12px 0 2px; padding-top: 14px; border-top: 1px solid var(--border); color: var(--fg-muted); }
.search-scope { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; align-items: start; margin-bottom: 24px; }
.search-scope > details { min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 12px 16px; }
.search-scope summary { cursor: pointer; font-weight: 600; min-height: 24px; }
.search-scope .field { margin-top: 12px; }
.search-scope input { width: 100%; min-width: 0; min-height: 44px; font: inherit; font-size: 16px; padding: 10px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); color: var(--fg); }
.search-scope input[type="checkbox"] { width: 18px; min-height: 18px; flex-shrink: 0; }
.search-scope .source-filter-options { max-height: 280px; }
.search-scope .btn-secondary { min-height: 48px; }
.search-scope > details:hover, .search-scope input:hover { border-color: var(--search-gold); }
.search-scope :is(input, button, a, summary):focus-visible { outline: 2px solid var(--search-gold); outline-offset: 3px; }
.group-invite { position: fixed; right: 20px; bottom: 20px; z-index: 80; width: min(350px, calc(100vw - 24px)); padding: 22px; border: 1px solid var(--search-gold); border-radius: 18px; background: var(--surface); color: var(--fg); }
.group-invite h2 { font-size: 1.15rem; margin: 10px 0; }
.group-invite p { font-size: .85rem; line-height: 1.6; }
.group-invite .eyebrow { padding-right: 22px; font-size: .65rem; }
.group-invite .btn-primary { width: 100%; margin: 12px 0; }
.invite-close { position: absolute; top: 4px; right: 4px; width: 44px; height: 44px; font-size: 24px; border: 0; border-radius: 12px; background: transparent; color: var(--fg); cursor: pointer; }
.invite-confirm { display: block; font-size: .8rem; line-height: 1.5; }
.invite-later { display: block; padding: 12px 0; min-height: 44px; border: 0; background: none; color: var(--fg-muted); font: inherit; font-size: .8rem; cursor: pointer; }
.invite-close:hover, .invite-later:hover { background: var(--search-glow); }
.telegram-profile dl { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr); gap: 10px 16px; }
.telegram-profile dt { color: var(--fg-muted); }
.telegram-profile dd { margin: 0; overflow-wrap: anywhere; }
.account-start { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.account-start a { padding: 20px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); color: var(--fg); text-decoration: none; }
.account-start a:hover { border-color: var(--search-gold); }
.account-start strong, .account-start span { display: block; }
.account-start span { margin-top: 8px; color: var(--fg-muted); line-height: 1.6; }
.channel-own { margin: 16px 0; padding: 16px; border: 1px solid var(--border); border-radius: 14px; }
.channel-own .account-tabs { flex-wrap: wrap; }
@media (max-width: 1000px) { .search-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .catalog-layout-right { grid-template-columns: minmax(0, 1fr); }
  .catalog-layout-right > .sidebar { grid-column: 1; grid-row: 1; position: static; }
  .catalog-layout-right > .results { grid-column: 1; grid-row: 2; }
}
@media (max-width: 600px) {
  .search-scope, .account-start { grid-template-columns: minmax(0, 1fr); }
  .search-scope { gap: 8px; }
  .group-invite { right: 12px; bottom: 12px; padding: 18px; max-height: 70dvh; overflow-y: auto; }
  .telegram-profile dl { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .telegram-profile dd { margin-bottom: 12px; }
}
