/* Public documentation presentation only. API and access contracts are unchanged. */
body.dev-portal {
  --purple: #800080; --purple-dark: #610061; --purple-soft: #f5edf7;
  --ink: #292d34; --muted: #626873; --line: #e4e5e8; --wash: #f8f9fa;
  --font-mono: Consolas, "Liberation Mono", monospace; --header-height: 113px;
  background: #fff; color: var(--ink); font: 400 15px/1.6 "Segoe UI", Arial, sans-serif;
}
.dev-portal button, .dev-portal input, .dev-portal select, .dev-portal textarea { font-family: inherit; }
.dev-portal h1, .dev-portal h2, .dev-portal h3, .dev-portal h4 { color: var(--ink); font-weight: 500; letter-spacing: -.02em; }
.dev-portal h1 { font-size: 32px; line-height: 1.3; }
.dev-portal h2 { font-size: 24px; line-height: 1.4; }
.dev-portal h3 { font-size: 18px; }
.dev-portal p, .dev-portal li { line-height: 1.7; }
.dev-portal strong, .dev-portal b { font-weight: 500; }
.dev-portal .dev-container { width: min(calc(100% - 48px), 1440px); }
.dev-portal .dev-header { position: sticky; top: 0; z-index: 100; background: #fff; border: 0; box-shadow: none; backdrop-filter: none; }
.dev-portal .header-inner { width: min(calc(100% - 48px), 1440px); min-height: 68px; gap: 20px; }
.dev-portal .brand img { width: 114px; height: 44px; }
.dev-portal .brand-label { font-size: 16px; font-weight: 500; }
.dev-portal .workspace-link { padding: 6px 10px; border: 0; border-radius: 4px; background: transparent; color: #4d5159; font-size: 13px; font-weight: 400; }
.dev-portal .workspace-link:hover { color: var(--purple); background: var(--purple-soft); }
.dev-portal .portal-navigation-row { border-top: 3px solid var(--purple); border-bottom: 1px solid var(--line); }
.dev-portal .portal-navigation-inner { display: flex; min-height: 41px; align-items: center; justify-content: space-between; gap: 20px; }
.dev-portal #developer-navigation { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; }
.dev-portal #developer-navigation a { padding: 5px 11px; color: #4d5159; font-size: 14px; font-weight: 400; border: 0; border-radius: 5px; }
.dev-portal #developer-navigation a:hover, .dev-portal #developer-navigation a[aria-current='page'] { color: var(--purple); background: var(--purple-soft); }
.dev-portal #developer-navigation .mobile-workspace { display: none; }
.dev-portal .search-trigger { min-width: 153px; min-height: 32px; padding: 5px 10px; border: 1px solid #cfd2d8; border-radius: 5px; font-size: 13px; font-weight: 400; background: #fff; }
.dev-portal .search-trigger .search-label, .dev-portal .search-trigger kbd { display: inline; }
.dev-portal .search-trigger kbd { font-size: 10px; color: #7e838d; border: 0; background: transparent; }
.dev-portal .dev-notice { font-size: 12px; padding: 6px 20px; background: #faf9fb; border-bottom: 1px solid var(--line); color: var(--muted); }
.dev-portal .lead { font-size: 16px; color: var(--muted); }
.dev-portal .kicker, .dev-portal .sidebar-label, .dev-portal .section-kicker { font-size: 12px; font-weight: 500; letter-spacing: .02em; }
.dev-portal .section-space { padding-block: 38px; }
.dev-portal .docs-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr) 185px; gap: 34px; padding-top: 32px; }
.dev-portal .docs-sidebar { position: sticky; top: 136px; max-height: calc(100vh - 156px); overflow-y: auto; padding-right: 18px; border-right: 1px solid var(--line); }
.dev-portal .docs-sidebar nav a { padding: 7px 10px; font-size: 14px; color: #555b67; font-weight: 400; }
.dev-portal .docs-sidebar nav a.active { color: var(--purple); background: var(--purple-soft); }
.dev-portal .docs-sidebar nav .sidebar-label { margin: 22px 10px 7px; color: #7c818c; }
.dev-portal .docs-content { min-width: 0; }
.dev-portal .docs-content article { scroll-margin-top: 136px; padding-bottom: 28px; margin-bottom: 28px; }
.dev-portal .docs-content h1 { font-size: 32px; }
.dev-portal .docs-content h2 { font-size: 24px; }
.dev-portal .docs-content p, .dev-portal .docs-content li { font-size: 15px; }
.dev-portal .on-this-page { position: sticky; top: 150px; max-height: calc(100vh - 175px); overflow-y: auto; }
.dev-portal .on-this-page a { font-size: 13px; font-weight: 400; }
.dev-portal .notice { border: 0; border-left: 3px solid var(--purple); border-radius: 0; background: #f7f1f8; color: #535562; font-size: 14px; }
.dev-portal .button, .dev-portal .text-link, .dev-portal .guide-topic-link { font-weight: 400; font-size: 14px; }
.dev-portal .button { border-radius: 5px; box-shadow: none; }
.dev-portal .topic-heading { background: #fff; border-bottom: 1px solid var(--line); padding-block: 36px; }
.dev-portal .topic-heading h1 { font-size: 32px; }
.dev-portal .dp-access-map, .dev-portal .dp-format-art { display: none; }
.dev-portal .topic-layout { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 36px; }
.dev-portal .topic-main, .dev-portal .topic-aside { min-width: 0; }
.dev-portal .topic-main > section, .dev-portal .topic-callout { margin-bottom: 30px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.dev-portal .topic-aside { align-self: start; position: sticky; top: 140px; padding-left: 20px; border-left: 1px solid var(--line); }
.dev-portal .topic-aside h2 { font-size: 18px; margin-top: 12px; }
.dev-portal .topic-aside p { font-size: 14px; }
.dev-portal .topic-aside > a { display: block; padding: 7px 0; color: var(--purple); font-size: 13px; }
.dev-portal .security-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.dev-portal .security-card { border: 1px solid var(--line); padding: 18px; }
.dev-portal .security-card > span { font-size: 12px; color: var(--muted); }
.dev-portal .security-card h3 { margin-top: 12px; }
.dev-portal .dp-export-stage { padding-block: 28px; border-bottom: 1px solid var(--line); }
.dev-portal .security-card, .dev-portal .tool-card { background: #fff; border-color: var(--line); border-radius: 6px; box-shadow: none; }
.dev-portal .security-card p, .dev-portal .tool-card p { font-size: 14px; }
.dev-portal .error-guidance, .dev-portal .error-filters { background: #f8f9fa; border-color: var(--line); border-radius: 5px; }
.dev-portal table { font-size: 14px; }
.dev-portal th { font-size: 13px; font-weight: 500; background: #f8f9fa; color: #5d626c; }
.dev-portal td code { font-size: 13px; font-weight: 400; }
.dev-portal .reference-exact, .dev-portal .reference-workspace { background: #fff; --docs-line: var(--line); --docs-muted: var(--muted); }
.dev-portal .reference-toolbar { top: var(--header-height); background: #fff; backdrop-filter: none; }
.dev-portal .toolbar-inner { width: min(calc(100% - 48px), 1440px); min-height: 40px; }
.dev-portal .reference-breadcrumb, .dev-portal .toolbar-actions { font-size: 12px; }
.dev-portal .production-label { font-weight: 400; }
.dev-portal .reference-shell, .dev-portal .reference-layout.has-contract { width: min(100%, 1488px); grid-template-columns: 260px minmax(0, 1fr) 410px; gap: 0; }
.dev-portal .reference-layout:not(.has-contract) { grid-template-columns: 260px minmax(0, 1fr); }
.dev-portal .product-sidebar { top: var(--header-height); max-height: calc(100vh - var(--header-height)); padding: 14px 18px 24px; border-right: 1px solid var(--line); background: #fff; }
.dev-portal .sidebar-search { height: 34px; border-color: #d9dce2; border-radius: 5px; }
.dev-portal .sidebar-search input { margin: 0; padding: 0; min-height: 30px; font-size: 13px; }
.dev-portal .guide-link { font-size: 14px; font-weight: 400; margin: 10px 0; padding: 7px 8px; }
.dev-portal .category-trigger { font-size: 12px; color: #797f8b; font-weight: 500; letter-spacing: .01em; text-transform: uppercase; padding: 9px 8px; margin-top: 14px; }
.dev-portal .category-trigger::before { display: none; }
.dev-portal .category-trigger i { color: #999da6; background: none; font-size: 16px; }
.dev-portal #product-navigation .category-submenu > a { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding: 7px 9px; border-radius: 5px; font-size: 14px; font-weight: 400; color: #555b67; line-height: 1.5; }
.dev-portal #product-navigation a[aria-current='page'] { color: var(--purple); background: var(--purple-soft); font-weight: 400; }
.dev-portal .endpoint-links a { font-size: 12px; }
.dev-portal .mini-method, .dev-portal .method { font-size: 10px; font-weight: 500; color: #fff; background: #168458; border-radius: 9px; }
.dev-portal .mini-method[data-method='POST'], .dev-portal .method[data-method='POST'] { color: #fff; background: var(--purple); }
.dev-portal .reference-main { padding: 32px 32px 60px; }
.dev-portal .reference-title { padding-bottom: 24px; }
.dev-portal .reference-title h1 { font-size: 32px; line-height: 1.3; letter-spacing: -.02em; }
.dev-portal .reference-title > p { font-size: 15px; }
.dev-portal .product-labels span, .dev-portal .product-labels code { font-size: 11px; font-weight: 400; border-radius: 4px; }
.dev-portal .base-url { background: #f8f9fa; border-color: var(--line); padding: 10px 12px; border-radius: 5px; }
.dev-portal .base-url > span { font-size: 11px; font-weight: 500; }
.dev-portal .base-url code, .dev-portal .route-bar code { font-size: 12px; color: #495363; }
.dev-portal .base-url button, .dev-portal .copy-page { font-size: 12px; font-weight: 400; }
.dev-portal .document-section, .dev-portal .endpoint-document { padding-block: 28px; scroll-margin-top: calc(var(--header-height) + 15px); }
.dev-portal .document-section h2, .dev-portal .endpoint-header h2 { font-size: 24px; font-weight: 500; }
.dev-portal .document-section p, .dev-portal .endpoint-summary, .dev-portal .document-section li { font-size: 15px; }
.dev-portal .parameter-table { border-radius: 3px; }
.dev-portal .parameter-table table { font-size: 14px; }
.dev-portal .parameter-table th { font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.dev-portal .parameter-table td code { font-size: 12px; font-weight: 400; }
.dev-portal .requirement, .dev-portal .field-type { font-size: 11px; font-weight: 400; }
.dev-portal .route-bar { border: 0; background: #f8f9fa; padding: 10px; }
.dev-portal .schema-section h3 { font-size: 18px; }
.dev-portal .response-row { font-size: 13px; grid-template-columns: 8px 34px minmax(0, 1fr); }
.dev-portal .response-row > p { grid-column: 3; }
.dev-portal .response-row code { font-size: 12px; }
.dev-portal .code-rail { top: var(--header-height); max-height: calc(100vh - var(--header-height)); padding: 32px 20px; background: #fff; border: 0; }
.dev-portal .code-panel { border-radius: 6px; background: #24262c; border-color: #33363e; box-shadow: none; }
.dev-portal .code-panel > header { font-size: 12px; font-weight: 500; background: #2b2e35; }
.dev-portal .code-panel > header strong { font-size: 11px; }
.dev-portal .language-tabs { background: #24262c; }
.dev-portal .language-tabs button { font-size: 12px; font-weight: 400; }
.dev-portal .code-toolbar button { font-size: 12px; font-weight: 400; }
.dev-portal .code-panel pre { font-size: 12px; line-height: 1.7; max-height: 380px; }
.dev-portal .response-panel { background: #fff; border-color: var(--line); }
.dev-portal .response-panel > header { background: #f8f9fa; color: #626873; }
.dev-portal .response-panel pre { font-size: 12px; color: #495363; }
.dev-portal .code-note, .dev-portal .empty-code, .dev-portal .response-tabs span { font-size: 12px; }
.dev-portal .notes strong, .dev-portal .notes ul, .dev-portal .stale-warning p { font-size: 13px; }
.dev-portal .dev-footer { background: #f8f9fa; color: var(--muted); padding-top: 28px; border-top: 1px solid var(--line); }
.dev-portal .dev-footer h2 { color: #4d5159; font-size: 14px; font-weight: 500; }
.dev-portal .dev-footer p, .dev-portal .dev-footer a { font-size: 13px; }
.dev-portal .footer-bottom { margin-top: 22px; border-top-color: var(--line); font-size: 12px; }
.dev-portal #docs-search-dialog { border-color: var(--line); border-radius: 8px; }
.dev-portal #search-results strong { font-weight: 500; }
.dev-portal #search-results small { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; max-height: 3em; overflow: hidden; font-size: 12px; line-height: 1.5; }
.dev-portal .error-code-panel { background: #fff; border-color: var(--line); border-radius: 5px; color: var(--ink); }
.dev-portal .error-code-panel > header { background: #f8f9fa; border-bottom-color: var(--line); font-size: 14px; }
.dev-portal .error-code-panel button { color: var(--muted); border-color: #d9dce2; font-size: 12px; }
.dev-portal .error-code-entry { border-bottom-color: var(--line); }
.dev-portal .error-code-entry h2, .dev-portal .error-code-entry p { font-size: 14px; color: var(--muted); }
.dev-portal .error-code-entry h2 code { color: var(--purple); font-weight: 400; }
.dev-portal .error-code-entry a { font-size: 13px; color: var(--purple); }
.dev-portal .error-api-scope { margin: 12px 0 0; font-size: 13px; color: var(--muted); }
.dev-portal .error-api-scope > summary { cursor: pointer; font-weight: 400; }
.dev-portal .error-api-scope > summary:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
.dev-portal .error-api-names { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; max-height: 240px; overflow-y: auto; }
.dev-portal .error-api-names > span { padding: 3px 8px; border: 1px solid var(--line); border-radius: 4px; background: var(--wash); overflow-wrap: anywhere; }
.dev-portal .portal-overview-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.dev-portal .portal-overview-links a { border: 1px solid var(--line); border-radius: 5px; padding: 16px; font-size: 15px; color: var(--ink); }
.dev-portal .portal-overview-links a:hover { border-color: #d1b4d6; background: #faf7fb; }
.dev-portal .portal-overview-links small { display: block; color: var(--muted); font-size: 13px; margin-top: 5px; }
@media (max-width: 1200px) {
  .dev-portal .reference-shell, .dev-portal .reference-layout.has-contract { grid-template-columns: 230px minmax(0, 1fr) 340px; }
  .dev-portal .reference-main { padding-inline: 24px; }
  .dev-portal .docs-layout { grid-template-columns: 230px minmax(0, 1fr); }
  .dev-portal .on-this-page { display: none; }
}
@media (max-width: 1024px) {
  .dev-portal .reference-shell, .dev-portal .reference-layout.has-contract, .dev-portal .reference-layout:not(.has-contract) { grid-template-columns: 230px minmax(0, 1fr); }
  .dev-portal .code-rail { display: none; }
  .dev-portal .inline-samples { display: block; }
}
@media (max-width: 940px) {
  .dev-portal { --header-height: 113px; }
  .dev-portal .dev-container, .dev-portal .header-inner, .dev-portal .toolbar-inner { width: calc(100% - 32px); }
  .dev-portal .header-inner { flex-wrap: nowrap; min-height: 68px; }
  .dev-portal .header-inner > .brand, .dev-portal .header-inner > .header-actions { min-height: 0; }
  .dev-portal .workspace-link { display: none; }
  .dev-portal #menu-toggle { display: block; }
  .dev-portal .portal-navigation-inner { min-height: 41px; justify-content: flex-end; }
  .dev-portal #developer-navigation { display: none; position: absolute; top: 113px; left: 0; right: 0; max-height: calc(100dvh - 113px); overflow-y: auto; flex-direction: column; align-items: stretch; padding: 12px 16px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 8px 14px #24262c0d; }
  .dev-portal #developer-navigation.is-open { display: flex; }
  .dev-portal #developer-navigation .mobile-workspace { display: block; }
  .dev-portal .reference-layout, .dev-portal .reference-layout.has-contract, .dev-portal .reference-layout:not(.has-contract), .dev-portal .docs-layout { display: block; }
  .dev-portal .product-sidebar, .dev-portal .docs-sidebar { position: static; max-height: none; border-right: 0; border-bottom: 1px solid var(--line); padding: 16px; margin: 0; }
  .dev-portal #product-navigation { max-height: 245px; overflow-y: auto; }
  .dev-portal .docs-sidebar nav { display: flex; flex-wrap: wrap; gap: 4px; }
  .dev-portal .docs-sidebar .kicker, .dev-portal .docs-sidebar .sidebar-label, .dev-portal .sidebar-callout { display: none; }
  .dev-portal .docs-content { padding-top: 28px; }
  .dev-portal .reference-main { padding: 28px 16px 40px; }
  .dev-portal .reference-title h1, .dev-portal .docs-content h1, .dev-portal .topic-heading h1 { font-size: 28px; }
  .dev-portal .product-labels { flex-wrap: wrap; }
  .dev-portal .endpoint-header { flex-wrap: wrap; }
  .dev-portal .topic-layout, .dev-portal .security-grid { display: block; }
  .dev-portal .security-card { margin-bottom: 16px; }
  .dev-portal .topic-aside { position: static; padding-left: 0; border-left: 0; }
  .dev-portal .portal-overview-links { grid-template-columns: 1fr; }
}
