body { background-color: #f8f9fa; }

.sidebar { position: fixed; top: 0; left: 0; height: 100vh; overflow-y: auto; z-index: 1000; width: 260px; }
.sidebar .nav-link.active { background-color: #0d6efd; }

.main-content { margin-left: 260px; padding: 20px; }

@media (max-width: 991.98px) {
    .main-content { margin-left: 0 !important; padding: 15px; }
    .offcanvas-body .nav-link { color: #f8f9fa !important; }
    .offcanvas-body .nav-link:hover { background-color: rgba(255,255,255,0.1); }
}

.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 576px) {
    .main-content { padding: 10px; }
    .card-text.display-6 { font-size: 1.2rem; }
}