body {
    padding-top: 58px;
}

.accordion-button {
    height: 44px;
    line-height: 44px;
}

.wrapper {
    display: flex;
    justify-content: space-between;
}

.main {
    padding: 2px;
    flex: 1;
    height: 1200vh;
}

.sidebar-left {
    width: 15%;
    height: 100vh;
    transition: width 0.3s ease, padding 0.3s ease;
    overflow: hidden;
}

.sidebar-left.collapsed {
    width: 0;
    padding: 0;
}

.sidebar-toggle-wrapper {
    display: flex;
    align-items: center;
    position: sticky;
    top: 58px;
    height: 85vh;
    z-index: 10;
}

.sidebar-toggle-btn {
    padding: 1.2rem 0.1rem;
    line-height: 1;
}

.sidebar-right {
    width: 35%;
    height: 85vh;
}

.sidebar {
    padding: 2px;
    position: sticky;
    top: 58px;
}

.survey-table {
    height: 450px;
    overflow-y: auto;
}

.image-full-height {
    height: 80vh;
    object-fit: cover;
}

.transpose thead,
.transpose tbody,
.transpose tr {
    display: inline-block;
}

.transpose tbody tr {
    margin-right: -.27em;
}

.transpose th,
.transpose td {
    display: block;
}

.custom-thead th {
    padding-top: 0.12rem;
    padding-bottom: 0.12rem;
}

.accordion-body {
    --bs-accordion-body-padding-y: 1.0rem;
    --bs-accordion-body-padding-x: 0.7rem;
}

.accordion-button {
    --bs-accordion-btn-padding-x: 0.7rem;
    --bs-accordion-btn-bg: var(--bs-success-bg-subtle);
    --bs-accordion-active-bg: var(--bs-success-bg-subtle);
}

#resultsPanel .card-body {
    padding: 0.5rem;
}

.text-blue {
    color: blue !important;
}

.cell-error-message {
    max-width: 90px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

.action-buttons .btn {
    padding: 0.25rem 0.45rem;
    line-height: 1;
}

.action-buttons i {
    font-size: 0.7rem;
}

#postjobForm #div_id_csv_file {
    margin-bottom: 0.5rem !important;
}

/* User avatar button */
.user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%);
    color: white;
    font-weight: 600;
    font-size: 0.85rem;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.user-avatar:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(13, 110, 253, 0.4);
}

.user-avatar:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.3);
}

.user-avatar::after {
    display: none;
}

.dropdown-header {
    font-weight: 500;
    color: #495057;
}

/* Completion tables (Tabulator) */
.completion-table .tabulator-col-title,
.completion-table .tabulator-cell {
    font-size: 0.80rem;
}

.completion-table .tabulator-col-content {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}