/* === Page programme bug uniquement : pleine largeur (sans sidebar). La page /bugs/submit garde le layout fil + sidebar droite comme le reste du site === */

body.cl-app-bug_program main.main-content-container,
body.cl-app-bug_report_view main.main-content-container,
body.cl-app-bug_report_team main.main-content-container {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

body.cl-app-bug_program main.main-content-container div.main-content-container-inner,
body.cl-app-bug_report_view main.main-content-container div.main-content-container-inner,
body.cl-app-bug_report_team main.main-content-container div.main-content-container-inner {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: flex-start !important;
}

/* Barre mobile basse (62px) : le padding: 0 ci-dessus enlevait le marge-bas du thème — on le remet (connecté = barre visible ≤1199px) */
@media (max-width: 1199.98px) {
    body:not(.body-guest-mode).cl-app-bug_program main.main-content-container div.main-content-container-inner,
    body:not(.body-guest-mode).cl-app-bug_report main.main-content-container div.main-content-container-inner,
    body:not(.body-guest-mode).cl-app-bug_report_view main.main-content-container div.main-content-container-inner,
    body:not(.body-guest-mode).cl-app-bug_report_team main.main-content-container div.main-content-container-inner {
        padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

body.cl-app-bug_program main.main-content-container div.main-content-container-inner div.timeline-container-wrapper,
body.cl-app-bug_program div.timeline-container-wrapper,
body.cl-app-bug_report_view div.timeline-container-wrapper,
body.cl-app-bug_report_team div.timeline-container-wrapper {
    flex: 1 1 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
    border-left: none !important;
    border-right: none !important;
}

body.cl-app-bug_program .timeline-container-wrapper div.timeline-container-inner,
body.cl-app-bug_report_view .timeline-container-wrapper div.timeline-container-inner,
body.cl-app-bug_report_team .timeline-container-wrapper div.timeline-container-inner {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.cl-app-bug_program .timeline-container.bug-prog-page,
body.cl-app-bug_report_view .timeline-container.bug-prog-page,
body.cl-app-bug_report_team .timeline-container.bug-prog-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
}

/* En-tête : logo centré, retour à droite (plus de “Fil d’actu”) */
.bug-prog-topbar__row,
body.cl-app-bug_program .bug-prog-topbar .timeline-header__botline,
body.cl-app-bug_report .bug-prog-topbar .timeline-header__botline {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    width: 100% !important;
    padding: 0 12px 0 12px !important;
    box-sizing: border-box;
}
body.cl-app-bug_program .bug-prog-topbar .timeline-header__botline .cp,
body.cl-app-bug_report .bug-prog-topbar .timeline-header__botline .cp,
body.cl-app-bug_report_view .bug-prog-topbar .timeline-header__botline .cp {
    position: static !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    text-align: center !important;
    max-width: 100% !important;
    transform: none !important;
}
body.cl-app-bug_program .bug-prog-topbar .timeline-header__botline .rp,
body.cl-app-bug_report .bug-prog-topbar .timeline-header__botline .rp,
body.cl-app-bug_report_view .bug-prog-topbar .timeline-header__botline .rp {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    max-width: 40% !important;
}

/* Texte : variables + repli explicite si fond sombre (évite #141 sur #152) */
body.cl-app-bug_program .bug-prog-page,
body.cl-app-bug_report .bug-prog-page,
body.cl-app-bug_report_view .bug-prog-page {
    color: var(--cl-primary-text-color) !important;
    background: transparent;
}

/* Fonds sombres du site (default_bg / display settings) */
body.cl-app-bug_program[data-bg="dark"] .bug-prog-page,
body.cl-app-bug_report_view[data-bg="dark"] .bug-prog-page,
body.cl-app-bug_report[data-bg="dark"] .bug-prog-page,
body.cl-app-bug_program[data-bg="darker"] .bug-prog-page,
body.cl-app-bug_report[data-bg="darker"] .bug-prog-page,
body.cl-app-bug_report_view[data-bg="darker"] .bug-prog-page {
    --cl-primary-text-color: #e8eef3;
    --cl-secondary-text-color: #a8b4bf;
}

/* Forçage contenu (beaucoup de règles `color` ailleurs dans le thème) */
body.cl-app-bug_program .bug-prog-page h1,
body.cl-app-bug_program .bug-prog-page h2,
body.cl-app-bug_report .bug-prog-page h1,
body.cl-app-bug_report .bug-prog-page h2,
body.cl-app-bug_program .bug-prog-page p,
body.cl-app-bug_report .bug-prog-page p,
body.cl-app-bug_program .bug-prog-page li,
body.cl-app-bug_report .bug-prog-page li,
body.cl-app-bug_program .bug-prog-page .bug-prog-list li,
body.cl-app-bug_report .bug-prog-page .bug-prog-list li,
body.cl-app-bug_program .bug-prog-page strong,
body.cl-app-bug_report .bug-prog-page strong,
body.cl-app-bug_program .bug-prog-page .bug-prog-h1section__title,
body.cl-app-bug_report .bug-prog-page .bug-prog-h1section__title,
body.cl-app-bug_program .bug-prog-page .bug-prog-panel__title,
body.cl-app-bug_report .bug-prog-page .bug-prog-panel__title,
body.cl-app-bug_program .bug-prog-page .bug-prog-hero__title h1,
body.cl-app-bug_report .bug-prog-page .bug-prog-hero__title h1,
body.cl-app-bug_program .bug-prog-page .bprog-pagehead h1,
body.cl-app-bug_report .bug-prog-page .bprog-pagehead h1,
body.cl-app-bug_report .bug-prog-page .bug-report-head h1,
body.cl-app-bug_report_view .bug-prog-page .bprog-pagehead h1,
body.cl-app-bug_report_view .bugv-dhead__title {
    color: var(--cl-primary-text-color) !important;
}

body.cl-app-bug_program .bug-prog-page .bug-prog-hero__lead,
body.cl-app-bug_report .bug-prog-page .bug-prog-hero__lead,
body.cl-app-bug_program .bug-prog-page .bprog-pagehead__lead,
body.cl-app-bug_report .bug-prog-page .bprog-pagehead__lead,
body.cl-app-bug_report .bug-prog-page .bug-report-head__lead,
body.cl-app-bug_program .bug-prog-page .bug-prog-lead,
body.cl-app-bug_report .bug-prog-page .bug-prog-lead,
body.cl-app-bug_program .bug-prog-page .bug-prog-muted,
body.cl-app-bug_report .bug-prog-page .bug-prog-muted {
    color: var(--cl-secondary-text-color) !important;
}

/* Onglets bug program (héritage nav) */
.bprog-tab-item {
    -webkit-text-fill-color: currentColor;
    -webkit-tap-highlight-color: transparent;
}
.bprog-settings-content .bug-prog-panel a:not(.btn) {
    color: var(--cl-primary-color) !important;
    text-decoration: none !important;
    border-bottom: none !important;
    padding-bottom: 0;
}
.bprog-settings-content .bug-prog-panel a:not(.btn):hover {
    opacity: 0.9;
}

/* 3) Contenu : pleine largeur utile, padding bords écran */
.bug-prog-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 16px 28px;
    box-sizing: border-box;
}

@media (min-width: 900px) {
    .bug-prog-wrap {
        padding-left: 32px;
        padding-right: 32px;
    }
}

/* 4) Hero façon “programme” (fond légèrement différencié, lisible partout) */
.bug-prog-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0 20px;
    border-bottom: 1px solid var(--cl-primary-border-color);
    margin-bottom: 20px;
    background: var(--cl-secondary-bg-color);
    border-radius: var(--cl-secondary-border-radius, 10px);
    padding: 18px 16px;
}

.bug-prog-hero__brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bug-prog-hero__brand img {
    max-height: 44px;
    width: auto;
}

.bug-prog-hero__title h1 {
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0 0 4px;
    line-height: 1.25;
    color: var(--cl-primary-text-color);
}

.bug-prog-hero__title p,
.bug-prog-hero__lead {
    margin: 0;
    color: var(--cl-secondary-text-color);
    font-size: 0.92rem;
    line-height: 1.45;
}

.bug-prog-hero--compact {
    padding: 14px 14px 16px;
    margin-bottom: 16px;
}

/* CTA principal = couleur du thème (plus de bleu Bootstrap) */
.bug-prog-actions a.btn.btn-custom.main-inline.lg {
    color: #ffffff !important;
    background-color: var(--cl-primary-color) !important;
    border: 1px solid var(--cl-primary-color) !important;
    text-decoration: none !important;
    opacity: 1 !important;
}
.bug-prog-actions a.btn.btn-custom.main-inline.lg:hover,
.bug-prog-actions a.btn.btn-custom.main-inline.lg:focus {
    opacity: 0.92 !important;
    filter: brightness(0.98);
}
.bug-prog-actions a.btn.btn-custom.main-inline.lg svg path {
    fill: #ffffff;
}

/* Même principe pour le formulaire d’envoi (md = comme Cancel) */
body.cl-app-bug_report .bug-form button.btn.btn-custom.main-inline.md {
    color: #ffffff !important;
    background-color: var(--cl-primary-color) !important;
    border: 1px solid var(--cl-primary-color) !important;
}
body.cl-app-bug_report .bug-form button.btn.btn-custom.main-inline.md svg path {
    fill: #ffffff;
}
/* Bouton secondaire (Gérer) : style contour du thème */
.bug-prog-actions a.btn.btn-custom.main-inline.md {
    text-decoration: none !important;
}
body[data-skin] .bug-prog-actions a.btn.btn-custom.main-inline.lg {
    color: #ffffff !important;
}

.bug-prog-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.bug-prog-actions .btn-lg {
    padding: 10px 20px;
    font-weight: 600;
}

/* 5) Nav ancres (pilules) */
.bug-prog-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-bottom: 20px;
}

.bug-prog-nav a {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.86rem;
    text-decoration: none;
    background: var(--cl-secondary-bg-color);
    color: var(--cl-primary-text-color);
    border: 1px solid var(--cl-primary-border-color);
    transition: background 0.15s, border-color 0.15s;
}

.bug-prog-nav a:hover {
    background: var(--cl-primary-color-alpha-10, rgba(0, 0, 0, 0.06));
    border-color: var(--cl-primary-color);
}

/* 6) Sections / cartes */
.bug-prog-section {
    margin-bottom: 24px;
    padding: 18px 16px;
    border-radius: var(--cl-primary-border-radius, 12px);
    background: var(--cl-secondary-bg-color);
    border: 1px solid var(--cl-primary-border-color);
    color: var(--cl-primary-text-color);
}

.bug-prog-section h2 {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 12px;
    color: var(--cl-primary-text-color);
}

.bug-prog-section p,
.bug-prog-section li {
    font-size: 0.94rem;
    line-height: 1.55;
    margin: 0 0 8px;
    color: var(--cl-primary-text-color);
}

.bug-prog-section ul {
    padding-left: 1.1rem;
    margin: 0;
}

.bug-prog-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    margin-top: 8px;
}

.bug-prog-pill {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 16px;
    font-size: 0.8rem;
    background: var(--cl-primary-bg-color);
    color: var(--cl-secondary-text-color);
    border: 1px solid var(--cl-primary-border-color);
}

.bug-prog-stats {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    margin-top: 10px;
}

.bug-prog-stat {
    border-radius: 10px;
    padding: 12px 14px;
    border: 1px solid var(--cl-primary-border-color);
    background: var(--cl-primary-bg-color);
}

.bug-prog-stat b {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 4px;
    color: var(--cl-primary-text-color);
}

.bug-prog-stat span {
    font-size: 0.8rem;
    color: var(--cl-secondary-text-color);
}

/* 7) Formulaire signalement */
.bug-form .form-group label {
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 6px;
    display: block;
    color: var(--cl-primary-text-color);
}

.bug-form .form-text {
    color: var(--cl-secondary-text-color);
    font-size: 0.82rem;
}

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

.bug-form textarea.form-control::placeholder,
.bug-form input.form-control::placeholder {
    color: var(--cl-secondary-text-color);
    opacity: 0.85;
}

.bug-form textarea.form-control {
    min-height: 180px;
    resize: vertical;
}

.bug-areas-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 8px 14px;
}

.bug-areas-grid label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    font-size: 0.88rem;
    cursor: pointer;
    color: var(--cl-primary-text-color);
}

/* 8) En-tête timeline : liens = variables (évite “texte illisible”) */
body.cl-app-bug_program .timeline-header .nav-link-holder a,
body.cl-app-bug_report .timeline-header .nav-link-holder a {
    color: var(--cl-primary-text-color) !important;
}

body.cl-app-bug_program .timeline-header .go-back svg path,
body.cl-app-bug_report .timeline-header .go-back svg path {
    fill: var(--cl-primary-text-color) !important;
}

/* === Bug programme : séparations type fil (pas de dégradés / glow) === */
.bprog-pagehead {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    padding: 16px 0 18px;
    border-bottom: 1px solid var(--cl-primary-border-color);
    background: transparent;
}
.bprog-pagehead h1 {
    font-size: 1.5rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    margin: 0 0 8px;
    line-height: 1.2;
    color: var(--cl-primary-text-color) !important;
}
.bprog-pagehead__lead {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--cl-secondary-text-color) !important;
    max-width: 48rem;
}

/* Grille PC : onglets gauche | centre | fiche droite */
.bprog-cs {
    display: grid !important;
    grid-template-columns: minmax(200px, 240px) minmax(0, 1fr) minmax(260px, 300px) !important;
    grid-template-areas: "rail main fiche" !important;
    align-items: start;
    gap: 20px 22px;
    width: 100%;
    max-width: 1280px;
    margin: 20px auto 0;
    min-width: 0;
    box-sizing: border-box;
}
.bprog-center {
    grid-area: main;
    min-width: 0;
}

.bprog-rail {
    grid-area: rail;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: sticky;
    top: 8px;
    align-self: start;
    max-height: calc(100vh - 20px);
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 10px 8px 14px;
    border-radius: 0;
    background: var(--cl-secondary-bg-color);
    border: 1px solid var(--cl-primary-border-color);
    box-shadow: none;
    box-sizing: border-box;
}
body[data-bg="dark"] .bprog-rail,
body.cl-dark-theme .bprog-rail {
    background: var(--cl-secondary-bg-color);
    border-color: var(--cl-primary-border-color);
}

.bprog-tab-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    margin: 0 0 2px 0;
    padding: 10px 10px 10px 8px;
    border: none;
    border-radius: 6px;
    background: transparent;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    color: var(--cl-primary-text-color) !important;
    cursor: pointer;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    font-family: inherit;
    transition: background 0.15s;
}
.bprog-tab-item:hover {
    background: var(--cl-primary-bg-color) !important;
}
body[data-bg="dark"] .bprog-tab-item:hover {
    background: var(--cl-primary-bg-color) !important;
}
.bprog-tab-item.active {
    background: var(--cl-primary-bg-color) !important;
    color: var(--cl-primary-color, #35c85f) !important;
    font-weight: 700;
}
body[data-bg="dark"] .bprog-tab-item.active {
    background: var(--cl-primary-bg-color) !important;
}

.bprog-settings-content {
    background: var(--cl-primary-bg-color);
    border: 1px solid var(--cl-primary-border-color);
    border-radius: 0;
    box-shadow: none;
    padding: 22px 24px 28px;
    min-height: 48vh;
    box-sizing: border-box;
}
body[data-bg="dark"] .bprog-settings-content {
    border-color: var(--cl-primary-border-color);
}

#bprog-panels .bprog-tab-panel {
    display: none !important;
}
#bprog-panels .bprog-tab-panel.active {
    display: block !important;
}

.bprog-fiche {
    grid-area: fiche;
    min-width: 0;
    position: sticky;
    top: 8px;
    align-self: start;
    max-height: calc(100vh - 20px);
    overflow-y: auto;
    padding: 16px 14px 18px;
    border-radius: 0;
    background: var(--cl-secondary-bg-color);
    border: 1px solid var(--cl-primary-border-color);
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-sizing: border-box;
}
body[data-bg="dark"] .bprog-fiche {
    background: var(--cl-secondary-bg-color);
    border-color: var(--cl-primary-border-color);
}
.bprog-fiche__brand {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.bprog-fiche__logo {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    object-fit: contain;
    flex-shrink: 0;
    background: var(--cl-primary-bg-color);
    border: 1px solid var(--cl-primary-border-color);
    padding: 2px;
    box-sizing: border-box;
}
.bprog-fiche__name {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.2;
    color: var(--cl-primary-text-color) !important;
    letter-spacing: -0.01em;
}
.bprog-fiche__url {
    display: inline-block;
    margin-top: 2px;
    font-size: 0.86rem;
    color: var(--cl-primary-color) !important;
    text-decoration: none;
    font-weight: 600;
    word-break: break-all;
}
.bprog-fiche__url:hover {
    text-decoration: underline;
}
.bprog-fiche__meta {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.bprog-fiche__meta > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.bprog-fiche__meta dt {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--cl-secondary-text-color);
}
.bprog-fiche__meta dd {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--cl-primary-text-color) !important;
}
.bprog-fiche__cta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: auto;
    padding-top: 4px;
}

/* CTA : sans .btn (Bootstrap) — sinon fond transparent = bouton “invisible” */
.bprog-fiche__cta a.bprog-cta-pub,
a.bprog-cta-pub {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    color: #ffffff !important;
    background-color: #35c85f !important;
    background: var(--cl-primary-color, #35c85f) !important;
    border: 1px solid #35c85f !important;
    border-color: var(--cl-primary-color, #35c85f) !important;
    border-radius: 6px;
    padding: 12px 18px 14px;
    font-size: 0.96rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 1.25;
    text-decoration: none !important;
    box-shadow: none;
    transition: filter 0.15s;
    opacity: 1 !important;
    visibility: visible !important;
}
.bprog-fiche__cta a.bprog-cta-pub:hover,
a.bprog-cta-pub:hover,
.bprog-fiche__cta a.bprog-cta-pub:focus,
a.bprog-cta-pub:focus {
    color: #ffffff !important;
    background: var(--cl-primary-color, #35c85f) !important;
    border-color: var(--cl-primary-color, #35c85f) !important;
    filter: brightness(1.04);
    box-shadow: none;
}
.bprog-fiche__cta a.bprog-cta-ghost,
a.bprog-cta-ghost {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    color: var(--cl-primary-color) !important;
    background: transparent !important;
    border: 1px solid var(--cl-primary-border-color) !important;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.15s, border-color 0.15s;
}
body[data-bg="dark"] .bprog-fiche__cta a.bprog-cta-ghost,
body[data-bg="dark"] a.bprog-cta-ghost {
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: var(--cl-primary-text-color) !important;
}
.bprog-fiche__cta a.bprog-cta-ghost:hover,
a.bprog-cta-ghost:hover {
    background: rgba(53, 200, 95, 0.08) !important;
    border-color: var(--cl-primary-color) !important;
}

/* Program updates (type Bugcrowd) */
.bprog-pu-wrap .bprog-pu__empty {
    margin: 0 0 4px;
}
.bprog-pu-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 12px;
}
.bprog-pu {
    border: 1px solid var(--cl-primary-border-color);
    border-radius: 8px;
    background: var(--cl-secondary-bg-color, rgba(0, 0, 0, 0.2));
    overflow: hidden;
    max-width: 100%;
}
.bprog-pu__head {
    padding: 16px 18px 0;
    border-bottom: 1px solid var(--cl-primary-border-color);
    margin: 0;
}
.bprog-pu__title {
    margin: 0 0 14px;
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: var(--cl-primary-text-color) !important;
}
.bprog-pu__body {
    padding: 16px 18px;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--cl-primary-text-color) !important;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}
.bprog-pu__body br {
    line-height: inherit;
}
.bprog-pu__foot {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 12px 18px 16px;
    border-top: 1px solid var(--cl-primary-border-color);
    background: var(--cl-primary-bg-color, transparent);
    flex-wrap: wrap;
}
.bprog-pu__avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--cl-primary-border-color);
}
.bprog-pu__avatar--ph {
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--cl-primary-border-color);
    opacity: 0.4;
}
.bprog-pu__meta {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.bprog-pu__user {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--cl-primary-text-color) !important;
    text-decoration: none !important;
}
.bprog-pu__user:hover {
    text-decoration: none !important;
    color: var(--cl-primary-color) !important;
}
a.bprog-pu__user,
a.bprog-pu__user:hover,
a.bprog-activity__user,
a.bprog-activity__user:hover,
a.bprog-lb__user,
a.bprog-lb__user:hover {
    text-decoration: none !important;
    border-bottom: none !important;
}
.bprog-pu__time {
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--cl-secondary-text-color) !important;
}
.bprog-pu__rel {
    font-weight: 500;
}
.bprog-pu__abs {
    margin-left: 0.3em;
    opacity: 0.88;
    font-size: 0.92em;
}
.bprog-pu__time--split {
    display: flex;
    flex-direction: column;
    gap: 0.2em;
}
.bprog-pu__line {
    display: block;
}
.bprog-pu__line--edit {
    opacity: 0.95;
}
.bprog-pu__when {
    display: inline-block;
    min-width: 4.5em;
    margin-right: 0.35em;
    font-weight: 600;
    font-size: 0.92em;
    opacity: 0.9;
}

.bug-prog-h1section {
    margin-bottom: 20px;
}

.bug-prog-h1section__title {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--cl-primary-text-color);
}

.bug-prog-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
}

.bug-prog-hl-pill {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
    background: var(--cl-secondary-bg-color);
    color: var(--cl-primary-text-color);
    border: 1px solid var(--cl-primary-border-color);
}

.bug-prog-lead,
.bug-prog-lead p {
    margin: 0;
    line-height: 1.5;
    color: var(--cl-secondary-text-color);
    font-size: 0.94rem;
}

.bug-prog-panel {
    padding: 0;
    margin-top: 8px;
}

.bug-prog-panel__title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 12px;
    color: var(--cl-primary-text-color);
    letter-spacing: -0.01em;
}

.bug-prog-panel p {
    line-height: 1.55;
    margin: 0 0 10px;
    color: var(--cl-primary-text-color);
    font-size: 0.95rem;
}

.bug-prog-panel__kicker {
    font-weight: 600;
    margin-top: 16px;
    margin-bottom: 6px;
    color: var(--cl-primary-text-color);
    font-size: 0.9rem;
}
.bug-prog-panel__kicker--out {
    color: var(--cl-secondary-text-color);
}

.bug-prog-list {
    margin: 0 0 8px 0;
    padding-left: 1.15rem;
}
.bug-prog-list li {
    margin-bottom: 6px;
    line-height: 1.5;
    color: var(--cl-primary-text-color);
}

.bug-prog-muted {
    color: var(--cl-secondary-text-color) !important;
    line-height: 1.5;
}

/* Métriques type H1 (ligne de cartes) */
.bug-prog-metricrow {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.bug-prog-metricrow--second {
    margin-top: 12px;
}
.bug-prog-metric {
    border: 1px solid var(--cl-primary-border-color);
    border-radius: 10px;
    padding: 14px 12px;
    background: var(--cl-secondary-bg-color);
    text-align: left;
}
.bug-prog-metric__val {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--cl-primary-text-color);
    margin-bottom: 4px;
}
.bug-prog-metric__label {
    font-size: 0.78rem;
    color: var(--cl-secondary-text-color);
    line-height: 1.35;
}
@media (max-width: 700px) {
    .bug-prog-metricrow {
        grid-template-columns: 1fr;
    }
}

.bug-prog-stats-intro {
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--cl-secondary-text-color) !important;
    margin: 0 0 8px;
}
.bug-prog-metric__val--tbd {
    color: var(--cl-secondary-text-color);
    font-weight: 600;
    font-size: 1.05rem;
}

/* —— Page /bugs/submit (sidebar droite comme le fil) —— */
.bug-report-head {
    margin-bottom: 0;
    padding: 0 0 16px;
    border-bottom: none;
    margin-top: 4px;
}
.bug-report-head h1 {
    font-size: 1.3rem;
    font-weight: 800;
    margin: 0 0 6px;
    color: var(--cl-primary-text-color) !important;
    letter-spacing: -0.02em;
}
.bug-report-head__lead {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--cl-secondary-text-color) !important;
    max-width: 40rem;
}
.bug-form__req,
.bug-form abbr.bug-form__req {
    color: var(--cl-danger-color, #e74c3c);
    text-decoration: none;
    font-weight: 700;
    border: 0;
    cursor: help;
}
.bug-form__sep {
    opacity: 0.5;
    padding: 0 0.2em;
}
.bug-form__hint {
    display: block;
    margin-top: 6px;
}
.bug-form__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding: 20px 0 8px;
    border-top: 1px solid var(--cl-primary-border-color);
}
body.cl-app-bug_report .bug-form__actions a.btn-custom.main-grey {
    text-decoration: none !important;
    color: var(--cl-secondary-text-color) !important;
    background-color: var(--cl-secondary-bg-color) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
    box-shadow: none;
    border-radius: 6px;
    padding: 10px 18px;
    font-weight: 600;
}
body.cl-app-bug_report .bug-form__actions a.btn-custom.main-grey:hover {
    opacity: 0.95;
    border-color: var(--cl-secondary-text-color) !important;
}
/* Submit + Cancel : même boîte (évite le « pilule » imposé par .md/.lg du thème) */
body.cl-app-bug_report .bug-form__actions .btn.btn-custom.main-inline.md,
body.cl-app-bug_report .bug-form__actions a.btn.btn-custom.main-grey.md {
    border-radius: 6px !important;
    padding: 10px 18px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    min-height: 0 !important;
    box-shadow: none !important;
}
body.cl-app-bug_report .bug-form__actions .btn.btn-custom.main-inline.md {
    color: #ffffff !important;
}
/* Formulaire : mêmes champs surélevés que les filtres Activity */
body.cl-app-bug_report .bug-form .bprog-select__btn {
    background: var(--cl-secondary-bg-color) !important;
    color: var(--cl-primary-text-color) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
}
body.cl-app-bug_report .bug-form .bprog-select__menu {
    background: var(--cl-primary-bg-color) !important;
}
body[data-bg="dark"].cl-app-bug_report .bug-form .bprog-select__btn,
body[data-bg="darker"].cl-app-bug_report .bug-form .bprog-select__btn,
body.cl-app-bug_report.cl-dark-theme .bug-form .bprog-select__btn {
    background: var(--cl-input-bg, #1a1d23) !important;
    color: var(--cl-primary-text-color, #e8eaed) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
}
body.cl-app-bug_report .bug-prog-page .bprog-select--compact .bprog-select__btn {
    font-size: 0.86rem;
}

/* —— Programme bug : séparation avant "Mes signalements" + liste onglet —— */
.bprog-rail-sep {
    height: 1px;
    margin: 8px 0 10px;
    background: var(--cl-primary-border-color);
    border: 0;
    width: 100%;
    flex-shrink: 0;
}
.bprog-tab-item--secondary {
    font-size: 0.92em;
    font-weight: 600;
}
.bprog-mine-wrap {
    border-radius: 6px;
}
.bprog-mine-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.bprog-mine-list li {
    border-bottom: 1px solid var(--cl-primary-border-color);
    margin: 0;
    padding: 0;
}
.bprog-mine-list li:last-child {
    border-bottom: 0;
}
.bprog-mine-list__a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "id title date" "meta meta meta";
    gap: 6px 12px;
    padding: 14px 10px 14px 12px;
    text-decoration: none;
    color: var(--cl-primary-text-color) !important;
    align-items: start;
    border-left: 3px solid transparent;
    border-radius: 6px;
    margin: 2px 0;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.bprog-mine-list__a:hover {
    background: var(--cl-secondary-bg-color, rgba(255, 255, 255, 0.05));
    border-left-color: var(--cl-primary-color, #35c85f);
    text-decoration: none !important;
}
.bprog-mine-list__id {
    grid-area: id;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--cl-secondary-text-color) !important;
    white-space: nowrap;
}
.bprog-mine-list__title {
    grid-area: title;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.35;
    color: var(--cl-primary-text-color) !important;
    overflow-wrap: anywhere;
    word-break: break-word;
    padding-right: 4rem;
    box-sizing: border-box;
}
.bprog-mine-list__date {
    grid-area: date;
    font-size: 0.8rem;
    color: var(--cl-secondary-text-color) !important;
    white-space: nowrap;
    text-align: right;
}
.bprog-mine-list__meta {
    grid-area: meta;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 6px;
    font-size: 0.82rem;
    color: var(--cl-secondary-text-color) !important;
}
.bprog-mine-list__st {
    font-weight: 600;
    color: var(--cl-primary-color, #35c85f) !important;
}
.bprog-mine-list__mid {
    opacity: 0.55;
    font-weight: 700;
    color: var(--cl-secondary-text-color) !important;
    user-select: none;
}
.bprog-mine-sevname {
    font-weight: 600;
    color: var(--cl-primary-text-color) !important;
}
.bprog-mine-segbar {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 2px;
    vertical-align: middle;
}
.bprog-mine-segbar__s {
    display: inline-block;
    width: 4px;
    height: 11px;
    border-radius: 1px;
    background: var(--cl-primary-border-color, #444);
    opacity: 0.35;
}
.bprog-mine-segbar__s.is-on {
    background: #f0c14b;
    opacity: 1;
    box-shadow: 0 0 0 1px rgba(240, 193, 75, 0.3);
}
.bprog-mine-segbar[data-sv="high"] .bprog-mine-segbar__s.is-on,
.bprog-mine-segbar[data-sv="critical"] .bprog-mine-segbar__s.is-on {
    background: #e67e22;
    box-shadow: 0 0 0 1px rgba(230, 126, 34, 0.35);
}
.bugv-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* —— Page /bugs/report/{id} —— */
.bugv-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 16px 32px;
    box-sizing: border-box;
}
.bugv-pagehead {
    margin-bottom: 16px;
}
.bugv-pagehead__crumb {
    font-size: 0.9rem;
    color: var(--cl-secondary-text-color);
    margin-top: 8px;
}
.bugv-pagehead__crumb a {
    color: var(--cl-primary-color) !important;
    text-decoration: none;
    font-weight: 600;
    border-bottom: none !important;
    padding-bottom: 0;
}
.bugv-pagehead__sep {
    margin: 0 0.4em;
    opacity: 0.5;
}
.bugv-grid {
    display: grid;
    grid-template-columns: minmax(0, 280px) minmax(0, 1fr) minmax(0, 300px);
    gap: 20px 24px;
    align-items: start;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    min-width: 0;
    box-sizing: border-box;
}
.bugv-rail {
    border: 1px solid var(--cl-primary-border-color);
    border-radius: 12px;
    background: var(--cl-secondary-bg-color, rgba(255, 255, 255, 0.02));
    overflow: hidden;
    min-width: 0;
}
.bugv-rail__header {
    padding: 10px 12px;
    font-size: 0.8rem;
    color: var(--cl-secondary-text-color);
    border-bottom: 1px solid var(--cl-primary-border-color);
}
.bugv-rail__empty {
    margin: 0;
    padding: 16px;
    font-size: 0.9rem;
    color: var(--cl-secondary-text-color) !important;
}
.bugv-rail-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: min(60vh, 640px);
    overflow: auto;
}
.bugv-rail-item {
    display: block;
    padding: 10px 10px 10px 12px;
    text-decoration: none !important;
    color: var(--cl-primary-text-color) !important;
    border-bottom: 1px solid var(--cl-primary-border-color);
    border-left: 3px solid transparent;
    position: relative;
    transition: background 0.12s ease;
}
.bugv-rail-item:hover {
    background: rgba(0, 0, 0, 0.12);
    text-decoration: none !important;
}
.bugv-rail-item.is-active {
    border-left-color: var(--cl-primary-color, #3b8cff);
    background: rgba(59, 140, 255, 0.08);
}
.bugv-rail-item__id {
    display: block;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--cl-secondary-text-color) !important;
    margin-bottom: 2px;
}
.bugv-rail-item__title {
    display: block;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--cl-primary-text-color) !important;
    margin-bottom: 6px;
    overflow-wrap: anywhere;
    word-break: break-word;
    padding-right: 4.2rem;
    box-sizing: border-box;
}
.bugv-rail-item__date {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 0.75rem;
    color: var(--cl-secondary-text-color) !important;
}
.bugv-rail-item__sev {
    display: block;
    font-size: 0.78rem;
    color: var(--cl-secondary-text-color) !important;
    margin-top: 4px;
}
.bugv-segline {
    display: inline-block;
    width: 0;
    height: 0;
    overflow: hidden;
}

.bugv-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid var(--cl-primary-border-color);
    border-radius: 12px;
    padding: 0 0 20px;
    background: var(--cl-secondary-bg-color, rgba(255, 255, 255, 0.02));
}
.bugv-dhead {
    padding: 20px 20px 0;
    border-bottom: 1px solid var(--cl-primary-border-color);
}
.bugv-dhead__idrow {
    margin-bottom: 6px;
}
.bugv-dhead__badge {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 800;
    color: #fff;
    background: #35c85f;
    background: var(--cl-primary-color, #35c85f);
    padding: 4px 10px;
    border-radius: 6px;
}
.bugv-dhead__title {
    font-size: 1.4rem;
    font-weight: 800;
    margin: 0 0 12px;
    line-height: 1.3;
    color: var(--cl-primary-text-color) !important;
    letter-spacing: -0.02em;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    word-break: break-word;
    max-width: 100%;
}
.bugv-dhead__subnav {
    display: flex;
    gap: 8px 16px;
    padding: 0 0 0;
}
.bugv-dhead__subtab {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cl-secondary-text-color) !important;
    padding: 0 0 10px;
    border-bottom: 3px solid var(--cl-primary-color, #3b8cff);
    font-weight: 700;
}
.bugv-dhead__subtab.is-active {
    color: var(--cl-primary-text-color) !important;
}
.bugv-timeline {
    padding: 20px 20px 0;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}
/* Colonne auteur : une ligne avatar + en-tête, puis description toute largeur (évite le bloc commentaire “à côté” d’un contenu large) */
.bugv-tl-post {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}
.bugv-tl-top {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px 16px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}
.bugv-tl-avatar {
    flex-shrink: 0;
    width: 40px;
}
.bugv-tl-head {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
}
.bugv-tl-content {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 0 0 0 0;
    margin: 0;
    border: 0;
}
/* Pastille de profil isolée (évite les .user-avatar du thème qui s’étirent) */
.bugv-pp {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--cl-secondary-bg-color, rgba(0, 0, 0, 0.2));
    position: relative;
    line-height: 0;
}
.bugv-pp--sm {
    width: 32px;
    height: 32px;
}
.bugv-pp a {
    display: block;
    width: 100%;
    height: 100%;
}
.bugv-pp__img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover;
    display: block;
    border-radius: 50%;
    vertical-align: top;
}
.bugv-cmt__av {
    flex-shrink: 0;
    width: 32px;
    line-height: 0;
}
.bugv-tl-line1 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px 12px;
    margin-bottom: 8px;
}
.bugv-tl-who,
.bugv-tl-who a {
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--cl-primary-text-color) !important;
}
.bugv-tl-time {
    font-size: 0.8rem;
    color: var(--cl-secondary-text-color) !important;
    white-space: nowrap;
}
.bugv-tl-areas {
    font-size: 0.88rem;
    color: var(--cl-secondary-text-color) !important;
    margin: 0 0 12px;
}
.bugv-desc {
    border: 0;
    background: transparent;
    padding: 0;
    margin: 0;
    box-shadow: none;
    min-width: 0;
    max-width: 100%;
}
.bugv-desc__body {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--cl-primary-text-color) !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    word-break: break-word;
    max-width: 100%;
    min-width: 0;
}
/* Images ou média éventuels dans le corps (citations, futur HTML) : ne pas envahir toute la page */
.bugv-desc__body img,
.bugv-desc__body video,
.bugv-desc__body iframe,
.bugv-cmt__txt img,
.bugv-cmt__txt video {
    max-width: 100% !important;
    height: auto !important;
    display: block;
    border-radius: 6px;
}
.bugv-thread {
    margin: 20px 0 0;
    padding: 8px 20px 0;
    border-top: 1px solid var(--cl-primary-border-color);
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
/* Ligne 1 : avatar + en-tête ; ligne 2 : texte en pleine largeur (aligné sur la description) */
.bugv-cmt {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 8px;
    padding: 14px 0;
    border-bottom: 1px solid var(--cl-primary-border-color);
    align-items: start;
    min-width: 0;
}
.bugv-cmt:last-of-type {
    border-bottom: 0;
}
.bugv-cmt__av {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
}
.bugv-cmt__h {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 8px;
    font-size: 0.9rem;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-weight: normal;
    border: 0;
    background: transparent;
}
.bugv-cmt__a {
    color: var(--cl-secondary-text-color) !important;
}
.bugv-cmt__midsep {
    color: var(--cl-secondary-text-color) !important;
    opacity: 0.6;
    padding: 0 2px;
}
.bugv-cmt__sevm {
    color: var(--cl-primary-text-color) !important;
    font-weight: 600;
}
.bugv-cmt__t {
    margin-left: auto;
    font-size: 0.78rem;
    color: var(--cl-secondary-text-color) !important;
    flex: 0 0 auto;
}
.bugv-cmt__txt {
    grid-column: 1 / -1;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--cl-primary-text-color) !important;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    word-break: break-word;
    min-width: 0;
    padding: 0;
}
.bugv-cmt__media {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 10px;
    margin-top: 2px;
    min-width: 0;
}
.bugv-cmt__meda {
    display: block;
    max-width: 100%;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--cl-primary-border-color);
    line-height: 0;
}
.bugv-cmt__img {
    max-width: min(100%, 640px) !important;
    height: auto !important;
    display: block;
    vertical-align: top;
}
.bugv-cmt__vidw {
    width: 100%;
    max-width: 640px;
    min-width: 0;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--cl-primary-border-color);
    background: #000;
}
.bugv-cmt__vid {
    width: 100%;
    max-height: 50vh;
    display: block;
    vertical-align: top;
}
.bugv-reply__files {
    margin: 10px 0 4px;
}
.bugv-reply__file {
    display: block;
    width: 100%;
    max-width: 100%;
    font-size: 0.85rem;
    color: var(--cl-secondary-text-color);
}
.bugv-reply__filelabel {
    display: block;
    font-size: 0.86rem;
    color: var(--cl-secondary-text-color) !important;
    margin-bottom: 6px;
    cursor: pointer;
}
.bugv-reply__filelabel svg,
.bugv-reply__filelabel .icon {
    vertical-align: middle;
    margin-right: 4px;
    opacity: 0.9;
}

.bugv-reply {
    margin: 0;
    margin-top: 4px;
    padding: 16px 20px 0;
    border-top: 1px solid var(--cl-primary-border-color);
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
    align-self: stretch;
    flex: 0 0 auto;
}
.bugv-reply__form {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.bugv-reply__form .form-control {
    background: var(--cl-input-bg-color, var(--cl-input-bg, #f0f2f5));
    color: var(--cl-primary-text-color) !important;
    border: 1px solid var(--cl-primary-border-color);
    border-radius: 8px;
}
.bugv-reply__form textarea.form-control {
    min-height: 100px;
}
.bugv-reply__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
}
.bugv-reply__hint {
    font-size: 0.78rem;
    color: var(--cl-secondary-text-color) !important;
}
.bugv-reply__warn {
    margin-top: 8px;
    font-size: 0.85rem;
}

.bugv-side {
    border: 1px solid var(--cl-primary-border-color);
    border-radius: 12px;
    padding: 18px 16px 20px;
    background: var(--cl-secondary-bg-color, rgba(255, 255, 255, 0.02));
    min-width: 0;
    max-width: 100%;
    position: sticky;
    top: 16px;
    align-self: start;
    box-sizing: border-box;
    overflow: hidden;
}
.bugv-dl__row {
    margin-bottom: 18px;
}
.bugv-dl__row:last-child {
    margin-bottom: 0;
}
.bugv-dl__k {
    display: block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    color: var(--cl-secondary-text-color) !important;
    margin-bottom: 4px;
}
.bugv-dl__v {
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--cl-primary-text-color) !important;
    word-wrap: break-word;
}
.bugv-dl__v a,
.bugv-dl__v .inline-link {
    color: var(--cl-primary-color) !important;
    text-decoration: none !important;
    font-weight: 600;
    border-bottom: none !important;
    padding-bottom: 0;
}
.bugv-tl-who a.inline-link,
.bugv-cmt__h a.inline-link {
    text-decoration: none !important;
    border-bottom: none !important;
    padding-bottom: 0;
}
.bugv-dl__who {
    display: flex;
    align-items: center;
    gap: 8px;
}
.bugv-pillid {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 800;
    color: #fff;
    background: #35c85f;
    background: var(--cl-primary-color, #35c85f);
    padding: 3px 8px;
    border-radius: 5px;
    margin-right: 6px;
}
.bugv-dl__st {
    font-size: 0.88rem;
    font-weight: 600;
}
.bugv-segbar {
    display: inline-flex;
    gap: 2px;
    margin-right: 6px;
    vertical-align: middle;
}
.bugv-segbar__s {
    display: inline-block;
    width: 5px;
    height: 14px;
    border-radius: 1px;
    background: var(--cl-primary-border-color, #444);
    opacity: 0.4;
}
.bugv-segbar__s.is-on {
    background: #f0c14b;
    opacity: 1;
    box-shadow: 0 0 0 1px rgba(240, 193, 75, 0.35);
}
.bugv-dl__sev[data-sv="high"] .bugv-segbar__s.is-on,
.bugv-dl__sev[data-sv="critical"] .bugv-segbar__s.is-on {
    background: #e67e22;
    box-shadow: 0 0 0 1px rgba(230, 126, 34, 0.4);
}
.bugv-dl__sevtxt {
    font-size: 0.88rem;
    font-weight: 600;
}

@media (max-width: 1000px) {
    .bugv-grid {
        grid-template-columns: 1fr;
    }
    .bugv-main {
        order: 1;
    }
    .bugv-rail {
        order: 2;
    }
    .bugv-rail-list {
        max-height: 220px;
    }
    .bugv-side {
        order: 3;
        position: static;
    }
}

/* --- Page équipe /bugs/team (bug_program.css doit être chargé : pn = bug_report_team dans main/content.phtml) --- */
.bug-team-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 12px 16px 40px;
    box-sizing: border-box;
}
.bug-team-head__crumb {
    font-size: 0.85rem;
    margin-bottom: 6px;
    color: var(--cl-secondary-text-color, #9aa0a6) !important;
}
.bug-team-head__crumb a {
    color: var(--cl-primary-color, #35c85f) !important;
    font-weight: 600;
    text-decoration: none;
}
.bug-team-head__crumb a:hover {
    text-decoration: underline;
}
.bug-team-head__sep {
    margin: 0 6px;
    opacity: 0.5;
    color: var(--cl-secondary-text-color, #9aa0a6);
}
.bug-team-head__title {
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0 0 6px 0;
    color: var(--cl-primary-text-color, #e8eaed) !important;
    letter-spacing: -0.02em;
}
.bug-team-head__lead {
    color: var(--cl-secondary-text-color, #b4bcc6) !important;
    font-size: 0.9rem;
    margin: 0 0 18px 0;
    line-height: 1.45;
    max-width: 52ch;
}
.bug-team-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--cl-primary-border-color);
    padding-bottom: 10px;
}
.bug-team-tab {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 10px;
    font-size: 0.86rem;
    font-weight: 600;
    text-decoration: none !important;
    color: var(--cl-secondary-text-color, #b4bcc6) !important;
    border: 1px solid var(--cl-primary-border-color, rgba(255, 255, 255, 0.1));
    background: var(--cl-secondary-bg-color, rgba(255, 255, 255, 0.03));
    box-sizing: border-box;
    line-height: 1.2;
}
.bug-team-tab.is-active {
    color: #fff !important;
    background: var(--cl-primary-color, #35c85f);
    border-color: var(--cl-primary-color, #35c85f);
}
.bug-team-tab:hover:not(.is-active) {
    border-color: var(--cl-primary-border-color);
    color: var(--cl-primary-text-color) !important;
}
.bug-team-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.bug-team-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "id title date" "id meta date";
    gap: 2px 12px;
    padding: 12px 14px;
    border: 1px solid var(--cl-primary-border-color);
    border-radius: 10px;
    text-decoration: none;
    color: inherit !important;
    align-items: start;
    transition: background 0.15s ease;
}
.bug-team-row:hover {
    background: var(--cl-secondary-bg-color, rgba(255, 255, 255, 0.03));
}
.bug-team-row__id {
    grid-area: id;
    font-weight: 800;
    color: var(--cl-primary-color);
    font-size: 0.9rem;
    white-space: nowrap;
}
.bug-team-row__title {
    grid-area: title;
    font-weight: 600;
    line-height: 1.3;
    min-width: 0;
    color: var(--cl-primary-text-color, #e8eaed) !important;
}
.bug-team-row__meta {
    grid-area: meta;
    font-size: 0.8rem;
    color: var(--cl-secondary-text-color);
}
.bug-team-row__date {
    grid-area: date;
    font-size: 0.78rem;
    color: var(--cl-secondary-text-color);
    white-space: nowrap;
    text-align: right;
}
.bug-team-empty {
    color: var(--cl-secondary-text-color);
    padding: 20px 0;
}

/* --- Fil commentaire équipe + pastille statut --- */
.bugv-cmt--staff {
    border-left: 2px solid var(--cl-primary-color, #35c85f);
    padding-left: 10px;
    margin-left: 2px;
}
.bugv-cmt__who--staff {
    color: var(--cl-primary-color) !important;
    font-weight: 700;
}
.bugv-cmt__stline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 2px;
}
.bugv-st-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #888;
    flex-shrink: 0;
}
.bugv-st-dot--new { background: #5dade2; }
.bugv-st-dot--triaged { background: #e67e22; }
.bugv-st-dot--retesting { background: #9b59b6; }
.bugv-st-dot--needs_more_info { background: #f1c40f; }
.bugv-st-dot--pending_review { background: #1abc9c; }
.bugv-st-dot--resolved { background: #27ae60; }
.bugv-st-dot--duplicated { background: #7f8c8d; }
.bugv-st-dot--informative { background: #3498db; }
.bugv-cmt__stname {
    font-weight: 600;
    color: var(--cl-primary-text-color);
}
.bugv-dl__newflag {
    color: #e67e22;
    font-weight: 600;
}
.bugv-reply--staff {
    margin-top: 20px;
    padding: 20px 18px 20px;
    border: 1px solid var(--cl-primary-border-color, rgba(255, 255, 255, 0.1));
    border-radius: 14px;
    background: var(--cl-secondary-bg-color, rgba(255, 255, 255, 0.02));
}
.bugv-reply__h {
    font-size: 1.02rem;
    font-weight: 800;
    margin: 0 0 16px 0;
    color: var(--cl-primary-text-color, #e8eaed) !important;
    letter-spacing: -0.02em;
}
.bugv-staff__row {
    margin-bottom: 14px;
}
.bugv-staff__row label {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 700;
    color: var(--cl-secondary-text-color, #9aa0a6) !important;
    margin-bottom: 6px;
}

/* Formulaire : champs (texte, menus, médias) sur toute la largeur de la colonne */
.bugv-reply--user .bugv-reply__form,
.bugv-reply--staff .bugv-reply__form {
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}

/* Champs : couleurs du thème (clair / sombre via --cl-*) */
.bugv-reply--staff select.form-control:not(.bprog-select__native),
.bugv-reply--staff .form-control:not(select.bprog-select__native),
.bugv-reply--user .form-control,
.bugv-reply--user textarea.form-control {
    color: var(--cl-primary-text-color) !important;
    background-color: var(--cl-input-bg-color, var(--cl-input-bg, #f0f2f5)) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
    border-radius: 6px;
    padding: 10px 14px;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.bugv-reply--user textarea.form-control::placeholder,
.bugv-reply--staff textarea.form-control::placeholder {
    color: var(--cl-input-placeholder-color, rgba(91, 112, 131, 0.6));
    opacity: 1;
}
body[data-bg="default"] .bugv-reply--user .form-control,
body[data-bg="default"] .bugv-reply--staff .form-control,
body[data-bg="default"] .bugv-reply--user input[type="file"],
body[data-bg="default"] .bugv-reply--staff input[type="file"] {
    color-scheme: light;
}
body[data-bg="dark"] .bugv-reply--user .form-control,
body[data-bg="dark"] .bugv-reply--staff .form-control,
body[data-bg="darker"] .bugv-reply--user .form-control,
body[data-bg="darker"] .bugv-reply--staff .form-control,
body[data-bg="dark"] .bugv-reply--user input[type="file"],
body[data-bg="darker"] .bugv-reply--user input[type="file"],
body[data-bg="dark"] .bugv-reply--staff input[type="file"],
body[data-bg="darker"] .bugv-reply--staff input[type="file"] {
    color-scheme: dark;
}
.bugv-reply--staff select.form-control:not(.bprog-select__native) {
    min-height: 2.6rem;
    line-height: 1.3;
    appearance: auto;
    cursor: pointer;
}
.bugv-staff__row .bprog-select__btn {
    color: var(--cl-primary-text-color) !important;
    background-color: var(--cl-input-bg-color, var(--cl-secondary-bg-color)) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
    border-radius: 6px !important;
    padding: 10px 2rem 10px 14px;
    min-height: 2.6rem;
    font-size: 0.9rem;
}
.bugv-staff__row .bprog-select__menu {
    background: var(--cl-primary-bg-color) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
    color: var(--cl-primary-text-color) !important;
}
.bugv-staff__row .bprog-select__opt:hover,
.bugv-staff__row .bprog-select__opt--sel {
    background: var(--cl-secondary-bg-color) !important;
}
.bugv-reply--staff select.form-control:not(.bprog-select__native):focus,
.bugv-reply--staff textarea.form-control:focus,
.bugv-reply--user textarea.form-control:focus {
    border-color: var(--cl-primary-color, #35c85f) !important;
    outline: none;
    box-shadow: 0 0 0 1px var(--cl-primary-color, #35c85f);
}
.bugv-reply--staff select.form-control option,
.bugv-reply--user .form-control option {
    background-color: var(--cl-input-bg-color, #f0f2f5);
    color: var(--cl-primary-text-color);
}
.bugv-reply--staff textarea.form-control,
.bugv-reply--user textarea.form-control {
    min-height: 88px;
    resize: vertical;
    margin-bottom: 10px;
}
.bugv-reply--user .bugv-reply__files,
.bugv-reply--staff .bugv-reply__files {
    display: block;
    width: 100%;
    margin-top: 4px;
    padding: 12px 14px;
    min-height: 3.25rem;
    border: 1px dashed var(--cl-primary-border-color);
    border-radius: 8px;
    background: var(--cl-secondary-bg-color, rgba(0, 0, 0, 0.04));
    box-sizing: border-box;
    max-width: 100%;
}
.bugv-reply--user .bugv-reply__files input[type="file"],
.bugv-reply--staff .bugv-reply__files input[type="file"] {
    display: block;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.bugv-reply--user .bugv-reply__filelabel,
.bugv-reply--staff .bugv-reply__filelabel {
    color: var(--cl-secondary-text-color) !important;
    display: block;
    margin-bottom: 8px;
    font-size: 0.86rem;
}
.bugv-reply--user input[type="file"].bugv-reply__file,
.bugv-reply--staff input[type="file"].bugv-reply__file,
.bugv-reply--user .bugv-reply__file,
.bugv-reply--staff .bugv-reply__file {
    max-width: 100%;
    font-size: 0.78rem;
    color: var(--cl-secondary-text-color) !important;
}
.bugv-reply--user input[type="file"]::file-selector-button,
.bugv-reply--staff input[type="file"]::file-selector-button {
    -webkit-appearance: none;
    appearance: none;
    margin-right: 12px;
    min-width: 8.5rem;
    padding: 0.4rem 1.1rem;
    border-radius: 7px;
    border: 1px solid var(--cl-primary-border-color);
    background: var(--cl-input-bg-color, #e4e6eb);
    color: var(--cl-primary-text-color) !important;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.3;
    cursor: pointer;
    vertical-align: middle;
}
.bugv-reply--user input[type="file"]::file-selector-button:hover,
.bugv-reply--staff input[type="file"]::file-selector-button:hover {
    border-color: var(--cl-primary-color, #35c85f);
    background: var(--cl-secondary-bg-color, var(--cl-input-bg-color));
}
body[data-bg="dark"] .bugv-reply--user input[type="file"]::file-selector-button,
body[data-bg="dark"] .bugv-reply--staff input[type="file"]::file-selector-button,
body[data-bg="darker"] .bugv-reply--user input[type="file"]::file-selector-button,
body[data-bg="darker"] .bugv-reply--staff input[type="file"]::file-selector-button {
    background: var(--cl-input-bg-color, #253341);
    color: var(--cl-primary-text-color) !important;
}
.bugv-reply--user .bugv-reply__actions,
.bugv-reply--staff .bugv-reply__actions {
    margin-top: 12px;
    padding-top: 2px;
}
/* Boutons d’action « Envoyer » / « Publier » : pastilles, comme avant (pas toute la largeur) */
.bugv-reply--user .btn.btn-custom.main-inline,
.bugv-reply--staff .btn.btn-custom.main-inline,
.bugv-page .bugv-reply--user .btn.bugv-btn-primary,
.bugv-page .bugv-reply--staff .btn.bugv-btn-primary,
body.cl-app-bug_report_view button.bugv-btn-primary.btn,
body.cl-app-bug_report_view .bugv-reply--user button#bugv_send_comment,
body.cl-app-bug_report_view .bugv-reply--staff button#bugv_staff_send {
    border-radius: 6px !important;
    min-width: 9.5rem !important;
    max-width: 100% !important;
    width: auto !important;
    display: inline-block !important;
    box-sizing: border-box !important;
    padding: 0.42rem 1.5rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    height: auto !important;
}
body.cl-app-bug_report .bug-prog-topbar .timeline-header__botline,
body.cl-app-bug_report_team .bug-prog-topbar .timeline-header__botline {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    width: 100% !important;
    padding: 0 12px 0 12px !important;
    box-sizing: border-box;
}
body.cl-app-bug_report_team .bug-prog-topbar .timeline-header__botline .cp {
    position: static !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    text-align: center !important;
}
body.cl-app-bug_report_team .bug-prog-topbar .timeline-header__botline .rp {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* Activity: feed of resolved reports (aligns with bug detail severity / segbar palette) */
.bprog-activity__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 4px;
}
.bprog-activity__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--cl-primary-text-color, #e8eaed) !important;
}
.bprog-activity__filters {
    display: flex;
    flex-wrap: wrap;
    /* Aligne Apply sur le bas des menus (même ligne que la box), pas sur le bloc label+texte */
    align-items: flex-end;
    gap: 10px 16px;
}
.bprog-activity__flabel {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: var(--cl-secondary-text-color, #9aa0a6) !important;
    margin: 0;
}
/* Custom select (Kiwisocial variables — light + dark) */
.bprog-select {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
}
.bprog-select__native {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    opacity: 0.01;
    pointer-events: none;
}
.bprog-select__btn {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 2.15rem;
    box-sizing: border-box;
    margin: 0;
    text-align: left;
    font-size: 0.86rem;
    line-height: 1.25;
    font-weight: 500;
    color: var(--cl-primary-text-color) !important;
    background: var(--cl-primary-bg-color) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
    border-radius: 6px;
    padding: 7px 1.75rem 7px 11px;
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.15s, background 0.12s;
}
.bprog-select__btn:hover {
    border-color: var(--cl-primary-border-color) !important;
    background: var(--cl-secondary-bg-color) !important;
}
.bprog-select__btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(53, 200, 95, 0.25);
    border-color: var(--cl-primary-color, #35c85f) !important;
}
.bprog-select__value {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bprog-select__caret {
    position: absolute;
    right: 0.6rem;
    top: 50%;
    margin-top: -0.2rem;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid var(--cl-secondary-text-color);
    pointer-events: none;
    opacity: 0.85;
}
.bprog-select.is-open .bprog-select__btn {
    border-color: var(--cl-primary-color, #35c85f) !important;
    box-shadow: 0 0 0 2px rgba(53, 200, 95, 0.2);
    background: var(--cl-secondary-bg-color) !important;
}
.bprog-select__menu {
    list-style: none;
    margin: 0;
    padding: 2px 0;
    position: absolute;
    z-index: 200;
    left: 0;
    right: 0;
    top: calc(100% + 1px);
    max-height: 15rem;
    overflow-y: auto;
    background: var(--cl-primary-bg-color) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
    border-radius: 6px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
    color: var(--cl-primary-text-color) !important;
    scrollbar-color: rgba(110, 118, 132, 0.75) rgba(20, 22, 28, 0.98);
    scrollbar-width: thin;
}
body[data-bg="dark"] .bprog-select__menu,
body.cl-dark-theme .bprog-select__menu {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}
.bprog-select__opt {
    display: block;
    padding: 0.35rem 0.65rem;
    font-size: 0.86rem;
    line-height: 1.35;
    cursor: pointer;
    color: var(--cl-primary-text-color) !important;
    margin: 0;
    border: 0;
    background: transparent;
    border-radius: 4px;
}
.bprog-select__opt:hover {
    background: var(--cl-secondary-bg-color) !important;
}
.bprog-select__opt--sel {
    font-weight: 600;
    color: var(--cl-primary-color) !important;
    background: transparent !important;
}
.bprog-select__opt--sel:hover {
    background: var(--cl-secondary-bg-color) !important;
}
.bprog-select__opt--dis {
    opacity: 0.45;
    pointer-events: none;
}
.bprog-select--compact .bprog-select__btn {
    min-height: 2.1rem;
    font-size: 0.86rem;
    padding: 6px 1.75rem 6px 11px;
}
.bprog-activity__filters .bprog-select--compact {
    min-width: 9rem;
    max-width: 14rem;
}
/* Activity: filters (light = theme; dark = elevated field) */
.bprog-activity__filters .bprog-select__btn {
    background: var(--cl-secondary-bg-color) !important;
    color: var(--cl-primary-text-color) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
}
.bprog-activity__filters .bprog-select__menu {
    background: var(--cl-primary-bg-color) !important;
}
body[data-bg="dark"] .bprog-activity__filters .bprog-select__btn,
body[data-bg="darker"] .bprog-activity__filters .bprog-select__btn,
body.cl-app-bug_program.cl-dark-theme .bprog-activity__filters .bprog-select__btn,
body.cl-app-bug_report_view.cl-dark-theme .bprog-activity__filters .bprog-select__btn {
    background: var(--cl-input-bg, #1a1d23) !important;
    color: var(--cl-primary-text-color, #e8eaed) !important;
    border: 1px solid var(--cl-primary-border-color) !important;
}
.bprog-activity__fbtn {
    box-sizing: border-box;
    min-height: 2.1rem;
    padding: 6px 1.15rem !important;
    font-size: 0.86rem !important;
    line-height: 1.25;
    border-radius: 6px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    align-self: flex-end;
}
.bprog-activity__list {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    border-top: 1px solid var(--cl-primary-border-color, rgba(255, 255, 255, 0.1));
}
.bprog-activity__item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--cl-primary-border-color, rgba(255, 255, 255, 0.08));
}
.bprog-activity__item-main {
    flex: 1 1 220px;
    min-width: 0;
}
.bprog-activity__brand {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.bprog-activity__logo {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    object-fit: cover;
    background: rgba(0, 0, 0, 0.2);
    flex-shrink: 0;
}
.bprog-activity__brandname {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--cl-primary-text-color, #e8eaed) !important;
}
.bprog-activity__text {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--cl-primary-text-color, #e8eaed) !important;
}
.bprog-activity__user {
    font-weight: 600;
    color: var(--cl-primary-color, #3b8cff) !important;
    text-decoration: none !important;
    border-bottom: none;
    padding-bottom: 0;
}
.bprog-activity__user:hover {
    text-decoration: none !important;
    filter: brightness(1.1);
}
.bprog-activity__when {
    color: var(--cl-secondary-text-color, #9aa0a6) !important;
    font-weight: 500;
}
.bprog-activity__sev {
    flex: 0 0 auto;
    align-self: center;
    min-width: 3.5rem;
    text-align: right;
}
.bprog-activity__sev-pill {
    display: inline-block;
    padding: 0.3rem 0.75rem;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 700;
    border: 1px solid transparent;
}
/* Mirror bug list / detail: low = green, med = yellow bar, high/crit = orange / red */
.bprog-activity__sev-pill--na {
    background: rgba(142, 142, 147, 0.2);
    color: #c7c7cc;
    border-color: rgba(142, 142, 147, 0.45);
}
.bprog-activity__sev-pill--low {
    background: rgba(53, 200, 95, 0.12);
    color: #4be38a;
    border-color: rgba(53, 200, 95, 0.45);
    box-shadow: 0 0 0 1px rgba(53, 200, 95, 0.15) inset;
}
.bprog-activity__sev-pill--medium {
    background: rgba(240, 193, 75, 0.14);
    color: #f0c14b;
    border-color: rgba(240, 193, 75, 0.45);
    box-shadow: 0 0 0 1px rgba(240, 193, 75, 0.2) inset;
}
.bprog-activity__sev-pill--high {
    background: rgba(230, 126, 34, 0.16);
    color: #f0a45c;
    border-color: rgba(230, 126, 34, 0.5);
    box-shadow: 0 0 0 1px rgba(230, 126, 34, 0.2) inset;
}
.bprog-activity__sev-pill--critical {
    background: rgba(231, 76, 60, 0.16);
    color: #ff7b6b;
    border-color: rgba(231, 76, 60, 0.5);
    box-shadow: 0 0 0 1px rgba(231, 76, 60, 0.2) inset;
}
.bprog-activity__empty {
    margin: 0.75rem 0 0;
}

/* Leaderboard */
.bprog-lb__intro {
    font-size: 0.88rem;
    line-height: 1.45;
    max-width: 62ch;
    margin-bottom: 1rem;
}
.bprog-lb__empty {
    margin: 0.75rem 0 0;
}
.bprog-lb__list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--cl-primary-border-color, rgba(255, 255, 255, 0.1));
}
.bprog-lb__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--cl-primary-border-color, rgba(255, 255, 255, 0.08));
}
.bprog-lb__rank {
    flex: 0 0 2.5rem;
    font-size: 0.95rem;
    font-weight: 800;
    color: var(--cl-secondary-text-color, #9aa0a6) !important;
    font-variant-numeric: tabular-nums;
}
.bprog-lb__user {
    flex: 1 1 200px;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    text-decoration: none !important;
    color: inherit !important;
}
.bprog-lb__user:hover,
.bprog-lb__user:hover .bprog-lb__name,
.bprog-lb__user:hover .bprog-lb__at {
    text-decoration: none !important;
}
.bprog-lb__avatar {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
    flex-shrink: 0;
    background: rgba(0, 0, 0, 0.2);
}
.bprog-lb__avatar--ph {
    display: inline-block;
    background: var(--cl-primary-border-color, #444);
}
.bprog-lb__id {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.bprog-lb__name {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--cl-primary-text-color, #e8eaed) !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bprog-lb__at {
    font-size: 0.82rem;
    color: var(--cl-primary-color, #3b8cff) !important;
    font-weight: 600;
}
.bprog-lb__pts {
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--cl-secondary-text-color, #9aa0a6) !important;
}
.bprog-lb__ptsval {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--cl-primary-text-color, #e8eaed) !important;
    margin-right: 2px;
}

/* === Programme bug : responsive (téléphone & petite tablette) === */
body.cl-app-bug_program .timeline-container.bug-prog-page,
body.cl-app-bug_report .timeline-container.bug-prog-page,
body.cl-app-bug_report_view .timeline-container.bug-prog-page,
body.cl-app-bug_report_team .timeline-container.bug-prog-page {
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    overflow-x: clip;
}
@media (max-width: 900px) {
    .bug-prog-wrap {
        padding-left: max(12px, env(safe-area-inset-left, 0px));
        padding-right: max(12px, env(safe-area-inset-right, 0px));
        padding-bottom: 24px;
    }
    .bprog-pagehead {
        padding: 12px 0 14px;
    }
    .bprog-pagehead h1 {
        font-size: 1.2rem;
    }
    .bprog-cs {
        grid-template-columns: 1fr !important;
        grid-template-areas: "rail" "main" "fiche" !important;
        gap: 14px 10px !important;
        margin-top: 10px !important;
    }
    .bprog-rail {
        position: static;
        max-height: none;
        overflow: visible;
    }
    .bprog-fiche {
        position: static;
        max-height: none;
        overflow: visible;
    }
    .bprog-settings-content {
        padding: 16px 12px 20px;
        min-height: 0;
    }
    .bprog-tab-item {
        padding: 9px 10px 9px 8px;
        font-size: 0.86rem;
    }
    .bug-areas-grid {
        grid-template-columns: 1fr;
    }
    .bprog-activity__head {
        flex-direction: column;
        align-items: flex-start;
    }
    .bprog-activity__title {
        font-size: 1.1rem;
    }
    .bprog-activity__filters {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        gap: 10px;
    }
    .bprog-activity__filters .bprog-select--compact {
        min-width: 0;
        max-width: 100%;
    }
    .bug-prog-hero {
        padding: 14px 12px 16px;
    }
    .bug-prog-actions {
        width: 100%;
    }
    .bug-prog-actions a.btn {
        display: inline-flex;
        flex: 1 1 auto;
        align-items: center;
        justify-content: center;
    }
    .bug-team-wrap {
        padding: 8px 12px 28px;
    }
    .bug-team-head__title {
        font-size: 1.2rem;
    }
    /* « Mes signalements » : ID + date sur une ligne, titre pleine largeur */
    .bprog-mine-list__a {
        grid-template-columns: 1fr auto;
        grid-template-areas: "id date" "title title" "meta meta" !important;
        padding: 12px 10px 12px 12px;
    }
    .bprog-mine-list__title {
        padding-right: 0;
    }
}
@media (max-width: 600px) {
    .bugv-wrap {
        padding: 0 max(10px, env(safe-area-inset-right, 0px)) 24px max(10px, env(safe-area-inset-left, 0px));
    }
    .bugv-dhead {
        padding: 14px 12px 0;
    }
    .bugv-dhead__title {
        font-size: 1.15rem;
    }
    .bugv-dhead__subnav {
        flex-wrap: wrap;
    }
    .bugv-main {
        border-radius: 8px;
    }
    .bugv-rail {
        border-radius: 8px;
    }
    .bugv-rail__header {
        font-size: 0.75rem;
    }
    .bugv-side {
        border-radius: 8px;
        padding: 14px 12px 16px;
    }
    .bugv-tl-top {
        flex-wrap: wrap;
    }
    .bugv-reply__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .bugv-reply__actions .btn {
        width: 100%;
    }
    .bugv-pagehead__crumb {
        font-size: 0.82rem;
        line-height: 1.4;
    }
    .bug-team-row {
        grid-template-columns: 1fr;
        grid-template-areas: "id" "title" "meta" "date";
        gap: 6px 0;
    }
    .bug-team-row__id {
        grid-area: id;
    }
    .bug-team-row__title {
        grid-area: title;
    }
    .bug-team-row__meta {
        grid-area: meta;
    }
    .bug-team-row__date {
        grid-area: date;
        text-align: left;
        white-space: normal;
    }
    body.cl-app-bug_report .bug-form__actions {
        flex-direction: column;
        align-items: stretch;
    }
    body.cl-app-bug_report .bug-form__actions .btn,
    body.cl-app-bug_report .bug-form__actions a.btn {
        width: 100%;
        text-align: center;
    }
    .bprog-lb__item {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px 0;
    }
    .bprog-lb__pts {
        margin-left: 0;
    }
}
/* Bug programme — même arrondi (6px) sur les .btn / CTA hérités du thème */
body.cl-app-bug_program .btn.btn-custom,
body.cl-app-bug_report .btn.btn-custom,
body.cl-app-bug_report_view .btn.btn-custom,
body.cl-app-bug_report_team .btn.btn-custom {
    border-radius: 6px !important;
}

/* Scrollbars (Firefox + WebKit) — cohérent avec le thème sombre */
body.cl-app-bug_program,
body.cl-app-bug_report,
body.cl-app-bug_report_view,
body.cl-app-bug_report_team {
    scrollbar-color: rgba(110, 118, 132, 0.75) rgba(24, 26, 32, 0.95);
    scrollbar-width: thin;
}
body.cl-app-bug_program::-webkit-scrollbar,
body.cl-app-bug_report::-webkit-scrollbar,
body.cl-app-bug_report_view::-webkit-scrollbar,
body.cl-app-bug_report_team::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
body.cl-app-bug_program::-webkit-scrollbar-track,
body.cl-app-bug_report::-webkit-scrollbar-track,
body.cl-app-bug_report_view::-webkit-scrollbar-track,
body.cl-app-bug_report_team::-webkit-scrollbar-track {
    background: rgba(24, 26, 32, 0.95);
}
body.cl-app-bug_program::-webkit-scrollbar-thumb,
body.cl-app-bug_report::-webkit-scrollbar-thumb,
body.cl-app-bug_report_view::-webkit-scrollbar-thumb,
body.cl-app-bug_report_team::-webkit-scrollbar-thumb {
    background: rgba(95, 102, 118, 0.85);
    border-radius: 5px;
    border: 2px solid rgba(24, 26, 32, 0.95);
}
body.cl-app-bug_program::-webkit-scrollbar-thumb:hover,
body.cl-app-bug_report::-webkit-scrollbar-thumb:hover,
body.cl-app-bug_report_view::-webkit-scrollbar-thumb:hover,
body.cl-app-bug_report_team::-webkit-scrollbar-thumb:hover {
    background: rgba(120, 128, 145, 0.95);
}
.bprog-select__menu::-webkit-scrollbar {
    width: 8px;
}
.bprog-select__menu::-webkit-scrollbar-track {
    background: rgba(20, 22, 28, 0.98);
    border-radius: 4px;
}
.bprog-select__menu::-webkit-scrollbar-thumb {
    background: rgba(90, 98, 112, 0.9);
    border-radius: 4px;
    border: 1px solid rgba(20, 22, 28, 0.98);
}
.bprog-select__menu::-webkit-scrollbar-thumb:hover {
    background: rgba(115, 122, 138, 0.95);
}

/* Rails latéraux / panneaux (scroll interne) */
body.cl-app-bug_program .bprog-rail,
body.cl-app-bug_program .bprog-fiche,
body.cl-app-bug_report_view .bprog-fiche {
    scrollbar-color: rgba(110, 118, 132, 0.75) rgba(20, 22, 28, 0.92);
    scrollbar-width: thin;
}
body.cl-app-bug_program .bprog-rail::-webkit-scrollbar,
body.cl-app-bug_program .bprog-fiche::-webkit-scrollbar,
body.cl-app-bug_report_view .bprog-fiche::-webkit-scrollbar {
    width: 8px;
}
body.cl-app-bug_program .bprog-rail::-webkit-scrollbar-track,
body.cl-app-bug_program .bprog-fiche::-webkit-scrollbar-track,
body.cl-app-bug_report_view .bprog-fiche::-webkit-scrollbar-track {
    background: rgba(20, 22, 28, 0.92);
    border-radius: 4px;
}
body.cl-app-bug_program .bprog-rail::-webkit-scrollbar-thumb,
body.cl-app-bug_program .bprog-fiche::-webkit-scrollbar-thumb,
body.cl-app-bug_report_view .bprog-fiche::-webkit-scrollbar-thumb {
    background: rgba(90, 98, 112, 0.88);
    border-radius: 4px;
    border: 1px solid rgba(20, 22, 28, 0.92);
}
body.cl-app-bug_program .bprog-rail::-webkit-scrollbar-thumb:hover,
body.cl-app-bug_program .bprog-fiche::-webkit-scrollbar-thumb:hover,
body.cl-app-bug_report_view .bprog-fiche::-webkit-scrollbar-thumb:hover {
    background: rgba(115, 122, 138, 0.95);
}
