/* =============================================================================
   Référentiel Produits (refprod) — Feuille de style
   CSS natif, aucun framework. Variables préfixées --rp-*.
   ========================================================================== */

:root {
    /* Couleurs */
    --rp-fond:            #f5f6f8;
    --rp-surface:         #ffffff;
    --rp-bordure:         #e2e5ea;
    --rp-texte:           #1c2129;
    --rp-texte-doux:      #5d6673;
    --rp-primaire:        #1a5fb4;
    --rp-primaire-sombre: #14498a;
    --rp-succes:          #1a7a5a;
    --rp-avertissement:   #a86a12;
    --rp-erreur:          #b3261e;
    --rp-neutre:          #6b7280;

    /* Rythme */
    --rp-espace-xs: 0.25rem;
    --rp-espace-s:  0.5rem;
    --rp-espace-m:  1rem;
    --rp-espace-l:  1.5rem;
    --rp-espace-xl: 2.5rem;

    /* Formes */
    --rp-rayon:   8px;
    --rp-rayon-s: 5px;
    --rp-ombre:   0 1px 2px rgba(18, 24, 33, .06), 0 2px 8px rgba(18, 24, 33, .05);

    /* Typographie */
    --rp-police: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --rp-police-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

    --rp-largeur-max: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--rp-police);
    font-size: 15px;
    line-height: 1.55;
    color: var(--rp-texte);
    background: var(--rp-fond);
    -webkit-font-smoothing: antialiased;
}

a { color: var(--rp-primaire); text-decoration: none; }
a:hover { text-decoration: underline; }

code { font-family: var(--rp-police-mono); font-size: .9em; }

.rp-conteneur {
    width: 100%;
    max-width: var(--rp-largeur-max);
    margin-inline: auto;
    padding-inline: var(--rp-espace-m);
}

/* --- En-tête & navigation ------------------------------------------------ */
.rp-entete {
    background: var(--rp-surface);
    border-bottom: 1px solid var(--rp-bordure);
    position: sticky;
    top: 0;
    z-index: 10;
}

.rp-entete__interieur {
    display: flex;
    align-items: center;
    gap: var(--rp-espace-l);
    min-height: 60px;
    flex-wrap: wrap;
}

.rp-marque { display: flex; align-items: center; gap: var(--rp-espace-s); color: inherit; font-weight: 600; }
.rp-marque:hover { text-decoration: none; }

.rp-marque__pastille {
    display: inline-grid;
    place-items: center;
    width: 30px; height: 30px;
    border-radius: var(--rp-rayon-s);
    background: var(--rp-primaire);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
}
.rp-marque__pastille--grande { width: 48px; height: 48px; font-size: 18px; }

.rp-nav { display: flex; gap: var(--rp-espace-xs); flex-wrap: wrap; margin-right: auto; }

.rp-nav__lien {
    padding: var(--rp-espace-xs) var(--rp-espace-s);
    border-radius: var(--rp-rayon-s);
    color: var(--rp-texte-doux);
    font-weight: 500;
}
.rp-nav__lien:hover { background: var(--rp-fond); color: var(--rp-texte); text-decoration: none; }
.rp-nav__lien--actif { background: #e8f0fb; color: var(--rp-primaire-sombre); }

.rp-compte { display: flex; align-items: center; gap: var(--rp-espace-s); }
.rp-compte__nom { font-size: 13px; color: var(--rp-texte-doux); display: flex; align-items: center; gap: var(--rp-espace-xs); }
.rp-compte__form { margin: 0; }

/* --- Structure ------------------------------------------------------------ */
.rp-principal { padding-block: var(--rp-espace-l) var(--rp-espace-xl); }

.rp-page-entete {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--rp-espace-m);
    flex-wrap: wrap;
    margin-bottom: var(--rp-espace-l);
}

.rp-titre { font-size: 24px; margin: 0; }
.rp-sous-titre { font-size: 16px; margin: 0 0 var(--rp-espace-m); }
.rp-aide { font-weight: 400; font-size: 13px; color: var(--rp-texte-doux); }

.rp-pied {
    border-top: 1px solid var(--rp-bordure);
    padding-block: var(--rp-espace-m);
    font-size: 13px;
    color: var(--rp-texte-doux);
}
.rp-pied .rp-conteneur { display: flex; gap: var(--rp-espace-s); align-items: center; }

/* --- Cartes & grilles ----------------------------------------------------- */
.rp-carte {
    background: var(--rp-surface);
    border: 1px solid var(--rp-bordure);
    border-radius: var(--rp-rayon);
    box-shadow: var(--rp-ombre);
    padding: var(--rp-espace-l);
    margin-bottom: var(--rp-espace-l);
}

.rp-grille { display: grid; gap: var(--rp-espace-l); margin-bottom: 0; }
.rp-grille--compteurs { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.rp-grille--deux { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }

.rp-compteur { text-align: left; }
.rp-compteur__valeur { font-size: 30px; font-weight: 700; margin: 0; line-height: 1.1; }
.rp-compteur__libelle { margin: var(--rp-espace-xs) 0 0; color: var(--rp-texte-doux); font-size: 13px; }

/* --- Tableaux ------------------------------------------------------------- */
.rp-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rp-table th, .rp-table td { padding: var(--rp-espace-s); border-bottom: 1px solid var(--rp-bordure); text-align: left; }
.rp-table th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--rp-texte-doux); font-weight: 600; }
.rp-table tbody tr:hover { background: var(--rp-fond); }
.rp-num { text-align: right; font-variant-numeric: tabular-nums; }
.rp-negatif { color: var(--rp-erreur); font-weight: 600; }
.rp-vide { color: var(--rp-texte-doux); font-size: 14px; margin: 0; }

/* Un tableau ne doit jamais forcer le scroll horizontal de la page. */
.rp-table-defilante { overflow-x: auto; }

/* --- Étiquettes & pastilles ----------------------------------------------- */
.rp-etiquette {
    display: inline-block;
    padding: 1px var(--rp-espace-s);
    border-radius: 999px;
    background: #eef0f4;
    color: var(--rp-texte-doux);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.rp-etiquette--succes { background: #e3f3ec; color: var(--rp-succes); }
.rp-etiquette--avertissement { background: #fbf0dc; color: var(--rp-avertissement); }
.rp-etiquette--neutre { background: #eef0f4; color: var(--rp-neutre); }

.rp-pastilles { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--rp-espace-s); }
.rp-pastille {
    display: inline-flex;
    align-items: center;
    gap: var(--rp-espace-xs);
    padding: var(--rp-espace-xs) var(--rp-espace-s);
    border-radius: 999px;
    border: 1px solid var(--rp-pastille-couleur, var(--rp-bordure));
    color: var(--rp-pastille-couleur, var(--rp-texte));
    font-size: 13px;
}
.rp-pastille__nb { font-weight: 700; }

/* --- Formulaires ---------------------------------------------------------- */
.rp-formulaire { display: flex; flex-direction: column; gap: var(--rp-espace-m); }
.rp-champ { display: flex; flex-direction: column; gap: var(--rp-espace-xs); }
.rp-label { font-size: 13px; font-weight: 600; color: var(--rp-texte-doux); }

.rp-input, .rp-select, .rp-textarea {
    width: 100%;
    padding: 9px 11px;
    border: 1px solid var(--rp-bordure);
    border-radius: var(--rp-rayon-s);
    font: inherit;
    color: inherit;
    background: var(--rp-surface);
}
.rp-input:focus, .rp-select:focus, .rp-textarea:focus {
    outline: 2px solid var(--rp-primaire);
    outline-offset: 1px;
    border-color: var(--rp-primaire);
}

/* --- Boutons -------------------------------------------------------------- */
.rp-bouton {
    display: inline-block;
    padding: 9px 16px;
    border: 1px solid var(--rp-bordure);
    border-radius: var(--rp-rayon-s);
    background: var(--rp-surface);
    color: var(--rp-texte);
    font: inherit;
    font-weight: 500;
    cursor: pointer;
    text-align: center;
}
.rp-bouton:hover { background: var(--rp-fond); text-decoration: none; }
.rp-bouton--principal { background: var(--rp-primaire); border-color: var(--rp-primaire); color: #fff; }
.rp-bouton--principal:hover { background: var(--rp-primaire-sombre); border-color: var(--rp-primaire-sombre); }
.rp-bouton--discret { padding: 5px 10px; font-size: 13px; color: var(--rp-texte-doux); }
.rp-bouton--bloc { width: 100%; }

/* --- Messages flash ------------------------------------------------------- */
.rp-messages { display: flex; flex-direction: column; gap: var(--rp-espace-s); margin-bottom: var(--rp-espace-l); }
.rp-message {
    padding: var(--rp-espace-s) var(--rp-espace-m);
    border-radius: var(--rp-rayon-s);
    border-left: 3px solid var(--rp-neutre);
    background: var(--rp-surface);
    font-size: 14px;
}
.rp-message--succes { border-left-color: var(--rp-succes); background: #f0f9f5; }
.rp-message--erreur { border-left-color: var(--rp-erreur); background: #fdf2f1; }
.rp-message--info   { border-left-color: var(--rp-primaire); background: #f0f5fc; }
.rp-message--avertissement { border-left-color: var(--rp-avertissement); background: #fdf7ec; }

/* --- Connexion ------------------------------------------------------------ */
.rp-body--nu { background: var(--rp-fond); }
.rp-connexion { min-height: 100vh; display: grid; place-items: center; padding-block: var(--rp-espace-xl); }
.rp-carte--connexion { width: min(400px, 100%); margin: 0; }
.rp-connexion__entete { text-align: center; margin-bottom: var(--rp-espace-l); display: grid; justify-items: center; gap: var(--rp-espace-s); }
.rp-connexion__titre { font-size: 20px; margin: 0; }
.rp-connexion__sous-titre { margin: 0; font-size: 13px; color: var(--rp-texte-doux); }
.rp-connexion__aide { margin: 0; text-align: center; font-size: 13px; color: var(--rp-texte-doux); }

/* --- Page d'erreur -------------------------------------------------------- */
.rp-erreur { text-align: center; padding-block: var(--rp-espace-xl); }
.rp-erreur__code { font-size: 56px; font-weight: 700; margin: 0; color: var(--rp-bordure); line-height: 1; }
.rp-erreur__titre { font-size: 22px; margin: var(--rp-espace-s) 0; }
.rp-erreur__message { color: var(--rp-texte-doux); margin-bottom: var(--rp-espace-l); }

/* --- Petits écrans -------------------------------------------------------- */
@media (max-width: 640px) {
    .rp-entete__interieur { padding-block: var(--rp-espace-s); }
    .rp-nav { order: 3; width: 100%; }
    .rp-titre { font-size: 20px; }
}

/* =============================================================================
   Écrans de référencement : filtres, fiches à onglets, lignes fournisseur
   ========================================================================== */

/* --- Filtres --------------------------------------------------------------- */
.rp-filtres { padding-block: var(--rp-espace-m); }
.rp-filtres__ligne {
    display: flex;
    flex-wrap: wrap;
    gap: var(--rp-espace-m);
    align-items: flex-end;
}
.rp-filtres .rp-champ { min-width: 150px; flex: 1 1 150px; }
.rp-champ--large { flex: 2 1 260px; }
.rp-champ--actions { flex: 0 0 auto; flex-direction: row; gap: var(--rp-espace-s); }

.rp-resultat { margin: 0 0 var(--rp-espace-m); font-size: 13px; color: var(--rp-texte-doux); }
.rp-secondaire { display: block; font-size: 12px; color: var(--rp-texte-doux); }
.rp-sous-info { margin: var(--rp-espace-xs) 0 0; font-size: 13px; color: var(--rp-texte-doux); display: flex; align-items: center; gap: var(--rp-espace-s); flex-wrap: wrap; }

.rp-table th a { color: inherit; }
.rp-table th a:hover { color: var(--rp-primaire); }

/* --- Champs ---------------------------------------------------------------- */
.rp-grille-champs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--rp-espace-m);
    margin-bottom: var(--rp-espace-m);
}
.rp-requis { color: var(--rp-erreur); }
.rp-input--couleur { height: 40px; padding: 3px; cursor: pointer; }

.rp-fieldset { border: 1px solid var(--rp-bordure); border-radius: var(--rp-rayon-s); padding: var(--rp-espace-m); margin: 0 0 var(--rp-espace-m); }
.rp-fieldset legend { padding-inline: var(--rp-espace-xs); }
.rp-fieldset-nu { border: 0; padding: 0; margin: 0; min-width: 0; }
.rp-fieldset-nu[disabled] .rp-input,
.rp-fieldset-nu[disabled] .rp-select,
.rp-fieldset-nu[disabled] .rp-textarea { background: var(--rp-fond); color: var(--rp-texte-doux); }

.rp-cases { display: flex; flex-wrap: wrap; gap: var(--rp-espace-s); }
.rp-case {
    display: inline-flex;
    align-items: center;
    gap: var(--rp-espace-xs);
    padding: var(--rp-espace-xs) var(--rp-espace-s);
    border: 1px solid var(--rp-pastille-couleur, var(--rp-bordure));
    border-radius: var(--rp-rayon-s);
    cursor: pointer;
    font-size: 14px;
}
.rp-case:hover { background: var(--rp-fond); }
.rp-case--seule { border: 0; padding-inline: 0; }
.rp-case--titre { border: 0; padding: 0; font-weight: 600; }
.rp-case input { margin: 0; }

.rp-liste-erreurs { margin: var(--rp-espace-xs) 0 0; padding-left: var(--rp-espace-m); }

/* --- Onglets --------------------------------------------------------------- */
.rp-onglets {
    display: flex;
    gap: var(--rp-espace-xs);
    flex-wrap: wrap;
    border-bottom: 1px solid var(--rp-bordure);
    margin-bottom: var(--rp-espace-l);
}
.rp-onglet {
    padding: var(--rp-espace-s) var(--rp-espace-m);
    border: 0;
    border-bottom: 2px solid transparent;
    background: none;
    font: inherit;
    font-weight: 500;
    color: var(--rp-texte-doux);
    cursor: pointer;
    margin-bottom: -1px;
}
.rp-onglet:hover { color: var(--rp-texte); }
.rp-onglet--actif { color: var(--rp-primaire-sombre); border-bottom-color: var(--rp-primaire); }

/* --- Sites & prix ---------------------------------------------------------- */
.rp-site-bloc {
    border: 1px solid var(--rp-bordure);
    border-radius: var(--rp-rayon-s);
    padding: var(--rp-espace-m);
    margin-bottom: var(--rp-espace-m);
}
.rp-site-bloc--actif { border-color: var(--rp-primaire); background: #fbfcfe; }
.rp-site-detail { margin-top: var(--rp-espace-m); padding-top: var(--rp-espace-m); border-top: 1px dashed var(--rp-bordure); }

/* --- Marge ----------------------------------------------------------------- */
.rp-marge {
    display: flex;
    gap: var(--rp-espace-xl);
    flex-wrap: wrap;
    padding: var(--rp-espace-m);
    background: var(--rp-fond);
    border-radius: var(--rp-rayon-s);
    margin-bottom: var(--rp-espace-s);
}
.rp-marge__bloc { display: flex; flex-direction: column; gap: var(--rp-espace-xs); }
.rp-marge__libelle { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--rp-texte-doux); font-weight: 600; }
.rp-marge__valeur { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }

.rp-lien-bouton {
    border: 0; background: none; padding: 0;
    font: inherit; font-size: 13px;
    color: var(--rp-primaire); cursor: pointer; text-decoration: underline;
}

/* --- Lignes fournisseur ---------------------------------------------------- */
.rp-ligne-fournisseur {
    border: 1px solid var(--rp-bordure);
    border-radius: var(--rp-rayon-s);
    padding: var(--rp-espace-m);
    margin-bottom: var(--rp-espace-m);
}
.rp-ligne-fournisseur__pied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--rp-espace-m);
    flex-wrap: wrap;
    padding-top: var(--rp-espace-s);
    border-top: 1px dashed var(--rp-bordure);
}

/* --- Actions & zones sensibles --------------------------------------------- */
.rp-actions-fiche {
    display: flex;
    gap: var(--rp-espace-s);
    align-items: center;
    flex-wrap: wrap;
    margin-top: var(--rp-espace-m);
}
.rp-actions-fiche form { margin: 0; }

.rp-zone-sensible { border-color: #f0d9d7; }
.rp-zone-sensible .rp-sous-titre { color: var(--rp-erreur); }
.rp-bouton--danger { color: var(--rp-erreur); border-color: #e8c4c1; }
.rp-bouton--danger:hover { background: var(--rp-erreur); border-color: var(--rp-erreur); color: #fff; }

@media (max-width: 640px) {
    .rp-filtres__ligne { flex-direction: column; align-items: stretch; }
    .rp-marge { gap: var(--rp-espace-l); }
}

/* =============================================================================
   Médias
   ========================================================================== */

.rp-bloc-envoi {
    padding: var(--rp-espace-m);
    border: 1px dashed var(--rp-bordure);
    border-radius: var(--rp-rayon-s);
    margin-bottom: var(--rp-espace-m);
}
.rp-bloc-envoi .rp-actions-fiche { margin-top: var(--rp-espace-s); }

.rp-medias { display: grid; gap: var(--rp-espace-m); }

.rp-media {
    display: grid;
    grid-template-columns: 110px 1fr auto;
    gap: var(--rp-espace-m);
    align-items: start;
    padding: var(--rp-espace-m);
    border: 1px solid var(--rp-bordure);
    border-radius: var(--rp-rayon-s);
}
.rp-media--principale { border-color: var(--rp-succes); background: #f7fcfa; }

.rp-media__apercu {
    width: 110px; height: 90px;
    display: grid; place-items: center;
    background: var(--rp-fond);
    border-radius: var(--rp-rayon-s);
    overflow: hidden;
}
.rp-media__apercu img { width: 100%; height: 100%; object-fit: cover; }
.rp-media__type {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: .04em; color: var(--rp-texte-doux);
}

.rp-media__corps { min-width: 0; }
.rp-media__titre { margin: 0 0 var(--rp-espace-xs); font-weight: 500; word-break: break-word; }
.rp-media__meta { margin: 0; font-size: 12px; color: var(--rp-texte-doux); }
.rp-media__legende { margin: var(--rp-espace-xs) 0 0; font-size: 13px; }

.rp-media__edition { margin-top: var(--rp-espace-s); font-size: 13px; }
.rp-media__edition summary { cursor: pointer; color: var(--rp-primaire); }
.rp-media__edition form { margin-top: var(--rp-espace-s); }
.rp-media__edition .rp-champ { margin-bottom: var(--rp-espace-s); }

.rp-media__actions { display: flex; gap: var(--rp-espace-xs); align-items: center; }
.rp-media__actions form { margin: 0; }
.rp-media__actions .rp-bouton { padding: 4px 9px; line-height: 1.2; }

@media (max-width: 640px) {
    .rp-media { grid-template-columns: 1fr; }
    .rp-media__apercu { width: 100%; height: 140px; }
    .rp-media__actions { justify-content: flex-start; }
}

/* =============================================================================
   Lives et mode présentateur
   ========================================================================== */

.rp-cases--colonnes {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: var(--rp-espace-s);
    margin-bottom: var(--rp-espace-m);
}
.rp-case--sensible { border-color: #e8c4c1; background: #fdf7f6; }
.rp-bouton--inactif { opacity: .4; pointer-events: none; }

/* --- Mode présentateur ------------------------------------------------------
   Contraste élevé et grandes tailles : l'écran est lu de loin, souvent en
   coup d'œil, pendant que le présentateur parle.
   -------------------------------------------------------------------------- */
.rp-presentateur {
    --rp-pres-fond: #12161c;
    --rp-pres-surface: #1b212a;
    --rp-pres-texte: #f2f5f8;
    --rp-pres-doux: #9aa7b6;

    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--rp-pres-fond);
    color: var(--rp-pres-texte);
}

.rp-pres__entete {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--rp-espace-m);
    flex-wrap: wrap;
    padding: var(--rp-espace-s) var(--rp-espace-l);
    background: var(--rp-pres-surface);
    border-bottom: 1px solid #2a323d;
}
.rp-pres__titre { display: flex; align-items: baseline; gap: var(--rp-espace-m); }
.rp-pres__live { font-weight: 600; }
.rp-pres__compteur { color: var(--rp-pres-doux); font-variant-numeric: tabular-nums; }
.rp-pres__outils { display: flex; gap: var(--rp-espace-s); align-items: center; flex-wrap: wrap; }
.rp-pres__outils form { margin: 0; }
.rp-presentateur .rp-bouton { background: #2a323d; border-color: #39434f; color: var(--rp-pres-texte); }
.rp-presentateur .rp-bouton:hover { background: #39434f; }
.rp-presentateur .rp-bouton--principal { background: var(--rp-primaire); border-color: var(--rp-primaire); }

.rp-pres__scene { flex: 1; padding: var(--rp-espace-l); overflow-y: auto; }

.rp-pres__produit {
    display: grid;
    grid-template-columns: minmax(280px, 40%) 1fr;
    gap: var(--rp-espace-xl);
    max-width: 1500px;
    margin-inline: auto;
}

.rp-pres__visuel {
    position: sticky;
    top: var(--rp-espace-m);
    display: grid;
    place-items: center;
    aspect-ratio: 1;
    max-width: 100%;
    background: var(--rp-pres-surface);
    border-radius: var(--rp-rayon);
    overflow: hidden;
}
.rp-pres__visuel img { width: 100%; height: 100%; object-fit: contain; }
.rp-pres__sans-photo { color: var(--rp-pres-doux); font-size: 14px; }

.rp-pres__reference { margin: 0; color: var(--rp-pres-doux); font-family: var(--rp-police-mono); letter-spacing: .04em; }
.rp-pres__nom { margin: var(--rp-espace-xs) 0 var(--rp-espace-m); font-size: clamp(26px, 3.4vw, 46px); line-height: 1.12; }
.rp-pres__accroche { font-size: clamp(16px, 1.5vw, 21px); color: var(--rp-pres-doux); margin: 0 0 var(--rp-espace-l); }

.rp-pres__chiffres { display: flex; flex-wrap: wrap; gap: var(--rp-espace-xl); margin-bottom: var(--rp-espace-l); }
.rp-pres__chiffre { display: flex; flex-direction: column; gap: 2px; }
.rp-pres__chiffre--confidentiel { padding: var(--rp-espace-xs) var(--rp-espace-s); border: 1px dashed #7a4a46; border-radius: var(--rp-rayon-s); }
.rp-pres__etiquette { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--rp-pres-doux); }
.rp-pres__valeur { font-size: clamp(22px, 2.4vw, 34px); font-weight: 700; font-variant-numeric: tabular-nums; }

.rp-pres__bloc { margin-bottom: var(--rp-espace-l); }
.rp-pres__bloc--notes { padding: var(--rp-espace-m); background: var(--rp-pres-surface); border-left: 3px solid var(--rp-primaire); border-radius: var(--rp-rayon-s); }
.rp-pres__bloc--confidentiel { padding: var(--rp-espace-m); border: 1px dashed #7a4a46; border-radius: var(--rp-rayon-s); }
.rp-pres__sous-titre { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--rp-pres-doux); margin: 0 0 var(--rp-espace-s); }
.rp-pres__texte { margin: 0; font-size: clamp(15px, 1.35vw, 19px); line-height: 1.6; }
.rp-pres__liste { margin: 0; padding-left: var(--rp-espace-m); font-size: 16px; line-height: 1.8; }

.rp-pres__galerie { display: flex; gap: var(--rp-espace-s); flex-wrap: wrap; }
.rp-pres__galerie img { width: 110px; height: 110px; object-fit: cover; border-radius: var(--rp-rayon-s); }

.rp-pres__pied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--rp-espace-m);
    padding: var(--rp-espace-s) var(--rp-espace-l);
    background: var(--rp-pres-surface);
    border-top: 1px solid #2a323d;
}
.rp-pres__sommaire { display: flex; gap: var(--rp-espace-xs); list-style: none; margin: 0; padding: 0; flex-wrap: wrap; justify-content: center; }
.rp-pres__puce {
    display: grid; place-items: center;
    width: 30px; height: 30px;
    border-radius: 50%;
    background: #2a323d;
    color: var(--rp-pres-doux);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}
.rp-pres__puce:hover { text-decoration: none; background: #39434f; color: var(--rp-pres-texte); }
.rp-pres__puce--vu { background: #1a4a3a; color: #7fd8b4; }
.rp-pres__puce--actif { background: var(--rp-primaire); color: #fff; font-weight: 700; }

.rp-pres__aide-clavier { margin: 0; padding: var(--rp-espace-xs) var(--rp-espace-l) var(--rp-espace-m); text-align: center; font-size: 12px; color: var(--rp-pres-doux); }
.rp-pres__aide-clavier kbd { padding: 1px 5px; border: 1px solid #39434f; border-radius: 3px; font-family: var(--rp-police-mono); font-size: 11px; }

@media (max-width: 900px) {
    .rp-pres__produit { grid-template-columns: 1fr; gap: var(--rp-espace-l); }
    .rp-pres__visuel { position: static; aspect-ratio: 16 / 10; }
    .rp-pres__chiffres { gap: var(--rp-espace-l); }
}

/* --- Comparaison avant / après pour la publication ------------------------- */
.rp-diff { font-size: 13px; line-height: 1.5; max-width: 34ch; }
.rp-diff--avant { color: var(--rp-texte-doux); }
.rp-diff--apres { background: #f0f9f5; border-left: 2px solid var(--rp-succes); padding-left: var(--rp-espace-s); }

/* --- Champ HTML avec aperçu ------------------------------------------------ */
.rp-champ-html__entete {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--rp-espace-m);
    flex-wrap: wrap;
    margin-bottom: var(--rp-espace-xs);
}
.rp-champ-html__onglets { display: flex; gap: var(--rp-espace-xs); }
.rp-champ-html__onglets .rp-onglet { padding: 3px var(--rp-espace-s); font-size: 13px; border-bottom-width: 2px; }

.rp-apercu-html {
    border: 1px solid var(--rp-bordure);
    border-radius: var(--rp-rayon-s);
    padding: var(--rp-espace-m);
    background: var(--rp-surface);
    min-height: 120px;
    max-height: 520px;
    overflow-y: auto;
    font-size: 14px;
    line-height: 1.6;
}
/* Le contenu vient d'ailleurs : on borne ce qu'il peut faire à la mise en page. */
.rp-apercu-html img { max-width: 100%; height: auto; }
.rp-apercu-html table { width: 100%; border-collapse: collapse; }
.rp-apercu-html td, .rp-apercu-html th { border: 1px solid var(--rp-bordure); padding: var(--rp-espace-xs); }
.rp-apercu-html h1, .rp-apercu-html h2, .rp-apercu-html h3 { font-size: 1.15em; margin: var(--rp-espace-m) 0 var(--rp-espace-xs); }
.rp-apercu-html ul, .rp-apercu-html ol { padding-left: var(--rp-espace-l); }
.rp-apercu-html p:first-child { margin-top: 0; }

/* Le rendu HTML au sein du mode présentateur hérite du fond sombre. */
.rp-presentateur .rp-apercu-html {
    border: 0;
    padding: 0;
    background: none;
    color: inherit;
    max-height: none;
    overflow: visible;
    font-size: inherit;
}
.rp-presentateur .rp-apercu-html td,
.rp-presentateur .rp-apercu-html th { border-color: #39434f; }
.rp-pres__accroche.rp-apercu-html { max-height: 220px; overflow-y: auto; }

/* --- Destinations d'un média ----------------------------------------------- */
.rp-media__destinations { display: flex; gap: var(--rp-espace-xs); flex-wrap: wrap; margin: var(--rp-espace-xs) 0; }
.rp-media__destinations form { margin: 0; }
.rp-jeton {
    border: 1px solid var(--rp-bordure);
    border-radius: 999px;
    background: var(--rp-surface);
    color: var(--rp-texte-doux);
    font: inherit;
    font-size: 12px;
    padding: 2px var(--rp-espace-s);
    cursor: pointer;
}
.rp-jeton:hover { background: var(--rp-fond); }
.rp-jeton--actif { background: #e3f3ec; border-color: var(--rp-succes); color: var(--rp-succes); font-weight: 600; }

.rp-pres__barre { font-size: .55em; font-weight: 400; text-decoration: line-through; opacity: .6; margin-left: .4em; }
.rp-prix-barre { text-decoration: line-through; color: var(--rp-texte-doux); font-size: .9em; }
.rp-prix-remise { color: var(--rp-succes); font-weight: 600; }

.rp-pres__remise {
    margin: calc(-1 * var(--rp-espace-m)) 0 var(--rp-espace-l);
    font-size: 14px;
    color: #7fd8b4;
    font-weight: 600;
}

/* --- Journaux --------------------------------------------------------------- */
/* Sortie de tâche planifiée : elle s'aligne sur des colonnes, donc chasse fixe,
   et défile seule plutôt que d'élargir la page. */
.rp-journal {
    margin: 0;
    padding: var(--rp-espace-m);
    background: #12161c;
    color: #d7dee7;
    border-radius: var(--rp-espace-xs);
    font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    font-size: 12.5px;
    line-height: 1.6;
    max-height: 60vh;
    overflow: auto;
    white-space: pre;
    tab-size: 4;
}

/* =============================================================================
   Communication / Marketing
   ========================================================================== */
.rp-mk-entete { align-items: flex-end; }
.rp-mk-entete__site { margin: var(--rp-espace-xs) 0 0; color: var(--rp-texte-doux); display: flex; gap: var(--rp-espace-s); align-items: center; flex-wrap: wrap; }
.rp-mk-selecteur { display: flex; align-items: center; gap: var(--rp-espace-s); margin: 0; }
.rp-mk-selecteur .rp-label { margin: 0; }

/* Sous-onglets en liens : pensés pour le téléphone, ils défilent au lieu de
   passer sur plusieurs lignes. */
a.rp-onglet { display: inline-block; text-decoration: none; white-space: nowrap; }
.rp-onglets--defilant { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.rp-mk-bientot {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--rp-neutre);
    border: 1px solid var(--rp-bordure);
    border-radius: 999px;
    padding: 0 5px;
    margin-left: 2px;
    vertical-align: 1px;
}

.rp-section-espacee { margin-bottom: var(--rp-espace-l); }
a.rp-mk-compteur { color: inherit; text-decoration: none; }
a.rp-mk-compteur:hover { border-color: var(--rp-primaire); }
.rp-mk-compteur--alerte .rp-compteur__valeur { color: var(--rp-erreur); }

/* Jauge de budget */
.rp-jauge { height: 10px; border-radius: 999px; background: var(--rp-fond); border: 1px solid var(--rp-bordure); overflow: hidden; }
.rp-jauge__remplissage { height: 100%; background: var(--rp-succes); }
.rp-jauge--alerte .rp-jauge__remplissage { background: var(--rp-avertissement); }
.rp-jauge--depasse .rp-jauge__remplissage { background: var(--rp-erreur); }
.rp-mk-budget { margin: var(--rp-espace-s) 0; }

/* Liste de préparation */
.rp-mk-preparation { list-style: none; margin: 0 0 var(--rp-espace-m); padding: 0; display: grid; gap: var(--rp-espace-s); }
.rp-mk-preparation__point { display: flex; gap: var(--rp-espace-s); align-items: flex-start; }
.rp-mk-preparation__icone {
    flex: none;
    width: 22px; height: 22px;
    border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 700;
    background: #fdf1dd; color: var(--rp-avertissement);
}
.rp-mk-preparation__point--ok .rp-mk-preparation__icone { background: #e3f3ec; color: var(--rp-succes); }

/* Réglages */
.rp-mk-marque { display: flex; justify-content: space-between; align-items: center; gap: var(--rp-espace-m); flex-wrap: wrap; margin-bottom: var(--rp-espace-s); }
.rp-mk-marque__nom { margin: 0; font-size: 16px; display: flex; gap: var(--rp-espace-s); align-items: center; flex-wrap: wrap; }
.rp-mk-nuance { display: inline-block; width: 100%; height: 6px; border-radius: 3px; margin-top: 4px; border: 1px solid var(--rp-bordure); }

/* Droits d'usage d'un média */
.rp-media__droits { display: flex; align-items: center; gap: var(--rp-espace-xs); flex-wrap: wrap; margin: var(--rp-espace-xs) 0; }
.rp-media__droits .rp-label { margin: 0; font-size: 12px; }
.rp-media__droits .rp-select { width: auto; padding-block: 2px; font-size: 13px; }

@media (max-width: 640px) {
    .rp-mk-entete { align-items: stretch; }
    .rp-mk-selecteur { width: 100%; }
    .rp-mk-selecteur .rp-select { flex: 1; }
}

/* --- Communication : génération et validation ---------------------------- */
.rp-etiquette--erreur { background: #fbe6e4; color: var(--rp-erreur); }

.rp-mk-estimation { border-top: 1px dashed var(--rp-bordure); padding-top: var(--rp-espace-m); margin-top: var(--rp-espace-m); }
.rp-mk-estimation p { margin: 0 0 var(--rp-espace-s); }

.rp-mk-barre-validation {
    display: flex; justify-content: space-between; align-items: center; gap: var(--rp-espace-m);
    flex-wrap: wrap; margin-bottom: var(--rp-espace-m);
    position: sticky; top: 60px; z-index: 5;
    background: var(--rp-fond); padding: var(--rp-espace-s) 0;
}
.rp-mk-barre-validation__compte { margin: 0; }
.rp-mk-barre-validation form { margin: 0; }

.rp-mk-groupe__entete { margin-bottom: var(--rp-espace-m); }
.rp-mk-groupe__date { margin: 0; font-weight: 600; font-size: 16px; }
.rp-mk-groupe__angle { margin: var(--rp-espace-xs) 0; display: flex; gap: var(--rp-espace-s); align-items: center; flex-wrap: wrap; }
.rp-mk-groupe__idee { margin: 0; color: var(--rp-texte-doux); font-size: 14px; }
.rp-mk-groupe__publications { display: grid; gap: var(--rp-espace-m); grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }

.rp-mk-pub {
    border: 1px solid var(--rp-bordure);
    border-radius: var(--rp-rayon);
    padding: var(--rp-espace-m);
    background: var(--rp-surface);
    display: flex; flex-direction: column; gap: var(--rp-espace-s);
    min-width: 0;
}
.rp-mk-pub--bloquant { border-color: var(--rp-erreur); }
.rp-mk-pub__entete { display: flex; gap: var(--rp-espace-s); align-items: center; flex-wrap: wrap; }
.rp-mk-reseau { font-weight: 700; }
.rp-mk-pub__attente { margin: 0; color: var(--rp-avertissement); font-size: 14px; }

.rp-mk-apercu { background: var(--rp-fond); border-radius: var(--rp-rayon-s); padding: var(--rp-espace-s) var(--rp-espace-m); font-size: 14px; overflow-wrap: anywhere; }
.rp-mk-apercu__accroche { font-weight: 700; margin: 0 0 var(--rp-espace-xs); }
.rp-mk-apercu__texte { margin: 0 0 var(--rp-espace-xs); }
.rp-mk-apercu__suite { display: inline; }
.rp-mk-apercu__suite summary { display: inline; cursor: pointer; color: var(--rp-texte-doux); }
.rp-mk-apercu__suite[open] summary { display: none; }
.rp-mk-apercu__hashtags { color: var(--rp-primaire); margin: 0 0 var(--rp-espace-xs); }
.rp-mk-apercu__commentaire { margin: 0; border-top: 1px solid var(--rp-bordure); padding-top: var(--rp-espace-xs); }

.rp-mk-pub__meta { display: grid; grid-template-columns: auto 1fr; gap: 2px var(--rp-espace-s); margin: 0; font-size: 13px; }
.rp-mk-pub__meta dt { color: var(--rp-texte-doux); }
.rp-mk-pub__meta dd { margin: 0; overflow-wrap: anywhere; }
.rp-mk-lien { font-family: var(--rp-police-mono); font-size: 12px; }

.rp-mk-problemes { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--rp-espace-xs); font-size: 13px; }
.rp-mk-probleme { padding: var(--rp-espace-xs) var(--rp-espace-s); border-radius: var(--rp-rayon-s); border-left: 3px solid var(--rp-neutre); background: var(--rp-fond); }
.rp-mk-probleme--bloquant { border-left-color: var(--rp-erreur); background: #fdf1f0; }
.rp-mk-probleme--important { border-left-color: var(--rp-avertissement); background: #fdf6ea; }

.rp-mk-actions { display: flex; flex-wrap: wrap; gap: var(--rp-espace-s); align-items: flex-start; }
.rp-mk-actions form { margin: 0; }
.rp-mk-panneau > summary { list-style: none; }
.rp-mk-panneau > summary::-webkit-details-marker { display: none; }
.rp-mk-panneau[open] { flex-basis: 100%; }
.rp-mk-panneau__corps { display: grid; gap: var(--rp-espace-xs); margin-top: var(--rp-espace-s); padding: var(--rp-espace-m); border: 1px solid var(--rp-bordure); border-radius: var(--rp-rayon-s); }
.rp-mk-panneau__corps .rp-bouton { justify-self: start; margin-top: var(--rp-espace-xs); }

.rp-mk-version { border-bottom: 1px solid var(--rp-bordure); padding: var(--rp-espace-s) 0; }
.rp-mk-version summary { cursor: pointer; }
.rp-mk-version .rp-mk-apercu { margin-top: var(--rp-espace-s); }

@media (max-width: 640px) {
    .rp-mk-groupe__publications { grid-template-columns: 1fr; }
    .rp-mk-barre-validation { top: 0; }
    .rp-mk-actions .rp-bouton { min-height: 44px; }
}

/* --- Communication : visuels ---------------------------------------------- */
.rp-mk-outils { display: grid; gap: var(--rp-espace-s); }
.rp-mk-outil { border: 1px solid var(--rp-bordure); border-radius: var(--rp-rayon-s); padding: var(--rp-espace-s) var(--rp-espace-m); }
.rp-mk-outil > summary { cursor: pointer; display: flex; flex-wrap: wrap; gap: var(--rp-espace-s); align-items: baseline; }
.rp-mk-outil[data-indisponible] > summary { opacity: .65; }
.rp-mk-filtres-courts { display: flex; gap: var(--rp-espace-s); flex-wrap: wrap; }
.rp-mk-filtres-courts .rp-select { width: auto; }

.rp-mk-galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: var(--rp-espace-m); }
.rp-mk-vignette { display: block; color: inherit; text-decoration: none; border: 1px solid var(--rp-bordure); border-radius: var(--rp-rayon-s); overflow: hidden; background: var(--rp-surface); }
.rp-mk-vignette:hover { border-color: var(--rp-primaire); text-decoration: none; }
.rp-mk-vignette img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--rp-fond); }
.rp-mk-vignette--rejete img { opacity: .4; }
.rp-mk-vignette__legende { display: block; padding: var(--rp-espace-xs) var(--rp-espace-s); font-size: 12px; }

.rp-mk-apercu-visuel img { display: block; max-width: 100%; max-height: 70vh; margin: 0 auto; border-radius: var(--rp-rayon-s); }

.rp-mk-visuels { display: flex; flex-wrap: wrap; gap: var(--rp-espace-s); align-items: flex-start; }
.rp-mk-visuel { margin: 0; width: 110px; }
.rp-mk-visuel img { display: block; width: 110px; height: 138px; object-fit: cover; border-radius: var(--rp-rayon-s); border: 2px solid var(--rp-bordure); }
.rp-mk-visuel--valide img { border-color: var(--rp-succes); }
.rp-mk-visuel figcaption { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 4px; align-items: center; }
.rp-mk-visuel figcaption form { margin: 0; }
.rp-mk-visuels__ajout { display: flex; flex-direction: column; gap: var(--rp-espace-xs); }
.rp-mk-visuels__ajout form { margin: 0; }
.rp-mk-choix { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); }
.rp-mk-choix__item { display: flex; flex-direction: column; gap: 2px; cursor: pointer; }
.rp-mk-choix__item img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--rp-rayon-s); }
.rp-mk-choix .rp-bouton { grid-column: 1 / -1; }
.rp-mk-rappel-ia { margin: 0; font-size: 13px; color: var(--rp-avertissement); }

/* --- Communication : carrousels ------------------------------------------- */
.rp-mk-diapositives { font-size: 13px; background: var(--rp-fond); border-radius: var(--rp-rayon-s); padding: var(--rp-espace-xs) var(--rp-espace-s); }
.rp-mk-diapositives summary { cursor: pointer; font-weight: 600; }
.rp-mk-diapositives ol { margin: var(--rp-espace-xs) 0 0; padding-left: 1.4em; }
.rp-mk-visuels--carrousel { flex-wrap: nowrap; overflow-x: auto; padding-bottom: var(--rp-espace-xs); scroll-snap-type: x proximity; }
.rp-mk-visuels--carrousel .rp-mk-visuel { flex: none; scroll-snap-align: start; }
.rp-mk-visuels--carrousel .rp-mk-visuels__ajout { flex: none; }
.rp-mk-visuel__rang { font-size: 11px; font-weight: 700; color: var(--rp-texte-doux); }

/* --- Communication : kit de publication ----------------------------------- */
.rp-mk-mode p { margin: 0; }
.rp-mk-kit { display: flex; flex-direction: column; gap: var(--rp-espace-m); }
.rp-mk-kit--planifiee { border-left: 4px solid var(--rp-succes); }
.rp-mk-kit__entete p { margin: 0; }
.rp-mk-kit__images { display: flex; gap: var(--rp-espace-s); overflow-x: auto; padding-bottom: var(--rp-espace-xs); }
.rp-mk-kit__image { flex: none; display: flex; flex-direction: column; align-items: center; gap: 2px; text-decoration: none; color: var(--rp-texte-doux); font-size: 12px; }
.rp-mk-kit__image img { width: 96px; height: 120px; object-fit: cover; border-radius: var(--rp-rayon-s); border: 1px solid var(--rp-bordure); }
.rp-mk-kit__bloc { display: grid; gap: var(--rp-espace-xs); }
.rp-mk-kit__titre { display: flex; justify-content: space-between; align-items: center; gap: var(--rp-espace-s); }
.rp-mk-kit__texte { font-size: 14px; }

/* --- Communication : calendrier ------------------------------------------- */
.rp-mk-cal__barre { display: flex; justify-content: space-between; align-items: center; gap: var(--rp-espace-m); flex-wrap: wrap; margin-bottom: var(--rp-espace-s); }
.rp-mk-cal__nav { display: flex; align-items: center; gap: var(--rp-espace-s); flex-wrap: wrap; }
.rp-mk-cal__intitule { margin: 0 0 0 var(--rp-espace-s); }
.rp-mk-cal__legende { list-style: none; display: flex; flex-wrap: wrap; gap: var(--rp-espace-m); padding: 0; margin: 0 0 var(--rp-espace-s); font-size: 12px; color: var(--rp-texte-doux); }
.rp-mk-cal__legende li { display: flex; align-items: center; gap: 4px; }
.rp-mk-cal__pastille { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }

.rp-mk-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border: 1px solid var(--rp-bordure); border-radius: var(--rp-rayon-s); overflow: hidden; }
.rp-mk-cal__entete { padding: var(--rp-espace-xs); font-size: 12px; font-weight: 600; text-align: center; background: var(--rp-fond); border-bottom: 1px solid var(--rp-bordure); }
.rp-mk-cal__jour { min-height: 110px; padding: 4px; border-right: 1px solid var(--rp-bordure); border-bottom: 1px solid var(--rp-bordure); display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rp-mk-cal--semaine .rp-mk-cal__jour { min-height: 320px; }
.rp-mk-cal__jour:nth-child(7n) { border-right: 0; }
.rp-mk-cal__jour--hors { background: var(--rp-fond); }
.rp-mk-cal__jour--hors .rp-mk-cal__numero { opacity: .45; }
.rp-mk-cal__jour--passe { background: repeating-linear-gradient(135deg, transparent 0 8px, rgba(0,0,0,.018) 8px 16px); }
.rp-mk-cal__jour--aujourdhui .rp-mk-cal__numero { background: var(--rp-primaire); color: #fff; border-radius: 999px; padding: 0 7px; }
.rp-mk-cal__jour--survol { outline: 2px dashed var(--rp-primaire); outline-offset: -3px; }
.rp-mk-cal__numero { font-size: 12px; font-weight: 600; align-self: flex-start; }

.rp-mk-cal__pub {
    display: block; font-size: 12px; line-height: 1.3; padding: 2px 5px; border-radius: 4px;
    color: var(--rp-texte); text-decoration: none; border-left: 3px solid var(--rp-neutre); background: #eef0f4;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.rp-mk-cal__pub[draggable="true"] { cursor: grab; }
.rp-mk-cal__pub:hover { text-decoration: none; filter: brightness(.96); }
.rp-mk-cal__heure { font-weight: 700; margin-right: 3px; }
.rp-mk-cal__accroche { display: block; white-space: normal; color: var(--rp-texte-doux); }

.rp-mk-cal__pub--brouillon, .rp-mk-cal__pastille--brouillon { border-color: var(--rp-neutre); }
.rp-mk-cal__pub--a_valider { border-color: var(--rp-avertissement); background: #fdf6ea; }
.rp-mk-cal__pub--validee   { border-color: var(--rp-primaire); background: #e9f0fa; }
.rp-mk-cal__pub--planifiee { border-color: var(--rp-succes); background: #e3f3ec; }
.rp-mk-cal__pub--publiee   { border-color: #5a4ab0; background: #eeebfa; }
.rp-mk-cal__pub--echec     { border-color: var(--rp-erreur); background: #fdf1f0; }
.rp-mk-cal__pastille--a_valider { background: var(--rp-avertissement); }
.rp-mk-cal__pastille--validee   { background: var(--rp-primaire); }
.rp-mk-cal__pastille--planifiee { background: var(--rp-succes); }
.rp-mk-cal__pastille--publiee   { background: #5a4ab0; }
.rp-mk-cal__pastille--echec     { background: var(--rp-erreur); }

/* Sur téléphone, la grille devient une liste de jours. */
@media (max-width: 640px) {
    .rp-mk-cal { grid-template-columns: 1fr; }
    .rp-mk-cal__entete { display: none; }
    .rp-mk-cal__jour, .rp-mk-cal--semaine .rp-mk-cal__jour { min-height: 0; border-right: 0; }
    .rp-mk-cal__jour--hors, .rp-mk-cal__jour:not(:has(.rp-mk-cal__pub)):not(.rp-mk-cal__jour--aujourdhui) { display: none; }
    .rp-mk-cal__pub { white-space: normal; font-size: 14px; padding: 6px 8px; }
}

/* =============================================================================
   Commandes
   ============================================================================= */
.rp-cmd-barre {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
    gap: var(--rp-espace-s); margin-bottom: var(--rp-espace-m);
}
.rp-cmd-barre__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rp-espace-s); }
.rp-cmd-table td { vertical-align: top; }
.rp-cmd-adresse { font-style: normal; line-height: 1.5; margin-bottom: var(--rp-espace-s); }
.rp-cmd-alerte { border-left: 4px solid var(--rp-avertissement); }
.rp-cmd-consigne {
    padding: var(--rp-espace-xs) var(--rp-espace-s); border-radius: var(--rp-rayon-s);
    background: #fdf6ea; border: 1px solid #f1dfbf;
}

.rp-cmd-vignette { width: 64px; }
.rp-cmd-vignette img { width: 56px; height: 56px; object-fit: cover; border-radius: var(--rp-rayon-s); display: block; }

/* Bon de préparation */
.rp-cmd-page { margin-bottom: var(--rp-espace-l); }
.rp-cmd-page__entete { display: flex; justify-content: space-between; gap: var(--rp-espace-m); align-items: flex-start; }
.rp-cmd-page__ref { font-size: 22px; margin: 0; }
.rp-cmd-page__transport { text-align: right; }
.rp-cmd-page__infos {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--rp-espace-m); margin: var(--rp-espace-m) 0;
}
.rp-cmd-page__pied { display: flex; justify-content: space-between; align-items: center; gap: var(--rp-espace-m); margin: var(--rp-espace-m) 0 0; }
.rp-cmd-lignes .rp-cmd-vignette { width: 96px; }
.rp-cmd-lignes .rp-cmd-vignette img { width: 88px; height: 88px; }
.rp-cmd-qte { font-size: 22px; font-weight: 700; }
.rp-cmd-coche { width: 48px; text-align: center; }
.rp-cmd-coche input { width: 28px; height: 28px; cursor: pointer; }
.rp-cmd-lignes tr.rp-cmd-ligne--preleve { opacity: .45; }
.rp-cmd-lignes tr.rp-cmd-ligne--preleve td { text-decoration: line-through; }
.rp-cmd-lignes tr.rp-cmd-ligne--preleve .rp-cmd-coche { text-decoration: none; }
.rp-cmd-ligne--rembourse { opacity: .5; }
.rp-cmd-page--complete { border-color: var(--rp-succes); box-shadow: 0 0 0 2px var(--rp-succes) inset; }

@media (max-width: 640px) {
    .rp-cmd-page__entete { flex-direction: column; }
    .rp-cmd-page__transport { text-align: left; }
}

/* Impression : une commande par page, sans décor ni navigation. */
@media print {
    body { background: #fff; }
    .rp-sans-impression, .rp-messages, .rp-entete, .rp-pied { display: none !important; }
    .rp-principal { padding: 0; }
    .rp-conteneur { max-width: none; padding: 0; }
    .rp-carte { box-shadow: none; border: 0; padding: 0; }
    .rp-cmd-page { break-after: page; page-break-after: always; margin: 0; }
    .rp-cmd-page:last-child { break-after: auto; page-break-after: auto; }
    .rp-cmd-lignes { font-size: 12pt; }
    .rp-cmd-lignes th, .rp-cmd-lignes td { border-bottom: 1px solid #999; }
    .rp-cmd-coche input { display: none; }
    td.rp-cmd-coche:has(input)::after { content: "☐"; font-size: 20pt; }
    .rp-cmd-consigne { background: none; border: 1px solid #000; }
    .rp-cmd-lignes tr { break-inside: avoid; }
    a { color: inherit; text-decoration: none; }
}

/* Réassort et bons de commande */
.rp-input--court { width: 6.5em; text-align: right; }
.rp-bon-apercu { white-space: pre-wrap; font-family: var(--rp-police-mono); font-size: 13px; background: var(--rp-fond); padding: var(--rp-espace-m); border-radius: var(--rp-rayon-s); }
@media print {
    .rp-bon-impression { font-size: 11pt; }
    .rp-bon-impression .rp-table th, .rp-bon-impression .rp-table td { border-bottom: 1px solid #999; }
}

/* Statistiques */
.rp-stats-evol { margin: var(--rp-espace-xs) 0 0; font-size: 13px; }
.rp-positif { color: var(--rp-succes); }
.rp-stats-graphe { width: 100%; height: auto; display: block; }
.rp-stats-graphe__axe { stroke: var(--rp-bordure); stroke-width: 1; }
.rp-stats-graphe__barre { fill: var(--rp-primaire); }
.rp-stats-graphe__barre:hover { fill: var(--rp-primaire-sombre); }
.rp-stats-graphe__texte { font-size: 11px; fill: var(--rp-texte-doux); text-anchor: middle; }
.rp-stats-barres { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--rp-espace-s); }
.rp-stats-barres li { display: grid; grid-template-columns: minmax(90px, 30%) 1fr auto; align-items: center; gap: var(--rp-espace-s); font-size: 14px; }
.rp-stats-barres__libelle { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-stats-barres__barre { background: var(--rp-fond); border-radius: 999px; height: 10px; overflow: hidden; }
.rp-stats-barres__barre span { display: block; height: 100%; background: var(--rp-primaire); border-radius: 999px; }
.rp-stats-barres__valeur { white-space: nowrap; text-align: right; }
@media (max-width: 640px) {
    .rp-stats-barres li { grid-template-columns: 1fr; gap: 2px; }
    .rp-stats-barres__valeur { text-align: left; }
}

/* Reels */
.rp-mk-video { display: block; width: 100%; max-width: 360px; aspect-ratio: 9 / 16; background: #000; border-radius: var(--rp-rayon-s); }
.rp-mk-apercu-visuel .rp-mk-video { max-width: 420px; margin: 0 auto; }
.rp-mk-kit__video { margin: var(--rp-espace-m) 0; }
.rp-mk-vignette { position: relative; }
.rp-mk-vignette__video {
    position: absolute; top: 8px; left: 8px; width: 34px; height: 34px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: rgba(0, 0, 0, .6); color: #fff; font-size: 14px;
}

/* Bandeau de l'environnement de test */
.rp-bandeau-env { background: #fdf6ea; border-bottom: 1px solid #f1dfbf; color: #7a5a1e; font-size: 13px; padding: 6px 0; }
.rp-bandeau-env a { color: inherit; text-decoration: underline; }
@media print { .rp-bandeau-env { display: none; } }
