:root { --usro-accent: #2563eb; --usro-sidebar-bg: #f8fafc; }
[data-bs-theme="dark"] { --usro-sidebar-bg: #111827; }
.docs-header { background: var(--bs-body-bg); border-bottom: 1px solid var(--bs-border-color); }
.docs-header .btn { --bs-btn-border-width: 0; border-radius: 8px; font-weight: 500; }
.docs-header .btn-outline-primary { color: var(--bs-body-color); }
.docs-header .btn-outline-primary:hover, .docs-header .btn-outline-primary:focus { color: var(--bs-body-color); background: var(--bs-tertiary-bg); }
.docs-header .btn:hover { background: var(--bs-tertiary-bg); }
.header-link, .header-link:hover, .header-link:focus { color: var(--bs-body-color); text-decoration: none !important; display: inline-flex; align-items: center; gap: .4rem; padding: .375rem .75rem; border-radius: 8px; font-weight: 500; font-size: .875rem; }
.header-link:hover { background: var(--bs-tertiary-bg); }
.header-link .menu-icon { width: 14px; height: 14px; }
.docs-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr) 220px; gap: 2rem; padding-top: 1.5rem; }.docs-main { grid-column: 2; max-width: 760px; min-width: 0; }
.docs-sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 270px;
  z-index: 1019;
  overflow: auto;
  background: var(--usro-sidebar-bg);
  border-radius: 0;
  padding: 70px .75rem .75rem 20px;
}
.docs-toc { position: sticky; top: 70px; align-self: start; max-height: calc(100vh - 90px); overflow: auto; font-size: .875rem; }
.sidebar-app { font-weight: 700; margin-bottom: .75rem; display: flex; gap: .5rem; align-items: center; }
.sidebar-group-title { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--bs-emphasis-color); margin: 1rem 0 .25rem; display: flex; gap: .4rem; align-items: center; }
.sidebar-nav ul { list-style: none; padding: 0; margin: 0; }
.sidebar-nav li a { display: flex; gap: .45rem; align-items: center; padding: .3rem .5rem; border-radius: 8px; color: var(--bs-secondary-color); text-decoration: none; font-weight: 400; font-size: .92rem; }
.sidebar-nav li a:hover { color: var(--bs-body-color); }
.sidebar-nav li.active a {
  background: #dbeafe;
  color: #1e40af;
  font-weight: 600;
  box-shadow: inset 3px 0 0 #2563eb;
}
[data-bs-theme="dark"] .sidebar-nav li.active a {
  background: #1e3a8a;
  color: #93c5fd;
  box-shadow: inset 3px 0 0 #3b82f6;
}
.menu-icon, .app-icon { width: 18px; height: 18px; display: inline-flex; flex: none; }
.menu-icon svg, .app-icon svg { width: 100%; height: 100%; }
.flag { width: 16px; height: 16px; border-radius: 50%; object-fit: cover; vertical-align: -2px; margin-right: 4px; }
button[data-theme-toggle] { display: inline-flex; align-items: center; justify-content: center; padding-left: 10px; padding-right: 10px; }
.theme-icon { display: inline-flex; align-items: center; justify-content: center; line-height: 0; }
.theme-icon svg { display: block; }
.menu-icon-page { width: 15px; height: 15px; opacity: .8; }
.page-toc ul { list-style: none; padding-left: 0; }
.page-toc .toc-l3 { padding-left: 1rem; }
.prevnext { display: flex; justify-content: space-between; gap: 1rem; margin: 3rem 0; }
.callout { border-radius: 10px; padding: .8rem 1rem; margin: 1rem 0; border: 1px solid; }
.callout-note { background: #eff6ff; border-color: #bfdbfe; }
.callout-tip { background: #ecfdf5; border-color: #a7f3d0; }
.callout-warning { background: #fffbeb; border-color: #fde68a; }
.callout-danger { background: #fef2f2; border-color: #fecaca; }
[data-bs-theme="dark"] .callout-note { background: #172554; border-color: #1e40af; }
[data-bs-theme="dark"] .callout-tip { background: #022c22; border-color: #065f46; }
[data-bs-theme="dark"] .callout-warning { background: #451a03; border-color: #92400e; }
[data-bs-theme="dark"] .callout-danger { background: #450a0a; border-color: #991b1b; }
.doc-tabs { border: 1px solid var(--bs-border-color); border-radius: 10px; margin: 1rem 0; }
.doc-tab-btn { border: 0; background: transparent; padding: .5rem 1rem; font-weight: 600; }
.doc-tab-btn.active { color: var(--usro-accent); border-bottom: 2px solid var(--usro-accent); }
.doc-tab-pane { display: none; padding: 1rem; }
.doc-tab-pane.active { display: block; }
.docs-footer { border-top: 1px solid var(--bs-border-color); margin-top: 3rem; padding: 1.5rem 0; color: var(--bs-secondary-color); }
.consent-banner { position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); z-index: 1080; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: 12px; padding: .75rem 1rem; box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); max-width: min(720px, calc(100vw - 2rem)); font-size: .9rem; }
.consent-banner[hidden] { display: none !important; }
.consent-actions { display: flex; gap: .5rem; align-items: center; }
.consent-link { font-size: .85rem; }
@media (max-width: 991px) {
  .docs-layout { grid-template-columns: minmax(0, 1fr); }
  .docs-main { grid-column: 1; }
  .docs-sidebar { position: fixed; inset: 0 auto 0 0; width: 300px; z-index: 1045; transform: translateX(-100%); transition: transform .2s; max-height: none; border-radius: 0; }
  body.drawer-open .docs-sidebar { transform: none; }
  .docs-toc { display: none; }
}
