.diff-table { 
    border-collapse: collapse;
    table-layout: fixed;
}

.diff-table td { 
    vertical-align: top;
    border: none; }

.diff-ln {
  font-size: 11px;
  text-align: right;
  user-select: none; 
  color: var(--bs-secondary-color);
}

.diff-code code { color: inherit }
.conflict-side  { min-width: 0; }

details[open] .bi-chevron-down { transform: rotate(180deg); }

.import-dropzone {
    border: 2px dashed var(--bs-border-color);
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease;
}

.import-dropzone:hover,
.import-dropzone:focus-within,
.import-dropzone.is-dragover {
    border-color: var(--custom-purple);
    background-color: rgba(var(--custom-purple-rgb), 0.06);
}

.task-preview {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--radius-sm);
    padding: 0.65rem 0.9rem;
}

.publish-option {
    border: 1px solid var(--bs-border-color);
    cursor: pointer;
    transition: border-color 180ms ease, background-color 180ms ease;
}

.publish-option:hover {
    border-color: var(--custom-purple-light);
}

.publish-option:has(:checked) {
    border-color: var(--custom-purple);
    background-color: rgba(var(--custom-purple-rgb), 0.06);
}

.publish-option:has(:focus-visible) {
    outline: 2px solid var(--custom-purple-light);
    outline-offset: 2px;
}

.detail-tabs {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.5rem;
    border-bottom: 1px solid var(--bs-border-color);
    margin-bottom: 0.25rem;
}

#detailButtons .collapsing {
    transition: none;
}

.accordion-group {
    margin-bottom: 0.5rem;
}

.tab-toggle {
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    margin-bottom: -1px;
    padding: 0.45rem 0.75rem;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--bs-secondary-color);
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: color 180ms ease, border-color 180ms ease;
}

.tab-toggle:hover {
    color: var(--custom-purple);
}

.tab-toggle-icon {
    font-size: 0.75em;
    color: var(--bs-secondary-color);
    transition: transform 180ms ease, color 180ms ease;
}

.tab-toggle[aria-expanded="true"] {
    color: var(--custom-purple);
    border-bottom-color: var(--custom-purple);
}

.tab-toggle[aria-expanded="true"] .tab-toggle-icon {
    color: var(--custom-purple);
    transform: rotate(180deg);
}

.tab-toggle:focus-visible {
    outline: 2px solid var(--custom-purple-light);
    outline-offset: 2px;
}

.profile-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--custom-purple);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.1rem;
    flex-shrink: 0;
}

.section-header {
    border-top: 1px solid var(--bs-border-color);
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    margin-bottom: 1rem;
}

.section-toggle {
    background: none;
    border: none;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font: inherit;
    font-weight: 600;
    color: inherit;
    cursor: pointer;
}

.section-toggle-icon {
    color: var(--bs-secondary-color);
    font-size: 0.8em;
    transition: transform 180ms ease;
}

.section-toggle[aria-expanded="false"] .section-toggle-icon {
    transform: rotate(-90deg);
}

.section-toggle:focus-visible {
    outline: 2px solid var(--custom-purple-light);
    outline-offset: 3px;
    border-radius: 4px;
}

.list-row {
    border: 1px solid var(--bs-border-color);
    border-radius: var(--radius-sm);
    padding: 0.6rem 0.9rem;
    background: #fff;
}

.list-row-action {
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.list-row-action:hover {
    border-color: var(--custom-purple-light);
    box-shadow: var(--shadow-sm);
}

.auth-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.auth-card {
    width: 100%;
    max-width: 420px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    border: 1px solid var(--bs-border-color);
}

.mr-comment {
    background-color: rgba(var(--custom-purple-rgb), 0.05);
    border: 1px solid rgba(var(--custom-purple-rgb), 0.15);
    border-radius: var(--radius-sm);
    padding: 0.85rem 1rem;
}