body { background:#f5f6fa; }

.sidebar { position:sticky; top:70px; max-height:calc(100vh - 90px); overflow-y:auto; }
.sidebar .nav-link, .offcanvas .nav-link { color:#495057; font-size:.9rem; padding:.35rem .75rem; border-left:3px solid transparent; }
.sidebar .nav-link:hover, .sidebar .nav-link.active,
.offcanvas .nav-link:hover, .offcanvas .nav-link.active { color:#0d6efd; border-left-color:#0d6efd; background:#e9f2ff; }
.nav-group { font-weight:700; font-size:.78rem; text-transform:uppercase; color:#6c757d; padding:.75rem .75rem .25rem; }

.card-doc { border:none; box-shadow:0 1px 4px rgba(0,0,0,.08); margin-bottom:1.5rem; }
.card-doc .card-header { background:#0d6efd; color:#fff; font-weight:600; }
.card-doc .card-header small { font-weight:400; opacity:.85; }

pre { background:#1e1e2e; color:#e4e4e7; padding:1rem; border-radius:.5rem; font-size:.82rem; overflow-x:auto; }
pre code { color:inherit; }

.endpoint { font-family:monospace; background:#e9ecef; padding:.15rem .5rem; border-radius:.25rem; }
.badge-method { background:#198754; }

.table td, .table th { font-size:.88rem; vertical-align:top; }
.req-ya { color:#dc3545; font-weight:600; }
.req-tidak { color:#6c757d; }
.param-name { font-family:monospace; font-weight:600; color:#0d6efd; }
.alert-note { font-size:.9rem; }
h5.sub-title { margin-top:1.25rem; font-weight:700; }
