/* API Explorer 1.0.5 */
.api-explorer-wrap {
  --api-explorer-bg: var(--admin-bg, #f3f5fb);
  --api-explorer-surface: #fff;
  --api-explorer-border: #e5e8f2;
  --api-explorer-primary: #3d63ff;
  padding: 0 0 1.5rem;
}

.api-explorer-header {
  margin-bottom: 1rem;
}

.api-explorer-title {
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
}

.api-explorer-hint {
  color: #6e7687;
  font-size: 0.875rem;
  margin: 0;
}

.api-explorer-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 1rem;
}

.api-explorer-tabs {
  display: inline-flex;
  border: 1px solid var(--api-explorer-border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--api-explorer-surface);
}

.api-explorer-tab {
  border: none;
  background: transparent;
  padding: 0.45rem 1rem;
  font-size: 0.875rem;
  cursor: pointer;
}

.api-explorer-tab.active {
  background: var(--api-explorer-primary);
  color: #fff;
}

.api-explorer-sources {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.api-explorer-chip {
  border: 1px solid var(--api-explorer-border);
  background: var(--api-explorer-surface);
  border-radius: 999px;
  padding: 0.25rem 0.75rem;
  font-size: 0.8rem;
  cursor: pointer;
}

.api-explorer-chip.active {
  border-color: var(--api-explorer-primary);
  color: var(--api-explorer-primary);
  background: #e8edff;
}

.api-explorer-actions {
  margin-left: auto;
  display: flex;
  gap: 0.5rem;
}

.api-explorer-banner {
  padding: 0.65rem 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  font-size: 0.875rem;
}

.api-explorer-banner--public {
  background: #fff8e6;
  border: 1px solid #f0d78c;
  color: #6b5a00;
}

.api-explorer-loading .api-explorer-skeleton {
  height: 120px;
  border-radius: 8px;
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 50%, #eee 75%);
  animation: api-explorer-shimmer 1.2s infinite;
}

@keyframes api-explorer-shimmer {
  0% { background-position: -200px 0; }
  100% { background-position: calc(200px + 100%) 0; }
}

.api-explorer-empty {
  padding: 2rem;
  text-align: center;
  color: #6e7687;
  border: 1 dashed var(--api-explorer-border);
  border-radius: 8px;
  margin-bottom: 1rem;
}

.api-explorer-wrap .swagger-ui {
  font-family: inherit;
}

.api-explorer-wrap .swagger-ui .topbar {
  display: none;
}

.api-explorer-toast {
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 2000;
  background: #1d2433;
  color: #fff;
  padding: 0.65rem 1rem;
  border-radius: 8px;
  font-size: 0.875rem;
  max-width: 360px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.api-explorer-toast--error {
  background: #c0392b;
}
