:root {
    --bs-success: #38c172;
    --bs-success-rgb: 56, 193, 114;
}

.btn-thin {
    height: fit-content;
    padding: 1px 8px 1px 8px;
}

.input-thin {
    height: 28px !important;
}

.sticky-th {
    position: sticky !important;
    top: 0 !important;
}

.data-href:hover {
    cursor: pointer;
    text-decoration: underline;
}

a[disabled] {
    pointer-events: none;
}

.w-fit {
    width: fit-content !important;
    min-width: fit-content !important;
}

.h-fit {
    height: fit-content !important;
    min-height: fit-content !important;
}

.w-fill {
    width: 100% !important;
    max-width: 100% !important;
}

.h-fill {
    height: 100% !important;
    max-height: 100% !important;
}

.w-10 {
    width: 10% !important;
    max-width: 10% !important;
}

.mw-20ch {
    max-width: 20ch !important;
}

.h-10 {
    height: 10% !important;
    max-height: 10% !important;
}

div .disabled-card * {
    opacity: 0.5;
    pointer-events: none;
}

.text-blue {
    color: var(--bs-blue) !important;
}

.text-indigo {
    color: var(--bs-indigo) !important;
}

.text-purple {
    color: var(--bs-purple) !important;
}

.text-pink {
    color: var(--bs-pink) !important;
}

.text-red {
    color: var(--bs-red) !important;
}

.text-orange {
    color: var(--bs-orange) !important;
}

.text-yellow {
    color: var(--bs-yellow) !important;
}

.text-green {
    color: var(--bs-green) !important;
}

.text-teal {
    color: var(--bs-teal) !important;
}

.text-cyan {
    color: var(--bs-cyan) !important;
}

.text-white {
    color: var(--bs-white) !important;
}

.text-gray {
    color: var(--bs-gray) !important;
}

.text-gray-dark {
    color: var(--bs-gray-dark) !important;
}

.btn-outline-pink {
    --bs-btn-color: #d63384;
    --bs-btn-border-color: #d63384;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #d63384;
    --bs-btn-hover-border-color: #d63384;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #d63384;
    --bs-btn-active-border-color: #d63384;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #d63384;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #d63384;
    --bs-gradient: none;
}

/* Span that supports the circle */
span[data-late] {
    position: relative;
    display: inline-block;
}

/* Actual circle */
span[data-late]::before {
    content: '';
    position: absolute;
    top: 0.1em;
    right: -0.2em;
    width: 0.6em;
    height: 0.6em;
    background-color: #d63384;
    border-radius: 50%;
    z-index: 2;
    border: var(--bs-body-bg) 2px solid;
}

input[type="checkbox"] {
    aspect-ratio: 1/1;
}

.resize-none {
    resize: none !important;
}

input[type="datetime-local"] {
    max-width: 24ch !important;
}

input[type="time"] {
    min-width: 9ch !important;
    text-align: center;
}

input[type="time"]::-webkit-calendar-picker-indicator {
    background: none;
    display: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    --moz-appearance: textfield;
}

.btn-sm {
    min-width: 5ch !important;
}

.square {
    aspect-ratio: 1/1 !important;
}

details:not([open]) > summary {
    margin-bottom: 0;
}

.table-responsive {
    max-height: 75vh;
    overflow-y: scroll;
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-pointer {
    cursor: pointer;
}

/* Add icon after external markdown href. */
/*noinspection CssNoGenericFontName*/
a[target="_blank"]:not(.no-external-link)::after, a.external::after {
    font-family: var(--fa-family, var(--fa-style-family, "Font Awesome 7 Pro"));
    content: "\f08e";
    margin-left: 0.5ch;
}

blockquote {
    font-style: italic;
    color: var(--bs-secondary-color) !important;
    border-left: 0.25rem solid var(--bs-secondary);
    padding-left: 1ch;
}

p:last-child {
    margin-bottom: 0;
}

li:not(.nav-item) + li:not(.nav-item) {
    margin-top: 0.5ch;
}
