
:root {
    --app-bg: #f6f8fb;
    --app-text: #111827;
    --app-muted: #6b7280;
    --app-card-bg: #ffffff;
    --app-border: #eceff4;
    --app-shadow: 0 10px 28px rgba(18, 38, 63, 0.08);
    --app-input-bg: #ffffff;
    --app-input-text: #111827;
    --app-table-head: #64748b;
    --app-chip-bg: #eef2ff;
    --app-chip-text: #3730a3;
    --app-navbar-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);
}

:root[data-theme="dark"] {
    --app-bg: #0b1220;
    --app-text: #e5eefc;
    --app-muted: #9fb0c7;
    --app-card-bg: #121a2b;
    --app-border: rgba(148, 163, 184, 0.16);
    --app-shadow: 0 16px 36px rgba(0, 0, 0, 0.34);
    --app-input-bg: #0f172a;
    --app-input-text: #e5eefc;
    --app-table-head: #b6c2d3;
    --app-chip-bg: rgba(99, 102, 241, 0.18);
    --app-chip-text: #c7d2fe;
    --app-navbar-shadow: 0 12px 32px rgba(0, 0, 0, 0.42);
}

html, body {
    background: var(--app-bg);
    color: var(--app-text);
}

body {
    background: var(--app-bg);
    color: var(--app-text);
}

.text-muted,
.form-text,
.metric-label,
.metric-sub,
.summary-row span,
.analytics-ring-sub,
.small.text-muted,
p.text-muted,
div.text-muted,
span.text-muted,
td .text-muted {
    color: var(--app-muted) !important;
}

.card,
.metric-card,
.section-card,
.post-card,
.live-log-entry-card,
.accounts-bulk-move-card,
.loading-card,
.modal-content,
.dropdown-menu,
.list-group-item,
.border.rounded,
.border.rounded-3 {
    background: var(--app-card-bg) !important;
    color: var(--app-text);
    border-color: var(--app-border) !important;
    box-shadow: var(--app-shadow);
}

.card-header,
.card-footer,
.table,
.table > :not(caption) > * > *,
.table-responsive,
.modal-header,
.modal-footer {
    background: transparent !important;
    color: var(--app-text);
    border-color: var(--app-border) !important;
}

.form-control,
.form-select,
textarea,
input,
select {
    background: var(--app-input-bg) !important;
    color: var(--app-input-text) !important;
    border-color: var(--app-border) !important;
}

.form-control:focus,
.form-select:focus,
textarea:focus,
input:focus,
select:focus {
    background: var(--app-input-bg) !important;
    color: var(--app-input-text) !important;
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--app-text);
    --bs-table-border-color: var(--app-border);
    --bs-table-striped-bg: rgba(148, 163, 184, 0.05);
    --bs-table-striped-color: var(--app-text);
    --bs-table-hover-bg: rgba(148, 163, 184, 0.08);
    --bs-table-hover-color: var(--app-text);
}

.compact-profiles-table th,
.report-table th {
    color: var(--app-table-head) !important;
}

.analytics-chip,
.report-chip-row .analytics-chip {
    background: var(--app-chip-bg);
    color: var(--app-chip-text);
}

.summary-row,
.timeline-item,
.analytics-toplist-row,
.analytics-dropdown-actions,
.log-row[data-task-id]:hover td {
    border-color: var(--app-border) !important;
}

.avatar-placeholder,
.post-thumb,
.mini-thumb-empty,
.post-thumb-empty,
.carousel-thumb-media,
.group-preview-avatar,
.analytics-selected-account-avatar,
.report-account-avatar,
.report-hover-avatar {
    background: #1e293b;
}

.loading-overlay .loading-card,
.updates-log-full,
.live-log-pre,
.report-hover-card,
.media-modal-content {
    border-color: var(--app-border) !important;
}

:root[data-theme="dark"] .btn-outline-secondary,
:root[data-theme="dark"] .btn-outline-primary,
:root[data-theme="dark"] .btn-outline-info,
:root[data-theme="dark"] .btn-outline-dark,
:root[data-theme="dark"] .btn-outline-light {
    color: #dbe7ff;
    border-color: rgba(219, 231, 255, 0.32);
}

:root[data-theme="dark"] .btn-outline-secondary:hover,
:root[data-theme="dark"] .btn-outline-primary:hover,
:root[data-theme="dark"] .btn-outline-info:hover,
:root[data-theme="dark"] .btn-outline-dark:hover,
:root[data-theme="dark"] .btn-outline-light:hover {
    background: rgba(219, 231, 255, 0.12);
    color: #fff;
}

:root[data-theme="dark"] .navbar-dark .navbar-nav .nav-link,
:root[data-theme="dark"] .navbar-dark .navbar-brand {
    color: rgba(255,255,255,0.92);
}

:root[data-theme="dark"] .app-navbar {
    box-shadow: var(--app-navbar-shadow);
}

:root[data-theme="dark"] .badge.text-bg-light {
    background: rgba(255,255,255,0.12) !important;
    color: #e5eefc !important;
}

:root[data-theme="dark"] .bg-white {
    background: transparent !important;
}

:root[data-theme="dark"] .alert {
    border-color: var(--app-border) !important;
}

:root[data-theme="dark"] a {
    color: #9cc3ff;
}

:root[data-theme="dark"] a:hover {
    color: #c6dcff;
}

:root[data-theme="dark"] .report-tabs .nav-link {
    background: rgba(148, 163, 184, 0.12);
    color: #d7e5fb;
}

:root[data-theme="dark"] .report-tabs .nav-link.active {
    background: #dbe7ff;
    color: #0b1220;
}


.app-navbar {
    box-shadow: var(--app-navbar-shadow);
}

.small-nav .nav-link {
    padding-top: .35rem;
    padding-bottom: .35rem;
}

.metric-card,
.section-card,
.post-card {
    border: 0;
    border-radius: 18px;
    box-shadow: var(--app-shadow);
}

.metric-label {
    color: #6b7280;
    font-size: 0.92rem;
}

.metric-value {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.1;
}

.metric-sub {
    color: #6b7280;
    font-size: 0.85rem;
    margin-top: 0.4rem;
}

.avatar-lg,
.avatar-xl {
    border-radius: 50%;
    object-fit: cover;
    background: #e9ecef;
    box-shadow: 0 8px 20px rgba(18, 38, 63, 0.12);
}

.avatar-lg { width: 72px; height: 72px; }
.avatar-xl { width: 96px; height: 96px; }

.avatar-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #6c757d;
}

.post-thumb {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: #e5e7eb;
}

.post-thumb-empty,
.mini-thumb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    font-weight: 600;
    background: #e5e7eb;
}

.mini-thumb {
    width: 58px;
    height: 58px;
    border-radius: 12px;
    object-fit: cover;
    flex-shrink: 0;
}

.detail-media {
    max-height: 420px;
    object-fit: cover;
}

.clamp-2,
.clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.clamp-2 { -webkit-line-clamp: 2; }
.clamp-3 { -webkit-line-clamp: 3; }

.post-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem 1rem;
}

.timeline-list { display: grid; gap: 1rem; }
.timeline-item { padding-bottom: 1rem; border-bottom: 1px solid #eceff4; }
.summary-list { display: grid; gap: 0.7rem; }
.summary-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.7rem 0;
    border-bottom: 1px solid #eceff4;
}
.summary-row span { color: #6b7280; }

.pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    padding: 0.3rem 0.7rem;
    font-size: 0.78rem;
    font-weight: 600;
}
.pill-success { background: #dcfce7; color: #166534; }
.pill-warning { background: #fef3c7; color: #92400e; }
.pill-danger { background: #fee2e2; color: #991b1b; }
.pill-neutral { background: #e5e7eb; color: #374151; }

.posts-table td, .posts-table th, .table > :not(caption) > * > * {
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
    vertical-align: middle;
}

canvas { min-height: 320px; }


.media-thumb-button {
    position: relative;
    display: inline-block;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    overflow: hidden;
    border-radius: 12px;
}

.media-thumb-image,
.post-thumb,
.mini-thumb {
    display: block;
}

.mini-media-wrap .media-thumb-button,
.mini-media-wrap .mini-thumb {
    width: 58px;
    height: 58px;
}

.post-card .media-thumb-button,
.post-card .post-thumb {
    width: 100%;
}

.media-badge,
.carousel-count {
    position: absolute;
    right: 8px;
    bottom: 8px;
    z-index: 2;
    border-radius: 999px;
    padding: 0.2rem 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #fff;
    background: rgba(17, 24, 39, 0.78);
}

.media-badge {
    left: 8px;
    right: auto;
}

.media-modal-content {
    background: #0f172a;
    color: #fff;
}

#mediaPreviewCaption {
    color: rgba(255,255,255,0.84);
}

#mediaPreviewBody {
    min-height: 300px;
}

.media-modal-frame,
.media-modal-frame img,
.media-modal-frame video {
    width: 100%;
}

.media-modal-frame img,
.media-modal-frame video {
    max-height: 75vh;
    object-fit: contain;
    border-radius: 16px;
    background: #020617;
}

.media-modal-carousel .carousel-item {
    text-align: center;
}

.media-modal-carousel .carousel-control-prev,
.media-modal-carousel .carousel-control-next {
    width: 8%;
}

.carousel-thumb-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 0.85rem;
}

.carousel-thumb-button {
    position: relative;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 14px;
    overflow: hidden;
    cursor: pointer;
}

.carousel-thumb-media {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    background: #e5e7eb;
}

.detail-image-button {
    cursor: zoom-in;
}


.app-global-warning {
    border-width: 2px !important;
}

.loading-overlay {
    position: fixed;
    top: 1rem;
    right: 1rem;
    left: auto;
    bottom: auto;
    background: transparent;
    display: none;
    align-items: flex-start;
    justify-content: flex-end;
    z-index: 2000;
    padding: 0;
    pointer-events: none;
}

.loading-overlay.is-active {
    display: flex;
}

.loading-card {
    width: min(380px, calc(100vw - 2rem));
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.22);
    padding: 1rem 1rem;
    text-align: center;
    border: 1px solid rgba(15, 23, 42, 0.08);
}

button.is-loading,
.btn.is-loading {
    pointer-events: none;
    opacity: 0.9;
}

.app-running-updates { border-width: 2px !important; }

.analytics-filter-card {
    border-radius: 20px;
}

.analytics-multi {
    min-height: 11rem;
}

.analytics-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.analytics-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.85rem;
    background: #eef2ff;
    color: #3730a3;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
}

.analytics-ring-card .card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.analytics-ring-total {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    margin-top: 0.25rem;
}

.analytics-ring-sub {
    color: #6b7280;
    font-size: 0.9rem;
    margin-top: 0.2rem;
    margin-bottom: 0.8rem;
}

.analytics-ring-canvas-wrap {
    width: min(240px, 100%);
    aspect-ratio: 1 / 1;
    height: auto;
    margin: 0 auto 1rem;
}

.analytics-ring-canvas-wrap canvas {
    width: 100% !important;
    height: 100% !important;
    display: block;
}

.analytics-toplist {
    width: 100%;
    display: grid;
    gap: 0.55rem;
}

.analytics-toplist-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 0.5rem;
    border-top: 1px solid #eceff4;
    font-size: 0.92rem;
}

.analytics-dropdown-toggle {
    min-height: 44px;
    border-radius: 12px;
    background: #fff;
}

.analytics-dropdown-menu {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    overflow: hidden;
}

.analytics-dropdown-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.8rem 1rem;
    border-bottom: 1px solid #eceff4;
    background: #f8fafc;
}

.analytics-dropdown-scroll {
    max-height: 260px;
    overflow-y: auto;
    padding: 0.4rem;
}

.analytics-check-option {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    padding: 0.65rem 0.8rem;
    border-radius: 10px;
    cursor: pointer;
}

.analytics-check-option:hover {
    background: #f3f4f6;
}

.analytics-check-option.is-hidden {
    display: none;
}


.min-w-0 { min-width: 0; }

.avatar-shell {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.avatar-shell .avatar-fallback {
    display: none;
}

.avatar-shell.is-fallback .avatar-fallback {
    display: flex;
}

.avatar-shell.is-fallback .avatar-image {
    display: none;
}

.account-card .card-footer form {
    margin: 0;
}

.account-header-main {
    min-width: 0;
}

.analytics-check-option.is-hidden {
    display: none;
}

.avatar-shell-sm {
    width: 2.6rem;
    height: 2.6rem;
}

.avatar-sm {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    object-fit: cover;
    display: block;
    background: #e5e7eb;
}

.avatar-placeholder {
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, #dbeafe, #e5e7eb);
    color: #0f172a;
    font-weight: 700;
}

.compact-profiles-table th {
    font-size: 0.8rem;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
}

.compact-profiles-table td {
    vertical-align: middle;
}

.compact-profile-cell {
    max-width: 260px;
}

.compact-bio {
    min-width: 220px;
    max-width: 420px;
}

.compact-actions-cell form {
    margin: 0;
}

.account-detail-hero .avatar-shell-xl,
.account-detail-hero .avatar-xl {
    width: 7rem;
    height: 7rem;
    border-radius: 999px;
    object-fit: cover;
    display: block;
}

.account-detail-hero .avatar-shell .avatar-placeholder {
    display: none;
}

.account-detail-hero .avatar-shell.is-fallback .avatar-placeholder {
    display: flex;
}

@media (max-width: 991.98px) {
    .compact-bio {
        min-width: 160px;
        max-width: 260px;
    }
}


.analytics-line-card .card-body {
    min-height: 320px;
}

.analytics-line-canvas-wrap {
    position: relative;
}

.analytics-line-canvas-wrap canvas {
    width: 100% !important;
    height: 260px !important;
}


.group-avatar-stack {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 86px;
}

.group-preview-avatar {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    object-fit: cover;
    display: block;
    background: #e5e7eb;
    border: 2px solid #fff;
    box-shadow: 0 6px 18px rgba(18, 38, 63, 0.12);
}

.group-avatar-stack .avatar-shell + .avatar-shell {
    margin-left: -0.5rem;
}




.chart-box {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.chart-box-post-history {
    height: 240px;
    min-height: 240px;
}

.chart-box canvas {
    display: block;
    width: 100% !important;
    height: 100% !important;
}


.analytics-selected-accounts-card {
    border-radius: 1.1rem;
}

.analytics-selected-accounts-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.analytics-selected-account-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.8);
    min-height: 42px;
}

.analytics-selected-account-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    flex: 0 0 28px;
    background: #f1f3f5;
}

.analytics-selected-account-name {
    font-size: 0.92rem;
    line-height: 1;
    white-space: nowrap;
    color: #22304a;
}


.analytics-selected-account-link {
    text-decoration: none;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}

.analytics-selected-account-link:hover {
    transform: translateY(-1px);
    border-color: rgba(13, 110, 253, 0.28);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.analytics-selected-account-link:hover .analytics-selected-account-name {
    color: #0d6efd;
}


.update-countdown-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 31px;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.82rem;
    line-height: 1;
    white-space: nowrap;
}

.update-countdown-icon {
    font-size: 0.9rem;
    line-height: 1;
}

.update-countdown-text {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

#updateCountdownValue {
    font-weight: 700;
    color: #ffe082;
}


.chart-box-account-history {
    height: 220px;
    min-height: 220px;
}

.account-post-card .post-thumb,
.account-post-card .media-thumb-button {
    width: 100%;
}

.account-post-card .card-body {
    min-height: 210px;
}


.accounts-bulk-move-card {
    border: 1px solid rgba(15, 23, 42, 0.06);
}

.bulk-move-account-check,
.bulk-move-select-all {
    cursor: pointer;
}

.compact-profiles-table th:first-child,
.compact-profiles-table td:first-child {
    text-align: center;
    width: 52px;
}

#bulkMoveSelectedCount {
    font-size: 1rem;
}


.group-header-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    min-width: min(100%, 740px);
    flex: 1 1 520px;
}

.group-filters-form {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) minmax(140px, 1fr) minmax(140px, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
}

.group-header-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.group-header-buttons form {
    margin: 0;
}

@media (max-width: 991.98px) {
    .group-filters-form {
        grid-template-columns: 1fr;
    }

    .group-header-buttons {
        justify-content: stretch;
    }

    .group-header-buttons > a,
    .group-header-buttons > form {
        flex: 1 1 auto;
    }

    .group-header-buttons .btn {
        width: 100%;
    }
}


.analytics-more-accounts-btn {
    border: 1px dashed rgba(15, 23, 42, 0.2);
    color: #334155;
    font-weight: 600;
}

.analytics-more-accounts-btn:hover {
    background: rgba(15, 23, 42, 0.04);
}

.analytics-selected-accounts-list-modal {
    max-height: none;
}

@media (max-width: 1199.98px) {
    .card-footer .btn.flex-fill {
        flex: 1 1 calc(50% - 0.5rem);
    }
}


.log-row[data-task-id] {
    cursor: pointer;
}

.log-row[data-task-id]:hover td {
    background: rgba(13, 110, 253, 0.05);
}


.live-log-entry-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: none;
}

.live-log-pre {
    white-space: pre-wrap;
    word-break: break-word;
    background: #0f172a;
    color: #e2e8f0;
    border-radius: 12px;
    padding: 0.85rem;
    margin: 0;
    font-size: 0.82rem;
    max-height: 320px;
    overflow: auto;
}

#liveLogEntries details summary {
    cursor: pointer;
}


#bulkInternalTagSelect {
    min-height: 120px;
}


.account-tag-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.7rem;
    font-weight: 600;
    line-height: 1;
    border: 1px solid transparent;
}

.account-tag-badge-neutral {
    background: #f1f5f9;
    color: #0f172a;
    border-color: rgba(15, 23, 42, 0.12);
}

.account-tag-badge-primary {
    background: rgba(13, 110, 253, 0.12);
    color: #084298;
    border-color: rgba(13, 110, 253, 0.2);
}

.account-tag-badge-success {
    background: rgba(25, 135, 84, 0.12);
    color: #0f5132;
    border-color: rgba(25, 135, 84, 0.2);
}

.account-tag-badge-warning {
    background: rgba(255, 193, 7, 0.18);
    color: #664d03;
    border-color: rgba(255, 193, 7, 0.28);
}

.account-tag-badge-danger {
    background: rgba(220, 53, 69, 0.12);
    color: #842029;
    border-color: rgba(220, 53, 69, 0.2);
}

.account-tag-badge-info {
    background: rgba(13, 202, 240, 0.15);
    color: #055160;
    border-color: rgba(13, 202, 240, 0.22);
}

.account-tag-badge-dark {
    background: rgba(33, 37, 41, 0.9);
    color: #fff;
    border-color: rgba(33, 37, 41, 0.9);
}

button.account-tag-badge:hover {
    filter: brightness(0.98);
}

.tag-picker-box {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-height: 44px;
}

.tag-picker-option {
    cursor: pointer;
    user-select: none;
}

.tag-picker-option input[type="checkbox"] {
    margin: 0;
}


.tag-picker-box {
    align-items: flex-start;
    align-content: flex-start;
}

.tag-picker-option {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
}

#bulkInternalTagSelect {
    min-height: 0;
}

#bulkInternalTagSelect .tag-picker-option {
    margin-bottom: 0;
}


.account-tag-badge-category {
    background: rgba(168, 85, 247, 0.14);
    color: #6b21a8;
    border-color: rgba(168, 85, 247, 0.24);
}


.tag-picker-box-scroll {
    max-height: 168px;
    overflow-y: auto;
    padding-right: 0.25rem;
    border-radius: 0.75rem;
}

#accountsInternalTagsFilterBox,
#bulkInternalTagSelect {
    align-items: flex-start;
    align-content: flex-start;
}

#accountsInternalTagsFilterBox .tag-picker-option,
#bulkInternalTagSelect .tag-picker-option {
    flex: 0 0 auto;
}

@media (max-width: 991.98px) {
    .tag-picker-box-scroll {
        max-height: none;
        overflow-y: visible;
    }
}


.tag-picker-box-horizontal {
    max-height: 132px;
    overflow-y: auto;
    overflow-x: hidden;
    align-items: flex-start;
    align-content: flex-start;
}

.tag-picker-box-horizontal .tag-picker-option {
    flex: 0 0 auto;
}

@media (max-width: 991.98px) {
    .tag-picker-box-horizontal {
        max-height: none;
        overflow-y: visible;
    }
}


.updates-log-preview {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 6.2rem;
}

.updates-log-full {
    white-space: pre-wrap;
    word-break: break-word;
    background: #0f172a;
    color: #e2e8f0;
    border-radius: 12px;
    padding: 0.9rem;
    margin: 0;
    font-size: 0.84rem;
    max-height: 65vh;
    overflow: auto;
}


.report-table th {
    font-size: 0.8rem;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #64748b;
    white-space: nowrap;
}

.report-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
}

@media (max-width: 767.98px) {
    .report-chip-row {
        justify-content: flex-start;
    }
}


.report-grid .section-card {
    overflow: hidden;
}

.report-table-wrap {
    max-height: 78vh;
    overflow: auto;
}

.report-table-compact td,
.report-table-compact th {
    white-space: nowrap;
}

.report-account-avatar {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    object-fit: cover;
    flex: 0 0 44px;
}

@media (max-width: 1399.98px) {
    .report-table-wrap {
        max-height: none;
    }
}


.report-tabs {
    gap: 0.75rem;
}

.report-tabs .nav-link {
    border-radius: 999px;
    font-weight: 600;
    color: #334155;
    background: #eef2ff;
}

.report-tabs .nav-link.active {
    background: #111827;
    color: #fff;
}

.report-tabs .badge {
    vertical-align: middle;
}


.report-hover-wrap {
    position: relative;
    display: inline-block;
    max-width: 100%;
}

.report-hover-card {
    position: absolute;
    left: 0;
    top: calc(100% + 0.45rem);
    z-index: 30;
    width: min(320px, 72vw);
    padding: 0.85rem 0.95rem;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
    transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s ease;
    pointer-events: none;
}

.report-hover-wrap:hover .report-hover-card {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.report-hover-avatar {
    width: 54px;
    height: 54px;
    border-radius: 999px;
    object-fit: cover;
    flex: 0 0 54px;
    background: #e5e7eb;
}

@media (max-width: 991.98px) {
    .report-hover-card {
        display: none;
    }
}


.live-search-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 1080;
    background: var(--app-card-bg);
    border: 1px solid var(--app-border);
    border-radius: 16px;
    box-shadow: var(--app-shadow);
    max-height: 420px;
    overflow: auto;
}

.live-search-item {
    width: 100%;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--app-border);
    color: var(--app-text);
}

.live-search-item:last-child { border-bottom: 0; }
.live-search-item:hover { background: rgba(148, 163, 184, 0.08); }
.live-search-avatar { width: 40px; height: 40px; border-radius: 999px; object-fit: cover; background: #1e293b; }
.report-track-actions { display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.plan-slider-card { min-height: 230px; }


.form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

:root[data-theme="dark"] .form-check-input:checked {
    background-color: #8bb9ff;
    border-color: #8bb9ff;
}

:root[data-theme="dark"] .form-check-input:checked[type="checkbox"] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}


:root[data-theme="dark"] .analytics-dropdown-toggle {
    background: #0f172a;
    border-color: rgba(148, 163, 184, 0.18);
    color: #e5eefc;
}

:root[data-theme="dark"] .analytics-dropdown-menu,
:root[data-theme="dark"] .analytics-dropdown-scroll,
:root[data-theme="dark"] .analytics-dropdown-actions {
    background: #121a2b;
}

:root[data-theme="dark"] .analytics-check-option:hover {
    background: rgba(148, 163, 184, 0.1);
}

:root[data-theme="dark"] .bg-light {
    background: #1a2438 !important;
    color: var(--app-text) !important;
}

:root[data-theme="dark"] .bg-light .text-muted,
:root[data-theme="dark"] .bg-light .small.text-muted {
    color: var(--app-muted) !important;
}

:root[data-theme="dark"] .analytics-check-option .form-check-input {
    background-color: #0f172a;
    border-color: rgba(148, 163, 184, 0.35);
}

:root[data-theme="dark"] .analytics-check-option .form-check-input:checked {
    background-color: #3b82f6;
    border-color: #3b82f6;
}

:root[data-theme="dark"] .analytics-toplist-row a {
    color: #dbeafe;
}

:root[data-theme="dark"] .analytics-toplist-row a:hover {
    color: #ffffff;
}


/* Analytics multiselect checkbox contrast fix */
.analytics-check-option .form-check-input:checked,
.analytics-group-check:checked,
.analytics-account-check:checked {
    background-color: #2563eb;
    border-color: #2563eb;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
    background-size: 0.8rem 0.8rem;
}

:root[data-theme="dark"] .analytics-check-option .form-check-input:checked,
:root[data-theme="dark"] .analytics-group-check:checked,
:root[data-theme="dark"] .analytics-account-check:checked {
    background-color: #60a5fa;
    border-color: #60a5fa;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
    background-size: 0.8rem 0.8rem;
}


/* Analytics dropdown checkbox visibility hard fix */
.analytics-dropdown .form-check-input.analytics-group-check,
.analytics-dropdown .form-check-input.analytics-account-check {
    width: 1.1rem;
    height: 1.1rem;
    min-width: 1.1rem;
    border: 2px solid #94a3b8;
    background-color: #ffffff;
    box-shadow: none;
}

.analytics-dropdown .form-check-input.analytics-group-check:focus,
.analytics-dropdown .form-check-input.analytics-account-check:focus {
    box-shadow: 0 0 0 0.18rem rgba(37, 99, 235, 0.18);
}

.analytics-dropdown .form-check-input.analytics-group-check:checked,
.analytics-dropdown .form-check-input.analytics-account-check:checked {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
    background-image: var(--bs-form-check-bg-image) !important;
    background-size: 0.8rem 0.8rem !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    box-shadow: 0 0 0 0.18rem rgba(37, 99, 235, 0.22);
}

:root[data-theme="dark"] .analytics-dropdown .form-check-input.analytics-group-check,
:root[data-theme="dark"] .analytics-dropdown .form-check-input.analytics-account-check {
    border-color: #64748b;
    background-color: #0f172a;
}

:root[data-theme="dark"] .analytics-dropdown .form-check-input.analytics-group-check:checked,
:root[data-theme="dark"] .analytics-dropdown .form-check-input.analytics-account-check:checked {
    background-color: #60a5fa !important;
    border-color: #93c5fd !important;
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
    background-image: var(--bs-form-check-bg-image) !important;
    box-shadow: 0 0 0 0.18rem rgba(96, 165, 250, 0.3);
}

.account-detail-controls-card .card-body {
    padding: 1.25rem;
}

.account-detail-user-management-row .card-body {
    height: 100%;
}

.account-detail-chip-row {
    justify-content: flex-end;
}

@media (min-width: 1200px) {
    .account-detail-controls-card {
        position: sticky;
        top: 1rem;
    }

    .account-detail-hero {
        min-height: 100%;
        padding-right: 1rem;
    }
}

@media (max-width: 991.98px) {
    .account-detail-chip-row {
        justify-content: flex-start;
    }
}

/* User preferences */
.setting-choice {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: 1rem;
    border: 1px solid var(--bs-border-color);
    border-radius: 1rem;
    background: var(--bs-body-bg);
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.setting-choice:hover {
    border-color: rgba(255, 193, 7, .75);
    box-shadow: 0 .5rem 1.25rem rgba(0,0,0,.08);
    transform: translateY(-1px);
}
.setting-choice .form-check-input:checked {
    background-color: #f0ad00;
    border-color: #f0ad00;
}
body.density-compact .table > :not(caption) > * > * {
    padding-top: .38rem;
    padding-bottom: .38rem;
}
body.density-compact .account-row-card,
body.density-compact .card-body.compact-aware {
    padding-top: .75rem !important;
    padding-bottom: .75rem !important;
}
[data-theme="dark"] .setting-choice {
    background: rgba(255,255,255,.035);
    border-color: rgba(255,255,255,.12);
}
[data-theme="dark"] .setting-choice:hover {
    border-color: rgba(255, 193, 7, .7);
}

/* v228: keep report rankings and account action columns fitting cleanly */
.report-table-user-posts {
    table-layout: fixed;
    width: 100%;
    font-size: 0.86rem;
}
.report-table-user-posts th,
.report-table-user-posts td {
    padding: 0.55rem 0.42rem;
    vertical-align: middle;
}
.report-table-user-posts .report-type-col {
    display: none;
}
.report-table-user-posts th:nth-child(1),
.report-table-user-posts td:nth-child(1) { width: 2.6rem; }
.report-table-user-posts th:nth-child(2),
.report-table-user-posts td:nth-child(2) { width: 4.1rem; }
.report-table-user-posts th:nth-child(3),
.report-table-user-posts td:nth-child(3) { width: 24%; }
.report-table-user-posts th:nth-child(4),
.report-table-user-posts td:nth-child(4) { width: 15.5rem; }
.report-table-user-posts th:nth-child(6),
.report-table-user-posts td:nth-child(6),
.report-table-user-posts th:nth-child(7),
.report-table-user-posts td:nth-child(7),
.report-table-user-posts th:nth-child(8),
.report-table-user-posts td:nth-child(8),
.report-table-user-posts th:nth-child(9),
.report-table-user-posts td:nth-child(9) {
    width: 5.2rem;
    white-space: nowrap;
}
.report-table-user-posts th:nth-child(10),
.report-table-user-posts td:nth-child(10) { width: 11.5rem; }
.report-table-user-posts .mini-thumb {
    width: 42px;
    height: 42px;
    border-radius: 10px;
}
.report-table-user-posts .report-account-avatar {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
}
.report-table-user-posts .clamp-2 {
    -webkit-line-clamp: 1;
}
.report-table-user-posts .btn-sm {
    padding: 0.22rem 0.44rem;
    font-size: 0.78rem;
    line-height: 1.2;
}
.report-table-user-posts .report-track-actions,
.report-table-user-posts td.text-end > .d-flex {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
    justify-content: stretch !important;
}
.report-table-user-posts .report-track-actions > *,
.report-table-user-posts td.text-end > .d-flex > * {
    width: 100%;
}
.report-table-user-posts .report-track-actions .btn,
.report-table-user-posts .report-track-actions button,
.report-table-user-posts td.text-end > .d-flex .btn {
    width: 100%;
}
@media (max-width: 1199.98px) {
    .report-table-user-posts th:nth-child(3),
    .report-table-user-posts td:nth-child(3) { width: 19%; }
    .report-table-user-posts th:nth-child(4),
    .report-table-user-posts td:nth-child(4) { width: 13rem; }
    .report-table-user-posts th:nth-child(6),
    .report-table-user-posts td:nth-child(6),
    .report-table-user-posts th:nth-child(7),
    .report-table-user-posts td:nth-child(7),
    .report-table-user-posts th:nth-child(8),
    .report-table-user-posts td:nth-child(8) { width: 4.4rem; }
    .report-table-user-posts th:nth-child(10),
    .report-table-user-posts td:nth-child(10) { width: 10.2rem; }
}

.compact-actions-cell {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(74px, 1fr));
    gap: 0.45rem;
    align-items: stretch;
    justify-content: end;
    min-width: 190px;
    max-width: 220px;
    margin-left: auto;
}
.compact-actions-cell > a,
.compact-actions-cell > form > button,
.compact-actions-cell > form > .btn,
.compact-actions-cell .btn {
    width: 100%;
    white-space: nowrap;
}
.compact-actions-cell form {
    margin: 0;
}
.compact-actions-cell .account-move-form {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.45rem;
}
.compact-actions-cell .account-move-form .form-select {
    min-width: 0;
}
.compact-actions-cell .account-move-form .btn {
    width: auto;
    min-width: 58px;
}
.compact-profiles-table th:last-child,
.compact-profiles-table td:last-child {
    width: 230px;
}

/* v229: keep ranking/user report actions readable and prevent wide account rows */
.report-table-user-posts {
    table-layout: fixed;
    width: 100%;
}
.report-table-user-posts th,
.report-table-user-posts td {
    white-space: normal;
}
.report-table-user-posts th:nth-child(1),
.report-table-user-posts td:nth-child(1) { width: 3rem; }
.report-table-user-posts th:nth-child(2),
.report-table-user-posts td:nth-child(2) { width: 4.5rem; }
.report-table-user-posts th:nth-child(3),
.report-table-user-posts td:nth-child(3) { width: 24%; }
.report-table-user-posts th:nth-child(4),
.report-table-user-posts td:nth-child(4) { width: 18%; }
.report-table-user-posts th:nth-child(5),
.report-table-user-posts td:nth-child(5),
.report-table-user-posts th:nth-child(6),
.report-table-user-posts td:nth-child(6),
.report-table-user-posts th:nth-child(7),
.report-table-user-posts td:nth-child(7),
.report-table-user-posts th:nth-child(8),
.report-table-user-posts td:nth-child(8) {
    width: 6.8rem;
    white-space: nowrap;
}
.report-table-user-posts th:last-child,
.report-table-user-posts td:last-child {
    width: 11.5rem;
    min-width: 11.5rem;
}
.report-table-user-posts .report-track-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
}
.report-table-user-posts .report-track-actions-single {
    grid-template-columns: minmax(0, 1fr) !important;
}
.report-table-user-posts .report-track-actions .btn,
.report-table-user-posts .report-track-actions button,
.report-table-user-posts td.text-end > .d-flex .btn {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 2rem;
}
.report-table-user-posts .report-track-form {
    width: 100%;
}
.report-table-user-posts .report-hover-avatar {
    width: 42px;
    height: 42px;
    object-fit: cover;
    flex: 0 0 42px;
}

.compact-profiles-table {
    table-layout: fixed;
    width: 100%;
}
.compact-profiles-table th,
.compact-profiles-table td {
    overflow: hidden;
}
.compact-profiles-table th:nth-child(1),
.compact-profiles-table td:nth-child(1) { width: 42px; }
.compact-profiles-table th:nth-child(2),
.compact-profiles-table td:nth-child(2) { width: 19%; }
.compact-profiles-table th:nth-child(3),
.compact-profiles-table td:nth-child(3) { width: 7.5rem; }
.compact-profiles-table th:nth-child(4),
.compact-profiles-table td:nth-child(4) { width: 7rem; }
.compact-profiles-table th:nth-child(5),
.compact-profiles-table td:nth-child(5) { width: 5.5rem; }
.compact-profiles-table th:nth-child(6),
.compact-profiles-table td:nth-child(6) { width: 22%; }
.compact-profiles-table th:nth-child(7),
.compact-profiles-table td:nth-child(7) { width: 12%; }
.compact-profiles-table th:nth-child(8),
.compact-profiles-table td:nth-child(8) { width: 8rem; }
.compact-profiles-table th:nth-child(9),
.compact-profiles-table td:nth-child(9),
.compact-profiles-table th:nth-child(10),
.compact-profiles-table td:nth-child(10) { width: 5.5rem; }
.compact-profiles-table th:last-child,
.compact-profiles-table td:last-child {
    width: 16rem !important;
    min-width: 16rem;
}
.compact-profile-cell,
.compact-bio {
    min-width: 0 !important;
    max-width: 100% !important;
}
.compact-actions-cell {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    max-width: 100%;
    width: 100%;
    gap: 0.35rem;
}
.compact-actions-cell > a,
.compact-actions-cell > form > button,
.compact-actions-cell > form > .btn,
.compact-actions-cell .btn {
    min-width: 0;
    padding-left: .45rem;
    padding-right: .45rem;
    overflow: hidden;
    text-overflow: ellipsis;
}
.compact-actions-cell .account-move-form {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) 58px;
}
@media (max-width: 1199.98px) {
    .compact-profiles-table th:nth-child(6),
    .compact-profiles-table td:nth-child(6),
    .compact-profiles-table th:nth-child(7),
    .compact-profiles-table td:nth-child(7) { display: none; }
}

/* v230: final readable report actions + stricter no-overflow layouts */
.report-table-user-posts {
    table-layout: fixed;
    width: 100%;
    min-width: 0 !important;
}
.report-table-user-posts th,
.report-table-user-posts td {
    overflow: hidden;
    vertical-align: middle;
}
.report-table-user-posts th:nth-child(1),
.report-table-user-posts td:nth-child(1) { width: 3rem; }
.report-table-user-posts th:nth-child(2),
.report-table-user-posts td:nth-child(2) { width: 4.2rem; }
.report-table-user-posts th:nth-child(3),
.report-table-user-posts td:nth-child(3) { width: 20%; }
.report-table-user-posts th:nth-child(4),
.report-table-user-posts td:nth-child(4) { width: 18%; }
.report-table-user-posts th:nth-child(5),
.report-table-user-posts td:nth-child(5) { display: none !important; }
.report-table-user-posts th:nth-child(6),
.report-table-user-posts td:nth-child(6) { width: 5.2rem; white-space: nowrap; }
.report-table-user-posts th:nth-child(7),
.report-table-user-posts td:nth-child(7) { width: 5.3rem; white-space: nowrap; }
.report-table-user-posts th:nth-child(8),
.report-table-user-posts td:nth-child(8) { width: 5.7rem; white-space: nowrap; }
.report-table-user-posts th:nth-child(9),
.report-table-user-posts td:nth-child(9) { width: 5.9rem; white-space: nowrap; }
.report-table-user-posts th:nth-child(10),
.report-table-user-posts td:nth-child(10) {
    width: 9.4rem !important;
    min-width: 9.4rem !important;
    max-width: 9.4rem !important;
}
.report-table-user-posts td:nth-child(10) > .d-flex {
    display: block !important;
}
.report-table-user-posts .report-track-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
    width: 100%;
}
.report-table-user-posts .report-track-actions-single {
    grid-template-columns: 1fr !important;
}
.report-table-user-posts .report-track-actions .btn,
.report-table-user-posts .report-track-actions button,
.report-table-user-posts td:nth-child(10) .btn {
    width: 100%;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.12;
    min-height: 2.35rem;
    padding: 0.3rem 0.35rem;
    font-size: 0.76rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.report-table-user-posts .report-track-form {
    width: 100%;
    margin: 0;
}
.report-table-user-posts .mini-thumb {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
}
.report-table-user-posts .report-account-avatar {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
}
@media (max-width: 1320px) {
    .report-table-user-posts th:nth-child(7),
    .report-table-user-posts td:nth-child(7) {
        display: none;
    }
    .report-table-user-posts th:nth-child(10),
    .report-table-user-posts td:nth-child(10) {
        width: 9.7rem !important;
        min-width: 9.7rem !important;
        max-width: 9.7rem !important;
    }
}

.compact-profiles-table {
    table-layout: fixed;
    width: 100%;
    min-width: 0 !important;
}
.compact-profiles-table .compact-bio,
.compact-profiles-table .compact-profile-cell,
.compact-profiles-table td {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.compact-profiles-table .compact-bio {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.compact-actions-cell .btn {
    white-space: normal !important;
    line-height: 1.15;
    min-height: 2rem;
}

/* v231: reports account hover polish + clickable post media thumbnails */
.report-account-link {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    border-radius: 14px;
    padding: .18rem .28rem;
    margin: -.18rem -.28rem;
    transition: background-color .14s ease, transform .14s ease, box-shadow .14s ease;
}
.report-account-link:hover,
.report-account-link:focus-visible {
    background: rgba(13, 110, 253, .08);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .08);
}
[data-theme="dark"] .report-account-link:hover,
[data-theme="dark"] .report-account-link:focus-visible {
    background: rgba(96, 165, 250, .14);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
}
.report-post-media-trigger {
    border: 0;
    padding: 0;
    background: transparent;
    flex: 0 0 auto;
    cursor: zoom-in;
}
.report-post-media-trigger:hover .media-thumb-image,
.report-post-media-trigger:focus-visible .media-thumb-image {
    transform: scale(1.035);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .18);
}
.report-post-media-trigger .media-thumb-image {
    transition: transform .14s ease, box-shadow .14s ease;
}
.report-post-caption-trigger {
    text-decoration: none !important;
    cursor: zoom-in;
    max-width: 100%;
}
.report-post-caption-trigger:hover,
.report-post-caption-trigger:focus-visible {
    color: var(--bs-primary) !important;
}
.report-table-user-posts .report-post-media-trigger,
.report-table-user-posts .report-post-media-trigger .mini-thumb {
    width: 38px;
    height: 38px;
}

/* Account detail: keep the five headline metric cards on one row on wide screens. */
.account-detail-metrics-row .metric-card { min-width: 0; }
.account-detail-metrics-row .metric-value { white-space: nowrap; }
.account-detail-metrics-row .metric-sub { font-size: .82rem; }
@media (min-width: 1200px) {
  .account-detail-metrics-row > .col { flex: 0 0 20%; max-width: 20%; }
}

/* v234: keep internal account rows readable after adding rank/actions */
.compact-profiles-table th:nth-child(2),
.compact-profiles-table td:nth-child(2) { min-width: 190px; }
.compact-profiles-table th:nth-child(6),
.compact-profiles-table td:nth-child(6) { max-width: 240px; }
.compact-profiles-table .compact-profile-cell { max-width: 220px; }

/* v235: fold rank into profile cell and rebalance account detail controls */
.account-inline-rank .badge {
    font-size: .68rem;
    line-height: 1;
    padding: .22rem .42rem;
}
.compact-profiles-table .compact-profile-cell {
    max-width: 280px;
}
.account-detail-controls-wide .card-body {
    padding: 1.25rem;
}
.account-detail-controls-wide .tag-picker-box {
    max-height: 150px;
    overflow-y: auto;
}
.account-detail-controls-wide .form-text {
    font-size: .76rem;
}
@media (min-width: 1200px) {
    .account-detail-controls-wide .d-grid.gap-2.d-sm-flex .btn,
    .account-detail-controls-wide .d-grid.gap-2.d-sm-flex form {
        min-width: 150px;
    }
}


/* v238: standardize reports account hover and stop unnecessary username truncation */
.report-table .report-account-link {
    position: relative;
    overflow: visible;
    max-width: 100%;
    width: auto;
}
.report-table .report-account-link::after {
    content: "";
    position: absolute;
    left: .28rem;
    right: .28rem;
    bottom: -.18rem;
    height: 2px;
    border-radius: 999px;
    background: rgba(148, 163, 184, .8);
    opacity: 0;
    transform: scaleX(.72);
    transform-origin: left center;
    transition: opacity .14s ease, transform .14s ease;
}
.report-table .report-account-link:hover::after,
.report-table .report-account-link:focus-visible::after {
    opacity: 1;
    transform: scaleX(1);
}
.report-table .report-account-link:hover,
.report-table .report-account-link:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
.report-table .report-hover-card {
    display: none !important;
}
.report-table .report-account-username {
    display: block;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
.report-table .report-account-link .min-w-0 {
    min-width: 0;
    max-width: 100%;
}
.report-table.report-table-compact th:nth-child(3),
.report-table.report-table-compact td:nth-child(3) {
    min-width: 260px;
}
.report-table-user-posts th:nth-child(4),
.report-table-user-posts td:nth-child(4) {
    width: 22%;
}

/* v239: give report account identities real room and prevent awkward @username breaks */
.report-table .report-account-username {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    max-width: none !important;
}
.report-table .report-account-link {
    display: inline-flex !important;
    width: 100% !important;
    max-width: 100% !important;
}
.report-table .report-account-link .d-flex {
    width: 100%;
}
.report-table .report-account-link .min-w-0 {
    min-width: 0;
    flex: 1 1 auto;
}
.report-table-user-posts th:nth-child(3),
.report-table-user-posts td:nth-child(3) { width: 16% !important; }
.report-table-user-posts th:nth-child(4),
.report-table-user-posts td:nth-child(4) { width: 28% !important; }
.report-table-user-posts th:nth-child(6),
.report-table-user-posts td:nth-child(6) { width: 4.8rem !important; }
.report-table-user-posts th:nth-child(8),
.report-table-user-posts td:nth-child(8) { width: 5.3rem !important; }
.report-table-user-posts th:nth-child(9),
.report-table-user-posts td:nth-child(9) { width: 5.4rem !important; }
.report-table.report-table-compact {
    table-layout: fixed;
    width: 100%;
}
.report-table.report-table-compact th:nth-child(1),
.report-table.report-table-compact td:nth-child(1) { width: 3.25rem; }
.report-table.report-table-compact th:nth-child(2),
.report-table.report-table-compact td:nth-child(2) { width: 5rem; }
.report-table.report-table-compact th:nth-child(3),
.report-table.report-table-compact td:nth-child(3) {
    width: 34% !important;
    min-width: 330px;
}
.report-table.report-table-compact th:nth-child(4),
.report-table.report-table-compact td:nth-child(4) { width: 7rem; }
.report-table.report-table-compact th:nth-child(5),
.report-table.report-table-compact td:nth-child(5),
.report-table.report-table-compact th:nth-child(6),
.report-table.report-table-compact td:nth-child(6),
.report-table.report-table-compact th:nth-child(7),
.report-table.report-table-compact td:nth-child(7),
.report-table.report-table-compact th:nth-child(8),
.report-table.report-table-compact td:nth-child(8) {
    width: 6.5rem;
    white-space: nowrap;
}
.report-table.report-table-compact th:nth-child(9),
.report-table.report-table-compact td:nth-child(9) { width: 10rem; }
@media (max-width: 1320px) {
    .report-table-user-posts th:nth-child(3),
    .report-table-user-posts td:nth-child(3) { width: 15% !important; }
    .report-table-user-posts th:nth-child(4),
    .report-table-user-posts td:nth-child(4) { width: 30% !important; }
    .report-table.report-table-compact th:nth-child(3),
    .report-table.report-table-compact td:nth-child(3) { min-width: 300px; }
}

/* v239: final report account-column sizing cleanup */
.report-table .report-account-link {
    display: inline-flex !important;
    align-items: center;
    width: 100% !important;
    min-width: 0;
}
.report-table .report-account-link > .d-flex {
    width: 100%;
    min-width: 0;
    flex-wrap: nowrap !important;
}
.report-table .report-account-text {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
}
.report-table .report-account-username {
    display: block !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    max-width: none !important;
}
.report-table-user-posts {
    table-layout: fixed;
    width: 100%;
}
.report-table-user-posts th:nth-child(1),
.report-table-user-posts td:nth-child(1) { width: 3rem !important; }
.report-table-user-posts th:nth-child(2),
.report-table-user-posts td:nth-child(2) { width: 5.2rem !important; }
.report-table-user-posts th:nth-child(3),
.report-table-user-posts td:nth-child(3) { width: 24% !important; }
.report-table-user-posts th:nth-child(4),
.report-table-user-posts td:nth-child(4) { width: 26% !important; }
.report-table-user-posts th:nth-child(5),
.report-table-user-posts td:nth-child(5),
.report-table-user-posts th:nth-child(6),
.report-table-user-posts td:nth-child(6),
.report-table-user-posts th:nth-child(7),
.report-table-user-posts td:nth-child(7),
.report-table-user-posts th:nth-child(8),
.report-table-user-posts td:nth-child(8) {
    width: 6.2rem !important;
    white-space: nowrap;
}
.report-table-user-posts th:nth-child(9),
.report-table-user-posts td:nth-child(9) { width: 13rem !important; }
.report-table.report-table-compact {
    table-layout: fixed;
    width: 100%;
}
.report-table.report-table-compact th:nth-child(3),
.report-table.report-table-compact td:nth-child(3) {
    width: 32% !important;
    min-width: 0 !important;
}
.report-table.report-table-compact th:nth-child(4),
.report-table.report-table-compact td:nth-child(4) { width: 7rem !important; }
.report-table.report-table-compact th:nth-child(5),
.report-table.report-table-compact td:nth-child(5),
.report-table.report-table-compact th:nth-child(6),
.report-table.report-table-compact td:nth-child(6),
.report-table.report-table-compact th:nth-child(7),
.report-table.report-table-compact td:nth-child(7),
.report-table.report-table-compact th:nth-child(8),
.report-table.report-table-compact td:nth-child(8) { width: 6.3rem !important; }
.report-table.report-table-compact th:nth-child(9),
.report-table.report-table-compact td:nth-child(9) { width: 11rem !important; }
@media (max-width: 1200px) {
    .report-table-user-posts th:nth-child(3),
    .report-table-user-posts td:nth-child(3) { width: 21% !important; }
    .report-table-user-posts th:nth-child(4),
    .report-table-user-posts td:nth-child(4) { width: 27% !important; }
    .report-table-user-posts th:nth-child(9),
    .report-table-user-posts td:nth-child(9) { width: 12rem !important; }
    .report-table .report-account-username { font-size: .9rem; }
}

/* Small internal-tags indicator for staff-only account rows/cards. */
.internal-tag-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .82rem;
    line-height: 1;
    vertical-align: baseline;
    filter: saturate(1.15);
    opacity: .92;
}
.internal-tag-icon:hover { opacity: 1; }

.nav-section-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    letter-spacing: 0.04em;
}

.nav-section-divider {
    width: 1px;
    min-height: 24px;
    background: rgba(255, 255, 255, 0.18);
    margin: 0 0.2rem;
}

.report-countdown-badge {
    background: rgba(13, 202, 240, 0.14);
    border-color: rgba(13, 202, 240, 0.28);
}

#reportCountdownValue {
    font-weight: 700;
    color: #9eeaf9;
}

.app-running-job-progress {
    height: 0.45rem;
    margin: 0.25rem 0 0.15rem 1rem;
    max-width: 420px;
}
.app-running-job-row + .app-running-job-row {
    margin-top: 0.35rem;
}


/* Internal editor shortcuts: calm Stardex styling, no bright warning yellow. */
.btn-internal-tool {
    --bs-btn-color: #cfe2ff;
    --bs-btn-bg: rgba(37, 99, 235, 0.14);
    --bs-btn-border-color: rgba(96, 165, 250, 0.42);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: rgba(37, 99, 235, 0.34);
    --bs-btn-hover-border-color: rgba(147, 197, 253, 0.78);
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: rgba(29, 78, 216, 0.48);
    --bs-btn-active-border-color: rgba(191, 219, 254, 0.9);
    --bs-btn-disabled-color: rgba(207, 226, 255, 0.55);
    --bs-btn-disabled-bg: rgba(37, 99, 235, 0.08);
    --bs-btn-disabled-border-color: rgba(96, 165, 250, 0.22);
    font-weight: 600;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03);
}
.btn-internal-tool-secondary {
    --bs-btn-color: #dbeafe;
    --bs-btn-bg: rgba(15, 23, 42, 0.18);
    --bs-btn-border-color: rgba(148, 163, 184, 0.5);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: rgba(30, 41, 59, 0.55);
    --bs-btn-hover-border-color: rgba(203, 213, 225, 0.8);
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: rgba(30, 41, 59, 0.75);
    --bs-btn-active-border-color: rgba(226, 232, 240, 0.95);
    font-weight: 600;
}
.report-table .btn-internal-tool,
.report-table .btn-internal-tool-secondary {
    min-width: 6.25rem;
}

.app-footer {
    background: rgba(15, 23, 42, 0.03);
}
.app-footer a {
    color: inherit;
    text-decoration: none;
}
.app-footer a:hover {
    color: var(--bs-primary);
    text-decoration: underline;
}
.legal-page-card h2 {
    color: var(--bs-body-color);
}
.legal-consent-box {
    background: rgba(99, 102, 241, 0.06);
}

/* v282: legal pages/readability fixes for dark mode */
.legal-page-card,
.legal-page-card .card-body {
    color: var(--app-text);
}
.legal-page-card h1,
.legal-page-card h2,
.legal-page-card h3,
.legal-page-card h4,
.legal-page-card h5,
.legal-page-card h6 {
    color: var(--app-text) !important;
}
.legal-page-card p,
.legal-page-card li,
.legal-page-card dd,
.legal-page-card dt {
    color: var(--app-text);
}
.legal-page-card .text-muted {
    color: var(--app-muted) !important;
}
.legal-consent-box {
    background: rgba(99, 102, 241, 0.06);
    border-color: rgba(99, 102, 241, 0.22) !important;
    color: var(--app-text);
}
.legal-consent-box .form-check-label {
    color: var(--app-text);
}
.legal-consent-box .form-check-input {
    background-color: var(--app-input-bg) !important;
    border-color: rgba(99, 102, 241, 0.55) !important;
    box-shadow: none;
}
.legal-consent-box .form-check-input:focus {
    border-color: #60a5fa !important;
    box-shadow: 0 0 0 .2rem rgba(96, 165, 250, 0.18);
}
.legal-consent-box .form-check-input:checked {
    background-color: #2563eb !important;
    border-color: #60a5fa !important;
}
:root[data-theme="dark"] .legal-page-card {
    background: #121a2b !important;
}
:root[data-theme="dark"] .legal-page-card h1,
:root[data-theme="dark"] .legal-page-card h2,
:root[data-theme="dark"] .legal-page-card h3,
:root[data-theme="dark"] .legal-page-card h4,
:root[data-theme="dark"] .legal-page-card h5,
:root[data-theme="dark"] .legal-page-card h6 {
    color: #f8fbff !important;
}
:root[data-theme="dark"] .legal-page-card p,
:root[data-theme="dark"] .legal-page-card li {
    color: #e5eefc;
}
:root[data-theme="dark"] .legal-page-card .badge.text-bg-light {
    background: rgba(96, 165, 250, 0.18) !important;
    color: #dbeafe !important;
    border: 1px solid rgba(147, 197, 253, 0.22);
}
:root[data-theme="dark"] .legal-page-card .alert-info {
    background: rgba(14, 165, 233, 0.13) !important;
    color: #dff7ff !important;
    border-color: rgba(125, 211, 252, 0.28) !important;
}
:root[data-theme="dark"] .legal-consent-box {
    background: rgba(37, 99, 235, 0.13);
    border-color: rgba(96, 165, 250, 0.28) !important;
}
:root[data-theme="dark"] .legal-consent-box .form-check-input {
    background-color: #0b1220 !important;
    border-color: #93c5fd !important;
}
:root[data-theme="dark"] .legal-consent-box .form-check-input:checked {
    background-color: #3b82f6 !important;
    border-color: #bfdbfe !important;
}

/* Stardex public landing page */
.landing-page {
    margin-top: -0.5rem;
}

.landing-hero {
    background:
        radial-gradient(circle at 12% 12%, rgba(56, 189, 248, 0.32), transparent 28%),
        radial-gradient(circle at 82% 22%, rgba(99, 102, 241, 0.34), transparent 30%),
        linear-gradient(135deg, #07111f 0%, #0f1b32 48%, #111827 100%);
    color: #f8fbff;
    border: 1px solid rgba(148, 163, 184, 0.20);
    box-shadow: 0 26px 80px rgba(2, 6, 23, 0.32);
}

.landing-glow {
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 999px;
    filter: blur(28px);
    opacity: 0.35;
    pointer-events: none;
}

.landing-glow-one {
    background: #38bdf8;
    left: -80px;
    bottom: -90px;
}

.landing-glow-two {
    background: #818cf8;
    right: -80px;
    top: -90px;
}

.landing-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .42rem .75rem;
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.12);
    color: #93c5fd;
    font-weight: 800;
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 1px solid rgba(147, 197, 253, 0.22);
}

.landing-title {
    font-size: clamp(2.65rem, 6vw, 5.35rem);
    line-height: .94;
    letter-spacing: -0.065em;
    font-weight: 900;
}

.landing-title span {
    background: linear-gradient(90deg, #67e8f9, #a5b4fc, #f0abfc);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.landing-lead {
    font-size: 1.16rem;
    color: rgba(226, 232, 240, 0.86);
    max-width: 660px;
}

.landing-cta,
.landing-cta-secondary {
    border-radius: 999px;
    padding-left: 1.35rem;
    padding-right: 1.35rem;
    font-weight: 800;
}

.landing-proof > div {
    min-width: 150px;
    padding: .75rem .9rem;
    border-radius: 18px;
    background: rgba(15, 23, 42, 0.58);
    border: 1px solid rgba(148, 163, 184, 0.18);
}

.landing-proof strong,
.landing-proof span {
    display: block;
}

.landing-proof span {
    color: rgba(226, 232, 240, 0.68);
    font-size: .83rem;
}

.landing-dashboard-card,
.landing-feature-card,
.landing-stat-card {
    background: rgba(255, 255, 255, 0.88);
    color: #0f172a;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 28px;
    padding: 1.25rem;
    backdrop-filter: blur(18px);
}

.landing-dashboard-card {
    background: rgba(248, 250, 252, 0.94);
}

:root[data-theme="dark"] .landing-dashboard-card,
:root[data-theme="dark"] .landing-feature-card,
:root[data-theme="dark"] .landing-stat-card {
    background: rgba(18, 26, 43, 0.86);
    color: var(--app-text);
    border-color: var(--app-border);
}

.landing-live-pill {
    padding: .35rem .65rem;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-weight: 800;
    font-size: .78rem;
}

:root[data-theme="dark"] .landing-live-pill {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

.landing-rank-row {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .95rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 20px;
    margin-bottom: .75rem;
    background: rgba(255,255,255,.68);
}

:root[data-theme="dark"] .landing-rank-row {
    background: rgba(15, 23, 42, 0.62);
}

.landing-rank-row-hot {
    border-color: rgba(37, 99, 235, 0.42);
    box-shadow: 0 18px 40px rgba(37, 99, 235, 0.13);
}

.rank-number {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    color: #fff;
    font-weight: 900;
}

.landing-insight {
    padding: 1rem;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(37, 99, 235, .12), rgba(14, 165, 233, .12));
    border: 1px solid rgba(37, 99, 235, .16);
}

.landing-section-head {
    max-width: 780px;
}

.landing-feature-card {
    padding: 1.4rem;
    box-shadow: var(--app-shadow);
}

.landing-feature-card h3 {
    font-size: 1.1rem;
    font-weight: 850;
    margin-bottom: .5rem;
}

.landing-feature-card p,
.landing-stat-card p {
    color: var(--app-muted);
    margin-bottom: 0;
}

.feature-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(37, 99, 235, .12);
    margin-bottom: 1rem;
    font-size: 1.35rem;
}

.landing-split,
.landing-final-cta {
    background:
        linear-gradient(135deg, rgba(37, 99, 235, 0.10), rgba(14, 165, 233, 0.06)),
        var(--app-card-bg);
    border: 1px solid var(--app-border);
    box-shadow: var(--app-shadow);
}

.landing-workflow-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.landing-workflow-grid > div {
    padding: 1.15rem;
    border-radius: 24px;
    background: rgba(255,255,255,.62);
    border: 1px solid var(--app-border);
}

:root[data-theme="dark"] .landing-workflow-grid > div {
    background: rgba(15, 23, 42, .58);
}

.landing-workflow-grid span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #2563eb;
    color: #fff;
    font-weight: 900;
    margin-bottom: .75rem;
}

.landing-workflow-grid strong {
    display: block;
    font-size: 1.05rem;
    margin-bottom: .3rem;
}

.landing-workflow-grid p {
    color: var(--app-muted);
    margin: 0;
}

.landing-stat-card {
    text-align: center;
    padding: 1.6rem;
    box-shadow: var(--app-shadow);
}

.stat-big {
    font-size: clamp(2.2rem, 4vw, 3.4rem);
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.06em;
    background: linear-gradient(90deg, #2563eb, #06b6d4);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.stat-label {
    font-weight: 850;
    margin: .25rem 0 .65rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .78rem;
    color: var(--app-muted);
}

@media (max-width: 767.98px) {
    .landing-workflow-grid {
        grid-template-columns: 1fr;
    }
    .landing-proof > div {
        width: 100%;
    }
}

/* Growth Integrity intelligence layer */
.growth-integrity-card {
    border-left: 4px solid rgba(99, 102, 241, 0.7);
}
.growth-integrity-high,
.growth-integrity-extreme {
    border-left-color: rgba(220, 53, 69, 0.9);
}
.growth-integrity-medium {
    border-left-color: rgba(13, 202, 240, 0.9);
}
.growth-flag-badge {
    background: rgba(99, 102, 241, 0.12);
    color: #3730a3;
    border: 1px solid rgba(99, 102, 241, 0.2);
    font-weight: 600;
}
[data-theme="dark"] .growth-flag-badge {
    background: rgba(129, 140, 248, 0.18);
    color: #c7d2fe;
    border-color: rgba(129, 140, 248, 0.28);
}
[data-theme="dark"] .growth-integrity-card {
    background: rgba(15, 23, 42, 0.96);
}

/* Growth Integrity deep intelligence */
.growth-hero-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    padding: 1.5rem;
    color: #f8fafc;
    background: radial-gradient(circle at top left, rgba(99, 102, 241, 0.92), transparent 38%),
                linear-gradient(135deg, #0f172a 0%, #1e1b4b 48%, #312e81 100%);
    box-shadow: 0 22px 60px rgba(15, 23, 42, 0.26);
}
.growth-hero-card::after {
    content: "";
    position: absolute;
    inset: auto -10% -45% 40%;
    height: 220px;
    background: radial-gradient(circle, rgba(34, 211, 238, 0.25), transparent 62%);
    pointer-events: none;
}
.growth-kicker {
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .75rem;
    font-weight: 800;
    color: #a5b4fc;
}
.growth-hero-subtitle {
    color: rgba(226, 232, 240, 0.86);
    max-width: 780px;
}
.growth-hero-avatar {
    width: 72px;
    height: 72px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.1);
}
.growth-hero-avatar-img,
.growth-hero-avatar-fallback {
    width: 72px;
    height: 72px;
    object-fit: cover;
    display: grid;
    place-items: center;
    font-size: 1.8rem;
    font-weight: 800;
}
.growth-score-card {
    border: 0 !important;
    background: linear-gradient(135deg, rgba(16, 185, 129, .16), rgba(99, 102, 241, .12)) !important;
}
.growth-score-value {
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 900;
    letter-spacing: -.04em;
}
.growth-insight-card {
    border: 1px solid var(--app-border);
    border-radius: 18px;
    padding: 1rem;
    background: rgba(99, 102, 241, .06);
}
.growth-timeline-wrap {
    display: grid;
    gap: .55rem;
}
.growth-timeline-row {
    display: grid;
    grid-template-columns: 58px 1fr 95px 70px;
    gap: .75rem;
    align-items: center;
    padding: .45rem .6rem;
    border-radius: 14px;
    border: 1px solid transparent;
}
.growth-timeline-row.is-spike {
    border-color: rgba(245, 158, 11, .4);
    background: rgba(245, 158, 11, .08);
}
.growth-timeline-date,
.growth-timeline-note {
    color: var(--app-muted);
    font-size: .82rem;
    white-space: nowrap;
}
.growth-timeline-bar {
    height: 9px;
    border-radius: 999px;
    background: rgba(148, 163, 184, .18);
    overflow: hidden;
}
.growth-timeline-bar span {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #6366f1, #22d3ee);
}
.growth-timeline-row.is-spike .growth-timeline-bar span {
    background: linear-gradient(90deg, #f59e0b, #ef4444);
}
.growth-timeline-delta {
    text-align: right;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}
@media (max-width: 768px) {
    .growth-timeline-row { grid-template-columns: 48px 1fr 80px; }
    .growth-timeline-note { display: none; }
}

/* v293: Growth Integrity report table alignment polish */
.report-integrity-table {
    min-width: 1320px;
    table-layout: fixed;
}
.report-integrity-table .col-account { width: 28%; }
.report-integrity-table .col-review { width: 11%; }
.report-integrity-table .col-integrity { width: 10%; }
.report-integrity-table .col-date { width: 11%; }
.report-integrity-table .col-spike { width: 11%; }
.report-integrity-table .col-signals { width: 18%; }
.report-integrity-table .col-actions { width: 11%; }
.report-integrity-table td,
.report-integrity-table th {
    vertical-align: middle;
}
.report-integrity-table .review-level-cell {
    min-width: 0;
    white-space: nowrap;
}
.report-integrity-table .review-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    white-space: nowrap;
    line-height: 1.15;
    padding: .45rem .6rem;
    font-size: .72rem;
}
.report-integrity-table .report-account-username {
    color: #dbeafe;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.report-integrity-table .report-account-username:hover {
    color: #93c5fd;
    text-decoration: underline !important;
}
.report-integrity-table .col-signals + td,
.report-integrity-table td:last-child {
    min-width: 0;
}
.report-integrity-table td:nth-child(6) .badge {
    white-space: normal;
    text-align: left;
    line-height: 1.2;
    max-width: 100%;
}
.report-integrity-table td:nth-child(6) > .d-flex {
    align-items: flex-start;
    gap: .35rem !important;
}
@media (max-width: 1199.98px) {
    .report-integrity-table {
        min-width: 1180px;
    }
    .report-integrity-table .col-account { width: 26%; }
    .report-integrity-table .col-signals { width: 20%; }
}

/* v294: keep Growth Integrity report inside the card without horizontal scrolling */
.report-integrity-table {
    width: 100%;
    min-width: 0 !important;
    table-layout: fixed;
}
.report-integrity-table .col-account { width: 18%; }
.report-integrity-table .col-review { width: 10%; }
.report-integrity-table .col-integrity { width: 9%; }
.report-integrity-table .col-date { width: 10%; }
.report-integrity-table .col-spike { width: 10%; }
.report-integrity-table .col-signals { width: 24%; }
.report-integrity-table .col-actions { width: 19%; }
.report-integrity-table th,
.report-integrity-table td {
    min-width: 0;
    overflow: hidden;
}
.report-integrity-table .integrity-account-cell {
    overflow: hidden;
}
.integrity-account-line {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
    max-width: 100%;
}
.integrity-account-copy {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}
.report-integrity-table .report-account-username {
    display: block !important;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.integrity-account-message {
    max-width: 100%;
    overflow: hidden;
}
.report-integrity-table .review-level-cell {
    white-space: normal;
    overflow: visible;
}
.report-integrity-table .review-badge {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    word-break: normal;
}
.integrity-signals-cell {
    overflow: visible !important;
}
.integrity-signal-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: flex-start;
    max-width: 100%;
}
.integrity-signal-pills .badge {
    max-width: 100%;
    white-space: normal;
    line-height: 1.2;
    text-align: left;
}
.integrity-actions-cell {
    overflow: visible !important;
}
.integrity-actions {
    display: flex;
    justify-content: flex-end;
    gap: .45rem;
    flex-wrap: wrap;
    max-width: 100%;
}
.integrity-actions .btn {
    white-space: nowrap;
}
@media (max-width: 1199.98px) {
    .report-integrity-table .col-account { width: 20%; }
    .report-integrity-table .col-review { width: 11%; }
    .report-integrity-table .col-integrity { width: 9%; }
    .report-integrity-table .col-date { width: 10%; }
    .report-integrity-table .col-spike { width: 10%; }
    .report-integrity-table .col-signals { width: 22%; }
    .report-integrity-table .col-actions { width: 18%; }
    .integrity-actions .btn {
        padding-left: .55rem;
        padding-right: .55rem;
    }
}
@media (max-width: 991.98px) {
    .report-integrity-table {
        font-size: .9rem;
    }
    .report-integrity-table .col-account { width: 24%; }
    .report-integrity-table .col-review { width: 12%; }
    .report-integrity-table .col-integrity { width: 10%; }
    .report-integrity-table .col-date { width: 10%; }
    .report-integrity-table .col-spike { width: 11%; }
    .report-integrity-table .col-signals { width: 18%; }
    .report-integrity-table .col-actions { width: 15%; }
    .integrity-actions {
        flex-direction: column;
        align-items: stretch;
    }
}

/* v295: final Growth Integrity report spacing fix
   Keep the table inside the report card while giving the account identity enough real space. */
.report-table-wrap:has(.report-integrity-table) {
    overflow-x: hidden;
}
.report-integrity-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}
.report-integrity-table .col-account { width: 30% !important; }
.report-integrity-table .col-review { width: 10% !important; }
.report-integrity-table .col-integrity { width: 8% !important; }
.report-integrity-table .col-date { width: 10% !important; }
.report-integrity-table .col-spike { width: 10% !important; }
.report-integrity-table .col-signals { width: 20% !important; }
.report-integrity-table .col-actions { width: 12% !important; }
.report-integrity-table th,
.report-integrity-table td {
    box-sizing: border-box;
    overflow: hidden;
}
.report-integrity-table .integrity-account-cell {
    padding-right: 1.1rem !important;
}
.report-integrity-table .review-level-cell {
    padding-left: .85rem !important;
    overflow: hidden !important;
}
.report-integrity-table .review-badge {
    display: inline-flex;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.15;
}
.integrity-account-line {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    min-width: 0;
}
.integrity-account-line .avatar-shell,
.integrity-account-line .avatar-shell-sm {
    flex: 0 0 auto;
}
.integrity-account-copy {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}
.report-integrity-table .report-account-username {
    display: block !important;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.report-integrity-table .integrity-account-message {
    display: block;
    max-width: 100%;
    overflow: hidden;
}
.integrity-signals-cell {
    padding-right: .75rem !important;
}
.integrity-signal-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: flex-start;
    max-width: 100%;
}
.integrity-signal-pills .badge {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
    text-align: left;
}
.integrity-actions {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    align-items: stretch;
    max-width: 100%;
}
.integrity-actions .btn {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 1199.98px) {
    .report-integrity-table .col-account { width: 32% !important; }
    .report-integrity-table .col-review { width: 10% !important; }
    .report-integrity-table .col-integrity { width: 8% !important; }
    .report-integrity-table .col-date { width: 10% !important; }
    .report-integrity-table .col-spike { width: 10% !important; }
    .report-integrity-table .col-signals { width: 18% !important; }
    .report-integrity-table .col-actions { width: 12% !important; }
}

/* v296: Growth Integrity report column balance and readable wrapping
   The table stays inside the report card, but the account note and signal chips get real space. */
.report-table-wrap:has(.report-integrity-table) {
    overflow-x: hidden !important;
}
.report-integrity-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}
.report-integrity-table .col-account { width: 28% !important; }
.report-integrity-table .col-review { width: 9% !important; }
.report-integrity-table .col-integrity { width: 7% !important; }
.report-integrity-table .col-date { width: 9% !important; }
.report-integrity-table .col-spike { width: 9% !important; }
.report-integrity-table .col-signals { width: 26% !important; }
.report-integrity-table .col-actions { width: 12% !important; }
.report-integrity-table th,
.report-integrity-table td {
    padding-left: .55rem !important;
    padding-right: .55rem !important;
    min-width: 0 !important;
    overflow: hidden !important;
}
.report-integrity-table th {
    font-size: .78rem;
    white-space: nowrap;
}
.report-integrity-table .integrity-account-cell {
    padding-left: .4rem !important;
    padding-right: .9rem !important;
}
.report-integrity-table .integrity-account-line {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    column-gap: .7rem;
    width: 100%;
    min-width: 0;
}
.report-integrity-table .integrity-account-copy {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
}
.report-integrity-table .report-account-username {
    display: inline-block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    vertical-align: bottom;
}
.report-integrity-table .integrity-account-message,
.report-integrity-table .clamp-2.integrity-account-message {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.35;
    max-width: 100% !important;
}
.report-integrity-table .review-level-cell {
    padding-left: .4rem !important;
    padding-right: .4rem !important;
    text-align: center;
}
.report-integrity-table .review-badge {
    display: inline-flex !important;
    justify-content: center;
    width: 100%;
    max-width: 96px;
    padding: .42rem .35rem !important;
    font-size: .66rem !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
}
.report-integrity-table td:nth-child(3),
.report-integrity-table td:nth-child(4),
.report-integrity-table td:nth-child(5) {
    white-space: nowrap;
}
.report-integrity-table .integrity-signals-cell {
    padding-left: .9rem !important;
    padding-right: .9rem !important;
    overflow: visible !important;
}
.report-integrity-table .integrity-signal-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .4rem .45rem !important;
    align-items: flex-start;
    justify-content: flex-start;
    max-width: 100%;
}
.report-integrity-table .integrity-signal-pills .badge {
    width: auto !important;
    max-width: 100% !important;
    border-radius: 999px !important;
    padding: .28rem .55rem !important;
    font-size: .68rem !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-align: left;
}
.report-integrity-table .integrity-actions-cell {
    padding-left: .45rem !important;
    padding-right: .45rem !important;
    overflow: hidden !important;
}
.report-integrity-table .integrity-actions {
    gap: .4rem !important;
}
.report-integrity-table .integrity-actions .btn {
    padding-left: .45rem !important;
    padding-right: .45rem !important;
    font-size: .78rem;
}
@media (max-width: 1199.98px) {
    .report-integrity-table .col-account { width: 30% !important; }
    .report-integrity-table .col-review { width: 9% !important; }
    .report-integrity-table .col-integrity { width: 7% !important; }
    .report-integrity-table .col-date { width: 9% !important; }
    .report-integrity-table .col-spike { width: 9% !important; }
    .report-integrity-table .col-signals { width: 24% !important; }
    .report-integrity-table .col-actions { width: 12% !important; }
    .report-integrity-table th,
    .report-integrity-table td { padding-left: .45rem !important; padding-right: .45rem !important; }
    .report-integrity-table .integrity-signal-pills .badge { font-size: .65rem !important; }
}

/* v297: definitive Growth Integrity report column layout
   Use a real colgroup-backed table layout so Integrity cannot steal width from Main Signals. */
.report-table-wrap:has(.report-integrity-table) {
    overflow-x: hidden !important;
    width: 100% !important;
}
.report-integrity-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}
.report-integrity-table col.gi-col-account { width: 27% !important; }
.report-integrity-table col.gi-col-review { width: 8% !important; }
.report-integrity-table col.gi-col-integrity { width: 6% !important; }
.report-integrity-table col.gi-col-date { width: 9% !important; }
.report-integrity-table col.gi-col-spike { width: 10% !important; }
.report-integrity-table col.gi-col-signals { width: 28% !important; }
.report-integrity-table col.gi-col-actions { width: 12% !important; }
.report-integrity-table .col-account,
.report-integrity-table .col-review,
.report-integrity-table .col-integrity,
.report-integrity-table .col-date,
.report-integrity-table .col-spike,
.report-integrity-table .col-signals,
.report-integrity-table .col-actions {
    width: auto !important;
}
.report-integrity-table th,
.report-integrity-table td {
    padding-left: .5rem !important;
    padding-right: .5rem !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: hidden !important;
    vertical-align: middle !important;
}
.report-integrity-table .integrity-account-cell {
    padding-left: .35rem !important;
    padding-right: .75rem !important;
}
.report-integrity-table .integrity-account-line {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: .7rem !important;
    width: 100% !important;
}
.report-integrity-table .integrity-account-copy {
    min-width: 0 !important;
    overflow: hidden !important;
}
.report-integrity-table .report-account-username {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.report-integrity-table .integrity-account-message,
.report-integrity-table .clamp-2.integrity-account-message {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
}
.report-integrity-table .review-level-cell {
    padding-left: .25rem !important;
    padding-right: .25rem !important;
    text-align: center !important;
}
.report-integrity-table .review-badge {
    width: 100% !important;
    max-width: 86px !important;
    padding: .38rem .3rem !important;
    font-size: .64rem !important;
    line-height: 1.08 !important;
    white-space: normal !important;
}
.report-integrity-table td:nth-child(3) {
    padding-left: .25rem !important;
    padding-right: .25rem !important;
    white-space: nowrap !important;
}
.report-integrity-table td:nth-child(4),
.report-integrity-table td:nth-child(5) {
    white-space: nowrap !important;
}
.report-integrity-table .integrity-signals-cell {
    padding-left: .8rem !important;
    padding-right: .8rem !important;
    overflow: visible !important;
}
.report-integrity-table .integrity-signal-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .45rem .5rem !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    max-width: 100% !important;
}
.report-integrity-table .integrity-signal-pills .badge {
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: 180px !important;
    padding: .3rem .62rem !important;
    font-size: .7rem !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-align: left !important;
}
.report-integrity-table .integrity-actions-cell {
    padding-left: .4rem !important;
    padding-right: .4rem !important;
}
.report-integrity-table .integrity-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: .45rem !important;
    align-items: stretch !important;
}
.report-integrity-table .integrity-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    padding-left: .45rem !important;
    padding-right: .45rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
@media (max-width: 1199.98px) {
    .report-integrity-table col.gi-col-account { width: 29% !important; }
    .report-integrity-table col.gi-col-review { width: 8% !important; }
    .report-integrity-table col.gi-col-integrity { width: 6% !important; }
    .report-integrity-table col.gi-col-date { width: 9% !important; }
    .report-integrity-table col.gi-col-spike { width: 10% !important; }
    .report-integrity-table col.gi-col-signals { width: 26% !important; }
    .report-integrity-table col.gi-col-actions { width: 12% !important; }
    .report-integrity-table .integrity-signal-pills .badge { max-width: 150px !important; }
}

/* v298: Growth Integrity Signals report rebuilt as a responsive grid list.
   This replaces the fragile fixed table layout so labels and content always have room. */
.gi-signals-list {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.gi-signals-header,
.gi-signal-row {
    display: grid;
    grid-template-columns: minmax(260px, 2.15fr) minmax(100px, .72fr) minmax(82px, .55fr) minmax(105px, .7fr) minmax(105px, .78fr) minmax(230px, 1.65fr) minmax(118px, .9fr);
    gap: .8rem;
    align-items: center;
    width: 100%;
    min-width: 0;
}
.gi-signals-header {
    padding: .85rem .35rem;
    border-bottom: 1px solid rgba(148, 163, 184, .22);
    color: var(--app-table-head) !important;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
}
.gi-signal-row {
    padding: 1rem .35rem;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
}
.gi-signal-row > div,
.gi-signals-header > div {
    min-width: 0;
}
.gi-account-cell .integrity-account-line {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
    min-width: 0;
}
.gi-account-cell .integrity-account-copy {
    min-width: 0;
}
.gi-account-cell .report-account-username {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}
.gi-account-cell .integrity-account-message {
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.35;
    margin-top: .1rem;
}
.gi-review-cell .review-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 100%;
    min-width: 86px;
    padding: .42rem .55rem;
    line-height: 1.05;
    white-space: normal;
    text-align: center;
}
.gi-integrity-cell,
.gi-date-cell,
.gi-spike-cell {
    white-space: nowrap;
}
.gi-spike-cell {
    text-align: right;
}
.gi-signals-cell .integrity-signal-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem .45rem;
    align-items: flex-start;
    justify-content: flex-start;
    min-width: 0;
}
.gi-signals-cell .integrity-signal-pills .badge {
    max-width: 100%;
    padding: .28rem .58rem;
    font-size: .7rem;
    line-height: 1.15;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    text-align: left;
}
.gi-actions-cell .integrity-actions {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    align-items: stretch;
}
.gi-actions-cell .integrity-actions .btn {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-left: .45rem;
    padding-right: .45rem;
}
@media (max-width: 1299.98px) {
    .gi-signals-header,
    .gi-signal-row {
        grid-template-columns: minmax(245px, 2.05fr) minmax(96px, .72fr) minmax(78px, .5fr) minmax(98px, .65fr) minmax(98px, .72fr) minmax(210px, 1.55fr) minmax(112px, .86fr);
        gap: .65rem;
    }
    .gi-signals-cell .integrity-signal-pills .badge { font-size: .66rem; }
    .gi-actions-cell .integrity-actions .btn { font-size: .76rem; }
}
@media (max-width: 991.98px) {
    .gi-signals-header { display: none; }
    .gi-signal-row {
        grid-template-columns: 1fr;
        gap: .75rem;
        padding: 1rem .75rem;
        border: 1px solid rgba(148, 163, 184, .18);
        border-radius: 1rem;
        margin-bottom: .85rem;
        background: rgba(15, 23, 42, .24);
    }
    .gi-signal-row > div::before {
        content: attr(data-label);
        display: block;
        margin-bottom: .15rem;
        color: var(--bs-secondary-color);
        font-size: .72rem;
        font-weight: 800;
        text-transform: uppercase;
    }
    .gi-account-cell .integrity-account-line { grid-template-columns: 44px minmax(0, 1fr); }
    .gi-spike-cell { text-align: left; }
    .gi-actions-cell .integrity-actions { flex-direction: row; flex-wrap: wrap; }
    .gi-actions-cell .integrity-actions .btn { width: auto; }
}

/* Snapshot integrity visibility */
.snapshot-invalid-row > td {
    background: rgba(245, 158, 11, 0.10) !important;
    border-top: 1px solid rgba(245, 158, 11, 0.30);
    border-bottom: 1px solid rgba(245, 158, 11, 0.18);
}
.snapshot-integrity-badge {
    font-size: 0.72rem;
    letter-spacing: .01em;
}
.snapshot-integrity-note {
    color: #92400e;
    max-width: 620px;
    white-space: normal;
}
[data-theme="dark"] .snapshot-invalid-row > td {
    background: rgba(245, 158, 11, 0.16) !important;
    border-color: rgba(245, 158, 11, 0.35);
}
[data-theme="dark"] .snapshot-integrity-note {
    color: #fbbf24;
}

.report-integrity-inline .badge {
    vertical-align: middle;
}
.report-integrity-inline a:hover .badge,
.report-integrity-inline a:focus .badge {
    filter: brightness(1.08);
}

/* v314: keep Top followers growth account identity, avatar, and integrity score grouped cleanly. */
.report-table .followers-growth-account-wrap {
    min-width: 0;
}
.report-table .followers-growth-account-cell {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 260px;
    max-width: 380px;
}
.report-table .followers-growth-account-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.18rem;
}
.report-table .followers-growth-account-copy .report-account-username {
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
}
.report-table .followers-growth-integrity-line {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    width: fit-content;
    max-width: 100%;
    color: var(--text-muted);
    line-height: 1.2;
    margin-top: 0.12rem;
}
.report-table .followers-growth-integrity-line .badge {
    flex: 0 0 auto;
}

/* v317: spike-day top post attribution in Growth Intelligence timelines */
.growth-timeline-post {
    grid-column: 2 / -1;
    margin-top: -0.2rem;
    padding: .5rem .65rem;
    border-radius: 12px;
    background: rgba(99, 102, 241, .08);
    border: 1px solid rgba(99, 102, 241, .18);
}
.growth-timeline-row.is-spike .growth-timeline-post {
    background: rgba(245, 158, 11, .10);
    border-color: rgba(245, 158, 11, .24);
}
.growth-timeline-post-label {
    font-size: .72rem;
    font-weight: 800;
    color: var(--app-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .25rem;
}
.growth-timeline-post-body {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem .65rem;
    font-size: .82rem;
    line-height: 1.3;
}
.growth-timeline-post-caption {
    max-width: 420px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
@media (max-width: 768px) {
    .growth-timeline-post { grid-column: 1 / -1; }
    .growth-timeline-post-caption { max-width: 100%; white-space: normal; }
}

/* Account list pagination + checkbox contrast hard fix */
.accounts-page-jump-input {
    width: 5.25rem;
}

.form-check-input,
.tag-picker-option input[type="checkbox"],
.accounts-internal-tag-filter-check,
.bulk-internal-tag-check {
    width: 1.05rem;
    height: 1.05rem;
    min-width: 1.05rem;
    border: 2px solid #64748b !important;
    background-color: #ffffff !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 0.8rem 0.8rem !important;
}

.form-check-input:checked,
.tag-picker-option input[type="checkbox"]:checked,
.accounts-internal-tag-filter-check:checked,
.bulk-internal-tag-check:checked {
    background-color: #2563eb !important;
    border-color: #1d4ed8 !important;
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
    background-image: var(--bs-form-check-bg-image) !important;
}

:root[data-theme="dark"] .form-check-input,
:root[data-theme="dark"] .tag-picker-option input[type="checkbox"],
:root[data-theme="dark"] .accounts-internal-tag-filter-check,
:root[data-theme="dark"] .bulk-internal-tag-check {
    border-color: #93c5fd !important;
    background-color: #020617 !important;
}

:root[data-theme="dark"] .form-check-input:checked,
:root[data-theme="dark"] .tag-picker-option input[type="checkbox"]:checked,
:root[data-theme="dark"] .accounts-internal-tag-filter-check:checked,
:root[data-theme="dark"] .bulk-internal-tag-check:checked {
    background-color: #60a5fa !important;
    border-color: #bfdbfe !important;
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%230f172a' stroke-linecap='round' stroke-linejoin='round' stroke-width='3.2' d='m6 10 3 3 6-6'/%3e%3c/svg%3e") !important;
    background-image: var(--bs-form-check-bg-image) !important;
}
