.projIcons {
    background-size: cover; /* Makes sure the image covers the entire area */
    background-repeat: no-repeat; /* Ensures the image isn't repeated */
    background-position: center; /* Centers the image */
    display: flex; /* Allows centering of content */
    width: 40px; /* Example width; adjust as per your needs */
    height: 40px; /* Example height; adjust as per your needs */
    padding: 10px; /* Optional: Adds internal spacing inside the div */
    margin:2px;
}
.addPhotoLink {
    background-image: url('/assets/images/icons/assigntask.svg'); /* Path to your image */
}
.assignTaskLink {
    background-image: url('/assets/images/icons/KANBAN.svg'); /* Path to your image */
}
.trackExpenseLink {
     background-image: url('/assets/images/icons/documents.svg'); /* Path to your image */
 }
 .scheduleLink {
      background-image: url('/assets/images/icons/photos.svg'); /* Path to your image */
  }
.jobSitesLink {
     background-image: url('/assets/images/icons/checklist.svg'); /* Path to your image */
 }
.addChatLink {
     background-image: url('/assets/images/icons/addChat-dark-icon.png'); /* Path to your image */
 }
#tasksLoading {
    display: flex;
    justify-content: center; /* Centers content horizontally */
    width: 100%; /* Ensures it spans the full width of the container */
}
.modal-add-item {
    border-color: #dc3545;
    color: #dc3545;
}
.loadingSpinner {
    display: flex;
    justify-content: center; /* Centers content horizontally */
    width: 100%; /* Ensures it spans the full width of the container */
}
.task-type-select {
    max-width: 250px;
}

.task-due-date {
    max-width: 200px;
}

.justify-end {
    display: flex;
    justify-content: end;
}

/* Style for hidden task info elements */
.task-info {
    display: none;
    max-width: 600px;
    justify-content: center;
}

/* Style for all tabs */
 .nav-tabs .nav-link {

     color: #6c757d; /* Default text color */
     transition: color 0.3s, background-color 0.3s; /* Smooth transition for hover effect */
 }

/* Style for the active tab */
.nav-tabs .nav-link.active {
    position: relative; /* Position adjustment to avoid overlapping with border */
}

/* Ensure the active tab does not overlap with the bottom border */
.nav-tabs .nav-link.active {
    margin-bottom: -2px; /* Lifts the active tab border slightly above the bottom border */
}
/* Reduce the spacing within table cells */
table {
    border-collapse: collapse; /* Removes extra space between table cells */
}

table td, table th {
    padding: 2px 0px; /* Reduces padding inside cells */
    line-height: 1; /* Reduces line spacing */
}

/* Optionally, adjust the font size if needed */
table td, table th {
    font-size: 10px; /* Make text smaller for a compact look */
}
.nav-proj-tabs {
    border-bottom: 1px solid darkorange; /* Solid border at the bottom */
}
.nav-task-tabs {
    border-bottom: 1px solid #237eed; /* Solid border at the bottom */
}
/* Starting flexbox alignment for .details-item */
.details-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.1rem 0;
}

/* Ensuring the title and value are side-by-side */
.details-title {
    margin-right: 1rem;
    flex-shrink: 0;
}

.details-value {
    flex-grow: 1;
    text-align: right; /* Ensures values align on the right */
}

/* Stacking behavior for larger screen sizes using default Bootstrap behavior */
@media (min-width: 768px) {
    .details-item {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
    }
    .details-title,
    .details-value {
        text-align: left;
    }
}

/* Parent element retains the two-column layout */
.row {
    display: flex;
    flex-wrap: wrap; /* Ensures responsiveness */
}

/* Each column stays as 50% of the width (even for small screens) */
.col-sm-6 {
    flex: 0 0 50%; /* Take half the width */
    max-width: 50%; /* Maximum width is 50% */
}

/* Decrease font size on smaller screens */
@media (max-width: 768px) {
    h5.fs-base {
        font-size: 0.9rem; /* Reduce font size slightly */
    }

    i.fs-lg {
        font-size: 1.2rem; /* Adjust icon size, if needed */
    }
}

/* Optional: Adjust gap for tighter constraints on smaller screens */
@media (max-width: 576px) {
    .d-flex.gap-2 {
        gap: 0.5rem; /* Shrink gap between elements */
    }
}
.receipt-preview {
    max-width: 100%;
    max-height: 400px;
    border: 2px dashed #dee2e6;
    border-radius: 8px;
}
.drop-zone {
    border: 2px dashed #007bff;
    border-radius: 8px;
    padding: 40px;
    text-align: center;
    background-color: #f8f9fa;
    cursor: pointer;
    transition: all 0.3s ease;
}
.drop-zone:hover {
    background-color: #e3f2fd;
    border-color: #0056b3;
}
.drop-zone.dragover {
    background-color: #e3f2fd;
    border-color: #0056b3;
    transform: scale(1.02);
}
.receipt-data {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
}
.loading-spinner {
    display: none;
}
.camera-container {
    position: relative;
    max-width: 100%;
}
#camera {
    width: 100%;
    max-width: 400px;
    border-radius: 8px;
}
.capture-btn {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}
/* Upload files
*************************************/
.files-container {
    position: relative;
    margin: 30px 2px 15px 2px;
    background-color: rgba(0, 0, 0, 0.2);
}
.files-container span {
    display: block;
    text-align: center;
    padding: 50px 25px;
    font-size: 13px;
    text-transform: capitalize;
}

/*** Dropzone ***/
.files-container.hover {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px dashed rgba(255, 255, 255, 0.5);
    color: rgba(255, 255, 255, 0.85);
}
.files-container {
    position: relative;
    border: 1px dashed rgba(255, 255, 255, 0.25);
    min-height: auto;
}
.files-container #upload-label {
    background: rgba(231, 97, 92, 0);
    color: #fff;
    position: absolute;
    height: 115px;
    top: 20%;
    left: 0;
    right: 0;
    margin-right: auto;
    margin-left: auto;
    min-width: 20%;
    text-align: center;
    cursor: pointer;
}
.files-container.active {
    background: #fff;
}
.files-container.active #upload-label {
    background: #fff;
    color: #e7615c;
}

.files-container #upload-label i:hover {
    color: #444;
    font-size: 9.4rem;
    -webkit-transition: width 2s;
}

.files-container #upload-label span.title {
    font-size: 1em;
    font-weight: bold;
    display: block;
}

span.tittle {
    position: relative;
    top: 222px;
    color: #bdbdbd;
}

.files-container #upload-label i {
    text-align: center;
    display: block;
    color: #e7615c;
    height: 115px;
    font-size: 9.5rem;
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    margin-right: auto;
    margin-left: auto;
}
/** Preview of collections of uploaded documents **/
.preview-container {
    position: relative;
}
.preview-container #previews .onyx-dropzone-info {
    display: flex;
    flex-wrap: nowrap;
    padding-top: 15px;
    width: 100%;
}
.preview-container #previews .onyx-dropzone-info > .thumb-container {
    flex: 0 0 50px;
    max-width: 50px;
    border-radius: 10px;
    overflow: hidden;
    margin-right: 17px;
}
.preview-container #previews .onyx-dropzone-info img {
    max-width: 100%;
    height: auto;
}
.preview-container #previews .onyx-dropzone-info > .details {
    position: relative;
    flex: 0 0 calc(100% - 50px);
    max-width: calc(100% - 50px);
    padding-right: 30px;
}
.preview-container #previews .onyx-dropzone-info .actions {
    position: absolute;
    right: 0;
    top: 50%;
    line-height: 1;
    transform: translateY(-50%);
}
#previews > div {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
}

/* Uploaded files
*************************************/
.no-files-uploaded {
    display: block;
}

.uploaded-files {
    margin-top: 10px;
    transition: all 0.3s ease-in-out;
}
.uploaded-files span,
.uploaded-files a {
    color: rgba(255, 255, 255, 0.5);
    font-size: 14px;
}
.uploaded-files a:hover {
    text-decoration: underline !important;
}
.uploaded-files i {
    position: relative;
    margin-right: 7px;
    font-size: 12px;
    color: #de1500;
}

/* File types
*************************************/
.thumb-container {
    position: relative;
}
div.type-pdf .thumb-container:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-size: 90% 100%;
    background-position: left center;
    background-repeat: no-repeat;
}
div.type-pdf .thumb-container:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNTYgNTYiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDU2IDU2OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGw6I0UyNTc0Qzt9LnN0MXtmaWxsOiNCNTM2Mjk7fS5zdDJ7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxnPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0zNi45LDBoLTI5QzcuMiwwLDYuNCwwLjYsNi40LDEuOVY1NWMwLDAuNCwwLjYsMSwxLjUsMWg0MC4xYzAuNywwLDEuNS0wLjYsMS41LTFWMTNjMC0wLjctMC4xLTAuOS0wLjMtMS4xTDM3LjcsMC4zQzM3LjQsMC4xLDM3LjIsMCwzNi45LDBMMzYuOSwweiIvPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zNy40LDAuMVYxMmgxMS45TDM3LjQsMC4xeiIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0xNy4zLDM0LjNoLTEuNlYyNC4xaDIuOWMwLjQsMCwwLjksMC4xLDEuMiwwLjNjMC40LDAuMSwwLjcsMC40LDEuMSwwLjZjMC40LDAuMywwLjYsMC42LDAuNywxYzAuMywwLjQsMC4zLDAuOSwwLjMsMS4yYzAsMC41LTAuMSwxLTAuMywxLjRjLTAuMSwwLjQtMC40LDAuNy0wLjcsMWMtMC4zLDAuMy0wLjYsMC41LTEuMSwwLjZjLTAuNCwwLjEtMC45LDAuMy0xLjUsMC4zaC0xLjN2My44SDE3LjN6IE0xNy4zLDI1LjR2NGgxLjVjMC4zLDAsMC40LDAsMC42LTAuMXMwLjQtMC4xLDAuNS0wLjRjMC4xLTAuMSwwLjMtMC40LDAuNC0wLjZzMC4xLTAuNiwwLjEtMWMwLTAuMSwwLTAuNC0wLjEtMC42YzAtMC4zLTAuMS0wLjQtMC4zLTAuNmMtMC4xLTAuMy0wLjQtMC40LTAuNi0wLjVjLTAuMy0wLjEtMC42LTAuMy0xLTAuM2gtMS4xVjI1LjR6Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTMyLjIsMjguOWMwLDAuOS0wLjEsMS41LTAuMywyLjFjLTAuMSwwLjYtMC40LDEuMS0wLjYsMS41Yy0wLjMsMC40LTAuNiwwLjctMC45LDFjLTAuNCwwLjMtMC42LDAuNC0xLDAuNWMtMC40LDAuMS0wLjYsMC4xLTAuOSwwLjNjLTAuMywwLTAuNSwwLTAuNiwwaC0zLjlWMjQuMWgzYzAuOSwwLDEuNiwwLjEsMi4yLDAuNGMwLjYsMC4zLDEuMSwwLjYsMS42LDEuMWMwLjQsMC41LDAuNywxLDEsMS41QzMyLjEsMjcuOCwzMi4yLDI4LjQsMzIuMiwyOC45TDMyLjIsMjguOXogTTI3LjMsMzNjMS4xLDAsMS45LTAuNCwyLjQtMS4xYzAuNS0wLjcsMC43LTEuOCwwLjctMy4xYzAtMC40LDAtMC45LTAuMS0xLjJzLTAuMy0wLjctMC42LTEuMWMtMC4zLTAuNC0wLjYtMC42LTEuMS0wLjdjLTAuNS0wLjMtMS4xLTAuMy0xLjktMC4zaC0xVjMzTDI3LjMsMzNMMjcuMywzM3oiLz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMzYuMiwyNS40djMuMWg0LjN2MS4xaC00LjN2NC41aC0xLjZWMjRoNi4zdjEuM2gtNC42VjI1LjR6Ii8+PC9nPjwvc3ZnPg==);
}
div.type-jpg .thumb-container:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhcGFfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1NiA1NiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTYgNTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojMjZCOTlBO30uc3Qxe2ZpbGw6IzE0QTA4NTt9LnN0MntmaWxsOiNGRkZGRkY7fTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTM3LDBIOEM3LjIsMCw2LjUsMC43LDYuNSwxLjlWNTVjMCwwLjMsMC43LDEsMS41LDFINDhjMC44LDAsMS41LTAuNywxLjUtMVYxM2MwLTAuNy0wLjEtMC45LTAuMy0xLjFMMzcuNiwwLjNDMzcuNCwwLjEsMzcuMiwwLDM3LDB6Ii8+PHBvbHlnb24gY2xhc3M9InN0MSIgcG9pbnRzPSIzNy41LDAuMiAzNy41LDEyIDQ5LjMsMTIgIi8+PGc+PHBhdGggY2xhc3M9InN0MiIgZD0iTTIxLjMsMjQuOHY3LjhjMCwwLjUtMC4xLDAuOS0wLjMsMS4yYy0wLjIsMC4zLTAuNCwwLjYtMC43LDAuOGMtMC4zLDAuMi0wLjYsMC4zLTEsMC40Yy0wLjQsMC4xLTAuOCwwLjEtMS4yLDAuMWMtMC4yLDAtMC40LDAtMC43LTAuMWMtMC4zLDAtMC41LTAuMS0wLjgtMC4ycy0wLjYtMC4yLTAuOC0wLjNjLTAuMy0wLjEtMC41LTAuMi0wLjctMC40bDAuNy0xLjFjMC4xLDAuMSwwLjIsMC4xLDAuNCwwLjJjMC4yLDAuMSwwLjQsMC4xLDAuNiwwLjJjMC4yLDAuMSwwLjQsMC4xLDAuNiwwLjJzMC40LDAuMSwwLjYsMC4xYzAuNSwwLDAuOS0wLjEsMS4yLTAuM3MwLjQtMC41LDAuNS0xdi03LjdIMjEuM3oiLz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjUuNCwzNS4xaC0xLjZWMjVoMi45YzAuNCwwLDAuOSwwLjEsMS4zLDAuMnMwLjgsMC4zLDEuMSwwLjZjMC4zLDAuMywwLjYsMC42LDAuOCwxczAuMywwLjgsMC4zLDEuM2MwLDAuNS0wLjEsMS0wLjMsMS40cy0wLjQsMC44LTAuNywxcy0wLjcsMC41LTEuMSwwLjdzLTAuOSwwLjItMS40LDAuMmgtMS4yTDI1LjQsMzUuMUwyNS40LDM1LjF6IE0yNS40LDI2LjN2NGgxLjVjMC4yLDAsMC40LDAsMC42LTAuMWMwLjItMC4xLDAuNC0wLjIsMC41LTAuM3MwLjMtMC40LDAuNC0wLjZzMC4xLTAuNiwwLjEtMWMwLTAuMiwwLTAuNC0wLjEtMC42YzAtMC4yLTAuMS0wLjQtMC4zLTAuNmMtMC4xLTAuMi0wLjMtMC40LTAuNi0wLjVjLTAuMy0wLjEtMC42LTAuMi0xLTAuMkgyNS40eiIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0zOS40LDI5Ljl2My45Yy0wLjIsMC4zLTAuNCwwLjUtMC43LDAuNnMtMC41LDAuMy0wLjgsMC40cy0wLjYsMC4yLTAuOSwwLjJjLTAuMywwLTAuNiwwLjEtMC45LDAuMWMtMC42LDAtMS4yLTAuMS0xLjctMC4zcy0wLjktMC41LTEuMy0xcy0wLjctMS0wLjktMS42Yy0wLjItMC42LTAuMy0xLjQtMC4zLTIuMnMwLjEtMS42LDAuMy0yLjJjMC4yLTAuNiwwLjUtMS4yLDAuOS0xLjZjMC40LTAuNCwwLjgtMC44LDEuMy0xYzAuNS0wLjIsMS4xLTAuMywxLjctMC4zYzAuNSwwLDEuMSwwLjEsMS41LDAuM2MwLjUsMC4yLDAuOSwwLjUsMS4zLDAuOGwtMS4xLDFjLTAuMi0wLjMtMC41LTAuNS0wLjgtMC42Yy0wLjMtMC4xLTAuNi0wLjItMC45LTAuMmMtMC4zLDAtMC43LDAuMS0xLDAuMmMtMC4zLDAuMS0wLjYsMC4zLTAuOCwwLjZjLTAuMiwwLjMtMC40LDAuNy0wLjYsMS4ycy0wLjIsMS4xLTAuMiwxLjhjMCwwLjcsMC4xLDEuMywwLjIsMS44YzAuMSwwLjUsMC4zLDAuOSwwLjUsMS4yczAuNSwwLjYsMC44LDAuN2MwLjMsMC4yLDAuNiwwLjIsMC45LDAuMmMwLjEsMCwwLjIsMCwwLjQsMGMwLjIsMCwwLjMsMCwwLjUtMC4xYzAuMiwwLDAuMy0wLjEsMC41LTAuMXMwLjMtMC4xLDAuMy0wLjJWMzFoLTEuN3YtMS4xTDM5LjQsMjkuOUwzOS40LDI5Ljl6Ii8+PC9nPjwvc3ZnPg==);
}
div.type-png .thumb-container:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhcGFfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1NiA1NiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTYgNTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojODhDMDU3O30uc3Qxe2ZpbGw6IzY1OUMzNTt9LnN0MntmaWxsOiNGRkZGRkY7fTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTM3LDBIOEM3LjIsMCw2LjUsMC43LDYuNSwxLjlWNTVjMCwwLjMsMC43LDEsMS41LDFINDhjMC44LDAsMS41LTAuNywxLjUtMVYxM2MwLTAuNy0wLjEtMC45LTAuMy0xLjFMMzcuNiwwLjNDMzcuNCwwLjEsMzcuMiwwLDM3LDB6Ii8+PHBvbHlnb24gY2xhc3M9InN0MSIgcG9pbnRzPSIzNy41LDAuMiAzNy41LDEyIDQ5LjMsMTIgIi8+PGc+PHBhdGggY2xhc3M9InN0MiIgZD0iTTE2LjksMzUuMWgtMS42VjI1aDIuOWMwLjQsMCwwLjksMC4xLDEuMywwLjJzMC44LDAuMywxLjEsMC42YzAuMywwLjMsMC42LDAuNiwwLjgsMXMwLjMsMC44LDAuMywxLjNjMCwwLjUtMC4xLDEtMC4zLDEuNHMtMC40LDAuOC0wLjcsMXMtMC43LDAuNS0xLjEsMC43cy0wLjksMC4yLTEuNCwwLjJoLTEuMkwxNi45LDM1LjFMMTYuOSwzNS4xeiBNMTYuOSwyNi4zdjRoMS41YzAuMiwwLDAuNCwwLDAuNi0wLjFjMC4yLTAuMSwwLjQtMC4yLDAuNS0wLjNjMC4yLTAuMiwwLjMtMC40LDAuNC0wLjZzMC4xLTAuNiwwLjEtMWMwLTAuMiwwLTAuNC0wLjEtMC42YzAtMC4yLTAuMS0wLjQtMC4zLTAuNmMtMC4xLTAuMi0wLjMtMC40LTAuNi0wLjVzLTAuNi0wLjItMS0wLjJMMTYuOSwyNi4zTDE2LjksMjYuM3oiLz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMzAuOSwyNXYxMC4xaC0xLjdsLTQtNi45djYuOWgtMS43VjI1aDEuN2w0LDYuOVYyNUgzMC45eiIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik00MC43LDI5Ljl2My45Yy0wLjIsMC4zLTAuNCwwLjUtMC43LDAuNnMtMC41LDAuMy0wLjgsMC40cy0wLjYsMC4yLTAuOSwwLjJjLTAuMywwLTAuNiwwLjEtMC45LDAuMWMtMC42LDAtMS4yLTAuMS0xLjctMC4zcy0wLjktMC41LTEuMy0xcy0wLjctMS0wLjktMS42Yy0wLjItMC42LTAuMy0xLjQtMC4zLTIuMnMwLjEtMS42LDAuMy0yLjJjMC4yLTAuNiwwLjUtMS4yLDAuOS0xLjZjMC40LTAuNCwwLjgtMC44LDEuMy0xYzAuNS0wLjIsMS4xLTAuMywxLjctMC4zYzAuNSwwLDEuMSwwLjEsMS41LDAuM2MwLjUsMC4yLDAuOSwwLjUsMS4zLDAuOGwtMS4xLDFjLTAuMi0wLjMtMC41LTAuNS0wLjgtMC42Yy0wLjMtMC4xLTAuNi0wLjItMC45LTAuMmMtMC4zLDAtMC43LDAuMS0xLDAuMmMtMC4zLDAuMS0wLjYsMC4zLTAuOCwwLjZjLTAuMiwwLjMtMC40LDAuNy0wLjYsMS4ycy0wLjIsMS4xLTAuMiwxLjhjMCwwLjcsMC4xLDEuMywwLjIsMS44YzAuMSwwLjUsMC4zLDAuOSwwLjUsMS4yczAuNSwwLjYsMC44LDAuN2MwLjMsMC4yLDAuNiwwLjIsMC45LDAuMmMwLjEsMCwwLjIsMCwwLjQsMGMwLjIsMCwwLjMsMCwwLjUtMC4xYzAuMiwwLDAuMy0wLjEsMC41LTAuMXMwLjMtMC4xLDAuMy0wLjJWMzFoLTEuN3YtMS4xTDQwLjcsMjkuOUw0MC43LDI5Ljl6Ii8+PC9nPjwvc3ZnPg==);
}
div.type-doc .thumb-container:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhcGFfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1NiA1NiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTYgNTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojMDA5NkU2O30uc3Qxe2ZpbGw6IzAwNjJCMjt9LnN0MntmaWxsOiNGRkZGRkY7fTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTM3LDBIOEM3LjIsMCw2LjUsMC43LDYuNSwxLjlWNTVjMCwwLjMsMC43LDEsMS41LDFINDhjMC44LDAsMS41LTAuNywxLjUtMVYxM2MwLTAuNy0wLjEtMC45LTAuMy0xLjFMMzcuNiwwLjNDMzcuNCwwLjEsMzcuMiwwLDM3LDB6Ii8+PHBvbHlnb24gY2xhc3M9InN0MSIgcG9pbnRzPSIzNy41LDAuMiAzNy41LDEyIDQ5LjMsMTIgIi8+PGc+PHBhdGggY2xhc3M9InN0MiIgZD0iTTIyLjUsMjkuOGMwLDAuOC0wLjEsMS41LTAuMywyLjFzLTAuNCwxLjEtMC43LDEuNXMtMC42LDAuNy0wLjksMC45cy0wLjcsMC40LTEsMC41QzE5LjMsMzQuOSwxOSwzNSwxOC44LDM1Yy0wLjMsMC0wLjUsMC0wLjYsMGgtMy44VjI1aDNjMC44LDAsMS42LDAuMSwyLjIsMC40czEuMiwwLjYsMS42LDEuMXMwLjcsMSwxLDEuNUMyMi40LDI4LjYsMjIuNSwyOS4yLDIyLjUsMjkuOHogTTE3LjYsMzMuOWMxLjEsMCwxLjktMC40LDIuNC0xLjFzMC43LTEuNywwLjctMy4xYzAtMC40LDAtMC44LTAuMS0xLjJjLTAuMS0wLjQtMC4zLTAuOC0wLjYtMS4xcy0wLjctMC42LTEuMi0wLjhzLTEuMS0wLjMtMS45LTAuM2gtMXY3LjZDMTYsMzMuOSwxNy42LDMzLjksMTcuNiwzMy45eiIvPjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0zMi41LDMwYzAsMC44LTAuMSwxLjYtMC4zLDIuMnMtMC41LDEuMi0wLjksMS42Yy0wLjQsMC40LTAuOCwwLjgtMS4zLDFzLTEuMSwwLjMtMS43LDAuM3MtMS4yLTAuMS0xLjctMC4zcy0wLjktMC41LTEuMy0xcy0wLjctMS0wLjktMS42cy0wLjMtMS40LTAuMy0yLjJzMC4xLTEuNiwwLjMtMi4yYzAuMi0wLjYsMC41LTEuMiwwLjktMS42YzAuNC0wLjQsMC44LTAuOCwxLjMtMXMxLjEtMC4zLDEuNy0wLjNzMS4yLDAuMSwxLjcsMC4zczAuOSwwLjUsMS4zLDFjMC40LDAuNCwwLjcsMSwwLjksMS42QzMyLjQsMjguNCwzMi41LDI5LjIsMzIuNSwzMHogTTI4LjIsMzMuOGMwLjMsMCwwLjctMC4xLDEtMC4yYzAuMy0wLjEsMC42LTAuMywwLjgtMC42YzAuMi0wLjMsMC40LTAuNywwLjYtMS4yczAuMi0xLjEsMC4yLTEuOGMwLTAuNy0wLjEtMS4zLTAuMi0xLjdjLTAuMS0wLjUtMC4zLTAuOS0wLjUtMS4ycy0wLjUtMC41LTAuOC0wLjdjLTAuMy0wLjEtMC42LTAuMi0wLjktMC4yYy0wLjMsMC0wLjcsMC4xLTEsMC4yYy0wLjMsMC4xLTAuNiwwLjMtMC44LDAuNmMtMC4yLDAuMy0wLjQsMC43LTAuNiwxLjJzLTAuMiwxLjEtMC4yLDEuOGMwLDAuNywwLjEsMS4zLDAuMiwxLjhzMC4zLDAuOSwwLjUsMS4yczAuNSwwLjUsMC44LDAuN0MyNy42LDMzLjcsMjcuOSwzMy44LDI4LjIsMzMuOHoiLz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNNDEuNiwzNC4xYy0wLjQsMC40LTAuOCwwLjYtMS4zLDAuOGMtMC41LDAuMi0xLDAuMy0xLjUsMC4zYy0wLjYsMC0xLjItMC4xLTEuNy0wLjNzLTAuOS0wLjUtMS4zLTFzLTAuNy0xLTAuOS0xLjZzLTAuMy0xLjQtMC4zLTIuMnMwLjEtMS42LDAuMy0yLjJjMC4yLTAuNiwwLjUtMS4yLDAuOS0xLjZjMC40LTAuNCwwLjgtMC44LDEuMy0xYzAuNS0wLjIsMS4xLTAuMywxLjctMC4zYzAuNSwwLDEuMSwwLjEsMS41LDAuM2MwLjUsMC4yLDAuOSwwLjUsMS4zLDAuOGwtMS4xLDFjLTAuMi0wLjMtMC41LTAuNS0wLjgtMC42cy0wLjYtMC4yLTAuOS0wLjJjLTAuMywwLTAuNywwLjEtMSwwLjJjLTAuMywwLjEtMC42LDAuMy0wLjgsMC42Yy0wLjIsMC4zLTAuNCwwLjctMC42LDEuMnMtMC4yLDEuMS0wLjIsMS44YzAsMC43LDAuMSwxLjMsMC4yLDEuOHMwLjMsMC45LDAuNSwxLjJzMC41LDAuNSwwLjgsMC43YzAuMywwLjEsMC42LDAuMiwwLjksMC4yczAuNi0wLjEsMC45LTAuMnMwLjUtMC4zLDAuOC0wLjZMNDEuNiwzNC4xeiIvPjwvZz48L3N2Zz4=);
}
div.type-zip .thumb-container:after {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkNhcGFfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1NiA1NiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTYgNTY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojNTU2MDgwO30uc3Qxe2ZpbGw6IzNGNDg1RTt9LnN0MntmaWxsOiNGRkZGRkY7fTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MCIgZD0iTTM3LDBIOEM3LjIsMCw2LjUsMC43LDYuNSwxLjlWNTVjMCwwLjMsMC43LDEsMS41LDFINDhjMC44LDAsMS41LTAuNywxLjUtMVYxM2MwLTAuNy0wLjEtMC45LTAuMy0xLjFMMzcuNiwwLjNDMzcuNCwwLjEsMzcuMiwwLDM3LDB6Ii8+PHBvbHlnb24gY2xhc3M9InN0MSIgcG9pbnRzPSIzNy41LDAuMiAzNy41LDEyIDQ5LjMsMTIgIi8+PGc+PHBhdGggY2xhc3M9InN0MiIgZD0iTTI0LjksMjV2MS4zbC00LjgsNy4ybC0wLjMsMC4yaDUuMVYzNWgtNi43di0xLjNsNC44LTcuMmwwLjMtMC4yaC01LjFWMjVIMjQuOXoiLz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjguOSwzNWgtMS43VjI1aDEuN1YzNXoiLz48cGF0aCBjbGFzcz0ic3QyIiBkPSJNMzMsMzVoLTEuNlYyNWgyLjljMC40LDAsMC45LDAuMSwxLjMsMC4yczAuOCwwLjMsMS4xLDAuNmMwLjMsMC4zLDAuNiwwLjYsMC44LDFzMC4zLDAuOCwwLjMsMS4zYzAsMC41LTAuMSwxLTAuMywxLjRjLTAuMiwwLjQtMC40LDAuOC0wLjcsMWMtMC4zLDAuMy0wLjcsMC41LTEuMSwwLjdzLTAuOSwwLjItMS40LDAuMkgzM0wzMywzNUwzMywzNXogTTMzLDI2LjJ2NGgxLjVjMC4yLDAsMC40LDAsMC42LTAuMWMwLjItMC4xLDAuNC0wLjIsMC41LTAuM3MwLjMtMC40LDAuNC0wLjZzMC4yLTAuNiwwLjItMWMwLTAuMiwwLTAuNC0wLjEtMC42YzAtMC4yLTAuMS0wLjQtMC4zLTAuNmMtMC4xLTAuMi0wLjMtMC40LTAuNi0wLjVzLTAuNi0wLjItMS0wLjJMMzMsMjYuMkwzMywyNi4yeiIvPjwvZz48L3N2Zz4=);
}

/* Warnings
*************************************/
#warnings {
    display: none;
    padding-top: 30px;
}
#warnings span {
    display: block;
    padding: 15px 20px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    background-color: rgba(255, 255, 255, 0.05);
}
.stacked-cards {
    display: flex;
    flex-direction: column;
    gap: 1rem; /* Space between stacked cards */
    height: auto; /* Cards expand to fit content */
}

.card {
    width: 100%; /* Full width in the column */
    height: auto; /* Expand height based on content */
}

.card>.card-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Schedule and Timeline Filter Styles */
.card-header .row {
    margin-bottom: 0;
}

.card-header .form-label {
    margin-bottom: 0.25rem;
    font-weight: 500;
}

.card-header .form-select-sm {
    font-size: 0.8125rem;
    padding: 0.25rem 0.5rem;
}

/* Filter transition effects */
.form-select {
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-select:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

/* Schedule card enhancements */
#schedule-title {
    transition: all 0.3s ease;
}

/* Timeline filter spacing */
.timeline .card-header .row {
    margin-top: 1rem;
}

/* Loading state improvements */
.spinner-border-sm {
    width: 1rem;
    height: 1rem;
}

/* Filter container styling */
.card-header .row.mt-3 {
    border-top: 1px solid rgba(0,0,0,0.1);
    padding-top: 0.75rem;
    margin-top: 0.75rem !important;
}

/* Responsive font sizing for timeline */
.fs-8 {
    font-size: 0.7rem;
}

.fs-7 {
    font-size: 0.8rem;
}

.fs-6 {
    font-size: 0.9rem;
}

.fs-5 {
    font-size: 1rem;
}

/* Medium screens and up */
@media (min-width: 768px) {
    .fs-md-8 {
        font-size: 0.75rem;
    }

    .fs-md-7 {
        font-size: 0.875rem;
    }

    .fs-md-6 {
        font-size: 1rem;
    }

    .fs-md-5 {
        font-size: 1.25rem;
    }
}


/* Kanban Board Styles */
.kanban-board {
    min-width: 300px;
    max-width: 350px;
}

.kanban-item {
    cursor: move;
    user-select: none;
}

.kanban-item.sortable-item-ghost {
    opacity: 0.4;
}

.kanban-item.sortable-item-active {
    opacity: 0.8;
}

.kanban-board-group ul {
    min-height: 100px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.kanban-board-group ul:empty::after {
    content: 'No tasks';
    display: block;
    text-align: center;
    padding: 2rem;
    color: #6c757d;
}

.kanban-item .card {
    transition: all 0.2s ease;
}

.kanban-item .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.link-reset {
    color: inherit;
    text-decoration: none;
}

.link-reset:hover {
    color: var(--bs-primary);
    text-decoration: none;
}
