/* Shared BluQube documentation shell. It layers on the canonical brand tokens
 * in design-system.css without changing the Markdown content itself. */

.docs-body {
  margin: 0;
  background: var(--color-background-secondary, #F7F8F5);
  color: var(--color-text-secondary, #3D5A80);
  font-family: var(--font-family-sans, Arial, Helvetica, sans-serif);
}

.docs-body a { color: var(--color-secondary-700, #193962); }
.docs-app-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 40; width: 260px; display: flex; flex-direction: column; background: #193962; color: #fff; padding: 1rem; }
.docs-app-brand { height: 4rem; display: flex; align-items: center; padding: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.docs-app-brand img { display: block; width: 164px; height: auto; }
.docs-app-nav { display: flex; flex: 1; flex-direction: column; gap: 0; overflow-y: auto; padding: .5rem .75rem; }
.docs-app-nav-group { display: flex; flex-direction: column; gap: .125rem; margin-bottom: .25rem; }
.docs-app-nav-label { padding: 5.6px 12px 2px; color: rgba(255,255,255,.35); font-size: 10px; line-height: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.docs-app-nav-item { display: flex; align-items: center; gap: .625rem; min-height: 32px; border-radius: .5rem; color: rgba(255,255,255,.65) !important; padding: 6px 10px; font-size: .875rem; line-height: 20px; font-weight: 500; text-decoration: none; }
.docs-app-nav-icon { width: 20px; height: 20px; flex: 0 0 auto; }
.docs-app-nav-item:hover { background: rgba(255,255,255,.08); color: #fff !important; }
.docs-app-nav-item[aria-current="page"] { background: #193962; box-shadow: inset 3px 0 0 #4EE2D0; color: #fff !important; font-weight: 600; }
.docs-app-foot { margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); padding: .75rem; color: rgba(255,255,255,.55); font-size: .68rem; line-height: 1.4; }
.docs-topbar {
  margin-left: 260px;
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid var(--color-border, #D1D7E0);
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(12px);
}
.docs-topbar-inner {
  min-height: 64px;
  width: min(1480px, calc(100% - 2rem));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.docs-brand {
  color: var(--color-text-primary, #193962) !important;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -.025em;
  text-decoration: none;
}
.docs-brand span { color: var(--color-secondary-700, #193962); }
.docs-top-links { display: flex; gap: 1rem; font-size: .86rem; font-weight: 700; }
.docs-top-links a { text-decoration: none; }
.docs-context-tabs { margin-left: 260px; display: flex; min-height: 44px; align-items: stretch; gap: 0; overflow-x: auto; border-bottom: 1px solid #e5e7eb; padding: 0 1rem; background: rgba(255,255,255,.92); }
.docs-context-tabs a { flex: 0 0 auto; border-bottom: 3px solid transparent; color: var(--color-text-tertiary, #3D5A80); padding: .7rem .8rem .6rem; font: 600 14px/20px Arial, Helvetica, sans-serif; text-decoration: none; white-space: nowrap; }
.docs-context-tabs a:hover { color: #193962; background: #F7F8F5; }
.docs-context-tabs a[aria-current="page"] { color: #193962; border-bottom-color: #4EE2D0; }
.docs-layout {
  width: min(1480px, calc(100% - 260px - 3rem));
  min-height: calc(100vh - 64px);
  margin-left: calc(260px + 1rem);
  margin-right: 1rem;
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr) 300px;
  gap: 0;
}
.docs-sidebar, .docs-right { min-width: 0; }
.docs-sidebar {
  border-right: 1px solid var(--color-border, #D1D7E0);
  background: var(--color-background-secondary, #F7F8F5);
}
.docs-sidebar-scroll { position: sticky; top: 64px; max-height: calc(100vh - 64px); overflow: auto; padding: 1.75rem .75rem 3rem 0; }
.docs-sidebar-title, .docs-pane-label {
  color: var(--color-text-tertiary, #3D5A80);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.docs-sidebar-title { padding: 0 .75rem .8rem; }
.docs-nav-group { margin: 0 0 1.15rem; }
.docs-nav-heading {
  display: block;
  padding: .35rem .75rem;
  color: var(--color-text-primary, #193962) !important;
  font-size: .8rem;
  font-weight: 800;
  text-decoration: none;
}
.docs-nav-heading-static { color: var(--color-text-tertiary, #3D5A80) !important; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.docs-nav-item {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  border-left: 2px solid transparent;
  padding: .36rem .65rem .36rem .75rem;
  color: var(--color-text-secondary, #3D5A80) !important;
  font-size: .78rem;
  line-height: 1.35;
  text-decoration: none;
}
.docs-nav-item:hover, .docs-nav-item.is-active { border-left-color: var(--color-secondary-600, #193962); background: var(--color-secondary-50, #F7F8F5); color: var(--color-text-primary, #193962) !important; }
.docs-method {
  display: inline-block;
  min-width: 2.7rem;
  border-radius: 4px;
  padding: .15rem .28rem;
  background: var(--color-gray-100, #F1F3F6);
  color: var(--color-gray-700, #334155);
  font-family: var(--font-family-mono, monospace);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-align: center;
}
.docs-method-get { background: #dcfce7; color: #166534; }
.docs-method-post { background: #dbeafe; color: #1d4ed8; }
.docs-method-put { background: #fef3c7; color: #92400e; }
.docs-method-delete { background: #fee2e2; color: #b91c1c; }
.docs-content { min-width: 0; padding: 3rem clamp(1.25rem, 4vw, 4rem) 5rem; background: var(--color-background, #fff); }
.docs-article { width: min(760px, 100%); margin: 0 auto; }
.docs-breadcrumb { color: var(--color-text-tertiary, #3D5A80); font-size: .78rem; font-weight: 700; letter-spacing: .03em; margin-bottom: 1rem; }
.docs-breadcrumb span { padding: 0 .35rem; }
.docs-article h1 { margin: 0 0 1rem; color: var(--color-text-primary, #193962); font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.045em; line-height: 1.05; }
.docs-article h2, .docs-article h3 { color: var(--color-text-primary, #193962); line-height: 1.2; }
.docs-lede { margin: 0 0 2rem; font-size: 1.06rem; }
.docs-endpoint-line { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.1rem; }
.docs-endpoint-line code { color: var(--color-text-primary, #193962); font-size: .95rem; overflow-wrap: anywhere; }
.docs-section { border-top: 1px solid var(--color-border, #D1D7E0); margin-top: 2rem; padding-top: 1.4rem; }
.docs-section h2 { font-size: 1.15rem; margin: 0 0 .7rem; }
.docs-prose { font-size: 1rem; line-height: 1.7; }
.docs-prose h1, .docs-prose h2, .docs-prose h3, .docs-prose h4, .docs-prose h5, .docs-prose h6 { color: var(--color-text-primary, #193962); line-height: 1.25; margin: 2rem 0 .7rem; }
.docs-prose h1 { margin-top: 0; }
.docs-prose p { margin: 0 0 1rem; }
.docs-prose ul, .docs-prose ol { margin: 0 0 1rem; padding-left: 1.5rem; }
.docs-prose li + li { margin-top: .35rem; }
.docs-prose strong { color: var(--color-text-primary, #193962); }
.docs-prose code, .docs-article code { border-radius: 4px; background: var(--color-gray-100, #F1F3F6); color: var(--color-text-primary, #193962); font-family: var(--font-family-mono, monospace); font-size: .88em; padding: .12em .35em; }
.docs-prose pre, .docs-article pre { overflow: auto; border-radius: 8px; background: #12294a; color: #D1D7E0; padding: 1rem 1.1rem; }
.docs-prose pre code, .docs-article pre code { background: transparent; color: inherit; padding: 0; }
.docs-prose blockquote { border-left: 3px solid var(--color-secondary-400, #4EE2D0); margin: 1.2rem 0; padding: .2rem 1rem; }
.docs-prose .table-wrap, .docs-section .table-wrap { overflow-x: auto; margin: 1rem 0; }
.docs-prose table, .docs-section table { border-collapse: collapse; min-width: 100%; text-align: left; }
.docs-prose th, .docs-prose td, .docs-section th, .docs-section td { border: 1px solid var(--color-border, #D1D7E0); padding: .6rem .7rem; vertical-align: top; }
.docs-prose th, .docs-section th { background: var(--color-gray-100, #F1F3F6); color: var(--color-text-primary, #193962); }
.docs-right { border-left: 1px solid var(--color-border, #D1D7E0); background: var(--color-background-secondary, #F7F8F5); }
.docs-right-sticky { position: sticky; top: 64px; padding: 2rem 1rem 3rem; }
.docs-example-card { position: sticky; top: 88px; margin: 1.75rem 1rem; border: 1px solid var(--color-border, #D1D7E0); border-radius: 8px; background: #fff; box-shadow: var(--shadow-sm, 0 1px 2px rgba(15, 23, 42, .05)); padding: .85rem; }
.docs-example-card + .docs-example-card { top: 390px; }
.docs-example-card pre { margin: .65rem 0; font-size: .72rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.docs-example-card code { background: transparent; color: inherit; padding: 0; }
.docs-request-example { margin-top: 1rem; }
.docs-request-example pre { margin-bottom: .65rem; }
.docs-copy { border: 1px solid var(--color-border-strong, #D1D7E0); border-radius: 5px; background: #fff; color: var(--color-text-primary, #193962); cursor: pointer; font-size: .72rem; font-weight: 700; padding: .35rem .55rem; }
.docs-copy:hover { border-color: var(--color-secondary-600, #193962); }
.docs-muted { color: var(--color-text-tertiary, #3D5A80); font-size: .8rem; line-height: 1.55; }
.docs-source { border-top: 1px solid var(--color-border, #D1D7E0); margin-top: 3rem; padding-top: 1rem; color: var(--color-text-tertiary, #3D5A80); font-size: .8rem; line-height: 1.55; }
.docs-source summary { cursor: pointer; font-weight: 700; }
.docs-source-detail { margin: .5rem 0 0; }
.docs-footer { margin-left: 260px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-right: 1rem; margin-top: 1rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--color-border, #D1D7E0); border-radius: 8px; background: var(--color-background, #fff); color: var(--color-text-tertiary, #3D5A80); font-size: .75rem; }
body.docs-body > footer[data-footer-root] { margin: 1rem 1rem 1rem 276px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; color: var(--color-text-tertiary, #3D5A80); padding: 1rem; }
body.docs-body > footer[data-footer-root] > div { max-width: none; padding: 0; gap: .75rem; }
body.docs-body > footer[data-footer-root] nav { gap: .75rem 1rem; }
body.docs-body > footer[data-footer-root] a { color: #2563eb; }
.docs-footer nav { display: flex; flex-wrap: wrap; gap: .75rem 1rem; justify-content: flex-end; }
.docs-footer a { color: var(--color-secondary-700, #193962); text-decoration: none; }
.docs-footer a:hover { text-decoration: underline; }
@media (max-width: 720px) { .docs-footer { margin-left: 1rem; } .docs-footer nav { justify-content: flex-start; } }
/* Shared docs-wide search box (topbar) + results, NEXUS-DOCS-SEARCH-001 */
.docs-search { position: relative; flex: 1 1 320px; max-width: 420px; }
.docs-search-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.docs-search-input {
  width: 100%;
  border: 1px solid var(--color-border, #D1D7E0);
  border-radius: 8px;
  background: var(--color-background, #fff);
  color: var(--color-text-primary, #193962);
  font-size: .86rem;
  padding: .48rem .7rem;
}
.docs-search-input:focus { outline: 2px solid var(--color-secondary-400, #4EE2D0); outline-offset: 1px; }
.docs-search-results {
  position: absolute;
  top: calc(100% + .4rem);
  left: 0;
  right: 0;
  z-index: 30;
  max-height: 70vh;
  overflow: auto;
  border: 1px solid var(--color-border, #D1D7E0);
  border-radius: 10px;
  background: var(--color-background, #fff);
  box-shadow: var(--shadow-md, 0 12px 32px rgba(15, 23, 42, .14));
  padding: .4rem;
}
.docs-search-results[hidden] { display: none; }
.docs-search-hit {
  display: block;
  border-radius: 7px;
  padding: .55rem .65rem;
  color: inherit !important;
  text-decoration: none;
}
.docs-search-hit:hover, .docs-search-hit.is-active { background: var(--color-secondary-50, #F7F8F5); }
.docs-search-hit-crumb, .docs-search-result-crumb {
  color: var(--color-text-tertiary, #3D5A80);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.docs-search-result-crumb span { padding: 0 .35rem; text-transform: none; letter-spacing: 0; }
.docs-search-hit-title { margin: .15rem 0 .1rem; color: var(--color-text-primary, #193962); font-size: .88rem; font-weight: 700; }
.docs-search-hit-snippet, .docs-search-snippet { margin: 0; color: var(--color-text-secondary, #3D5A80); font-size: .78rem; line-height: 1.5; }
.docs-search-hit-snippet mark, .docs-search-snippet mark { background: #fef3c7; color: inherit; border-radius: 2px; padding: 0 .1em; }
.docs-search-empty, .docs-search-loading { padding: .65rem .7rem; color: var(--color-text-tertiary, #3D5A80); font-size: .8rem; }
.docs-search-viewall { display: block; margin-top: .25rem; border-top: 1px solid var(--color-border, #D1D7E0); padding: .55rem .65rem .35rem; color: var(--color-secondary-700, #193962) !important; font-size: .78rem; font-weight: 700; text-decoration: none; }
.docs-search-result-list { display: grid; gap: .9rem; margin-top: 1.5rem; }
.docs-search-result {
  display: block;
  border: 1px solid var(--color-border, #D1D7E0);
  border-radius: 10px;
  padding: 1rem 1.1rem;
  color: inherit !important;
  text-decoration: none;
  background: var(--color-background, #fff);
}
.docs-search-result:hover { border-color: var(--color-secondary-600, #193962); }
.docs-search-result h2 { margin: .25rem 0 .4rem; font-size: 1.02rem; color: var(--color-text-primary, #193962); }
.docs-search-result-endpoint { margin-bottom: .5rem; }
@media (max-width: 1050px) { .docs-layout { grid-template-columns: 220px minmax(0, 1fr); } .docs-right { display: none; } }
@media (max-height: 680px) { .docs-app-nav-item { min-height: 32px; padding-top: 6px; padding-bottom: 6px; } }
@media (max-width: 720px) { .docs-app-sidebar { transform: translateX(-100%); } .docs-topbar, .docs-context-tabs { margin-left: 0; } .docs-topbar-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding: .7rem 0; } .docs-top-links { gap: .7rem; } .docs-search { max-width: none; order: 3; flex-basis: 100%; } .docs-layout { display: block; width: 100%; margin-left: 0; margin-right: 0; } .docs-sidebar { border-right: 0; border-bottom: 1px solid var(--color-border, #D1D7E0); } .docs-sidebar-scroll { position: static; max-height: 245px; padding: 1rem; } .docs-content { padding: 2rem 1rem 4rem; } .docs-article h1 { font-size: 2rem; } }
