.navbar-vertical .navbar-nav .nav-link.active {
    background: linear-gradient(90deg, #172b4d 0%, #1a1f37 100%);
    color: #fff;
}
.navbar-vertical .navbar-nav .nav-link.active .nav-link-text,
.navbar-vertical .navbar-nav .nav-link.active i,
.navbar-vertical .navbar-nav .nav-link.active .icon,
.navbar-vertical .navbar-nav .nav-link.active .icon i,
.navbar-vertical .navbar-nav .nav-link.active .text-dark {
    color: #fff !important;
}
.table td, .table th {
    vertical-align: middle;
}
.pagination .page-item.active .page-link {
    color: #fff;
}
.table-search .form-control,
.table-search .btn {
    height: 40px;
}
.table-search .form-control {
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
    border: 1px solid #d2d6da;
    border-right: 0;
    padding: 0 0.85rem;
    background: #fff;
    box-shadow: none;
}
.table-search .btn {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
    padding: 0 0.9rem;
    box-shadow: none;
}
.table-search .form-control:focus {
    border-color: #5e72e4;
    box-shadow: 0 0 0 0.2rem rgba(94, 114, 228, 0.15);
}
.booking-badge {
    width: 140px;
    min-height: 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    padding: 6px 8px;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    line-height: 1.1;
    color: #1f2937;
}
.booking-badge label {
    color: inherit;
    font-weight: 600;
}
.form-control-color {
    width: 3rem;
    height: 2.5rem;
    padding: 0.25rem;
    border-radius: 0.5rem;
}
.class-badge {
    width: 140px;
    min-height: 44px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    padding: 6px 8px;
    border-radius: 0.5rem;
    font-size: 0.75rem;
    line-height: 1.1;
    color: #1f2937;
    text-decoration: none;
}
.table th.day-alt,
.table td.day-alt {
    background-color: #f8f9fa !important;
}
@media (max-width: 576px) {
    .sidenav {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }
}
.mail-template-card {
    min-height: 70vh;
}
.mail-template-card .card-body {
    display: flex;
    flex-direction: column;
}
.mail-template-card textarea,
.mail-template-card iframe {
    flex: 1 1 auto;
    min-height: 50vh;
}
.mail-template-card textarea {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    white-space: pre;
}