/* Screen-reader-only utility */
.sr-only {
  position: absolute !important;
  height: 1px; width: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap; border: 0; padding: 0; margin: -1px;
}

/* Container */
.inst-list { max-width: 1200px; margin: 0 auto; padding: 16px; }
.inst-list__header h2 { margin: 0 0 8px; font-size: 28px; }
.inst-list__subtitle { margin: 0 0 16px; color: #555; }

/* Sticky filter bar (offset set by JS via --inst-sticky-top) */
.inst-filters {
  position: sticky;
  top: var(--inst-sticky-top, 0px);
  z-index: 50;
  background: var(--inst-bg, #ffffff);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  margin-bottom: 10px;
  padding-bottom: 8px;
}

/* Filters layout */
.inst-filters__row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.inst-filters__field { display: flex; flex-direction: column; gap: 6px; }

.inst-input, .inst-select {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 16px;
  width: 100%;
}

.inst-filters__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 12px 0 8px;
  color: #555;
  gap: 12px;
  flex-wrap: wrap;
}

.inst-btn {
  appearance: none;
  border: 1px solid #111;
  background: #111;
  color: #fff;
  border-radius: 999px;
  padding: 8px 14px;
  cursor: pointer;
  font-weight: 600;
}
.inst-btn--ghost { background: transparent; color: #111; }

/* Table wrapper & table */
.inst-table__wrap { overflow-x: auto; background: #fff; border: 1px solid #eee; border-radius: 12px; }
.inst-table { width: 100%; border-collapse: collapse; }

/* Header row colors (requested) */
.inst-table thead th {
  background: #00194a;
  color: #ff6d23;
  font-weight: 700;
  padding: 12px 14px;
  text-align: left;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.inst-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #f0f0f0;
}

.inst-row.hidden { display: none; }

.inst-loadmore { display: flex; justify-content: center; margin-top: 16px; }

/* Responsive */
@media (max-width: 900px) {
  .inst-filters__row { grid-template-columns: 1fr; }
}
``