html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 1rem;
    }

    .col-form-label {
        text-align: right;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.top-menu > .dropdown > .btn:focus,
.top-menu > .dropdown > .btn:focus-visible,
.top-menu > .dropdown > .btn:focus-within {
    outline: none !important;
    box-shadow: none !important;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 4rem;
}

h5.bg-info-subtle {
    padding: 0.25rem;
}

.btn:not(:last-child) {
    margin-right: 1rem;
}

.btn.btn-sm:not(:last-child) {
    margin-right: 0.25rem;
}

.break-all {
    word-break: break-all !important;
}

.custom-tooltip {
}

    .custom-tooltip .tooltip-inner {
        text-align: left;
    }

input[readonly] {
    background-color: var(--bs-secondary-bg);
}

.form-control-plaintext .table {
    margin-bottom: 0;
}

.readonly .form-check-input:disabled ~ .form-check-label {
    opacity: 1;
}

.btn-check:not(:disabled) + label {
    cursor: pointer;
}

.btn-check:not(:disabled):checked + label {
    background-color: var(--bs-blue);
    color: var(--bs-white);
}

.btn-check:disabled + label {
    background-color: var(--bs-secondary-bg);
}

.time-checkbox label {
    width: auto !important;
    white-space: nowrap;
    margin-bottom: 0;
    flex-shrink: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right-style: none;
}

input[type=time] {
    max-width: 11.5rem;
}

.value-row:has(> .time-checkbox) {
    display: flex;
    align-items: center;
}

    .value-row:has(> .time-checkbox) > *:not(.text-danger) {
        white-space: nowrap;
    }

    .value-row:has(> .time-checkbox) .text-danger {
        display: block;
        width: 100%;
        flex-basis: 100%;
    }

.value-row:has(> .time-checkbox) {
    display: flex;
    align-items: center;
}

:not(td) > .value-row:has(> .time-checkbox) {
    flex-wrap: wrap;
}

.time-checkbox + input[type="time"] {
    flex-grow: 1;
    min-width: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    max-width: 8rem;
}

.text-pre-line {
    white-space: pre-line;
}

.page-item:not(:first-child) {
    margin-left: 0.5rem;
}