body {
    background-color: #f5f6fa;
    min-height: 100vh;
}

.auth-body {
    background: radial-gradient(circle at top, #0d6efd 0%, #6610f2 55%, #0f172a 120%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.auth-wrapper {
    width: 100%;
    max-width: 420px;
}

.auth-card {
    border-radius: 16px;
    border: none;
    box-shadow: 0 16px 45px rgba(15, 23, 42, 0.25);
    overflow: hidden;
}

.auth-card .card-header {
    background: linear-gradient(135deg, #0d6efd 0%, #4c58ef 60%, #1b2a4a 100%);
    color: #fff;
    padding: 1.5rem 1.5rem 1rem;
}

.auth-card .card-header h4 {
    color: #fff;
}

.auth-card .card-body {
    background: #fff;
}

#wrapper {
    min-height: 100vh;
}

#page-content-wrapper {
    width: 100%;
    background-color: #fff;
}

.sidebar {
    min-width: 250px;
    max-width: 250px;
    min-height: 100vh;
}

.sidebar .list-group-item {
    border: none;
    border-radius: 0;
}

.sidebar .list-group-item.active,
.sidebar .list-group-item:hover {
    background-color: #0d6efd;
    color: #fff;
}

.content-section {
    padding: 1.5rem;
}

.content-header {
    border-bottom: 1px solid #dee2e6;
    padding: 1rem 1.5rem;
    background-color: #fff;
}

/* Ensure DataTables length dropdown is always visible and usable */
.dataTables_wrapper .dataTables_length {
    display: block !important;
}
.dataTables_wrapper .dataTables_length select {
    min-width: 80px;
}

/* Ensure pagination controls are visible */
.dataTables_wrapper .dataTables_paginate {
    display: flex !important;
    gap: 0.5rem;
    justify-content: flex-end;
    align-items: center;
}

.manual-pager {
    font-size: 0.9rem;
}

/* Global button styling for consistency across pages */
.btn {
    border-radius: 10px;
    font-weight: 600;
    padding: 0.55rem 1rem;
    letter-spacing: 0.01em;
    transition: all 0.15s ease-in-out;
}

.btn-sm {
    padding: 0.35rem 0.65rem;
    font-weight: 600;
}

.btn i:not(:last-child) {
    margin-right: 0.35rem;
}

.btn-primary {
    background: linear-gradient(135deg, #0d6efd 0%, #0b5ed7 60%, #0a58ca 100%);
    border: none;
    box-shadow: 0 6px 14px rgba(13, 110, 253, 0.25);
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(135deg, #0b5ed7 0%, #0a58ca 60%, #084298 100%);
    box-shadow: 0 8px 18px rgba(13, 110, 253, 0.35);
}

.btn-outline-primary {
    border-width: 1.5px;
    color: #0d6efd;
    box-shadow: none;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background: #0d6efd;
    color: #fff;
    box-shadow: 0 6px 14px rgba(13, 110, 253, 0.2);
}

.btn-secondary,
.btn-outline-secondary {
    border-radius: 10px;
}

.btn:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
