.proschool-api-tester {
  margin: 2em 0;
}

.proschool-api-tester .pst-form-group {
  margin-bottom: 1.5em;
}

.proschool-api-tester label {
  display: block;
  margin-bottom: 0.5em;
  font-weight: 600;
}

.proschool-api-tester input[type="text"],
.proschool-api-tester select,
.proschool-api-tester textarea {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.proschool-api-tester input[type="text"]:focus,
.proschool-api-tester select:focus,
.proschool-api-tester textarea:focus {
  outline: none;
  border-color: var(--ast-global-color-0, #0073aa);
}

.pst-checkbox-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pst-radio-group {
  display: flex;
  gap: 20px;
  margin-bottom: 15px;
}

.pst-radio-group label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: normal;
}

.pst-body-section {
  display: none;
  margin-top: 20px;
  padding: 20px;
  background: #f9f9f9;
  border-radius: 4px;
}

.pst-body-section.active {
  display: block;
}

.pst-body-title {
  margin-bottom: 15px;
  font-size: 1.2em;
}

.pst-kv-row {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 10px;
  margin-bottom: 10px;
}

.pst-log-section {
  background: #1e1e1e;
  color: #d4d4d4;
  padding: 20px;
  border-radius: 8px;
  max-height: 600px;
  overflow-y: auto;
  font-family: 'Courier New', monospace;
  font-size: 14px;
  margin-top: 2em;
}

.pst-log-entry {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #444;
}

.pst-log-entry:last-child {
  border-bottom: none;
}

.pst-log-entry-title {
  font-weight: bold;
  margin-bottom: 10px;
  color: #fade58;
}

.pst-log-request {
  color: #61dafb;
}

.pst-log-response {
  margin-top: 15px;
}

.pst-status-2xx {
  color: #4caf50;
}

.pst-status-4xx {
  color: #FFC107;
}

.pst-status-5xx {
  color: #f44336;
}

.pst-error-message {
  color: #f44336;
  padding: 10px;
  background: #ffebee;
  border-radius: 4px;
  border-left: 4px solid #f44336;
  margin-top: 10px;
}

.pst-loading {
  display: none;
  text-align: center;
  padding: 10px;
  font-weight: bold;
}

.pst-loading.active {
  display: block;
}

.pst-hidden {
  display: none;
}

.pst-log-section pre {
  white-space: pre-wrap;
  word-wrap: break-word;
}

.pst-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
