/* First-party Batch theme for the public API reference. Loaded after the
 * vendored swagger-ui.css and overrides only presentation. Colors, type and
 * radius follow Batch Portal (src/index.css). */

@font-face {
  font-family: "Archivo";
  src: url("/api/public/v1/static/Archivo-Variable.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --b-bg: #171714;
  --b-surface: #1e1e1b;
  --b-elevated: #242422;
  --b-border: #2a2a27;
  --b-border-light: #3a3a32;
  --b-text: #d5d6ce;
  --b-muted: #9a9b93;
  --b-dim: #6a6a62;
  --b-green: #5cbb6a;
  --b-red: #d94f4f;
  --b-amber: #d4a23c;
  --b-blue: #3b82f6;
  --b-purple: #9b7ed6;
  --b-font: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --b-mono: ui-monospace, "SF Mono", Menlo, monospace;
}

html, body { background: var(--b-bg); }
body { margin: 0; color: var(--b-text); font-family: var(--b-font); }

/* Header */
.batch-header {
  display: flex; align-items: center; gap: 16px;
  max-width: 1460px; margin: 0 auto; padding: 28px 20px 8px;
  border-bottom: 1px solid var(--b-border);
}
.batch-header img { height: 26px; width: auto; display: block; }
.batch-header span {
  color: var(--b-muted); font-size: 13px; letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Base type and color */
.swagger-ui, .swagger-ui .info, .swagger-ui .opblock-tag,
.swagger-ui .opblock .opblock-summary-description, .swagger-ui table thead tr td,
.swagger-ui table thead tr th, .swagger-ui .parameter__name, .swagger-ui .parameter__type,
.swagger-ui .response-col_status, .swagger-ui .response-col_links, .swagger-ui .tab li,
.swagger-ui .opblock-description-wrapper p, .swagger-ui .opblock-external-docs-wrapper p,
.swagger-ui .opblock-title_normal p, .swagger-ui label, .swagger-ui .model-title,
.swagger-ui .model, .swagger-ui section.models h4, .swagger-ui .btn,
.swagger-ui .scheme-container, .swagger-ui .info li, .swagger-ui .info p,
.swagger-ui .info table, .swagger-ui .markdown p, .swagger-ui .markdown li,
.swagger-ui .renderedMarkdown p, .swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5, .swagger-ui .opblock .opblock-section-header h4,
.swagger-ui .dialog-ux .modal-ux-header h3, .swagger-ui .dialog-ux .modal-ux-content p,
.swagger-ui .dialog-ux .modal-ux-content h4 {
  color: var(--b-text);
  font-family: var(--b-font);
}
.swagger-ui .wrapper { max-width: 1460px; }
.swagger-ui a, .swagger-ui .info a { color: var(--b-text); text-decoration: underline; }
.swagger-ui a:hover { color: #ffffff; }

/* Title block: no version or spec badges */
.swagger-ui .info { margin: 36px 0 24px; }
.swagger-ui .info .title {
  color: var(--b-text); font-family: var(--b-font); font-weight: 800;
  letter-spacing: -0.02em; font-size: 40px;
}
.swagger-ui .info .title small,
.swagger-ui .info .title small.version-stamp,
.swagger-ui .info .link,
.swagger-ui .info hgroup.main a { display: none; }

/* Inline code */
.swagger-ui code, .swagger-ui .markdown code, .swagger-ui .renderedMarkdown code {
  background: var(--b-elevated); color: var(--b-text); font-family: var(--b-mono);
  border-radius: 2px; padding: 1px 5px; font-weight: 500;
}
.swagger-ui .microlight, .swagger-ui .highlight-code > .microlight,
.swagger-ui pre, .swagger-ui textarea {
  background: #0a0a09 !important; color: var(--b-text) !important;
  font-family: var(--b-mono); border: 1px solid var(--b-border); border-radius: 4px;
}

/* Auth bar */
.swagger-ui .scheme-container {
  background: var(--b-surface); box-shadow: none;
  border: 1px solid var(--b-border); border-radius: 4px;
}
.swagger-ui .btn {
  background: transparent; border: 1px solid var(--b-border-light);
  border-radius: 4px; box-shadow: none; color: var(--b-text);
}
.swagger-ui .btn:hover { border-color: var(--b-text); }
.swagger-ui .btn.authorize { color: var(--b-text); border-color: var(--b-text); }
.swagger-ui .btn.authorize svg, .swagger-ui .authorization__btn svg,
.swagger-ui .opblock-summary-control svg, .swagger-ui .expand-operation svg,
.swagger-ui .models-control svg, .swagger-ui .model-toggle::after { fill: var(--b-muted); }
.swagger-ui .btn.execute { background: var(--b-text); color: var(--b-bg); border-color: var(--b-text); }

/* Section (tag) headers */
.swagger-ui .opblock-tag {
  border-bottom: 1px solid var(--b-border); font-weight: 700; letter-spacing: -0.01em;
}
.swagger-ui .opblock-tag small { color: var(--b-muted); font-family: var(--b-font); }
.swagger-ui .opblock-tag:hover { background: var(--b-surface); }

/* Operation blocks: one dark surface, method shown by a colored badge */
.swagger-ui .opblock,
.swagger-ui .opblock.opblock-get, .swagger-ui .opblock.opblock-post,
.swagger-ui .opblock.opblock-put, .swagger-ui .opblock.opblock-delete,
.swagger-ui .opblock.opblock-patch {
  background: var(--b-surface); border: 1px solid var(--b-border);
  border-radius: 4px; box-shadow: none;
}
.swagger-ui .opblock .opblock-summary { border-bottom-color: var(--b-border); }
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-path__deprecated {
  color: var(--b-text); font-family: var(--b-mono);
}
.swagger-ui .opblock .opblock-summary-method {
  border-radius: 2px; font-family: var(--b-mono); font-weight: 600; text-shadow: none;
  min-width: 72px;
}
.swagger-ui .opblock.opblock-get .opblock-summary-method { background: var(--b-blue); }
.swagger-ui .opblock.opblock-post .opblock-summary-method { background: var(--b-green); color: #0e1a10; }
.swagger-ui .opblock.opblock-put .opblock-summary-method,
.swagger-ui .opblock.opblock-patch .opblock-summary-method { background: var(--b-amber); color: #1c1608; }
.swagger-ui .opblock.opblock-delete .opblock-summary-method { background: var(--b-red); }
.swagger-ui .opblock .opblock-section-header {
  background: var(--b-elevated); box-shadow: none; border-bottom: 1px solid var(--b-border);
}
.swagger-ui .opblock-body, .swagger-ui .opblock-description-wrapper { background: transparent; }

/* Tables, parameters, responses */
.swagger-ui table thead tr td, .swagger-ui table thead tr th { border-bottom: 1px solid var(--b-border); }
.swagger-ui .parameter__in, .swagger-ui .parameter__extension,
.swagger-ui .prop-format, .swagger-ui .response-col_description__inner .markdown p { color: var(--b-muted); }
.swagger-ui .parameter__name.required::after, .swagger-ui .parameter__name.required span { color: var(--b-red); }
.swagger-ui .responses-table .response-col_status { font-family: var(--b-mono); }
.swagger-ui input[type=text], .swagger-ui input[type=password], .swagger-ui input[type=search],
.swagger-ui input[type=email], .swagger-ui input[type=file], .swagger-ui select {
  background: var(--b-bg); color: var(--b-text); border: 1px solid var(--b-border-light);
  border-radius: 4px; box-shadow: none;
}
.swagger-ui .response-control-media-type__accept-message { color: var(--b-green); }
.swagger-ui .tab li:first-of-type::after { background: var(--b-border-light); }

/* Schemas */
.swagger-ui section.models { border: 1px solid var(--b-border); border-radius: 4px; }
.swagger-ui section.models.is-open h4 { border-bottom: 1px solid var(--b-border); }
.swagger-ui section.models .model-container {
  background: var(--b-surface); border-radius: 4px;
}
.swagger-ui section.models .model-container:hover { background: var(--b-elevated); }
.swagger-ui .model, .swagger-ui .model-title, .swagger-ui .prop-type { color: var(--b-text); }
.swagger-ui .prop-type { color: var(--b-purple); }
.swagger-ui .model .property.primitive { color: var(--b-muted); }
.swagger-ui .model-box, .swagger-ui .model-box-control:focus { background: transparent; }

/* Authorize dialog */
.swagger-ui .dialog-ux .backdrop-ux { background: rgba(0, 0, 0, 0.7); }
.swagger-ui .dialog-ux .modal-ux {
  background: var(--b-surface); border: 1px solid var(--b-border); border-radius: 4px;
  box-shadow: none;
}
.swagger-ui .dialog-ux .modal-ux-header { border-bottom: 1px solid var(--b-border); }
.swagger-ui .dialog-ux .modal-ux-header .close-modal svg { fill: var(--b-muted); }

/* Footer link to the guide */
.batch-footer {
  max-width: 1460px; margin: 24px auto 48px; padding: 16px 20px 0;
  border-top: 1px solid var(--b-border); color: var(--b-dim); font-size: 13px;
}

/* Example JSON: no light highlight boxes behind tokens */
.swagger-ui .microlight span, .swagger-ui .highlight-code span { background: transparent !important; }
