/* Réseau (prospection, admin) natif Le Fil — js/reseau/views.js : #/reseau/organismes, fiche, contacts, import, et la section « Notifications » du profil.
   Remplace css/reseau.css (classique, supprimé). Préfixe frp-, jetons --f-* de css/fil.css seulement ; s'appuie sur la fabrique du budget (fb-, css/fil-budget.css)
   et sur js/fil/formulaire.js (ffo-). Filets plutôt qu'ombres, cibles de 44 px et plus, aucune capitale espacée ni emoji. */
.frp [hidden] { display: none !important; }
.frp-corps { min-width: 0; }

/* Sections (liens) */
.frp .frp-onglets { margin: 0 0 16px; }
@media (min-width: 640px) { .frp .frp-onglets { width: fit-content; max-width: 100%; } }
.frp-onglets a.fb-segment { display: flex; align-items: center; justify-content: center; text-decoration: none; }

/* Liste : synthèse, filtres, compte */
.frp .frp-synthese { margin: 0 0 12px; overflow-wrap: anywhere; }
.frp-filtres { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 12px 16px; margin: 0 0 12px; }
.frp-filtre-q { grid-column: 1 / -1; }
.frp-filtres .fb-saisie { min-width: 0; }
.frp-cases { display: flex; flex-wrap: wrap; align-items: center; gap: 0 20px; margin: 0 0 4px; }
.frp-case { min-height: 48px; }
.frp-reinit { margin-left: auto; min-height: 44px; }
.frp-filtres--q { margin-bottom: 12px; }
.frp-filtres-bloc { margin-bottom: 4px; }
.frp-filtres-bascule { display: none; margin: 0 0 12px; }
.frp .frp-compte { margin: 8px 0 4px; }
@media (max-width: 600px) {
  .frp-filtres-bascule { display: inline-flex; }
  .frp-filtres-bloc:not(.est-ouvert) { display: none; }
  .frp-reinit { margin-left: 0; }
}

/* Lignes d'organismes */
.frp-liste, .frp-liste-contacts { display: flex; flex-direction: column; }
.frp-ligne { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; min-height: 64px; padding: 12px 0; border-bottom: 1px solid var(--f-filet); color: var(--f-encre); text-decoration: none; }
.frp-ligne:hover .frp-ligne-nom { text-decoration: underline; text-underline-offset: 3px; }
.frp-ligne-txt { display: flex; flex-direction: column; gap: 2px; flex: 1 1 260px; min-width: 0; }
.frp-ligne-nom { font: 600 16px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.frp-ligne-meta { color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.frp-puces { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.frp .fb-puce.frp-vague--1, .frp .fb-puce.frp-palier--1 { background: var(--f-encre); border-color: var(--f-encre); color: var(--f-fond); }
.frp .fb-puce.frp-vague--veille { color: var(--f-encre-3); }
.frp .fb-puce[data-etat="refus"] { color: var(--f-urgent); border-color: var(--f-urgent); }

/* Fiche : deux colonnes au bureau (organisme et prospection à gauche, contacts à droite) */
.frp-retour { margin: 0 0 8px; }
.frp-fiche { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.frp .frp-bloc > * + * { margin-top: 12px; }
.frp-nom { margin: 0; font: 600 18px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.frp-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px 16px; margin: 0; }
.frp-detail { min-width: 0; }
.frp-detail dt { color: var(--f-encre-3); font: 500 12px/1.4 Inter, system-ui, sans-serif; }
.frp-detail dd { margin: 0; font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.frp-champs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 0 20px; }
.frp-champ { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; padding: 10px 0; border-top: 1px solid var(--f-filet); }
.frp-champ-lib { color: var(--f-encre-3); font: 500 12px/1.4 Inter, system-ui, sans-serif; }
.frp-champ-val { font: 400 14px/1.45 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.frp .frp-lien-bo { margin: 0; }
/* Les liens en ligne sont des cibles : 44 px de haut (valeur, source, LinkedIn, retour au back-office, organisme d'un contact). */
.frp a.fb-lien, .frp a.frp-lien, .frp a.frp-contact-org, .frp .fog-prov-lien { display: inline-flex; align-items: center; min-height: 44px; }
.frp-lien { color: var(--f-encre); }
.frp .frp-annonce { margin: 0 0 12px; }
@media (min-width: 1000px) {
  .frp-fiche { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  .frp-organisme { grid-column: 1; grid-row: 1; }
  .frp-prospection { grid-column: 1; grid-row: 2; }
  .frp-contacts { grid-column: 2; grid-row: 1 / span 2; }
}

/* Contacts */
.frp-contacts-liste { display: flex; flex-direction: column; }
.frp-contact { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 14px 0; border-top: 1px solid var(--f-filet); }
.frp-contacts-liste > .frp-contact:first-child, .frp-liste-contacts > .frp-contact:first-child { border-top: 0; }
.frp-contact--retire .frp-contact-nom { color: var(--f-encre-2); }
.frp-contact-tete { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; min-width: 0; }
.frp-contact-nom { font: 600 16px/1.3 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.frp-contact-fonction { margin: 0; color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; overflow-wrap: anywhere; }
.frp-contact-org { align-self: flex-start; font: 500 14px/1.4 Inter, system-ui, sans-serif; }
.frp .frp-contact-verif { margin: 0; }
.frp-coords { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.frp-coord { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 2px 12px; min-width: 0; }
.frp-coord dt { color: var(--f-encre-3); font: 500 12px/1.4 Inter, system-ui, sans-serif; }
.frp-coord dd { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; min-width: 0; margin: 0; font: 400 14px/1.4 Inter, system-ui, sans-serif; }
.frp-coord-val { overflow-wrap: anywhere; user-select: all; }
.frp-copier, .frp-mailto { min-height: 44px; padding: 0 12px; }
.frp-contact-actions { margin-top: 4px; }
.frp-effacement { padding: 12px 14px; border: 1px solid var(--f-urgent); border-radius: 18px; }
.frp-effacement .fb-note { margin-top: 0; }
.frp-retires { margin-top: 12px; }
@media (max-width: 640px) {
  .frp-coord { grid-template-columns: minmax(0, 1fr); }
  .frp-contact-actions .fb-bouton { flex: 1 1 auto; }
}

/* Formulaire d'un contact (feuille) */
.frp-form { display: flex; flex-direction: column; gap: 14px; }

/* Import */
.frp-import > * + * { margin-top: 12px; }
.frp-import-suivi { display: flex; flex-direction: column; gap: 6px; }
.frp-import-barre { width: 100%; height: 10px; accent-color: var(--f-encre); }
.frp-import-progression { margin: 0; color: var(--f-encre-2); font: 400 14px/1.4 Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.frp-import-rapport { display: flex; flex-direction: column; gap: 10px; }
.frp-import-synthese { margin: 0; font: 400 14px/1.5 Inter, system-ui, sans-serif; }
.frp-import-refus { margin: 0; padding-left: 20px; color: var(--f-attention); font: 400 14px/1.5 Inter, system-ui, sans-serif; }

/* Profil : section « Notifications » (dans Compte) */
[data-app] .frp-notif.fb { padding: 0; margin-top: 24px; }
.frp-notif-reglage { min-width: 0; margin: 14px 0 0; padding: 0; border: 0; }
.frp-notif-reglage legend { padding: 0; }
.frp-notif-choix { align-items: start; padding: 8px 0; }
.frp-notif-choix input { margin-top: 2px; }
.frp-notif-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.frp-notif-txt strong { font: 500 14px/1.4 Inter, system-ui, sans-serif; }
.frp-notif-statut { margin: 4px 0 0; }
