body {
    padding-bottom: 2rem;
}

.table-actions {
    white-space: nowrap;
    display: inline-flex;
    gap: 0.25rem;
}

.table-actions .btn {
    padding: 0.2rem 0.45rem;
    font-size: 0.8rem;
}

td:has(.table-actions) {
    width: 1%;
    white-space: nowrap;
}

.badge-status {
    cursor: pointer;
    user-select: none;
}

.badge-status:hover {
    opacity: 0.8;
    filter: brightness(1.1);
}

/* Required field indicator */
.form-label .text-danger { font-weight: bold; }

/* Contact pills */
#contactPills .nav-link { font-size: 0.875rem; padding: 0.4rem 0.8rem; }

/* Compact form inputs in protocol forms */
.tab-pane .form-label { font-size: 0.8125rem; margin-bottom: 0.2rem; }

/* Tooltip icon */
.fa-circle-question { font-size: 0.75rem; cursor: help; }

/* Table action buttons */
.table-actions .dropdown-toggle::after { display: none; }

/* Prevent Bootstrap Table container from clipping dropdowns */
.fixed-table-body { overflow: visible !important; }

/* Sticky save bar */
.save-bar { position: sticky; bottom: 0; background: var(--bs-body-bg); padding: 0.75rem 0; border-top: 1px solid var(--bs-border-color); z-index: 10; }

.nav-tabs .nav-link.active {
    font-weight: 600;
}

.modal-lg {
    max-width: 800px;
}

.navbar .btn-link.nav-link {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    padding: 0;
}

.navbar .btn-link.nav-link:hover {
    color: rgba(255, 255, 255, 1);
}

/* Bootstrap-Select icon colors */
.color-red { color: #D64742; }
.color-green { color: #47A447; }

/* Bootstrap-Select: make it look like form-select */
.bootstrap-select {
    width: 100% !important;
}

/* Uniform form element height */
.form-control:not(textarea), .form-select, .input-group .btn {
    height: 38px;
}

.bootstrap-select > .dropdown-toggle.bs-placeholder,
.bootstrap-select > .dropdown-toggle {
    background-color: var(--bs-body-bg) !important;
    border: 1px solid var(--bs-border-color) !important;
    color: var(--bs-body-color) !important;
    height: 38px;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: var(--bs-border-radius);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.bootstrap-select > .dropdown-toggle:focus,
.bootstrap-select > .dropdown-toggle:active,
.bootstrap-select.show > .dropdown-toggle {
    border-color: #86b7fe !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.bootstrap-select .dropdown-menu {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
}

.bootstrap-select .dropdown-menu .dropdown-item,
.bootstrap-select .dropdown-menu .dropdown-item.active,
.bootstrap-select .dropdown-menu .dropdown-item.selected {
    color: var(--bs-body-color) !important;
    background-color: transparent;
}

.bootstrap-select .dropdown-menu .dropdown-item:hover,
.bootstrap-select .dropdown-menu .dropdown-item:focus {
    background-color: var(--bs-tertiary-bg) !important;
    color: var(--bs-body-color) !important;
}

.bootstrap-select .dropdown-menu .dropdown-item.active .check-mark,
.bootstrap-select .dropdown-menu .dropdown-item.selected .check-mark {
    color: var(--bs-primary);
}

.bootstrap-select .dropdown-menu .popover-header {
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
}

.bootstrap-select .bs-searchbox input {
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}

.bootstrap-select .no-results {
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-secondary-color);
}
