.gs-as-wrap{
  border-radius:18px;
  padding:16px 20px;
  background:#f7f7f8;
  margin:1.5rem 0;
}

/* Form */
.gs-as-form{ display:flex; flex-direction:column; gap:1rem; }
.gs-as-fields{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px 16px;
}
.gs-as-field label{ display:flex; flex-direction:column; gap:4px; font-size:.9rem; }
.gs-as-label{  }

.gs-as-field input,
.gs-as-field select{
  border-radius:999px;
  border:1px solid #ccc;
  padding:6px 12px;
  font-size:.9rem;
  width:100%;
}

.gs-as-actions{
  display:flex; align-items:center; gap:.75rem;
}
.gs-as-submit{
  border-radius:999px;
  border:none;
  padding:8px 18px;
  background:#004f8a;
  color:#fff;
  font-size:.9rem;
  cursor:pointer;
}
.gs-as-submit:hover{ background:#0063b0; }

/* Loader */
.gs-as-loader{
  width:18px; height:18px;
  border-radius:999px;
  border:2px solid rgba(0,0,0,.15);
  border-top-color:rgba(0,0,0,.55);
  animation:gs-as-spin 0.6s linear infinite;
  opacity:0;
}
.gs-as-loader.is-active{ opacity:1; }
@keyframes gs-as-spin{
  to{ transform:rotate(360deg); }
}

/* Results */
.gs-as-results{ margin-top:1rem; min-height:40px; }
.gs-as-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}

/* Card */
.gs-as-card{
  background:#fff;
  border-radius:16px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
  min-height:128px;
}
.gs-as-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 26px rgba(0,0,0,.08);
}
.gs-as-card__link{
  display:flex;
  gap:12px;
  padding:12px 14px;
  text-decoration:none;
  color:inherit;
}
.gs-as-card__icon{
  flex:0 0 48px;
  height:48px;
  border-radius:999px;
  background:#f1f1f3;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.gs-as-card__icon img{
  width:100%; height:100%; object-fit:contain;
}
.gs-as-card__icon--placeholder{
  width:18px; height:18px;
  border-radius:999px;
  border:2px solid rgba(0,0,0,.2);
}

.gs-as-card__body{ display:flex; flex-direction:column; gap:4px; }
.gs-as-card__title{ margin:0; font-size:1rem; }
.gs-as-card__subtitle{ margin:0; font-size:.9rem; color:#555; }

.gs-as-empty{ color:#666; font-style:italic; }

/* Pagination */
.gs-as-pagination{
  margin-top:1rem;
  display:flex;
  gap:6px;
}
.gs-as-page{
  border-radius:999px;
  border:1px solid #ccc;
  padding:3px 10px;
  background:#fff;
  cursor:pointer;
}
.gs-as-page:hover{
  background:#eee;
}