body {
    min-height: 100vh;
    position: relative;
}

footer {
    position: absolute;
    bottom: 0;
    width: 70%;
    bottom: 40px;
    height: 0%;
}

.work-log-filter .control-label {
    display: block;
}

.work-log-filter .btn {
    margin-top: 20px;
}

.form-control:disabled, .form-control[readonly] {
    background-color: white;
}

.dataTable-bottom {
    display: flex;
    padding: 0 1.5rem 1.5rem;
    justify-content: space-between;
}

.dataTable-bottom .dataTable-pagination-list {
    display: flex;
    list-style-type: none;
}

.dataTable-bottom .dataTable-pagination-list .active a {
    color: white;
}

.navbar-vertical.navbar-expand-xs .navbar-collapse {
    height: calc(100vh - 200px) !important;
}

.navbar-vertical.navbar-expand-xs {
    overflow-y: inherit !important;
}

/*select-search input*/
.selectize-input {
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
}

/*talents avatars*/
.letterAvatar {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-family: sans-serif;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    margin-right: 5px;
    background-color: #0c5460;
}

@media screen and (min-width: 1400px) {
    .table-responsive {
        overflow-x: inherit;
    }
}

.custom-info-background {
    background: #11cdef !important;
}

.custom-danger-background {
    background: #f5365c !important;
}

.custom-success-background {
    background: #2dce89 !important;
}

.custom-default-background {
    background: #172b4d !important;
}

.custom-primary-background {
    background: #5e72e4 !important;
}

.custom-secondary-background {
    background: #8392AB !important;
}

#sort-menu li {
    margin-left: 1rem;
    margin-right: 1rem;
}

.table-total-column {
    border-style: hidden;
}

.table-total-column th:not(:first-child) {
    padding: 0.75rem 0.5rem !important;
}

.table-total-column span {
    font-weight: 400;
}

#talentsListTotalGrossSalaryInactive,
#talentsListTotalNetSalaryInactive,
#budgetsList,
#saveBudgetForm,
#budgetsListDynamic,
#storeTalentAttributeForm,
#talentAttributesListDynamic,
#talentAttributesList,

#talentHolidays {
    display: none;
}

.custom-bold-font {
    font-weight: 800;
}

.red-text{
    color: #eb4334;
}
.orange-text{
    color: #eb6e34;
}
.yellow-text{
    color: #ffd666;
}

.right-text{
    text-align: right;
}
.table tbody tr{
    padding: 0.75rem 1.5rem;
}
.padding-right-15{
    padding-right: 1.5rem;
}
.badge {
    font-size: 0.72em;
}

.table-borderless {
    border-top: 0px solid currentColor!important;
}

.custom-tabs .nav-link {
    color: #1a1a1a;
    border-radius: 0.5rem;
}

.custom-tabs .activeTab {
    background: #FFFFFF;
}

.custom-tabs {
    background: #f4f4f4;
    position: relative;
    border-radius: 0.75rem;
}

.custom-tabs li {
    cursor: pointer;
}

/* Project tab navigation styling */
.nav-pills .nav-link.active,
.nav-pills .nav-link.tab-active {
    background-color: #007bff !important;
    color: #fff !important;
    border-radius: 0.5rem !important;
    opacity: 1 !important;
}

.nav-pills .nav-link {
    opacity: 0.6;
    transition: all 0.3s ease;
}

.nav-pills .nav-link:hover {
    opacity: 0.8;
}

/* Revenue Report Styles */
.sticky-table {
    position: relative;
}

.sticky-table th:first-child,
.sticky-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 10;
    background: white;
    border-right: 1px solid #dee2e6;
    width: 120px;
    min-width: 120px;
    max-width: 120px;
}

.sticky-table th:nth-child(2),
.sticky-table td:nth-child(2) {
    position: sticky;
    left: 120px;
    z-index: 10;
    background: white;
    border-right: 1px solid #dee2e6;
    width: 180px;
    min-width: 180px;
    max-width: 180px;
}

.sticky-table thead th:first-child {
    z-index: 11;
    background: #f8f9fa;
}

.sticky-table thead th:nth-child(2) {
    z-index: 11;
    background: #f8f9fa;
}

/* Team header styling to ensure it doesn't interfere with sticky columns */
.team-header {
    position: relative;
    z-index: 9;
}

/* Talents report specific styling - only first column sticky, wider for emails */
.sticky-table.talents-report th:first-child,
.sticky-table.talents-report td:first-child {
    width: 320px;
    min-width: 320px;
    max-width: 320px;
}

.sticky-table.talents-report th:nth-child(2),
.sticky-table.talents-report td:nth-child(2) {
    position: static;
    left: auto;
    z-index: auto;
    background: transparent;
    border-right: none;
    width: auto;
    min-width: auto;
    max-width: none;
}

.sticky-table.talents-report thead th:nth-child(2) {
    z-index: auto;
    background: transparent;
}

/* Override text truncation for talents report first column */
.sticky-table.talents-report td:first-child .text-sm {
    max-width: none;
    overflow: visible;
    text-overflow: initial;
    white-space: normal;
    text-align: left;
}

/* Ensure talent names and emails are left aligned in talents report */
.sticky-table.talents-report td:first-child {
    text-align: left !important;
}

.sticky-table.talents-report td:first-child h6,
.sticky-table.talents-report td:first-child p {
    text-align: left !important;
}

/* Ensure percentage values in data cells are center aligned */
.sticky-table.talents-report td:not(:first-child) p.text-center {
    text-align: center !important;
}

/* Center align progress bars in table cells */
.sticky-table td .progress {
    margin: 0 auto !important;
    width: 60px !important;
    display: block !important;
}

.sticky-table td {
    text-align: center !important;
}

.sticky-table td > span {
    display: inline-block;
    text-align: center;
    width: 100%;
}

/* Center only the specific div structure that wraps progress bars */
.sticky-table td .font-weight-bold > div {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    align-items: center !important;
}

/* Ensure progress container is centered */
.sticky-table td .font-weight-bold > div > .progress {
    margin: 0 auto !important;
}

/* Project column specific styling */
.sticky-table td:first-child .text-sm {
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

/* Make total column text bold */
.sticky-table td:nth-child(2) {
    font-weight: bold;
}

.sticky-table td:nth-child(2) span {
    font-weight: bold;
}

/* Budget Type Badge Classes */
.badge-contracted {
    background: #3bb84d !important;
    color: #fff !important;
}

.badge-accrual {
    background: #1abc9c !important;
    color: #fff !important;
}

.badge-new-sales {
    background: #e67e22 !important;
    color: #fff !important;
}

.badge-up-sales {
    background: #ffd666 !important;
    color: #333 !important;
}

.badge-subscription {
    background: #6998ff !important;
    color: #fff !important;
}

/* Profit Margin Color Classes */
.profit-excellent {
    color: #3bb84d !important; /* Green for above 20% */
}

.profit-poor {
    color: #eb6e34 !important; /* Orange for 10-20% */
}

.profit-dangerous {
    color: #eb4334 !important; /* Red for 0-10% */
}

.profit-critical {
    color: #8B0000 !important; /* Dark red for below 0% */
}

/* Allocation percentage color classes */
.allocation-excellent {
    color: #00a676 !important; /* Green for 100% allocation */
}

.allocation-good {
    color: #ffd666 !important; /* Yellow for 80-99% allocation */
}

.allocation-moderate {
    color: #eb6e34 !important; /* Orange for 60-79% allocation */
}

.allocation-poor {
    color: #eb4334 !important; /* Red for below 60% allocation */
}

