/* ---------- Docs layout ---------- */
.docs-layout{
  display:flex;
  min-height:calc(100vh - 72px);
}

/* ---------- Sidebar ---------- */
.docs-sidebar{
  width:var(--sidebar-width);
  flex-shrink:0;
  background:var(--card-bg);
  border-right:1px solid var(--border);
  position:sticky;
  top:72px;
  align-self:flex-start;
  height:calc(100vh - 72px);
  overflow-y:auto;
  padding:0 0 24px 0;
}

.docs-sidebar .nav-group-title{
  text-transform:uppercase;
  font-size:0.7rem;
  letter-spacing:1px;
  color:var(--text-muted);
  padding:16px 24px 6px 24px;
  font-weight:700;
}

.docs-sidebar .nav-group-title:first-child{
  padding-top:24px;
}

.docs-sidebar nav a{
  display:block;
  text-decoration:none;
  color:var(--text);
  padding:7px 24px;
  font-size:0.9rem;
  border-left:3px solid transparent;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.docs-sidebar nav a:hover{
  background:#FAFAF7;
  text-decoration:none;
}

.docs-sidebar nav a.active{
  border-left-color:var(--std-teal);
  background:var(--std-bg-start);
  color:var(--std-navy);
  font-weight:600;
}

/* ---------- Main docs content ---------- */
.docs-main{
  flex:1;
  padding:40px 48px 80px 48px;
  max-width:920px;
}

.docs-main section{
  margin-bottom:52px;
  scroll-margin-top:24px;
}

.docs-main section h2{
  font-size:1.5rem;
  margin:0 0 14px 0;
  padding-top:14px;
  border-top:3px solid var(--std-teal);
}

.docs-main section .section-intro{
  color:var(--text-muted);
  margin-top:0;
}

.docs-main h3{
  font-size:1.1rem;
  margin-top:30px;
  margin-bottom:8px;
  padding-bottom:6px;
  border-bottom:1px solid var(--border);
}

.docs-main h4{
  font-size:0.98rem;
  margin-top:20px;
  margin-bottom:6px;
}

.cat-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:10px 0;
}

.err-val{
  color:#A23C3C;
  font-family: Consolas, "Courier New", monospace;
  font-size:0.85em;
}

table caption{
  text-align:left;
  font-size:0.83rem;
  color:var(--text-muted);
  padding:6px 2px 10px 2px;
}

/* ---------- Mobile docs nav toggle ---------- */
.docs-nav-toggle{
  display:none;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px){
  .docs-layout{
    flex-direction:column;
  }

  .docs-sidebar{
    position:sticky;
    top:72px;
    width:100%;
    height:auto;
    max-height:none;
    border-right:none;
    border-bottom:1px solid var(--border);
    z-index:50;
  }

  .docs-nav-toggle{
    display:inline-block;
    background:var(--std-teal);
    color:#FFFFFF;
    border:none;
    border-radius:4px;
    margin:12px 24px;
    padding:8px 14px;
    font-weight:700;
    font-size:0.85rem;
    cursor:pointer;
  }

  .docs-sidebar nav, .docs-sidebar .nav-group-title{
    display:none;
  }

  .docs-sidebar.open nav, .docs-sidebar.open .nav-group-title{
    display:block;
  }

  .docs-sidebar.open nav{
    border-top:1px solid var(--border);
    padding-top:8px;
  }

  .docs-main{
    padding:28px 20px 60px 20px;
  }

  .docs-main section h2{
    font-size:1.3rem;
  }

  table{
    min-width:600px;
  }
}
