/* Custom CSS for Swagger UI */

:root {
  --sealbeat-primary: #57A0D3;
  --sealbeat-secondary: #2E5984;
  --sealbeat-accent: #9DD1F1;
  --sealbeat-text: #333333;
  --sealbeat-light: #F0F8FF;
  --sealbeat-dark: #1A365D;
}

.swagger-ui .topbar {
  background-color: var(--sealbeat-dark);
  padding: 10px 0;
}

.swagger-ui .topbar .topbar-wrapper img {
  content: url('https://sealbeat.com/logo.png');
  height: 40px;
}

.swagger-ui .topbar .download-url-wrapper .select-label select {
  border-color: var(--sealbeat-accent);
}

.swagger-ui .info .title {
  color: var(--sealbeat-dark);
  font-weight: 700;
}

.swagger-ui .info a {
  color: var(--sealbeat-primary);
}

.swagger-ui .btn.authorize {
  background-color: var(--sealbeat-primary);
  color: white;
  border-color: var(--sealbeat-dark);
}

.swagger-ui .btn.authorize svg {
  fill: white;
}

.swagger-ui .opblock.opblock-get {
  background: rgba(97, 175, 254, 0.1);
  border-color: var(--sealbeat-primary);
}

.swagger-ui .opblock.opblock-post {
  background: rgba(73, 204, 144, 0.1);
}

.swagger-ui .opblock.opblock-put {
  background: rgba(252, 161, 48, 0.1);
}

.swagger-ui .opblock.opblock-delete {
  background: rgba(249, 62, 62, 0.1);
}

.swagger-ui .opblock .opblock-summary-method {
  font-weight: bold;
}

.swagger-ui .opblock.opblock-get .opblock-summary-method {
  background-color: var(--sealbeat-primary);
}

.swagger-ui table thead tr td,
.swagger-ui table thead tr th {
  color: var(--sealbeat-dark);
  font-weight: 700;
}

.swagger-ui .response-col_status {
  color: var(--sealbeat-primary);
  font-weight: 600;
}

.swagger-ui section.models {
  border-color: var(--sealbeat-accent);
}

.swagger-ui section.models.is-open h4 {
  color: var(--sealbeat-dark);
}

.swagger-ui .model-title {
  color: var(--sealbeat-dark);
}

/* Custom footer */
.swagger-ui .info:after {
  content: "© 2025 SealBeat, Inc. All rights reserved.";
  display: block;
  margin-top: 20px;
  text-align: center;
  color: var(--sealbeat-text);
  font-size: 14px;
  border-top: 1px solid #eee;
  padding-top: 10px;
}