/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Coque applicative — rail de navigation fixe à gauche, zone de travail à droite. */
.app-shell[b-461yci984z] {
    display: grid;
    grid-template-columns: 200px 1fr;
    height: 100vh;
    overflow: hidden;
}

.rail[b-461yci984z] {
    background: var(--surface, #fff);
    border-right: 1px solid var(--line, #e1e0d9);
    padding: 12px 8px;
    display: flex;
    flex-direction: column;
    gap: 1px;
    overflow: auto;
}

.marque[b-461yci984z] { display: flex; align-items: center; gap: 8px; padding: 2px 7px 12px; }
.marque .pastille[b-461yci984z] {
    width: 24px; height: 24px; border-radius: 6px;
    background: var(--accent, #2a78d6); color: #fff;
    display: grid; place-items: center; font-weight: 700; font-size: 12px;
}

.groupe[b-461yci984z] {
    font-size: 10.5px; text-transform: uppercase; letter-spacing: .06em;
    color: var(--muted, #8b8983); padding: 12px 8px 4px; font-weight: 600;
}

[b-461yci984z] .lien {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 8px; border-radius: 6px;
    color: var(--ink-2, #52514e); text-decoration: none; font-size: 13px;
}
[b-461yci984z] .lien:hover { background: var(--surface-2, #f7f7f4); }
[b-461yci984z] .lien.active {
    background: var(--accent-soft, #eaf2fd);
    color: var(--accent-ink, #1c5cab);
    font-weight: 600;
}
[b-461yci984z] .lien .icone { width: 15px; text-align: center; opacity: .85; }
[b-461yci984z] .lien .compteur {
    margin-left: auto; background: var(--critical, #d03b3b); color: #fff;
    border-radius: 999px; font-size: 10.5px; padding: 0 6px; font-weight: 600;
}

.travail[b-461yci984z] { display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; }

.barre-haute[b-461yci984z] {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 14px;
    background: var(--surface, #fff);
    border-bottom: 1px solid var(--line, #e1e0d9);
}
.barre-haute .separateur[b-461yci984z] { flex: 1; }
.barre-haute .utilisateur[b-461yci984z] { font-size: 12.5px; color: var(--ink-2, #52514e); }

.contenu[b-461yci984z] { overflow: auto; min-height: 0; padding: 14px 16px 24px; }

/* --------------------------------------------------------------------------
   Rail repliable — 52 px, icônes seules (bouton ⟨⟩ en bas du rail, Ctrl+B).
   L'état est mémorisé par navigateur (theme.js / localStorage).
   -------------------------------------------------------------------------- */
.repli[b-461yci984z] {
    margin-top: auto;
    border: 0; background: none; cursor: pointer;
    color: var(--muted, #8b8983); font: inherit; font-size: 14px;
    padding: 6px; border-radius: 6px; text-align: center;
}
.repli:hover[b-461yci984z] { background: var(--surface-2, #f7f7f4); color: var(--ink-2, #52514e); }

.app-shell.repliee[b-461yci984z] { grid-template-columns: 52px 1fr; }
.app-shell.repliee .rail[b-461yci984z] { padding: 12px 6px; }
.app-shell.repliee .marque[b-461yci984z] { justify-content: center; padding-left: 0; padding-right: 0; }
.app-shell.repliee .marque b[b-461yci984z],
.app-shell.repliee .groupe[b-461yci984z] { display: none; }
.app-shell.repliee[b-461yci984z]  .lien { justify-content: center; padding: 8px 0; position: relative; }
.app-shell.repliee[b-461yci984z]  .lien .libelle { display: none; }
.app-shell.repliee[b-461yci984z]  .lien .compteur {
    position: absolute; top: 1px; right: 3px; margin-left: 0;
    font-size: 9.5px; padding: 0 4px;
}

/* --------------------------------------------------------------------------
   Barre haute : recherche globale (inerte tant que la recherche floue n'est
   pas branchée) et bouton de thème clair / foncé / auto.
   -------------------------------------------------------------------------- */
/* Champ de recherche globale : on tape directement dedans (Ctrl+K = focus). */
input.recherche-globale[b-461yci984z] {
    flex: 0 1 320px;
    font: inherit; font-size: 12.5px; color: var(--ink, #24231f);
    background: var(--surface-2, #f7f7f4);
    border: 1px solid var(--line, #e1e0d9);
    border-radius: 999px; padding: 5px 14px;
}
input.recherche-globale[b-461yci984z]::placeholder { color: var(--muted, #8b8983); }
input.recherche-globale:focus[b-461yci984z] {
    outline: 2px solid var(--accent, #2a78d6); outline-offset: 0;
    border-color: var(--accent, #2a78d6); background: var(--surface, #fff);
}

.theme-bouton[b-461yci984z] {
    border: 0; background: none; cursor: pointer;
    color: var(--ink-2, #52514e); font: inherit; font-size: 15px;
    padding: 4px 8px; border-radius: 6px; line-height: 1;
}
.theme-bouton:hover[b-461yci984z] { background: var(--surface-2, #f7f7f4); }

/* /Components/Partages/Etiquette.razor.rz.scp.css */
.etiquette[b-0s46mpi3nt] {
    display: inline-flex; align-items: center;
    padding: 2px 10px; border-radius: 999px;
    font-size: 12px; font-weight: 600; line-height: 1.5;
    border: 1px solid transparent; white-space: nowrap;
}
.etiquette.primaire[b-0s46mpi3nt]   { background: rgba(38,94,212,.12);  color: #1c48a8; border-color: rgba(38,94,212,.35); }
.etiquette.secondaire[b-0s46mpi3nt] { background: rgba(120,118,110,.10); color: #5c5a52; border-color: rgba(120,118,110,.30); }
.etiquette.succes[b-0s46mpi3nt]     { background: rgba(12,163,12,.12);  color: #046004; border-color: rgba(12,163,12,.40); }
.etiquette.attention[b-0s46mpi3nt]  { background: rgba(224,158,20,.14); color: #7a5200; border-color: rgba(224,158,20,.45); }
.etiquette.danger[b-0s46mpi3nt]     { background: rgba(208,59,59,.12);  color: #8f1f1f; border-color: rgba(208,59,59,.45); }
/* /Components/Partages/Jauge.razor.rz.scp.css */
.jauge[b-3ki25urxs8] { display: inline-flex; align-items: center; gap: 8px; }
.jauge .piste[b-3ki25urxs8] {
    width: 56px; height: 7px; border-radius: 999px;
    background: #e6e4dd; overflow: hidden; display: inline-block;
}
.jauge .remplissage[b-3ki25urxs8] { display: block; height: 100%; border-radius: 999px; background: #2a78d6; }
.jauge .valeur[b-3ki25urxs8] { font-variant-numeric: tabular-nums; font-size: 12px; color: #52514e; }
/* /Components/Partages/Pastille.razor.rz.scp.css */
.pastille[b-wi3ynorx4z] {
    display: inline-grid; place-items: center;
    width: 19px; height: 19px; border-radius: 5px;
    font-size: 11px; font-weight: 700; line-height: 1;
}
.pastille.oui[b-wi3ynorx4z]    { background: rgba(12,163,12,.12); color: #046004; border: 1px solid rgba(12,163,12,.4); }
.pastille.non[b-wi3ynorx4z]    { background: transparent; color: #8b8983; border: 1px dashed #d3d2ca; }
.pastille.manque[b-wi3ynorx4z] { background: rgba(208,59,59,.12); color: #8f1f1f; border: 1px solid rgba(208,59,59,.45); }
.pastille.na[b-wi3ynorx4z]     { background: transparent; color: #d3d2ca; border: 1px solid transparent; }
