@charset "utf-8";
/* CSS Document */

/* Circular Table Customization */
.custom-circular-table {
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
}

.custom-circular-table thead th {
    border-bottom: 2px solid #f8f9fa;
    letter-spacing: 0.5px;
}

.custom-circular-table tbody tr {
    transition: background 0.2s ease;
}

.custom-circular-table tbody tr:hover {
    background-color: #fcfcfc !important;
}

.custom-circular-table td {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.pagination .page-link {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
}


/* Custom Icon Containers */
.icon-box-styled {
    width: 60px;
    height: 60px;
    min-width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}

/* Subtle Color Palette */
.bg-blue-light { background-color: #f0f7ff; }
.bg-green-light { background-color: #f0fff4; }
.bg-red-light { background-color: #fff5f5; }

/* Interactive States */
.transition-base {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    border: 1px solid #edf2f7;
}

.shadow-sm-hover:hover {
    cursor: pointer;
    transform: translateY(-3px);
    box-shadow: 0 12px 20px -10px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e0;
}

.shadow-sm-hover:hover .icon-box-styled {
    filter: brightness(0.95);
}

/* Typography Polish */
.tracking-wider {
    letter-spacing: 0.05em;
}


.border-start-primary-4 { border-left: 4px solid #0d6efd !important; }
.border-start-success-4 { border-left: 4px solid #198754 !important; }
.border-start-danger-4 { border-left: 4px solid #dc3545 !important; }

.extra-small { font-size: 0.75rem; }

.shadow-sm-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.08)!important;
    background-color: #fff !important;
    border-color: #dee2e6 !important;
}

.table-hover tbody tr:hover {
    background-color: #fcfcfc;
}

/* Matching the 'Sober' look we established */
.icon-box-styled.sm {
    width: 48px;
    height: 48px;
    min-width: 48px;
}

.extra-small {
    font-size: 0.8rem;
    line-height: 1.2;
}

.hover-bg-light:hover {
    background-color: #f8f9fa;
    border-color: #dee2e6 !important;
}

.list-group-item:hover {
    background-color: #fcfcfc !important;
}

/* Styling for the staff-directory-style search bar */
.form-control-lg {
    height: 60px;
    font-size: 1.1rem;
    border: 1px solid #e0e6ed !important;
}

.form-control-lg:focus {
    box-shadow: 0 10px 20px rgba(13, 110, 253, 0.1) !important;
    border-color: #0d6efd !important;
}

/* Matching your staff directory row style */
.table tbody tr td {
    padding-top: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f0f4f8;
}

.extra-small {
    font-size: 0.75rem;
}