.vks-lock { overflow: hidden; }

.vks-fab, .vks-launcher {
  position: fixed; right: 16px; bottom: 16px;
  z-index: 99997; padding: 10px 14px; border-radius: 999px;
  background:#222; color:#fff; border:none; cursor:pointer;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}
.vks-launcher { position: static; margin: 8px 0; }

.vks-overlay[aria-hidden="true"] { display:none; }
.vks-overlay {
  position: fixed; inset:0; background: rgba(0,0,0,.55);
  z-index: 99998; display:flex; align-items:center; justify-content:center;
}
.vks-dialog {
  width: min(1100px, 94vw); height: min(80vh, 860px);
  background: #fff; color:#111; border-radius: 12px; overflow:hidden;
  display:flex; flex-direction:column; box-shadow: 0 20px 40px rgba(0,0,0,.35);
}
.vks-header { display:flex; align-items:center; gap:12px; padding:12px 14px; border-bottom:1px solid #eee; }
.vks-header h2 { margin:0; font-size:16px; font-weight:700; }
.vks-searchbar { display:flex; gap:8px; align-items:center; flex:1; }
.vks-searchbar input[type=search] {
  flex:1; padding:10px 12px; border:1px solid #ddd; border-radius:8px;
}
.vks-searchbar select, .vks-searchbar button { padding:10px 12px; }
.vks-close { background:transparent; border:none; font-size:20px; cursor:pointer; }

.vks-body { display:grid; grid-template-columns: 300px 1fr; gap:0; height:100%; }
.vks-filters { border-right:1px solid #eee; padding:12px; overflow:auto; background:#fafafa; }
.vks-filters .vks-filter { margin-bottom:12px; }
.vks-filters label { display:block; font-weight:600; margin-bottom:6px; }
.vks-daterange { display:flex; align-items:center; gap:6px; }
.vks-filter-actions { margin-top:8px; }
.vks-filter-actions button { width:100%; padding:8px; }

.vks-results { padding:12px; overflow:auto; position:relative; background:#fff; }
.vks-status { margin-bottom:8px; color:#555; font-size:12px; }
.vks-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.vks-item { display:flex; gap:12px; padding:10px; border:1px solid #eee; border-radius:10px; }
.vks-thumb { width:96px; height:64px; object-fit:cover; border-radius:8px; }
.vks-meta { display:flex; flex-direction:column; gap:4px; }
.vks-title { font-weight:700; text-decoration:none; color:#111; }
.vks-badges { display:flex; flex-wrap:wrap; gap:6px; }
.vks-badge { font-size:11px; background:#f3f3f3; padding:2px 6px; border-radius:999px; }
.vks-excerpt { color:#444; font-size:13px; }
.vks-sub { color:#777; font-size:12px; }

.vks-empty, .vks-error, .vks-loading { text-align:center; padding:12px; color:#666; }
.vks-more { display:block; margin:12px auto; padding:10px 16px; }

.vks-fallback { text-align:center; margin-top:6px; }

@media (max-width: 1023px){
  .vks-body { grid-template-columns: 1fr; }
  .vks-filters { position:absolute; left:0; top:52px; bottom:0; width:82%; max-width:360px;
    background:#fff; transform: translateX(-100%); transition:.2s; z-index:2; }
  .vks-filters.open { transform: translateX(0); }
}
