/* SatRank dark theme for Swagger UI — matches site palette */

/* Page background */
html, body {
  background: #0a0a0f;
  color: #e0e0e8;
}

/* Top bar */
.swagger-ui .topbar {
  background: #12121e;
  border-bottom: 1px solid #1a1a2e;
  padding: 12px 0;
}
.swagger-ui .topbar .download-url-wrapper .select-label span {
  color: #8888a0;
}
.swagger-ui .topbar .download-url-wrapper input[type=text] {
  background: #0d0d18;
  border: 1px solid #1e1e30;
  color: #e0e0e8;
}

/* Main wrapper */
.swagger-ui .wrapper {
  background: #0a0a0f;
}
.swagger-ui {
  color: #e0e0e8;
}

/* Info section */
.swagger-ui .info .title,
.swagger-ui .info h1,
.swagger-ui .info h2,
.swagger-ui .info h3 {
  color: #e0e0e8;
}
.swagger-ui .info .title small.version-stamp {
  background: #f7931a;
}
.swagger-ui .info .base-url {
  color: #8888a0;
}
.swagger-ui .info p,
.swagger-ui .info li,
.swagger-ui .info table td,
.swagger-ui .info table th {
  color: #c0c0d8;
}
.swagger-ui .info a {
  color: #f7931a;
}

/* Section headers (tags) */
.swagger-ui .opblock-tag {
  color: #e0e0e8;
  border-bottom: 1px solid #1a1a2e;
}
.swagger-ui .opblock-tag:hover {
  background: #12121e;
}
.swagger-ui .opblock-tag small {
  color: #8888a0;
}

/* Operation blocks */
.swagger-ui .opblock {
  background: #12121e;
  border-color: #1e1e30;
  box-shadow: none;
}
.swagger-ui .opblock .opblock-summary {
  border-bottom: 1px solid #1a1a2e;
}
.swagger-ui .opblock .opblock-summary-description {
  color: #8888a0;
}
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-path a {
  color: #e0e0e8;
}
.swagger-ui .opblock .opblock-section-header {
  background: #0d0d18;
  box-shadow: none;
}
.swagger-ui .opblock .opblock-section-header h4 {
  color: #c0c0d8;
}

/* GET (green) */
.swagger-ui .opblock.opblock-get {
  background: rgba(0, 200, 83, 0.05);
  border-color: #00c85340;
}
.swagger-ui .opblock.opblock-get .opblock-summary-method {
  background: #00c853;
}
.swagger-ui .opblock.opblock-get .opblock-summary {
  border-color: #00c85340;
}

/* POST (orange) */
.swagger-ui .opblock.opblock-post {
  background: rgba(247, 147, 26, 0.05);
  border-color: #f7931a40;
}
.swagger-ui .opblock.opblock-post .opblock-summary-method {
  background: #f7931a;
}
.swagger-ui .opblock.opblock-post .opblock-summary {
  border-color: #f7931a40;
}

/* Models / schemas */
.swagger-ui .model-box,
.swagger-ui section.models {
  background: #12121e;
  border-color: #1e1e30;
}
.swagger-ui section.models h4 {
  color: #c0c0d8;
}
.swagger-ui .model {
  color: #c0c0d8;
}
.swagger-ui .model-title {
  color: #e0e0e8;
}
.swagger-ui .model .property,
.swagger-ui .model .property.primitive {
  color: #8888a0;
}

/* Tables (parameters, responses) */
.swagger-ui table thead tr th,
.swagger-ui table thead tr td {
  color: #8888a0;
  border-bottom: 1px solid #1a1a2e;
}
.swagger-ui table tbody tr td {
  color: #c0c0d8;
  border-bottom: 1px solid #1a1a2e;
}
.swagger-ui .parameters-col_description p,
.swagger-ui .parameter__name,
.swagger-ui .parameter__type {
  color: #c0c0d8;
}
.swagger-ui .parameter__name.required::after {
  color: #ff5252;
}

/* Response codes */
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5,
.swagger-ui .response-col_status {
  color: #c0c0d8;
}
.swagger-ui .response-col_description p {
  color: #8888a0;
}

/* Code blocks */
.swagger-ui .highlight-code,
.swagger-ui .microlight {
  background: #0d0d18;
  color: #c0c0d8;
  border-radius: 6px;
}
.swagger-ui .copy-to-clipboard {
  background: #1a1a2e;
}

/* Try it out button */
.swagger-ui .btn.try-out__btn {
  border-color: #f7931a;
  color: #f7931a;
}
.swagger-ui .btn.try-out__btn:hover {
  background: #f7931a20;
}

/* Execute button */
.swagger-ui .btn.execute {
  background: #f7931a;
  border-color: #f7931a;
  color: #0a0a0f;
}

/* Cancel button */
.swagger-ui .btn.cancel {
  border-color: #ff5252;
  color: #ff5252;
}

/* Input fields */
.swagger-ui input[type=text],
.swagger-ui textarea,
.swagger-ui select {
  background: #0d0d18;
  border: 1px solid #1e1e30;
  color: #e0e0e8;
}

/* Scrollbar styling for code blocks */
.swagger-ui pre::-webkit-scrollbar {
  height: 6px;
}
.swagger-ui pre::-webkit-scrollbar-track {
  background: #0d0d18;
}
.swagger-ui pre::-webkit-scrollbar-thumb {
  background: #333350;
  border-radius: 3px;
}

/* Links */
.swagger-ui a {
  color: #f7931a;
}

/* Labels and misc text */
.swagger-ui .renderedMarkdown p,
.swagger-ui label {
  color: #c0c0d8;
}

/* Authorize button */
.swagger-ui .btn.authorize {
  border-color: #00c853;
  color: #00c853;
}
.swagger-ui .btn.authorize svg {
  fill: #00c853;
}

/* Loading */
.swagger-ui .loading-container .loading::after {
  color: #8888a0;
}

/* Filter */
.swagger-ui .filter .operation-filter-input {
  background: #0d0d18;
  border: 1px solid #1e1e30;
  color: #e0e0e8;
}

/* Remove default white backgrounds */
.swagger-ui .scheme-container {
  background: #0a0a0f;
  box-shadow: none;
  border-bottom: 1px solid #1a1a2e;
}

/* ===== Authorize modal dialog ===== */
.swagger-ui .dialog-ux .backdrop-ux {
  background: rgba(0, 0, 0, 0.7);
}
.swagger-ui .dialog-ux .modal-ux {
  background: #12121e;
  border: 1px solid #1e1e30;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}
.swagger-ui .dialog-ux .modal-ux-header {
  border-bottom: 1px solid #1a1a2e;
}
.swagger-ui .dialog-ux .modal-ux-header h3 {
  color: #e0e0e8;
}
.swagger-ui .dialog-ux .modal-ux-header .close-modal {
  filter: invert(0.8);
}
.swagger-ui .dialog-ux .modal-ux-content {
  background: #12121e;
  color: #c0c0d8;
}
.swagger-ui .dialog-ux .modal-ux-content p,
.swagger-ui .dialog-ux .modal-ux-content label,
.swagger-ui .dialog-ux .modal-ux-content h4 {
  color: #c0c0d8;
}
.swagger-ui .dialog-ux .modal-ux-content code {
  background: #0d0d18;
  color: #f7931a;
}
.swagger-ui .auth-container {
  border-bottom: 1px solid #1a1a2e;
}
.swagger-ui .auth-container input[type=text],
.swagger-ui .auth-container input[type=password] {
  background: #0d0d18;
  border: 1px solid #1e1e30;
  color: #e0e0e8;
}
.swagger-ui .auth-container .wrapper {
  background: transparent;
}
.swagger-ui .auth-container .errors {
  color: #ff5252;
}
.swagger-ui .dialog-ux .modal-ux .btn.modal-btn {
  background: #1a1a2e;
  border: 1px solid #333350;
  color: #e0e0e8;
}
.swagger-ui .dialog-ux .modal-ux .btn.modal-btn.auth {
  background: #00c853;
  border-color: #00c853;
  color: #0a0a0f;
}
.swagger-ui .dialog-ux .modal-ux .btn.modal-btn:hover {
  background: #222240;
}
.swagger-ui .scopes h2 {
  color: #c0c0d8;
}
.swagger-ui .auth-btn-wrapper {
  display: flex;
  gap: 8px;
}

/* ===== Schema / Models section ===== */
.swagger-ui section.models {
  border: 1px solid #1e1e30;
  border-radius: 6px;
}
.swagger-ui section.models h4 {
  border-bottom: 1px solid #1a1a2e;
}
.swagger-ui section.models h4 span {
  color: #c0c0d8;
}
.swagger-ui section.models h4 svg {
  fill: #8888a0;
}
.swagger-ui section.models h5 {
  color: #c0c0d8;
}
.swagger-ui section.models .model-container {
  background: #0d0d18;
  border: 1px solid #1a1a2e;
  border-radius: 4px;
  margin: 0 12px 12px;
}

/* "Expand all" button next to schema names */
.swagger-ui .model-box-control,
.swagger-ui .models-control {
  background: #1a1a2e;
  border: 1px solid #333350;
  border-radius: 4px;
  color: #c0c0d8;
  padding: 2px 8px;
  cursor: pointer;
  font-size: 0.8rem;
}
.swagger-ui .model-box-control:hover,
.swagger-ui .models-control:hover {
  background: #222240;
  color: #e0e0e8;
}

/* Schema name labels (bordered boxes like "PaginationMeta >") */
.swagger-ui .model-title {
  color: #e0e0e8;
  font-weight: 600;
  border-color: #333350;
}

/* Model box and display */
.swagger-ui .model-box {
  background: transparent;
}
.swagger-ui .model {
  color: #c0c0d8;
  font-size: 0.9rem;
}
.swagger-ui .model-title__text {
  color: #e0e0e8;
}
.swagger-ui .model-toggle::after {
  color: #8888a0;
}
.swagger-ui .model-hint {
  color: #6666a0;
  background: #1a1a2e;
  border: 1px solid #333350;
}

/* Model properties — key readability fix */
.swagger-ui .model .property,
.swagger-ui .model .property.primitive {
  color: #c0c0d8;
}
.swagger-ui .model .prop-type {
  color: #aa88ff;
}
.swagger-ui .model .prop-format {
  color: #6666a0;
}
.swagger-ui .model span.prop-enum {
  color: #f7931a;
}
.swagger-ui table.model tr.property-row td {
  color: #c0c0d8;
  border-bottom: 1px solid #1a1a2e;
}
.swagger-ui table.model tr.property-row td:first-child {
  color: #e0e0e8;
}
.swagger-ui table.model tr.property-row .star {
  color: #ff5252;
}
.swagger-ui .model .deprecated {
  color: #ff5252;
  text-decoration: line-through;
}

/* Expand/collapse arrows in schemas */
.swagger-ui .model-toggle {
  cursor: pointer;
}
.swagger-ui .model-box .model-jump-to-path {
  color: #6666a0;
}
.swagger-ui .model-box .model-jump-to-path:hover {
  color: #f7931a;
}

/* Schema description and example values */
.swagger-ui .model p,
.swagger-ui .model .description {
  color: #8888a0;
}
.swagger-ui .model-example {
  background: #0d0d18;
  border: 1px solid #1a1a2e;
  border-radius: 4px;
}

/* Brace/bracket colors in schema view */
.swagger-ui .brace-open,
.swagger-ui .brace-close,
.swagger-ui .model .brace-open,
.swagger-ui .model .brace-close {
  color: #6666a0;
}

/* Inner object toggle text */
.swagger-ui .model .inner-object .model-toggle {
  color: #c0c0d8;
}

/* Response schema body */
.swagger-ui .responses-inner {
  background: transparent;
}
.swagger-ui .response-col_links {
  color: #8888a0;
}
.swagger-ui .response-col_description__inner p {
  color: #8888a0;
}
.swagger-ui .response-col_description__inner span {
  color: #c0c0d8;
}

/* Tab headers (Example Value / Schema toggle) */
.swagger-ui .tab li {
  color: #8888a0;
}
.swagger-ui .tab li.active {
  color: #e0e0e8;
}
.swagger-ui .tab li:hover {
  color: #e0e0e8;
}
.swagger-ui .tablinks {
  color: #8888a0;
  background: transparent;
}
.swagger-ui .tablinks.active {
  color: #e0e0e8;
  border-bottom: 2px solid #f7931a;
}

/* Opblock body (expanded operation details) */
.swagger-ui .opblock-body {
  background: transparent;
}
.swagger-ui .opblock-body pre {
  background: #0d0d18;
  color: #c0c0d8;
  border: 1px solid #1a1a2e;
  border-radius: 4px;
}

/* JSON key-value colors in example bodies */
.swagger-ui .json-schema-2020-12 .json-schema-2020-12-keyword {
  color: #aa88ff;
}
.swagger-ui .json-schema-2020-12 .json-schema-2020-12-property {
  color: #e0e0e8;
}

/* Select dropdowns (response code, media type) */
.swagger-ui .responses-wrapper .col_header {
  color: #8888a0;
}
.swagger-ui select {
  background: #0d0d18;
  border: 1px solid #1e1e30;
  color: #e0e0e8;
}

/* No margin bleed on wrapper */
.swagger-ui .wrapper {
  padding: 0;
}

/* Arrow/chevron SVGs */
.swagger-ui svg.arrow {
  fill: #8888a0;
}
.swagger-ui button {
  color: #c0c0d8;
}
.swagger-ui .expand-operation svg {
  fill: #8888a0;
}

/* ===== Type badges (string, integer, uuid, array, etc.) ===== */
.swagger-ui .prop-type,
.swagger-ui .parameter__type,
.swagger-ui span.model-title__text,
.swagger-ui .json-schema-2020-12-keyword--type {
  color: #aa88ff;
}
.swagger-ui .prop-format,
.swagger-ui .parameter__extension,
.swagger-ui .json-schema-2020-12-keyword--format {
  color: #8888c0;
}

/* ===== Descriptions that remain too dark ===== */
.swagger-ui .markdown p,
.swagger-ui .markdown li,
.swagger-ui .renderedMarkdown p,
.swagger-ui .renderedMarkdown li,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-external-docs-wrapper p {
  color: #c0c0d8;
}
.swagger-ui .opblock-summary-description {
  color: #a0a0b8;
}

/* ===== Expand/collapse buttons and toggles ===== */
.swagger-ui .expand-methods svg,
.swagger-ui .expand-operation svg,
.swagger-ui .model-toggle::after,
.swagger-ui .opblock-tag svg {
  fill: #a0a0b8;
}
.swagger-ui .opblock-tag:hover svg,
.swagger-ui .expand-operation:hover svg {
  fill: #e0e0e8;
}
.swagger-ui .model-toggle {
  color: #c0c0d8;
}
.swagger-ui .model-toggle:hover {
  color: #e0e0e8;
}

/* ===== Parameter names and required markers ===== */
.swagger-ui .parameter__name {
  color: #e0e0e8;
}
.swagger-ui .parameter__name.required {
  color: #e0e0e8;
  font-weight: 700;
}
.swagger-ui .parameter__name.required::after {
  color: #ff5252;
}
.swagger-ui .parameter__in {
  color: #6666a0;
}

/* ===== Response status codes ===== */
.swagger-ui .response-col_status {
  color: #e0e0e8;
  font-weight: 600;
}
.swagger-ui .response-col_description {
  color: #c0c0d8;
}

/* ===== Schema enum values ===== */
.swagger-ui .prop-enum {
  color: #f7931a;
}
.swagger-ui .model .prop-enum .prop-enum-value {
  background: #1a1a2e;
  border: 1px solid #333350;
  color: #f7931a;
}

/* ===== Example values in schemas ===== */
.swagger-ui .example-value,
.swagger-ui .model-example pre {
  background: #0d0d18;
  color: #c0c0d8;
}

/* ===== Try it out response body ===== */
.swagger-ui .live-responses-table .response-col_description pre {
  background: #0d0d18;
  color: #e0e0e8;
}
.swagger-ui .responses-header td {
  color: #a0a0b8;
}

/* ===== oneOf/allOf/anyOf selectors ===== */
.swagger-ui .json-schema-2020-12-keyword--oneOf,
.swagger-ui .json-schema-2020-12-keyword--allOf {
  color: #8888c0;
}

/* ===== Ensure all remaining text is legible ===== */
.swagger-ui span,
.swagger-ui div,
.swagger-ui td,
.swagger-ui th,
.swagger-ui li,
.swagger-ui p {
  color: inherit;
}

/* ===== Kill ALL grey backgrounds from Swagger defaults ===== */
/* These override Swagger's inline and class-based grey backgrounds */
.swagger-ui .model-box-control,
.swagger-ui .models-control,
.swagger-ui .expand-methods,
.swagger-ui .expand-operation,
.swagger-ui .opblock-control-arrow,
.swagger-ui .model-toggle,
.swagger-ui .model-hint,
.swagger-ui .btn--default {
  background: transparent !important;
  border: none;
  color: #c0c0d8;
}
.swagger-ui .model-box-control:hover,
.swagger-ui .models-control:hover,
.swagger-ui .expand-methods:hover,
.swagger-ui .expand-operation:hover,
.swagger-ui .btn--default:hover {
  color: #e0e0e8;
}

/* Schema name badges (PaginationMeta, ErrorResponse, etc.) */
.swagger-ui .model-title,
.swagger-ui .model-title__text,
.swagger-ui span[class*="model-title"] {
  background: transparent !important;
  border: 1px solid #333350;
  border-radius: 4px;
  padding: 1px 6px;
  color: #e0e0e8;
  font-weight: 600;
}

/* Schema containers in models section */
.swagger-ui section.models .model-container {
  background: #0d0d18;
}
.swagger-ui section.models .model-container:hover {
  background: #10101c;
}

/* Global nuke: any remaining inline grey backgrounds */
.swagger-ui [style*="background-color"],
.swagger-ui .model-box,
.swagger-ui .model-container .model-box {
  background-color: transparent !important;
}
/* Restore only code blocks */
.swagger-ui pre,
.swagger-ui .highlight-code,
.swagger-ui .microlight,
.swagger-ui .example-value pre {
  background: #0d0d18 !important;
}
/* Restore operation blocks */
.swagger-ui .opblock {
  background: #12121e !important;
}
.swagger-ui .opblock.opblock-get {
  background: rgba(0, 200, 83, 0.05) !important;
}
.swagger-ui .opblock.opblock-post {
  background: rgba(247, 147, 26, 0.05) !important;
}
/* Restore section headers */
.swagger-ui .opblock .opblock-section-header {
  background: #0d0d18 !important;
}
/* Restore models section */
.swagger-ui section.models {
  background: #12121e !important;
}
/* Restore input fields */
.swagger-ui input[type=text],
.swagger-ui textarea,
.swagger-ui select {
  background: #0d0d18 !important;
}
/* Restore modal */
.swagger-ui .dialog-ux .modal-ux,
.swagger-ui .dialog-ux .modal-ux-content {
  background: #12121e !important;
}

/* ===== AGGRESSIVE RESET — zero grey backgrounds ===== */
.swagger-ui .model-toggle,
.swagger-ui .model-box,
.swagger-ui .model-box-control,
.swagger-ui .model-container,
.swagger-ui .models-control,
.swagger-ui .expand-methods,
.swagger-ui .expand-operation,
.swagger-ui button.model-box-control,
.swagger-ui span.model-box-control,
.swagger-ui .model-toggle::after,
.swagger-ui .opblock-tag,
.swagger-ui .opblock-summary-control,
.swagger-ui [class*="model"],
.swagger-ui [class*="expand"],
.swagger-ui [class*="collapse"] {
  background: transparent !important;
  background-color: transparent !important;
}
/* Buttons: only execute/authorize/try-out keep their styled backgrounds */
.swagger-ui .btn {
  background: transparent !important;
  background-color: transparent !important;
}
.swagger-ui .btn.execute {
  background: #f7931a !important;
}
.swagger-ui .btn.authorize,
.swagger-ui .btn.modal-btn.auth {
  background: #00c853 !important;
}
.swagger-ui .btn.cancel {
  background: transparent !important;
}
.swagger-ui .btn.try-out__btn {
  background: transparent !important;
}
.swagger-ui .btn.modal-btn {
  background: #1a1a2e !important;
}
/* Restore copy-to-clipboard button */
.swagger-ui .copy-to-clipboard {
  background: #1a1a2e !important;
}
