.handball-camps *,
.handball-camps *::before,
.handball-camps *::after {
    transition: none !important;
    animation: none !important;
}

.handball-camps .btn:hover,
.handball-camps .btn:focus,
.handball-camps .btn:active,
.handball-camps .btn:first-child:active,
.handball-camps :not(.btn-check) + .btn:active {
    color: var(--bs-btn-color) !important;
    background-color: var(--bs-btn-bg) !important;
    border-color: var(--bs-btn-border-color) !important;
    box-shadow: none !important;
    transform: none !important;
}

.handball-camps a:hover {
    color: var(--bs-link-color) !important;
}

.handball-camps .card:hover,
.handball-camps .list-group-item:hover,
.handball-camps .form-control:hover,
.handball-camps .form-select:hover {
    box-shadow: none !important;
    transform: none !important;
}

.handball-camps .handball-camps-compact-input-group {
    max-width: 260px;
}

.handball-camps .handball-camps-short-field {
    flex: 0 0 5.75rem;
    max-width: 5.75rem;
}

.handball-camps .handball-camps-compact-input-group .input-group-text {
    flex: 0 0 auto;
    white-space: nowrap;
}


.handball-camps .table tbody tr:hover,
.handball-camps .table-striped tbody tr:hover > * {
    color: inherit !important;
    background-color: inherit !important;
}


.handball-camps .handball-camps-page-title {
    font-size: 1.35rem;
    font-weight: 600;
}

.handball-camps .handball-camps-active-camp-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    color: #6c757d;
    font-size: 0.9375rem;
}

.handball-camps .handball-camps-tabs .nav-link {
    transition: none !important;
}

.handball-camps .handball-camps-tabs .nav-link:hover {
    color: inherit !important;
    border-color: transparent !important;
    background-color: transparent !important;
}

.handball-camps .handball-camps-tabs .nav-link.active:hover {
    color: var(--bs-nav-tabs-link-active-color) !important;
    background-color: var(--bs-nav-tabs-link-active-bg) !important;
    border-color: var(--bs-nav-tabs-link-active-border-color) !important;
}

.handball-camps .handball-camps-tab-content {
    padding-bottom: 0.25rem;
}

.handball-camps .handball-camps-participant-list-table th {
    white-space: nowrap;
}

.handball-camps .handball-camps-participant-list-table td {
    vertical-align: top;
}

.handball-camps .handball-camps-participant-list-table th:nth-child(2),
.handball-camps .handball-camps-participant-list-table td:nth-child(2),
.handball-camps .handball-camps-participant-list-table th:nth-child(4),
.handball-camps .handball-camps-participant-list-table td:nth-child(4) {
    width: 7rem;
}

.handball-camps .handball-camps-live-search-wrapper {
    max-width: 760px;
}

.handball-camps .handball-camps-live-search-input-group {
    max-width: 720px;
}

.handball-camps .handball-camps-live-search-result {
    min-height: 1.25rem;
}

.handball-camps .handball-camps-searchable-table tr.d-none {
    display: none !important;
}

.handball-camps .handball-camps-camp-admin-table th,
.handball-camps .handball-camps-camp-admin-table td {
    vertical-align: middle;
}

.handball-camps .handball-camps-occupancy-cell {
    min-width: 13rem;
}

.handball-camps .handball-camps-occupancy-progress {
    height: 0.55rem;
    min-width: 10rem;
}

.handball-camps .handball-camps-action-buttons {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
}

.handball-camps .handball-camps-icon-button {
    width: 2.1rem;
    height: 2.1rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.handball-camps .handball-camps-icon-button svg {
    width: 1rem;
    height: 1rem;
    fill: currentColor;
    pointer-events: none;
}

.handball-camps .handball-camps-five-digit-field {
    max-width: 6.25rem;
}

.handball-camps .handball-camps-price-field {
    max-width: 9rem;
}

.handball-camps .handball-camps-agegroup-select {
    min-height: 8.5rem;
}

.handball-camps .handball-camps-camp-title-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.handball-camps .handball-camps-occupancy-dot {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 999px;
    display: inline-block;
    flex: 0 0 0.8rem;
}

.handball-camps .handball-camps-occupancy-dot-success {
    background: #ff3205;
}

.handball-camps .handball-camps-occupancy-dot-warning {
    background: #ffff00;
}

.handball-camps .handball-camps-occupancy-dot-danger {
    background: #ff3205;
}

.handball-camps .handball-camps-occupancy-dot-neutral {
    background: var(--bs-secondary);
}

.handball-camps .handball-camps-icon-button-lg {
    width: 2.35rem;
    height: 2.35rem;
}

/* Camp administration status colors. */
.handball-camps .handball-camps-occupancy-dot-success {
    background: #ff3205;
}

.handball-camps .handball-camps-occupancy-dot-warning {
    background: #ffff00;
    box-shadow: inset 0 0 0 1px #000000;
}

.handball-camps .handball-camps-occupancy-dot-danger {
    background: #ff3205;
}

.handball-camps .handball-camps-switch {
    width: 3.25rem;
    height: 1.75rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: none;
    appearance: none;
}

.handball-camps .handball-camps-switch:focus,
.handball-camps .handball-camps-switch:active,
.handball-camps .handball-camps-switch:hover {
    outline: none;
    border: 0;
    box-shadow: none;
    background: transparent;
}

.handball-camps .handball-camps-switch-track {
    position: relative;
    width: 3rem;
    height: 1.5rem;
    border-radius: 999px;
    display: block;
    background: #adb5bd;
}

.handball-camps .handball-camps-switch-knob {
    position: absolute;
    top: 0.1875rem;
    left: 0.1875rem;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 999px;
    display: block;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0,0,0,.35);
}

.handball-camps .handball-camps-switch-active .handball-camps-switch-track {
    background: #ff3205;
}

.handball-camps .handball-camps-switch-active .handball-camps-switch-knob {
    left: 1.6875rem;
}

.handball-camps .handball-camps-switch-inactive .handball-camps-switch-track {
    background: #6c757d;
}

.handball-camps .handball-camps-calculated-field[readonly] {
    background-color: #f8f9fa;
    color: #212529;
}

.handball-camps .handball-camps-camp-form .form-text {
    font-size: 0.8125rem;
}

.handball-camps .handball-camps-calculated-field[readonly] {
    pointer-events: none;
    background-color: var(--bs-secondary-bg, #e9ecef);
    color: var(--bs-body-color, #212529);
}

.handball-camps .handball-camps-modal .modal-body {
    padding-top: 1rem;
}

.handball-camps .handball-camps-camp-form-fields .form-label {
    margin-bottom: 0.25rem;
}

/* Camp form refinements 0.3.19 */
.handball-camps .handball-camps-camp-form-fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.handball-camps .handball-camps-form-section {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.75rem;
    background: var(--bs-body-bg, #fff);
    padding: 1rem;
}

.handball-camps .handball-camps-form-section-title {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.85rem;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    background: var(--bs-secondary-bg, #e9ecef);
    font-size: 0.86rem;
    font-weight: 700;
    color: var(--bs-body-color, #212529);
}

.handball-camps .handball-camps-title-field-col {
    max-width: 34rem;
}

.handball-camps .handball-camps-title-field {
    max-width: 32rem;
}

.handball-camps .handball-camps-modal .modal-content {
    border: 0;
    border-radius: 1rem;
    overflow: hidden;
}

.handball-camps .handball-camps-modal .modal-header,
.handball-camps .handball-camps-modal .modal-footer {
    background: var(--bs-tertiary-bg, #f8f9fa);
}

/* Camp form refinements 0.3.19 */
.handball-camps-modal-dialog {
    width: auto;
    max-width: 760px;
}

.handball-camps .handball-camps-modal .modal-body {
    padding: 0.9rem 1rem;
}

.handball-camps .handball-camps-camp-form-fields {
    gap: 0.85rem;
}

.handball-camps .handball-camps-form-section {
    padding: 0;
    border-radius: 0.45rem;
    overflow: hidden;
}

.handball-camps .handball-camps-form-section-title {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0.45rem 0.75rem;
    border-radius: 0;
    background: #e9ecef;
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
    font-size: 0.9rem;
    line-height: 1.2;
    font-weight: 700;
}

.handball-camps .handball-camps-form-section-body {
    padding: 0.75rem;
}

.handball-camps .handball-camps-form-line-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem 1rem;
    margin-top: 0.55rem;
}

.handball-camps .handball-camps-form-line-group:first-child {
    margin-top: 0;
}

.handball-camps .handball-camps-form-line {
    display: inline-grid;
    grid-template-columns: max-content max-content;
    align-items: center;
    column-gap: 0.45rem;
}

.handball-camps .handball-camps-form-line .form-label {
    margin: 0;
    font-weight: 600;
    white-space: nowrap;
}

.handball-camps .handball-camps-form-line-title {
    grid-template-columns: 6.75rem 20rem;
}

.handball-camps .handball-camps-form-line-date,
.handball-camps .handball-camps-form-line-date-wide {
    grid-template-columns: max-content 9.5rem;
}

.handball-camps .handball-camps-form-line-short {
    grid-template-columns: max-content 5.25rem;
}

.handball-camps .handball-camps-form-line-price {
    grid-template-columns: max-content 8.5rem;
}

.handball-camps .handball-camps-form-line-max {
    grid-template-columns: max-content 5.25rem;
}

.handball-camps .handball-camps-form-line-agegroup {
    grid-template-columns: max-content 12rem;
}

.handball-camps .handball-camps-form-line-agegroup-to {
    grid-template-columns: max-content 12rem;
}

.handball-camps .handball-camps-form-line-year {
    grid-template-columns: max-content 5.5rem;
}

.handball-camps .handball-camps-form-line-year-to {
    grid-template-columns: max-content 5.5rem;
}

.handball-camps .handball-camps-title-field {
    max-width: 20rem;
}

.handball-camps .handball-camps-date-field {
    width: 9.5rem;
}

.handball-camps .handball-camps-agegroup-dropdown {
    width: 12rem;
}

.handball-camps .handball-camps-five-digit-field {
    max-width: 5.5rem;
}

.handball-camps .handball-camps-price-field {
    max-width: 8.5rem;
}

@media (max-width: 767.98px) {
    .handball-camps-modal-dialog {
        max-width: calc(100% - 1rem);
        margin-left: 0.5rem;
        margin-right: 0.5rem;
    }

    .handball-camps .handball-camps-form-line,
    .handball-camps .handball-camps-form-line-title,
    .handball-camps .handball-camps-form-line-date,
    .handball-camps .handball-camps-form-line-date-wide,
    .handball-camps .handball-camps-form-line-short,
    .handball-camps .handball-camps-form-line-price,
    .handball-camps .handball-camps-form-line-max,
    .handball-camps .handball-camps-form-line-agegroup,
    .handball-camps .handball-camps-form-line-agegroup-to,
    .handball-camps .handball-camps-form-line-year,
    .handball-camps .handball-camps-form-line-year-to {
        grid-template-columns: 1fr;
        row-gap: 0.2rem;
    }

    .handball-camps .handball-camps-title-field,
    .handball-camps .handball-camps-date-field,
    .handball-camps .handball-camps-agegroup-dropdown {
        width: 100%;
        max-width: 100%;
    }
}


/* Camp form calm layout refinements 0.3.20 */
.handball-camps-modal-dialog {
    max-width: 700px;
}

.handball-camps .handball-camps-modal .modal-content {
    border-radius: 0.7rem;
    box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.12);
}

.handball-camps .handball-camps-modal .modal-header,
.handball-camps .handball-camps-modal .modal-footer {
    padding: 0.65rem 0.9rem;
    background: #f8f9fa;
}

.handball-camps .handball-camps-modal .modal-title {
    font-size: 1rem;
    font-weight: 700;
}

.handball-camps .handball-camps-modal .modal-body {
    padding: 0.75rem 0.85rem;
    background: #f7f8fa;
}

.handball-camps .handball-camps-camp-form-fields {
    gap: 0.65rem;
}

.handball-camps .handball-camps-form-section {
    border: 1px solid #d9dde2;
    border-radius: 0.5rem;
    background: #fff;
    overflow: hidden;
}

.handball-camps .handball-camps-form-section-title {
    padding: 0.38rem 0.7rem;
    background: #e6e8eb;
    border-bottom: 1px solid #d9dde2;
    color: #343a40;
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.handball-camps .handball-camps-form-section-body {
    padding: 0.65rem 0.75rem;
}

.handball-camps .handball-camps-form-line-group {
    display: grid;
    align-items: center;
    gap: 0.45rem 0.75rem;
    margin-top: 0.45rem;
}

.handball-camps .handball-camps-form-row-title {
    grid-template-columns: 1fr;
}

.handball-camps .handball-camps-form-row-dates {
    grid-template-columns: max-content max-content max-content;
}

.handball-camps .handball-camps-form-row-deadlines,
.handball-camps .handball-camps-form-row-costs,
.handball-camps .handball-camps-form-row-agegroups,
.handball-camps .handball-camps-form-row-years {
    grid-template-columns: max-content max-content;
}

.handball-camps .handball-camps-form-line {
    display: grid;
    grid-template-columns: 7.4rem max-content;
    align-items: center;
    column-gap: 0.45rem;
}

.handball-camps .handball-camps-form-line-title {
    grid-template-columns: 7.4rem 18rem;
}

.handball-camps .handball-camps-form-line .form-label {
    color: #000000;
    font-size: 0.86rem;
    font-weight: 600;
    text-align: right;
    line-height: 1.15;
}

.handball-camps .handball-camps-form-line-title .form-label,
.handball-camps .handball-camps-form-line-agegroup .form-label,
.handball-camps .handball-camps-form-line-year .form-label {
    text-align: right;
}

.handball-camps .handball-camps-form-line-to,
.handball-camps .handball-camps-form-line-agegroup-to,
.handball-camps .handball-camps-form-line-year-to {
    grid-template-columns: 2.2rem max-content;
}

.handball-camps .handball-camps-form-line-agegroup-to .form-label,
.handball-camps .handball-camps-form-line-year-to .form-label {
    text-align: right;
}

.handball-camps .handball-camps-title-field {
    width: 18rem;
    max-width: 18rem;
}

.handball-camps .handball-camps-date-field {
    width: 8.9rem;
}

.handball-camps .handball-camps-five-digit-field {
    width: 5rem;
    max-width: 5rem;
}

.handball-camps .handball-camps-price-field {
    width: 8rem;
    max-width: 8rem;
}

.handball-camps .handball-camps-agegroup-dropdown {
    width: 11.5rem;
    max-width: 11.5rem;
}

.handball-camps .handball-camps-camp-form-fields .form-control,
.handball-camps .handball-camps-camp-form-fields .form-select,
.handball-camps .handball-camps-camp-form-fields .input-group-text {
    min-height: 2rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 0.9rem;
}

.handball-camps .handball-camps-calculated-field[readonly] {
    background: #eef0f2;
    border-color: #d3d7dc;
    color: #000000;
}

.handball-camps .handball-camps-form-section + .handball-camps-form-section {
    margin-top: 0;
}

@media (max-width: 767.98px) {
    .handball-camps .handball-camps-form-row-dates,
    .handball-camps .handball-camps-form-row-deadlines,
    .handball-camps .handball-camps-form-row-costs,
    .handball-camps .handball-camps-form-row-agegroups,
    .handball-camps .handball-camps-form-row-years {
        grid-template-columns: 1fr;
    }

    .handball-camps .handball-camps-form-line,
    .handball-camps .handball-camps-form-line-title,
    .handball-camps .handball-camps-form-line-agegroup-to,
    .handball-camps .handball-camps-form-line-year-to {
        grid-template-columns: 1fr;
    }

    .handball-camps .handball-camps-form-line .form-label,
    .handball-camps .handball-camps-form-line-title .form-label,
    .handball-camps .handball-camps-form-line-agegroup-to .form-label,
    .handball-camps .handball-camps-form-line-year-to .form-label {
        text-align: left;
    }

    .handball-camps .handball-camps-title-field,
    .handball-camps .handball-camps-date-field,
    .handball-camps .handball-camps-agegroup-dropdown,
    .handball-camps .handball-camps-price-field,
    .handball-camps .handball-camps-five-digit-field {
        width: 100%;
        max-width: 100%;
    }
}


/* Camp form refinements 0.3.21 */
.handball-camps-modal-dialog {
    max-width: 700px;
}

.handball-camps .handball-camps-form-row-dates {
    grid-template-columns: max-content max-content max-content;
    column-gap: 0.65rem;
}

.handball-camps .handball-camps-form-row-dates .handball-camps-form-line,
.handball-camps .handball-camps-form-line-date,
.handball-camps .handball-camps-form-line-short {
    grid-template-columns: max-content max-content;
}

.handball-camps .handball-camps-form-row-dates .form-label {
    min-width: 3.25rem;
    text-align: right;
}

.handball-camps .handball-camps-form-row-dates .handball-camps-form-line-short .form-label {
    min-width: 3.6rem;
}

.handball-camps .handball-camps-form-row-dates .handball-camps-date-field {
    width: 8.35rem;
    max-width: 8.35rem;
}

.handball-camps .handball-camps-form-row-dates .handball-camps-five-digit-field {
    width: 4.4rem;
    max-width: 4.4rem;
}

.handball-camps .handball-camps-form-row-costs {
    column-gap: 2.2rem;
}

.handball-camps .handball-camps-form-line-max {
    grid-template-columns: max-content 5rem;
}

.handball-camps .handball-camps-form-line-max .form-label {
    min-width: 7.2rem;
    text-align: right;
}

@media (max-width: 767.98px) {
    .handball-camps .handball-camps-form-row-dates .handball-camps-date-field,
    .handball-camps .handball-camps-form-row-dates .handball-camps-five-digit-field {
        width: 100%;
        max-width: 100%;
    }

    .handball-camps .handball-camps-form-row-dates .form-label,
    .handball-camps .handball-camps-form-line-max .form-label {
        min-width: 0;
        text-align: left;
    }
}

/* Camp registration refinements 0.4.2 */
.handball-camps-registration .handball-camps-registration-start,
.handball-camps-registration .handball-camps-registration-facts,
.handball-camps-registration .handball-camps-registration-action {
    border-radius: 1rem;
    overflow: hidden;
}

.handball-camps-registration .handball-camps-registration-start-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem);
    min-height: 12rem;
    background: #f8f9fa;
}

.handball-camps-registration .handball-camps-registration-start-main {
    padding: 2rem;
    background: linear-gradient(135deg, #ffffff 0%, #f3f6f9 100%);
}

.handball-camps-registration .handball-camps-registration-start-main .lead {
    font-size: 1.05rem;
    color: #000000;
}

.handball-camps-registration .handball-camps-registration-start-side {
    display: flex;
    align-items: stretch;
    padding: 1rem;
    background: #eef2f6;
}

.handball-camps-registration .handball-camps-registration-status-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 0.8rem;
    padding: 1.25rem;
    background: #ffffff;
    border-left: 0.45rem solid #ff3205;
}

.handball-camps-registration .handball-camps-registration-status-card.status-success {
    border-left-color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-status-card.status-warning {
    border-left-color: #ffff00;
}

.handball-camps-registration .handball-camps-registration-status-card.status-danger {
    border-left-color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-status-label {
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6c757d;
    margin-bottom: 0.35rem;
}

.handball-camps-registration .handball-camps-registration-status-message {
    font-size: 1.05rem;
    font-weight: 700;
    color: #212529;
}

.handball-camps-registration .handball-camps-registration-fact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.handball-camps-registration .handball-camps-registration-fact {
    padding: 1.05rem 1.25rem;
    border-right: 1px solid #edf0f2;
}

.handball-camps-registration .handball-camps-registration-fact:last-child {
    border-right: 0;
}

.handball-camps-registration .handball-camps-registration-fact-label,
.handball-camps-registration .handball-camps-registration-action-label {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6c757d;
    margin-bottom: 0.2rem;
}

.handball-camps-registration .handball-camps-registration-fact-value,
.handball-camps-registration .handball-camps-registration-action-value {
    font-weight: 700;
    color: #212529;
}

.handball-camps-registration .handball-camps-registration-free-places {
    display: inline-block;
    margin-left: 0.35rem;
    color: #6c757d;
    font-weight: 600;
}

.handball-camps-registration .handball-camps-registration-action .card-body {
    padding: 1.15rem 1.25rem;
}

.handball-camps-registration .handball-camps-registration-action-note {
    min-width: min(100%, 20rem);
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.handball-camps-registration .handball-camps-registration-button {
    min-width: 13rem;
}

.handball-camps-registration .handball-camps-registration-form-card,
.handball-camps-registration .handball-camps-registration-success-card {
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 1rem;
}

.handball-camps-registration .handball-camps-registration-panel {
    border: 1px solid #d6dbe3;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 0.55rem 1.6rem rgba(20, 33, 61, 0.08);
}

.handball-camps-registration .handball-camps-registration-panel-header {
    padding: 0.95rem 1.35rem;
    background: var(--bs-primary, #ff3205);
    color: #ffffff;
}

.handball-camps-registration .handball-camps-registration-panel-title {
    font-size: 1.12rem;
    line-height: 1.35;
    font-weight: 700;
}

.handball-camps-registration .handball-camps-registration-panel-meta {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.875rem;
    align-self: center;
    white-space: nowrap;
}

.handball-camps-registration .handball-camps-registration-panel-body {
    background: #f8f9fb;
    padding: 1.35rem !important;
}

.handball-camps-registration .handball-camps-registration-form .form-label {
    font-size: 0.92rem;
    color: #343a40;
}

.handball-camps-registration .handball-camps-registration-form .form-control,
.handball-camps-registration .handball-camps-registration-form .form-select {
    min-height: 2.35rem;
    background: #ffffff;
}

.handball-camps-registration .handball-camps-registration-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    margin-bottom: 1.35rem !important;
    padding-bottom: 0.1rem;
}

.handball-camps-registration .handball-camps-registration-step {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.7rem;
    width: 100%;
    padding: 0.5rem 0.7rem;
    border: 1px solid #dee2e6;
    border-radius: 0.65rem;
    background: #f8f9fa;
    color: #6c757d;
    appearance: none;
    text-align: left;
    cursor: pointer;
}

.handball-camps-registration .handball-camps-registration-step.is-active {
    background: #ff3205 !important;
    border-color: #ff3205 !important;
    color: #ffffff !important;
    box-shadow: 0 0.35rem 0.85rem rgba(255, 50, 5, 0.22);
}

.handball-camps-registration .handball-camps-registration-step.is-done {
    background: #ffff00;
    border-color: #000000;
    color: #000000;
}

.handball-camps-registration .handball-camps-registration-step:focus-visible {
    outline: 0.18rem solid rgba(255, 50, 5, 0.28);
    outline-offset: 0.12rem;
}

.handball-camps-registration .handball-camps-registration-step-number {
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: inherit;
    font-size: 0.82rem;
    font-weight: 800;
}

.handball-camps-registration .handball-camps-registration-step.is-active .handball-camps-registration-step-number {
    background: #ffffff;
    color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-step-label {
    font-size: 0.9rem;
    font-weight: 800;
}

.handball-camps-registration .handball-camps-registration-summary-box {
    border: 1px solid #dee2e6;
    border-radius: 0.65rem;
    background: #ffffff;
    overflow: hidden;
}

.handball-camps-registration .handball-camps-registration-summary-title {
    padding: 0.45rem 0.75rem;
    background: #e9ecef;
    border-bottom: 1px solid #dee2e6;
    font-weight: 700;
}

.handball-camps-registration .handball-camps-registration-summary-box dl,
.handball-camps-registration .handball-camps-registration-summary-box > .small {
    padding: 0.75rem;
}

.handball-camps-registration .handball-camps-registration-summary-box dt {
    color: #6c757d;
    font-weight: 700;
}

.handball-camps-registration .handball-camps-registration-success-icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ff3205;
    color: #ffffff;
    font-weight: 800;
    font-size: 1.8rem;
}

.handball-camps-registration .handball-camps-booking-code-box {
    padding: 0.75rem 1.25rem;
    border-radius: 0.75rem;
    background: #f8f9fa;
    border: 1px solid #dee2e6;
}

@media (max-width: 991.98px) {
    .handball-camps-registration .handball-camps-registration-start-grid {
        grid-template-columns: 1fr;
    }

    .handball-camps-registration .handball-camps-registration-fact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .handball-camps-registration .handball-camps-registration-fact:nth-child(2) {
        border-right: 0;
    }

    .handball-camps-registration .handball-camps-registration-fact:nth-child(-n+2) {
        border-bottom: 1px solid #edf0f2;
    }
}

@media (max-width: 767.98px) {
    .handball-camps-registration .handball-camps-registration-panel-header {
        padding: 0.85rem 1rem;
    }

    .handball-camps-registration .handball-camps-registration-panel-body {
        padding: 1rem !important;
    }

    .handball-camps-registration .handball-camps-registration-panel-meta {
        align-self: flex-start;
    }

    .handball-camps-registration .handball-camps-registration-steps {
        grid-template-columns: 1fr;
    }

    .handball-camps-registration .handball-camps-registration-button {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .handball-camps-registration .handball-camps-registration-start-main {
        padding: 1.35rem;
    }

    .handball-camps-registration .handball-camps-registration-fact-grid {
        grid-template-columns: 1fr;
    }

    .handball-camps-registration .handball-camps-registration-fact,
    .handball-camps-registration .handball-camps-registration-fact:nth-child(2),
    .handball-camps-registration .handball-camps-registration-fact:nth-child(-n+2) {
        border-right: 0;
        border-bottom: 1px solid #edf0f2;
    }

    .handball-camps-registration .handball-camps-registration-fact:last-child {
        border-bottom: 0;
    }
}

/* Camp registration start page 0.4.2 */
.handball-camps .handball-camps-registration-welcome {
    font-size: clamp(1.55rem, 2.3vw, 2.05rem);
    font-weight: 700;
    line-height: 1.2;
}

.handball-camps .handball-camps-registration-info-card {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.35rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: none;
}

.handball-camps .handball-camps-registration-info-body {
    padding: 1.55rem;
}

.handball-camps .handball-camps-registration-info-block {
    margin-bottom: 1.35rem;
}

.handball-camps .handball-camps-registration-info-label {
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.handball-camps .handball-camps-registration-info-value {
    font-size: 1rem;
}

.handball-camps .handball-camps-registration-capacity-bar {
    position: relative;
    min-height: 1.8rem;
    border-radius: 0.35rem;
    overflow: hidden;
    background: #e9ecef;
}

.handball-camps .handball-camps-registration-capacity-fill {
    position: absolute;
    inset: 0 auto 0 0;
    min-width: 0;
}

.handball-camps .handball-camps-registration-capacity-bar.is-success .handball-camps-registration-capacity-fill {
    background: #ff3205;
}

.handball-camps .handball-camps-registration-capacity-bar.is-warning .handball-camps-registration-capacity-fill {
    background: #ffff00;
}

.handball-camps .handball-camps-registration-capacity-bar.is-danger .handball-camps-registration-capacity-fill {
    background: #ff3205;
}

.handball-camps .handball-camps-registration-capacity-label {
    position: relative;
    z-index: 1;
    min-height: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.75rem;
    font-weight: 700;
    text-align: center;
    color: #000;
}

.handball-camps .handball-camps-registration-capacity-meta {
    margin-top: 0.35rem;
    font-size: 0.875rem;
    color: #6c757d;
}

.handball-camps .handball-camps-registration-state {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.handball-camps .handball-camps-registration-state-icon {
    font-weight: 700;
}

.handball-camps .handball-camps-registration-button {
    font-weight: 700;
}

@media (max-width: 575.98px) {
    .handball-camps .handball-camps-registration-info-body {
        padding: 1rem;
    }
}

/* Camp registration start page refinements 0.4.6 */
.handball-camps-registration .handball-camps-registration-title {
    font-size: clamp(1.65rem, 2.5vw, 2.25rem);
    font-weight: 800;
    line-height: 1.15;
    color: #1f2933;
}

.handball-camps-registration .handball-camps-registration-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    margin-bottom: 0.75rem;
    border-radius: 999px;
    background: #e7f1ff;
    color: #ff3205;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.handball-camps-registration .handball-camps-registration-start,
.handball-camps-registration .handball-camps-registration-facts,
.handball-camps-registration .handball-camps-registration-action,
.handball-camps-registration .handball-camps-registration-empty {
    border: 1px solid #dee2e6;
    border-radius: 1rem;
    overflow: hidden;
    background: #ffffff;
}

.handball-camps-registration .handball-camps-registration-start-grid {
    background: #ffffff;
}

.handball-camps-registration .handball-camps-registration-start-main {
    background: linear-gradient(135deg, #ffffff 0%, #f4f8fc 100%);
}

.handball-camps-registration .handball-camps-registration-start-side {
    background: #edf4fb;
}

.handball-camps-registration .handball-camps-registration-status-card {
    box-shadow: 0 0.35rem 1.2rem rgba(0, 0, 0, 0.06);
}

.handball-camps-registration .handball-camps-registration-progress {
    width: min(22rem, 100%);
    height: 0.65rem;
    background: #e9ecef;
}

.handball-camps-registration .handball-camps-registration-progress .progress-bar.is-success,
.handball-camps-registration .handball-camps-registration-capacity-bar.is-success .handball-camps-registration-capacity-fill {
    background-color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-progress .progress-bar.is-warning,
.handball-camps-registration .handball-camps-registration-capacity-bar.is-warning .handball-camps-registration-capacity-fill {
    background-color: #ffff00;
}

.handball-camps-registration .handball-camps-registration-progress .progress-bar.is-danger,
.handball-camps-registration .handball-camps-registration-capacity-bar.is-danger .handball-camps-registration-capacity-fill {
    background-color: #ff3205;
}

.handball-camps .handball-camps-registration-button,
.handball-camps .handball-camps-registration-button:visited,
.handball-camps .handball-camps-registration-button:hover,
.handball-camps .handball-camps-registration-button:focus,
.handball-camps .handball-camps-registration-button:active {
    border-color: #ff3205 !important;
    background-color: #ff3205 !important;
    color: #ffffff !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.handball-camps .handball-camps-registration-secondary-button,
.handball-camps .handball-camps-registration-secondary-button:visited,
.handball-camps .handball-camps-registration-secondary-button:hover,
.handball-camps .handball-camps-registration-secondary-button:focus,
.handball-camps .handball-camps-registration-secondary-button:active {
    border-color: #ff3205 !important;
    background-color: #ffffff !important;
    color: #ff3205 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.handball-camps-registration .handball-camps-registration-empty .card-body {
    padding: 2rem;
}

/* Camp registration start page refinements 0.4.6 */
.handball-camps-registration .handball-camps-registration-kicker {
    display: none !important;
}

.handball-camps-registration .handball-camps-registration-action .card-body {
    display: block;
}

.handball-camps-registration .handball-camps-registration-capacity-scale {
    position: relative;
    width: 100%;
    height: 2.25rem;
    border-radius: 0.75rem;
    overflow: hidden;
    background: #e9ecef;
    border: 1px solid #d7dde2;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-segments {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    z-index: 1;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-segments .segment {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    font-size: 0.84rem;
    font-weight: 800;
    color: #1f2933;
    border-right: 1px solid rgba(255, 255, 255, 0.8);
}

.handball-camps-registration .handball-camps-registration-capacity-scale-segments .segment:last-child {
    border-right: 0;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-segments .segment-25 {
    background: #ff3205;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-segments .segment-50 {
    background: #ff3205;
    color: #ffffff;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-segments .segment-75 {
    background: #ffff00;
    color: #212529;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-segments .segment-100 {
    background: #ff3205;
    color: #ffffff;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-fill {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    min-width: 0;
    max-width: 100%;
    background-color: rgba(255, 50, 5, 0.22);
    background-image: linear-gradient(
        45deg,
        rgba(255, 255, 255, 0.28) 25%,
        transparent 25%,
        transparent 50%,
        rgba(255, 255, 255, 0.28) 50%,
        rgba(255, 255, 255, 0.28) 75%,
        transparent 75%,
        transparent
    );
    background-size: 1rem 1rem;
    animation: handball-camps-capacity-stripes 1.1s linear infinite;
    box-shadow: inset 0 0 0 999px rgba(255, 255, 255, 0.12);
}

.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-success {
    background-color: rgba(255, 50, 5, 0.30);
}

.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-warning {
    background-color: rgba(255, 193, 7, 0.34);
}

.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-danger {
    background-color: rgba(220, 53, 69, 0.34);
}

.handball-camps-registration .handball-camps-registration-capacity-scale::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
    border-radius: inherit;
}

@keyframes handball-camps-capacity-stripes {
    from { background-position: 0 0; }
    to { background-position: 1rem 0; }
}

@media (prefers-reduced-motion: reduce) {
    .handball-camps-registration .handball-camps-registration-capacity-scale-fill {
        animation: none;
    }
}

@media (max-width: 575.98px) {
    .handball-camps-registration .handball-camps-registration-capacity-scale {
        height: 2.05rem;
    }

    .handball-camps-registration .handball-camps-registration-capacity-scale-segments .segment {
        font-size: 0.76rem;
    }
}


/* Camp registration start page refinements 0.4.7 */
.handball-camps-registration .handball-camps-registration-capacity-summary {
    font-size: 0.98rem;
    font-weight: 800;
    color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-capacity-summary.is-neutral {
    color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-capacity-summary.is-warning {
    color: #000000;
}

.handball-camps-registration .handball-camps-registration-capacity-summary.is-danger {
    color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-capacity-scale {
    height: 1.05rem;
    border-radius: 999px;
    background-color: #e9ecef;
    border: 1px solid #d7dde2;
    overflow: hidden;
    background-image: linear-gradient(
        90deg,
        transparent calc(25% - 1px),
        rgba(0,0,0,.14) 25%,
        transparent calc(25% + 1px),
        transparent calc(50% - 1px),
        rgba(0,0,0,.14) 50%,
        transparent calc(50% + 1px),
        transparent calc(75% - 1px),
        rgba(0,0,0,.14) 75%,
        transparent calc(75% + 1px)
    );
}

.handball-camps-registration .handball-camps-registration-capacity-scale-fill {
    position: absolute;
    inset: 0 auto 0 0;
    z-index: 2;
    min-width: 0;
    max-width: 100%;
    background-image: none;
    box-shadow: none;
    animation: none;
    background-color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-neutral {
    background-color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-success {
    background-color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-warning {
    background-color: #ffff00;
}

.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-danger {
    background-color: #ff3205;
}

.handball-camps-registration .handball-camps-registration-capacity-scale::after {
    content: none;
}

@media (max-width: 575.98px) {
    .handball-camps-registration .handball-camps-registration-capacity-scale {
        height: 0.95rem;
    }
}

/* Club color palette refinements 0.4.17
   HSG colors: red #ff3205, yellow #ffff00, black #000000.
   Backgrounds are restricted to the HSG palette. */
.handball-camps {
    --handball-camps-red: #ff3205;
    --handball-camps-yellow: #ffff00;
    --handball-camps-black: #000000;
    --bs-primary: #ff3205;
    --bs-primary-rgb: 255, 50, 5;
    --bs-link-color: #000000;
    --bs-link-hover-color: #000000;
}

.handball-camps .btn-primary,
.handball-camps .btn-primary:hover,
.handball-camps .btn-primary:focus,
.handball-camps .btn-primary:active,
.handball-camps .btn-primary:first-child:active,
.handball-camps :not(.btn-check) + .btn-primary:active {
    --bs-btn-color: #000000;
    --bs-btn-bg: #ff3205;
    --bs-btn-border-color: #ff3205;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #ff3205;
    --bs-btn-hover-border-color: #ff3205;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #ff3205;
    --bs-btn-active-border-color: #ff3205;
    color: #000000 !important;
    background-color: #ff3205 !important;
    border-color: #ff3205 !important;
}

.handball-camps .btn-outline-primary,
.handball-camps .btn-outline-primary:hover,
.handball-camps .btn-outline-primary:focus,
.handball-camps .btn-outline-primary:active,
.handball-camps .btn-outline-primary:first-child:active,
.handball-camps :not(.btn-check) + .btn-outline-primary:active {
    --bs-btn-color: #000000;
    --bs-btn-bg: #ffffff;
    --bs-btn-border-color: #ff3205;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #ffffff;
    --bs-btn-hover-border-color: #ff3205;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #ffffff;
    --bs-btn-active-border-color: #ff3205;
    color: #000000 !important;
    background-color: #ffffff !important;
    border-color: #ff3205 !important;
}

.handball-camps .handball-camps-registration-panel-header,
.handball-camps-registration .handball-camps-registration-step.is-active,
.handball-camps .handball-camps-registration-button,
.handball-camps .handball-camps-registration-button:visited,
.handball-camps .handball-camps-registration-button:hover,
.handball-camps .handball-camps-registration-button:focus,
.handball-camps .handball-camps-registration-button:active {
    background: #ff3205 !important;
    border-color: #ff3205 !important;
    color: #000000 !important;
}

.handball-camps-registration .handball-camps-registration-step.is-active .handball-camps-registration-step-number {
    background: #000000 !important;
    color: #ffff00 !important;
}

.handball-camps-registration .handball-camps-registration-step.is-done {
    background: #ffff00 !important;
    border-color: #000000 !important;
    color: #000000 !important;
}

.handball-camps-registration .handball-camps-registration-status-card {
    border-left-color: #ff3205 !important;
}

.handball-camps-registration .handball-camps-registration-status-card.status-warning {
    border-left-color: #ffff00 !important;
}

.handball-camps-registration .handball-camps-registration-status-card.status-danger {
    border-left-color: #ff3205 !important;
}

.handball-camps .handball-camps-occupancy-dot-success,
.handball-camps .handball-camps-occupancy-dot-neutral,
.handball-camps .handball-camps-bg-positive,
.handball-camps .handball-camps-bg-neutral,
.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-neutral,
.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-success,
.handball-camps-registration .handball-camps-registration-capacity-fill.is-success,
.handball-camps-registration .progress-bar.is-success {
    background-color: #000000 !important;
    background: #000000 !important;
}

.handball-camps .handball-camps-occupancy-dot-warning,
.handball-camps .handball-camps-bg-warning,
.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-warning,
.handball-camps-registration .handball-camps-registration-capacity-fill.is-warning,
.handball-camps-registration .progress-bar.is-warning {
    background-color: #ffff00 !important;
    background: #ffff00 !important;
    color: #000000 !important;
}

.handball-camps .handball-camps-occupancy-dot-danger,
.handball-camps .handball-camps-bg-danger,
.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-danger,
.handball-camps-registration .handball-camps-registration-capacity-fill.is-danger,
.handball-camps-registration .progress-bar.is-danger {
    background-color: #ff3205 !important;
    background: #ff3205 !important;
    color: #000000 !important;
}

.handball-camps .handball-camps-switch-active .handball-camps-switch-track,
.handball-camps .handball-camps-registration-success-icon {
    background: #ff3205 !important;
    color: #000000 !important;
}

.handball-camps .handball-camps-switch-inactive .handball-camps-switch-track {
    background: #000000 !important;
}

.handball-camps .handball-camps-badge-positive,
.handball-camps .handball-camps-badge-neutral {
    background: #000000 !important;
    color: #ffff00 !important;
}

.handball-camps .handball-camps-badge-warning,
.handball-camps .handball-camps-bg-yellow-subtle,
.handball-camps .handball-camps-alert-positive {
    background: #ffff00 !important;
    color: #000000 !important;
    border-color: #000000 !important;
}

.handball-camps .handball-camps-badge-danger {
    background: #ff3205 !important;
    color: #000000 !important;
}

.handball-camps a,
.handball-camps a:hover,
.handball-camps a:focus,
.handball-camps a:active {
    color: #000000 !important;
}

/* Club color contrast refinements 0.4.18 */
.handball-camps .btn-primary,
.handball-camps .btn-primary:hover,
.handball-camps .btn-primary:focus,
.handball-camps .btn-primary:active,
.handball-camps .btn-primary:first-child:active,
.handball-camps :not(.btn-check) + .btn-primary:active,
.handball-camps .handball-camps-registration-button,
.handball-camps .handball-camps-registration-button:visited,
.handball-camps .handball-camps-registration-button:hover,
.handball-camps .handball-camps-registration-button:focus,
.handball-camps .handball-camps-registration-button:active,
.handball-camps-registration .handball-camps-registration-step.is-active {
    --bs-btn-color: #ffffff;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-active-color: #ffffff;
    color: #ffffff !important;
    background-color: #ff3205 !important;
    background: #ff3205 !important;
    border-color: #ff3205 !important;
}

.handball-camps .handball-camps-registration-panel-header,
.handball-camps .handball-camps-registration-panel-header *,
.handball-camps .handball-camps-registration-panel-title,
.handball-camps .handball-camps-registration-panel-meta {
    color: #ffffff !important;
}

.handball-camps-registration .handball-camps-registration-step.is-active .handball-camps-registration-step-number {
    background: #ffffff !important;
    color: #ff3205 !important;
}

.handball-camps .handball-camps-registration-success-icon,
.handball-camps .handball-camps-badge-danger,
.handball-camps-registration .progress-bar.is-danger,
.handball-camps-registration .handball-camps-registration-capacity-scale-fill.is-danger,
.handball-camps-registration .handball-camps-registration-capacity-fill.is-danger {
    color: #ffffff !important;
}

/* Carousel image fit refinements.
   Covers Bootstrap Package carousel, carousel-small and carousel-large.
   Do not set background colors here: Bootstrap Package layout/background
   settings, including configured background images, must remain visible.
   Bootstrap Package can render the carousel outside the handball_camps wrapper;
   therefore page-wide carousel selectors are only enabled on public camp registration pages. */
.handball-camps .carousel .carousel-inner,
.handball-camps-carousel-fit.carousel .carousel-inner,
.handball-camps-carousel-fit .carousel .carousel-inner,
body:has(.handball-camps-registration-site-marker) .carousel.slide .carousel-inner,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-small .carousel-inner,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-large .carousel-inner {
    height: auto !important;
    min-height: 0 !important;
}

.handball-camps .carousel .carousel-item,
.handball-camps-carousel-fit.carousel .carousel-item,
.handball-camps-carousel-fit .carousel .carousel-item,
body:has(.handball-camps-registration-site-marker) .carousel.slide .carousel-item,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-small .carousel-item,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-large .carousel-item {
    height: auto !important;
    min-height: 0 !important;
    text-align: center;
}

.handball-camps .carousel .carousel-content,
.handball-camps .carousel .carousel-content-inner,
.handball-camps .carousel .carousel-image,
.handball-camps-carousel-fit.carousel .carousel-content,
.handball-camps-carousel-fit.carousel .carousel-content-inner,
.handball-camps-carousel-fit.carousel .carousel-image,
.handball-camps-carousel-fit .carousel .carousel-content,
.handball-camps-carousel-fit .carousel .carousel-content-inner,
.handball-camps-carousel-fit .carousel .carousel-image,
body:has(.handball-camps-registration-site-marker) .carousel.slide .carousel-content,
body:has(.handball-camps-registration-site-marker) .carousel.slide .carousel-content-inner,
body:has(.handball-camps-registration-site-marker) .carousel.slide .carousel-image,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-small .carousel-content,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-small .carousel-content-inner,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-small .carousel-image,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-large .carousel-content,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-large .carousel-content-inner,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-large .carousel-image {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: visible !important;
}

.handball-camps .carousel picture,
.handball-camps-carousel-fit.carousel picture,
.handball-camps-carousel-fit .carousel picture,
body:has(.handball-camps-registration-site-marker) .carousel.slide picture,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-small picture,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-large picture {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
}

.handball-camps .carousel .carousel-image img,
.handball-camps-carousel-fit.carousel .carousel-image img,
.handball-camps-carousel-fit .carousel .carousel-image img,
body:has(.handball-camps-registration-site-marker) .carousel.slide .carousel-image img,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-small .carousel-image img,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-large .carousel-image img {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: min(70vh, 620px) !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.handball-camps .carousel-small .carousel-image img,
.handball-camps-carousel-fit.carousel-small .carousel-image img,
.handball-camps-carousel-fit .carousel-small .carousel-image img,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-small .carousel-image img {
    max-height: min(55vh, 420px) !important;
}

.handball-camps .carousel-large .carousel-image img,
.handball-camps-carousel-fit.carousel-large .carousel-image img,
.handball-camps-carousel-fit .carousel-large .carousel-image img,
body:has(.handball-camps-registration-site-marker) .carousel.carousel-large .carousel-image img {
    max-height: min(82vh, 760px) !important;
}

@media (max-width: 767.98px) {
    .handball-camps .carousel .carousel-image img,
    .handball-camps-carousel-fit.carousel .carousel-image img,
    .handball-camps-carousel-fit .carousel .carousel-image img,
    body:has(.handball-camps-registration-site-marker) .carousel.slide .carousel-image img,
    body:has(.handball-camps-registration-site-marker) .carousel.carousel-small .carousel-image img,
    body:has(.handball-camps-registration-site-marker) .carousel.carousel-large .carousel-image img {
        max-height: 65vh !important;
    }
}


/* Hide global Bootstrap Package main navigation/logo only on public camp registration pages. */
body:has(.handball-camps-registration-site-marker) #page-header,
body:has(.handball-camps-registration-site-marker) .bp-page-header,
body:has(.handball-camps-registration-site-marker) .navbar-mainnavigation,
body:has(.handball-camps-registration-site-marker) .navbar-main,
body:has(.handball-camps-registration-site-marker) header.navbar,
body:has(.handball-camps-registration-site-marker) header .navbar,
body:has(.handball-camps-registration-site-marker) header .navbar-brand,
body:has(.handball-camps-registration-site-marker) header .mainnavigation,
body:has(.handball-camps-registration-site-marker) header #mainnavigation {
    display: none !important;
}

/* Registration stepper refinement 0.4.26
   In the registration form, inactive and completed steps no longer use
   colored backgrounds. Only the active step number is highlighted. */
.handball-camps-registration .handball-camps-registration-step,
.handball-camps-registration .handball-camps-registration-step.is-done,
.handball-camps-registration .handball-camps-registration-step.is-active {
    background: transparent !important;
    background-color: transparent !important;
    color: #000000 !important;
    border-color: #dee2e6 !important;
    box-shadow: none !important;
}

.handball-camps-registration .handball-camps-registration-step.is-active {
    border-color: #ff3205 !important;
}

.handball-camps-registration .handball-camps-registration-step-number,
.handball-camps-registration .handball-camps-registration-step.is-done .handball-camps-registration-step-number {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #dee2e6;
}

.handball-camps-registration .handball-camps-registration-step.is-active .handball-camps-registration-step-number {
    background: #ff3205 !important;
    background-color: #ff3205 !important;
    color: #ffffff !important;
    border-color: #ff3205 !important;
}

.handball-camps-registration .handball-camps-registration-step-label {
    color: #000000 !important;
}

/* Participant accounting 1.1.0 */
.handball-camps .handball-camps-accounting-table th,
.handball-camps .handball-camps-accounting-table td,
.handball-camps .handball-camps-accounting-history-table th,
.handball-camps .handball-camps-accounting-history-table td {
    vertical-align: top;
}

.handball-camps .handball-camps-accounting-table th:nth-child(1) {
    min-width: 11rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(3) {
    min-width: 15rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(4) {
    min-width: 12rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(5),
.handball-camps .handball-camps-accounting-table th:nth-child(6),
.handball-camps .handball-camps-accounting-table th:nth-child(7) {
    min-width: 8.5rem;
}

.handball-camps .handball-camps-accounting-history-table th:nth-child(4) {
    min-width: 15rem;
}

.handball-camps .handball-camps-accounting-history-table th:last-child {
    min-width: 18rem;
}

.handball-camps .handball-camps-participant-accounting-detail .card-header {
    min-height: 3rem;
    display: flex;
    align-items: center;
}

.handball-camps .handball-camps-participant-accounting-detail textarea {
    resize: vertical;
}

/* Participant accounting modal actions 1.1.1 */
.handball-camps .handball-camps-accounting-actions {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.handball-camps .handball-camps-accounting-action-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.82rem;
}

.handball-camps .handball-camps-accounting-action-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.handball-camps .handball-camps-accounting-action-legend i {
    font-size: 1rem;
}

.handball-camps .handball-camps-accounting-action {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border-radius: 0.6rem;
    font-size: 1.1rem;
    line-height: 1;
}

.handball-camps .handball-camps-accounting-action:focus-visible {
    outline: 3px solid rgba(13, 110, 253, 0.28);
    outline-offset: 2px;
}

.handball-camps .handball-camps-accounting-action-count {
    position: absolute;
    top: -0.4rem;
    right: -0.4rem;
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 0.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--bs-dark, #212529);
    color: #ffffff;
    border: 2px solid #ffffff;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1;
}

.handball-camps-accounting-modal .modal-content {
    border: 0;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.2);
}

.handball-camps-accounting-modal .modal-header {
    align-items: flex-start;
}

.handball-camps-accounting-modal .modal-title i {
    display: inline-block;
    min-width: 1.25rem;
    text-align: center;
}

.handball-camps-accounting-modal .handball-camps-modal-form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.handball-camps-accounting-modal .modal-body {
    overscroll-behavior: contain;
}

.handball-camps-accounting-modal .modal-footer {
    gap: 0.6rem;
}

.handball-camps .handball-camps-accounting-modal-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.handball-camps .handball-camps-accounting-modal-summary > div {
    min-width: 0;
    padding: 0.9rem 1rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.65rem;
    background: var(--bs-light-bg-subtle, #f8f9fa);
}

.handball-camps .handball-camps-accounting-modal-summary span,
.handball-camps .handball-camps-accounting-modal-summary strong {
    display: block;
}

.handball-camps .handball-camps-accounting-modal-summary span {
    margin-bottom: 0.2rem;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.78rem;
}

.handball-camps .handball-camps-accounting-modal-summary strong {
    font-size: 1.15rem;
    overflow-wrap: anywhere;
}

.handball-camps .handball-camps-history-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
}

.handball-camps .handball-camps-history-correction-form {
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) auto;
    gap: 0.4rem;
    width: min(100%, 25rem);
}

.handball-camps .handball-camps-history-correction-form .form-control {
    min-width: 0;
}

.handball-camps .handball-camps-accounting-totals .card-body {
    min-width: 0;
}

.handball-camps .handball-camps-accounting-totals .h3 {
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-accounting-responsive {
        overflow: visible;
    }

    .handball-camps .handball-camps-accounting-table {
        display: block;
        padding: 0.75rem;
        background: var(--bs-tertiary-bg, #f8f9fa);
    }

    .handball-camps .handball-camps-accounting-table thead {
        display: none;
    }

    .handball-camps .handball-camps-accounting-table tbody,
    .handball-camps .handball-camps-accounting-table tr,
    .handball-camps .handball-camps-accounting-table td {
        display: block;
        width: 100%;
    }

    .handball-camps .handball-camps-accounting-table tbody {
        border: 0;
    }

    .handball-camps .handball-camps-accounting-table tr {
        margin-bottom: 0.85rem;
        overflow: hidden;
        border: 1px solid var(--bs-border-color, #dee2e6);
        border-radius: 0.75rem;
        background: var(--bs-body-bg, #ffffff);
        box-shadow: 0 0.15rem 0.5rem rgba(0, 0, 0, 0.05);
    }

    .handball-camps .handball-camps-accounting-table tr:last-child {
        margin-bottom: 0;
    }

    .handball-camps .handball-camps-accounting-table td {
        display: grid;
        grid-template-columns: minmax(7.25rem, 38%) minmax(0, 1fr);
        gap: 0.75rem;
        align-items: start;
        padding: 0.65rem 0.8rem;
        border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
        text-align: left !important;
        white-space: normal !important;
    }

    .handball-camps .handball-camps-accounting-table td:last-child {
        border-bottom: 0;
    }

    .handball-camps .handball-camps-accounting-table td::before {
        content: attr(data-label);
        color: var(--bs-secondary-color, #6c757d);
        font-size: 0.78rem;
        font-weight: 700;
        line-height: 1.35;
    }

    .handball-camps .handball-camps-accounting-table td[data-label="Teilnehmer"] {
        padding-top: 0.85rem;
        background: var(--bs-light-bg-subtle, #f8f9fa);
    }

    .handball-camps .handball-camps-accounting-table td[data-label="Aktionen"] {
        grid-template-columns: minmax(7.25rem, 38%) minmax(0, 1fr);
        align-items: center;
        padding-top: 0.8rem;
        padding-bottom: 0.8rem;
        background: var(--bs-light-bg-subtle, #f8f9fa);
    }

    .handball-camps .handball-camps-accounting-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767.98px) {
    .handball-camps-accounting-modal .modal-header,
    .handball-camps-accounting-modal .modal-body,
    .handball-camps-accounting-modal .modal-footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .handball-camps-accounting-modal .modal-footer {
        flex-direction: column-reverse;
        align-items: stretch;
        padding-bottom: max(1rem, env(safe-area-inset-bottom));
    }

    .handball-camps-accounting-modal .modal-footer .btn {
        width: 100%;
        min-height: 2.9rem;
    }

    .handball-camps .handball-camps-accounting-modal-summary {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .handball-camps-accounting-modal .form-control,
    .handball-camps-accounting-modal .form-select,
    .handball-camps-accounting-modal .input-group-text {
        min-height: 2.9rem;
        font-size: 1rem;
    }

    .handball-camps .handball-camps-history-responsive {
        overflow: visible;
    }

    .handball-camps .handball-camps-accounting-history-table,
    .handball-camps .handball-camps-accounting-history-table tbody,
    .handball-camps .handball-camps-accounting-history-table tr,
    .handball-camps .handball-camps-accounting-history-table td {
        display: block;
        width: 100%;
    }

    .handball-camps .handball-camps-accounting-history-table {
        padding: 0.75rem;
        background: var(--bs-tertiary-bg, #f8f9fa);
    }

    .handball-camps .handball-camps-accounting-history-table thead {
        display: none;
    }

    .handball-camps .handball-camps-accounting-history-table tr {
        margin-bottom: 0.85rem;
        overflow: hidden;
        border: 1px solid var(--bs-border-color, #dee2e6);
        border-radius: 0.75rem;
        background: var(--bs-body-bg, #ffffff);
    }

    .handball-camps .handball-camps-accounting-history-table tr:last-child {
        margin-bottom: 0;
    }

    .handball-camps .handball-camps-accounting-history-table td {
        display: grid;
        grid-template-columns: minmax(6.75rem, 36%) minmax(0, 1fr);
        gap: 0.65rem;
        padding: 0.65rem 0.75rem;
        border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
        text-align: left !important;
        white-space: normal !important;
    }

    .handball-camps .handball-camps-accounting-history-table td:last-child {
        border-bottom: 0;
    }

    .handball-camps .handball-camps-accounting-history-table td::before {
        content: attr(data-label);
        color: var(--bs-secondary-color, #6c757d);
        font-size: 0.76rem;
        font-weight: 700;
        line-height: 1.35;
    }

    .handball-camps .handball-camps-history-actions {
        align-items: stretch;
    }

    .handball-camps .handball-camps-history-actions .btn,
    .handball-camps .handball-camps-history-actions form {
        width: 100%;
    }

    .handball-camps .handball-camps-history-correction-form {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .handball-camps .handball-camps-accounting-totals .h3 {
        font-size: clamp(1.25rem, 6vw, 1.75rem);
    }
}

@media (max-width: 479.98px) {
    .handball-camps .handball-camps-accounting-table td,
    .handball-camps .handball-camps-accounting-table td[data-label="Aktionen"],
    .handball-camps .handball-camps-accounting-history-table td {
        grid-template-columns: 1fr;
        gap: 0.25rem;
    }

    .handball-camps .handball-camps-accounting-actions {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: 100%;
    }

    .handball-camps .handball-camps-accounting-action {
        width: 100%;
        min-width: 0;
        height: 3rem;
    }
}

/* Participant accounting compact overview 1.1.2 */
.handball-camps .handball-camps-accounting-toolbar {
    display: flex;
    justify-content: flex-start;
}

.handball-camps .handball-camps-accounting-camp-form {
    display: grid;
    grid-template-columns: auto minmax(13rem, 24rem) auto;
    gap: 0.5rem;
    align-items: center;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.55rem;
    background: var(--bs-light-bg-subtle, #f8f9fa);
}

.handball-camps .handball-camps-accounting-camp-form .form-label {
    font-size: 0.85rem;
    font-weight: 600;
    white-space: nowrap;
}

.handball-camps .handball-camps-accounting-totals {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.55rem;
    background: var(--bs-body-bg, #ffffff);
}

.handball-camps .handball-camps-accounting-total {
    min-width: 0;
    padding: 0.5rem 0.7rem;
    border-right: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
}

.handball-camps .handball-camps-accounting-total:last-child {
    border-right: 0;
}

.handball-camps .handball-camps-accounting-total span,
.handball-camps .handball-camps-accounting-total strong {
    display: block;
    overflow-wrap: anywhere;
}

.handball-camps .handball-camps-accounting-total span {
    margin-bottom: 0.05rem;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.72rem;
    line-height: 1.2;
}

.handball-camps .handball-camps-accounting-total strong {
    font-size: 1rem;
    line-height: 1.25;
}

.handball-camps .handball-camps-accounting-search-wrapper {
    max-width: 32rem;
}

.handball-camps .handball-camps-accounting-list-card {
    overflow: hidden;
}

.handball-camps .handball-camps-accounting-table th,
.handball-camps .handball-camps-accounting-table td {
    padding: 0.45rem 0.55rem;
    vertical-align: middle;
    font-size: 0.88rem;
}

.handball-camps .handball-camps-accounting-table thead th {
    font-size: 0.78rem;
    line-height: 1.2;
    white-space: nowrap;
}

.handball-camps .handball-camps-accounting-table th:nth-child(1) {
    min-width: 22rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(2) {
    min-width: 5.5rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(3) {
    min-width: 14rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(4),
.handball-camps .handball-camps-accounting-table th:nth-child(5),
.handball-camps .handball-camps-accounting-table th:nth-child(6) {
    min-width: 7rem;
}

.handball-camps .handball-camps-accounting-participant-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.handball-camps .handball-camps-accounting-participant-name {
    min-width: 8.5rem;
}

.handball-camps .handball-camps-accounting-actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 0.3rem;
}

.handball-camps .handball-camps-accounting-action {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 0.45rem;
    font-size: 0.95rem;
}

.handball-camps .handball-camps-accounting-contact,
.handball-camps .handball-camps-accounting-contact div,
.handball-camps .handball-camps-accounting-contact a {
    font-weight: 400 !important;
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-accounting-totals {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .handball-camps .handball-camps-accounting-total:nth-child(3) {
        border-right: 0;
    }

    .handball-camps .handball-camps-accounting-total:nth-child(-n+3) {
        border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
    }

    .handball-camps .handball-camps-accounting-total:nth-child(4),
    .handball-camps .handball-camps-accounting-total:nth-child(5) {
        grid-column: span 1;
    }

    .handball-camps .handball-camps-accounting-table td[data-label="Teilnehmer"] {
        display: block;
        padding: 0.75rem 0.8rem;
    }

    .handball-camps .handball-camps-accounting-table td[data-label="Teilnehmer"]::before {
        display: none;
    }

    .handball-camps .handball-camps-accounting-participant-row {
        align-items: flex-start;
    }

    .handball-camps .handball-camps-accounting-action {
        width: 2.65rem;
        height: 2.65rem;
        font-size: 1.05rem;
    }
}

@media (max-width: 575.98px) {
    .handball-camps .handball-camps-accounting-toolbar,
    .handball-camps .handball-camps-accounting-camp-form {
        width: 100%;
    }

    .handball-camps .handball-camps-accounting-camp-form {
        grid-template-columns: 1fr auto;
    }

    .handball-camps .handball-camps-accounting-camp-form .form-label {
        grid-column: 1 / -1;
    }

    .handball-camps .handball-camps-accounting-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .handball-camps .handball-camps-accounting-total,
    .handball-camps .handball-camps-accounting-total:nth-child(3) {
        border-right: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
        border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
    }

    .handball-camps .handball-camps-accounting-total:nth-child(even) {
        border-right: 0;
    }

    .handball-camps .handball-camps-accounting-total:last-child {
        grid-column: 1 / -1;
        border-right: 0;
        border-bottom: 0;
    }

    .handball-camps .handball-camps-accounting-participant-row {
        flex-direction: column;
        gap: 0.6rem;
    }

    .handball-camps .handball-camps-accounting-actions {
        display: grid;
        grid-template-columns: repeat(4, 2.75rem);
        width: 100%;
        justify-content: start;
    }

    .handball-camps .handball-camps-accounting-action {
        width: 2.75rem;
        height: 2.75rem;
    }
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-accounting-table td[data-label="Kontakt"]::before {
        font-weight: 400;
    }
}


/* Participant accounting layout corrections 1.1.3 */
.handball-camps .handball-camps-accounting-camp-form {
    grid-template-columns: auto minmax(15rem, 25rem) auto;
    gap: 0.4rem;
    padding: 0.35rem 0.45rem;
}

.handball-camps .handball-camps-accounting-camp-form .form-label,
.handball-camps .handball-camps-accounting-camp-form .form-select,
.handball-camps .handball-camps-accounting-camp-form .btn,
.handball-camps .handball-camps-accounting-table th,
.handball-camps .handball-camps-accounting-table td,
.handball-camps .handball-camps-accounting-total span,
.handball-camps .handball-camps-accounting-total strong {
    font-size: 1rem;
}

.handball-camps .handball-camps-accounting-camp-form .form-select,
.handball-camps .handball-camps-accounting-camp-form .btn {
    min-height: 2.5rem;
}

.handball-camps .handball-camps-accounting-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0.45rem 0.65rem;
}

.handball-camps .handball-camps-accounting-total span,
.handball-camps .handball-camps-accounting-total strong {
    margin: 0;
    line-height: 1.25;
}

.handball-camps .handball-camps-accounting-total span {
    white-space: nowrap;
}

.handball-camps .handball-camps-accounting-table th,
.handball-camps .handball-camps-accounting-table td {
    padding: 0.38rem 0.5rem;
    line-height: 1.3;
}

.handball-camps .handball-camps-accounting-table thead th {
    font-size: 1rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(1) {
    width: 12.6rem;
    min-width: 12.6rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(2) {
    min-width: 12rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(3) {
    min-width: 5.5rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(4) {
    min-width: 14rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(5),
.handball-camps .handball-camps-accounting-table th:nth-child(6),
.handball-camps .handball-camps-accounting-table th:nth-child(7) {
    min-width: 7rem;
}

.handball-camps .handball-camps-accounting-actions-cell {
    white-space: nowrap;
}

.handball-camps .handball-camps-accounting-actions {
    justify-content: flex-start;
    gap: 0.25rem;
}

.handball-camps .handball-camps-accounting-action {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1rem;
}

.handball-camps .handball-camps-accounting-contact,
.handball-camps .handball-camps-accounting-contact div {
    color: inherit;
    font-weight: 400 !important;
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-accounting-table td[data-label="Aktionen"] {
        display: block;
        padding: 0.65rem 0.8rem;
        background: var(--bs-light-bg-subtle, #f8f9fa);
    }

    .handball-camps .handball-camps-accounting-table td[data-label="Aktionen"]::before {
        display: none;
    }

    .handball-camps .handball-camps-accounting-table td[data-label="Teilnehmer"] {
        padding-top: 0.65rem;
        background: var(--bs-body-bg, #ffffff);
    }

    .handball-camps .handball-camps-accounting-actions {
        display: grid;
        grid-template-columns: repeat(5, 2.75rem);
        width: 100%;
        justify-content: start;
    }

    .handball-camps .handball-camps-accounting-action {
        width: 2.75rem;
        height: 2.75rem;
    }
}

@media (max-width: 575.98px) {
    .handball-camps .handball-camps-accounting-camp-form {
        grid-template-columns: 1fr auto;
    }

    .handball-camps .handball-camps-accounting-camp-form .form-label {
        grid-column: 1 / -1;
    }

    .handball-camps .handball-camps-accounting-total {
        min-height: 3rem;
    }

    .handball-camps .handball-camps-accounting-actions {
        grid-template-columns: repeat(5, minmax(2.75rem, 1fr));
    }

    .handball-camps .handball-camps-accounting-action {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-accounting-table td::before,
    .handball-camps .handball-camps-accounting-history-table td::before {
        font-size: 1rem;
    }
}


/* Participant accounting corrections 1.1.4 */
.handball-camps .handball-camps-accounting-table th:nth-child(1) {
    width: auto;
    min-width: 12rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(2) {
    min-width: 5.5rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(3) {
    min-width: 14rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(4),
.handball-camps .handball-camps-accounting-table th:nth-child(5),
.handball-camps .handball-camps-accounting-table th:nth-child(6) {
    min-width: 7rem;
}

.handball-camps .handball-camps-accounting-table th:nth-child(7) {
    width: 12.6rem;
    min-width: 12.6rem;
}

.handball-camps .handball-camps-accounting-actions-heading,
.handball-camps .handball-camps-accounting-actions-cell {
    text-align: right;
}

.handball-camps .handball-camps-accounting-actions {
    justify-content: flex-end;
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-accounting-table td[data-label="Aktionen"] {
        order: 99;
    }

    .handball-camps .handball-camps-accounting-actions {
        justify-content: end;
    }

    .handball-camps .handball-camps-accounting-history-table td {
        grid-template-columns: minmax(8.5rem, 42%) 1fr;
    }
}

/* Participant accounting status tabs 1.1.5 */
.handball-camps .handball-camps-accounting-tabs .nav-tabs {
    flex-wrap: nowrap;
}

.handball-camps .handball-camps-accounting-tabs .nav-item {
    margin-bottom: -1px;
}

.handball-camps .handball-camps-accounting-tabs .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    cursor: pointer;
    white-space: nowrap;
}

.handball-camps .handball-camps-accounting-tabs .nav-link.active .badge {
    background-color: var(--bs-primary) !important;
}

@media (max-width: 575.98px) {
    .handball-camps .handball-camps-accounting-tabs .nav-item {
        flex: 1 1 50%;
    }

    .handball-camps .handball-camps-accounting-tabs .nav-link {
        width: 100%;
    }
}

/* Participant accounting: active camp, global totals and reactivation 1.1.6 */
.handball-camps .handball-camps-accounting-active-camp {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.55rem;
    background: var(--bs-light-bg-subtle, #f8f9fa);
}

.handball-camps .handball-camps-accounting-active-camp span {
    color: var(--bs-secondary-color, #6c757d);
}

.handball-camps .handball-camps-accounting-active-camp strong {
    font-size: 1rem;
    line-height: 1.25;
}

.handball-camps .handball-camps-accounting-totals {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.5rem;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.handball-camps .handball-camps-accounting-total,
.handball-camps .handball-camps-accounting-total:nth-child(n) {
    min-height: 0;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--bs-border-color, #dee2e6) !important;
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #ffffff);
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-accounting-totals {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .handball-camps .handball-camps-accounting-active-camp {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }

    .handball-camps .handball-camps-accounting-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Participant accounting reminders, refund workflow and open-item filter 1.1.8 */
.handball-camps .handball-camps-accounting-controls {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.handball-camps .handball-camps-accounting-search-wrapper {
    flex: 1 1 24rem;
    max-width: none;
    margin: 0;
}

.handball-camps .handball-camps-accounting-open-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.5rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.5rem;
    background: var(--bs-body-bg, #ffffff);
    white-space: nowrap;
}

.handball-camps .handball-camps-accounting-open-filter span {
    color: var(--bs-secondary-color, #6c757d);
    font-weight: 400;
}

.handball-camps .handball-camps-accounting-open-filter span.is-active {
    color: var(--bs-body-color, #212529);
    font-weight: 700;
}

.handball-camps .handball-camps-accounting-open-filter .form-check-input {
    cursor: pointer;
}

.handball-camps .handball-camps-accounting-bulk-reminder-form {
    margin-left: auto;
}

.handball-camps .handball-camps-accounting-bulk-reminder {
    min-height: 2.5rem;
    white-space: nowrap;
}

.handball-camps .handball-camps-accounting-table th:nth-child(7) {
    width: 15.5rem;
    min-width: 15.5rem;
}

.handball-camps .handball-camps-refund-scenarios .card {
    overflow: hidden;
}

.handball-camps .handball-camps-refund-scenarios .card-header {
    padding: 0.85rem 1rem;
}

.handball-camps .handball-camps-refund-scenarios .card-body {
    padding: 1rem;
}

.handball-camps .handball-camps-refund-scenarios .card-footer {
    padding: 0 1rem 1rem;
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-accounting-controls {
        align-items: stretch;
    }

    .handball-camps .handball-camps-accounting-search-wrapper {
        flex-basis: 100%;
    }

    .handball-camps .handball-camps-accounting-open-filter {
        flex: 1 1 auto;
        justify-content: center;
    }

    .handball-camps .handball-camps-accounting-bulk-reminder-form {
        margin-left: 0;
    }

    .handball-camps .handball-camps-accounting-actions {
        grid-template-columns: repeat(6, 2.75rem);
    }
}

@media (max-width: 575.98px) {
    .handball-camps .handball-camps-accounting-controls {
        display: grid;
        grid-template-columns: 1fr;
    }

    .handball-camps .handball-camps-accounting-open-filter,
    .handball-camps .handball-camps-accounting-bulk-reminder-form,
    .handball-camps .handball-camps-accounting-bulk-reminder {
        width: 100%;
    }

    .handball-camps .handball-camps-accounting-open-filter {
        justify-content: space-between;
        white-space: normal;
    }

    .handball-camps .handball-camps-accounting-bulk-reminder {
        white-space: normal;
    }

    .handball-camps .handball-camps-accounting-actions {
        grid-template-columns: repeat(3, minmax(2.75rem, 1fr));
        gap: 0.4rem;
    }
}

/* Public Last-Minute booking phase 1.1.19 */

/* Participant accounting: private waiting list management 1.1.14 */
.handball-camps .handball-camps-accounting-totals {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.handball-camps .handball-camps-waiting-list-table th:nth-child(1) {
    width: auto;
    min-width: 12rem;
}

.handball-camps .handball-camps-waiting-list-table th:nth-child(2) {
    min-width: 5.5rem;
}

.handball-camps .handball-camps-waiting-list-table th:nth-child(3) {
    min-width: 16rem;
}

.handball-camps .handball-camps-waiting-list-table th:nth-child(4) {
    width: 6.5rem;
    min-width: 6.5rem;
}

.handball-camps .handball-camps-waiting-list-table .handball-camps-accounting-actions {
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-accounting-totals {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .handball-camps .handball-camps-waiting-list-table .handball-camps-accounting-actions {
        display: grid;
        grid-template-columns: repeat(2, 2.75rem);
        justify-content: end;
    }
}

@media (max-width: 575.98px) {
    .handball-camps .handball-camps-accounting-tabs .nav-item {
        flex: 1 1 33.333%;
    }

    .handball-camps .handball-camps-accounting-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .handball-camps .handball-camps-waiting-list-table .handball-camps-accounting-actions {
        grid-template-columns: repeat(2, minmax(2.75rem, 1fr));
    }
}

/* Registration start page: highlighted camp facts 1.1.18 */
.handball-camps-registration-start-page .handball-camps-registration-facts {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none !important;
}

.handball-camps-registration-start-page .handball-camps-registration-fact-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.handball-camps-registration-start-page .handball-camps-registration-fact,
.handball-camps-registration-start-page .handball-camps-registration-fact:nth-child(2),
.handball-camps-registration-start-page .handball-camps-registration-fact:nth-child(-n+2),
.handball-camps-registration-start-page .handball-camps-registration-fact:last-child {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
    min-height: 6.25rem;
    padding: 1rem;
    border: 1px solid #dfe3e7 !important;
    border-top: 0.32rem solid #000000 !important;
    border-radius: 0.85rem;
    background: #ffffff;
    box-shadow: 0 0.25rem 0.85rem rgba(0, 0, 0, 0.06);
}

.handball-camps-registration-start-page .handball-camps-registration-fact-deadline,
.handball-camps-registration-start-page .handball-camps-registration-fact-deadline:last-child {
    border-top-color: #ff3205 !important;
}

.handball-camps-registration-start-page .handball-camps-registration-fact-icon {
    flex: 0 0 2.8rem;
    width: 2.8rem;
    height: 2.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #000000;
    color: #ffff00;
}

.handball-camps-registration-start-page .handball-camps-registration-fact-deadline .handball-camps-registration-fact-icon {
    background: #ff3205;
    color: #000000;
}

.handball-camps-registration-start-page .handball-camps-registration-fact-icon svg {
    width: 1.45rem;
    height: 1.45rem;
    fill: currentColor;
}

.handball-camps-registration-start-page .handball-camps-registration-fact-content {
    min-width: 0;
}

.handball-camps-registration-start-page .handball-camps-registration-fact-label {
    margin-bottom: 0.3rem;
    font-size: 0.875rem;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    color: #5c636a;
}

.handball-camps-registration-start-page .handball-camps-registration-fact-value {
    font-size: 1.075rem;
    line-height: 1.3;
    font-weight: 800;
    color: #000000;
    overflow-wrap: anywhere;
}

@media (max-width: 1199.98px) {
    .handball-camps-registration-start-page .handball-camps-registration-fact-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .handball-camps-registration-start-page .handball-camps-registration-fact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .handball-camps-registration-start-page .handball-camps-registration-fact-grid {
        grid-template-columns: 1fr;
        gap: 0.65rem;
    }

    .handball-camps-registration-start-page .handball-camps-registration-fact,
    .handball-camps-registration-start-page .handball-camps-registration-fact:nth-child(2),
    .handball-camps-registration-start-page .handball-camps-registration-fact:nth-child(-n+2),
    .handball-camps-registration-start-page .handball-camps-registration-fact:last-child {
        min-height: 0;
        padding: 0.9rem 1rem;
    }
}

/* Registration start page: animated occupancy and active Last-Minute phase 1.1.19 */
.handball-camps-registration-start-page .handball-camps-registration-capacity-scale-fill {
    transform-origin: left center;
    animation: handball-camps-capacity-grow 2.2s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
}

@keyframes handball-camps-capacity-grow {
    from {
        width: 0;
    }

    to {
        width: var(--handball-camps-occupancy, 0%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .handball-camps-registration-start-page .handball-camps-registration-capacity-scale-fill {
        animation: none;
    }
}

/* Excel exports and trainer/helper accounting 1.2.0 */
.handball-camps .handball-camps-participant-list-controls,
.handball-camps .handball-camps-accounting-header,
.handball-camps .handball-camps-trainer-accounting-header,
.handball-camps .handball-camps-trainer-actions-bar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.handball-camps .handball-camps-participant-list-controls .handball-camps-live-search-wrapper {
    flex: 1 1 30rem;
    max-width: none;
}

.handball-camps .handball-camps-export-button {
    white-space: nowrap;
}

.handball-camps .handball-camps-trainer-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.65rem;
}

.handball-camps .handball-camps-trainer-summary-item {
    min-width: 0;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.65rem;
    background: var(--bs-body-bg, #fff);
}

.handball-camps .handball-camps-trainer-summary-item span,
.handball-camps .handball-camps-trainer-summary-item strong {
    display: block;
}

.handball-camps .handball-camps-trainer-summary-item span {
    margin-bottom: 0.2rem;
    color: var(--bs-secondary-color, #6c757d);
}

.handball-camps .handball-camps-trainer-summary-item strong {
    font-size: 1.15rem;
    line-height: 1.25;
}

.handball-camps .handball-camps-trainer-table-wrapper {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.65rem;
    overflow: hidden;
}

.handball-camps .handball-camps-trainer-table > :not(caption) > * > * {
    padding: 0.7rem 0.75rem;
}

.handball-camps .handball-camps-trainer-row-actions {
    display: inline-flex;
    justify-content: flex-end;
    gap: 0.35rem;
}

.handball-camps .handball-camps-trainer-row-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    padding: 0;
}

.handball-camps .handball-camps-trainer-actions-bar {
    justify-content: flex-end;
}

@media (max-width: 991.98px) {
    .handball-camps .handball-camps-trainer-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .handball-camps .handball-camps-participant-list-controls,
    .handball-camps .handball-camps-accounting-header,
    .handball-camps .handball-camps-trainer-accounting-header,
    .handball-camps .handball-camps-trainer-actions-bar {
        align-items: stretch;
    }

    .handball-camps .handball-camps-export-button,
    .handball-camps .handball-camps-trainer-actions-bar .btn {
        width: 100%;
    }

    .handball-camps .handball-camps-trainer-table-wrapper {
        border: 0;
        border-radius: 0;
        overflow: visible;
    }

    .handball-camps .handball-camps-trainer-table,
    .handball-camps .handball-camps-trainer-table tbody,
    .handball-camps .handball-camps-trainer-table tr,
    .handball-camps .handball-camps-trainer-table td {
        display: block;
        width: 100%;
    }

    .handball-camps .handball-camps-trainer-table thead {
        display: none;
    }

    .handball-camps .handball-camps-trainer-table tbody {
        display: grid;
        gap: 0.75rem;
    }

    .handball-camps .handball-camps-trainer-table tr {
        padding: 0.75rem 0.9rem;
        border: 1px solid var(--bs-border-color, #dee2e6);
        border-radius: 0.65rem;
        background: var(--bs-body-bg, #fff);
    }

    .handball-camps .handball-camps-trainer-table td {
        display: grid;
        grid-template-columns: minmax(8.5rem, 38%) minmax(0, 1fr);
        gap: 0.75rem;
        padding: 0.45rem 0 !important;
        border: 0;
        text-align: left !important;
    }

    .handball-camps .handball-camps-trainer-table td::before {
        content: attr(data-label);
        color: var(--bs-secondary-color, #6c757d);
        font-weight: 700;
    }

    .handball-camps .handball-camps-trainer-row-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media (max-width: 575.98px) {
    .handball-camps .handball-camps-trainer-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .handball-camps .handball-camps-trainer-table td {
        grid-template-columns: 1fr;
        gap: 0.2rem;
    }

    .handball-camps .handball-camps-trainer-row-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(2.75rem, 1fr));
        width: 100%;
    }

    .handball-camps .handball-camps-trainer-row-actions .btn {
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .handball-camps-trainer-accounting .handball-camps-accounting-tabs .nav-item {
        flex: 1 1 50%;
    }
}

/* Trainer/Helfer modal and conditional bank fields 1.2.5 */
.handball-camps-accounting-modal .modal-dialog {
    max-height: calc(100dvh - 1rem);
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.handball-camps-accounting-modal .modal-content {
    max-height: calc(100dvh - 1rem);
    overflow: hidden;
}

.handball-camps-accounting-modal .handball-camps-modal-form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    max-height: inherit;
    overflow: hidden;
}

.handball-camps-accounting-modal .modal-header,
.handball-camps-accounting-modal .modal-footer {
    flex: 0 0 auto;
}

.handball-camps-accounting-modal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.handball-camps-accounting-modal [data-handball-camps-bank-fields="1"][hidden] {
    display: none !important;
}

@supports not (height: 100dvh) {
    .handball-camps-accounting-modal .modal-dialog,
    .handball-camps-accounting-modal .modal-content {
        max-height: calc(100vh - 1rem);
    }
}

@media (min-width: 576px) {
    .handball-camps-accounting-modal .modal-dialog {
        max-height: calc(100dvh - 3.5rem);
        margin-top: 1.75rem;
        margin-bottom: 1.75rem;
    }

    .handball-camps-accounting-modal .modal-content {
        max-height: calc(100dvh - 3.5rem);
    }

    @supports not (height: 100dvh) {
        .handball-camps-accounting-modal .modal-dialog,
        .handball-camps-accounting-modal .modal-content {
            max-height: calc(100vh - 3.5rem);
        }
    }
}

/* Trainerpool-Mehrfachauswahl 1.2.9 */
.handball-camps .handball-camps-trainer-multiselect-panel {
    padding: .75rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: var(--bs-border-radius, .375rem);
    background: var(--bs-tertiary-bg, #f8f9fa);
}

.handball-camps .handball-camps-trainer-multiselect {
    min-height: 14rem;
    background-color: var(--bs-body-bg, #fff);
}

.handball-camps .handball-camps-trainer-multiselect option {
    padding: .55rem .7rem;
}

.handball-camps .handball-camps-trainer-multiselect option:checked {
    font-weight: 600;
}

@media (max-width: 575.98px) {
    .handball-camps .handball-camps-trainer-multiselect {
        min-height: 11rem;
    }
}

/* Camp-Abrechnung 1.2.18 */
.handball-camps .handball-camps-camp-accounting-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.handball-camps .handball-camps-camp-accounting-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.handball-camps .handball-camps-camp-accounting-summary-item {
    position: relative;
    min-width: 0;
    padding: 1rem 1.1rem;
    overflow: hidden;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .75rem;
    background: var(--bs-body-bg, #fff);
}

.handball-camps .handball-camps-camp-accounting-summary-item::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: .3rem;
    content: "";
    background: var(--bs-secondary, #6c757d);
}

.handball-camps .handball-camps-camp-accounting-income::before,
.handball-camps .handball-camps-camp-accounting-balance-positive::before {
    background: var(--bs-success, #198754);
}

.handball-camps .handball-camps-camp-accounting-expense::before,
.handball-camps .handball-camps-camp-accounting-balance-negative::before {
    background: var(--bs-danger, #dc3545);
}

.handball-camps .handball-camps-camp-accounting-balance-neutral::before {
    background: var(--bs-primary, #0d6efd);
}

.handball-camps .handball-camps-camp-accounting-summary-item span,
.handball-camps .handball-camps-camp-accounting-summary-item strong,
.handball-camps .handball-camps-camp-accounting-summary-item small {
    display: block;
}

.handball-camps .handball-camps-camp-accounting-summary-item span {
    margin-bottom: .2rem;
    color: var(--bs-secondary-color, #6c757d);
    font-weight: 600;
}

.handball-camps .handball-camps-camp-accounting-summary-item strong {
    margin-bottom: .15rem;
    font-size: clamp(1.3rem, 2.5vw, 1.75rem);
    line-height: 1.2;
}

.handball-camps .handball-camps-camp-accounting-summary-item small {
    color: var(--bs-secondary-color, #6c757d);
}

.handball-camps .handball-camps-camp-accounting-card {
    overflow: hidden;
    border-color: var(--bs-border-color, #dee2e6);
}

.handball-camps .handball-camps-camp-accounting-card .card-header {
    padding: .9rem 1rem;
    background: var(--bs-tertiary-bg, #f8f9fa);
}

.handball-camps .handball-camps-camp-accounting-table > :not(caption) > * > * {
    padding: .75rem;
}

.handball-camps .handball-camps-camp-accounting-table tfoot th {
    border-top-width: 2px;
    background: var(--bs-tertiary-bg, #f8f9fa);
}

.handball-camps .handball-camps-camp-accounting-fixed-row {
    background: color-mix(in srgb, var(--bs-primary, #0d6efd) 4%, transparent);
}

.handball-camps .handball-camps-camp-accounting-actions {
    display: inline-flex;
    justify-content: flex-end;
    gap: .3rem;
}

.handball-camps .handball-camps-camp-accounting-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
}

@media (max-width: 767.98px) {
    .handball-camps .handball-camps-camp-accounting-summary {
        grid-template-columns: 1fr;
    }

    .handball-camps .handball-camps-camp-accounting-table,
    .handball-camps .handball-camps-camp-accounting-table tbody,
    .handball-camps .handball-camps-camp-accounting-table tr,
    .handball-camps .handball-camps-camp-accounting-table td {
        display: block;
        width: 100%;
    }

    .handball-camps .handball-camps-camp-accounting-table thead {
        display: none;
    }

    .handball-camps .handball-camps-camp-accounting-table tbody {
        display: grid;
        gap: .75rem;
        padding: .75rem;
    }

    .handball-camps .handball-camps-camp-accounting-table tbody tr {
        padding: .75rem .85rem;
        border: 1px solid var(--bs-border-color, #dee2e6);
        border-radius: .65rem;
    }

    .handball-camps .handball-camps-camp-accounting-table tbody td {
        display: grid;
        grid-template-columns: minmax(7.5rem, 35%) minmax(0, 1fr);
        gap: .65rem;
        padding: .4rem 0 !important;
        border: 0;
        text-align: left !important;
    }

    .handball-camps .handball-camps-camp-accounting-table tbody td::before {
        content: attr(data-label);
        color: var(--bs-secondary-color, #6c757d);
        font-weight: 700;
    }

    .handball-camps .handball-camps-camp-accounting-table tfoot {
        display: table;
        width: 100%;
    }

    .handball-camps .handball-camps-camp-accounting-actions {
        justify-content: flex-start;
    }
}


/* Trainer modal viewport and persistent action footer 1.2.19 */
.handball-camps-trainer-modal {
    --handball-camps-modal-viewport-height: 100vh;
}

@supports (height: 100dvh) {
    .handball-camps-trainer-modal {
        --handball-camps-modal-viewport-height: 100dvh;
    }
}

.handball-camps-trainer-modal .modal-dialog {
    height: calc(var(--handball-camps-modal-viewport-height) - 1rem);
    max-height: calc(var(--handball-camps-modal-viewport-height) - 1rem);
}

.handball-camps-trainer-modal .modal-content {
    display: flex;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
}

.handball-camps-trainer-modal .handball-camps-trainer-form {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    width: 100%;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow: hidden;
}

.handball-camps-trainer-modal .modal-body {
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.handball-camps-trainer-modal .modal-footer {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
    background: var(--bs-modal-bg, var(--bs-body-bg, #ffffff));
    border-top: var(--bs-modal-footer-border-width, 1px) solid var(--bs-modal-footer-border-color, var(--bs-border-color, #dee2e6));
    box-shadow: 0 -0.35rem 0.8rem rgba(0, 0, 0, 0.045);
}

@media (min-width: 576px) {
    .handball-camps-trainer-modal .modal-dialog {
        height: calc(var(--handball-camps-modal-viewport-height) - 3.5rem);
        max-height: calc(var(--handball-camps-modal-viewport-height) - 3.5rem);
    }
}

@media (max-width: 575.98px) {
    .handball-camps-trainer-modal .modal-dialog {
        width: auto;
        margin: 0.5rem;
    }
}
