/* flatten + de-green + de-decorate absolutely everything first; specific rules below only add color back */
.swagger-ui, .swagger-ui *, .swagger-ui *::before, .swagger-ui *::after {
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-decoration-line: none !important;
  background-image: none !important;
  border-color: transparent !important;
  outline: none !important;
  transition: opacity 0.1s ease-in-out !important;
  font-family: 'Inter', system-ui, sans-serif !important;
}
.swagger-ui .tab-item::after, .swagger-ui .tab-item *::after,
.swagger-ui .tab-item::before, .swagger-ui .tab-item *::before {
  background-color: transparent !important;
}

body { background: #f8f9ff; }
.swagger-ui .topbar { display: none; }

/* monospace / UI-chrome font, matching how the rest of the site uses Space Grotesk */
.swagger-ui .info .title,
.swagger-ui .opblock-tag,
.swagger-ui .opblock-summary-path,
.swagger-ui .opblock-summary-method,
.swagger-ui .tablinks,
.swagger-ui .btn,
.swagger-ui select,
.swagger-ui input,
.swagger-ui textarea,
.swagger-ui table thead tr td,
.swagger-ui table thead tr th,
.swagger-ui .parameter__name,
.swagger-ui .prop-name,
.swagger-ui .highlight-code, .swagger-ui .highlight-code * {
  font-family: 'Space Grotesk', ui-monospace, monospace !important;
}

.swagger-ui .info .title { color: #0c335a; }
.swagger-ui .info, .swagger-ui .opblock .opblock-summary-description { color: #40618a; }

/* "Endpoints" section heading -- same small-uppercase-label treatment as "Schemas" below it */
.swagger-ui .opblock-tag {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #555f6f !important;
}

/* no border on the tag heading itself -- unrelated to each endpoint row's own border, which stays */
.swagger-ui .opblock-tag-section, .swagger-ui .opblock-tag { border: none !important; }

/* every endpoint row keeps ONE consistent border, identical whether open or closed -- no extra border-on-open */
.swagger-ui .opblock.opblock-get { border: 1px solid #5c7da8 !important; }
.swagger-ui .opblock.opblock-post { border: 1px solid #555f6f !important; }
/* the expand-arrow control must never show a border, even when it picks up a browser focus-state border-style */
.swagger-ui .opblock-summary-control, .swagger-ui .opblock-summary-control:focus, .swagger-ui .opblock-summary-control:focus-visible {
  border: none !important;
}
/* the outer block itself gets its own translucent green tint on open (separate from the summary row) */
.swagger-ui .opblock, .swagger-ui .opblock.is-open { background: #f8f9ff !important; }

/* version + "OAS 3.1" badges: kill the default green pill */
.swagger-ui .info .title small,
.swagger-ui .info .title small.version-stamp {
  background: #555f6f !important;
}
.swagger-ui .info .title small pre { color: #f6f7ff !important; }

/* method badges */
.swagger-ui .opblock.opblock-get .opblock-summary { background: #eff4ff; }
.swagger-ui .opblock.opblock-get .opblock-summary-method { background: #5c7da8; color: #f6f7ff !important; }

.swagger-ui .opblock.opblock-post .opblock-summary { background: #e6eeff; }
.swagger-ui .opblock.opblock-post .opblock-summary-method { background: #555f6f; color: #f6f7ff !important; }

/* subtle hover -- a faint background tint only, never opacity (that dims the whole block including its text) */
.swagger-ui .opblock-summary:hover { background: #e6eeff !important; }
.swagger-ui .btn:hover, .swagger-ui .tab-item:hover, .swagger-ui a:hover { opacity: 0.7; }

/* tabs ("Parameters", "Example Value" / "Schema") -- flat, no underline/background indicator at all */
.swagger-ui .tab-header, .swagger-ui .tab-item, .swagger-ui .tab-item.active,
.swagger-ui .opblock-title, .swagger-ui .opblock-title span, .swagger-ui .tablinks {
  background: transparent !important;
  border: none !important;
}
.swagger-ui .tab-item.active .tablinks, .swagger-ui .opblock-title { color: #0c335a !important; font-weight: 700; }

/* buttons */
.swagger-ui .btn { font-weight: 700; }
.swagger-ui .btn.execute { background: #555f6f !important; color: #f6f7ff !important; }
.swagger-ui .btn.authorize { color: #5c7da8 !important; border: 1px solid #5c7da8 !important; }
.swagger-ui .btn.try-out__btn, .swagger-ui .btn.cancel { border: 1px solid #5c7da8 !important; color: #5c7da8 !important; }

/* dark-navy treatment for code/example blocks + the editable textarea -- same as the Validate page */
.swagger-ui .highlight-code, .swagger-ui .highlight-code * { color: #d9e3f6 !important; background: #0c335a !important; }
.swagger-ui textarea { background: #0c335a !important; color: #d9e3f6 !important; border: none !important; }
.swagger-ui textarea:focus { outline: 2px solid #5c7da8 !important; outline-offset: -2px; }
.swagger-ui select, .swagger-ui input { border: 1px solid #94b4e2 !important; }

.swagger-ui .responses-inner h4, .swagger-ui .responses-inner h5 { color: #0c335a; }
.swagger-ui .response-control-media-type__accept-message { color: #40618a !important; }

/* section headers ("Parameters", "Responses") -- mirror the site's h2 label convention exactly */
.swagger-ui .opblock-title, .swagger-ui .opblock-section-header h4 {
  font-family: 'Space Grotesk', monospace !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #555f6f !important;
}
.swagger-ui .opblock-section-header { background: transparent !important; }

/* table headers ("Code", "Description", "Links") -- same label convention, one consistent size for all three */
.swagger-ui table thead tr td, .swagger-ui table thead tr th {
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #555f6f !important;
}
/* the header row gets one clean full-width rule instead of a per-cell underline that merges into the text below */
.swagger-ui table.responses-table thead tr { border-bottom: 1px solid #d3e4ff !important; }
.swagger-ui table.responses-table td.response-col_status { border-bottom: none !important; }

/* every white panel goes transparent so it blends with the block's own background instead of standing out */
.swagger-ui .parameters-container, .swagger-ui .responses-wrapper, .swagger-ui .opblock-description-wrapper,
.swagger-ui .table-container, .swagger-ui .parameters-col_description {
  background: transparent !important;
}

/* Schemas section -- same treatment as everything above it: our palette, our fonts, no stray borders */
.swagger-ui section.models { border: none !important; }
.swagger-ui section.models h4 {
  font-family: 'Space Grotesk', monospace !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #555f6f !important;
}
.swagger-ui .json-schema-2020-12 { background: #eff4ff !important; margin-bottom: 2px !important; }
.swagger-ui .json-schema-2020-12-accordion, .swagger-ui .json-schema-2020-12-expand-deep-button {
  background: #eff4ff !important;
}
.swagger-ui .json-schema-2020-12__title {
  font-family: 'Space Grotesk', ui-monospace, monospace !important;
  color: #0c335a !important;
}
.swagger-ui .json-schema-2020-12__attribute {
  font-family: 'Space Grotesk', ui-monospace, monospace !important;
  color: #5c7da8 !important;
}
