.sidebar-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
}
.card-stats .h5 { font-size: 1.1rem; }
.dt-search-box { max-width: 300px; }
.table-responsive { font-size: 0.875rem; }
.btn-action { padding: 0.25rem 0.5rem; font-size: 0.75rem; }
.year-badge {
    display: inline-block;
    padding: 0.25em 0.65em;
    border-radius: 0.35rem;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}
.year-1 { background-color: #28a745; color: #fff; }
.year-2 { background-color: #ffc107; color: #212529; }
.year-3 { background-color: #007bff; color: #fff; }
.year-4 { background-color: #dc3545; color: #fff; }
.year-5 { background-color: #fd7e14; color: #fff; }
.profile-img-preview { max-width: 200px; max-height: 200px; object-fit: contain; }
.upload-preview { border: 1px dashed #ccc; padding: 1rem; text-align: center; min-height: 120px; }
.upload-preview img { max-height: 100px; }

.select2-container--default .select2-selection--single {
    height: calc(1.5em + 0.75rem + 2px);
    border: 1px solid #d1d3e2;
    border-radius: 0.35rem;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: calc(1.5em + 0.75rem);
    padding-left: 0.75rem;
    color: #6e707e;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: calc(1.5em + 0.75rem);
}
.select2-container .select2-search__field {
    outline: none;
}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #4e73df;
}
.form-control-sm + .select2-container .select2-selection--single {
    height: calc(1.5em + 0.5rem + 2px);
}
.form-control-sm + .select2-container .select2-selection--single .select2-selection__rendered,
.form-control-sm + .select2-container .select2-selection--single .select2-selection__arrow {
    line-height: calc(1.5em + 0.5rem);
    height: calc(1.5em + 0.5rem);
}
.select2-container--default .select2-selection--multiple {
    min-height: calc(1.5em + 0.75rem + 2px);
    border: 1px solid #d1d3e2;
    border-radius: 0.35rem;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #4e73df;
    border-color: #4e73df;
    color: #fff;
    padding: 0 0.4rem;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: rgba(255, 255, 255, 0.85);
    margin-right: 0.25rem;
}

.password-toggle-wrapper {
    position: relative;
}
.password-toggle-wrapper .form-control {
    padding-right: 2.75rem;
}
.password-toggle-wrapper .form-control-user {
    padding-right: 3rem;
}
.password-toggle-btn {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 2.75rem;
    border: 0;
    background: transparent;
    color: #858796;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.password-toggle-wrapper .form-control-user + .password-toggle-btn {
    right: 0.75rem;
    width: 2.25rem;
}
.password-toggle-btn:hover,
.password-toggle-btn:focus {
    color: #4e73df;
    outline: none;
}
