body {
    font-size: 0.95rem;
}

.navbar-brand {
    font-weight: 600;
}

.card-title {
    font-size: 1rem;
}

.stat-number {
    font-size: 1.8rem;
    font-weight: 700;
}

.table td,
.table th {
    vertical-align: middle;
}

.admin-layout {
    min-height: 100vh;
    display: flex;
}

.admin-sidebar {
    width: 240px;
    background: #111827;
    color: #e5e7eb;
    padding: 1rem;
    flex-shrink: 0;
}

.admin-sidebar-brand {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.student-sidebar,
.student-offcanvas {
    background: #0f172a;
}

.admin-sidebar .list-group-item,
.offcanvas .list-group-item {
    background: transparent;
    color: #d1d5db;
    border-color: #374151;
}

.admin-sidebar .list-group-item:hover,
.admin-sidebar .list-group-item.active,
.offcanvas .list-group-item:hover,
.offcanvas .list-group-item.active {
    background: #1f2937;
    color: #fff;
}

.student-sidebar .list-group-item:hover,
.student-sidebar .list-group-item.active,
.student-offcanvas .list-group-item:hover,
.student-offcanvas .list-group-item.active {
    background: #1e3a8a;
    color: #fff;
}

.admin-sidebar .accordion-button,
.offcanvas .accordion-button {
    background: transparent;
    color: #e5e7eb;
    box-shadow: none;
}

.admin-sidebar .accordion-button:not(.collapsed),
.offcanvas .accordion-button:not(.collapsed) {
    background: transparent;
    color: #fff;
}

.admin-sidebar .accordion-button::after,
.offcanvas .accordion-button::after {
    filter: invert(1);
}

.admin-mobile-toggle {
    display: none;
}

.admin-main {
    flex: 1;
    background: #f8f9fa;
}

.admin-topbar {
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
}

@media (max-width: 991.98px) {
    .admin-mobile-toggle {
        display: inline-flex;
    }
}
