/* /Components/Forms/FormDialogTitle.razor.rz.scp.css */
.form-dialog-title[b-d2e1po6ubh] {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    width: 100%;
}
/* /Components/Forms/FormDraftGuard.razor.rz.scp.css */
.form-draft-alert[b-lqmfpo4da8] {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}
/* /Components/Forms/FormDraftRecoveryPrompt.razor.rz.scp.css */
.form-draft-recovery[b-l9soh5bbz4] {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}
/* /Components/Layout/AppSidebar.razor.rz.scp.css */
/* Sidebar - classes de mise en page (ex-styles inline), tokens --app-*. */

.sidebar-retour[b-ro0dsnr8g4] {
    padding: var(--app-space-3) 0;
    text-align: center;
}

/* Badge de notification "Saisies" (PRD 3.1) : compteur des reponses non consultees,
   premiere mecanique de badge du sidebar. Pastille chiffree deployee, point seul en
   mode replie (icone seule visible). */
.nav-badge[b-ro0dsnr8g4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    margin-left: var(--app-space-2);
    padding: 0 var(--app-space-1);
    border-radius: var(--app-radius-pill);
    background: var(--app-warning);
    color: var(--app-accent-contrast);
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.nav-badge--dot[b-ro0dsnr8g4] {
    width: 8px;
    height: 8px;
    min-width: 0;
    margin-left: var(--app-space-1);
    padding: 0;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Layout principal - styles proprietaires (ex-app.css, decomposition etape 3). */

.environment-banner[b-d3p2mxcl14] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 10px;
    padding: 8px 12px;
    margin-bottom: 16px;
    border: 1px solid var(--app-danger);
    background: var(--app-danger-bg);
    color: var(--app-danger-text);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
/* /Components/Layout/WorkspaceLayout.razor.rz.scp.css */
/* Layout workspace - classes de mise en page (ex-styles inline), tokens --app-*. */

.workspace-titre[b-fdko7ygzr7] {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--app-text);
}

.workspace-sous-titre[b-fdko7ygzr7] {
    margin: 2px 0 0;
    font-size: 14px;
    color: var(--app-text-muted);
}

.workspace-actions[b-fdko7ygzr7] {
    display: flex;
    gap: var(--app-space-2);
}
/* /Components/Pages/Audit/AuditPage.razor.rz.scp.css */
/* Contrat d'ecran de liste: la zone de resultats est l'unique proprietaire du
   scroll. Chaque maillon descend la hauteur disponible (flex: 1 + min-height: 0)
   depuis .main-content (100vh, overflow hidden) jusqu'a .audit-results-scroll.
   Ni le document, ni la page, ni les cartes ne defilent. */
.audit-page[b-kk1xu4sqk7] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Les racines DOM des composants MudBlazor ne recoivent pas l'attribut de scope
   CSS de ce fichier: le dimensionnement cible des wrappers HTML explicites
   (.audit-filter-field), jamais les enfants anonymes du conteneur. */
.audit-filters[b-kk1xu4sqk7] {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
}

.audit-filter-field[b-kk1xu4sqk7] {
    flex: 1 1 180px;
    min-width: 0;
    max-width: 320px;
}

.audit-results-card[b-kk1xu4sqk7] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.audit-results-scroll[b-kk1xu4sqk7] {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* L'etat vide reste centre verticalement dans la zone de resultats. */
.audit-results-scroll[b-kk1xu4sqk7]  .empty-state {
    margin: auto 0;
}

/* Footer non defilant de la carte de resultats: "Charger plus" reste
   accessible pendant que les lignes defilent au-dessus. */
.audit-load-more[b-kk1xu4sqk7] {
    display: flex;
    justify-content: center;
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1px solid var(--app-border);
}

@media (max-width: 899.98px) {
    .audit-filters[b-kk1xu4sqk7] {
        flex-direction: column;
        align-items: stretch;
    }

    .audit-filter-field[b-kk1xu4sqk7] {
        max-width: none;
    }
}
/* /Components/Pages/Audit/Components/JournalTable.razor.rz.scp.css */
.journal-transverse-table td[b-303refbzwo] {
    vertical-align: top;
}

.journal-transverse-date[b-303refbzwo] {
    white-space: nowrap;
}

/* Type d'entite sur la premiere ligne, sujet (fiche racine) dessous. */
.journal-transverse-entite-type[b-303refbzwo] {
    display: block;
    white-space: nowrap;
}

/* Le sujet peut etre un span (markup local, scope direct) ou la racine d'un
   MudLink (composant enfant, qui ne recoit pas l'attribut de scope): les deux
   formes sont couvertes. */
.journal-transverse-sujet[b-303refbzwo],
.journal-transverse-entite[b-303refbzwo]  .journal-transverse-sujet {
    display: block;
    margin-top: 2px;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.journal-transverse-lignes[b-303refbzwo] {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 8px;
    border-radius: 10px;
    background: var(--app-surface-sunken-strong);
    color: var(--app-text-muted);
    font-size: 12px;
    white-space: nowrap;
}

/* La colonne des changements absorbe la largeur restante. */
.journal-transverse-changements[b-303refbzwo] {
    width: 55%;
}
/* /Components/Pages/Contrats/ContratForm/ChampsSante.razor.rz.scp.css */
/* Ayants droit du bloc sante — tokens --app-* uniquement. */

.sante-ayants-droit[b-tr1cqsrau6] {
    display: grid;
    gap: var(--app-space-4);
}

.sante-ayant-droit-ligne[b-tr1cqsrau6] {
    display: flex;
    gap: var(--app-space-4);
    align-items: center;
    flex-wrap: wrap;
}

.sante-ayant-droit-choix[b-tr1cqsrau6] {
    display: flex;
    gap: var(--app-space-4);
    flex-wrap: wrap;
}
/* /Components/Pages/Contrats/ContratFormDialog.razor.rz.scp.css */
/* Dialog contrat — styles locaux consommant les tokens --app-*. */

.contrat-form-societes-chips[b-z5w0i8ozqr] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--app-space-2);
}
/* /Components/Pages/Contrats/ContratList.razor.rz.scp.css */
/* Liste des contrats - classes de mise en page (ex-styles inline), tokens --app-*. */

.contrats-titre[b-rpkxet42gr] {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--app-text);
}

.contrats-sous-titre[b-rpkxet42gr] {
    margin: 2px 0 0;
    font-size: 14px;
    color: var(--app-text-muted);
}

.contrats-liste[b-rpkxet42gr] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

/* Familles de risque alignees sur les badges (sante = success,
   prevoyance = highlight). */
.contrats-icone-sante[b-rpkxet42gr] {
    background: var(--app-success-bg);
    color: var(--app-success-text);
}

.contrats-icone-prevoyance[b-rpkxet42gr] {
    background: var(--app-highlight-bg);
    color: var(--app-highlight-text);
}

.contrats-reference[b-rpkxet42gr] {
    margin-left: var(--app-space-2);
}
/* /Components/Pages/Demographie/DemographieMiroirPanel.razor.rz.scp.css */
/* Panel miroir demographie - classes de mise en page (ex-styles inline), tokens --app-*. */

.miroir-lot-nom[b-l8o0x3yjtc] {
    font-weight: 500;
}

.miroir-lot-type[b-l8o0x3yjtc] {
    font-size: 12px;
    color: var(--app-text-muted);
}
/* /Components/Pages/Demographie/DemographiePage.razor.rz.scp.css */
/* Page demographie - classes de mise en page (ex-styles inline), tokens --app-*. */

.demographie-lots-liste[b-ix1f94uzgc] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
    margin-top: var(--app-space-3);
}

.demographie-icone[b-ix1f94uzgc] {
    background: var(--app-info-bg);
    color: var(--app-info-text);
}

.demographie-salaries[b-ix1f94uzgc] {
    font-size: 14px;
    font-weight: 600;
    color: var(--app-text);
}
/* /Components/Pages/Demographie/DemographieTableauSection.razor.rz.scp.css */
/* Tableau demographique - la ligne TOTAL se distingue par la graisse. */

.tableau-ligne-total td[b-94y3iz99q5] {
    font-weight: 600;
}

/* Colonnes de valeurs alignees d'un tableau a l'autre (retour utilisateur
   2026-09-01). Chaque section est une <table> independante: en layout
   automatique, chaque tableau dimensionnait ses colonnes seul et la colonne
   Ensemble demarrait a une abscisse differente a chaque fois. Ici chaque
   colonne de valeurs (th.td-num, premiere ligne = source des largeurs en
   table-layout: fixed) a une largeur constante par famille de tableau, et la
   colonne de libelles absorbe le reste: les valeurs sont ancrees au bord
   droit de la carte et se superposent d'un tableau a l'autre. La largeur
   minimale evite d'ecraser les libelles sur un ecran etroit (le tableau
   deborde alors dans la zone de scroll de la page).
   ::deep: la <table> et sa classe de famille sont rendues par AppTable (hors
   scope CSS); les th/td sont ecrits ici. */
.demographie-tableau[b-94y3iz99q5]  .table-clean {
    table-layout: fixed;
}

.demographie-tableau[b-94y3iz99q5]  .demographie-tableau-3-valeurs {
    min-width: 47rem;
}

.demographie-tableau[b-94y3iz99q5]  .demographie-tableau-3-valeurs th.td-num {
    width: 11rem;
}

.demographie-tableau[b-94y3iz99q5]  .demographie-tableau-large {
    min-width: 60rem;
}

.demographie-tableau[b-94y3iz99q5]  .demographie-tableau-large th.td-num {
    width: 9rem;
}

/* Barres de donnees en fond de cellule (retour utilisateur 2026-09-01). Le
   chiffre reste dans la cellule (.td-num); la cellule peint derriere lui une
   barre dont la largeur est la part de la valeur dans le max du tableau,
   ratio 0..1 recu par la custom property --part (seul style inline tolere
   par la garde des tokens: geometrie pilotee par les donnees), applique a la
   largeur de cellule MOINS une marge: la barre pleine ne touche jamais le
   bord exterieur ni la barre voisine, seul le cote de l'ancrage est colle.
   Teintes pales des tokens dedies, le chiffre reste parfaitement lisible.
   Tornado chart (B2 Hommes / Femmes, detail PASS Cadre / Non cadre): la
   barre de la colonne de gauche est ancree au bord droit de sa cellule,
   celle de la colonne de droite au bord gauche de la sienne, la frontiere
   entre les deux est l'axe central (trait .td-axe); les deux cotes partagent
   l'echelle et la teinte bleue (.td-barre-miroir). Les colonnes Total /
   Ensemble portent des demi-barres neutres ancrees a gauche, a echelle
   propre.
   Les th/td sont ecrits ici (pas de ::deep). */
.td-barre[b-94y3iz99q5] {
    --part: 0;
    background-image: linear-gradient(var(--app-barre-donnees-neutre), var(--app-barre-donnees-neutre));
    background-repeat: no-repeat;
    background-size: calc((100% - var(--app-space-4)) * var(--part)) 68%;
    background-position: left center;
}

.td-barre-miroir[b-94y3iz99q5] {
    background-image: linear-gradient(var(--app-barre-donnees), var(--app-barre-donnees));
}

.td-barre-ancree-droite[b-94y3iz99q5] {
    background-position: right center;
}

.td-axe[b-94y3iz99q5] {
    border-left: 1px solid var(--app-border-strong);
}

/* Colonnes a barre ancree a gauche (Femmes, Total, Ensemble de B3 et du
   detail PASS): en-tete a gauche, chiffres ranges a droite dans un gabarit
   large comme la plus grande valeur de la colonne (--chiffres caracteres;
   chiffres tabulaires, donc 1ch chacun) pour que les unites tombent pile
   d'une ligne a l'autre. Plus specifique que .table-clean .td-num (global). */
.demographie-tableau .td-num-gauche[b-94y3iz99q5] {
    text-align: left;
}

.cale-chiffres[b-94y3iz99q5] {
    display: inline-block;
    min-width: calc(var(--chiffres, 1) * 1ch);
    text-align: right;
}
/* /Components/Pages/DocumentsJuridiques/Mandats/MandatDocumentDetailPage.razor.rz.scp.css */
/* Detail d'un mandat - classes de mise en page (ex-styles inline), tokens --app-*. */

.mandat-enseigne[b-qkitt6tx6s] {
    font-weight: 400;
    color: var(--app-text-muted);
}
/* /Components/Pages/DocumentsJuridiques/Mandats/MandatDraftFormWizard.razor.rz.scp.css */
/* Wizard de mandat - styles proprietaires (ex-app.css, decomposition etape 3). */

.mandat-form-card[b-0058moj10z] {
  margin-bottom: 24px;
}

.mandat-selection-option[b-0058moj10z] {
  width: 100%;
  padding: 2px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mandat-selection-section-header[b-0058moj10z] {
  color: var(--app-text-muted);
  font-size: 12px;
  font-weight: 600;
  padding: 8px 0 4px;
}

.mandat-wizard[b-0058moj10z] {
  display: grid;
  gap: 16px;
}

.wizard-steps[b-0058moj10z] {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.wizard-step[b-0058moj10z] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 48px;
  border: 1px solid var(--app-border);
  border-radius: 8px;
  background: var(--app-surface);
  color: var(--app-text);
  padding: 8px 10px;
  text-align: left;
}

.wizard-step:disabled[b-0058moj10z] {
  opacity: 0.68;
}

.wizard-step.active[b-0058moj10z] {
  border-color: var(--app-info-text);
  background: var(--app-selection-bg);
  color: var(--app-info-text);
}

.wizard-step.completed[b-0058moj10z] {
  border-color: var(--app-success);
  background: var(--app-success-bg);
  color: var(--app-success-text);
}

.wizard-step-index[b-0058moj10z] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: var(--app-surface-sunken-strong);
  color: var(--app-text);
  font-size: 0.8125rem;
  font-weight: 700;
}

.wizard-step.active .wizard-step-index[b-0058moj10z] {
  background: var(--app-info-text);
  color: var(--app-accent-contrast);
}

.wizard-step.completed .wizard-step-index[b-0058moj10z] {
  background: var(--app-success);
  color: var(--app-accent-contrast);
}

.wizard-step-label[b-0058moj10z] {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.8125rem;
  font-weight: 700;
}

.wizard-panel[b-0058moj10z] {
  min-height: 220px;
}

.wizard-errors ul[b-0058moj10z] {
  margin: 6px 0 0;
  padding-left: 18px;
}

.section-heading.compact .mandat-assureurs-code-courtier-avertissement[b-0058moj10z] {
  margin-top: 4px;
  color: var(--app-danger-text);
  font-size: 0.875rem;
  font-weight: 600;
}

.choice-grid[b-0058moj10z] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.choice-card[b-0058moj10z] {
  min-height: 44px;
  border: 1px solid var(--app-border);
  border-radius: 8px;
  background: var(--app-surface);
  color: var(--app-text);
  padding: 10px 12px;
  text-align: left;
  font-weight: 700;
}

.choice-card.selected[b-0058moj10z] {
  border-color: var(--app-info-text);
  background: var(--app-selection-bg);
  color: var(--app-info-text);
}

.wizard-summary[b-0058moj10z] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.wizard-summary > div[b-0058moj10z] {
  display: grid;
  gap: 4px;
  min-width: 0;
  border: 1px solid var(--app-border);
  border-radius: 8px;
  background: var(--app-surface);
  padding: 10px 12px;
}

.wizard-summary .label[b-0058moj10z],
.wizard-summary .value[b-0058moj10z] {
  overflow-wrap: anywhere;
}

.wizard-summary .label[b-0058moj10z] {
  color: var(--app-text-muted);
  font-size: 0.8125rem;
  font-weight: 700;
}

.wizard-summary .value[b-0058moj10z] {
  color: var(--app-text);
}

.mandat-form-grid[b-0058moj10z] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.mandat-form-grid .wide[b-0058moj10z] {
  grid-column: 1 / -1;
}

.form-control[b-0058moj10z] {
  min-height: 40px;
  width: 100%;
  border: 1px solid var(--app-border-strong);
  border-radius: 6px;
  background: var(--app-surface);
  color: var(--app-text);
  padding: 8px 10px;
}

.form-control:focus[b-0058moj10z] {
  outline: 2px solid var(--app-focus-ring);
  border-color: var(--app-info-text);
}

.checkbox-list[b-0058moj10z] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
}

.checkbox-list.inline[b-0058moj10z] {
  grid-template-columns: repeat(4, minmax(0, max-content));
}

.checkbox-row[b-0058moj10z] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 32px;
  min-width: 0;
  color: var(--app-text);
}

.checkbox-row span[b-0058moj10z] {
  overflow-wrap: anywhere;
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* Page d'accueil - classes de mise en page (ex-styles inline), tokens --app-*. */

.accueil-entete[b-hhiqxao11y] {
    margin-bottom: var(--app-space-8);
}

.accueil-titre[b-hhiqxao11y] {
    font-size: 24px;
    font-weight: 700;
    color: var(--app-text);
    margin: 0 0 var(--app-space-1);
}

.accueil-sous-titre[b-hhiqxao11y] {
    font-size: 14px;
    color: var(--app-text-muted);
    margin: 0;
}

.accueil-etat-vide[b-hhiqxao11y] {
    padding: var(--app-space-8);
}

.accueil-liste[b-hhiqxao11y] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

.accueil-icone-brouillon[b-hhiqxao11y] {
    background: var(--app-warning-bg);
    color: var(--app-warning-text);
}

.accueil-vide-activite[b-hhiqxao11y] {
    font-size: 14px;
    color: var(--app-text-muted);
    text-align: center;
    padding: var(--app-space-6) 0;
}

.accueil-societe[b-hhiqxao11y] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    text-decoration: none;
    color: inherit;
}

.accueil-societe-icone[b-hhiqxao11y] {
    width: 32px;
    height: 32px;
    border-radius: var(--app-radius);
    background: var(--app-surface-sunken-strong);
    color: var(--app-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.accueil-societe-contenu[b-hhiqxao11y] {
    flex: 1;
    min-width: 0;
}

.accueil-societe-nom[b-hhiqxao11y] {
    font-size: 14px;
    font-weight: 500;
    color: var(--app-text);
}

.accueil-societe-detail[b-hhiqxao11y] {
    font-size: 12px;
    color: var(--app-text-faint);
}
/* /Components/Pages/Invitation.razor.rz.scp.css */
/* Page invitation - classes de mise en page (ex-styles inline), tokens --app-*. */

.invitation-conteneur[b-tnh8g01r4o] {
    max-width: 560px;
    margin: var(--app-space-12) auto;
    padding: 0 var(--app-space-4);
}

.invitation-carte[b-tnh8g01r4o] {
    padding: var(--app-space-8);
}

.invitation-titre[b-tnh8g01r4o] {
    font-size: 28px;
    font-weight: 700;
    color: var(--app-text);
    margin: 0 0 var(--app-space-2);
}

.invitation-sous-titre[b-tnh8g01r4o] {
    font-size: 15px;
    color: var(--app-text-muted);
    margin: 0 0 var(--app-space-6);
}

.invitation-actions[b-tnh8g01r4o] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--app-space-6);
}
/* /Components/Pages/Onboarding.razor.rz.scp.css */
/* Page onboarding - classes de mise en page (ex-styles inline), tokens --app-*. */

.onboarding-conteneur[b-t2qtxlx0r3] {
    max-width: 560px;
    margin: var(--app-space-12) auto;
    padding: 0 var(--app-space-4);
}

.onboarding-carte[b-t2qtxlx0r3] {
    padding: var(--app-space-8);
}

.onboarding-titre[b-t2qtxlx0r3] {
    font-size: 28px;
    font-weight: 700;
    color: var(--app-text);
    margin: 0 0 var(--app-space-2);
}

.onboarding-sous-titre[b-t2qtxlx0r3] {
    font-size: 15px;
    color: var(--app-text-muted);
    margin: 0 0 var(--app-space-6);
}

.onboarding-actions[b-t2qtxlx0r3] {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--app-space-6);
}

.onboarding-invitations[b-t2qtxlx0r3] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
    margin-top: var(--app-space-4);
}

.onboarding-invitation-carte[b-t2qtxlx0r3] {
    padding: var(--app-space-4);
}

.onboarding-invitation-nom[b-t2qtxlx0r3] {
    font-size: 15px;
    font-weight: 600;
    color: var(--app-text);
}

.onboarding-invitation-detail[b-t2qtxlx0r3] {
    font-size: 13px;
    color: var(--app-text-muted);
    margin-top: var(--app-space-1);
}
/* /Components/Pages/Parametres/Components/ApercuNommageContrats.razor.rz.scp.css */
h2[b-vjkl1acim9] { font-size: 1.125rem; font-weight: 600; margin-bottom: var(--app-space-2); }
p[b-vjkl1acim9] { color: var(--app-text-muted); margin-bottom: var(--app-space-3); }
.nommage-exemples[b-vjkl1acim9] { display: grid; gap: var(--app-space-3); }
.nommage-exemples > div[b-vjkl1acim9] { border-top: 1px solid var(--app-border-subtle); padding-top: var(--app-space-3); }
.nommage-exemples dt[b-vjkl1acim9] { color: var(--app-text-muted); font-size: 0.75rem; }
.nommage-exemples dd[b-vjkl1acim9] { margin: 0 0 var(--app-space-2); overflow-wrap: anywhere; }
/* /Components/Pages/Parametres/ExpeditionEmail/Components/DomainesExpeditionTable.razor.rz.scp.css */
/* Tableau des domaines d'expedition (spec 10.1). Les elements rendus par AppTable
   (table, th, td) ne recoivent pas l'attribut de scope : seules les classes posees
   ici sur les cellules ecrites par ce composant sont stylees. */
.domaines-nom[b-6d6yhlmh9q] {
  font-weight: 600;
  color: var(--app-text);
}

.domaines-verification[b-6d6yhlmh9q] {
  color: var(--app-text-muted);
  font-size: 13px;
  white-space: nowrap;
}

.domaines-actions[b-6d6yhlmh9q] {
  display: flex;
  gap: var(--app-space-1);
  flex-wrap: wrap;
}

.domaines-col-actions[b-6d6yhlmh9q] {
  width: 1%;
  white-space: nowrap;
}
/* /Components/Pages/Parametres/ExpeditionEmail/Components/IdentitesExpeditionTable.razor.rz.scp.css */
/* Tableau des identites d'expedition des membres (spec 10.1). Seules les cellules
   ecrites par ce composant portent l'attribut de scope. */
.identites-membre[b-0abgxzyplu] {
  font-weight: 600;
  color: var(--app-text);
}

.identites-email[b-0abgxzyplu] {
  font-size: 13px;
  color: var(--app-text);
  word-break: break-all;
}

.identites-aucune[b-0abgxzyplu] {
  color: var(--app-text-muted);
  font-style: italic;
}

.identites-actions[b-0abgxzyplu] {
  display: flex;
  gap: var(--app-space-1);
  flex-wrap: wrap;
}

.identites-col-actions[b-0abgxzyplu] {
  width: 1%;
  white-space: nowrap;
}
/* /Components/Pages/Parametres/ExpeditionEmail/DomainesExpeditionSection.razor.rz.scp.css */
/* En-tete de section : titre + aide a gauche, action a droite. */
.section-heading[b-vihinukade] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--app-space-4);
  margin-bottom: var(--app-space-4);
}

.section-heading h2[b-vihinukade] {
  margin: 0 0 var(--app-space-1) 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--app-text);
}

.section-heading p[b-vihinukade] {
  margin: 0;
  font-size: 13px;
  color: var(--app-text-muted);
}
/* /Components/Pages/Parametres/ExpeditionEmail/ExpeditionEmailPage.razor.rz.scp.css */
/* Contrat d'ecran : header fixe, .expedition-email-scroll unique proprietaire du
   scroll (jamais de scroll de page entiere). Chaine flex bornee depuis .main-content. */
.expedition-email-page[b-ubo30pntx6] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.expedition-email-scroll[b-ubo30pntx6] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
  padding-bottom: 2px;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}
/* /Components/Pages/Parametres/ExpeditionEmail/IdentitesExpeditionSection.razor.rz.scp.css */
/* En-tete de section : titre + aide. */
.section-heading[b-uvktnmdypr] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--app-space-4);
  margin-bottom: var(--app-space-4);
}

.section-heading h2[b-uvktnmdypr] {
  margin: 0 0 var(--app-space-1) 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--app-text);
}

.section-heading p[b-uvktnmdypr] {
  margin: 0;
  font-size: 13px;
  color: var(--app-text-muted);
}
/* /Components/Pages/Parametres/ExpeditionEmail/InstructionsDnsDialog.razor.rz.scp.css */
/* Valeurs DNS : retour a la ligne autorise (les enregistrements DKIM sont longs). */
.dns-valeur[b-dpkhj6yskf] {
  font-size: 12px;
  word-break: break-all;
}
/* /Components/Pages/Parametres/IdentiteCoordonneesSection.razor.rz.scp.css */
/* Contrat d'ecran: le header de page reste fixe, la zone
   .organisation-settings-scroll sous le header est l'unique proprietaire du
   scroll (doctrine: jamais de scroll de page entiere). Chaine flex bornee
   depuis .main-content (100vh, overflow hidden) via .main-content-inner. */
.organisation-settings-page[b-ij0gys9z5l] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.organisation-settings-scroll[b-ij0gys9z5l] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
  padding-bottom: 2px;
}
/* /Components/Pages/Parametres/NommageContratsSection.razor.rz.scp.css */
.nommage-section[b-zxo1zp51x1] { display: flex; flex-direction: column; gap: var(--app-space-4); overflow-y: auto; min-height: 0; flex: 1; }
.nommage-section h2[b-zxo1zp51x1] { font-size: 1.125rem; font-weight: 600; margin-bottom: var(--app-space-2); }
.nommage-section p[b-zxo1zp51x1] { color: var(--app-text-muted); margin-bottom: var(--app-space-3); }
.nommage-champs[b-zxo1zp51x1] { display: flex; flex-wrap: wrap; gap: var(--app-space-2); margin-block: var(--app-space-3); }
.nommage-champs[b-zxo1zp51x1]  button { text-transform: none; }
/* /Components/Pages/Parametres/OrganisationParametresSection.razor.rz.scp.css */
.organisation-settings-body[b-fxsw6ufusp] { display: flex; flex-direction: column; flex: 1; min-height: 0; }
/* /Components/Pages/Parametres/OrganisationSettingsPage.razor.rz.scp.css */
/* Contrat d'ecran: le header de page reste fixe, la zone
   .organisation-settings-scroll sous le header est l'unique proprietaire du
   scroll (doctrine: jamais de scroll de page entiere). Chaine flex bornee
   depuis .main-content (100vh, overflow hidden) via .main-content-inner. */
.organisation-settings-page[b-rfh6ew9ssr] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.organisation-settings-scroll[b-rfh6ew9ssr] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
  padding-bottom: 2px;
}
.organisation-onglets[b-rfh6ew9ssr] { display: flex; flex-wrap: wrap; gap: var(--app-space-4); margin-bottom: var(--app-space-4); border-bottom: 1px solid var(--app-border); }
.organisation-onglets a[b-rfh6ew9ssr] { color: var(--app-text-muted); padding: var(--app-space-3) 0; text-decoration: none; }
.organisation-onglets a[aria-current="page"][b-rfh6ew9ssr] { color: var(--app-text); border-bottom: 2px solid var(--app-accent); font-weight: 600; }
.organisation-onglets a:focus-visible[b-rfh6ew9ssr] { outline: 2px solid var(--app-focus-ring); outline-offset: 2px; }
/* /Components/Pages/Partenaires/PartenaireDetailPage.razor.rz.scp.css */
/* Detail partenaire - classes de mise en page (ex-styles inline), tokens --app-*. */

.partenaire-page[b-digrp4qm9v] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.partenaire-page > .page-header[b-digrp4qm9v],
.partenaire-retour[b-digrp4qm9v] {
    flex: 0 0 auto;
}

.partenaire-detail-scroll[b-digrp4qm9v] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding-right: 4px;
    padding-bottom: 2px;
}

.partenaire-retour[b-digrp4qm9v] {
    margin-bottom: var(--app-space-3);
}

.partenaire-titre[b-digrp4qm9v] {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--app-text);
}

.partenaire-sous-titre[b-digrp4qm9v] {
    margin: 2px 0 0;
    font-size: 14px;
    color: var(--app-text-muted);
}

.partenaire-cartes[b-digrp4qm9v] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: var(--app-space-4);
}

.partenaire-carte[b-digrp4qm9v] {
    padding: var(--app-space-4);
}

.partenaire-carte-suivante[b-digrp4qm9v] {
    margin-top: var(--app-space-4);
}

.partenaire-carte-danger[b-digrp4qm9v] {
    border-color: var(--app-danger-bg-strong);
}

.partenaire-carte-entete[b-digrp4qm9v] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--app-space-2);
}

.partenaire-cellule-droite[b-digrp4qm9v] {
    text-align: right;
}

.partenaire-portefeuille-saisie[b-digrp4qm9v] {
    display: flex;
    gap: var(--app-space-2);
    align-items: flex-end;
    margin-bottom: var(--app-space-3);
}

.partenaire-portefeuille-saisie[b-digrp4qm9v]  .partenaire-portefeuille-code {
    flex: 0 0 200px;
}

.partenaire-portefeuille-saisie[b-digrp4qm9v]  .partenaire-portefeuille-libelle {
    flex: 1;
}

.partenaire-portefeuille-chips[b-digrp4qm9v] {
    display: flex;
    gap: var(--app-space-2);
    flex-wrap: wrap;
}

.partenaire-portefeuille-chips[b-digrp4qm9v]  .partenaire-portefeuille-inactif {
    opacity: 0.55;
    text-decoration: line-through;
}
/* /Components/Pages/Partenaires/PartenairesPage.razor.rz.scp.css */
/* Liste des partenaires - classes de mise en page (ex-styles inline), tokens --app-*. */

.partenaire-page[b-vvg2l38ip7] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.partenaire-page > .page-header[b-vvg2l38ip7],
.partenaires-actions[b-vvg2l38ip7] {
    flex: 0 0 auto;
}

.partenaires-results-scroll[b-vvg2l38ip7] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
    padding-bottom: 2px;
}

.partenaires-titre[b-vvg2l38ip7] {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--app-text);
}

.partenaires-sous-titre[b-vvg2l38ip7] {
    margin: 2px 0 0;
    font-size: 14px;
    color: var(--app-text-muted);
}

.partenaires-actions[b-vvg2l38ip7] {
    margin-bottom: var(--app-space-3);
}

.partenaires-liste[b-vvg2l38ip7] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

.partenaires-icone[b-vvg2l38ip7] {
    background: var(--app-info-bg);
    color: var(--app-info-text);
}

.partenaires-ligne-nom[b-vvg2l38ip7] {
    display: flex;
    gap: 6px;
    align-items: center;
}
/* /Components/Pages/SaisiesAssureur/Components/SaisieEnvoisListe.razor.rz.scp.css */
/* Carte « Envois et livraison » d'une saisie (spec 10.3). */

.envois-liste[b-y7ubb0iuz3] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.envois-vide[b-y7ubb0iuz3] {
  color: var(--app-text-muted);
  font-size: 13px;
}

.envoi-ligne[b-y7ubb0iuz3] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-2);
  padding-bottom: var(--app-space-3);
}

.envoi-ligne:not(:last-child)[b-y7ubb0iuz3] {
  border-bottom: 1px solid var(--app-border-subtle);
}

.envoi-entete[b-y7ubb0iuz3] {
  display: flex;
  align-items: center;
  gap: var(--app-space-3);
  flex-wrap: wrap;
}

.envoi-type[b-y7ubb0iuz3] {
  font-weight: 600;
  color: var(--app-text);
  font-size: 13px;
}

.envoi-date[b-y7ubb0iuz3] {
  font-size: 12px;
  color: var(--app-text-muted);
  margin-left: auto;
}

.envoi-expediteur[b-y7ubb0iuz3] {
  font-size: 13px;
  color: var(--app-text);
  word-break: break-all;
}

.envoi-meta[b-y7ubb0iuz3] {
  font-size: 12px;
  color: var(--app-text-muted);
  word-break: break-all;
}

.envoi-destinataires[b-y7ubb0iuz3] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-1);
}

.envoi-destinataire[b-y7ubb0iuz3] {
  display: flex;
  align-items: center;
  gap: var(--app-space-2);
  flex-wrap: wrap;
  font-size: 13px;
}

.envoi-role[b-y7ubb0iuz3] {
  font-weight: 600;
  color: var(--app-text-muted);
  min-width: 1.5em;
}

.envoi-adresse[b-y7ubb0iuz3] {
  word-break: break-all;
}

.envoi-motif[b-y7ubb0iuz3] {
  font-size: 12px;
  color: var(--app-text-muted);
}
/* /Components/Pages/SaisiesAssureur/Components/SaisieHistoriqueTimeline.razor.rz.scp.css */
/* Timeline verticale de l'historique d'une saisie (PRD 3.3). */

.historique-timeline[b-nlxsxebvqb] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.historique-vide[b-nlxsxebvqb] {
  color: var(--app-text-muted);
  font-size: 13px;
}

.historique-ligne[b-nlxsxebvqb] {
  display: flex;
  gap: var(--app-space-3);
  position: relative;
}

.historique-ligne:not(:last-child)[b-nlxsxebvqb]::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 24px;
  bottom: -16px;
  width: 1px;
  background: var(--app-border);
}

.historique-icone[b-nlxsxebvqb] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: none;
  border-radius: var(--app-radius-pill);
  background: var(--app-surface-sunken);
  color: var(--app-text-muted);
}

.historique-contenu[b-nlxsxebvqb] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 2px;
}

.historique-libelle[b-nlxsxebvqb] {
  font-weight: 600;
  color: var(--app-text);
  font-size: 13px;
}

.historique-date[b-nlxsxebvqb] {
  font-size: 12px;
  color: var(--app-text-muted);
}

.historique-utilisateur[b-nlxsxebvqb] {
  font-size: 12px;
  color: var(--app-text-muted);
}
/* /Components/Pages/SaisiesAssureur/Components/SaisieLigneDetail.razor.rz.scp.css */
/* Apercu deplie d'une ligne du tableau de bord (decision 2026-08-26). Vit dans la
   cellule pleine largeur ouverte par SaisiesTable sous la ligne : fond en retrait
   pour se distinguer des lignes, trois blocs cote a cote qui se replient en
   colonne quand la largeur manque, action de navigation en pied. */
.ligne-detail[b-02kcwyktuq] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.ligne-detail-etat[b-02kcwyktuq] {
  display: flex;
  align-items: center;
  gap: var(--app-space-3);
  font-size: 13px;
  color: var(--app-text-muted);
}

/* La cellule hote a toujours la largeur de la table (11 colonnes, ~1000px minimum,
   la zone de resultats defile horizontalement en dessous) : trois pistes fixes, la
   plus large aux societes (raisons sociales longues), la derniere reste vide quand la
   saisie n'a pas encore de reponse pour garder le meme alignement d'une ligne a l'autre. */
.ligne-detail-grille[b-02kcwyktuq] {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1.4fr);
  gap: var(--app-space-6);
}

.ligne-detail-bloc[b-02kcwyktuq] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-3);
  min-width: 0;
}

.ligne-detail-entete[b-02kcwyktuq] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--app-space-3);
}

.ligne-detail-titre[b-02kcwyktuq] {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--app-text-muted);
}

.ligne-detail-souslibelle[b-02kcwyktuq] {
  font-size: 13px;
  font-weight: 600;
  color: var(--app-text);
  white-space: nowrap;
}

/* Societes : une grille a trois colonnes, pas une table (voir SaisieLigneDetail.razor). */
.ligne-detail-societes[b-02kcwyktuq] {
  display: flex;
  flex-direction: column;
}

.ligne-detail-societe[b-02kcwyktuq] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: baseline;
  column-gap: var(--app-space-4);
  padding: var(--app-space-1) 0;
  font-size: 13px;
  color: var(--app-text);
  border-bottom: 1px solid var(--app-border-subtle);
}

.ligne-detail-societe:last-child[b-02kcwyktuq] {
  border-bottom: none;
}

.ligne-detail-societes-entete[b-02kcwyktuq] {
  font-size: 11px;
  font-weight: 600;
  color: var(--app-text-muted);
}

.ligne-detail-societe-nom[b-02kcwyktuq] {
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ligne-detail-societe-siret[b-02kcwyktuq] {
  color: var(--app-text-muted);
  font-variant-numeric: tabular-nums;
}

.ligne-detail-num[b-02kcwyktuq] {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.ligne-detail-vide[b-02kcwyktuq] {
  margin: 0;
  font-size: 13px;
  color: var(--app-text-muted);
}

.ligne-detail-pieces[b-02kcwyktuq] {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-1);
}

.ligne-detail-piece[b-02kcwyktuq] {
  display: flex;
  align-items: center;
  gap: var(--app-space-2);
  font-size: 13px;
  color: var(--app-text);
  min-width: 0;
}

.ligne-detail-piece-nom[b-02kcwyktuq] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ligne-detail-champs[b-02kcwyktuq] {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--app-space-3) var(--app-space-4);
}

.ligne-detail-champ[b-02kcwyktuq] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.ligne-detail-champ--large[b-02kcwyktuq] {
  grid-column: 1 / -1;
}

.ligne-detail-champ dt[b-02kcwyktuq] {
  font-size: 12px;
  color: var(--app-text-muted);
}

.ligne-detail-champ dd[b-02kcwyktuq] {
  margin: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--app-text);
  overflow-wrap: anywhere;
}

/* Resume des decisions du mode detaille : sous le badge "Par societe", jamais a sa
   droite (la colonne est etroite, le texte se couperait au milieu). */
.ligne-detail-decisions[b-02kcwyktuq] {
  display: block;
  margin-top: var(--app-space-1);
}

.ligne-detail-actions[b-02kcwyktuq] {
  display: flex;
  justify-content: flex-end;
}
/* /Components/Pages/SaisiesAssureur/Components/SaisieReponseRecap.razor.rz.scp.css */
/* Card "Reponse de l'assureur" de la vue detail (PRD 3.3). */

.reponse-recap[b-usw3fh8srj] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.reponse-recap-entete[b-usw3fh8srj],
.reponse-recap-details[b-usw3fh8srj] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: var(--app-space-3) var(--app-space-5);
  margin: 0;
}

.reponse-recap-champ[b-usw3fh8srj] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.reponse-recap-champ--large[b-usw3fh8srj] {
  grid-column: 1 / -1;
}

.reponse-recap-champ dt[b-usw3fh8srj] {
  font-size: 12px;
  color: var(--app-text-muted);
}

.reponse-recap-champ dd[b-usw3fh8srj] {
  margin: 0;
  font-size: 14px;
  color: var(--app-text);
}

.reponse-recap-decisions-titre[b-usw3fh8srj] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--app-text);
}

.reponse-recap-societe[b-usw3fh8srj] {
  font-weight: 600;
  color: var(--app-text);
}

.reponse-recap-siret[b-usw3fh8srj] {
  font-size: 12px;
  color: var(--app-text-muted);
}

.reponse-recap-table-details td[b-usw3fh8srj] {
  padding-top: 0;
  color: var(--app-text-muted);
  font-size: 12px;
}

.reponse-recap-table-details-champ[b-usw3fh8srj] {
  display: block;
}
/* /Components/Pages/SaisiesAssureur/Components/SaisiesTable.razor.rz.scp.css */
/* Table pure du tableau de bord des saisies (PRD 3.1). Le composant hote
   (SaisiesPage) garde la carte et la chaine flex bornee; AppTable possede la
   zone .table-scroll-region. */

.saisies-row[b-zuolulmbg5] {
  cursor: pointer;
}

.saisies-row:hover[b-zuolulmbg5] {
  background: var(--app-surface-sunken);
}

.saisies-assureur-nom[b-zuolulmbg5] {
  display: flex;
  align-items: center;
  gap: var(--app-space-2);
  font-weight: 600;
  color: var(--app-text);
}

.saisies-assureur-contact[b-zuolulmbg5] {
  font-size: 12px;
  color: var(--app-text-muted);
}

.saisies-badges[b-zuolulmbg5] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.saisies-date-en-retard[b-zuolulmbg5] {
  color: var(--app-danger-text);
  font-weight: 600;
}

/* Badges statut/canal/reference (PRD 3.1) : classes globales dans app.css - la vue
   detail (SaisieDetailPage, PRD 3.3) les reutilise a l'identique et ne rend pas dans
   cet arbre scope, cf. commentaire dans app.css. */

/* Chevron d'apercu (decision 2026-08-26) : colonne etroite sans en-tete ; sa largeur
   sert aussi de retrait a l'apercu deplie, d'ou la propriete locale. Posee sur les tr
   (ecrits par ce composant, donc dans son scope CSS) et non sur la table, rendue par
   AppTable hors de ce scope. */
.saisies-row[b-zuolulmbg5],
.saisies-ligne-detail[b-zuolulmbg5] {
  --saisies-depli-largeur: 40px;
}

.saisies-depli-colonne[b-zuolulmbg5] {
  width: var(--saisies-depli-largeur);
  padding: var(--app-space-2) 0 var(--app-space-2) var(--app-space-2);
}

/* Ligne d'apercu deplie : fond en retrait fixe (ce n'est pas une ligne cliquable,
   le survol ne change rien), cellule pleine largeur qui heberge SaisieLigneDetail. */
.saisies-ligne-detail td[b-zuolulmbg5] {
  background: var(--app-surface-sunken);
  padding: var(--app-space-4) var(--app-space-5) var(--app-space-4) calc(var(--saisies-depli-largeur) + var(--app-space-4));
  cursor: default;
}
/* /Components/Pages/SaisiesAssureur/Components/SaisieWizardAssureurCarte.razor.rz.scp.css */
/* Carte assureur de l'etape 3 (PRD 3.2) : encadre accentue + coche a la selection. */
.assureur-carte[b-d1vhyrla79] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 56px;
  padding: 8px 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
  color: var(--app-text);
  text-align: left;
  cursor: pointer;
}

.assureur-carte:hover[b-d1vhyrla79] {
  background: var(--app-surface-sunken);
}

.assureur-carte--selectionnee[b-d1vhyrla79] {
  border-color: var(--app-warning);
  background: var(--app-warning-bg);
}

.assureur-carte-avatar[b-d1vhyrla79] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--app-radius-pill);
  background: var(--app-surface-sunken-strong);
  color: var(--app-text);
  font-size: 12px;
  font-weight: 700;
}

.assureur-carte-nom[b-d1vhyrla79] {
  font-weight: 600;
  overflow-wrap: anywhere;
}
/* /Components/Pages/SaisiesAssureur/Components/SaisieWizardContactLigne.razor.rz.scp.css */
/* Ligne contact de l'etape 3 (PRD 3.2). */
.contact-ligne[b-weiyna5wjc] {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 4px 0;
}

.contact-ligne-avatar[b-weiyna5wjc] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--app-radius-pill);
  background: var(--app-surface-sunken-strong);
  color: var(--app-text);
  font-size: 11px;
  font-weight: 700;
}

.contact-ligne-corps[b-weiyna5wjc] {
  min-width: 0;
}

.contact-ligne-nom[b-weiyna5wjc] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--app-text);
}

.contact-ligne-badge[b-weiyna5wjc] {
  background: var(--app-info-bg-strong);
  color: var(--app-info-text);
}

.contact-ligne-email[b-weiyna5wjc] {
  font-size: 12px;
  color: var(--app-text-muted);
  overflow-wrap: anywhere;
}
/* /Components/Pages/SaisiesAssureur/Components/SaisieWizardDemographieCarte.razor.rz.scp.css */
/* Carte demographie de l'etape 4 (PRD 3.2). */
.demographie-carte[b-xj312gz86l] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface-sunken);
}

.demographie-carte-entete[b-xj312gz86l] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.demographie-carte-titre[b-xj312gz86l] {
  font-weight: 600;
  color: var(--app-text);
}

.demographie-carte-type[b-xj312gz86l] {
  background: var(--app-surface-sunken-strong);
  color: var(--app-text-muted);
}

.demographie-carte-recommande[b-xj312gz86l] {
  background: var(--app-success-bg-strong);
  color: var(--app-success-text);
}

.demographie-carte-groupe[b-xj312gz86l] {
  font-size: 13px;
  color: var(--app-text-muted);
}

.demographie-carte-mesures[b-xj312gz86l] {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: var(--app-text-muted);
}

.demographie-carte-societes[b-xj312gz86l] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.demographie-carte-societes-titre[b-xj312gz86l] {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.demographie-carte-societes-liste[b-xj312gz86l] {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.demographie-carte-societe[b-xj312gz86l] {
  padding: 1px 8px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-pill);
  background: var(--app-surface);
  font-family: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
  color: var(--app-text-muted);
}
/* /Components/Pages/SaisiesAssureur/Components/SaisieWizardRecapitulatif.razor.rz.scp.css */
/* Recapitulatif final de l'etape 4 (PRD 3.2). */
.recap[b-bu5bxk7rw9] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.recap-totaux[b-bu5bxk7rw9] {
  font-size: 1rem;
  font-weight: 700;
  color: var(--app-text);
}

.recap-liste[b-bu5bxk7rw9] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.recap-ligne[b-bu5bxk7rw9] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
}

.recap-ligne-nom[b-bu5bxk7rw9] {
  font-weight: 600;
  color: var(--app-text);
}

.recap-ligne-statut[b-bu5bxk7rw9] {
  background: var(--app-warning-bg-strong);
  color: var(--app-warning-text);
}

.recap-ligne-detail[b-bu5bxk7rw9] {
  font-size: 12px;
  color: var(--app-text-muted);
}
/* /Components/Pages/SaisiesAssureur/Components/SaisieWizardSocieteCarte.razor.rz.scp.css */
/* Carte societe de l'etape 1 (PRD 3.2) : surbrillance verte a la selection. */
.societe-carte[b-84ih9kys0m] {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
}

.societe-carte--cochee[b-84ih9kys0m] {
  border-color: var(--app-success);
  background: var(--app-success-bg);
}

.societe-carte-corps[b-84ih9kys0m] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.societe-carte-nom[b-84ih9kys0m] {
  font-weight: 600;
  color: var(--app-text);
}

.societe-carte-siret[b-84ih9kys0m] {
  font-family: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
  color: var(--app-text-muted);
}

.societe-carte-ccn[b-84ih9kys0m] {
  background: var(--app-warning-bg-strong);
  color: var(--app-warning-text);
}

.societe-carte-ccn--absente[b-84ih9kys0m] {
  background: var(--app-surface-sunken-strong);
  color: var(--app-text-muted);
}

.societe-carte-effectif[b-84ih9kys0m] {
  font-size: 13px;
  font-weight: 600;
  color: var(--app-text-muted);
  white-space: nowrap;
}
/* /Components/Pages/SaisiesAssureur/Public/SaisiePubliqueChrome.razor.rz.scp.css */
.entete-courtier[b-jox8h35t3r] {
  background: var(--app-surface-inverse);
  color: var(--app-text-inverse);
  padding: var(--app-space-5) var(--app-space-6);
}

.entete-contenu[b-jox8h35t3r],
.corps-publique[b-jox8h35t3r],
.pied-contenu[b-jox8h35t3r] {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
}

.entete-nom[b-jox8h35t3r] {
  font-size: 1.125rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--app-accent-contrast);
}

.corps-publique[b-jox8h35t3r] {
  flex: 1;
  padding: var(--app-space-8) var(--app-space-6) var(--app-space-12);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-6);
}

.pied-courtier[b-jox8h35t3r] {
  border-top: 1px solid var(--app-border);
  background: var(--app-surface);
  padding: var(--app-space-6);
}

.pied-identite[b-jox8h35t3r] {
  margin: 0 0 var(--app-space-2);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--app-text);
}

.pied-mentions[b-jox8h35t3r] {
  margin: 0 0 var(--app-space-3);
  font-size: 0.75rem;
  color: var(--app-text-muted);
}

.pied-mentions summary[b-jox8h35t3r] {
  cursor: pointer;
  font-weight: 600;
  color: var(--app-accent);
  width: fit-content;
}

.pied-mentions summary:focus-visible[b-jox8h35t3r] {
  outline: 2px solid var(--app-focus-ring);
  outline-offset: 2px;
  border-radius: var(--app-radius-sm);
}

.pied-mentions-liste[b-jox8h35t3r] {
  list-style: none;
  margin: var(--app-space-3) 0 0;
  padding: var(--app-space-3) var(--app-space-4);
  border: 1px solid var(--app-border-subtle);
  border-radius: var(--app-radius);
  background: var(--app-surface-sunken);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-1);
  line-height: 1.5;
}

.pied-rgpd[b-jox8h35t3r] {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--app-text-muted);
}
/* /Components/Pages/SaisiesAssureur/Public/SaisiePubliqueLayout.razor.rz.scp.css */
.coquille-publique[b-azu8zk4xzo] {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--app-bg);
  color: var(--app-text);
}
/* /Components/Pages/SaisiesAssureur/Public/SaisieReponsePubliquePage.razor.rz.scp.css */
.etat-publique[b-6w7oqvujgq] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--app-space-3);
  padding: var(--app-space-12);
  color: var(--app-text-muted);
}

.bandeau-echeance[b-6w7oqvujgq] {
  border: 1px solid var(--app-warning);
  border-radius: var(--app-radius);
  background: var(--app-warning-bg);
  color: var(--app-warning-text);
  padding: var(--app-space-3) var(--app-space-4);
  font-size: 0.875rem;
  font-weight: 600;
}

.carte[b-6w7oqvujgq] {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-lg);
  background: var(--app-surface);
  padding: var(--app-space-6);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-3);
}

.carte h1[b-6w7oqvujgq] {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--app-text);
}

.carte h2[b-6w7oqvujgq] {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--app-text);
}

.carte p[b-6w7oqvujgq] {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--app-text);
}

.ligne-carte[b-6w7oqvujgq] {
  color: var(--app-text-muted);
}

.carte-message[b-6w7oqvujgq] {
  gap: var(--app-space-4);
}

.jalons[b-6w7oqvujgq] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.jalons li[b-6w7oqvujgq] {
  border-left: 3px solid var(--app-info);
  padding-left: var(--app-space-4);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-1);
}

.jalon-titre[b-6w7oqvujgq] {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--app-text);
}

.jalon-detail[b-6w7oqvujgq] {
  font-size: 0.8125rem;
  color: var(--app-text-muted);
}

.astuce[b-6w7oqvujgq] {
  border-radius: var(--app-radius);
  background: var(--app-info-bg);
  color: var(--app-info-text);
  padding: var(--app-space-3) var(--app-space-4);
  font-size: 0.8125rem;
}

.liste-pieces[b-6w7oqvujgq] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-2);
}

.liste-pieces li[b-6w7oqvujgq] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--app-space-3);
  border: 1px solid var(--app-border-subtle);
  border-radius: var(--app-radius);
  padding: var(--app-space-3) var(--app-space-4);
}

.piece-identite[b-6w7oqvujgq] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.piece-nom[b-6w7oqvujgq] {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--app-text);
  overflow-wrap: anywhere;
}

.piece-taille[b-6w7oqvujgq] {
  font-size: 0.75rem;
  color: var(--app-text-muted);
}

.piece-lien[b-6w7oqvujgq] {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--app-accent);
  text-decoration: none;
  white-space: nowrap;
}

.piece-lien:hover[b-6w7oqvujgq] {
  text-decoration: underline;
}

.recap[b-6w7oqvujgq] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--app-space-4);
  margin: 0;
}

.recap dt[b-6w7oqvujgq] {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.recap dd[b-6w7oqvujgq] {
  margin: var(--app-space-1) 0 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--app-text);
}

.liste-suite[b-6w7oqvujgq] {
  margin: 0;
  padding-left: var(--app-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-2);
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--app-text);
}
/* /Components/Pages/SaisiesAssureur/Reponse/SaisieReponseChampsAcceptation.razor.rz.scp.css */
.champs-acceptation[b-tpj81831wf] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.ligne-dates[b-tpj81831wf] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--app-space-4);
  align-items: start;
}

.champ-date[b-tpj81831wf] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-1);
}

.aide-champ[b-tpj81831wf] {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--app-text-muted);
}

.bloc-elements[b-tpj81831wf] {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  padding: var(--app-space-3) var(--app-space-4) var(--app-space-4);
  margin: 0;
}

.bloc-elements legend[b-tpj81831wf] {
  padding: 0 var(--app-space-2);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--app-text);
}

.liste-elements[b-tpj81831wf] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--app-space-1) var(--app-space-4);
}
/* /Components/Pages/SaisiesAssureur/Reponse/SaisieReponseChampsRefus.razor.rz.scp.css */
.champs-refus[b-zypbwhvdxb] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}
/* /Components/Pages/SaisiesAssureur/Reponse/SaisieReponseDetailleBloc.razor.rz.scp.css */
.bloc-detaille[b-j2uqenuazg] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-5);
}

.bloc-detaille h3[b-j2uqenuazg] {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--app-text);
}

.carte-societe[b-j2uqenuazg] {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
  padding: var(--app-space-4);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.entete-societe[b-j2uqenuazg] {
  display: flex;
  align-items: center;
  gap: var(--app-space-3);
}

.avatar-societe[b-j2uqenuazg] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--app-radius-pill);
  background: var(--app-surface-sunken-strong);
  color: var(--app-text);
  font-size: 0.8125rem;
  font-weight: 700;
  flex: none;
}

.societe-nom[b-j2uqenuazg] {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--app-text);
}

.societe-siret[b-j2uqenuazg] {
  margin: 0;
  font-size: 0.75rem;
  color: var(--app-text-muted);
}

.ligne-risque[b-j2uqenuazg] {
  border-top: 1px solid var(--app-border-subtle);
  padding-top: var(--app-space-4);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-3);
}

.entete-risque[b-j2uqenuazg] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--app-space-2);
}

.risque-nom[b-j2uqenuazg] {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--app-text);
}

.risque-effectifs[b-j2uqenuazg] {
  font-size: 0.75rem;
  color: var(--app-text-muted);
}

.paire-decision[b-j2uqenuazg] {
  display: flex;
  gap: var(--app-space-2);
}

.encadre[b-j2uqenuazg] {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  padding: var(--app-space-4);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.encadre-acceptation[b-j2uqenuazg] {
  border-color: var(--app-success);
  background: var(--app-success-bg);
}

.encadre-refus[b-j2uqenuazg] {
  border-color: var(--app-danger);
  background: var(--app-danger-bg);
}

.paire-numero[b-j2uqenuazg] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--app-space-4);
}
/* /Components/Pages/SaisiesAssureur/Reponse/SaisieReponseFormulaire.razor.rz.scp.css */
.formulaire-reponse[b-2jvwoy3w1t] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-6);
}

.bloc-repondant[b-2jvwoy3w1t],
.bloc-mode[b-2jvwoy3w1t] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-3);
}

.formulaire-reponse h3[b-2jvwoy3w1t] {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--app-text);
}

.paire-champs[b-2jvwoy3w1t] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--app-space-4);
}

.cartes-mode[b-2jvwoy3w1t] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--app-space-4);
}

.carte-mode[b-2jvwoy3w1t] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-1);
  text-align: left;
  padding: var(--app-space-4);
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
  cursor: pointer;
  font: inherit;
  color: inherit;
}

.carte-mode:hover[b-2jvwoy3w1t] {
  border-color: var(--app-border-strong);
}

.carte-mode:focus-visible[b-2jvwoy3w1t] {
  outline: 2px solid var(--app-focus-ring);
  outline-offset: 2px;
}

.carte-mode-active[b-2jvwoy3w1t] {
  border-color: var(--app-accent);
  background: var(--app-selection-bg);
}

.carte-titre[b-2jvwoy3w1t] {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--app-text);
}

.carte-detail[b-2jvwoy3w1t] {
  font-size: 0.8125rem;
  color: var(--app-text-muted);
}

.pied-formulaire[b-2jvwoy3w1t] {
  display: flex;
  justify-content: flex-end;
}
/* /Components/Pages/SaisiesAssureur/Reponse/SaisieReponseGlobalBloc.razor.rz.scp.css */
.bloc-global[b-6vw041cpik] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.bloc-global h3[b-6vw041cpik] {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--app-text);
}

.paire-decision[b-6vw041cpik] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--app-space-4);
}

.encadre[b-6vw041cpik] {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  padding: var(--app-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.encadre-acceptation[b-6vw041cpik] {
  border-color: var(--app-success);
  background: var(--app-success-bg);
}

.encadre-refus[b-6vw041cpik] {
  border-color: var(--app-danger);
  background: var(--app-danger-bg);
}

.question[b-6vw041cpik] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--app-space-3);
}

.question-libelle[b-6vw041cpik] {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--app-text);
}

.paire-reponse[b-6vw041cpik] {
  display: flex;
  gap: var(--app-space-2);
}

.paire-numero[b-6vw041cpik] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--app-space-4);
}

.bloc-societes[b-6vw041cpik] {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
  padding: var(--app-space-3) var(--app-space-4) var(--app-space-4);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.bloc-societes legend[b-6vw041cpik] {
  padding: 0 var(--app-space-2);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--app-text);
}

.societe-numeros[b-6vw041cpik] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-2);
}

.societe-nom[b-6vw041cpik] {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--app-text);
}

.societe-siret[b-6vw041cpik] {
  margin: 0;
  font-size: 0.75rem;
  color: var(--app-text-muted);
}
/* /Components/Pages/SaisiesAssureur/SaisieApercuEmailDialog.razor.rz.scp.css */
/* Modal de previsualisation du mail (PRD 3.4) : commentaire + rendu isole en iframe. */

.apercu-section[b-1wn0o3dsu9] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-2);
  margin-bottom: var(--app-space-4);
}

.apercu-section-titre[b-1wn0o3dsu9] {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--app-text);
}

.apercu-refresh[b-1wn0o3dsu9] {
  align-self: flex-start;
}

.apercu-iframe[b-1wn0o3dsu9] {
  width: 100%;
  height: 420px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background-color: var(--app-surface);
}

.apercu-expediteur[b-1wn0o3dsu9] {
  margin: 0;
  font-size: 13px;
  color: var(--app-text);
}

.apercu-expediteur-code[b-1wn0o3dsu9] {
  display: block;
  margin-top: var(--app-space-1);
  font-size: 12px;
  color: var(--app-text-muted);
}
/* /Components/Pages/SaisiesAssureur/SaisieDetailPage.razor.rz.scp.css */
/* Vue detail d'une saisie (PRD 3.3) : bandeau + 2 colonnes (contenu / sidebar). */

.detail-page[b-g339ig89vb] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.detail-breadcrumb[b-g339ig89vb] {
  font-size: 13px;
  color: var(--app-text-muted);
}

.detail-breadcrumb a[b-g339ig89vb] {
  color: var(--app-accent);
  text-decoration: none;
}

.detail-breadcrumb a:hover[b-g339ig89vb] {
  text-decoration: underline;
}

.detail-bandeau[b-g339ig89vb] {
  align-items: flex-start;
}

.detail-titre[b-g339ig89vb] {
  display: flex;
  align-items: center;
  gap: var(--app-space-3);
  flex-wrap: wrap;
}

.detail-actions[b-g339ig89vb] {
  display: flex;
  gap: var(--app-space-2);
  flex-wrap: wrap;
}

.detail-corps[b-g339ig89vb] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--app-space-5);
  align-items: start;
}

@media (max-width: 960px) {
  .detail-corps[b-g339ig89vb] {
    grid-template-columns: minmax(0, 1fr);
  }
}

.detail-colonne-gauche[b-g339ig89vb],
.detail-sidebar[b-g339ig89vb] {
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
  min-width: 0;
}

.detail-card-titre[b-g339ig89vb] {
  margin: 0 0 var(--app-space-3) 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--app-text);
}

.detail-card-entete[b-g339ig89vb] {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--app-space-3);
  margin-bottom: var(--app-space-3);
}

.detail-card-entete .detail-card-titre[b-g339ig89vb] {
  margin-bottom: 0;
}

.detail-card-souslibelle[b-g339ig89vb] {
  font-size: 13px;
  color: var(--app-text-muted);
}

.detail-risque-ligne[b-g339ig89vb] {
  display: flex;
  align-items: center;
  gap: var(--app-space-3);
  padding: var(--app-space-2) 0;
  font-size: 13px;
  color: var(--app-text);
}

.detail-risque-ligne:not(:last-child)[b-g339ig89vb] {
  border-bottom: 1px solid var(--app-border-subtle);
}

.detail-pieces-liste[b-g339ig89vb] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-2);
}

.detail-piece-ligne[b-g339ig89vb] {
  display: flex;
  align-items: center;
  gap: var(--app-space-3);
  padding: var(--app-space-2) 0;
}

.detail-piece-ligne:not(:last-child)[b-g339ig89vb] {
  border-bottom: 1px solid var(--app-border-subtle);
}

.detail-piece-corps[b-g339ig89vb] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.detail-piece-nom[b-g339ig89vb] {
  font-weight: 600;
  color: var(--app-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.detail-piece-meta[b-g339ig89vb] {
  font-size: 12px;
  color: var(--app-text-muted);
}

.detail-demographie-flags[b-g339ig89vb] {
  display: flex;
  gap: var(--app-space-2);
  margin-top: var(--app-space-2);
}

.detail-demographie-actions[b-g339ig89vb] {
  display: flex;
  gap: var(--app-space-2);
  margin-top: var(--app-space-2);
  flex-wrap: wrap;
}

.detail-informations[b-g339ig89vb] {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-3);
}

.detail-informations > div[b-g339ig89vb] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--app-space-3);
}

.detail-informations dt[b-g339ig89vb] {
  font-size: 13px;
  color: var(--app-text-muted);
}

.detail-informations dd[b-g339ig89vb] {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--app-text);
  text-align: right;
}

.detail-informations dd.detail-date-en-retard[b-g339ig89vb] {
  color: var(--app-danger-text);
}
/* /Components/Pages/SaisiesAssureur/SaisieModifierPage.razor.rz.scp.css */
/* Derniere etape de l'ecran Modifier (PRD 3.5) : seule la date limite de reponse est
   editable ici (demographie/commentaire/nom de campagne ne sont pas des champs de
   refonte du PRD - la coquille de wizard partagee vit en global, cf. app.css). */

.modifier-etape-finale[b-olg01dn35h] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.modifier-etape-finale-titre[b-olg01dn35h] {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--app-text);
}

.modifier-etape-finale-bloc[b-olg01dn35h] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.modifier-etape-finale-champ[b-olg01dn35h] {
  max-width: 320px;
}

.modifier-etape-finale-soustitre[b-olg01dn35h] {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: var(--app-text);
}

.etape-vide[b-olg01dn35h] {
  margin: 0;
  font-size: 13px;
  color: var(--app-text-muted);
}

.modifier-pieces-liste[b-olg01dn35h] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-2);
}

.modifier-piece-ligne[b-olg01dn35h] {
  display: flex;
  align-items: center;
  gap: var(--app-space-3);
  padding: var(--app-space-2) 0;
}

.modifier-piece-ligne:not(:last-child)[b-olg01dn35h] {
  border-bottom: 1px solid var(--app-border-subtle);
}

.modifier-piece-corps[b-olg01dn35h] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.modifier-piece-nom[b-olg01dn35h] {
  font-weight: 600;
  color: var(--app-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modifier-piece-meta[b-olg01dn35h] {
  font-size: 12px;
  color: var(--app-text-muted);
}
/* /Components/Pages/SaisiesAssureur/SaisieReponseManuellePage.razor.rz.scp.css */
/* Saisie manuelle de la reponse (PRD 3.7) : miroir courtier de la page publique. */

.reponse-manuelle-page[b-zst85xsq0d] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

/* Le contenu porte le defilement sous le titre et le lien de retour fixes. */
.reponse-manuelle-contenu[b-zst85xsq0d] {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
  padding-right: var(--app-space-1);
  padding-bottom: var(--app-space-1);
}

.reponse-manuelle-page > *[b-zst85xsq0d],
.reponse-manuelle-contenu > *[b-zst85xsq0d] {
  flex-shrink: 0;
}

/* Meme traitement que .detail-card-titre (SaisieDetailPage), reecrit ici car le CSS
   isole ne traverse pas les composants : chaque ecran porte son propre titre de carte. */
.reponse-manuelle-card-titre[b-zst85xsq0d] {
  margin: 0 0 var(--app-space-3) 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--app-text);
}

.reponse-manuelle-infos[b-zst85xsq0d] {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--app-space-4);
}

.reponse-manuelle-infos dt[b-zst85xsq0d] {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.reponse-manuelle-infos dd[b-zst85xsq0d] {
  margin: var(--app-space-1) 0 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--app-text);
}

.reponse-manuelle-jalons[b-zst85xsq0d] {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--app-space-4);
}

.reponse-manuelle-jalons li[b-zst85xsq0d] {
  border-left: 3px solid var(--app-info);
  padding-left: var(--app-space-4);
  display: flex;
  flex-direction: column;
  gap: var(--app-space-1);
}

.reponse-manuelle-jalon-titre[b-zst85xsq0d] {
  font-size: 14px;
  font-weight: 600;
  color: var(--app-text);
}

.reponse-manuelle-jalon-detail[b-zst85xsq0d] {
  font-size: 13px;
  color: var(--app-text-muted);
}

.reponse-manuelle-astuce[b-zst85xsq0d] {
  margin: var(--app-space-3) 0 0;
  border-radius: var(--app-radius);
  background: var(--app-info-bg);
  color: var(--app-info-text);
  padding: var(--app-space-3) var(--app-space-4);
  font-size: 13px;
}

.reponse-manuelle-pied[b-zst85xsq0d] {
  display: flex;
  justify-content: flex-end;
}
/* /Components/Pages/SaisiesAssureur/SaisiesPage.razor.rz.scp.css */
/* Contrat d'ecran de liste: la zone de resultats est l'unique proprietaire du
   scroll. Chaque maillon descend la hauteur disponible (flex: 1 + min-height: 0)
   depuis .main-content (100vh, overflow hidden) jusqu'a la zone de AppTable.
   Ni le document, ni la page, ni les cartes ne defilent. */
.saisies-page[b-u3gy7fb2f0] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Les racines DOM des composants MudBlazor ne recoivent pas l'attribut de scope
   CSS de ce fichier: le dimensionnement cible des wrappers HTML explicites
   (.saisies-filter-field), jamais les enfants anonymes du conteneur. */
.saisies-filters[b-u3gy7fb2f0] {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 16px;
}

.saisies-filter-field[b-u3gy7fb2f0] {
  flex: 1 1 180px;
  min-width: 0;
  max-width: 320px;
}

.saisies-filter-field-recherche[b-u3gy7fb2f0] {
  flex: 2 1 240px;
  max-width: 420px;
}

/* Bascule Tableau / Par campagne (PRD 3.1, Lot 11) : partage la ligne des filtres,
   largeur naturelle plutot que la contrainte flex:1 des dropdowns. */
.saisies-vue-toggle[b-u3gy7fb2f0] {
  flex: 0 0 auto;
  align-self: flex-start;
}

.saisies-results-card[b-u3gy7fb2f0] {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* Zone de resultats: unique proprietaire du scroll (passthrough AppTable via
   ClasseZoneResultats, vue Tableau), reutilisee telle quelle par la vue Par
   campagne (wrapper .table-scroll-region pose directement par la page - Lot 11)
   pour garder le meme contrat d'ecran dans les deux vues. */
.saisies-results-scroll[b-u3gy7fb2f0] {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Feedback de rechargement (Fix round 1) : les cartes perimees restent visibles sous
   cette barre pendant qu'un filtre/une pagination recharge la liste. */
.saisies-campagnes-chargement[b-u3gy7fb2f0] {
  margin-bottom: var(--app-space-3);
}

.saisies-campagnes-notice[b-u3gy7fb2f0] {
  display: flex;
  justify-content: flex-end;
  padding-bottom: var(--app-space-2);
}

.saisies-campagne-carte[b-u3gy7fb2f0] {
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  padding: var(--app-space-4);
}

.saisies-campagne-carte + .saisies-campagne-carte[b-u3gy7fb2f0] {
  margin-top: var(--app-space-4);
}

.saisies-campagne-entete[b-u3gy7fb2f0] {
  cursor: pointer;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--app-space-3);
}

.saisies-campagne-entete:focus-visible[b-u3gy7fb2f0] {
  outline: 2px solid var(--app-focus-ring);
  outline-offset: 2px;
  border-radius: var(--app-radius-sm);
}

.saisies-campagne-nom[b-u3gy7fb2f0] {
  font-weight: 700;
  color: var(--app-text);
}

.saisies-campagne-compte[b-u3gy7fb2f0],
.saisies-campagne-agregat[b-u3gy7fb2f0] {
  font-size: 13px;
  color: var(--app-text-muted);
}

.saisies-campagne-carte[open] .saisies-campagne-entete[b-u3gy7fb2f0] {
  margin-bottom: var(--app-space-4);
}

/* Pied non defilant de la carte de resultats: la pagination reste accessible
   pendant que les lignes defilent au-dessus (zone de scroll possedee par
   AppTable, voir SaisiesTable.razor.css). */
.saisies-pagination[b-u3gy7fb2f0] {
  display: flex;
  justify-content: center;
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px solid var(--app-border);
}

@media (max-width: 899.98px) {
  .saisies-filters[b-u3gy7fb2f0] {
    flex-direction: column;
    align-items: stretch;
  }

  .saisies-filter-field[b-u3gy7fb2f0],
  .saisies-filter-field-recherche[b-u3gy7fb2f0] {
    max-width: none;
  }
}
/* /Components/Pages/SaisiesAssureur/SaisieWizardPage.razor.rz.scp.css */
/* Coquille du wizard de creation (PRD 3.2) : en-tete, stepper, corps d'etape et pied de
   navigation. Task 5.2 (ecran Modifier, PRD 3.5) reutilise la meme coquille depuis une
   AUTRE page (SaisieModifierPage) - ces classes sont donc globales dans app.css, pas
   scopees ici (une classe .razor.css locale a l'une des deux pages ne serait pas visible
   par l'autre). Voir la section "Coquille wizard Saisie Assureur" de app.css. */
/* /Components/Pages/SaisiesAssureur/Sections/SaisieWizardEtapeAssureursSection.razor.rz.scp.css */
/* Etape 3 du wizard (PRD 3.2). CSS scope a cette section. */
.etape[b-meck7cym1y] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.etape-titre[b-meck7cym1y] {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--app-text);
}

.etape-bloc[b-meck7cym1y] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
}

.etape-bloc-titre[b-meck7cym1y] {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.etape-vide[b-meck7cym1y] {
  margin: 0;
  color: var(--app-text-muted);
}

.etape-grille[b-meck7cym1y] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 8px;
}

.etape-assureur[b-meck7cym1y] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface-sunken);
}

.etape-assureur-entete[b-meck7cym1y] {
  display: flex;
  align-items: center;
  gap: 10px;
}

.etape-assureur-avatar[b-meck7cym1y] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--app-radius-pill);
  background: var(--app-surface-sunken-strong);
  color: var(--app-text);
  font-size: 12px;
  font-weight: 700;
}

.etape-assureur-nom[b-meck7cym1y] {
  font-weight: 600;
  color: var(--app-text);
}

.etape-assureur-contacts[b-meck7cym1y] {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.etape-assureur-soustitre[b-meck7cym1y] {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.etape-assureur-portefeuille[b-meck7cym1y] {
  max-width: 320px;
}
/* /Components/Pages/SaisiesAssureur/Sections/SaisieWizardEtapeFinalisationSection.razor.rz.scp.css */
/* Etape 4 du wizard (PRD 3.2). CSS scope a cette section. */
.etape[b-4ihisveav3] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.etape-titre[b-4ihisveav3] {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--app-text);
}

.etape-bloc[b-4ihisveav3] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
}

.etape-bloc-titre[b-4ihisveav3] {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.etape-champ[b-4ihisveav3] {
  max-width: 420px;
}

.etape-champ--large[b-4ihisveav3] {
  max-width: none;
}

.etape-vide[b-4ihisveav3] {
  margin: 0;
  color: var(--app-text-muted);
}

.etape-recap-cdc[b-4ihisveav3] {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 8px 12px;
  border-radius: var(--app-radius);
  background: var(--app-surface-sunken);
}

.etape-recap-cdc-libelle[b-4ihisveav3] {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.etape-recap-cdc-valeur[b-4ihisveav3] {
  font-weight: 600;
  color: var(--app-text);
}

.etape-demographie-entete[b-4ihisveav3] {
  display: flex;
  align-items: center;
  gap: 8px;
}

.etape-demographie-badge[b-4ihisveav3] {
  background: var(--app-highlight-bg-strong);
  color: var(--app-highlight-text);
}

.etape-demographie-resume[b-4ihisveav3] {
  margin: 0;
  font-size: 13px;
  color: var(--app-text-muted);
}
/* /Components/Pages/SaisiesAssureur/Sections/SaisieWizardEtapeRisquesSection.razor.rz.scp.css */
/* Etape 2 du wizard (PRD 3.2). CSS scope a cette section. */
.etape[b-648icbuj2r] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.etape-titre[b-648icbuj2r] {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--app-text);
}

.etape-bloc[b-648icbuj2r] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface);
}

.etape-bloc-titre[b-648icbuj2r] {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.etape-ccn-liste[b-648icbuj2r] {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.etape-ccn-ligne[b-648icbuj2r] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.etape-ccn-badge[b-648icbuj2r] {
  background: var(--app-info-bg-strong);
  color: var(--app-info-text);
}

.etape-ccn-libelle[b-648icbuj2r] {
  font-weight: 600;
  color: var(--app-text);
}

.etape-ccn-compte[b-648icbuj2r] {
  font-size: 12px;
  color: var(--app-text-muted);
}

.etape-global[b-648icbuj2r] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--app-border-subtle);
}

.etape-global--cdc[b-648icbuj2r] {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.etape-global-champ[b-648icbuj2r] {
  flex: 1 1 220px;
  min-width: 0;
  max-width: 320px;
}

.etape-global-mode[b-648icbuj2r] {
  font-size: 13px;
  font-style: italic;
  color: var(--app-text-muted);
}

.etape-global-soustitre[b-648icbuj2r] {
  margin: 0;
  font-size: 12px;
  color: var(--app-text-muted);
}

.etape-societe[b-648icbuj2r] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface-sunken);
}

.etape-societe-entete[b-648icbuj2r] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.etape-societe-avatar[b-648icbuj2r] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--app-radius-pill);
  background: var(--app-surface-sunken-strong);
  color: var(--app-text);
  font-size: 12px;
  font-weight: 700;
}

.etape-societe-identite[b-648icbuj2r] {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.etape-societe-nom[b-648icbuj2r] {
  font-weight: 600;
  color: var(--app-text);
}

.etape-societe-siret[b-648icbuj2r] {
  font-family: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
  color: var(--app-text-muted);
}

.etape-societe-risques[b-648icbuj2r] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.etape-risque[b-648icbuj2r] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-left: 3px solid var(--app-accent);
  background: var(--app-surface);
}

.etape-risque-titre[b-648icbuj2r] {
  flex: 0 0 100%;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.etape-risque-champ[b-648icbuj2r] {
  flex: 1 1 180px;
  min-width: 0;
  max-width: 260px;
}

.etape-erreurs ul[b-648icbuj2r] {
  margin: 4px 0 0;
  padding-left: 20px;
}
/* /Components/Pages/SaisiesAssureur/Sections/SaisieWizardEtapeSocietesSection.razor.rz.scp.css */
/* Etape 1 du wizard (PRD 3.2). CSS scope: ces classes n'existent que dans cette
   section, les autres etapes possedent les leurs. */
.etape[b-lo31zewyl1] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.etape-titre[b-lo31zewyl1] {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--app-text);
}

.etape-source[b-lo31zewyl1] {
  display: flex;
  gap: 8px;
}

.etape-source-choix[b-lo31zewyl1] {
  padding: 6px 14px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-pill);
  background: var(--app-surface);
  color: var(--app-text-muted);
  font-weight: 600;
  cursor: pointer;
}

.etape-source-choix:hover[b-lo31zewyl1] {
  background: var(--app-surface-sunken);
}

.etape-source-choix--active[b-lo31zewyl1] {
  border-color: var(--app-accent);
  background: var(--app-selection-bg);
  color: var(--app-text);
  cursor: default;
}

.etape-barre[b-lo31zewyl1] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.etape-barre-filtre[b-lo31zewyl1] {
  flex: 1 1 260px;
  min-width: 0;
  max-width: 420px;
}

.etape-vide[b-lo31zewyl1] {
  margin: 0;
  color: var(--app-text-muted);
}

.etape-societes[b-lo31zewyl1] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 360px;
  overflow-y: auto;
}

.etape-recap[b-lo31zewyl1] {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius);
  background: var(--app-surface-sunken);
}

.etape-recap-total[b-lo31zewyl1] {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: var(--app-text);
}

.etape-recap-ccn[b-lo31zewyl1] {
  font-size: 13px;
  color: var(--app-text-muted);
}

.etape-recap-selection[b-lo31zewyl1] {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.etape-recap-selection-titre[b-lo31zewyl1] {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--app-text-muted);
}

.etape-recap-liste[b-lo31zewyl1] {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.etape-recap-ligne[b-lo31zewyl1] {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 4px 2px 10px;
  border: 1px solid var(--app-border);
  border-radius: var(--app-radius-pill);
  background: var(--app-surface);
  font-size: 13px;
}
/* /Components/Pages/Societes/EquipeClienteleSection.razor.rz.scp.css */
/* Section equipe clientele : styles propres au composant (les classes scoped
   de SocieteDetail.razor.css ne traversent pas la frontiere de composant). */

.equipe-actions-fin[b-0ejbnhkm10] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--app-space-4);
}

.equipe-td-nom[b-0ejbnhkm10] {
    font-weight: 600;
    color: var(--app-text);
}

.equipe-col-actions[b-0ejbnhkm10] {
    width: 1%;
    white-space: nowrap;
}
/* /Components/Pages/Societes/GroupeSocieteDetail.razor.rz.scp.css */
/* Fiche groupe de societes — styles locaux consommant les tokens --app-*
   (spec design system v1). La typographie du header vient des classes
   globales .page-header h1 / .page-subtitle; les cartes reprennent le motif
   de SocieteList avec leurs classes globales .list-card. */

.groupe-detail-header-meta[b-38c4l6urvj] {
    margin-top: var(--app-space-2);
}

/* Chaine flex bornee jusqu'a la zone de scroll de l'onglet actif (contrat
   d'ecran de liste): les racines MudBlazor ne recoivent pas l'attribut de
   scope CSS, d'ou ::deep depuis ce wrapper. */
.groupe-detail-onglets[b-38c4l6urvj] {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.groupe-detail-onglets[b-38c4l6urvj]  .mud-tabs {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.groupe-detail-onglets[b-38c4l6urvj]  .mud-tabs-panels {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.groupe-detail-onglets[b-38c4l6urvj]  .mud-tabs-panels > * {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.groupe-detail-cartes[b-38c4l6urvj] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

.groupe-detail-meta-sep[b-38c4l6urvj] {
    margin-left: var(--app-space-2);
}

.groupe-detail-carte-icone[b-38c4l6urvj] {
    background: var(--app-info-bg);
    color: var(--app-info-text);
}

.groupe-detail-compteur-contrats[b-38c4l6urvj] {
    font-size: 14px;
    font-weight: 600;
    color: var(--app-text);
}
/* /Components/Pages/Societes/GroupesSocieteList.razor.rz.scp.css */
/* Liste des groupes de societes - classes de mise en page (ex-styles inline), tokens --app-*. */

.groupes-titre[b-mrj5w7yx33] {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--app-text);
}

.groupes-sous-titre[b-mrj5w7yx33] {
    margin: 2px 0 0;
    font-size: 14px;
    color: var(--app-text-muted);
}

.groupes-filtres-ligne[b-mrj5w7yx33] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--app-space-3);
    margin-bottom: var(--app-space-3);
}

.groupes-liste[b-mrj5w7yx33] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

.groupes-icone[b-mrj5w7yx33] {
    background: var(--app-info-bg);
    color: var(--app-info-text);
}

.groupes-renommage[b-mrj5w7yx33] {
    max-width: 380px;
}

.groupes-actions[b-mrj5w7yx33] {
    display: flex;
    align-items: center;
    gap: var(--app-space-1);
}
/* /Components/Pages/Societes/ModifierRoleEquipeDialog.razor.rz.scp.css */
.modifier-role-membre[b-6xfy6jwfb0] {
    font-weight: 600;
    color: var(--app-text);
}
/* /Components/Pages/Societes/SocieteDetail.razor.rz.scp.css */
/* Detail societe — styles locaux consommant les tokens --app-* (spec
   design system v1). La typographie du header vient des classes globales
   .page-header h1 / .page-subtitle. Les valeurs slate-700 et sky-600
   restantes dans le .razor n'ont pas de token a valeur exacte et
   attendent l'arbitrage de l'etape 5 (gelees en baseline tokens). */

.societe-detail-label[b-ej73vg56sg] {
    font-size: 12px;
    color: var(--app-text-faint);
    margin-bottom: 2px;
}

.societe-detail-overline[b-ej73vg56sg] {
    font-size: 13px;
    font-weight: 600;
    color: var(--app-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--app-space-3);
}

.societe-detail-grille[b-ej73vg56sg] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--app-space-4) var(--app-space-12);
    margin-bottom: 28px;
}

.societe-detail-actions-fin[b-ej73vg56sg] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--app-space-4);
}

.societe-detail-col-min[b-ej73vg56sg] {
    width: 1%;
    white-space: nowrap;
}

.societe-detail-actions[b-ej73vg56sg] {
    display: flex;
    gap: var(--app-space-2);
}

.societe-detail-cartes[b-ej73vg56sg] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

.societe-detail-sep[b-ej73vg56sg] {
    margin: 0 6px;
}

.societe-detail-sep-large[b-ej73vg56sg] {
    margin: 0 var(--app-space-2);
}

.societe-detail-header-meta[b-ej73vg56sg] {
    margin-top: var(--app-space-2);
}

.societe-detail-lien-neutre[b-ej73vg56sg] {
    text-decoration: none;
    color: inherit;
}

.societe-detail-empty[b-ej73vg56sg] {
    padding: var(--app-space-8);
}

.societe-detail-bloc[b-ej73vg56sg] {
    margin-bottom: 28px;
}

.societe-detail-carte-large[b-ej73vg56sg] {
    padding: var(--app-space-6);
}

.societe-detail-ref[b-ej73vg56sg] {
    font-weight: 600;
}

.societe-detail-ref-titre[b-ej73vg56sg] {
    font-size: 12px;
    color: var(--app-text-muted);
}

.societe-detail-td-nom[b-ej73vg56sg] {
    font-weight: 500;
}

.societe-detail-vide[b-ej73vg56sg] {
    font-size: 14px;
    color: var(--app-text-faint);
}

.societe-detail-valeur[b-ej73vg56sg] {
    font-size: 14px;
    color: var(--app-text);
    font-weight: 500;
}

.societe-detail-paragraphe[b-ej73vg56sg] {
    font-size: 14px;
    color: var(--app-text);
    line-height: 1.6;
    margin-bottom: var(--app-space-3);
}

.societe-detail-lien[b-ej73vg56sg] {
    font-size: 14px;
    color: var(--app-info-text);
    font-weight: 500;
    text-decoration: none;
}

.societe-detail-icone-sante[b-ej73vg56sg] {
    background: var(--app-success-bg);
    color: var(--app-success-text);
}

.societe-detail-icone-prevoyance[b-ej73vg56sg] {
    background: var(--app-highlight-bg);
    color: var(--app-highlight-text);
}
/* /Components/Pages/Societes/SocieteFormDialog.razor.rz.scp.css */
/* Dialog societe — styles locaux consommant les tokens --app-* (spec
   design system v1). Les elements auteurs de ce fichier portent
   l'attribut de scope meme projetes dans le MudDialogProvider; les
   composants Mud passent par ::deep ancre sur un parent auteur. */

.societe-form-aide[b-pdsz07vujz] {
    color: var(--app-text-muted);
}

.societe-form-meta[b-pdsz07vujz] {
    color: var(--app-text-faint);
}

.societe-form-carte[b-pdsz07vujz] {
    padding: var(--app-space-4);
}

.societe-form-fort[b-pdsz07vujz] {
    font-weight: 600;
}

.societe-form-recap[b-pdsz07vujz] {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 6px 12px;
    font-size: 14px;
}

.societe-form-recherche[b-pdsz07vujz] {
    display: flex;
    gap: var(--app-space-2);
    align-items: flex-start;
}

.societe-form-recherche[b-pdsz07vujz]  .societe-form-champ-recherche {
    flex: 1;
}

.societe-form-recherche[b-pdsz07vujz]  .societe-form-bouton-recherche {
    margin-top: 4px;
    height: 40px;
}
/* /Components/Pages/Societes/SocieteList.razor.rz.scp.css */
/* Corps de la liste des societes — styles locaux consommant les tokens
   --app-* (spec design system v1). La typographie du header vient des
   classes globales .page-header h1 / .page-subtitle, jamais d'inline. */

.societe-list-actions[b-ywpjuw5otp] {
    display: flex;
    gap: var(--app-space-2);
}

.societe-list-toolbar[b-ywpjuw5otp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--app-space-3);
    margin-bottom: var(--app-space-3);
}

.societe-list-cartes[b-ywpjuw5otp] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

.societe-list-meta-sep[b-ywpjuw5otp] {
    margin-left: var(--app-space-2);
}

.societe-list-carte-actions[b-ywpjuw5otp] {
    display: flex;
    align-items: center;
    margin-left: var(--app-space-2);
}

/* Le badge de groupe navigue vers le groupe: affordance clic. */
.badge-groupe[b-ywpjuw5otp] {
    cursor: pointer;
}

.societe-carte-icone[b-ywpjuw5otp] {
    background: var(--app-info-bg);
    color: var(--app-info-text);
}

.societe-compteur-contrats[b-ywpjuw5otp] {
    font-size: 14px;
    font-weight: 600;
    color: var(--app-text);
}
/* /Components/Screens/Contrats/Sante/DispositifSante/Apercu/DispositifSanteApercuPage.razor.rz.scp.css */
/* Apercu du dispositif sante - classes de mise en page (ex-styles inline), tokens --app-*. */

.dsa-entete-texte[b-5es8to60vn] {
    min-width: 0;
}

.dsa-actions[b-5es8to60vn] {
    display: flex;
    gap: var(--app-space-2);
    flex-wrap: wrap;
}

/* Icone MudIcon (composant enfant sans attribut de scope): ciblee via ::deep
   depuis la cellule scope. Valeur Mud conservee a l'identique. */
.niveau-row__field-value--icon[b-5es8to60vn]  .dsa-icone-inactive {
    color: var(--mud-palette-text-disabled);
}


/* Lignes de niveaux sante - bloc proprietaire rapatrie d'app.css (decomposition etape 3). */
/* ============================================
   Niveaux santé — list of rich rows
   ============================================ */

.niveau-list[b-5es8to60vn] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.niveau-row[b-5es8to60vn] {
  display: flex;
  align-items: stretch;
  gap: 24px;
  padding: 16px 20px;
  background: var(--app-surface);
  border: 1px solid var(--app-border);
  border-radius: 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.niveau-row:hover[b-5es8to60vn] {
  border-color: var(--app-border-strong);
  box-shadow: var(--app-shadow-hover);
}

.niveau-row--active[b-5es8to60vn] {
  border-color: var(--app-focus-ring);
  background: var(--app-selection-bg);
  box-shadow: inset 3px 0 0 0 var(--mud-palette-primary);
  padding-left: 23px;
}

.niveau-row__identity[b-5es8to60vn] {
  flex: 0 0 auto;
  min-width: 220px;
  max-width: 280px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-right: 24px;
  border-right: 1px solid var(--app-border-subtle);
}

.niveau-row__identity-line[b-5es8to60vn] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}

.niveau-row__title[b-5es8to60vn] {
  font-size: 14px;
  font-weight: 600;
  color: var(--app-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.niveau-row__contrat-number[b-5es8to60vn] {
  font-family: Consolas, "SFMono-Regular", Menlo, Monaco, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  font-weight: 600;
  color: var(--app-text);
}

.niveau-row__contrat-number--missing[b-5es8to60vn] {
  font-family: inherit;
  font-style: italic;
  font-weight: 500;
  color: var(--app-text-muted);
}

.niveau-row__metadata[b-5es8to60vn] {
  flex: 1 1 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
  align-content: center;
  align-items: flex-start;
  min-width: 0;
}

.niveau-row__field[b-5es8to60vn] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.niveau-row__field--full[b-5es8to60vn] {
  flex: 1 1 100%;
  max-width: 100%;
}

.niveau-row__field-label[b-5es8to60vn] {
  font-size: 10.5px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--app-text-muted);
  line-height: 1.4;
}

.niveau-row__field-value[b-5es8to60vn] {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--app-text);
  line-height: 1.35;
}

.niveau-row__field-value--icon[b-5es8to60vn] {
  display: inline-flex;
  align-items: center;
  height: 19px;
}

.niveau-row__field-value--text[b-5es8to60vn] {
  font-weight: 400;
  color: var(--app-text);
  overflow-wrap: anywhere;
}

.niveau-row__actions[b-5es8to60vn] {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-left: 24px;
  border-left: 1px solid var(--app-border-subtle);
}

@media (max-width: 1100px) {
  .niveau-row[b-5es8to60vn] {
    flex-wrap: wrap;
  }

  .niveau-row__identity[b-5es8to60vn] {
    max-width: none;
    border-right: 0;
    padding-right: 0;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--app-border-subtle);
    min-width: 100%;
  }

  .niveau-row__actions[b-5es8to60vn] {
    border-left: 0;
    padding-left: 0;
    padding-top: 12px;
    border-top: 1px solid var(--app-border-subtle);
    min-width: 100%;
    justify-content: flex-end;
  }
}
/* /Components/Screens/Contrats/Sante/DispositifSante/Chargements/DispositifSanteChargementsPage.razor.rz.scp.css */
/* Chargements sante — CSS scope (ex-bloc <style> G4), tokens --app-*
   uniquement. Les regles ciblant l'element <table> (rendu par
   AppGrilleEditeur) passent par ::deep; th/td/tr restent auteurs. */

.chargements-sante-layout[b-05en64a56z] {
    display: grid;
    gap: var(--app-space-4);
}

.chargements-sante-grid[b-05en64a56z] {
    display: grid;
    gap: 10px;
}

.chargements-sante-table-wrap[b-05en64a56z] {
    overflow-x: auto;
}

.chargements-sante-table-wrap[b-05en64a56z]  .chargements-sante-table {
    min-width: 760px;
    width: 100%;
}

.chargements-sante-table thead th[b-05en64a56z] {
    white-space: nowrap;
}

.chargements-sante-table td:first-child[b-05en64a56z],
.chargements-sante-table th:first-child[b-05en64a56z] {
    min-width: 160px;
}

.chargements-sante-value[b-05en64a56z] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.chargements-sante-row-heading[b-05en64a56z] {
    min-width: 170px;
}

.chargements-sante-row-subtitle[b-05en64a56z] {
    color: var(--app-text-muted);
    font-size: 0.8rem;
    margin-top: 2px;
}

.chargements-sante-actions[b-05en64a56z] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--app-space-3);
    margin-bottom: var(--app-space-2);
}

.chargements-sante-field[b-05en64a56z]  input {
    text-align: right;
}

.chargements-sante-mode[b-05en64a56z] {
    min-width: 120px;
}

.chargements-sante-table-wrap[b-05en64a56z]  .chargements-sante-temporary-table {
    min-width: 860px;
}

.chargements-sante-temporary-table th[b-05en64a56z] {
    text-align: left;
}

.chargements-sante-temporary-category[b-05en64a56z] {
    min-width: 190px;
}

.chargements-sante-temporary-duration[b-05en64a56z] {
    min-width: 112px;
}

.chargements-sante-temporary-temporality[b-05en64a56z] {
    min-width: 170px;
}

.chargements-sante-temporary-taux[b-05en64a56z] {
    min-width: 70px;
}

.chargements-sante-temporary-delete[b-05en64a56z] {
    margin-top: var(--app-space-1);
}

.siret-scope-layout[b-05en64a56z] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: var(--app-space-4);
    align-items: start;
}

.siret-scope-tabs[b-05en64a56z] {
    display: grid;
    gap: 6px;
    padding: var(--app-space-2);
    border-right: 1px solid var(--app-border);
}

.siret-scope-tab[b-05en64a56z] {
    justify-content: flex-start;
    min-height: 40px;
    text-align: left;
}

.siret-scope-content[b-05en64a56z] {
    min-width: 0;
}

@media (max-width: 900px) {
    .chargements-sante-table-wrap[b-05en64a56z]  .chargements-sante-table {
        min-width: 680px;
    }

    .siret-scope-layout[b-05en64a56z] {
        grid-template-columns: 1fr;
    }

    .siret-scope-tabs[b-05en64a56z] {
        grid-auto-flow: column;
        grid-auto-columns: minmax(180px, 1fr);
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid var(--app-border);
    }
}

.chargements-sante-actions-groupe[b-05en64a56z] {
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
}
/* /Components/Screens/Contrats/Sante/DispositifSante/StructureCotisation/DispositifSanteStructureCotisationPage.razor.rz.scp.css */
/* Structure de cotisation sante - CSS scope (ex-bloc <style> G4), tokens
   --app-* uniquement. Les classes posees via Class= sur des composants
   MudBlazor (scs-tabs*, scs-*-input) et les internes .mud-* passent par
   `.scs-page ::deep` depuis la racine auteur de la page. */
.scs-page[b-gfz2dafx6x] { display:flex; flex-direction:column; gap:16px; min-height:100%; }
.scs-layout[b-gfz2dafx6x], .scs-grid[b-gfz2dafx6x], .scs-stack[b-gfz2dafx6x] { display:grid; gap:16px; }
.scs-stack-espace[b-gfz2dafx6x] { margin-top: 10px; }
.scs-static[b-gfz2dafx6x] { display:grid; gap:16px; flex-shrink:0; }
.scs-scroll[b-gfz2dafx6x] { flex:1; min-height:0; overflow-y:auto; display:grid; gap:16px; }
.scs-structures[b-gfz2dafx6x] { display:grid; gap:12px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.scs-header[b-gfz2dafx6x] { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; margin-bottom:16px; }
.scs-title[b-gfz2dafx6x] { margin:0; font-size:18px; font-weight:700; color:var(--app-text); }
.scs-text[b-gfz2dafx6x], .scs-note[b-gfz2dafx6x] { font-size:14px; color:var(--app-text-muted); }
.scs-context-bar[b-gfz2dafx6x] { display:flex; align-items:stretch; gap:0; overflow-x:auto; padding:0; }
.scs-context-section[b-gfz2dafx6x] { display:grid; gap:6px; min-width:max-content; padding:14px 18px; border-right:1px solid var(--app-border); background:var(--app-surface); }
.scs-context-section:first-child[b-gfz2dafx6x] { padding-left:16px; }
.scs-context-section:last-child[b-gfz2dafx6x] { border-right:none; }
.scs-context-section--status[b-gfz2dafx6x] { margin-left:auto; border-right:none; align-content:center; }
.scs-label[b-gfz2dafx6x] { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--app-text-muted); }
.scs-value[b-gfz2dafx6x], .scs-context-value[b-gfz2dafx6x] { font-size:16px; font-weight:600; color:var(--app-text); }
.scs-context-value[b-gfz2dafx6x] { white-space:nowrap; }
.scs-page[b-gfz2dafx6x]  .scs-tabs { padding:0; overflow:hidden; }
.scs-page[b-gfz2dafx6x]  .scs-tabs-panel-hidden { display:none; }
.scs-tab-label[b-gfz2dafx6x] { display:grid; justify-items:start; gap:4px; }
.scs-tab-heading[b-gfz2dafx6x] { display:flex; align-items:center; gap:8px; }
.scs-tab-title[b-gfz2dafx6x] { font-size:13px; font-weight:600; color:var(--app-text); }
.scs-tab-dot[b-gfz2dafx6x] { width:8px; height:8px; border-radius:999px; background:var(--app-warning); box-shadow:0 0 0 2px var(--app-warning-bg); flex:0 0 auto; }
.scs-tab-structure[b-gfz2dafx6x] { display:inline-flex; align-items:center; padding:2px 8px; border:1px solid var(--app-border); border-radius:999px; background:var(--app-surface-sunken); color:var(--app-text-muted); font-size:11px; font-weight:600; }
.scs-page[b-gfz2dafx6x]  .scs-tab-active .scs-tab-structure { border-color:var(--app-success-bg-strong); background:var(--app-success-bg); color:var(--app-success-text); }
.scs-button[b-gfz2dafx6x] { display:grid; gap:10px; align-content:start; justify-content:start; align-items:start; justify-items:start; padding:16px; border:1px solid var(--app-border); border-radius:12px; background:var(--app-surface); text-align:left; color:inherit; cursor:pointer; }
.scs-button > *[b-gfz2dafx6x] { justify-self:start; align-self:start; text-align:left; }
.scs-button:hover[b-gfz2dafx6x] { border-color:var(--mud-palette-primary); box-shadow:var(--app-shadow-overlay); }
.scs-button--active[b-gfz2dafx6x] { border-color:var(--mud-palette-primary); box-shadow:0 0 0 2px var(--app-selection-bg); background:var(--app-selection-bg); }
.scs-button:disabled[b-gfz2dafx6x] { cursor:default; box-shadow:none; }
.scs-badges[b-gfz2dafx6x], .scs-assiettes[b-gfz2dafx6x], .scs-meta[b-gfz2dafx6x] { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.scs-bullet-list[b-gfz2dafx6x] { margin:0; width:100%; padding-left:18px; display:grid; gap:6px; justify-items:start; color:var(--app-text-faint); }
.scs-bullet-list li[b-gfz2dafx6x] { line-height:1.35; }
.scs-button--active .scs-bullet-list[b-gfz2dafx6x] { color:var(--app-text); }
.scs-tag[b-gfz2dafx6x] { display:inline-flex; align-items:center; width:fit-content; padding:4px 10px; border:1px solid var(--app-warning); border-radius:10px; background:var(--app-warning-bg); color:var(--app-warning-text); font-size:13px; font-weight:600; }
.scs-pill[b-gfz2dafx6x] { border:1px solid var(--app-border); border-radius:999px; padding:8px 12px; background:var(--app-surface); font-size:13px; font-weight:600; cursor:pointer; }
.scs-pill--active[b-gfz2dafx6x] { border-color:var(--mud-palette-primary); background:var(--app-selection-bg); color:var(--mud-palette-primary); }
.scs-table-wrap[b-gfz2dafx6x] { overflow:auto; }
.scs-table[b-gfz2dafx6x] { width:100%; min-width:860px; border-collapse:collapse; }
.scs-table th[b-gfz2dafx6x], .scs-table td[b-gfz2dafx6x] { padding:12px 16px; border-bottom:1px solid var(--app-border); vertical-align:middle; }
.scs-table th[b-gfz2dafx6x] { font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--app-text-muted); background:var(--app-surface-sunken); text-align:left; }
.scs-table td.scs-cell-missing[b-gfz2dafx6x] { background:var(--app-warning-bg); }
.scs-cell[b-gfz2dafx6x] { display:grid; width:100%; align-content:start; justify-items:start; gap:8px; min-height:100%; }
.scs-cell--end[b-gfz2dafx6x] { width:100%; justify-items:end; text-align:right; }
.scs-line[b-gfz2dafx6x] { min-width:260px; }
.scs-num-cell[b-gfz2dafx6x] { text-align:right; }
.scs-page[b-gfz2dafx6x]  .scs-num-input, .scs-page[b-gfz2dafx6x]  .scs-num-input .mud-input-control, .scs-page[b-gfz2dafx6x]  .scs-num-input .mud-input-outlined { width:100%; }
.scs-page[b-gfz2dafx6x]  .scs-num-input input, .scs-page[b-gfz2dafx6x]  .scs-num-input .mud-input-adornment-text, .scs-num-value[b-gfz2dafx6x] { font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-variant-numeric:tabular-nums; }
.scs-page[b-gfz2dafx6x]  .scs-num-input input { text-align:right; }
.scs-line-title[b-gfz2dafx6x], .scs-etat-value[b-gfz2dafx6x] { font-size:15px; font-weight:700; color:var(--app-text); }
.scs-line-meta[b-gfz2dafx6x] { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.scs-line-note[b-gfz2dafx6x] { font-size:13px; }
.scs-line-note--obligatoire[b-gfz2dafx6x] { color:var(--app-success-text); font-weight:600; }
.scs-line-note--facultatif[b-gfz2dafx6x] { color:var(--app-warning-text); font-weight:600; }
.scs-line-note--pack[b-gfz2dafx6x] { color:var(--app-warning-text); font-style:italic; }
.scs-num-value[b-gfz2dafx6x] { font-size:15px; font-weight:700; color:var(--app-text); }
.scs-etat[b-gfz2dafx6x] { display:grid; width:100%; gap:8px; justify-items:end; }
.scs-etat-meta[b-gfz2dafx6x] { display:flex; width:100%; gap:8px; flex-wrap:wrap; align-items:center; justify-content:flex-end; }
.scs-etat-reason[b-gfz2dafx6x] { font-size:12px; color:var(--app-text-muted); }
.scs-gratuite[b-gfz2dafx6x] { display:grid; gap:8px; margin-top:10px; padding-top:10px; border-top:1px dashed var(--app-border); max-width:220px; }
.scs-gratuite-inline[b-gfz2dafx6x], .scs-gratuite-threshold[b-gfz2dafx6x], .scs-toggle-group[b-gfz2dafx6x] { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.scs-gratuite-label[b-gfz2dafx6x], .scs-gratuite-threshold-text[b-gfz2dafx6x] { font-size:13px; color:var(--app-text); }
.scs-toggle-option[b-gfz2dafx6x] { border:1px solid var(--app-border-strong); border-radius:999px; padding:6px 12px; background:var(--app-surface); color:var(--app-text); font-size:13px; font-weight:600; cursor:pointer; }
.scs-toggle-option--active[b-gfz2dafx6x] { border-color:var(--mud-palette-primary); background:var(--app-selection-bg); color:var(--mud-palette-primary); }
.scs-toggle-option:disabled[b-gfz2dafx6x] { cursor:default; opacity:.6; }
.scs-page[b-gfz2dafx6x]  .scs-gratuite-input { width:88px; }
.scs-page[b-gfz2dafx6x]  .scs-gratuite-input .mud-input-control, .scs-page[b-gfz2dafx6x]  .scs-gratuite-input .mud-input-outlined { width:100%; }
.scs-reference-field[b-gfz2dafx6x] { width:100%; border:1px dashed var(--app-border-strong); border-radius:12px; padding:11px 14px; background:var(--app-surface-sunken); color:var(--app-text-muted); text-align:right; font-size:14px; font-weight:600; }
.scs-validation-list[b-gfz2dafx6x] { margin:8px 0 0; padding-left:18px; display:grid; gap:6px; }
/* /Components/Screens/Contrats/Sante/Version/Optique/Grilles/CelluleValeur.razor.rz.scp.css */
/* Editeur de cellule des grilles optiques — tokens --app-* uniquement. */

.gos-value-editor[b-xqxzqm7v74] {
    position: relative;
}

.gos-value-editor[b-xqxzqm7v74]  .gos-value-field {
    max-width: 116px;
    margin: 0 auto;
}

.gos-value-editor[b-xqxzqm7v74]  .gos-value-field input {
    text-align: right;
}

.gos-value-editor[b-xqxzqm7v74]  .gos-value-field input::-webkit-outer-spin-button,
.gos-value-editor[b-xqxzqm7v74]  .gos-value-field input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.gos-value-editor[b-xqxzqm7v74]  .gos-value-field input[type=number] {
    appearance: textfield;
    -moz-appearance: textfield;
}

.gos-value-popup[b-xqxzqm7v74] {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 6;
    width: max-content;
    max-width: 220px;
    padding: 6px var(--app-space-2);
    border: 1px solid var(--app-danger);
    border-radius: var(--app-radius-sm);
    background: var(--app-danger-bg);
    color: var(--app-danger-text);
    font-size: 12px;
    line-height: 1.25;
    box-shadow: var(--app-shadow-overlay);
}
/* /Components/Screens/Contrats/Sante/Version/Optique/Grilles/GrilleKalixia.razor.rz.scp.css */
/* Grilles Kalixia — tokens --app-* uniquement. Socle .gos-table duplique
   par grille (isolation CSS Blazor, pas de scope partage). */

.gos-grid-stack[b-d66yjzrl3q] {
    display: grid;
    gap: var(--app-space-3);
    min-height: 0;
}

.gos-table-wrap[b-d66yjzrl3q] {
    min-height: 0;
    overflow: auto;
    border: 2px solid var(--app-border-strong);
    background: var(--app-surface);
}

.gos-kalixia-wrap[b-d66yjzrl3q] {
    width: fit-content;
    max-width: 100%;
    max-height: none;
}

.gos-table-wrap[b-d66yjzrl3q]  .gos-table {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.gos-table-wrap[b-d66yjzrl3q]  .gos-table th,
.gos-table-wrap[b-d66yjzrl3q]  .gos-table td {
    border-right: 1px solid var(--app-border);
    border-bottom: 1px solid var(--app-border);
    padding: var(--app-space-2) 10px;
    vertical-align: middle;
}

.gos-table-wrap[b-d66yjzrl3q]  .gos-table th:first-child,
.gos-table-wrap[b-d66yjzrl3q]  .gos-table td:first-child {
    border-left: 0;
}

.gos-table-wrap[b-d66yjzrl3q]  .gos-table td {
    background: var(--app-surface);
}

.gos-table-wrap[b-d66yjzrl3q]  .gos-table thead th {
    box-shadow: none;
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--app-surface-sunken-strong);
    color: var(--app-text);
    font-weight: 700;
    font-size: 13px;
    text-align: center;
    text-transform: none;
    letter-spacing: normal;
    height: 42px;
}

.gos-table-wrap[b-d66yjzrl3q]  .gos-table tbody th {
    position: static;
    box-shadow: none;
    text-align: left;
    font-weight: 700;
    font-size: 13px;
    text-transform: none;
    letter-spacing: normal;
    color: var(--app-text);
    background: var(--app-surface);
}

.gos-table-wrap[b-d66yjzrl3q]  .gos-kalixia-table {
    width: auto;
    min-width: 820px;
    max-width: 980px;
}

.gos-table-wrap[b-d66yjzrl3q]  .gos-kalixia-verres-table {
    min-width: 560px;
    max-width: 720px;
}

.gos-kalixia-label-col[b-d66yjzrl3q] {
    width: 280px;
}

.gos-kalixia-reseau-col[b-d66yjzrl3q] {
    width: 300px;
}

.gos-kalixia-value-col[b-d66yjzrl3q] {
    width: 280px;
}

.gos-text-start[b-d66yjzrl3q] {
    text-align: left !important;
}

.gos-text-center[b-d66yjzrl3q] {
    text-align: center !important;
}

.gos-value-cell[b-d66yjzrl3q] {
    padding: var(--app-space-1) var(--app-space-2) !important;
}

.gos-kalixia-wrap[b-d66yjzrl3q]  .gos-value-cell,
.gos-kalixia-wrap[b-d66yjzrl3q]  .gos-value-field input {
    text-align: center;
}
/* /Components/Screens/Contrats/Sante/Version/Optique/Grilles/GrilleLibre.razor.rz.scp.css */
/* Grille optique libre — tokens --app-* uniquement. L'indentation et les
   zones de depot recoivent leur geometrie par custom properties inline
   (canal sanctionne pour les valeurs pilotees par les donnees). */

.gos-grid-stack[b-exu6p69zcm] {
    display: grid;
    gap: var(--app-space-3);
    min-height: 0;
}

.gos-table-wrap[b-exu6p69zcm] {
    overflow: auto;
    border: 2px solid var(--app-border-strong);
    background: var(--app-surface);
}

.gos-libre-wrap[b-exu6p69zcm] {
    max-height: calc(100vh - 345px);
    min-height: 280px;
}

.gos-libre-toolbar[b-exu6p69zcm] {
    display: flex;
    gap: var(--app-space-2);
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.gos-libre-grid[b-exu6p69zcm] {
    display: flex;
    flex-direction: column;
    min-width: 900px;
    border: 1px solid var(--app-border);
    background: var(--app-surface);
}

.gos-libre-grid-header[b-exu6p69zcm],

.gos-libre-row[b-exu6p69zcm] {
    display: grid;
    grid-template-columns: 54px minmax(420px, 1fr) 140px 140px 150px;
}

.gos-libre-grid-header[b-exu6p69zcm] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--app-surface-sunken-strong);
    color: var(--app-text);
    font-weight: 700;
}

.gos-libre-grid-header > div[b-exu6p69zcm],
.gos-libre-row > div[b-exu6p69zcm] {
    min-height: 44px;
    padding: var(--app-space-2) 10px;
    border-right: 1px solid var(--app-border);
    border-bottom: 1px solid var(--app-border);
    display: flex;
    align-items: center;
    justify-content: center;
}

.gos-libre-grid-header > div:last-child[b-exu6p69zcm],
.gos-libre-row > div:last-child[b-exu6p69zcm] {
    border-right: 0;
}

.gos-libre-libelle-cell[b-exu6p69zcm] {
    justify-content: flex-start !important;
}

.gos-libre-libelle-text[b-exu6p69zcm] {
    display: inline-block;
    padding: var(--app-space-1) 0;
}

.gos-libre-row[b-exu6p69zcm] {
    background: var(--app-surface);
}

.gos-libre-category[b-exu6p69zcm] {
    background: var(--app-surface-sunken);
    font-weight: 600;
}

.gos-libre-row-dragging[b-exu6p69zcm] {
    opacity: .45;
}

.gos-libre-row-drop-into[b-exu6p69zcm] {
    outline: 2px solid color-mix(in srgb, var(--mud-palette-primary) 45%, transparent);
    outline-offset: -2px;
    background: color-mix(in srgb, var(--mud-palette-primary) 8%, transparent) !important;
}

.gos-libre-row-deleted[b-exu6p69zcm] {
    background: var(--app-danger-bg) !important;
}

.gos-libre-row-deleted .gos-libre-libelle-text[b-exu6p69zcm],
.gos-libre-row-deleted .gos-libre-amount-readonly[b-exu6p69zcm] {
    text-decoration: line-through;
    color: var(--app-text-muted);
}

.gos-libre-row-deleted .gos-libre-tree-cell[b-exu6p69zcm]  .mud-icon-root {
    color: var(--app-text-faint);
}

.gos-libre-actions[b-exu6p69zcm] {
    display: flex;
    justify-content: center;
    gap: var(--app-space-1);
}

.gos-libre-tree-cell[b-exu6p69zcm] {
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
    min-width: 0;
    width: 100%;
}

.gos-libre-tree-cell[b-exu6p69zcm]  .mud-icon-root {
    flex: 0 0 auto;
}

.gos-libre-indent[b-exu6p69zcm] {
    flex: 0 0 auto;
    height: 1px;
    width: var(--gos-libre-indent-largeur, 0px);
}

.gos-libre-indent-ligne[b-exu6p69zcm] {
    width: 34px;
}

.gos-libre-label-field[b-exu6p69zcm] {
    flex: 1 1 auto;
    min-width: 180px;
    max-width: 100%;
}

.gos-libre-drag-handle[b-exu6p69zcm] {
    cursor: grab;
    color: var(--app-text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.gos-libre-drag-handle:active[b-exu6p69zcm] {
    cursor: grabbing;
}

.gos-libre-row[b-exu6p69zcm]  .mud-input-control {
    margin-top: 0;
    margin-bottom: 0;
}

.gos-libre-row[b-exu6p69zcm]  .gos-value-field {
    max-width: 122px;
}

.gos-libre-amount-readonly[b-exu6p69zcm] {
    font-variant-numeric: tabular-nums;
}

.gos-value-cell[b-exu6p69zcm] {
    padding: var(--app-space-1) var(--app-space-2) !important;
}

.gos-libre-gap[b-exu6p69zcm] {
    height: 6px;
    flex: 0 0 auto;
    position: relative;
    transition: height .12s ease;
}

.gos-libre-gap[b-exu6p69zcm]::before {
    content: '';
    position: absolute;
    left: calc(8px + var(--gos-libre-gap-indent, 0px));
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    height: 2px;
    border-radius: 1px;
    pointer-events: none;
}

.gos-libre-grid.gos-libre-dragging .gos-libre-gap[b-exu6p69zcm] {
    height: 14px;
    background: color-mix(in srgb, var(--mud-palette-primary) 6%, transparent);
}

.gos-libre-grid.gos-libre-dragging .gos-libre-gap[b-exu6p69zcm]::before {
    background: color-mix(in srgb, var(--mud-palette-primary) 25%, transparent);
}

.gos-libre-gap-active[b-exu6p69zcm]::before {
    background: var(--mud-palette-primary) !important;
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--mud-palette-primary) 30%, transparent);
}
/* /Components/Screens/Contrats/Sante/Version/Optique/Grilles/GrilleMontures.razor.rz.scp.css */
/* Grille des montures — tokens --app-* uniquement. Le socle .gos-table
   (bordures, en-tetes epingles) est duplique par grille: l'isolation CSS
   de Blazor ne permet pas de partager un scope entre composants. */

.gos-table-wrap[b-1mbdugzrw2] {
    max-height: calc(100vh - 290px);
    min-height: 0;
    overflow: auto;
    border: 2px solid var(--app-border-strong);
    background: var(--app-surface);
}

.gos-montures-wrap[b-1mbdugzrw2] {
    width: fit-content;
    max-width: 100%;
}

.gos-table-wrap[b-1mbdugzrw2]  .gos-table {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.gos-table-wrap[b-1mbdugzrw2]  .gos-table th,
.gos-table-wrap[b-1mbdugzrw2]  .gos-table td {
    border-right: 1px solid var(--app-border);
    border-bottom: 1px solid var(--app-border);
    padding: var(--app-space-2) 10px;
    vertical-align: middle;
}

.gos-table-wrap[b-1mbdugzrw2]  .gos-table th:first-child,
.gos-table-wrap[b-1mbdugzrw2]  .gos-table td:first-child {
    border-left: 0;
}

.gos-table-wrap[b-1mbdugzrw2]  .gos-table td {
    background: var(--app-surface);
}

.gos-table-wrap[b-1mbdugzrw2]  .gos-table thead th {
    box-shadow: none;
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--app-surface-sunken-strong);
    color: var(--app-text);
    font-weight: 700;
    font-size: 13px;
    text-align: center;
    text-transform: none;
    letter-spacing: normal;
    height: 42px;
}

.gos-table-wrap[b-1mbdugzrw2]  .gos-table tbody th {
    position: static;
    box-shadow: none;
    text-align: left;
    font-weight: 700;
    font-size: 13px;
    text-transform: none;
    letter-spacing: normal;
    color: var(--app-text);
    background: var(--app-surface);
}

.gos-table-wrap[b-1mbdugzrw2]  .gos-montures-table {
    width: 560px;
    min-width: 560px;
}

.gos-monture-label-col[b-1mbdugzrw2] {
    width: 170px;
}

.gos-monture-amount-col[b-1mbdugzrw2] {
    width: 100px;
}

.gos-monture-maximum-col[b-1mbdugzrw2] {
    width: 160px;
}

.gos-montures-wrap[b-1mbdugzrw2]  .gos-maximum-cell .gos-value-field {
    max-width: none;
}

.gos-monture-value-col[b-1mbdugzrw2] {
    width: 130px;
}

.gos-text-start[b-1mbdugzrw2] {
    text-align: left !important;
}

.gos-text-center[b-1mbdugzrw2] {
    text-align: center !important;
}

.gos-amount[b-1mbdugzrw2] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gos-value-cell[b-1mbdugzrw2] {
    padding: var(--app-space-1) var(--app-space-2) !important;
}

.gos-montures-wrap[b-1mbdugzrw2]  .gos-amount,
.gos-montures-wrap[b-1mbdugzrw2]  .gos-value-cell,
.gos-montures-wrap[b-1mbdugzrw2]  .gos-value-field input {
    text-align: center;
}
/* /Components/Screens/Contrats/Sante/Version/Optique/Grilles/GrilleSanteclair.razor.rz.scp.css */
/* Grilles Santeclair — tokens --app-* uniquement. Socle .gos-table
   duplique par grille (isolation CSS Blazor, pas de scope partage). */

.gos-grid-stack[b-amyzfx2s9w] {
    display: grid;
    gap: var(--app-space-3);
    min-height: 0;
}

.gos-table-wrap[b-amyzfx2s9w] {
    overflow: auto;
    border: 2px solid var(--app-border-strong);
    background: var(--app-surface);
}

.gos-sc-main-wrap[b-amyzfx2s9w] {
    max-height: min(56vh, 560px);
    min-height: 260px;
}

.gos-sc-extra-wrap[b-amyzfx2s9w] {
    max-height: none;
    min-height: 0;
}

.gos-table-wrap[b-amyzfx2s9w]  .gos-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.gos-table-wrap[b-amyzfx2s9w]  .gos-sc-table {
    min-width: 1142px;
}

.gos-table-wrap[b-amyzfx2s9w]  .gos-garanties-table {
    min-width: 760px;
}

.gos-table-wrap[b-amyzfx2s9w]  .gos-table th,
.gos-table-wrap[b-amyzfx2s9w]  .gos-table td {
    border-right: 1px solid var(--app-border);
    border-bottom: 1px solid var(--app-border);
    padding: var(--app-space-2) 10px;
    vertical-align: middle;
}

.gos-table-wrap[b-amyzfx2s9w]  .gos-table th:first-child,
.gos-table-wrap[b-amyzfx2s9w]  .gos-table td:first-child {
    border-left: 0;
}

.gos-table-wrap[b-amyzfx2s9w]  .gos-table td {
    background: var(--app-surface);
}

.gos-table-wrap[b-amyzfx2s9w]  .gos-table thead th {
    box-shadow: none;
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--app-surface-sunken-strong);
    color: var(--app-text);
    font-weight: 700;
    font-size: 13px;
    text-align: center;
    text-transform: none;
    letter-spacing: normal;
    height: 42px;
}

.gos-table-wrap[b-amyzfx2s9w]  .gos-table tbody th {
    position: static;
    box-shadow: none;
    text-align: left;
    font-weight: 700;
    font-size: 13px;
    text-transform: none;
    letter-spacing: normal;
    color: var(--app-text);
    background: var(--app-surface);
}

.gos-niveau-col[b-amyzfx2s9w] {
    width: 120px;
}

.gos-type-col[b-amyzfx2s9w] {
    width: 130px;
}

.gos-sc-criteres-col[b-amyzfx2s9w] {
    width: 324px;
}

.gos-defaut-col[b-amyzfx2s9w] {
    width: 135px;
}

.gos-epaisseur-col[b-amyzfx2s9w] {
    width: 125px;
}

.gos-garantie-col[b-amyzfx2s9w] {
    width: 320px;
}

.gos-amount-col[b-amyzfx2s9w] {
    width: 88px;
}

.gos-value-col[b-amyzfx2s9w] {
    width: 132px;
}

.gos-garantie-value-col[b-amyzfx2s9w] {
    width: 220px;
}

.gos-characteristics[b-amyzfx2s9w] {
    color: var(--app-text);
    line-height: 1.35;
    white-space: pre-line;
}

.gos-amount[b-amyzfx2s9w] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gos-value-cell[b-amyzfx2s9w] {
    padding: var(--app-space-1) var(--app-space-2) !important;
}
/* /Components/Screens/Contrats/Sante/Version/Optique/Grilles/GrilleStandard.razor.rz.scp.css */
/* Grille standard — tokens --app-* uniquement. Socle .gos-table duplique
   par grille (isolation CSS Blazor, pas de scope partage). */

.gos-table-wrap[b-pq9kgtm55i] {
    max-height: calc(100vh - 290px);
    min-height: 320px;
    overflow: auto;
    border: 2px solid var(--app-border-strong);
    background: var(--app-surface);
}

.gos-table-wrap[b-pq9kgtm55i]  .gos-table {
    width: 100%;
    min-width: 1180px;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.gos-table-wrap[b-pq9kgtm55i]  .gos-table th,
.gos-table-wrap[b-pq9kgtm55i]  .gos-table td {
    border-right: 1px solid var(--app-border);
    border-bottom: 1px solid var(--app-border);
    padding: var(--app-space-2) 10px;
    vertical-align: middle;
}

.gos-table-wrap[b-pq9kgtm55i]  .gos-table th:first-child,
.gos-table-wrap[b-pq9kgtm55i]  .gos-table td:first-child {
    border-left: 0;
}

.gos-table-wrap[b-pq9kgtm55i]  .gos-table td {
    background: var(--app-surface);
}

.gos-table-wrap[b-pq9kgtm55i]  .gos-table thead th {
    box-shadow: none;
    position: sticky;
    z-index: 2;
    background: var(--app-surface-sunken-strong);
    color: var(--app-text);
    font-weight: 700;
    font-size: 13px;
    text-align: center;
    text-transform: none;
    letter-spacing: normal;
}

.gos-table-wrap[b-pq9kgtm55i]  .gos-table thead tr:first-child th {
    top: 0;
    height: 42px;
}

.gos-table-wrap[b-pq9kgtm55i]  .gos-table thead tr:nth-child(2) th {
    top: 42px;
    height: 38px;
}

.gos-table-wrap[b-pq9kgtm55i]  .gos-table tbody th {
    position: static;
    box-shadow: none;
    text-align: left;
    font-weight: 700;
    font-size: 13px;
    text-transform: none;
    letter-spacing: normal;
    color: var(--app-text);
    background: var(--app-surface);
}

/* Colonne niveau gelee: les cellules du corps sont des th, la regle de
   base tbody th (position: static, anti-sticky vertical de la primitive)
   doit etre re-surchargee ici, a specificite superieure. */
.gos-table-wrap[b-pq9kgtm55i]  .gos-table tbody th.gos-frozen-niveau {
    position: sticky;
    left: 0;
    z-index: 3;
}

.gos-niveau-col[b-pq9kgtm55i] {
    width: 120px;
}

.gos-characteristics-col[b-pq9kgtm55i] {
    width: 360px;
}

.gos-amount-col[b-pq9kgtm55i] {
    width: 88px;
}

.gos-value-col[b-pq9kgtm55i] {
    width: 132px;
}

.gos-text-start[b-pq9kgtm55i] {
    text-align: left !important;
}

.gos-group-start[b-pq9kgtm55i] {
    border-left: 2px solid var(--app-border-strong) !important;
}

.gos-characteristics[b-pq9kgtm55i] {
    color: var(--app-text);
    line-height: 1.35;
    white-space: pre-line;
}

.gos-frozen-niveau[b-pq9kgtm55i],
.gos-frozen-characteristics[b-pq9kgtm55i] {
    position: sticky;
    background: var(--app-surface);
}

.gos-frozen-niveau[b-pq9kgtm55i] {
    left: 0;
    z-index: 3;
}

.gos-frozen-characteristics[b-pq9kgtm55i] {
    left: 120px;
    z-index: 3;
    box-shadow: 2px 0 0 var(--app-border-strong);
}

.gos-table-wrap[b-pq9kgtm55i]  .gos-table thead th.gos-frozen-niveau,
.gos-table-wrap[b-pq9kgtm55i]  .gos-table thead th.gos-frozen-characteristics {
    z-index: 5;
    background: var(--app-surface-sunken-strong);
}

.gos-amount[b-pq9kgtm55i] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gos-value-cell[b-pq9kgtm55i] {
    padding: var(--app-space-1) var(--app-space-2) !important;
}
/* /Components/Screens/Contrats/Sante/Version/Optique/VersionSanteOptiquePage.razor.rz.scp.css */
/* Chrome de la page grille optique — tokens --app-* uniquement. Les
   styles des grilles vivent dans leurs composants (Grilles/*.razor.css). */

.gos-page[b-2xhx1a7zfc] {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: var(--app-space-4);
    height: calc(100vh - 220px);
    min-height: 420px;
    overflow: hidden;
}

.gos-actions[b-2xhx1a7zfc] {
    display: flex;
    justify-content: flex-end;
    gap: var(--app-space-2);
    flex-wrap: wrap;
}

.gos-meta[b-2xhx1a7zfc] {
    display: flex;
    gap: var(--app-space-3);
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.gos-meta-main[b-2xhx1a7zfc] {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.gos-catalogue-title[b-2xhx1a7zfc] {
    color: var(--app-text);
    font-size: 15px;
    font-weight: 700;
}

.gos-subtitle[b-2xhx1a7zfc] {
    color: var(--app-text-muted);
    font-size: 14px;
}

.gos-scroll-region[b-2xhx1a7zfc] {
    min-height: 0;
    overflow-y: auto;
    padding-bottom: var(--app-space-2);
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.gos-grid-stack[b-2xhx1a7zfc] {
    display: grid;
    gap: var(--app-space-6);
    min-width: 0;
}

.gos-scroll-region[b-2xhx1a7zfc]::-webkit-scrollbar {
    width: 0;
    height: 0;
}
/* /Components/Screens/Contrats/Shared/Chargements/EditeurLignesTemporaires.razor.rz.scp.css */
/* Editeur partage des lignes temporaires — tokens --app-* uniquement.
   Largeurs unifiees des deux pages de la paire (max de chaque couple). */

.lignes-temporaires-categorie[b-468ppv4hpm] {
    min-width: 190px;
}

.lignes-temporaires-temporalite[b-468ppv4hpm] {
    min-width: 170px;
}

.lignes-temporaires-duree[b-468ppv4hpm] {
    width: 112px;
    min-width: 112px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lignes-temporaires-taux[b-468ppv4hpm] {
    width: 84px;
    min-width: 84px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lignes-temporaires-supplementaire[b-468ppv4hpm] {
    min-width: 260px;
}

.lignes-temporaires-duree[b-468ppv4hpm]  .lignes-temporaires-champ input,
.lignes-temporaires-taux[b-468ppv4hpm]  .lignes-temporaires-champ input {
    text-align: right;
}

.lignes-temporaires-duree[b-468ppv4hpm]  .mud-input-control,
.lignes-temporaires-taux[b-468ppv4hpm]  .mud-input-control {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.lignes-temporaires-suppression[b-468ppv4hpm] {
    margin-top: var(--app-space-1);
}
/* /Components/Screens/Contrats/Shared/Chargements/HonorairesConseilChamp.razor.rz.scp.css */
.honoraires-conseil[b-be52i8cbu2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--app-space-6);
    border-top: 1px solid var(--app-border);
    margin-top: var(--app-space-4);
    padding-top: var(--app-space-4);
    flex-shrink: 0;
}

.honoraires-conseil p[b-be52i8cbu2] {
    color: var(--app-text-muted);
    margin: var(--app-space-1) 0 0;
    font-size: 0.875rem;
}

.honoraires-conseil-montant[b-be52i8cbu2] {
    width: 16rem;
    flex-shrink: 0;
    text-align: right;
}

@media (max-width: 600px) {
    .honoraires-conseil[b-be52i8cbu2] {
        align-items: stretch;
        flex-direction: column;
    }

    .honoraires-conseil-montant[b-be52i8cbu2] {
        width: 100%;
    }
}
/* /Components/Screens/Contrats/Shared/Layout/WorkspacePageLead.razor.rz.scp.css */
/* En-tete de page workspace - classes de mise en page (ex-styles inline), tokens --app-*. */

.lead-carte[b-kp5hd7fxrs] {
    padding: 14px 16px;
}

.lead-ligne[b-kp5hd7fxrs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--app-space-3);
    flex-wrap: wrap;
}

.lead-sous-titre[b-kp5hd7fxrs] {
    display: grid;
    gap: 6px;
    min-width: 0;
    font-size: 14px;
    color: var(--app-text-muted);
}

.lead-actions[b-kp5hd7fxrs] {
    display: flex;
    gap: var(--app-space-2);
    flex-wrap: wrap;
}
/* /Components/Screens/Contrats/Shared/Pages/BundlesPage.razor.rz.scp.css */
/* Bundles - CSS scope (ex-bloc <style> G4). Palette simplifiee sur les
   familles de tokens semantiques existantes (decision 2026-08-05, sans
   nouveau token): base -> info, options 1-4 -> success/warning/danger/
   highlight, surco -> neutres. Les custom props --bundle-* restent le
   canal de variation par package. */

.bundles-layout[b-ie8kynabgv] {
  display: grid;
  gap: 12px;
}

.bundles-overview[b-ie8kynabgv] {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.bundles-overview__context[b-ie8kynabgv] {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.bundles-overview__eyebrow[b-ie8kynabgv] {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--app-text-muted);
}

.bundles-overview__chips[b-ie8kynabgv] {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.bundles-overview__count[b-ie8kynabgv] {
  display: grid;
  gap: 2px;
  min-width: 96px;
  padding: 10px 14px;
  border: 1px solid var(--app-border);
  border-radius: 12px;
  background: var(--app-surface-sunken);
  text-align: right;
}

.bundles-overview__count-label[b-ie8kynabgv] {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--app-text-muted);
}

.bundles-overview__count-value[b-ie8kynabgv] {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  color: var(--app-text);
}

.bundle-flag[b-ie8kynabgv] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--app-border);
  border-radius: 999px;
  background: var(--app-surface-sunken);
  font-size: 13px;
  font-weight: 600;
  color: var(--app-text);
}

.bundle-flag strong[b-ie8kynabgv] {
  color: var(--app-text);
}

.bundle-flag--active[b-ie8kynabgv] {
  border-color: var(--app-info-bg-strong);
  background: var(--app-info-bg);
}

.bundle-flag--active-yes[b-ie8kynabgv] {
  border-color: var(--app-success-bg-strong);
  background: var(--app-success-bg);
}

.bundle-flag--active-no[b-ie8kynabgv] {
  border-color: var(--app-warning-bg-strong);
  background: var(--app-warning-bg);
}

.bundles-scene[b-ie8kynabgv] {
  display: grid;
  gap: 10px;
}

.bundles-lane[b-ie8kynabgv] {
  position: relative;
  display: grid;
  gap: 10px;
  align-items: stretch;
}

.bundles-lane--progressive[b-ie8kynabgv]::before {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  top: 24px;
  height: 1px;
  background: linear-gradient(90deg, var(--app-border) 0%, var(--app-surface-sunken) 100%);
}

.bundle-stack-card[b-ie8kynabgv] {
  display: grid;
  padding: 14px;
  border: 1px solid var(--app-border-subtle);
  border-radius: 10px;
  background: var(--app-surface);
  min-height: 100%;
  position: relative;
  z-index: 1;
}

.bundle-stack-card__stack[b-ie8kynabgv] {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 172px;
}

.bundle-stack-card__surco[b-ie8kynabgv] {
  display: grid;
  gap: 6px;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--app-border-subtle);
}

.bundle-core[b-ie8kynabgv] {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.bundle-core--split[b-ie8kynabgv] {
  gap: 6px;
}

.bundle-core--merged[b-ie8kynabgv] {
  gap: 0;
}

.bundle-core--merged .bundle-level[b-ie8kynabgv] {
  border-radius: 0;
}

.bundle-core--merged .bundle-level + .bundle-level[b-ie8kynabgv] {
  margin-top: -1px;
  border-top-width: 1px;
  border-top-color: var(--bundle-separator, var(--bundle-package-border));
}

.bundle-level--merged-top[b-ie8kynabgv] {
  border-radius: 8px 8px 0 0 !important;
}

.bundle-level--merged-middle[b-ie8kynabgv] {
  border-radius: 0 !important;
}

.bundle-level--merged-bottom[b-ie8kynabgv] {
  border-radius: 0 0 8px 8px !important;
}

.bundle-level--merged-single[b-ie8kynabgv] {
  border-radius: 8px !important;
}

.bundle-level[b-ie8kynabgv] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid var(--bundle-package-border, var(--app-border));
  background: var(--bundle-package-surface, var(--app-surface));
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--bundle-level-accent, var(--app-text));
}

.bundle-level--base[b-ie8kynabgv] {
  --bundle-level-accent: var(--app-info-text);
}

.bundle-level--option[b-ie8kynabgv] {
  --bundle-level-accent: var(--app-success-text);
}

.bundle-level--surco[b-ie8kynabgv] {
  --bundle-package-surface: var(--app-surface-sunken-strong);
  --bundle-package-border: var(--app-border-strong);
  --bundle-level-accent: var(--app-text-muted);
  color: var(--app-text);
}

.bundle-package--base[b-ie8kynabgv] {
  --bundle-package-surface: var(--app-info-bg);
  --bundle-package-border: var(--app-info);
  --bundle-separator: var(--app-info-text);
}

.bundle-package--option-1[b-ie8kynabgv] {
  --bundle-package-surface: var(--app-success-bg);
  --bundle-package-border: var(--app-success);
  --bundle-separator: var(--app-success-text);
}

.bundle-package--option-2[b-ie8kynabgv] {
  --bundle-package-surface: var(--app-warning-bg);
  --bundle-package-border: var(--app-warning);
  --bundle-separator: var(--app-warning-text);
}

.bundle-package--option-3[b-ie8kynabgv] {
  --bundle-package-surface: var(--app-danger-bg);
  --bundle-package-border: var(--app-danger);
  --bundle-separator: var(--app-danger-text);
}

.bundle-package--option-4[b-ie8kynabgv] {
  --bundle-package-surface: var(--app-highlight-bg);
  --bundle-package-border: var(--app-highlight);
  --bundle-separator: var(--app-highlight-text);
}

@media (min-width: 1100px) {
  .bundles-lane[b-ie8kynabgv] {
    grid-template-columns: repeat(var(--bundle-columns, 1), minmax(0, 1fr));
  }
}

@media (max-width: 1099px) {
  .bundles-lane[b-ie8kynabgv] {
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
  }

  .bundles-lane--progressive[b-ie8kynabgv]::before {
    display: none;
  }
}

@media (max-width: 720px) {
  .bundles-overview__count[b-ie8kynabgv] {
    min-width: 0;
    width: 100%;
    text-align: left;
  }

  .bundle-stack-card[b-ie8kynabgv] {
    padding: 12px;
  }

  .bundle-stack-card__stack[b-ie8kynabgv] {
    min-height: 148px;
  }
}
/* /Components/Screens/Contrats/Shared/Pages/ChargementsPage.razor.rz.scp.css */
/* Chargements prevoyance — CSS scope (ex-blocs <style> G4), tokens
   --app-* uniquement. Les regles ciblant l'element <table> (rendu par
   AppGrilleEditeur) passent par ::deep depuis un anciennement de la page;
   th/td/tr restent auteurs de la page, donc scopes. */

.population-cible-warning[b-l0hlteezqf] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--app-space-3);
}

.chargements-prevoyance-actions[b-l0hlteezqf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--app-space-3);
    margin-bottom: var(--app-space-4);
}

.chargements-prevoyance-actions-end[b-l0hlteezqf] {
    display: flex;
    justify-content: flex-end;
    gap: var(--app-space-2);
    margin-bottom: var(--app-space-4);
}

.siret-scope-content[b-l0hlteezqf]  .chargements-prevoyance-temporary-table {
    min-width: 1100px;
}

.siret-scope-content[b-l0hlteezqf]  .chargements-table-espacee {
    margin-bottom: var(--app-space-6);
}

.chargements-prevoyance-temporary-table th[b-l0hlteezqf] {
    text-align: left;
}

.chargements-prevoyance-temporary-category[b-l0hlteezqf] {
    min-width: 180px;
}

.chargements-prevoyance-temporary-temporality[b-l0hlteezqf] {
    min-width: 160px;
}

.chargements-prevoyance-temporary-table .chargements-prevoyance-temporary-duration[b-l0hlteezqf] {
    width: 104px;
    min-width: 104px;
    max-width: 104px;
    padding-left: var(--app-space-2);
    padding-right: var(--app-space-2);
    white-space: normal;
    line-height: 1.15;
}

.chargements-prevoyance-temporary-table .chargements-prevoyance-temporary-taux[b-l0hlteezqf] {
    width: 70px;
    min-width: 70px;
    max-width: 70px;
    padding-left: 6px;
    padding-right: 6px;
}

.chargements-prevoyance-temporary-duration[b-l0hlteezqf]  .mud-input-control,
.chargements-prevoyance-temporary-taux[b-l0hlteezqf]  .mud-input-control {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.chargements-prevoyance-temporary-duration[b-l0hlteezqf]  .mud-input,
.chargements-prevoyance-temporary-taux[b-l0hlteezqf]  .mud-input {
    min-width: 0;
}

.chargements-prevoyance-temporary-taux[b-l0hlteezqf]  .mud-input-adornment {
    margin-left: 2px;
}

.chargements-prevoyance-temporary-garanties[b-l0hlteezqf] {
    min-width: 260px;
}

.chargements-prevoyance-temporary-delete[b-l0hlteezqf] {
    margin-top: var(--app-space-1);
}

.chargements-percentage-cell[b-l0hlteezqf] {
    text-align: right;
}

.chargements-percentage-field[b-l0hlteezqf]  input {
    text-align: right;
}

.siret-scope-layout[b-l0hlteezqf] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: var(--app-space-4);
    align-items: start;
}

.siret-scope-tabs[b-l0hlteezqf] {
    display: grid;
    gap: 6px;
    padding: var(--app-space-2);
    border-right: 1px solid var(--app-border);
}

.siret-scope-tab[b-l0hlteezqf] {
    justify-content: flex-start;
    min-height: 40px;
    text-align: left;
}

.siret-scope-content[b-l0hlteezqf] {
    min-width: 0;
}

@media (max-width: 900px) {
    .siret-scope-layout[b-l0hlteezqf] {
        grid-template-columns: 1fr;
    }

    .siret-scope-tabs[b-l0hlteezqf] {
        grid-auto-flow: column;
        grid-auto-columns: minmax(180px, 1fr);
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid var(--app-border);
    }
}

.chargements-prevoyance-actions-groupe[b-l0hlteezqf] {
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
}

/* Ex-styles inline (lot 24 tokens). */
.chargements-actions[b-l0hlteezqf] {
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
}

.chargements-colonne-categorie[b-l0hlteezqf] {
    width: 25%;
}

.chargements-vide[b-l0hlteezqf] {
    color: var(--app-border-strong);
}
/* /Components/Screens/Contrats/Shared/Pages/CotisationsPage.razor.rz.scp.css */
/* Cotisations - CSS scope (ex-bloc <style> G4), tokens --app-* uniquement.
   Les classes posees via Class= sur des composants MudBlazor (prev-cot-input,
   prev-cot-total-input, prev-cot-null-saved, siret-scope-tab) ne recoivent
   pas l attribut de scope: ces regles passent par `.cotisations-page ::deep`
   depuis la racine auteur de la page. */
.population-cible-warning[b-vmpbssgx7s] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--app-space-3);
}

.prev-cot-sep-left[b-vmpbssgx7s] {
    border-left: 1px solid var(--app-border);
    padding-left: 14px;
}

.prev-cot-sep-right[b-vmpbssgx7s] {
    padding-right: 14px;
}

.prev-cot-total-value[b-vmpbssgx7s] {
    text-align: right;
}

.prev-cot-total-row td[b-vmpbssgx7s] {
    border-bottom: none;
    font-weight: 700;
}

.cotisations-page[b-vmpbssgx7s]  .prev-cot-total-input .mud-input-outlined-border {
    border-color: transparent !important;
}

.cotisations-page[b-vmpbssgx7s]  .prev-cot-total-input .mud-input {
    font-weight: 700;
}

.cotisations-page[b-vmpbssgx7s]  .prev-cot-total-input .mud-input-adornment-text {
    font-weight: 700;
}

.cotisations-page[b-vmpbssgx7s]  .prev-cot-total-input input {
    text-align: right;
}

.prev-cot-num-cell[b-vmpbssgx7s] {
    text-align: right;
}

/* Minimum width for the Taux / Part employeur columns so the numeric field
   and its "%" adornment never get cramped (the inline width:12% has no floor).
   The table scroll container handles horizontal overflow if needed. */
.filldown-table .prev-cot-num-cell[b-vmpbssgx7s],
.filldown-table thead tr:nth-child(2) th[b-vmpbssgx7s] {
    min-width: 156px;
}

/* Let the numeric field use the full column width so the digits get the room
   left over after the fixed "%" adornment. */
.cotisations-page[b-vmpbssgx7s]  .prev-cot-input {
    width: 100%;
    min-width: 0;
}

.cotisations-page[b-vmpbssgx7s]  .prev-cot-input .mud-input-control,
.cotisations-page[b-vmpbssgx7s]  .prev-cot-input .mud-input {
    width: 100%;
    min-width: 0;
}

.cotisations-page[b-vmpbssgx7s]  .prev-cot-input input {
    text-align: right;
}

.cotisations-page[b-vmpbssgx7s]  .prev-cot-null-saved {
    background-color: var(--app-warning-bg);
}

.cotisations-page[b-vmpbssgx7s]  .prev-cot-null-saved .mud-input-outlined {
    background-color: var(--app-warning-bg);
    border-radius: 4px;
}

.siret-scope-layout[b-vmpbssgx7s] {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.siret-scope-tabs[b-vmpbssgx7s] {
    display: grid;
    gap: 6px;
    padding: 8px;
    border-right: 1px solid var(--app-border);
}

.cotisations-page[b-vmpbssgx7s]  .siret-scope-tab {
    justify-content: flex-start;
    min-height: 40px;
    text-align: left;
}

.siret-scope-content[b-vmpbssgx7s] {
    min-width: 0;
}

@media (max-width: 900px) {
    .siret-scope-layout[b-vmpbssgx7s] {
        grid-template-columns: 1fr;
    }

    .siret-scope-tabs[b-vmpbssgx7s] {
        grid-auto-flow: column;
        grid-auto-columns: minmax(180px, 1fr);
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid var(--app-border);
    }
}

/* Liste des cotisations sante (AppTable). */
.cotisations-page[b-vmpbssgx7s]  .cotisations-sante-actions-colonne {
    width: 100px;
    text-align: right;
}

/* Ex-styles inline (lot 24 tokens). */
.cotisations-entete[b-vmpbssgx7s] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--app-space-4);
}

.cotisations-actions[b-vmpbssgx7s] {
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
}

.cotisations-colonne-type[b-vmpbssgx7s] {
    width: 23%;
}

.cotisations-colonne-valeur[b-vmpbssgx7s] {
    width: 12%;
}
/* /Components/Screens/Contrats/Shared/Pages/DocumentsMetierContratPage.razor.rz.scp.css */
/* Documents metier d'un contrat - colonnes fixes du tableau (ex-styles inline). */

.dmc-colonne-icone[b-g5wmflh44k] {
    width: 44px;
}

.dmc-colonne-actions[b-g5wmflh44k] {
    width: 88px;
}


/* Bloc proprietaire rapatrie d'app.css (decomposition etape 3). */
/* ============================================
   Documents métier (contrat)
   ============================================ */

/* Toolbar: compact single row, filter left, action right */
.documents-toolbar[b-g5wmflh44k] {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.documents-toolbar__filters[b-g5wmflh44k] {
  display: flex;
  align-items: center;
  margin-right: auto;
}

.documents-toolbar__actions[b-g5wmflh44k] {
  display: flex;
  align-items: center;
}

/* Table card */
.documents-table-card[b-g5wmflh44k] {
  border: 1px solid var(--app-border);
  border-radius: 8px;
  background: var(--app-surface);
  overflow: hidden;
}

/* Main row actions: direct preview button next to the kebab menu */
.document-row-actions[b-g5wmflh44k] {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
}

/* Document column cell: icon left, title over original file name */
.document-title-cell[b-g5wmflh44k] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}

.document-title-cell__icon[b-g5wmflh44k] {
  display: inline-flex;
  flex: none;
  margin-top: 1px;
  color: var(--app-text-muted);
}

.document-title-cell__text[b-g5wmflh44k] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.document-title-cell__title[b-g5wmflh44k] {
  color: var(--app-text);
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.document-title-cell__file[b-g5wmflh44k] {
  color: var(--app-text-muted);
  font-size: 12px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

/* Expanded detail: description then versions table, directly on the row
   background. Left padding aligns content with the Document column (44px
   toggle column). No card/background — just spacing. */
.document-detail[b-g5wmflh44k] {
  display: grid;
  gap: 12px;
  padding: 12px 18px 16px 44px;
}

.document-detail__description[b-g5wmflh44k] {
  color: var(--app-text);
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.document-detail__description-empty[b-g5wmflh44k] {
  color: var(--app-text-muted);
  font-style: italic;
}

.document-detail__versions[b-g5wmflh44k] {
  display: grid;
  gap: 8px;
}

/* Versions sub-table: one shared grid template for header and rows */
.document-versions[b-g5wmflh44k] {
  border: 1px solid var(--app-border);
  border-radius: 8px;
  background: var(--app-surface);
  overflow: hidden;
}

.document-versions__head[b-g5wmflh44k],
.document-versions__row[b-g5wmflh44k] {
  display: grid;
  grid-template-columns: 96px minmax(160px, 1fr) 90px 150px 80px;
  gap: 12px;
  align-items: center;
  padding: 8px 12px;
}

.document-versions__head[b-g5wmflh44k] {
  background: var(--app-surface-sunken);
  border-bottom: 1px solid var(--app-border);
  color: var(--app-text-muted);
  font-size: 11px;
  font-weight: 600;
}

.document-versions__row[b-g5wmflh44k] {
  min-height: 44px;
  border-bottom: 1px solid var(--app-border-subtle);
  font-size: 13px;
}

.document-versions__row:last-child[b-g5wmflh44k] {
  border-bottom: none;
}

.document-versions__version[b-g5wmflh44k] {
  display: flex;
}

.document-versions__file[b-g5wmflh44k] {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.document-versions__file-name[b-g5wmflh44k] {
  color: var(--app-text);
  overflow-wrap: anywhere;
}

.document-versions__comment[b-g5wmflh44k] {
  color: var(--app-text-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.document-versions__meta[b-g5wmflh44k] {
  color: var(--app-text-muted);
  font-size: 12px;
}

.document-versions__actions[b-g5wmflh44k] {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
}

.document-versions__empty[b-g5wmflh44k] {
  color: var(--app-text-muted);
  font-size: 13px;
  padding: 4px 2px;
}
/* /Components/Screens/Contrats/Shared/Pages/EntreeSortieSantePage.razor.rz.scp.css */
/* Entree/sortie sante - classes de mise en page (ex-styles inline), tokens --app-*. */

.ess-fiche[b-cwwi5hilrf] {
    display: grid;
    gap: 18px;
}

.ess-champ[b-cwwi5hilrf] {
    display: grid;
    gap: 6px;
}

.ess-libelle[b-cwwi5hilrf] {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--app-text-muted);
}

.ess-valeur-principale[b-cwwi5hilrf] {
    font-size: 18px;
    font-weight: 600;
    color: var(--app-text);
}

.ess-meta[b-cwwi5hilrf] {
    display: flex;
    gap: var(--app-space-6);
    flex-wrap: wrap;
    color: var(--app-text-muted);
    font-size: 14px;
}
/* /Components/Screens/Contrats/Shared/Pages/ExemplesPage.razor.rz.scp.css */
/* Exemples de remboursement - classes de mise en page (ex-styles inline), tokens --app-*. */

.exemples-disposition[b-okma574opc] {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--app-space-4);
}

.exemples-section-titre[b-okma574opc] {
    font-weight: 600;
    margin-bottom: var(--app-space-3);
}

.exemples-vide[b-okma574opc] {
    color: var(--app-text-muted);
    font-size: 14px;
}

.exemples-liste[b-okma574opc] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

.exemples-profil[b-okma574opc] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius);
    padding: 8px 10px;
}

.exemples-colonne-actions[b-okma574opc] {
    width: 100px;
}

.exemples-cellule-actions[b-okma574opc] {
    text-align: right;
    white-space: nowrap;
}

.exemples-actions[b-okma574opc] {
    display: flex;
    gap: var(--app-space-2);
}
/* /Components/Screens/Contrats/Shared/Pages/GarantiesPage.razor.rz.scp.css */
/* Garanties (prevoyance + sante) - CSS scope (ex-bloc <style> G4), tokens
   --app-* uniquement. Les classes posees via Class= sur des composants
   MudBlazor (table-clean/prev-table sur l editeur fige, prev-input-*,
   garanties-plafonds-search) ne recoivent pas l attribut de scope: ces
   regles passent par `.garanties-page ::deep` depuis la racine auteur de
   la page. Les regles .prev-note-* (rendues par GarantieNoteCell et le
   dialog de note, hors sous-arbre scope) vivent dans app.css. */
.garanties-page[b-gqve4gpeup] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
}

.garanties-page--single-grid[b-gqve4gpeup],
.garanties-page[b-gqve4gpeup]  .garanties-page--single-grid {
    overflow: hidden;
}

.garanties-page--single-grid .prev-fill[b-gqve4gpeup],
.garanties-page[b-gqve4gpeup]  .garanties-page--single-grid .prev-fill {
    flex: 1;
    min-height: 0;
}

.garanties-page--single-grid .prev-scroll-card[b-gqve4gpeup],
.garanties-page[b-gqve4gpeup]  .garanties-page--single-grid .prev-scroll-card {
    flex: 1;
    max-height: none;
    margin-bottom: 0 !important;
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-tab-strip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 16px;
    padding: 4px;
    border: 1px solid var(--app-border);
    border-radius: 999px;
    background: var(--app-surface);
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-tab-button {
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--app-text-muted);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 14px;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-tab-button:hover {
    background: var(--app-surface-sunken-strong);
    color: var(--app-text);
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-tab-button--active {
    background: var(--app-surface-inverse);
    color: var(--app-accent-contrast);
}

.garanties-page[b-gqve4gpeup]  .prev-specificites-panel {
    padding: 20px;
    display: grid;
    gap: 16px;
}

.garanties-page[b-gqve4gpeup]  .prev-specificite-section {
    display: grid;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) minmax(180px, 240px);
    gap: 16px;
    align-items: center;
    padding: 16px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: var(--app-surface);
}

.garanties-page[b-gqve4gpeup]  .prev-specificite-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--app-text);
}

.garanties-page[b-gqve4gpeup]  .prev-specificite-field {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.garanties-page[b-gqve4gpeup]  .prev-specificite-label {
    color: var(--app-text-muted);
    font-size: 12px;
    font-weight: 700;
}

.garanties-page[b-gqve4gpeup]  .prev-specificite-related-row td {
    background: var(--app-surface-sunken) !important;
    border-bottom: 1px solid var(--app-border-subtle);
    padding-top: 8px !important;
    padding-bottom: 10px !important;
}

.garanties-page[b-gqve4gpeup]  .prev-specificite-related-row.prev-product-group-end td {
    border-bottom: 2px solid var(--app-border-strong);
}

.garanties-page[b-gqve4gpeup]  .prev-specificite-related {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding-left: var(--prev-specificite-indent, 16px);
    color: var(--app-text-muted);
    font-size: 12px;
}

.garanties-page[b-gqve4gpeup]  .prev-specificite-related-label {
    font-weight: 700;
    color: var(--app-text);
}

.garanties-page[b-gqve4gpeup]  .prev-specificite-related-value {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-layout {
    display: grid;
    grid-template-columns: minmax(195px, 240px) minmax(0, 1fr);
    gap: 20px;
    padding: 20px;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-self: start;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--app-border);
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-grid-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-grid-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: var(--app-text-muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-grid-title {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--app-text);
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-item {
    width: 100%;
    text-align: left;
    border: 1px solid var(--app-border);
    border-radius: 12px;
    background: var(--app-surface);
    padding: 14px 16px;
    height: 92px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-item:hover {
    border-color: var(--app-border-strong);
    box-shadow: var(--app-shadow-overlay);
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-item--active {
    border-color: var(--app-accent);
    box-shadow: 0 0 0 1px var(--app-accent);
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-item-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 12px;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-item-left {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-item-right {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
    text-align: right;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-name {
    min-width: 0;
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: var(--app-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-amount {
    color: var(--app-text);
    font-size: 15px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-list-count {
    color: var(--app-text);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafond-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    background: var(--app-surface-sunken-strong);
    color: var(--app-text);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-detail {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-detail-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-detail-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 20px;
    font-weight: 700;
    color: var(--app-text);
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-detail-subtitle {
    margin-top: 6px;
    color: var(--app-text-muted);
    font-size: 13px;
}

.garanties-page[b-gqve4gpeup]  .garanties-recherche-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 0 0 12px;
}

.garanties-page[b-gqve4gpeup]  .garanties-recherche-champ {
    width: min(360px, 100%);
}

.garanties-page[b-gqve4gpeup]  .garanties-recherche-aucun-resultat {
    color: var(--app-text-muted);
    font-size: 13px;
}

.garanties-page[b-gqve4gpeup]  .garanties-recherche-position {
    color: var(--app-text-muted);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-search {
    width: min(360px, 100%);
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-empty {
    padding: 24px;
    text-align: center;
    color: var(--app-text-muted);
    font-size: 14px;
    border: 1px dashed var(--app-border);
    border-radius: 14px;
    background: var(--app-surface-sunken);
}

.garanties-page[b-gqve4gpeup]  .garanties-plafonds-table-card {
    min-height: 360px;
    max-height: clamp(360px, 48vh, 640px);
    overflow: auto;
    overscroll-behavior: contain;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafond-selection-table tbody td {
    transition: background-color 0.15s ease;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafond-selection-row--selected td {
    background: var(--app-success-bg) !important;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafond-selection-row--selected td.prev-product-cell {
    background: var(--app-success-bg) !important;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafond-selection-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--app-text-faint);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafond-selection-toggle:hover {
    background: var(--app-success-bg);
    color: var(--app-success-text);
}

.garanties-page[b-gqve4gpeup]  .garanties-plafond-selection-toggle--checked,
.garanties-page[b-gqve4gpeup]  .garanties-plafond-selection-toggle--partial {
    color: var(--app-success-text);
}

.garanties-page[b-gqve4gpeup]  .garanties-plafond-selection-checkbox {
    width: 16px;
    height: 16px;
    accent-color: var(--app-success);
    cursor: pointer;
}

.garanties-page[b-gqve4gpeup]  .garanties-plafond-selection-checkbox:disabled {
    cursor: default;
}

.garanties-page[b-gqve4gpeup]  .prev-product-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.garanties-page[b-gqve4gpeup]  .prev-product-header-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.garanties-page[b-gqve4gpeup]  .prev-specificites-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    color: var(--app-text-muted);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.garanties-page[b-gqve4gpeup]  .prev-grid-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.garanties-page[b-gqve4gpeup]  .prev-grid-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    min-height: 32px;
    padding: 2px 4px 2px 8px;
    border: 1px solid var(--app-border);
    border-radius: 8px;
    background: var(--app-surface);
}

.garanties-page[b-gqve4gpeup]  .prev-grid-action-name {
    min-width: 0;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 600;
    color: var(--app-text);
}

.garanties-page[b-gqve4gpeup]  .prev-group-row td {
    padding-top: 12px !important;
    padding-bottom: 6px !important;
    border-bottom: none !important;
    background: var(--prev-group-background, var(--app-surface-sunken-strong)) !important;
}

.garanties-page[b-gqve4gpeup]  .prev-group-row.prev-group-root td {
    padding-top: 18px !important;
    padding-bottom: 8px !important;
}

.garanties-page[b-gqve4gpeup]  .prev-group-row.prev-group-sibling td {
    padding-top: 32px !important;
}

.garanties-page[b-gqve4gpeup]  .prev-group-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: sticky;
    left: 0;
    z-index: 1;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--app-text-faint);
    padding-left: calc(16px + var(--prev-category-indent, 0px));
    white-space: nowrap;
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-category-option {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    text-transform: none;
    color: var(--app-text-muted);
}

.garanties-page[b-gqve4gpeup]  .prev-level-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    width: 100%;
}

.garanties-page[b-gqve4gpeup]  .prev-group-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: var(--app-surface-sunken-strong);
    color: var(--app-text-muted);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.garanties-page[b-gqve4gpeup]  .prev-group-toggle:hover {
    background: var(--app-border);
    color: var(--app-text);
}

.garanties-page[b-gqve4gpeup]  .prev-group-toggle:focus-visible {
    outline: 2px solid var(--app-focus-ring);
    outline-offset: 2px;
}

.garanties-page[b-gqve4gpeup]  .prev-product-name {
    display: block;
    font-weight: 500;
    color: var(--app-text);
    padding-left: var(--prev-product-indent, 16px);
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
}

.garanties-page[b-gqve4gpeup]  .table-clean.prev-table td {
    padding-top: 10px;
    padding-bottom: 10px;
}

.garanties-page[b-gqve4gpeup]  .prev-table {
    --prev-product-column-width: 320px;
    --garanties-sante-compacte-column-width: 135px;
    --garanties-sante-standard-column-width: 180px;
    --garanties-sante-donnees-extras-column-width: 260px;
    --garanties-prevoyance-tranche-column-width: 135px;
    --garanties-prevoyance-pmss-column-width: 150px;
    --prev-header-row-height: 41px;
    min-width: max-content;
    border-collapse: separate;
    border-spacing: 0;
}

.garanties-page[b-gqve4gpeup]  .prev-table tbody td {
    border-bottom: 1px solid var(--app-border-subtle);
}

.garanties-page[b-gqve4gpeup]  .prev-table tbody tr:nth-child(even) td {
    background: var(--app-surface);
}

.garanties-page[b-gqve4gpeup]  .prev-table tbody tr.prev-product-group-end td {
    border-bottom: 2px solid var(--app-border-strong);
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-check {
    width: 16px;
    height: 16px;
    accent-color: var(--mud-palette-primary);
    cursor: pointer;
    vertical-align: middle;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-check:disabled {
    cursor: default;
}

.garanties-page[b-gqve4gpeup]  .prev-boolean-choice {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.garanties-page[b-gqve4gpeup]  .prev-boolean-label {
    color: var(--app-text-muted);
    font-size: 13px;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-input {
    font-size: 13px;
    padding: 4px 8px;
    border: 1px solid var(--app-border);
    border-radius: 6px;
    background: var(--app-surface-sunken);
    color: var(--app-text);
    width: 100%;
    max-width: 160px;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-input-field {
    width: 100%;
    max-width: 160px;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-input-field .mud-input-control {
    margin: 0;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-input-field .mud-input {
    font-size: 13px;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-input-wrap .prev-input-field {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-input-wrap .prev-input {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-input-field input {
    text-align: right;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-variant-numeric: tabular-nums;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-input:focus {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 2px var(--app-selection-bg);
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-input:disabled,
.garanties-page[b-gqve4gpeup]  .table-clean .prev-input-field.mud-disabled {
    cursor: default;
    background: var(--app-surface-sunken-strong);
    color: var(--app-text-faint);
}

.garanties-page[b-gqve4gpeup]  .prev-disabled-cell {
    background: var(--app-surface-sunken-strong) !important;
}

.garanties-page[b-gqve4gpeup]  .table-clean .prev-global-input {
    max-width: none;
    width: 100%;
}

.garanties-page[b-gqve4gpeup]  .prev-value {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-variant-numeric: tabular-nums;
}

.garanties-page[b-gqve4gpeup]  .prev-value-num {
    display: block;
    text-align: right;
}

.garanties-page[b-gqve4gpeup]  .prev-note-cell {
    min-width: 360px;
    max-width: 460px;
}

.garanties-page[b-gqve4gpeup]  .prev-input-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.garanties-page[b-gqve4gpeup]  .prev-input-num {
    text-align: right;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-variant-numeric: tabular-nums;
    -moz-appearance: textfield;
    appearance: textfield;
}

.garanties-page[b-gqve4gpeup]  .prev-input-num::-webkit-outer-spin-button,
.garanties-page[b-gqve4gpeup]  .prev-input-num::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.garanties-page[b-gqve4gpeup]  .prev-input-unit {
    color: var(--app-text-muted);
    font-size: 12px;
    white-space: nowrap;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.garanties-page[b-gqve4gpeup]  .prev-global-cell {
    background: var(--app-surface-sunken-strong) !important;
}

.garanties-page[b-gqve4gpeup]  .prev-fill {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.garanties-page[b-gqve4gpeup]  .prev-scroll-card {
    flex: 1;
    min-height: 0;
    max-height: max(360px, calc(100vh - 320px));
    overflow: auto;
    overscroll-behavior: contain;
}


.garanties-page[b-gqve4gpeup]  .prev-table thead {
    position: static;
}

.garanties-page[b-gqve4gpeup]  .prev-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--app-surface);
    box-shadow: 0 1px 0 var(--app-border);
    white-space: nowrap;
}

/* In the two-row grouped header, bottom-align every header cell so the column
   labels (Euro, PMSS, Assiette, Valeur, Commentaires…) share a single baseline. */

.garanties-page[b-gqve4gpeup]  .prev-table-grouped thead th {
    vertical-align: bottom;
}

.garanties-page[b-gqve4gpeup]  .prev-table thead tr:nth-child(2) th {
    top: var(--prev-header-row-height);
    z-index: 3;
}

.garanties-page[b-gqve4gpeup]  .prev-table thead th:nth-child(2),
.garanties-page[b-gqve4gpeup]  .prev-table thead th:nth-child(3),
.garanties-page[b-gqve4gpeup]  .prev-table thead th:nth-child(4),
.garanties-page[b-gqve4gpeup]  .prev-table thead th:nth-child(5) {
    text-align: center;
}

.garanties-page[b-gqve4gpeup]  .prev-table thead th.prev-minimum-parent-header,
.garanties-page[b-gqve4gpeup]  .prev-table thead th.prev-minimum-child-header {
    text-align: center;
}

.garanties-page[b-gqve4gpeup]  .prev-table thead th.prev-minimum-parent-header {
    vertical-align: middle;
    height: var(--prev-header-row-height);
}

.garanties-page[b-gqve4gpeup]  .prev-flag-cell {
    text-align: center;
    white-space: nowrap;
}

.garanties-page[b-gqve4gpeup]  .prev-product-column,
.garanties-page[b-gqve4gpeup]  .prev-product-cell {
    min-width: var(--prev-product-column-width);
    width: var(--prev-product-column-width);
}

.garanties-page[b-gqve4gpeup]  .prev-grid-column,
.garanties-page[b-gqve4gpeup]  .prev-grid-cell {
    min-width: 126px;
    width: 126px;
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-column--compacte,
.garanties-page[b-gqve4gpeup]  .garanties-sante-cell--compacte {
    min-width: var(--garanties-sante-compacte-column-width);
    width: var(--garanties-sante-compacte-column-width);
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-column--standard,
.garanties-page[b-gqve4gpeup]  .garanties-sante-cell--standard {
    min-width: var(--garanties-sante-standard-column-width);
    width: var(--garanties-sante-standard-column-width);
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-column--donnees-extras,
.garanties-page[b-gqve4gpeup]  .garanties-sante-cell--donnees-extras {
    min-width: var(--garanties-sante-donnees-extras-column-width);
    width: var(--garanties-sante-donnees-extras-column-width);
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-donnees-extras-label {
    display: block;
    margin-bottom: 4px;
    color: var(--app-text);
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.2;
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-donnees-extras-readonly {
    display: inline-block;
    white-space: normal;
    overflow-wrap: break-word;
    line-height: 1.35;
}

.garanties-page[b-gqve4gpeup]  .garanties-prevoyance-tranche-column,
.garanties-page[b-gqve4gpeup]  .garanties-prevoyance-tranche-cell {
    min-width: var(--garanties-prevoyance-tranche-column-width);
    width: var(--garanties-prevoyance-tranche-column-width);
}

.garanties-page[b-gqve4gpeup]  .garanties-prevoyance-pmss-column,
.garanties-page[b-gqve4gpeup]  .garanties-prevoyance-pmss-cell {
    min-width: var(--garanties-prevoyance-pmss-column-width);
    width: var(--garanties-prevoyance-pmss-column-width);
}

.garanties-page[b-gqve4gpeup]  .prev-table thead th.prev-product-column {
    left: 0;
    z-index: 4;
}

.garanties-page[b-gqve4gpeup]  .prev-table tbody td.prev-product-cell {
    position: sticky;
    left: 0;
    z-index: 1;
    background: var(--app-surface);
    box-shadow: 1px 0 0 var(--app-border);
}

.garanties-page[b-gqve4gpeup]  .prev-table tbody tr:nth-child(even) td.prev-product-cell {
    background: var(--app-surface);
}

.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-cell {
    position: relative;
    transition: background-color 0.15s ease;
}

.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-selected {
    background: var(--app-selection-bg) !important;
    box-shadow: inset 0 0 0 1px var(--app-focus-ring);
}

.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-selected-single {
    background: transparent !important;
}

.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-source {
    background: var(--app-selection-bg);
    box-shadow: inset 0 0 0 1px var(--app-focus-ring);
}

.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-target {
    background: var(--app-info-bg-strong) !important;
    box-shadow: inset 0 0 0 1px var(--app-focus-ring);
}

.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-cell-copied {
    background: var(--app-success-bg) !important;
}

.garanties-page[b-gqve4gpeup]  .prev-fill-handle {
    position: absolute;
    right: 2px;
    bottom: 2px;
    width: 6px;
    height: 6px;
    border: 1px solid var(--app-accent-contrast);
    border-radius: 1px;
    background: var(--mud-palette-primary);
    cursor: ns-resize;
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.12s ease, transform 0.12s ease, background-color 0.12s ease;
    z-index: 2;
    touch-action: none;
}

.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-cell:hover .prev-fill-handle,
.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-selected-end .prev-fill-handle,
.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-source .prev-fill-handle {
    opacity: 1;
    transform: scale(1);
}

.garanties-page[b-gqve4gpeup]  .prev-fill-selection-active .prev-table td.prev-fill-cell .prev-fill-handle {
    opacity: 0;
    transform: scale(0.85);
}

.garanties-page[b-gqve4gpeup]  .prev-fill-selection-active .prev-table td.prev-fill-selected-end .prev-fill-handle,
.garanties-page[b-gqve4gpeup]  .prev-fill-selection-active .prev-table td.prev-fill-source .prev-fill-handle {
    opacity: 1;
    transform: scale(1);
}

.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-source .prev-fill-handle,
.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-selected-end .prev-fill-handle,
.garanties-page[b-gqve4gpeup]  .prev-table td.prev-fill-target .prev-fill-handle {
    background: var(--app-info-text);
}

@media (max-width: 900px) {

    .garanties-page[b-gqve4gpeup]  .garanties-plafonds-layout {
    grid-template-columns: 1fr;
    }

    .garanties-page[b-gqve4gpeup]  .garanties-plafonds-table-card {
    min-height: 0;
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
    }

    .garanties-page[b-gqve4gpeup]  .prev-scroll-card {
    max-height: none;
    overscroll-behavior: auto;
    }

}



/* Le wrapper de section (sante) porte la chaine flex de la page et,
   le cas echeant, le modificateur single-grid. */
.garanties-page[b-gqve4gpeup]  .garanties-section {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* Etats et colonnes de la grille sante (ex-styles inline). */
.garanties-page[b-gqve4gpeup]  .garanties-sante-vide {
    padding: var(--app-space-6);
    text-align: center;
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-vide-texte {
    color: var(--app-text-faint);
    font-size: 14px;
}

.garanties-page[b-gqve4gpeup]  .garanties-sante-colonne-drapeau {
    width: 90px;
}

/* Colonnes et valeurs de la grille prevoyance (ex-styles inline). */
.garanties-page[b-gqve4gpeup]  .garanties-prevoyance-colonne-euro {
    width: 157px;
}

.garanties-page[b-gqve4gpeup]  .garanties-prevoyance-colonne-drapeau {
    width: 90px;
}

.garanties-page[b-gqve4gpeup]  .garanties-prevoyance-colonne-assiette {
    width: 110px;
}

.garanties-page[b-gqve4gpeup]  .garanties-prevoyance-colonne-valeur {
    width: 143px;
}

.garanties-page[b-gqve4gpeup]  .garanties-valeur-compacte {
    font-size: 13px;
}

.garanties-page[b-gqve4gpeup]  .garanties-saisie-bornee {
    max-width: 220px;
}

/* Examen humain des lignes (spec examen des lignes) : marqueur par ligne,
   compteurs et etat par groupe. Les couleurs sont les jetons semantiques. */
.garanties-page[b-gqve4gpeup]  .garanties-examen-colonne,
.garanties-page[b-gqve4gpeup]  .garanties-examen-cellule {
    width: 56px;
    min-width: 56px;
    text-align: center;
    white-space: nowrap;
}

/* Examen reste visible a droite, au-dessus des poignees des cellules centrales. */
.garanties-page[b-gqve4gpeup]  .prev-table tbody td.garanties-examen-cellule {
    position: sticky;
    right: 0;
    z-index: 3;
    background: var(--app-surface);
    box-shadow: -1px 0 0 var(--app-border);
}

.garanties-page[b-gqve4gpeup]  .prev-table thead th.garanties-examen-colonne {
    right: 0;
    z-index: 4;
    box-shadow: -1px 0 0 var(--app-border), 0 1px 0 var(--app-border);
}

.garanties-page[b-gqve4gpeup]  .garanties-examen--a-examiner {
    color: var(--app-text-faint);
}

.garanties-page[b-gqve4gpeup]  .garanties-examen--examinee {
    color: var(--app-success);
}

.garanties-page[b-gqve4gpeup]  .garanties-examen--partiel {
    color: var(--app-warning);
}

.garanties-page[b-gqve4gpeup]  .garanties-examen-etat {
    display: inline-flex;
    align-items: center;
}

.garanties-page[b-gqve4gpeup]  .garanties-examen-compteur {
    display: inline-flex;
    align-items: center;
    gap: var(--app-space-1);
    font-variant-numeric: tabular-nums;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--app-text-muted);
    padding: 1px var(--app-space-2);
    border-radius: var(--app-radius-pill);
    background: var(--app-surface);
    border: 1px solid var(--app-border);
}

.garanties-page[b-gqve4gpeup]  .garanties-examen-compteur--complet {
    color: var(--app-success-text);
    background: var(--app-success-bg);
    border-color: var(--app-success-bg-strong);
}

.garanties-page[b-gqve4gpeup]  .garanties-examen-compteur--grille {
    font-size: 12px;
    margin-right: var(--app-space-2);
}

.garanties-page[b-gqve4gpeup]  .garanties-examen-actions-groupe {
    display: inline-flex;
    align-items: center;
    gap: var(--app-space-1);
    margin-left: var(--app-space-1);
}
/* /Components/Screens/Contrats/Shared/Pages/GestionnairesAffectationsPage.razor.rz.scp.css */
/* Affectations gestionnaires - classes de mise en page (ex-styles inline), tokens --app-*. */

.ga-bandeau[b-acnp7l12qb] {
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
}

/* Icone MudIcon (composant enfant sans attribut de scope): ciblee via ::deep. */
.ga-bandeau[b-acnp7l12qb]  .ga-bandeau-icone {
    color: var(--app-text-muted);
}

.ga-bandeau-texte[b-acnp7l12qb] {
    font-size: 13px;
    color: var(--app-text-muted);
}

.ga-liste[b-acnp7l12qb] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
}

.ga-carte[b-acnp7l12qb] {
    display: flex;
    align-items: center;
    gap: var(--app-space-4);
    padding: 16px 20px;
}

.ga-icone-cadre[b-acnp7l12qb] {
    flex-shrink: 0;
}

.ga-icone[b-acnp7l12qb] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--app-info-bg);
    color: var(--app-info-text);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ga-contenu[b-acnp7l12qb] {
    flex: 1;
    min-width: 0;
}

.ga-ligne-nom[b-acnp7l12qb] {
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
    margin-bottom: 4px;
    flex-wrap: wrap;
}

.ga-nom[b-acnp7l12qb] {
    font-weight: 600;
    font-size: 15px;
    color: var(--app-text);
}

.ga-detail[b-acnp7l12qb] {
    font-size: 13px;
    color: var(--app-text-muted);
    margin-bottom: 3px;
}

.ga-actions[b-acnp7l12qb] {
    display: flex;
    gap: var(--app-space-2);
}
/* /Components/Screens/Contrats/Shared/Pages/HistoriquePage.razor.rz.scp.css */
/* Historique du contrat — styles locaux consommant les tokens --app-*
   (spec design system v1). Les libelles de diff utilisaient
   les variables red-700 et amber-700, jamais definies dans la palette
   (couleur heritee a l'ecran): le trio ajoute/modifie/supprime passe aux
   tokens d'etat. Les deux valeurs slate-700 restantes dans le .razor
   n'ont pas de token exact (arbitrage etape 5, gelees en baseline). */

.histo-bloc[b-103faobyjx] {
    margin-bottom: var(--app-space-4);
}

.histo-texte[b-103faobyjx] {
    font-size: 13px;
    margin-bottom: 4px;
}

.histo-meta[b-103faobyjx] {
    font-size: 12px;
    color: var(--app-text-faint);
}

.histo-decale[b-103faobyjx] {
    margin-left: var(--app-space-2);
}

.histo-colonne[b-103faobyjx] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
}

.histo-colonne-serree[b-103faobyjx] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

.histo-liste[b-103faobyjx] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.histo-titre-fort[b-103faobyjx] {
    font-weight: 600;
    color: var(--app-text);
}

.histo-sous-texte[b-103faobyjx] {
    font-size: 13px;
    color: var(--app-text-muted);
}

.histo-overline[b-103faobyjx] {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--app-text-muted);
}

.histo-diff-supprime[b-103faobyjx],
.histo-diff-ajoute[b-103faobyjx],
.histo-diff-modifie[b-103faobyjx] {
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 6px;
}

.histo-diff-supprime[b-103faobyjx] {
    color: var(--app-danger);
}

.histo-diff-ajoute[b-103faobyjx] {
    color: var(--app-success);
}

.histo-diff-modifie[b-103faobyjx] {
    color: var(--app-warning);
}

.histo-note[b-103faobyjx] {
    font-size: 12px;
    color: var(--app-text-muted);
}

.histo-note-nowrap[b-103faobyjx] {
    white-space: nowrap;
}

.histo-flex-1[b-103faobyjx] {
    flex: 1;
}

.histo-grille[b-103faobyjx] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--app-space-3);
}

.histo-entete-ligne[b-103faobyjx] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.histo-rangee[b-103faobyjx] {
    display: flex;
    gap: var(--app-space-2);
    flex-wrap: wrap;
}

.histo-rangee-serree[b-103faobyjx] {
    display: flex;
    gap: 6px;
}

.histo-filtres[b-103faobyjx] {
    display: flex;
    gap: var(--app-space-3);
    flex-wrap: wrap;
    align-items: flex-end;
}

.histo-ligne[b-103faobyjx] {
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
}

.histo-carte-ligne[b-103faobyjx] {
    display: flex;
    align-items: center;
    gap: var(--app-space-3);
    padding: 10px 12px;
    border: 1px solid var(--app-border);
    border-radius: 10px;
}

.histo-icone-faible[b-103faobyjx] {
    color: var(--app-text-faint);
}

/* Les selecteurs de versions a comparer gardent une largeur minimale
   lisible. ::deep: la classe est posee sur le composant AppSelect, dont
   le rendu n'a pas l'attribut de scope de ce fichier. */
.histo-filtres[b-103faobyjx]  .histo-select-version {
    min-width: 220px;
}

.histo-titre-bloc[b-103faobyjx] {
    font-weight: 600;
    margin-bottom: var(--app-space-3);
    color: var(--app-text);
}

.histo-titre[b-103faobyjx] {
    font-weight: 600;
    color: var(--app-text);
}
/* /Components/Screens/Contrats/Shared/Pages/ServicesPage.razor.rz.scp.css */
/* Services d'une version - classes de mise en page (ex-styles inline), tokens --app-*. */

.services-colonne-ajout[b-kztk93h5r6] {
    width: 90px;
}

.services-colonne-type[b-kztk93h5r6] {
    width: 180px;
}

.services-colonne-document[b-kztk93h5r6] {
    width: 120px;
}

.services-colonne-actions[b-kztk93h5r6] {
    width: 100px;
}

.services-nom[b-kztk93h5r6] {
    font-weight: 500;
}

.services-indisponible[b-kztk93h5r6] {
    color: var(--app-text-faint);
}

.services-cellule-actions[b-kztk93h5r6] {
    text-align: right;
    white-space: nowrap;
}
/* /Components/Screens/Contrats/Shared/Pages/TexteSurligneRecherche.razor.rz.scp.css */
mark.texte-surligne-recherche[b-fus5yf83wm] {
    background: var(--app-warning-bg-strong);
    color: inherit;
    border-radius: 3px;
    padding: 0 1px;
}

mark.texte-surligne-recherche.texte-surligne-recherche--courante[b-fus5yf83wm] {
    background: var(--app-warning);
}
/* /Components/Screens/Contrats/Shared/Pages/VersionsPage.razor.rz.scp.css */
/* Versions d'un contrat - classes de mise en page (ex-styles inline), tokens --app-*. */

.versions-pile[b-c3bez4ni7h] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-3);
}

.versions-groupe[b-c3bez4ni7h] {
    display: flex;
    flex-direction: column;
    gap: var(--app-space-2);
}

.versions-libelle[b-c3bez4ni7h] {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--app-text-muted);
}

.versions-chips[b-c3bez4ni7h] {
    display: flex;
    gap: var(--app-space-2);
    flex-wrap: wrap;
}

.versions-carte[b-c3bez4ni7h] {
    display: flex;
    align-items: center;
    gap: var(--app-space-4);
    padding: 16px 20px;
}

.versions-icone-cadre[b-c3bez4ni7h] {
    flex-shrink: 0;
}

/* Icones MudIcon (composants enfants sans attribut de scope): ciblees via
   ::deep; couleurs par statut = tokens a valeur identique a l'existant. */
.versions-icone-cadre[b-c3bez4ni7h]  .versions-icone-validee {
    color: var(--app-success);
}

.versions-icone-cadre[b-c3bez4ni7h]  .versions-icone-brouillon {
    color: var(--app-warning);
}

.versions-icone-cadre[b-c3bez4ni7h]  .versions-icone-obsolete {
    color: var(--app-text-faint);
}

.versions-contenu[b-c3bez4ni7h] {
    flex: 1;
    min-width: 0;
}

.versions-ligne-nom[b-c3bez4ni7h] {
    display: flex;
    align-items: center;
    gap: var(--app-space-2);
    margin-bottom: 2px;
}

.versions-nom[b-c3bez4ni7h] {
    font-weight: 600;
    font-size: 15px;
    color: var(--app-text);
}

.versions-detail[b-c3bez4ni7h] {
    font-size: 13px;
    color: var(--app-text-muted);
}

.versions-separateur[b-c3bez4ni7h] {
    margin: 0 6px;
}

.versions-actions[b-c3bez4ni7h] {
    display: flex;
    gap: var(--app-space-2);
}

/* Bloc proprietaire rapatrie d'app.css (decomposition etape 3). */
.version-card-active[b-c3bez4ni7h] {
    border-color: var(--app-success) !important;
    border-width: 2px;
}
/* /Components/Shared/AppCelluleNumerique.razor.rz.scp.css */
.app-cellule-numerique[b-k4dkutc307] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.app-cellule-numerique--invalide[b-k4dkutc307] {
    border-color: var(--app-danger);
    box-shadow: 0 0 0 2px var(--app-danger-bg);
}
/* /Components/Shared/JournalChangements.razor.rz.scp.css */
.journal-changements[b-v7uyyqdxn5] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.journal-changement-puce[b-v7uyyqdxn5] {
    position: relative;
    padding-left: 14px;
    line-height: 1.5;
}

.journal-changement-puce[b-v7uyyqdxn5]::before {
    content: "";
    position: absolute;
    left: 2px;
    top: 0.62em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--app-text-faint);
}

/* Paires « libelle : valeur » alignees sur la ligne de base, avec retour a la
   ligne libre: pas de grille rigide, c'est elle qui creait les decalages. */
.journal-changement-item[b-v7uyyqdxn5] {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    column-gap: 4px;
}

.journal-changement-nom[b-v7uyyqdxn5] {
    color: var(--app-text);
    font-weight: 600;
}

.journal-changement-nom[b-v7uyyqdxn5]::after {
    content: " : ";
    font-weight: 400;
    color: var(--app-text-muted);
    white-space: pre;
}

.journal-changement-valeur[b-v7uyyqdxn5] {
    min-width: 0;
    color: var(--app-text);
    overflow-wrap: anywhere;
}

.journal-changement-valeur-supprimee[b-v7uyyqdxn5] {
    text-decoration: line-through;
    text-decoration-color: var(--app-text-faint);
}

[b-v7uyyqdxn5] .journal-changement-fleche {
    color: var(--app-text-faint);
    align-self: center;
    flex-shrink: 0;
}

.journal-changement-separateur[b-v7uyyqdxn5] {
    margin: 0 8px;
    color: var(--app-border-strong);
}

.journal-changement-separateur[b-v7uyyqdxn5]::before {
    content: "\00B7";
}

.journal-changements-vide[b-v7uyyqdxn5] {
    color: var(--app-text-muted);
}

[b-v7uyyqdxn5] .journal-changements-repli {
    margin-top: 4px;
}
/* /Components/Shared/PopulationSubtitleCard.razor.rz.scp.css */
/* Carte population (sous-titre des ecrans cotisations/chargements prevoyance).
   Presentation horizontale compacte: titre + groupes libelle/chips sur une
   seule ligne justifiee a gauche, avec retour a la ligne si l ecran est
   etroit. Tokens --app-* uniquement. */

.population-carte[b-oa2b4ak12k] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: var(--app-space-2) var(--app-space-6);
    padding: 6px 12px;
    border: 1px solid var(--app-border);
    border-radius: 10px;
    background: var(--app-surface-sunken);
}

.population-titre[b-oa2b4ak12k] {
    font-size: 12px;
    font-weight: 700;
    color: var(--app-text);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.population-groupe[b-oa2b4ak12k] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--app-space-2);
}

.population-libelle[b-oa2b4ak12k] {
    font-size: 12px;
    font-weight: 600;
    color: var(--app-text-faint);
}
/* /Components/Shared/PrecisionContrat.razor.rz.scp.css */
.precision-contrat[b-gfuhyyxxxe] {
    color: var(--app-text-muted);
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.precision-contrat--une-ligne[b-gfuhyyxxxe] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Shared/ReadOnlyBanner.razor.rz.scp.css */
/* Bandeau lecture seule - styles proprietaires (ex-app.css, decomposition etape 3). */

.readonly-banner[b-t5qm4f3ej1] {
    background: var(--app-warning-bg);
    border: 1px solid var(--app-warning);
    border-radius: 10px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
    font-size: 14px;
    color: var(--app-warning-text);
    font-weight: 500;
}

/* L'icone est la racine d'un MudIcon (composant enfant sans attribut de
   scope): ciblee via ::deep. */
.readonly-banner[b-t5qm4f3ej1]  .mud-icon-root {
    color: var(--app-warning);
}
/* /Components/Shared/Sections/JournalModificationSection.razor.rz.scp.css */
.journal-audit-heading[b-5hl4caae00] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.journal-audit-heading h2[b-5hl4caae00] {
  margin: 0;
}

.journal-audit-empty[b-5hl4caae00] {
  padding: 24px;
}

.journal-audit-changements[b-5hl4caae00] {
  vertical-align: top;
}
/* /Components/Shared/SectionTitle.razor.rz.scp.css */
/* Titre de section - ex-styles inline, tokens --app-*. */

/* L'icone est la racine d'un MudIcon (composant enfant, pas d'attribut de
   scope): ciblee via ::deep depuis le conteneur scope .section-title. */
.section-title[b-a39cr4yply]  .section-title-icone {
    color: var(--app-text-muted);
}

.section-title-cliquable[b-a39cr4yply] {
    cursor: pointer;
}

/* Bloc proprietaire rapatrie d'app.css (decomposition etape 3). */
.section-title[b-a39cr4yply] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.section-title h2[b-a39cr4yply] {
    font-size: 18px;
    font-weight: 600;
    color: var(--app-text);
    margin: 0;
}

.section-title .section-action[b-a39cr4yply] {
    margin-left: auto;
}
/* /Components/Shared/StatCard.razor.rz.scp.css */
/* Carte statistique - styles proprietaires (ex-app.css, decomposition etape 3). */

.stat-card[b-qhqoa86l3s] {
    background: var(--app-surface);
    border-radius: 12px;
    border: 1px solid var(--app-border);
    padding: 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.stat-card .stat-content .stat-value[b-qhqoa86l3s] {
    font-size: 28px;
    font-weight: 700;
    color: var(--app-text);
    line-height: 1;
    margin-bottom: 4px;
}

.stat-card .stat-content .stat-label[b-qhqoa86l3s] {
    font-size: 13px;
    color: var(--app-text-muted);
    font-weight: 500;
}

.stat-card .stat-content .stat-subtitle[b-qhqoa86l3s] {
    font-size: 12px;
    color: var(--app-text-faint);
    margin-top: 2px;
}

.stat-card .stat-icon[b-qhqoa86l3s] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.stat-icon-primary[b-qhqoa86l3s] {
    background: var(--app-info-bg);
    color: var(--app-info-text);
}

.stat-icon-success[b-qhqoa86l3s] {
    background: var(--app-success-bg);
    color: var(--app-success-text);
}

.stat-icon-warning[b-qhqoa86l3s] {
    background: var(--app-warning-bg);
    color: var(--app-warning-text);
}

.stat-icon-info[b-qhqoa86l3s] {
    background: var(--app-highlight-bg);
    color: var(--app-highlight-text);
}
