/* NZ Rates – Swagger UI theme (load after default swagger-ui.css) */
:root {
  --nzr-bg: #0b1020;
  --nzr-card: rgba(255, 255, 255, 0.06);
  --nzr-text: rgba(255, 255, 255, 0.92);
  --nzr-muted: rgba(255, 255, 255, 0.65);
  --nzr-border: rgba(255, 255, 255, 0.12);
  --nzr-accent: #7c3aed;
  --nzr-accent-light: rgba(196, 181, 253, 1);
}

html body {
  background: var(--nzr-bg) !important;
  color: var(--nzr-text) !important;
}

/* Remove any default grey/light boxes – force dark theme everywhere */
.swagger-ui .wrapper,
.swagger-ui .information-container,
.swagger-ui .info,
.swagger-ui section,
.swagger-ui .scheme-container {
  background: transparent !important;
  border-color: var(--nzr-border) !important;
}
.swagger-ui .information-container {
  padding: 0 0 24px 0 !important;
}

/* Top bar – match site header feel (no grey) */
.swagger-ui .topbar {
  background: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #1e3a5f 100%) !important;
  border-bottom: 1px solid var(--nzr-border) !important;
}
.swagger-ui .topbar .download-url-wrapper input[type=text] {
  border: 1px solid var(--nzr-border) !important;
  background: var(--nzr-card) !important;
  color: var(--nzr-text) !important;
}
.swagger-ui .topbar .download-url-wrapper .select-label {
  color: var(--nzr-muted) !important;
}
.swagger-ui .topbar a.link {
  color: var(--nzr-accent-light) !important;
}

/* Main content / info area */
.swagger-ui .info {
  margin: 24px 0;
}
.swagger-ui .info .title {
  color: var(--nzr-text) !important;
  font-size: 2rem !important;
}
/* Hide version (0.1.0) and OAS 3.1 badges */
.swagger-ui .info .link,
.swagger-ui .info [class*="version"],
.swagger-ui .info small {
  display: none !important;
}
.swagger-ui .info p,
.swagger-ui .info .description,
.swagger-ui .info table td {
  color: var(--nzr-muted) !important;
}
.swagger-ui section.models {
  border: 1px solid var(--nzr-border) !important;
  border-radius: 8px;
  background: var(--nzr-card) !important;
}
.swagger-ui section.models .model-container {
  background: var(--nzr-card) !important;
  color: var(--nzr-text) !important;
}

/* Operation blocks – GET uses purple to match site accent */
.swagger-ui .opblock {
  border-color: var(--nzr-border) !important;
  background: var(--nzr-card) !important;
}
.swagger-ui .opblock.opblock-get {
  border-left: 4px solid var(--nzr-accent) !important;
}
.swagger-ui .opblock.opblock-get .opblock-summary-method {
  background: var(--nzr-accent) !important;
}
.swagger-ui .opblock.opblock-post .opblock-summary-method {
  background: #22c55e !important;
}
.swagger-ui .opblock .opblock-summary {
  border-color: var(--nzr-border) !important;
}
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-description {
  color: var(--nzr-text) !important;
}
.swagger-ui .opblock .opblock-section-header {
  background: rgba(0, 0, 0, 0.2) !important;
  border-color: var(--nzr-border) !important;
}
.swagger-ui .opblock .opblock-section-header label {
  color: var(--nzr-text) !important;
}

/* Buttons – accent */
.swagger-ui .btn.authorize {
  border-color: var(--nzr-accent) !important;
  color: var(--nzr-accent-light) !important;
}
.swagger-ui .btn.authorize svg {
  fill: var(--nzr-accent-light) !important;
}
.swagger-ui .btn.execute {
  background: var(--nzr-accent) !important;
  border-color: var(--nzr-accent) !important;
}
.swagger-ui .btn.execute:hover {
  background: #6d28d9 !important;
  border-color: #6d28d9 !important;
}

/* Tables and inputs */
.swagger-ui table thead tr th,
.swagger-ui table thead tr td {
  color: var(--nzr-muted) !important;
  border-color: var(--nzr-border) !important;
}
.swagger-ui table tbody tr td {
  color: var(--nzr-text) !important;
  border-color: var(--nzr-border) !important;
}
.swagger-ui input[type=text],
.swagger-ui input[type=password],
.swagger-ui textarea {
  background: var(--nzr-card) !important;
  border: 1px solid var(--nzr-border) !important;
  color: var(--nzr-text) !important;
}
.swagger-ui select {
  background: var(--nzr-card) !important;
  border: 1px solid var(--nzr-border) !important;
  color: var(--nzr-text) !important;
}

/* Response and code blocks */
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5 {
  color: var(--nzr-text) !important;
}
.swagger-ui .highlight-code {
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid var(--nzr-border) !important;
  border-radius: 6px;
}
.swagger-ui .microlight {
  color: var(--nzr-muted) !important;
}

/* Auth lock icon */
.swagger-ui .opblock .opblock-summary-method {
  border-radius: 4px !important;
}

/* Filter container */
.swagger-ui .filter-container {
  border-color: var(--nzr-border) !important;
}
.swagger-ui .filter .operation-filter-input {
  background: var(--nzr-card) !important;
  border: 1px solid var(--nzr-border) !important;
  color: var(--nzr-text) !important;
}

/* Modal (e.g. auth) */
.swagger-ui .dialog-ux .modal-ux {
  background: var(--nzr-bg) !important;
  border: 1px solid var(--nzr-border) !important;
}
.swagger-ui .dialog-ux .modal-ux-header {
  border-color: var(--nzr-border) !important;
}
.swagger-ui .dialog-ux .modal-ux-content {
  color: var(--nzr-text) !important;
}

/* Scheme container (Servers) – no grey box */
.swagger-ui .scheme-container {
  background: var(--nzr-card) !important;
  border: 1px solid var(--nzr-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  padding: 12px 16px !important;
}
.swagger-ui .scheme-container label {
  color: var(--nzr-muted) !important;
}

/* Tag/section headers (e.g. "rates") – dark, not grey */
.swagger-ui .opblock-tag {
  border-color: var(--nzr-border) !important;
}
.swagger-ui .opblock-tag-section {
  border-color: var(--nzr-border) !important;
}
.swagger-ui .opblock-tag-section h3 {
  color: var(--nzr-text) !important;
  border-color: var(--nzr-border) !important;
}

/* Try it out / request body panels */
.swagger-ui .opblock-body,
.swagger-ui .opblock-section {
  background: rgba(0, 0, 0, 0.15) !important;
  border-color: var(--nzr-border) !important;
}

/* Wrappers that should not be grey (keep scheme-container as card) */
.swagger-ui .wrapper {
  background-color: transparent !important;
}
.swagger-ui .loading-container {
  background: var(--nzr-bg) !important;
  color: var(--nzr-muted) !important;
}
