/*
 * Copyright 2026 Cisco Systems, Inc. and its affiliates
 *
 * SPDX-License-Identifier: Apache-2.0
 */

:root {
  --iris-navy: #102942;
  --iris-canvas: #f3f6f8;
  --iris-text: #23394a;
  --iris-muted: #526675;
  --iris-rule: #d6e0e7;
  --iris-action: #1464a0;
  --iris-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html { box-sizing: border-box; background: var(--iris-canvas); }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; color: var(--iris-text); font: 14px/1.5 var(--iris-font); }
button, input, pre, code { font: inherit; }
a { color: var(--iris-action); }
:focus-visible { outline: 3px solid var(--iris-action); outline-offset: 3px; }

.iris-api-header {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px;
  min-height: 64px; padding: 14px 32px; background: var(--iris-navy); color: #fff;
}
.iris-api-header strong { font-size: 20px; letter-spacing: .02em; }
.iris-api-title { margin-left: 12px; font-size: 15px; font-weight: 400; letter-spacing: 0; }
.iris-readonly { padding: 2px 9px; border: 1px solid #69839a; border-radius: 4px; font-size: 12px; }
.iris-api-header nav { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-left: auto; }
.iris-api-header a { color: #d3e9fa; text-underline-offset: 3px; }
main { max-width: 1480px; margin: auto; padding: 28px 32px; }
.iris-api-tools h1 { margin: 0 0 6px; font-size: 26px; line-height: 1.25; }
.iris-api-tools p { margin: 0; color: var(--iris-muted); }
.iris-service-controls { display: flex; gap: 8px; margin: 20px 0 10px; }
.iris-service-controls button {
  padding: 8px 16px; border: 1px solid var(--iris-rule); border-radius: 4px;
  background: #fff; color: var(--iris-text); font-weight: 600; cursor: pointer;
}
.iris-service-controls button[aria-pressed="true"] { background: var(--iris-navy); border-color: var(--iris-navy); color: #fff; }
#iris-service-status { min-height: 21px; font-size: 13px; }

.iris-streaming-responses {
  margin: 20px 0; padding: 16px 20px; background: #fff;
  border: 1px solid var(--iris-rule); border-radius: 6px; min-width: 0;
}
.iris-explorer-summary { cursor: pointer; font-size: 15px; font-weight: 600; }
.iris-explorer-summary span { margin-left: 12px; color: var(--iris-muted); font-size: 13px; font-weight: 400; }
.iris-streaming-responses[open] .iris-explorer-summary { margin-bottom: 20px; }
.iris-streaming-responses h2 { font-size: 20px; }
.iris-streaming-responses h3 { font-size: 16px; margin: 22px 0 8px; }
.iris-streaming-responses h4 { font-size: 14px; overflow-wrap: anywhere; }
.iris-streaming-responses article + article { border-top: 1px solid var(--iris-rule); margin-top: 18px; padding-top: 18px; }
.iris-streaming-responses pre {
  background: var(--iris-canvas); max-height: 32rem; max-width: 100%;
  overflow: auto; padding: 12px; white-space: pre-wrap; overflow-wrap: anywhere;
}
.iris-schema-filter { display: block; font-weight: 600; margin: 20px 0 8px; }
.iris-schema-filter input {
  box-sizing: border-box; display: block; margin-top: 6px; max-width: 620px; width: 100%; padding: 10px 12px;
  border: 1px solid #8295a4; border-radius: 4px; background: #fff; color: var(--iris-text);
  min-width: 0;
}
.iris-search-status { color: var(--iris-muted); font-size: 13px; }
.iris-canonical-list details { border-top: 1px solid var(--iris-rule); padding: 9px 0; }
.iris-canonical-list summary { cursor: pointer; font-weight: 600; overflow-wrap: anywhere; }
.iris-json-pointer { overflow-wrap: anywhere; color: var(--iris-muted); }

/* Keep Swagger's runtime and contract intact; only align its presentation.
 * One family includes paths, schemas and examples, as in the Console. */
.swagger-ui, .swagger-ui * { font-family: var(--iris-font) !important; }
.swagger-ui .wrapper { padding: 0; max-width: none; }
.swagger-ui .information-container { background: transparent; }
.swagger-ui .info { margin: 24px 0; }
.swagger-ui .info .title { font-size: 22px; color: var(--iris-text); }
.swagger-ui .info .description p { font-size: 14px; color: var(--iris-muted); }
.swagger-ui .scheme-container { padding: 16px 20px; box-shadow: none; border: 1px solid var(--iris-rule); border-radius: 6px; }
.swagger-ui .scheme-container:has(.auth-wrapper):not(:has(.servers)) { display: none; }
.swagger-ui .opblock { box-shadow: none; border-radius: 4px; }
.swagger-ui .opblock-tag { font-size: 19px; color: var(--iris-text); }
.swagger-ui .opblock .opblock-summary-path { font-size: 14px; overflow-wrap: anywhere; min-width: 0; }
.swagger-ui .opblock .opblock-summary-description { font-size: 13px; }
.swagger-ui .opblock-summary-control { min-width: 0; }
.swagger-ui .opblock-body, .swagger-ui .model-box { overflow-wrap: anywhere; min-width: 0; }
.swagger-ui pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.swagger-ui select { max-width: 100%; }
/* Scope buttons replace Swagger's tag-only filter input. Endpoint/schema
 * search is provided separately by the canonical explorer. */
.swagger-ui .filter-container { display: none; }
/* Public reference: no credential collection or execution controls. */
.swagger-ui .auth-wrapper, .swagger-ui .authorization__btn { display: none !important; }

@media (max-width: 600px) {
  .iris-api-header { padding: 14px 16px; gap: 10px 16px; }
  .iris-api-header nav { margin-left: 0; width: 100%; font-size: 13px; }
  main { padding: 22px 12px; }
  .iris-api-tools h1 { font-size: 23px; }
  .iris-streaming-responses { padding: 14px 12px; }
  .iris-explorer-summary span { display: block; margin: 4px 0 0; }
  .swagger-ui .opblock .opblock-summary { flex-wrap: wrap; }
  .swagger-ui .opblock-summary-control { flex-wrap: wrap; gap: 6px; }
  .swagger-ui .opblock .opblock-summary-path { max-width: calc(100% - 90px); }
  .swagger-ui .opblock .opblock-summary-description { flex-basis: 100%; }
  .swagger-ui .opblock-body { overflow-x: auto; }
  .swagger-ui .scheme-container { padding: 12px; }
  .swagger-ui .opblock-tag { padding: 10px 4px; }
}
