.section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:20px
}
.section-heading h1 { margin:0; font-size:clamp(21px,3.4vw,38px); white-space:nowrap; font-weight:600; letter-spacing:-1.3px; }
.catalog-meta { display:flex; align-items:flex-end; gap:12px; padding-bottom:3px; }
.refresh-button { border:0; background:transparent; color:var(--muted); font-size:24px; line-height:1; padding:0 2px; }
.catalog-status{
  font-size:12px;
  color:var(--muted);
  margin:0;
  text-align:right
}
.visual-hub-controls{
  padding:.9rem;
  grid-template-columns:minmax(14rem,1.2fr) repeat(5,minmax(7rem,.65fr)) auto
}
.visual-hub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}
.ui-icon{
  display:inline-flex;
  width:20px;
  height:20px;
  vertical-align:middle
}
.ui-icon svg{
  width:100%;
  height:100%
}
.visual-card{
  background:var(--surface)
}
.visual-card-preview{
  border:0;
  width:100%
}
.visual-card-preview img{
  object-fit:cover
}
.visual-card-external{
  font-size:12px
}
.visual-viewer-shell{
  background:var(--surface);
  border-radius:5px;
  overflow:hidden
}
.visual-viewer-frame{
  width:100%;
  height:100%;
  border:0
}
.visual-viewer::backdrop{
  background:#000a;
  backdrop-filter:blur(5px)
}
@media (max-width:1100px) {
  .visual-hub-controls { grid-template-columns:repeat(3,minmax(0,1fr)); padding-top:.9rem; }
  .visual-hub-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .visual-hub-controls { grid-template-columns:repeat(2,minmax(0,1fr)); padding-top:.9rem; }
  .visual-search { grid-column:1/-1; }
  .visual-hub-grid { grid-template-columns:1fr; }
  .visual-viewer-header { flex-wrap:wrap; }
  .visual-viewer-title { flex-basis:100%; }
  .visual-viewer-actions { flex-wrap:wrap; }
  .catalog-status { font-size:10px; max-width:150px; line-height:1.5; }
  .catalog-meta { gap:6px; }
  .section-heading { gap:8px; }
  .refresh-button { font-size:21px; }
}
