/* /Components/Account/ConfirmationCourriel.razor.rz.scp.css */
.carte-inscription[b-v9iguc29r6] {
    width: min(420px, 100%);
    background: var(--surface);
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 36px;
}

.carte-inscription h2[b-v9iguc29r6] {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 600;
}

.sous-titre[b-v9iguc29r6] {
    margin: 0 0 24px;
    font-size: 13px;
    color: var(--text-muted);
}

.champ[b-v9iguc29r6] {
    margin-bottom: 16px;
}

.indice[b-v9iguc29r6] {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.5;
}

.alerte-erreur[b-v9iguc29r6] {
    margin-bottom: 16px;
}

.lien-connexion[b-v9iguc29r6] {
    text-align: center;
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 20px;
}

/* --- Attente de confirmation (section 5.3) --------------------------- */

.confirmation-attendue[b-v9iguc29r6] {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 16px 18px;
    margin-bottom: 4px;
}

.confirmation-attendue p[b-v9iguc29r6] { margin: 0 0 8px; font-size: 13px; line-height: 1.55; }
.confirmation-attendue p:last-child[b-v9iguc29r6] { margin-bottom: 0; }

.titre-confirmation[b-v9iguc29r6] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.destinataire[b-v9iguc29r6] {
    font-weight: 600;
    font-size: 13.5px !important;
}
/* /Components/Account/Login.razor.rz.scp.css */
.carte-connexion[b-y0fn24a6ac] {
    width: min(1000px, 100%);
    display: flex;
    background: var(--surface);
    border-radius: 12px;
    box-shadow: var(--shadow);
    overflow: hidden;
}

.panneau-marque[b-y0fn24a6ac] {
    width: 380px;
    flex-shrink: 0;
    background: linear-gradient(165deg, var(--accent-dark), oklch(22% 0.045 200));
    color: oklch(97% 0.01 200);
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 40px;
}

.panneau-marque .marque[b-y0fn24a6ac] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.panneau-marque .logo[b-y0fn24a6ac] {
    width: 30px;
    height: 30px;
    border-radius: 7px;
    background: oklch(97% 0.01 200);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.panneau-marque .marque span[b-y0fn24a6ac] {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.panneau-marque h1[b-y0fn24a6ac] {
    margin: 0 0 12px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.panneau-marque p[b-y0fn24a6ac] {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: oklch(88% 0.015 200);
}

.panneau-marque .pied[b-y0fn24a6ac] {
    font-size: 12px;
    color: oklch(75% 0.015 200);
}

.panneau-formulaire[b-y0fn24a6ac] {
    flex: 1;
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.panneau-formulaire h2[b-y0fn24a6ac] {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 600;
}

.sous-titre[b-y0fn24a6ac] {
    margin: 0 0 24px;
    font-size: 13px;
    color: var(--text-muted);
}

.champ[b-y0fn24a6ac] {
    margin-bottom: 16px;
}

.alerte-erreur[b-y0fn24a6ac] {
    margin-bottom: 16px;
}

.lien-inscription[b-y0fn24a6ac] {
    text-align: center;
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 20px;
}

@media (max-width: 720px) {
    .carte-connexion[b-y0fn24a6ac] { flex-direction: column; }
    .panneau-marque[b-y0fn24a6ac] { width: auto; }
}

/* --- Adresse non confirmée (section 5.3) ----------------------------- */

.lien-renvoi[b-y0fn24a6ac] {
    display: inline-block;
    margin-top: 12px;
    font-size: 12.5px;
    color: var(--accent);
}
/* /Components/Account/Register.razor.rz.scp.css */
.carte-inscription[b-y1xpx4j3np] {
    width: min(420px, 100%);
    background: var(--surface);
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 36px;
}

.carte-inscription h2[b-y1xpx4j3np] {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 600;
}

.sous-titre[b-y1xpx4j3np] {
    margin: 0 0 24px;
    font-size: 13px;
    color: var(--text-muted);
}

.champ[b-y1xpx4j3np] {
    margin-bottom: 16px;
}

.indice[b-y1xpx4j3np] {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.5;
}

.alerte-erreur[b-y1xpx4j3np] {
    margin-bottom: 16px;
}

.lien-connexion[b-y1xpx4j3np] {
    text-align: center;
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 20px;
}

/* --- Attente de confirmation (section 5.3) --------------------------- */

.confirmation-attendue[b-y1xpx4j3np] {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 16px 18px;
    margin-bottom: 4px;
}

.confirmation-attendue p[b-y1xpx4j3np] { margin: 0 0 8px; font-size: 13px; line-height: 1.55; }
.confirmation-attendue p:last-child[b-y1xpx4j3np] { margin-bottom: 0; }

.titre-confirmation[b-y1xpx4j3np] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.destinataire[b-y1xpx4j3np] {
    font-weight: 600;
    font-size: 13.5px !important;
}
/* /Components/Account/RenvoyerConfirmation.razor.rz.scp.css */
.carte-inscription[b-okeu78z6t7] {
    width: min(420px, 100%);
    background: var(--surface);
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 36px;
}

.carte-inscription h2[b-okeu78z6t7] {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 600;
}

.sous-titre[b-okeu78z6t7] {
    margin: 0 0 24px;
    font-size: 13px;
    color: var(--text-muted);
}

.champ[b-okeu78z6t7] {
    margin-bottom: 16px;
}

.indice[b-okeu78z6t7] {
    margin: 6px 0 0;
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.5;
}

.alerte-erreur[b-okeu78z6t7] {
    margin-bottom: 16px;
}

.lien-connexion[b-okeu78z6t7] {
    text-align: center;
    font-size: 13px;
    color: var(--text-muted);
    margin-top: 20px;
}

/* --- Attente de confirmation (section 5.3) --------------------------- */

.confirmation-attendue[b-okeu78z6t7] {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 16px 18px;
    margin-bottom: 4px;
}

.confirmation-attendue p[b-okeu78z6t7] { margin: 0 0 8px; font-size: 13px; line-height: 1.55; }
.confirmation-attendue p:last-child[b-okeu78z6t7] { margin-bottom: 0; }

.titre-confirmation[b-okeu78z6t7] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
}

.destinataire[b-okeu78z6t7] {
    font-weight: 600;
    font-size: 13.5px !important;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Hauteur ferme et non « au moins » : c'est elle qui permet aux écrans maître-détail de
   se répartir la place restante et de faire défiler leur propre panneau. Avec un simple
   min-height, un contenu trop haut fait grandir la coquille et c'est la page entière qui
   défile, barre latérale comprise. */
.coquille[b-94jmxczaia] {
    display: flex;
    height: 100vh;
}

.barre-laterale[b-94jmxczaia] {
    width: 280px;
    flex-shrink: 0;
    background: var(--sidebar);
    color: oklch(90% 0.01 250);
    display: flex;
    flex-direction: column;
    padding: 20px 14px;
}

.marque[b-94jmxczaia] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 6px 8px 24px 8px;
}

.marque .logo[b-94jmxczaia] {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.marque span[b-94jmxczaia] {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: white;
}

.nav-items[b-94jmxczaia] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nav-item[b-94jmxczaia] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 13px;
    color: oklch(78% 0.01 250);
}

.nav-item:hover[b-94jmxczaia] {
    color: white;
    text-decoration: none;
}

.nav-item.active[b-94jmxczaia] {
    background: var(--sidebar-hover);
    color: white;
    font-weight: 500;
}

.carte-utilisateur[b-94jmxczaia] {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    border-radius: 8px;
    background: var(--sidebar-hover);
}

.ligne-profil[b-94jmxczaia] {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.avatar[b-94jmxczaia] {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.infos-utilisateur[b-94jmxczaia] {
    min-width: 0;
    flex: 1;
}

.infos-utilisateur .nom[b-94jmxczaia] {
    font-size: 12.5px;
    font-weight: 500;
    color: white;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.infos-utilisateur .courriel[b-94jmxczaia] {
    font-size: 11px;
    color: oklch(70% 0.01 250);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.carte-utilisateur[b-94jmxczaia]  .btn-lien-deconnexion {
    width: 100%;
    background: transparent;
    border: none;
    border-top: 1px solid oklch(100% 0 0 / 0.08);
    color: oklch(70% 0.01 250);
    padding: 8px 2px 0;
    margin: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
}

.carte-utilisateur[b-94jmxczaia]  .btn-lien-deconnexion:hover {
    color: white;
}

/* Colonne flex : l'en-tête de projet garde sa hauteur naturelle, quel que soit le nombre
   de lignes que prennent ses onglets, et l'écran occupe exactement le reste. */
.contenu[b-94jmxczaia] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: auto;
}

.contenu-pleine-largeur[b-94jmxczaia] {
    display: flex;
    align-items: center;
    justify-content: center;
}

#blazor-error-ui[b-94jmxczaia] {
    background: var(--danger-soft);
    color: oklch(38% 0.15 35);
    bottom: 0;
    box-shadow: var(--shadow);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.85rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    font-size: 13px;
}

    #blazor-error-ui .dismiss[b-94jmxczaia] {
        cursor: pointer;
        position: absolute;
        right: 1rem;
        top: 0.85rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-gqhi9737rq],
.components-reconnect-repeated-attempt-visible[b-gqhi9737rq],
.components-reconnect-failed-visible[b-gqhi9737rq],
.components-pause-visible[b-gqhi9737rq],
.components-resume-failed-visible[b-gqhi9737rq],
.components-rejoining-animation[b-gqhi9737rq] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-gqhi9737rq],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-gqhi9737rq],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-gqhi9737rq],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-gqhi9737rq],
#components-reconnect-modal.components-reconnect-retrying[b-gqhi9737rq],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-gqhi9737rq],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-gqhi9737rq],
#components-reconnect-modal.components-reconnect-failed[b-gqhi9737rq],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-gqhi9737rq] {
    display: block;
}


#components-reconnect-modal[b-gqhi9737rq] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-gqhi9737rq 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-gqhi9737rq 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-gqhi9737rq 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-gqhi9737rq]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-gqhi9737rq 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-gqhi9737rq {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-gqhi9737rq {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-gqhi9737rq {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-gqhi9737rq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-gqhi9737rq] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-gqhi9737rq] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-gqhi9737rq] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-gqhi9737rq] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-gqhi9737rq] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-gqhi9737rq] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-gqhi9737rq 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-gqhi9737rq] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-gqhi9737rq {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Administration/AdministrationEntete.razor.rz.scp.css */
.entete-admin[b-wry9deihbx] {
    padding: 24px 28px 0;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.titre-admin[b-wry9deihbx] {
    font-size: 20px;
    font-weight: 600;
}

.soustitre-admin[b-wry9deihbx] {
    font-size: 12.5px;
    color: var(--text-muted);
    margin-top: 4px;
    margin-bottom: 16px;
}

.sous-nav-admin[b-wry9deihbx] {
    display: flex;
    gap: 22px;
}

.sous-nav-item[b-wry9deihbx] {
    padding: 0 0 12px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--text-muted);
    border-bottom: 2px solid transparent;
}

.sous-nav-item:hover[b-wry9deihbx] {
    color: var(--text);
    text-decoration: none;
}

.sous-nav-item.actif[b-wry9deihbx] {
    color: var(--accent);
    border-bottom-color: var(--accent);
}
/* /Components/Pages/Administration/FonctionsSecurite.razor.rz.scp.css */
.page[b-qph8qc2gvq] {
    padding: 24px 28px 28px;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.texte-muet[b-qph8qc2gvq] { color: var(--text-muted); font-size: 13px; }
.intro[b-qph8qc2gvq] { margin: 0; max-width: 760px; }
.note[b-qph8qc2gvq] { margin: 0; max-width: 760px; }
.alerte-erreur[b-qph8qc2gvq] { margin: 0; }

.carte-liste[b-qph8qc2gvq] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

table[b-qph8qc2gvq] { border-collapse: collapse; width: 100%; }

th[b-qph8qc2gvq] {
    text-align: left;
    padding: 9px 20px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border);
}

td[b-qph8qc2gvq] {
    padding: 8px 20px;
    font-size: 13px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

tr.ligne-inactive[b-qph8qc2gvq] { opacity: 0.5; }

td input[type="text"][b-qph8qc2gvq], td select[b-qph8qc2gvq] {
    padding: 6px 8px;
    font-size: 13px;
}

.champ-ordre[b-qph8qc2gvq] { width: 56px; }

.colonne-case[b-qph8qc2gvq] { width: 50px; text-align: center; }
.colonne-case input[b-qph8qc2gvq] { width: auto; }

.colonne-actions[b-qph8qc2gvq] {
    width: 150px;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.btn-xs[b-qph8qc2gvq] {
    padding: 5px 10px;
    font-size: 12px;
}

.btn-lien-supprimer[b-qph8qc2gvq] {
    background: transparent;
    border: none;
    color: var(--text-faint);
    padding: 4px;
    cursor: pointer;
    display: inline-flex;
}

.btn-lien-supprimer:hover[b-qph8qc2gvq] { color: var(--danger); }

.formulaire-ajout[b-qph8qc2gvq] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    background: var(--surface-2);
}

.formulaire-ajout input[type="text"][b-qph8qc2gvq] {
    padding: 7px 10px;
    font-size: 13px;
}


.formulaire-ajout select[b-qph8qc2gvq] {
    padding: 7px 10px;
    font-size: 13px;
    width: 130px;
    flex-shrink: 0;
}

.code-sf[b-qph8qc2gvq] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-muted);
}

.champ-code[b-qph8qc2gvq] { width: 130px; flex-shrink: 0; }

/* Ordre des champs du formulaire d'ajout : code (court et fixe), nom, description. */
.formulaire-ajout .champ-code[b-qph8qc2gvq] { width: 130px; flex-shrink: 0; flex-grow: 0; }
.formulaire-ajout input[type="text"]:not(.champ-code)[b-qph8qc2gvq] { flex: 1; }
/* /Components/Pages/Administration/ListesConfigurables.razor.rz.scp.css */
.page[b-2lgf41pi5d] {
    padding: 24px 28px 28px;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.entete h1[b-2lgf41pi5d] {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 600;
}

.texte-muet[b-2lgf41pi5d] { color: var(--text-muted); font-size: 13px; }

.alerte-erreur[b-2lgf41pi5d] { margin: 0; }

.carte-liste[b-2lgf41pi5d] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.entete-liste[b-2lgf41pi5d] {
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.titre-liste[b-2lgf41pi5d] {
    font-size: 13.5px;
    font-weight: 600;
}

.soustitre-liste[b-2lgf41pi5d] {
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 1px;
}

.cle[b-2lgf41pi5d] {
    font-size: 11px;
    color: var(--text-faint);
}

table[b-2lgf41pi5d] { border-collapse: collapse; width: 100%; }

th[b-2lgf41pi5d] {
    text-align: left;
    padding: 9px 20px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border);
}

td[b-2lgf41pi5d] {
    padding: 8px 20px;
    font-size: 13px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

tr.ligne-inactive[b-2lgf41pi5d] { opacity: 0.5; }

td input[type="text"][b-2lgf41pi5d], td select[b-2lgf41pi5d] {
    padding: 6px 8px;
    font-size: 13px;
}

.champ-ordre[b-2lgf41pi5d] { width: 56px; }

.colonne-case[b-2lgf41pi5d] { width: 50px; text-align: center; }
.colonne-case input[b-2lgf41pi5d] { width: auto; }

.colonne-actions[b-2lgf41pi5d] {
    width: 150px;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.btn-xs[b-2lgf41pi5d] {
    padding: 5px 10px;
    font-size: 12px;
}

.btn-lien-supprimer[b-2lgf41pi5d] {
    background: transparent;
    border: none;
    color: var(--text-faint);
    padding: 4px;
    cursor: pointer;
    display: inline-flex;
}

.btn-lien-supprimer:hover[b-2lgf41pi5d] { color: var(--danger); }

.formulaire-ajout[b-2lgf41pi5d] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    background: var(--surface-2);
}

.formulaire-ajout input[type="text"][b-2lgf41pi5d] {
    padding: 7px 10px;
    font-size: 13px;
}

.formulaire-ajout input[type="text"]:nth-child(1)[b-2lgf41pi5d] { flex: 1; }
.formulaire-ajout input[type="text"]:nth-child(2)[b-2lgf41pi5d] { width: 160px; flex-shrink: 0; }

.formulaire-ajout select[b-2lgf41pi5d] {
    padding: 7px 10px;
    font-size: 13px;
    width: 130px;
    flex-shrink: 0;
}
/* /Components/Pages/Administration/MatriceRisque.razor.rz.scp.css */
.page[b-sqpz9kmj45] {
    padding: 24px 28px 28px;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.texte-muet[b-sqpz9kmj45] { color: var(--text-muted); font-size: 13px; }
.intro[b-sqpz9kmj45] { margin: 0; max-width: 760px; }
.note[b-sqpz9kmj45] { margin: 0; max-width: 760px; }
.alerte-erreur[b-sqpz9kmj45] { margin: 0; }

.alerte-succes[b-sqpz9kmj45] {
    margin: 0;
    padding: 12px 14px;
    border-radius: 6px;
    background: var(--success-soft);
    border: 1px solid oklch(80% 0.07 150);
    color: oklch(35% 0.12 150);
    font-size: 13px;
}

.avertissement[b-sqpz9kmj45] {
    padding: 12px 14px;
    border-radius: 6px;
    background: var(--warning-soft);
    border: 1px solid oklch(82% 0.09 75);
    color: oklch(38% 0.12 75);
    font-size: 13px;
    line-height: 1.5;
    max-width: 760px;
}

.carte-liste[b-sqpz9kmj45] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.entete-liste[b-sqpz9kmj45] {
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
}

.titre-liste[b-sqpz9kmj45] { font-size: 13.5px; font-weight: 600; }

.soustitre-liste[b-sqpz9kmj45] {
    font-size: 12.5px;
    color: var(--text-muted);
    margin-top: 3px;
}

/* La grille peut dépasser sur petit écran — elle défile dans son propre conteneur
   plutôt que d'élargir la page. */
.zone-grille[b-sqpz9kmj45] {
    overflow-x: auto;
    padding: 18px 20px;
}

.grille[b-sqpz9kmj45] {
    border-collapse: separate;
    border-spacing: 4px;
}

.entete-cote[b-sqpz9kmj45],
.entete-groupe[b-sqpz9kmj45],
.entete-sous[b-sqpz9kmj45],
.entete-ligne[b-sqpz9kmj45] {
    font-size: 11.5px;
    font-weight: 600;
    color: var(--text-muted);
    text-align: center;
    padding: 4px 8px;
    white-space: nowrap;
}

.entete-cote[b-sqpz9kmj45] {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-faint);
}

.entete-groupe[b-sqpz9kmj45] {
    background: var(--surface-2);
    border-radius: 5px;
    color: var(--text);
}

.entete-sous[b-sqpz9kmj45] { font-weight: 500; }

.entete-ligne[b-sqpz9kmj45] {
    background: var(--surface-2);
    border-radius: 5px;
    color: var(--text);
    min-width: 34px;
}

.entete-ligne-secondaire[b-sqpz9kmj45] {
    background: none;
    font-weight: 500;
    color: var(--text-muted);
}

.cellule[b-sqpz9kmj45] { padding: 0; }

.case-indice[b-sqpz9kmj45] {
    width: 52px;
    height: 36px;
    padding: 0;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    border: 1px solid transparent;
    border-radius: 5px;
}

/* Retire les flèches natives : la grille se lit comme une matrice, pas comme un formulaire. */
.case-indice[b-sqpz9kmj45]::-webkit-outer-spin-button,
.case-indice[b-sqpz9kmj45]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.case-indice[b-sqpz9kmj45] { -moz-appearance: textfield; appearance: textfield; }

.case-indice:focus[b-sqpz9kmj45] {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

/* Une valeur encore issue de la formule d'amorçage se distingue d'une valeur
   confirmée par un administrateur. */
.case-indice.provisoire[b-sqpz9kmj45] {
    border-style: dashed;
    border-color: oklch(70% 0.02 90);
    font-weight: 500;
    font-style: italic;
}

.niveau-faible[b-sqpz9kmj45] { background: var(--success-soft); color: oklch(35% 0.12 150); }
.niveau-modere[b-sqpz9kmj45] { background: var(--warning-soft); color: oklch(38% 0.12 75); }
.niveau-eleve[b-sqpz9kmj45] { background: oklch(92% 0.08 45); color: oklch(40% 0.15 45); }
.niveau-critique[b-sqpz9kmj45] { background: var(--danger-soft); color: oklch(38% 0.15 35); }

.barre-actions[b-sqpz9kmj45] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid var(--border);
    background: var(--surface-2);
}

.btn-xs[b-sqpz9kmj45] {
    padding: 6px 12px;
    font-size: 12.5px;
}

.btn-xs:disabled[b-sqpz9kmj45] {
    opacity: 0.5;
    cursor: default;
}
/* /Components/Pages/Administration/PhenomenesDangereux.razor.rz.scp.css */
.page[b-z4n5oa43ze] {
    padding: 24px 28px 28px;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.texte-muet[b-z4n5oa43ze] { color: var(--text-muted); font-size: 13px; }
.intro[b-z4n5oa43ze] { margin: 0; }

.alerte-erreur[b-z4n5oa43ze] { margin: 0; }

.carte-liste[b-z4n5oa43ze] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.entete-liste[b-z4n5oa43ze] {
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
    font-size: 13.5px;
    font-weight: 600;
}

table[b-z4n5oa43ze] { border-collapse: collapse; width: 100%; }

th[b-z4n5oa43ze] {
    text-align: left;
    padding: 9px 20px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border);
}

td[b-z4n5oa43ze] {
    padding: 10px 20px;
    font-size: 13px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

tr:last-child td[b-z4n5oa43ze] { border-bottom: none; }

.cellule-forte[b-z4n5oa43ze] { font-weight: 500; }

td input[type="text"][b-z4n5oa43ze] {
    padding: 6px 8px;
    font-size: 13px;
}

.colonne-actions[b-z4n5oa43ze] {
    width: 150px;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.btn-xs[b-z4n5oa43ze] {
    padding: 5px 10px;
    font-size: 12px;
}

.btn-lien-supprimer[b-z4n5oa43ze], .btn-lien-modifier[b-z4n5oa43ze] {
    background: transparent;
    border: none;
    color: var(--text-faint);
    padding: 4px;
    cursor: pointer;
    display: inline-flex;
}

.btn-lien-supprimer:hover[b-z4n5oa43ze] { color: var(--danger); }
.btn-lien-modifier:hover[b-z4n5oa43ze] { color: var(--accent); }

.btn-lien-annuler[b-z4n5oa43ze] {
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-size: 12px;
    font-family: inherit;
    padding: 5px 4px;
    cursor: pointer;
}

.btn-lien-annuler:hover[b-z4n5oa43ze] { color: var(--text); }

.carte-ajout[b-z4n5oa43ze] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.titre-ajout[b-z4n5oa43ze] {
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
    font-size: 13.5px;
    font-weight: 600;
}

.formulaire-ajout[b-z4n5oa43ze] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    background: var(--surface-2);
}

.formulaire-ajout input[type="text"][b-z4n5oa43ze], .formulaire-ajout select[b-z4n5oa43ze] {
    padding: 7px 10px;
    font-size: 13px;
}

.champ-nom[b-z4n5oa43ze] { width: 200px; flex-shrink: 0; }
.champ-categorie[b-z4n5oa43ze] { width: 160px; flex-shrink: 0; }
.champ-consequences[b-z4n5oa43ze] { flex: 1; }
/* /Components/Pages/Dashboard.razor.rz.scp.css */
.page[b-sfxaf143w9] {
    padding: 28px;
    max-width: 1100px;
}

.entete[b-sfxaf143w9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.entete h1[b-sfxaf143w9] {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
}

.carte-formulaire[b-sfxaf143w9] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 24px;
}

.ligne-champs[b-sfxaf143w9] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.champ[b-sfxaf143w9] { margin-bottom: 4px; }

.actions-formulaire[b-sfxaf143w9] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 16px;
}

.alerte-erreur[b-sfxaf143w9] { margin-bottom: 16px; }

.texte-muet[b-sfxaf143w9] { color: var(--text-muted); font-size: 13px; }

.etat-vide[b-sfxaf143w9] {
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 8px;
    padding: 40px;
    text-align: center;
}

.etat-vide p:first-child[b-sfxaf143w9] {
    margin: 0 0 4px;
    font-weight: 500;
    color: var(--text);
}

.carte-table[b-sfxaf143w9] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.entete-table[b-sfxaf143w9] {
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
    font-size: 13.5px;
    font-weight: 600;
}

table[b-sfxaf143w9] { border-collapse: collapse; width: 100%; }

th[b-sfxaf143w9] {
    text-align: left;
    padding: 10px 20px;
    font-size: 11.5px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border);
}

td[b-sfxaf143w9] {
    padding: 14px 20px;
    font-size: 13.5px;
    border-bottom: 1px solid var(--border);
}

tr:last-child td[b-sfxaf143w9] { border-bottom: none; }

.nom-projet[b-sfxaf143w9] { font-weight: 500; }

.ligne-cliquable[b-sfxaf143w9] { cursor: pointer; }
.ligne-cliquable:hover[b-sfxaf143w9] { background: var(--surface-2); }
/* /Components/Pages/Projets/AnalyseRisque.razor.rz.scp.css */
.page-chargement[b-rx453rk8rj] {
    padding: 40px 28px;
}

.ecran[b-rx453rk8rj] {
    display: flex;
    flex-direction: column;
    /* Occupe la place laissée par l'en-tête de projet, quelle que soit sa hauteur.
       Un calc() sur 100vh supposerait une barre d'onglets d'une seule ligne. */
    flex: 1;
    min-height: 0;
}

.entete-ecran[b-rx453rk8rj] {
    padding: 20px 28px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
}

.titre-section[b-rx453rk8rj] {
    font-size: 16px;
    font-weight: 600;
}

.soustitre-section[b-rx453rk8rj] {
    font-size: 12.5px;
    color: var(--text-muted);
    margin-top: 2px;
}

.btn-sm[b-rx453rk8rj] {
    padding: 9px 14px;
    font-size: 13px;
}

.alerte-globale[b-rx453rk8rj] {
    margin: 0 28px 16px;
}

.texte-muet[b-rx453rk8rj] { color: var(--text-muted); font-size: 13px; }

.etat-vide[b-rx453rk8rj] {
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 8px;
    padding: 32px;
    text-align: center;
}

.etat-vide p:first-child[b-rx453rk8rj] {
    margin: 0 0 4px;
    font-weight: 500;
    color: var(--text);
}

/* --- Formulaire nouvelle ligne ------------------------------------- */

.carte-formulaire-nouvelle[b-rx453rk8rj] {
    margin: 0 28px 16px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 18px 20px;
    flex-shrink: 0;
}

.grille-nouvelle[b-rx453rk8rj] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.champ[b-rx453rk8rj] { margin-bottom: 4px; }

.champ textarea[b-rx453rk8rj] {
    width: 100%;
    font-family: inherit;
    font-size: 13.5px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface);
    color: var(--text);
    resize: vertical;
}

.actions-formulaire[b-rx453rk8rj] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

.btn-xs[b-rx453rk8rj] {
    padding: 6px 11px;
    font-size: 12px;
}

/* --- Corps deux colonnes -------------------------------------------- */

.corps[b-rx453rk8rj] {
    flex: 1;
    display: flex;
    min-height: 0;
    border-top: 1px solid var(--border);
}

/* --- Détail ----------------------------------------------------------- */

.detail-ligne[b-rx453rk8rj] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    padding: 24px 32px 40px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.detail-entete h2[b-rx453rk8rj] {
    margin: 2px 0 0;
    font-size: 18px;
    font-weight: 600;
}

.detail-fil[b-rx453rk8rj] {
    font-size: 12px;
    color: var(--text-muted);
}

.section-gfop[b-rx453rk8rj] {
    border-top: 1px solid var(--border);
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ligne-cote label[b-rx453rk8rj] {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    margin-bottom: 8px;
}

.pastilles[b-rx453rk8rj] {
    display: flex;
    gap: 8px;
}

.pastille[b-rx453rk8rj] {
    width: 52px;
    height: 38px;
    border-radius: 6px;
    border: 1.5px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.pastille:hover[b-rx453rk8rj] { border-color: var(--accent); }

.pastille.selectionnee[b-rx453rk8rj] {
    background: var(--accent);
    border-color: var(--accent);
    color: white;
}

.bandeau-indice[b-rx453rk8rj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    border-radius: 8px;
    border: 1px solid transparent;
}

.bandeau-etiquette[b-rx453rk8rj] {
    font-size: 11.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.bandeau-valeur[b-rx453rk8rj] {
    font-size: 24px;
    font-weight: 700;
    margin-top: 2px;
}

.bandeau-mention[b-rx453rk8rj] {
    font-size: 13px;
    font-weight: 600;
}

.bandeau-vert[b-rx453rk8rj] { background: var(--success-soft); }
.bandeau-vert .bandeau-etiquette[b-rx453rk8rj], .bandeau-vert .bandeau-valeur[b-rx453rk8rj], .bandeau-vert .bandeau-mention[b-rx453rk8rj] { color: oklch(35% 0.11 150); }

.bandeau-orange[b-rx453rk8rj] { background: var(--warning-soft); }
.bandeau-orange .bandeau-etiquette[b-rx453rk8rj], .bandeau-orange .bandeau-valeur[b-rx453rk8rj], .bandeau-orange .bandeau-mention[b-rx453rk8rj] { color: oklch(38% 0.13 75); }

.bandeau-rouge[b-rx453rk8rj] { background: var(--danger-soft); }
.bandeau-rouge .bandeau-etiquette[b-rx453rk8rj], .bandeau-rouge .bandeau-valeur[b-rx453rk8rj], .bandeau-rouge .bandeau-mention[b-rx453rk8rj] { color: oklch(38% 0.15 35); }

.section-evaluation[b-rx453rk8rj] {
    border-top: 1px solid var(--border);
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.section-evaluation label[b-rx453rk8rj] {
    font-size: 12.5px;
    font-weight: 600;
}

.choix-evaluation[b-rx453rk8rj] {
    display: flex;
    gap: 8px;
}

.choix[b-rx453rk8rj] {
    flex: 1;
    padding: 11px;
    border-radius: 6px;
    border: 1.5px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.choix-oui-actif[b-rx453rk8rj] {
    border-color: var(--success);
    background: var(--success-soft);
    color: oklch(35% 0.11 150);
    font-weight: 600;
}

.choix-non-actif[b-rx453rk8rj] {
    border-color: var(--danger);
    background: var(--danger-soft);
    color: oklch(38% 0.15 35);
    font-weight: 600;
}

.indication-estimation[b-rx453rk8rj] {
    margin: 0;
    padding-top: 4px;
}

.pied-detail[b-rx453rk8rj] {
    border-top: 1px solid var(--border);
    padding-top: 16px;
    margin-top: auto;
}

.btn-lien-supprimer-texte[b-rx453rk8rj] {
    background: transparent;
    border: none;
    color: var(--text-faint);
    font-size: 12.5px;
    font-family: inherit;
    cursor: pointer;
    padding: 0;
}

.btn-lien-supprimer-texte:hover[b-rx453rk8rj] { color: var(--danger); }

/* --- Pièces jointes (section 5.12) ------------------------------------ */

.section-documents[b-rx453rk8rj] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.section-documents > label[b-rx453rk8rj] {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-muted);
}

/* --- Module 10 : PLr requis, en appui de l'estimation ------------------ */

.section-plr[b-rx453rk8rj] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.section-plr > label[b-rx453rk8rj] {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-muted);
}

.bandeau-plr[b-rx453rk8rj] {
    display: flex;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 12px 16px;
}

.etiquette-plr[b-rx453rk8rj] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-faint);
}

.valeur-plr-grande[b-rx453rk8rj] {
    font-size: 22px;
    font-weight: 700;
    text-transform: lowercase;
    line-height: 1.1;
}

.valeur-transposition[b-rx453rk8rj] {
    font-size: 13px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.renvoi-plr[b-rx453rk8rj] {
    margin: 0;
    font-size: 11.5px;
    color: var(--text-faint);
}
/* /Components/Pages/Projets/BoutonPiecesJointes.razor.rz.scp.css */
.btn-trombone[b-yd1jnpvnx5] {
    background: none;
    border: none;
    padding: 2px 4px;
    cursor: pointer;
    color: var(--text-faint);
    display: inline-flex;
    align-items: center;
    gap: 3px;
    border-radius: 4px;
}

.btn-trombone:hover[b-yd1jnpvnx5] { color: var(--accent); }

.btn-trombone.actif[b-yd1jnpvnx5] {
    color: var(--accent);
    background: var(--accent-soft);
}

.compteur-trombone[b-yd1jnpvnx5] {
    font-size: 11px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
/* /Components/Pages/Projets/DocumentsJoints.razor.rz.scp.css */
.documents[b-msrzzfve1a] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
}

.texte-faible[b-msrzzfve1a] { font-size: 12px; color: var(--text-faint); }

.liste-documents[b-msrzzfve1a] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
}

.document[b-msrzzfve1a] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
}

.vignette-lien[b-msrzzfve1a] { display: inline-flex; }

.vignette[b-msrzzfve1a] {
    width: 30px;
    height: 30px;
    object-fit: cover;
    border-radius: 4px;
    border: 1px solid var(--border);
    display: block;
}

.icone-fichier[b-msrzzfve1a] {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: var(--surface-2);
    border: 1px solid var(--border);
    font-size: 9px;
    font-weight: 600;
    color: var(--text-muted);
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.nom-document[b-msrzzfve1a] {
    color: var(--accent);
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.taille-document[b-msrzzfve1a] {
    font-size: 11.5px;
    color: var(--text-faint);
    font-variant-numeric: tabular-nums;
}

.btn-lien-supprimer[b-msrzzfve1a] {
    background: none;
    border: none;
    padding: 2px;
    cursor: pointer;
    color: var(--text-faint);
    display: inline-flex;
}

.btn-lien-supprimer:hover[b-msrzzfve1a] { color: var(--danger); }
.btn-lien-supprimer:disabled[b-msrzzfve1a] { opacity: 0.4; cursor: default; }

/* L'input natif est masqué : son rendu par défaut jure avec le reste des écrans,
   et le label entier sert de zone cliquable. */
.ajout-document[b-msrzzfve1a] {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    /* Indispensable, pas décoratif : le champ de fichier masqué ci-dessous est en
       position absolue. Sans ancêtre positionné, son bloc conteneur serait la fenêtre —
       il échapperait au panneau qui défile et étirerait la page entière jusqu'à sa
       position statique, soit une grande zone vide sous l'écran. */
    position: relative;
    overflow: hidden;
}

.ajout-document[b-msrzzfve1a]  input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}

.libelle-ajout[b-msrzzfve1a] {
    font-size: 12px;
    color: var(--text-muted);
    border: 1px dashed var(--border);
    border-radius: 5px;
    padding: 4px 9px;
}

.ajout-document:hover .libelle-ajout[b-msrzzfve1a] {
    color: var(--accent);
    border-color: var(--accent);
}

.erreur-document[b-msrzzfve1a] {
    font-size: 12px;
    color: var(--danger);
}

/* --- Repères sur les photos ---------------------------------------------- */

/* La ligne reste une ligne ; la photo annotée passe dessous sur toute la largeur. */
.document[b-msrzzfve1a] { flex-wrap: wrap; }

.zone-photo[b-msrzzfve1a] {
    flex-basis: 100%;
    max-width: 560px;
    margin: 6px 0 10px;
}

.btn-annoter[b-msrzzfve1a] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    padding: 3px 9px;
    border: 1px solid var(--border);
    border-radius: 5px;
    background: var(--surface);
    color: var(--text-muted);
    font-family: inherit;
    font-size: 11.5px;
    font-weight: 500;
    cursor: pointer;
}

.btn-annoter:hover[b-msrzzfve1a] { color: var(--accent); border-color: var(--accent); }
.btn-annoter:disabled[b-msrzzfve1a] { opacity: 0.4; cursor: default; }

.compte-reperes[b-msrzzfve1a] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 15px;
    height: 15px;
    border-radius: 8px;
    padding: 0 4px;
    background: #e03a12;
    color: white;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10px;
    font-weight: 600;
}

.legende-lecture[b-msrzzfve1a] {
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-size: 12px;
    color: var(--text-muted);
}

.legende-lecture li[b-msrzzfve1a] {
    display: flex;
    align-items: center;
    gap: 7px;
}

.puce-lecture[b-msrzzfve1a] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #e03a12;
    color: white;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 10.5px;
    font-weight: 600;
}
/* /Components/Pages/Projets/EditeurAnnotationsPhoto.razor.rz.scp.css */
.editeur-annotations[b-036nzbbm2n] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-2);
}

.barre-outils[b-036nzbbm2n] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.outils[b-036nzbbm2n] {
    display: flex;
    gap: 4px;
    padding: 3px;
    border-radius: 7px;
    background: var(--surface);
    border: 1px solid var(--border);
}

.outil[b-036nzbbm2n] {
    padding: 5px 11px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: var(--text-muted);
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 500;
    cursor: pointer;
}

.outil:hover[b-036nzbbm2n] { color: var(--text); }

.outil.actif[b-036nzbbm2n] {
    background: var(--accent);
    color: white;
}

.consigne[b-036nzbbm2n] {
    font-size: 12px;
    color: var(--text-faint);
}

.texte-faible[b-036nzbbm2n] {
    margin: 0;
    font-size: 12px;
    color: var(--text-faint);
}

/* --- Légende ------------------------------------------------------------- */

.legende[b-036nzbbm2n] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.legende li[b-036nzbbm2n] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 6px;
    border-radius: 6px;
    cursor: pointer;
}

.legende li:hover[b-036nzbbm2n] { background: var(--surface); }

.legende li.selectionnee[b-036nzbbm2n] {
    background: var(--accent-soft);
}

.puce[b-036nzbbm2n] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #e03a12;
    color: white;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    font-weight: 600;
}

.forme[b-036nzbbm2n] {
    flex-shrink: 0;
    width: 48px;
    font-size: 11.5px;
    color: var(--text-faint);
}

.legende input[type="text"][b-036nzbbm2n] {
    flex: 1;
    min-width: 0;
    padding: 4px 8px;
    font-size: 12.5px;
}

.btn-lien-supprimer[b-036nzbbm2n] {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    padding: 2px;
    border: 0;
    background: none;
    color: var(--text-faint);
    cursor: pointer;
}

.btn-lien-supprimer:hover[b-036nzbbm2n] { color: var(--danger); }

.erreur-document[b-036nzbbm2n] {
    font-size: 12px;
    color: var(--danger);
}

.actions-formulaire[b-036nzbbm2n] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.btn-xs[b-036nzbbm2n] {
    padding: 5px 10px;
    font-size: 12px;
}
/* /Components/Pages/Projets/FichierRendu.razor.rz.scp.css */
.page[b-dponag4ljt] {
    padding: 24px 28px 28px;
    max-width: 1000px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.texte-muet[b-dponag4ljt] { color: var(--text-muted); font-size: 13px; }
.intro[b-dponag4ljt] { margin: 0; max-width: 760px; line-height: 1.55; }
.note[b-dponag4ljt] { margin: 0; }

.etat-vide[b-dponag4ljt] { padding: 40px; text-align: center; }

.cartes-versions[b-dponag4ljt] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.carte-version[b-dponag4ljt] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.entete-version[b-dponag4ljt] {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.entete-version h2[b-dponag4ljt] {
    margin: 0;
    font-size: 14.5px;
    font-weight: 600;
}

.etiquette-version[b-dponag4ljt] {
    font-size: 10.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--accent);
    background: var(--accent-soft);
    border-radius: 4px;
    padding: 2px 6px;
}

.carte-version p[b-dponag4ljt] {
    margin: 0;
    line-height: 1.5;
    flex: 1;
}

/* Les deux exports sont des liens et non des boutons : le PDF s'ouvre dans un
   nouvel onglet, sans quitter l'écran ni bloquer l'interface pendant la génération. */
.carte-version a[b-dponag4ljt] {
    text-decoration: none;
    margin-top: 2px;
}

.apercu[b-dponag4ljt] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 16px 20px;
}

.titre-apercu[b-dponag4ljt] {
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-muted);
    margin-bottom: 10px;
}

.liste-apercu[b-dponag4ljt] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.liste-apercu li[b-dponag4ljt] { font-size: 13px; }

.avertissement[b-dponag4ljt] {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-radius: 6px;
    background: var(--warning-soft);
    border: 1px solid oklch(82% 0.09 75);
    color: oklch(38% 0.12 75);
    font-size: 12.5px;
}

@media (max-width: 820px) {
    .cartes-versions[b-dponag4ljt] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Projets/GuideCotationGfop.razor.rz.scp.css */
.guide-cotation[b-0ybm7bxfhc] {
    margin-top: 8px;
}

.guide-cotation summary[b-0ybm7bxfhc] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 0;
    font-size: 12px;
    color: var(--text-faint);
    cursor: pointer;
    user-select: none;
    list-style: none;
}

/* Le marqueur natif diffère d'un navigateur à l'autre : on le remplace par un
   chevron pivotant, seul repère d'état une fois le dépliant fermé. */
.guide-cotation summary[b-0ybm7bxfhc]::-webkit-details-marker {
    display: none;
}

.guide-cotation summary[b-0ybm7bxfhc]::before {
    content: '';
    width: 5px;
    height: 5px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(-45deg) translate(-1px, -1px);
    transition: transform 0.15s ease;
}

.guide-cotation[open] > summary[b-0ybm7bxfhc]::before {
    transform: rotate(45deg) translate(-2px, -2px);
}

.guide-cotation summary:hover[b-0ybm7bxfhc] {
    color: var(--accent);
}

.guide-cotation summary:focus-visible[b-0ybm7bxfhc] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
    border-radius: 3px;
}

.corps[b-0ybm7bxfhc] {
    margin-top: 6px;
    padding: 12px 14px;
    border-left: 2px solid var(--accent-soft);
    border-radius: 0 6px 6px 0;
    background: var(--surface-2);
}

.corps dl[b-0ybm7bxfhc] {
    margin: 0;
}

.corps dt[b-0ybm7bxfhc] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text);
}

.corps dt + dd + dt[b-0ybm7bxfhc],
.corps dd + dt[b-0ybm7bxfhc] {
    margin-top: 12px;
}

.cote[b-0ybm7bxfhc] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    padding: 2px 6px;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent-dark);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11.5px;
    font-weight: 600;
}

.corps dd[b-0ybm7bxfhc] {
    margin: 4px 0 0 38px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--text-muted);
}

.corps dd ul[b-0ybm7bxfhc] {
    margin: 0;
    padding-left: 16px;
}

.corps dd li + li[b-0ybm7bxfhc] {
    margin-top: 4px;
}

.exemples[b-0ybm7bxfhc],
.note[b-0ybm7bxfhc] {
    margin: 4px 0 0 0;
    color: var(--text-faint);
}

.note[b-0ybm7bxfhc] {
    font-style: italic;
}
/* /Components/Pages/Projets/LimitesMachine.razor.rz.scp.css */
.page[b-qx2vmsy07g] {
    padding: 24px 28px 28px;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.carte-formulaire[b-qx2vmsy07g] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 20px;
}

.carte-formulaire h2[b-qx2vmsy07g] {
    margin: 0 0 16px;
    font-size: 14.5px;
    font-weight: 600;
}

.grille-champs[b-qx2vmsy07g] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.champ-large[b-qx2vmsy07g] {
    grid-column: span 3;
}

.champ[b-qx2vmsy07g] { margin-bottom: 4px; }

.actions-formulaire[b-qx2vmsy07g] {
    display: flex;
    justify-content: flex-end;
    margin-top: 16px;
}

.alerte-erreur[b-qx2vmsy07g] { margin-bottom: 16px; }

.texte-muet[b-qx2vmsy07g] { color: var(--text-muted); font-size: 13px; }

.etat-vide[b-qx2vmsy07g] {
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 8px;
    padding: 32px;
    text-align: center;
}

.etat-vide p:first-child[b-qx2vmsy07g] {
    margin: 0 0 4px;
    font-weight: 500;
    color: var(--text);
}

.carte-table[b-qx2vmsy07g] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.entete-table[b-qx2vmsy07g] {
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
    font-weight: 600;
}

table[b-qx2vmsy07g] { border-collapse: collapse; width: 100%; }

th[b-qx2vmsy07g] {
    text-align: left;
    padding: 9px 20px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border);
}

td[b-qx2vmsy07g] {
    padding: 12px 20px;
    font-size: 13.5px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

tr:last-child td[b-qx2vmsy07g] { border-bottom: none; }

.nom-projet[b-qx2vmsy07g] { font-weight: 500; }

.tag[b-qx2vmsy07g] {
    font-size: 11.5px;
    padding: 3px 9px;
    border-radius: 100px;
    background: var(--accent-soft);
    color: var(--accent);
}

.colonne-actions[b-qx2vmsy07g] {
    width: 1%;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.btn-lien-supprimer[b-qx2vmsy07g], .btn-lien-modifier[b-qx2vmsy07g] {
    background: transparent;
    border: none;
    color: var(--text-faint);
    padding: 4px;
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
}

.btn-lien-supprimer:hover[b-qx2vmsy07g] { color: var(--danger); }
.btn-lien-modifier:hover[b-qx2vmsy07g] { color: var(--accent); }

.btn-xs[b-qx2vmsy07g] {
    padding: 5px 10px;
    font-size: 12px;
    flex-shrink: 0;
}

.btn-lien-annuler[b-qx2vmsy07g] {
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-size: 12px;
    font-family: inherit;
    padding: 5px 4px;
    cursor: pointer;
    flex-shrink: 0;
}

.btn-lien-annuler:hover[b-qx2vmsy07g] { color: var(--text); }

td input[type="text"][b-qx2vmsy07g] {
    padding: 6px 8px;
    font-size: 13px;
}

/* --- Pièces jointes (section 5.12) ------------------------------------ */

.colonne-trombone[b-qx2vmsy07g] {
    width: 44px;
    text-align: center;
}

/* Le panneau se déplie sous la ligne concernée plutôt que dans sa cellule :
   une pièce jointe et sa vignette ne tiennent pas dans la hauteur d'une ligne. */
.ligne-documents td[b-qx2vmsy07g] {
    background: var(--surface-2);
    padding: 12px 20px;
}
/* /Components/Pages/Projets/ListeSituationsDangereuses.razor.rz.scp.css */
.liste-lignes[b-f8hydx9jh0] {
    width: 320px;
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    overflow-y: auto;
    padding: 14px 10px;
}

.entete-liste[b-f8hydx9jh0] {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 4px 8px 10px;
}

.item-ligne[b-f8hydx9jh0] {
    padding: 11px 12px;
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 2px;
}

.item-ligne:hover[b-f8hydx9jh0] { background: var(--surface-2); }

.item-ligne.actif[b-f8hydx9jh0] {
    background: var(--accent-soft);
    border: 1px solid oklch(80% 0.05 200);
}

.item-entete[b-f8hydx9jh0] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.item-titre[b-f8hydx9jh0] {
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.35;
}

.item-soustitre[b-f8hydx9jh0] {
    font-size: 11.5px;
    color: var(--text-muted);
    margin-top: 3px;
}

.badge-indice[b-f8hydx9jh0] {
    flex-shrink: 0;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    font-weight: 700;
    border-radius: 5px;
    padding: 2px 7px;
    color: white;
}

.badge-indice-vert[b-f8hydx9jh0] { background: var(--success); }
.badge-indice-orange[b-f8hydx9jh0] { background: var(--warning); color: oklch(30% 0.1 75); }
.badge-indice-rouge[b-f8hydx9jh0] { background: var(--danger); }
.badge-indice-neutre[b-f8hydx9jh0] { background: var(--border); color: var(--text-muted); }
/* Compteur discret dans la liste de gauche : indique qu'une situation porte des
   preuves terrain sans obliger à l'ouvrir. */
.item-trombone[b-f8hydx9jh0] {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-faint);
}

/* /Components/Pages/Projets/PartageProjet.razor.rz.scp.css */
.page[b-5qi7yh5hn8] {
    padding: 24px 28px 28px;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.texte-muet[b-5qi7yh5hn8] { color: var(--text-muted); font-size: 13px; }
.intro[b-5qi7yh5hn8] { margin: 0; max-width: 760px; line-height: 1.55; }
.note[b-5qi7yh5hn8] { margin: 0; max-width: 760px; line-height: 1.55; }
.alerte-erreur[b-5qi7yh5hn8] { margin: 0; }

.alerte-succes[b-5qi7yh5hn8] {
    margin: 0;
    padding: 12px 14px;
    border-radius: 6px;
    background: var(--success-soft);
    border: 1px solid oklch(80% 0.07 150);
    color: oklch(35% 0.12 150);
    font-size: 13px;
}

.etat-vide[b-5qi7yh5hn8] { padding: 40px; text-align: center; }

.carte-liste[b-5qi7yh5hn8] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.entete-liste[b-5qi7yh5hn8] {
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
}

.titre-liste[b-5qi7yh5hn8] { font-size: 13.5px; font-weight: 600; }
.soustitre-liste[b-5qi7yh5hn8] { font-size: 12px; color: var(--text-muted); margin-top: 1px; }

table[b-5qi7yh5hn8] { border-collapse: collapse; width: 100%; }

th[b-5qi7yh5hn8] {
    text-align: left;
    padding: 9px 20px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border);
}

td[b-5qi7yh5hn8] {
    padding: 9px 20px;
    font-size: 13px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

tr:last-child td[b-5qi7yh5hn8] { border-bottom: none; }

.cellule-forte[b-5qi7yh5hn8] { font-weight: 500; }

td select[b-5qi7yh5hn8] { padding: 5px 8px; font-size: 12.5px; }

.badge-proprietaire[b-5qi7yh5hn8] {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    background: var(--accent-soft);
    color: var(--accent-dark);
}

.colonne-actions[b-5qi7yh5hn8] { width: 60px; text-align: right; }

.btn-lien-supprimer[b-5qi7yh5hn8] {
    background: transparent;
    border: none;
    color: var(--text-faint);
    cursor: pointer;
    padding: 2px;
    display: inline-flex;
}

.btn-lien-supprimer:hover[b-5qi7yh5hn8] { color: var(--danger); }
.btn-lien-supprimer:disabled[b-5qi7yh5hn8] { opacity: 0.4; cursor: default; }

.formulaire-ajout[b-5qi7yh5hn8] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid var(--border);
    background: var(--surface-2);
}

.formulaire-ajout input[type="email"][b-5qi7yh5hn8] {
    flex: 1;
    padding: 7px 10px;
    font-size: 13px;
}

.formulaire-ajout select[b-5qi7yh5hn8] {
    padding: 7px 10px;
    font-size: 13px;
    width: 120px;
    flex-shrink: 0;
}

.btn-xs[b-5qi7yh5hn8] { padding: 6px 12px; font-size: 12.5px; }
.btn-xs:disabled[b-5qi7yh5hn8] { opacity: 0.5; cursor: default; }
/* /Components/Pages/Projets/PhotoAnnotee.razor.rz.scp.css */
/* Le calque se pose sur des photos de terrain dont on ne sait rien : les couleurs du
   thème ne garantiraient pas le contraste. Rouge franc cerné de blanc, valeurs en dur
   et identiques à celles du fichier de rendu (GenerateurHtmlRapport.StylesAnnotations)
   pour que l'écran et la page imprimée montrent exactement la même chose. */

.cadre-photo[b-4jk6cl9wew] {
    position: relative;
    display: block;
    line-height: 0;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid var(--border);
    background: var(--surface-2);
}

.cadre-actif[b-4jk6cl9wew] {
    cursor: crosshair;
}

.photo[b-4jk6cl9wew] {
    display: block;
    width: 100%;
    height: auto;
}

.annotation[b-4jk6cl9wew] {
    position: absolute;
    color: #ffffff;
    /* Transparent aux clics par défaut : sinon un repère déjà posé volerait le clic
       destiné à la photo, et on ne pourrait plus rien placer par-dessus. */
    pointer-events: none;
}

.annotations-cliquables .annotation[b-4jk6cl9wew] {
    pointer-events: auto;
    cursor: pointer;
}

/* --- Repère : un anneau qui entoure le point sans le masquer ------------- */

.repere[b-4jk6cl9wew] {
    transform: translate(-50%, -50%);
}

.cible[b-4jk6cl9wew] {
    display: block;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 3px solid #e03a12;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.9), inset 0 0 0 2px rgba(255, 255, 255, 0.9);
}

.repere .pastille[b-4jk6cl9wew] {
    position: absolute;
    left: 100%;
    top: -10px;
    margin-left: -10px;
}

/* --- Flèche : le fût part de la pointe vers l'arrière -------------------- */

/* Hauteur nulle et origine sur le bord gauche : la rotation fait pivoter la queue
   autour de la pointe, qui reste collée au point désigné. */
.fleche[b-4jk6cl9wew] {
    height: 0;
    transform-origin: left center;
}

/* Démarre sous la tête : son extrémité carrée, contour blanc compris, est ainsi
   recouverte, et les deux liserés blancs se rejoignent sans marche. */
.fleche-fut[b-4jk6cl9wew] {
    position: absolute;
    left: 14px;
    right: 0;
    top: -2px;
    height: 4px;
    background: #e03a12;
    box-shadow: 0 0 0 1.5px #ffffff;
}

/* SVG et non triangle CSS : un triangle en bordures ne peut porter qu'un halo
   rectangulaire, alors qu'un tracé prend un contour qui épouse sa forme
   (paint-order dessine le liseré sous le remplissage). L'apex du tracé est en x = 2 du
   viewBox et l'élément est décalé de -2px : la pointe tombe donc exactement sur le
   point désigné. */
.fleche-tete[b-4jk6cl9wew] {
    position: absolute;
    left: -2px;
    top: -9px;
    width: 20px;
    height: 18px;
    overflow: visible;
}

.fleche-tete path[b-4jk6cl9wew] {
    fill: #e03a12;
    stroke: #ffffff;
    stroke-width: 3;
    stroke-linejoin: round;
    paint-order: stroke;
}

.fleche .pastille[b-4jk6cl9wew] {
    position: absolute;
    right: 0;
    top: 0;
}

/* --- Pastille numérotée --------------------------------------------------- */

.pastille[b-4jk6cl9wew] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #e03a12;
    border: 1.5px solid #ffffff;
    font-family: 'IBM Plex Mono', monospace;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}

/* --- Sélection dans l'éditeur --------------------------------------------- */

.selectionnee .cible[b-4jk6cl9wew],
.selectionnee .pastille[b-4jk6cl9wew] {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.selectionnee .fleche-fut[b-4jk6cl9wew] {
    box-shadow: 0 0 0 2.5px #ffffff;
}

.selectionnee .fleche-tete path[b-4jk6cl9wew] {
    stroke-width: 5;
}
/* /Components/Pages/Projets/ProjetEntete.razor.rz.scp.css */
.entete-projet[b-cj574ca36d] {
    padding: 24px 28px 0;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
    /* Ne se comprime pas : les onglets passent à deux lignes dans une fenêtre étroite, et
       c'est à l'écran de céder la place, pas à la navigation de s'écraser. */
    flex-shrink: 0;
}

.fil-ariane[b-cj574ca36d] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    color: var(--text-muted);
    margin-bottom: 16px;
}

.fil-ariane span:last-child[b-cj574ca36d] {
    color: var(--text);
    font-weight: 500;
}

.sous-nav[b-cj574ca36d] {
    display: flex;
    gap: 22px;
}

.sous-nav-item[b-cj574ca36d] {
    padding: 0 0 12px;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--text-muted);
    border-bottom: 2px solid transparent;
}

.sous-nav-item:hover[b-cj574ca36d] {
    color: var(--text);
    text-decoration: none;
}

.sous-nav-item.actif[b-cj574ca36d] {
    color: var(--accent);
    border-bottom-color: var(--accent);
}
/* /Components/Pages/Projets/ReductionRisque.razor.rz.scp.css */
.page-chargement[b-1g77bwnukn] {
    padding: 40px 28px;
}

.ecran[b-1g77bwnukn] {
    display: flex;
    flex-direction: column;
    /* Occupe la place laissée par l'en-tête de projet, quelle que soit sa hauteur.
       Un calc() sur 100vh supposerait une barre d'onglets d'une seule ligne. */
    flex: 1;
    min-height: 0;
}

.entete-ecran[b-1g77bwnukn] {
    padding: 20px 28px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
}

.titre-section[b-1g77bwnukn] {
    font-size: 16px;
    font-weight: 600;
}

.soustitre-section[b-1g77bwnukn] {
    font-size: 12.5px;
    color: var(--text-muted);
    margin-top: 2px;
}

.btn-sm[b-1g77bwnukn] {
    padding: 9px 14px;
    font-size: 13px;
}

.alerte-globale[b-1g77bwnukn] {
    margin: 0 28px 16px;
}

.texte-muet[b-1g77bwnukn] { color: var(--text-muted); font-size: 13px; }

.etat-vide[b-1g77bwnukn] {
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 8px;
    padding: 32px;
    text-align: center;
}

.etat-vide p:first-child[b-1g77bwnukn] {
    margin: 0 0 4px;
    font-weight: 500;
    color: var(--text);
}

/* --- Formulaire de mesure ------------------------------------------- */

.champ[b-1g77bwnukn] { margin-bottom: 4px; }

.champ textarea[b-1g77bwnukn] {
    width: 100%;
    font-family: inherit;
    font-size: 13.5px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface);
    color: var(--text);
    resize: vertical;
}

.actions-formulaire[b-1g77bwnukn] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
}

.btn-xs[b-1g77bwnukn] {
    padding: 6px 11px;
    font-size: 12px;
}

/* --- Corps deux colonnes -------------------------------------------- */

.corps[b-1g77bwnukn] {
    flex: 1;
    display: flex;
    min-height: 0;
    border-top: 1px solid var(--border);
}

/* --- Détail ----------------------------------------------------------- */

.detail-ligne[b-1g77bwnukn] {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
    padding: 24px 32px 40px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.detail-entete h2[b-1g77bwnukn] {
    margin: 2px 0 0;
    font-size: 18px;
    font-weight: 600;
}

.detail-fil[b-1g77bwnukn] {
    font-size: 12px;
    color: var(--text-muted);
}

.section-gfop[b-1g77bwnukn] {
    border-top: 1px solid var(--border);
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ligne-cote label[b-1g77bwnukn] {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    margin-bottom: 8px;
}

.pastilles[b-1g77bwnukn] {
    display: flex;
    gap: 8px;
}

.pastille[b-1g77bwnukn] {
    width: 52px;
    height: 38px;
    border-radius: 6px;
    border: 1.5px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    font-family: 'IBM Plex Mono', monospace;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.pastille:hover[b-1g77bwnukn] { border-color: var(--accent); }

.pastille.selectionnee[b-1g77bwnukn] {
    background: var(--accent);
    border-color: var(--accent);
    color: white;
}

.bandeau-indice[b-1g77bwnukn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 18px;
    border-radius: 8px;
    border: 1px solid transparent;
}

.bandeau-etiquette[b-1g77bwnukn] {
    font-size: 11.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.bandeau-valeur[b-1g77bwnukn] {
    font-size: 24px;
    font-weight: 700;
    margin-top: 2px;
}

.bandeau-mention[b-1g77bwnukn] {
    font-size: 13px;
    font-weight: 600;
}

.bandeau-vert[b-1g77bwnukn] { background: var(--success-soft); }
.bandeau-vert .bandeau-etiquette[b-1g77bwnukn], .bandeau-vert .bandeau-valeur[b-1g77bwnukn], .bandeau-vert .bandeau-mention[b-1g77bwnukn] { color: oklch(35% 0.11 150); }

.bandeau-orange[b-1g77bwnukn] { background: var(--warning-soft); }
.bandeau-orange .bandeau-etiquette[b-1g77bwnukn], .bandeau-orange .bandeau-valeur[b-1g77bwnukn], .bandeau-orange .bandeau-mention[b-1g77bwnukn] { color: oklch(38% 0.13 75); }

.bandeau-rouge[b-1g77bwnukn] { background: var(--danger-soft); }
.bandeau-rouge .bandeau-etiquette[b-1g77bwnukn], .bandeau-rouge .bandeau-valeur[b-1g77bwnukn], .bandeau-rouge .bandeau-mention[b-1g77bwnukn] { color: oklch(38% 0.15 35); }

.section-evaluation[b-1g77bwnukn] {
    border-top: 1px solid var(--border);
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.section-evaluation label[b-1g77bwnukn] {
    font-size: 12.5px;
    font-weight: 600;
}

.choix-evaluation[b-1g77bwnukn] {
    display: flex;
    gap: 8px;
}

.choix[b-1g77bwnukn] {
    flex: 1;
    padding: 11px;
    border-radius: 6px;
    border: 1.5px solid var(--border);
    background: var(--surface);
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.choix-oui-actif[b-1g77bwnukn] {
    border-color: var(--success);
    background: var(--success-soft);
    color: oklch(35% 0.11 150);
    font-weight: 600;
}

.choix-non-actif[b-1g77bwnukn] {
    border-color: var(--danger);
    background: var(--danger-soft);
    color: oklch(38% 0.15 35);
    font-weight: 600;
}

.indication-estimation[b-1g77bwnukn] {
    margin: 0;
    padding-top: 4px;
}

/* --- Modules 9 et 10 : réduction du risque et PLr --------------------- */

.section-reduction[b-1g77bwnukn],
.section-plr[b-1g77bwnukn],
.section-residuel[b-1g77bwnukn] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.section-reduction > label[b-1g77bwnukn],
.section-plr > label[b-1g77bwnukn],
.section-residuel > label[b-1g77bwnukn] {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-muted);
}

.entete-section[b-1g77bwnukn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.entete-section label[b-1g77bwnukn] {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-muted);
}

.formulaire-mesure[b-1g77bwnukn] {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.grille-mesure[b-1g77bwnukn] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.grille-mesure .champ-large[b-1g77bwnukn] { grid-column: 1 / -1; }

.aide-champ[b-1g77bwnukn] {
    font-size: 11.5px;
    color: var(--text-faint);
    margin-top: 3px;
}

.aide-champ code[b-1g77bwnukn] {
    font-size: 11px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 3px;
    padding: 0 3px;
}

.liste-mesures[b-1g77bwnukn] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mesure[b-1g77bwnukn] {
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 11px 13px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: var(--surface);
}

.mesure-entete[b-1g77bwnukn] {
    display: flex;
    align-items: center;
    gap: 7px;
}

/* La teinte suit le rang dans la hiérarchie : les niveaux les plus efficaces
   (élimination, substitution) se distinguent d'un simple EPI au coup d'œil. */
.badge-niveau[b-1g77bwnukn] {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 4px;
}

.badge-niveau-1[b-1g77bwnukn] { background: var(--success-soft); color: oklch(35% 0.12 150); }
.badge-niveau-2[b-1g77bwnukn] { background: var(--success-soft); color: oklch(35% 0.12 150); }
.badge-niveau-3[b-1g77bwnukn] { background: var(--accent-soft); color: var(--accent-dark); }
.badge-niveau-4[b-1g77bwnukn] { background: var(--warning-soft); color: oklch(38% 0.12 75); }
.badge-niveau-5[b-1g77bwnukn] { background: var(--warning-soft); color: oklch(38% 0.12 75); }
.badge-niveau-6[b-1g77bwnukn] { background: var(--danger-soft); color: oklch(38% 0.15 35); }

.badge-statut[b-1g77bwnukn] {
    font-size: 11px;
    padding: 2px 7px;
    border-radius: 4px;
    background: var(--surface-2);
    color: var(--text-muted);
    border: 1px solid var(--border);
}

.badge-statut.badge-recommandee[b-1g77bwnukn] {
    color: var(--accent-dark);
    border-color: var(--accent);
}

.badge-fonction[b-1g77bwnukn] {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted);
    letter-spacing: 0.02em;
}

.mesure-entete .btn-lien-supprimer[b-1g77bwnukn] {
    margin-left: auto;
    background: none;
    border: none;
    padding: 2px;
    cursor: pointer;
    color: var(--text-faint);
    display: inline-flex;
}

.mesure-entete .btn-lien-supprimer:hover[b-1g77bwnukn] { color: var(--danger); }

.mesure-texte[b-1g77bwnukn] { font-size: 13px; line-height: 1.5; }

.mesure-reference[b-1g77bwnukn],
.mesure-signature[b-1g77bwnukn],
.mesure-validation[b-1g77bwnukn] {
    font-size: 11.5px;
    color: var(--text-faint);
}

.mesure-plr[b-1g77bwnukn] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.etiquette-plr[b-1g77bwnukn] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--text-faint);
}

.valeur-plr[b-1g77bwnukn] {
    font-size: 14px;
    font-weight: 700;
    text-transform: lowercase;
}

.select-pl[b-1g77bwnukn] { width: 64px; padding: 3px 6px; font-size: 13px; }

.verdict-plr[b-1g77bwnukn] { font-size: 11.5px; font-weight: 500; }
.verdict-ok[b-1g77bwnukn] { color: var(--success); }
.verdict-insuffisant[b-1g77bwnukn] { color: var(--danger); }

.mesure-validation-form[b-1g77bwnukn] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.mesure-validation-form input[type="text"][b-1g77bwnukn] {
    flex: 1;
    padding: 5px 8px;
    font-size: 12.5px;
}

.bandeau-plr[b-1g77bwnukn] {
    display: flex;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 12px 16px;
}

.valeur-plr-grande[b-1g77bwnukn] {
    font-size: 22px;
    font-weight: 700;
    text-transform: lowercase;
    line-height: 1.1;
}

.valeur-transposition[b-1g77bwnukn] {
    font-size: 13px;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
}

.verdict-plr-grand[b-1g77bwnukn] {
    font-size: 12.5px;
    font-weight: 500;
    margin-left: auto;
}

.ecart-indice[b-1g77bwnukn] {
    font-size: 12px;
    font-weight: 400;
    opacity: 0.75;
    margin-left: 6px;
}
/* /Components/Pages/Projets/TachesEnergie.razor.rz.scp.css */
.page[b-s3m5mzq75y] {
    padding: 24px 28px 28px;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.alerte-erreur[b-s3m5mzq75y] { margin: 0; }
.texte-muet[b-s3m5mzq75y] { color: var(--text-muted); font-size: 13px; }

.etat-vide[b-s3m5mzq75y] {
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 8px;
    padding: 32px;
    text-align: center;
}

.carte-section[b-s3m5mzq75y] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    overflow: hidden;
}

.entete-section[b-s3m5mzq75y] {
    padding: 14px 20px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.titre-section[b-s3m5mzq75y] {
    font-size: 13.5px;
    font-weight: 600;
}

.soustitre-section[b-s3m5mzq75y] {
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 1px;
}

.btn-sm[b-s3m5mzq75y] {
    padding: 7px 12px;
    font-size: 12.5px;
}

.formulaire-inline[b-s3m5mzq75y] {
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
    background: var(--surface-2);
}

.grille-3[b-s3m5mzq75y] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.champ-large[b-s3m5mzq75y] { grid-column: span 2; }
.champ[b-s3m5mzq75y] { margin-bottom: 4px; }

.champ-case[b-s3m5mzq75y] { margin-top: 12px; }

.etiquette-case[b-s3m5mzq75y] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 400;
    color: var(--text);
    cursor: pointer;
}

.etiquette-case input[b-s3m5mzq75y] { width: auto; }

.actions-formulaire[b-s3m5mzq75y] {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.ligne-vide[b-s3m5mzq75y] {
    padding: 20px;
    text-align: center;
    font-size: 13px;
    color: var(--text-muted);
}

table[b-s3m5mzq75y] { border-collapse: collapse; width: 100%; }

th[b-s3m5mzq75y] {
    text-align: left;
    padding: 9px 20px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-bottom: 1px solid var(--border);
}

td[b-s3m5mzq75y] {
    padding: 12px 20px;
    font-size: 13.5px;
    border-bottom: 1px solid var(--border);
    vertical-align: middle;
}

tr:last-child td[b-s3m5mzq75y] { border-bottom: none; }

.cellule-forte[b-s3m5mzq75y] { font-weight: 500; }

.colonne-actions[b-s3m5mzq75y] {
    width: 1%;
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.btn-lien-supprimer[b-s3m5mzq75y], .btn-lien-modifier[b-s3m5mzq75y] {
    background: transparent;
    border: none;
    color: var(--text-faint);
    padding: 4px;
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
}

.btn-lien-supprimer:hover[b-s3m5mzq75y] { color: var(--danger); }
.btn-lien-modifier:hover[b-s3m5mzq75y] { color: var(--accent); }

.btn-xs[b-s3m5mzq75y] {
    padding: 5px 10px;
    font-size: 12px;
    flex-shrink: 0;
}

.btn-lien-annuler[b-s3m5mzq75y] {
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-size: 12px;
    font-family: inherit;
    padding: 5px 4px;
    cursor: pointer;
    flex-shrink: 0;
}

.btn-lien-annuler:hover[b-s3m5mzq75y] { color: var(--text); }

td select[b-s3m5mzq75y], td input[type="text"][b-s3m5mzq75y] {
    padding: 6px 8px;
    font-size: 13px;
}

.etiquette-case-compacte[b-s3m5mzq75y] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-muted);
    cursor: pointer;
    white-space: nowrap;
}

.etiquette-case-compacte input[b-s3m5mzq75y] { width: auto; }

.badge[b-s3m5mzq75y] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 100px;
    font-size: 11.5px;
    font-weight: 500;
}

.badge-bleu[b-s3m5mzq75y] { background: oklch(93% 0.02 200); color: oklch(40% 0.08 200); }
.badge-violet[b-s3m5mzq75y] { background: oklch(93% 0.03 280); color: oklch(45% 0.1 280); }
.badge-vert[b-s3m5mzq75y] { background: oklch(93% 0.03 145); color: oklch(42% 0.1 145); }
.badge-orange[b-s3m5mzq75y] { background: oklch(93% 0.06 35); color: oklch(45% 0.14 35); }
.badge-rouge[b-s3m5mzq75y] { background: oklch(93% 0.07 25); color: oklch(45% 0.16 25); }
.badge-neutre[b-s3m5mzq75y] { background: oklch(93% 0.006 90); color: var(--text-muted); }

.avertissement-residuel[b-s3m5mzq75y] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    font-weight: 500;
    color: oklch(45% 0.14 75);
}

.liste-puces[b-s3m5mzq75y] {
    list-style: none;
    margin: 0;
    padding: 6px 20px 14px;
}

.liste-puces li[b-s3m5mzq75y] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
    line-height: 1.5;
}

.liste-puces li:last-child[b-s3m5mzq75y] { border-bottom: none; }

.liste-puces li .actions-ligne[b-s3m5mzq75y] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.champ-edition-contrainte[b-s3m5mzq75y] {
    flex: 1;
    padding: 6px 8px;
    font-size: 13px;
}

.liste-puces li span:first-child[b-s3m5mzq75y]::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--text-muted);
    margin-right: 10px;
    margin-bottom: 1px;
}

/* --- Pièces jointes (section 5.12) ------------------------------------ */

.colonne-trombone[b-s3m5mzq75y] {
    width: 44px;
    text-align: center;
}

/* Le panneau se déplie sous la ligne concernée plutôt que dans sa cellule :
   une pièce jointe et sa vignette ne tiennent pas dans la hauteur d'une ligne. */
.ligne-documents td[b-s3m5mzq75y] {
    background: var(--surface-2);
    padding: 12px 20px;
}
