.bg-light-dark {
    background-color: #373737 !important;
}
.inline-clipboard {
    cursor: copy;
}
.btn-xs {
    font-size: 0.75rem;
    padding: 0.2rem 0.4rem 0.2rem 0.4rem;
}
.strong {
    font-weight: bold;
}
.one-line-no-overflow {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.form-control.disabled {
    background-color: var(--bs-secondary-bg);
    opacity: 1;
}
.link, .vlink, .external-link {
    cursor: pointer !important;
}
table.fixed-th-20 th {
    width: 20% !important
}
table.fixed-th-25 th {
    width: 25% !important
}
table.fixed-th-30 th {
    width: 30% !important
}
table.fixed-th-40 th {
    width: 40% !important
}
table.fixed-th-50 th {
    width: 50% !important
}

.col-form-label {
    padding-top: 0;
}

/* table-hoverer */
.hoverer .hover{
    display:none;
}
.hoverer .no-hover{
    display:block;
}
.hoverer:hover .hover{
    display:block;
}
.hoverer:hover .no-hover{
    display:none;
}

/* gekürzte Tabelle (Stimulus collapsible-rows): nur die ersten 10 Zeilen, auch nach dem Sortieren */
.rows-collapsed tbody tr:nth-child(n+11) {
    display: none;
}

/* tablesort.js */
th[role=columnheader]:not(.no-sort) {
    cursor: pointer;
}

th[role=columnheader]:not(.no-sort):after {
    content: ' ';
    float: right;
    margin-top: 7px;
    border-width: 0 4px 4px;
    border-style: solid;
    border-color: var(--zz-text-muted, #404040) transparent;
    visibility: hidden;
    opacity: 0;
    -ms-user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

th[aria-sort=ascending]:not(.no-sort):after {
    border-bottom: none;
    border-width: 4px 4px 0;
}

th[aria-sort]:not(.no-sort):after {
    visibility: visible;
    opacity: 0.4;
}

th[role=columnheader]:not(.no-sort):hover:after {
    visibility: visible;
    opacity: 1;
}

/* Karte "Verknüpft" (Ticket-Detail): verschwindet, wenn alle Abschnitte leer sind */
.linked-references:not(:has(.linked-section:not(.d-none))) {
    display: none;
}

/* Code-Blöcke im Planio-Markdown: abgesetzt, mit Kopier-Button oben rechts */
.code-block {
    position: relative;
}

.code-block pre {
    background-color: var(--bs-tertiary-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    padding: .75rem 2.75rem .75rem 1rem;
}

.code-block-copy {
    position: absolute;
    top: .35rem;
    right: .35rem;
    color: var(--bs-secondary-color);
    opacity: .6;
}

.code-block:hover .code-block-copy,
.code-block-copy:focus-visible {
    opacity: 1;
}

/* Präsenz-Avatare in der Topbar (Pusher): wer hat dieses Ticket gerade offen */
.presence-avatar {
    position: relative;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    cursor: default;
}

.presence-avatar img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 2px solid var(--bs-border-color);
}

.presence-avatar-dot {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 9px;
    height: 9px;
    background: #22c55e;
    border-radius: 50%;
    border: 2px solid var(--bs-body-bg);
}
