.api-docs { margin: 0; line-height: 1.6; }
.api-docs * { box-sizing: border-box; }
.api-docs a { color: var(--ap-brand-accent); }
.api-docs svg { width: 18px; height: 18px; flex: none; }
.api-docs :is(a, button, input, select):focus-visible { outline: 2px solid var(--ap-brand-accent); outline-offset: 3px; }
.api-docs [hidden] { display: none !important; }
.docs-toolbar nav a { min-height: 40px; display: flex; align-items: center; }
.docs-toolbar nav a[aria-current=page] { color: var(--ap-brand-ink); border-bottom: 2px solid var(--ap-brand-highlight); }
.docs-gateway { color: var(--ap-brand-ink) !important; }
.docs-readonly { display: flex; align-items: center; gap: 8px; color: var(--ap-brand-muted); }
.docs-shell { max-width: 1320px; padding: 0 32px; margin: 0 auto; }
.docs-heading { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 40px 0 32px; border-bottom: 1px solid var(--ap-brand-line); background-image: var(--ap-brand-pattern), var(--ap-brand-section-gradient); background-size: 180px 104px, 100% 100%; background-repeat: repeat, no-repeat; }
.docs-heading > div:first-child { max-width: 650px; }
.docs-eyebrow { color: var(--ap-brand-highlight); font-size: 14px; font-weight: 600; }
.docs-heading h1 { font-size: 40px; margin: 8px 0 12px; }
.docs-heading p { color: var(--ap-brand-body); font-size: 17px; margin: 0; }
.docs-metadata { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 16px; font-size: 13px; color: var(--ap-brand-muted); }
.docs-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; justify-content: flex-end; max-width: 400px; }
.docs-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--ap-brand-line); border-radius: 4px; text-decoration: none; font: 600 14px/1.4 Geist, Arial, sans-serif; background: var(--ap-brand-surface); color: var(--ap-brand-ink) !important; cursor: pointer; }
.docs-button:hover { border-color: var(--ap-brand-accent); }
.docs-button.docs-primary { background: var(--ap-brand-fill); border-color: var(--ap-brand-fill); color: #fff !important; }
.docs-button.docs-primary:hover { background: #9247a3; }
.docs-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 40px; padding-top: 32px; }
.docs-sidebar { align-self: start; position: sticky; top: 24px; font-size: 14px; }
.docs-sidebar strong { font-size: 12px; color: var(--ap-brand-muted); text-transform: uppercase; }
.docs-sidebar nav { display: grid; gap: 4px; margin-top: 16px; }
.docs-sidebar nav a { padding: 8px 10px; text-decoration: none; border-left: 2px solid var(--ap-brand-line); color: var(--ap-brand-body); }
.docs-sidebar nav a:hover, .docs-sidebar nav a:focus-visible { border-color: var(--ap-brand-highlight); color: var(--ap-brand-accent); }
.docs-spec-link { display: flex; gap: 8px; align-items: center; margin-top: 24px; text-decoration: none; padding: 8px 10px; }
.docs-content { min-width: 0; }
.docs-introduction { padding-bottom: 24px; border-bottom: 1px solid var(--ap-brand-line); }
.docs-introduction h2 { margin: 0 0 16px; font-size: 22px; line-height: 1.3; }
.docs-introduction p { font-size: 15px; color: var(--ap-brand-body); margin: 16px 0 0; }
.docs-endpoint { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.docs-endpoint > span { font-size: 12px; font-weight: 600; color: var(--ap-brand-muted); }
.docs-endpoint code { overflow-wrap: anywhere; font-size: 14px; flex: 1; min-width: 0; }
.docs-copy { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--ap-brand-line); border-radius: 4px; background: var(--ap-brand-surface); color: var(--ap-brand-accent); cursor: pointer; flex: none; }
.docs-copy:disabled { opacity: .5; cursor: wait; }
.docs-callout { display: flex; gap: 10px; align-items: start; }
.docs-callout svg { margin-top: 3px; color: var(--ap-brand-highlight); }
.docs-status { padding: 16px 0; color: var(--ap-brand-body); font-size: 14px; }
.docs-footer { display: flex; gap: 16px 24px; flex-wrap: wrap; border-top: 1px solid var(--ap-brand-line); margin-top: 32px; padding: 24px 0 40px; font-size: 14px; overflow-wrap: anywhere; }

/* Keep Swagger's OpenAPI rendering, with the site's typography and palette. */
.api-docs .swagger-ui { color: var(--ap-brand-ink); font: 14px/1.5 Geist, Arial, sans-serif; }
.api-docs .swagger-ui :is(.information-container, .scheme-container, .auth-wrapper, .authorization__btn) { display: none; }
.api-docs .swagger-ui .wrapper { padding: 0; max-width: none; }
.api-docs .swagger-ui :is(h2, h3, h4, h5, p, label, select, button, table, .opblock-summary-description, .opblock-tag, .model-title, .model, .tab li, .parameter__name, .response-col_status) { font-family: Geist, Arial, sans-serif; color: var(--ap-brand-ink); }
.api-docs .swagger-ui :is(.opblock-description-wrapper p, .renderedMarkdown p, .model, .model-title, .response-col_links, .parameter__type, .parameter__in, .parameter__deprecated, .prop-format) { color: var(--ap-brand-body); }
.api-docs .swagger-ui :is(.opblock, .opblock .opblock-section-header, section.models, .model-container, .model-box, .model-box-control, .btn, input, select, textarea, .highlight-code) { background: var(--ap-brand-surface); border-color: var(--ap-brand-line); box-shadow: none; color: var(--ap-brand-ink); }
.api-docs .swagger-ui input[type=text] { font-family: Geist, Arial, sans-serif; font-size: 14px; }
.api-docs .swagger-ui .filter-container { padding: 24px 0 12px; }
.api-docs .swagger-ui .filter-container .operation-filter-input { width: 100%; max-width: 360px; margin: 0; padding: 12px; border: 1px solid var(--ap-brand-line); border-radius: 4px; }
.api-docs .swagger-ui .opblock-tag { padding: 16px 0; border-color: var(--ap-brand-line); font-size: 21px; gap: 10px; flex-wrap: wrap; }
.api-docs .swagger-ui .opblock-tag small { font-size: 13px; color: var(--ap-brand-muted); padding: 0; }
.api-docs .swagger-ui .opblock-tag a { color: var(--ap-brand-ink); }
.api-docs .swagger-ui .opblock-tag:hover { background: transparent; }
.api-docs .swagger-ui .opblock { border-width: 1px; border-radius: 6px; margin-bottom: 10px; overflow: hidden; }
.api-docs .swagger-ui .opblock-summary { padding: 8px 12px; min-height: 56px; border-color: var(--ap-brand-line); }
.api-docs .swagger-ui .opblock .opblock-summary { border-color: var(--ap-brand-line); }
.api-docs .swagger-ui .opblock-summary-control { min-width: 0; align-items: center; gap: 10px; }
.api-docs .swagger-ui .opblock-summary-path { max-width: none; min-width: 0; color: var(--ap-brand-ink); font-size: 13px; overflow-wrap: anywhere; word-break: break-word; }
.api-docs .swagger-ui .opblock-summary-path a { color: inherit; }
.api-docs .swagger-ui .opblock-summary-description { font-size: 13px; flex: 1; min-width: 0; padding: 0; text-align: left; }
.api-docs .swagger-ui .opblock-summary-method { font-size: 11px; min-width: 60px; padding: 7px 10px; border-radius: 4px; text-shadow: none; }
.api-docs .swagger-ui .opblock.opblock-get .opblock-summary-method { background: #106d85; }
.api-docs .swagger-ui .opblock.opblock-post .opblock-summary-method { background: #15734b; }
.api-docs .swagger-ui .opblock.opblock-patch .opblock-summary-method { background: #94520f; }
.api-docs .swagger-ui .opblock.opblock-get { border-left: 3px solid #106d85; }
.api-docs .swagger-ui .opblock.opblock-post { border-left: 3px solid #15734b; }
.api-docs .swagger-ui .opblock.opblock-patch { border-left: 3px solid #94520f; }
.api-docs .swagger-ui .opblock-section-header { border-top: 1px solid var(--ap-brand-line); padding: 12px 16px; }
.api-docs .swagger-ui .opblock-section-header h4 { font-size: 14px; }
.api-docs .swagger-ui :is(.opblock-description-wrapper, .opblock-external-docs-wrapper, .opblock-title_normal, .responses-wrapper) { padding: 16px; }
.api-docs .swagger-ui .tab { flex-wrap: wrap; padding: 0; }
.api-docs .swagger-ui .tab li { border-color: var(--ap-brand-line); margin-bottom: 6px; }
.api-docs .swagger-ui .tab li.active { color: var(--ap-brand-accent); }
.api-docs .swagger-ui :is(pre, .microlight, .highlight-code, code) { font: 12px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; color: var(--ap-brand-ink); background: var(--ap-brand-paper); overflow-wrap: anywhere; }
.api-docs .swagger-ui .highlight-code { border: 1px solid var(--ap-brand-line); border-radius: 4px; }
.api-docs .swagger-ui pre { max-width: 100%; overflow-x: auto; padding: 14px !important; }
.api-docs .swagger-ui .highlight-code pre { background: var(--ap-brand-paper) !important; color: var(--ap-brand-ink) !important; }
.api-docs .swagger-ui .copy-to-clipboard { background: var(--ap-brand-chip); border-radius: 4px; }
.api-docs .swagger-ui svg { fill: var(--ap-brand-ink); }
.api-docs .swagger-ui :is(select, textarea) { max-width: 100%; font-size: 13px; border: 1px solid var(--ap-brand-line); }
.api-docs .swagger-ui table { width: 100%; table-layout: fixed; }
.api-docs .swagger-ui table :is(th, td) { border-color: var(--ap-brand-line); overflow-wrap: anywhere; font-size: 13px; }
.api-docs .swagger-ui table thead tr th { color: var(--ap-brand-muted); }
.api-docs .swagger-ui .response-col_status { width: 55px; font-size: 13px; }
.api-docs .swagger-ui .response-col_links { width: 60px; font-size: 11px; }
.api-docs .swagger-ui :is(.response-col_description, .header-col, .examples-select__section-label, .response-control-media-type__accept-message) { color: var(--ap-brand-body); }
.api-docs .swagger-ui .parameter__name { font-size: 13px; overflow-wrap: anywhere; }
.api-docs .swagger-ui .parameter__name.required:after { color: var(--ap-brand-accent); }
.api-docs .swagger-ui .parameters-col_name { width: 28%; }
.api-docs .swagger-ui section.models { border-radius: 6px; margin: 32px 0; }
.api-docs .swagger-ui section.models h4 { padding: 16px; font-size: 18px; border-color: var(--ap-brand-line); }
.api-docs .swagger-ui section.models .model-container { margin: 12px; }
.api-docs .swagger-ui .model-box { border-radius: 4px; padding: 12px; max-width: 100%; }
.api-docs .swagger-ui .model-box-control { min-height: 36px; }
.api-docs .swagger-ui .model-toggle:after { filter: none; }
html[data-theme=dark] .api-docs .swagger-ui .model-toggle:after { filter: invert(1); }
.api-docs .swagger-ui .prop-type { color: var(--ap-brand-accent); }
.api-docs .swagger-ui .prop-enum { color: var(--ap-brand-body); }
.api-docs .swagger-ui .model-example { max-width: 100%; }
.api-docs .swagger-ui [class^=json-schema-2020-12] { color: var(--ap-brand-body); border-color: var(--ap-brand-line); overflow-wrap: anywhere; }
.api-docs .swagger-ui .json-schema-2020-12 { background: var(--ap-brand-paper); }
.api-docs .swagger-ui .json-schema-2020-12 button { background: transparent; color: var(--ap-brand-ink); }
.api-docs .swagger-ui .json-schema-2020-12__title { color: var(--ap-brand-ink); font-family: Geist, Arial, sans-serif; }
.api-docs .swagger-ui .json-schema-2020-12__attribute--primary { color: var(--ap-brand-accent); }
.api-docs .swagger-ui .json-schema-2020-12__constraint { color: var(--ap-brand-ink); background: var(--ap-brand-chip); }
.api-docs .swagger-ui .json-schema-2020-12-property--required > .json-schema-2020-12:first-of-type > .json-schema-2020-12-head .json-schema-2020-12__title:after { color: var(--ap-brand-accent); }

@media(max-width:1100px) {
  .docs-heading { align-items: start; }
  .docs-actions { max-width: 200px; }
  .docs-layout { grid-template-columns: 160px minmax(0,1fr); gap: 24px; }
}
@media(max-width:760px) {
  .docs-shell { padding: 0 20px; }
  .docs-heading { display: block; padding-top: 28px; }
  .docs-heading h1 { font-size: 32px; }
  .docs-actions { max-width: none; justify-content: start; margin-top: 20px; }
  .docs-layout { display: block; padding-top: 24px; }
  .docs-sidebar { position: static; margin-bottom: 24px; }
  .docs-sidebar nav { display: flex; flex-wrap: wrap; gap: 0 12px; margin-top: 8px; }
  .docs-sidebar nav a { padding: 8px 0; border-left: 0; }
  .docs-sidebar .docs-spec-link { display: none; }
  .docs-readonly { display: none; }
  .api-docs .swagger-ui .opblock-summary-control { flex-wrap: wrap; }
  .api-docs .swagger-ui .opblock-summary-path { flex: 1; }
  .api-docs .swagger-ui .opblock-summary-description { flex-basis: 100%; }
  .api-docs .swagger-ui .opblock-tag { font-size: 19px; }
  .api-docs .swagger-ui .opblock-tag small { flex-basis: 100%; }
}
@media(max-width:400px) {
  .docs-shell { padding: 0 16px; }
  .docs-endpoint > span { flex-basis: 100%; }
  .api-docs .swagger-ui :is(.opblock-description-wrapper, .responses-wrapper) { padding: 12px; }
  .api-docs .swagger-ui .response-col_links { width: 55px; }
}
