.ccm-page .header-actions {
    margin-bottom: 15px;
    display: block;
    float: left;
    width: 100%;
}

.ccm-page .ticket-list-toolbar {
    margin-bottom: 1rem;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.ccm-page .ticket-list-toolbar-group {
    max-width: 100%;
    align-items: stretch;
    flex-wrap: nowrap;
}

/* Match select height to primary button (themes vary; use BS5 vars when present). */
.ccm-page .ticket-list-toolbar-group .form-select.ticket-list-project-filter {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    align-self: stretch;
    min-height: calc(var(--bs-btn-height, calc(1.5em + 0.75rem + 2px)) + 2px);
    padding-top: var(--bs-btn-padding-y, 0.375rem);
    padding-bottom: var(--bs-btn-padding-y, 0.375rem);
    line-height: var(--bs-btn-line-height, 1.5);
}

.ccm-page .ticket-list-toolbar-group .ticket-list-create-btn.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    min-height: var(--bs-btn-height, calc(1.5em + 0.75rem + 2px));
}

.ccm-page .ticket-list-toolbar-simple {
    width: 100%;
}

.ccm-page .ticket-list-create-btn {
    white-space: nowrap;
}

.ccm-page .ticket-list {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.ccm-page .ticket-list-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}

.ccm-page .ticket-list-table-scroll .table {
    width: 100%;
    margin-bottom: 0;
    table-layout: auto;
}

.ccm-page .ticket-list .table > thead > tr > th,
.ccm-page .ticket-list .table > tbody > tr > td {
    vertical-align: middle !important;
}

.ccm-page .ticket-list tbody td.ticket-list-actions-cell {
    text-align: right;
}

.ccm-page .ticket-list td.text-end {
    text-align: right !important;
}

.ccm-page .clearfix {
    clear: both;
}

.ccm-page .alert li, .ccm-page .alert ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ccm-page .ticket-list tbody td.ticket-list-actions-cell .ticket-list-delete-link.btn {
    margin: 0 !important;
    vertical-align: middle;
}

.ccm-page .ticket-list .ticket-list-delete-link.btn.btn-danger,
.ccm-page .ticket-list .ticket-list-delete-link.btn.btn-danger:hover,
.ccm-page .ticket-list .ticket-list-delete-link.btn.btn-danger:focus,
.ccm-page .ticket-list .ticket-list-delete-link.btn.btn-danger:active {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
    color: var(--bs-white, #fff) !important;
}

.ccm-page .sss-sortable-th {
    white-space: nowrap;
    vertical-align: middle;
}

.ccm-page .sss-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    text-decoration: none;
    color: inherit;
}

.ccm-page .sss-sort-link:hover {
    color: var(--bs-primary, #0d6efd);
}

.ccm-page .sss-sortable-th.sss-sort-active .sss-sort-link {
    font-weight: 600;
}

.ccm-page .sss-sort-icon {
    font-size: 0.85em;
    line-height: 1;
    opacity: 0.85;
}