/* ============================================================
   ONGLET DOCUMENTS — charte « document / preuve » (D1, 28/08/2026)
   docs/roadmap-onglet-documents.md §4.

   Book & Risque répond à « où est mon risque MAINTENANT » (dense, vivant).
   Documents et Conformité répondent à « qu'est-ce qui est produit, signé,
   figé » (un registre). Cette feuille ne redéfinit PAS l'échelle
   typographique : elle réutilise telle quelle celle de `book_theme.css`
   (.bk-block-title, .bk-block-lede, .bk-table-caption, .bk-eyebrow, et les
   règles `.bk-root h6`/`.bk-root hr`) — le conteneur de l'onglet porte donc
   la classe `bk-root` EN PLUS de `doc-root`. Les classes ci-dessous sont
   PROPRES à Documents/Conformité : un bandeau de provenance, un statut codé
   identiquement partout, une distinction vivant/figé.
   ============================================================ */

.doc-root {
    /* Dérivées de `--bk-*` (book_theme.css), jamais retapées : c'est ce
       token-la meme qui porte la variante `[data-theme="light"]` ET le
       re-épinglage sombre de `.bk-block-card` -- une seconde définition
       littérale ici divergerait au premier changement de palette (charte
       D1b, constat 2 : la première version retapait les six valeurs). Un
       repli littéral reste fourni pour le cas où `.doc-root` est utilisé
       hors de tout `.bk-root` (aucun cas connu aujourd'hui, mais le repli
       est gratuit). */
    --doc-ok: var(--bk-gain, #34d399);
    --doc-warn: var(--bk-warn, #fbbf24);
    --doc-late: var(--bk-loss, #f87171);
    --doc-unreadable: var(--bk-muted, #94a3b8);
    --doc-none: var(--bk-ink, #cbd5e1);
}
/* Débordement horizontal mobile (constat mesuré : scrollWidth 545 pour un
   viewport de 390 sur `build_acknowledged_breaches_section`, seule table de
   l'onglet sans `responsive=True` -- corrigé côté Python, gardé ici en
   filet). */
#compliance-root {
    min-width: 0;
}

/* --- Bandeau de provenance : objet / version / empreinte / enregistré le / par ---
   Même composant à l'écran et en tête d'un PDF produit depuis cet objet
   (lots ultérieurs) : un document ne doit jamais se lire sans savoir ce
   qu'il est, qui l'a produit, à quelle version. */
.doc-provenance {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 1.4rem;
    padding: 0.7rem 1rem;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 12px;
    margin-bottom: 1rem;
}
.doc-provenance-item {
    display: flex;
    flex-direction: column;
    gap: 1px;
    font-size: 0.82rem;
    /* Token, jamais un littéral (re-audit DA 28/08, constat 3) : ce bandeau
       vit TOUJOURS dans un `.bk-block-card` (surface fixe et sombre), qui
       re-épingle `--bk-ink` sur lui-même -- le littéral `#e2e8f0` mesurait
       1,05:1 sur fond clair faute de variante claire. `var(--bk-ink)` porte
       déjà les deux : sombre par défaut, clair sous `[data-theme="light"]
       .bk-root`, ré-épinglé sombre dans `.bk-block-card` (book_theme.css). */
    color: var(--bk-ink, #cbd5e1);
}
.doc-provenance-label {
    font-size: 0.66rem;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--bk-muted, #94a3b8);
}
.doc-provenance-value {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.doc-provenance-fingerprint {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    /* Token, jamais un littéral (re-audit DA 28/08, constat 3) : même
       raisonnement que `.doc-provenance-item` -- mesuré à 1,05:1 sur fond
       clair (bandeau de provenance ET colonne ISIN des tables Documents). */
    color: var(--bk-ink, #cbd5e1);
}

/* --- Statut codé identiquement partout (Documents comme Conformité) ---
   Cinq états, mêmes couleurs, mêmes mots. Ni un vert par défaut, ni une
   lecture en échec qui se lirait comme « rien à signaler ». */
.doc-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid currentColor;
    white-space: nowrap;
}
.doc-status::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    flex: 0 0 auto;
}
.doc-status--ok { color: var(--doc-ok); }
.doc-status--warn { color: var(--doc-warn); }
.doc-status--late { color: var(--doc-late); }
.doc-status--unreadable { color: var(--doc-unreadable); }
.doc-status--none { color: var(--doc-none); }

/* --- Vivant / figé ---
   Une ligne de registre est FIGÉE : fond légèrement plus sombre, cadenas,
   empreinte affichée. Une prévisualisation est VIVANTE : bordure en
   pointillé, mention « non archivé ». Les deux ne doivent jamais se
   confondre visuellement — un utilisateur qui referme l'onglet doit savoir
   si ce qu'il vient de voir a été conservé. */
.doc-frozen {
    background: rgba(11, 18, 32, 0.55);
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 12px;
    padding: 0.85rem 1rem;
}
.doc-frozen-lock {
    color: var(--bk-muted, #94a3b8);
    margin-right: 6px;
}
.doc-live {
    background: transparent;
    border: 1px dashed rgba(96, 165, 250, 0.45);
    border-radius: 12px;
    padding: 0.85rem 1rem;
}
.doc-live-tag {
    display: inline-block;
    font-size: 0.66rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--bk-blue, #60a5fa);
    margin-bottom: 4px;
}

/* --- Petits éléments de formulaire propres à la fiche classe de parts --- */
.doc-form-label {
    display: block;
    font-size: 0.72rem;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--bk-muted, #94a3b8);
    margin-bottom: 3px;
}
.doc-form-help {
    font-size: 0.78rem;
    color: var(--bk-muted, #94a3b8);
    margin-top: 3px;
}
.doc-form-row {
    margin-bottom: 0.95rem;
}
.doc-jump-list {
    font-size: 0.85rem;
    /* Token, jamais un littéral (re-audit DA 28/08, constat 3) : voir
       `.doc-provenance-item` ci-dessus pour le raisonnement complet. */
    color: var(--bk-ink, #cbd5e1);
    margin: 0.3rem 0 0;
    padding-left: 1.1rem;
}
.doc-empty-object-note {
    font-size: 0.85rem;
    color: var(--bk-muted, #94a3b8);
}
