/* La vue « Transactions » de l'onglet Propriétaires (src/parc-transactions.js), abonnés. Les jetons de la vue Sociétés
   (--i-encre, --i-lib, --i-trait), lisibles au clair et au sombre ; deux teintes seulement, celles des points de la carte :
   achat (vert ; le cobalt est déjà la première teinte des propriétaires) et vente (orange). */
.pc .pt { --pt-achat: #2E9E6A; --pt-vente: #D9822B; display: flex; flex-direction: column; gap: 12px; min-width: 0; container-type: inline-size; }
/* les filtres : une ligne compacte, qui passe à la ligne quand le panneau est étroit */
.pc .pt-filtres { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: var(--t-12); }
/* un cran au-dessus de la règle commune des champs (pleine largeur) */
html[data-theme] .page-app .pc .pt-filtres input[type="search"] { box-sizing: border-box; height: var(--h-bouton); min-height: 0; margin: 0; padding-block: 0; font-size: var(--t-12); }
html[data-theme] .page-app .pc .pt-filtres input[type="search"] { flex: 1 1 170px; width: auto; min-width: 0; }
/* les listes sont des .ml-bouton (le select d'origine reste caché à côté) */
html[data-theme] .page-app .pc .pt-filtres .ml-bouton { flex: 0 1 auto; width: auto; min-width: 0; max-width: 170px; height: var(--h-bouton); min-height: 0; font-size: var(--t-12); }
.pc .pt-periode { display: inline-flex; gap: 4px; }
.pc .pt-entre { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; color: var(--i-encre-2, var(--encre-2)); cursor: pointer; }
.pc .pt-retour { align-self: flex-start; }
/* l'entreprise isolée */
.pc .pt-isole { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 10px; border-radius: var(--r-bouton); background: var(--actif, var(--survol)); font-size: var(--t-12); color: var(--i-encre-2, var(--encre-2)); }
.pc .pt-isole > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; flex: 1 1 240px; min-width: 0; }
.pc .pt-isole b { font-size: var(--t-13); font-weight: 600; color: var(--i-encre, var(--encre)); overflow-wrap: anywhere; }
/* une entreprise contrepartie : un lien dans la ligne de l'acte */
html[data-theme] .page-app .pc .pt-soc { display: inline; height: auto; min-height: 0; max-width: 100%; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; text-decoration: underline; text-decoration-color: var(--attenue, currentColor); text-underline-offset: 2px; cursor: pointer; }
html[data-theme] .page-app .pc .pt-soc:hover { color: var(--i-encre, var(--encre)); text-decoration-color: currentColor; }
.pc .pt-soc:focus-visible { outline: 2px solid var(--encre); outline-offset: 1px; }
/* les trois chiffres */
.pc .pt-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 12px 0; border-top: 1px solid var(--i-trait, var(--filet)); border-bottom: 1px solid var(--i-trait, var(--filet)); }
.pc .pt-chiffres dt { font-size: var(--t-12); color: var(--i-lib, var(--encre-3)); }
.pc .pt-chiffres dd { margin: 2px 0 0; font-size: var(--t-22); font-weight: 500; font-variant-numeric: tabular-nums; color: var(--i-encre, var(--encre)); }
.pc .pt-chiffres dd small { display: block; margin-top: 2px; font-size: var(--t-12); font-weight: 400; color: var(--i-encre-2, var(--encre-2)); }
/* les actes par année : achats et ventes côte à côte ; une année se clique (liste, carte, exports et rapport passent à elle) */
.pc .pt-ans { display: flex; align-items: flex-end; gap: 2px; height: 76px; padding-bottom: 16px; position: relative; }
.pc .pt-an { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 2px; height: 100%; position: relative; padding: 4px 2px 0; border: 0; border-radius: var(--r-pastille); background: none; color: inherit; font: inherit; cursor: pointer; }
.pc .pt-an:disabled { cursor: default; }
.pc .pt-an:not(:disabled):hover { background: var(--survol); }
.pc .pt-an:focus-visible { outline: 2px solid var(--encre); outline-offset: 1px; }
.pc .pt-an[aria-pressed="true"] { background: var(--actif, var(--survol)); box-shadow: inset 0 0 0 1px var(--filet-fort); }
.pc .pt-an[aria-pressed="true"] span { color: var(--i-encre, var(--encre)); font-weight: 600; }
.pc .pt-an i { width: min(10px, 40%); min-height: 1px; border-radius: 2px 2px 0 0; }
.pc .pt-an .pt-a { background: var(--pt-achat); }
.pc .pt-an .pt-v { background: var(--pt-vente); }
.pc .pt-an span { position: absolute; bottom: -16px; font-size: var(--t-11); color: var(--i-lib, var(--encre-3)); font-variant-numeric: tabular-nums; }
/* l'année choisie : ses chiffres, son rapport */
.pc .pt-annee { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: var(--t-12); color: var(--i-encre-2, var(--encre-2)); }
.pc .pt-annee > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; flex: 1 1 100%; }
.pc .pt-annee b { font-size: var(--t-15); font-weight: 600; color: var(--i-encre, var(--encre)); }
.pc .pt-annee-aide > span { flex: 1; min-width: 0; }
/* à qui les biens ont été vendus */
.pc .pt-qui { border-top: 1px solid var(--i-trait, var(--filet)); padding-top: 8px; font-size: var(--t-12); }
.pc .pt-qui summary { cursor: pointer; font-weight: 500; color: var(--i-encre, var(--encre)); }
.pc .pt-qui summary span { margin-left: 4px; font-weight: 400; color: var(--i-lib, var(--encre-3)); }
.pc .pt-qui ul { list-style: none; margin: 6px 0 0; padding: 0; }
.pc .pt-qui li { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(64px, auto); gap: 10px; padding: 3px 0; }
.pc .pt-qui .n { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pc .pt-qui .q { color: var(--i-lib, var(--encre-3)); }
.pc .pt-qui .m { text-align: right; font-variant-numeric: tabular-nums; }
.pc .pt-leg { display: flex; gap: 14px; margin: 0; font-size: var(--t-12); color: var(--i-encre-2, var(--encre-2)); }
.pc .pt-leg i { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; }
/* le tableau des actes (Henri, 30/10/2026 : « un tableau plus compact ») : une ligne par acte dès que le panneau est élargi ;
   deux lignes serrées dans la largeur d'origine. Le détail complet est dans les infobulles et les exports. */
.pc .pt-liste { list-style: none; margin: 0; padding: 0; }
.pc .pt-entete, .pc .pt-liste li { display: grid; grid-template-columns: 68px 40px minmax(0, 1.3fr) minmax(0, 1.2fr) 64px 48px minmax(0, 1.3fr); column-gap: 8px; align-items: baseline; font-size: var(--t-12); }
.pc .pt-entete { padding: 0 8px 4px 10px; border-bottom: 1px solid var(--i-trait, var(--filet)); color: var(--i-lib, var(--encre-3)); font-size: var(--t-11); }
.pc .pt-droite { text-align: right; }
.pc .pt-liste li { padding: 4px 8px 4px 8px; border-bottom: 1px solid var(--i-trait, var(--filet)); border-left: 2px solid transparent; cursor: pointer; }
.pc .pt-liste li.pt-achat { border-left-color: var(--pt-achat); }
.pc .pt-liste li.pt-vente { border-left-color: var(--pt-vente); }
.pc .pt-liste li:hover, .pc .pt-liste li:focus-visible { background: var(--survol); outline: none; }
.pc .pt-liste li.pt-choisi { background: var(--actif, var(--survol)); }
.pc .pt-liste li > span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pc .pt-date, .pc .pt-prix, .pc .pt-m2 { font-variant-numeric: tabular-nums; }
.pc .pt-role { color: var(--i-lib, var(--encre-3)); }
.pc .pt-prix, .pc .pt-m2 { text-align: right; }
.pc .pt-prix b { font-weight: 600; }
.pc .pt-m2 { color: var(--i-lib, var(--encre-3)); }
.pc .pt-estime { font-weight: 600; text-decoration: underline dotted; text-underline-offset: 3px; cursor: help; }
@container (max-width: 640px) {
  .pc .pt-chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pc .pt-entete { display: none; }
  .pc .pt-liste li { grid-template-columns: 68px 40px minmax(0, 1fr) auto; row-gap: 1px; }
  .pc .pt-liste li > .pt-m2 { display: none; }
  .pc .pt-liste li > .pt-nat { grid-column: 1 / 3; grid-row: 2; color: var(--i-lib, var(--encre-3)); font-size: var(--t-11); }
  .pc .pt-liste li > .pt-contre { grid-column: 3 / -1; grid-row: 2; color: var(--i-lib, var(--encre-3)); font-size: var(--t-11); }
}
/* cinq vues au téléphone (Parcelles, Permis, Valeur, Sociétés, Transactions) : le segment déborde de quelques pixels ;
   le segment est une grille à colonnes égales : chaque onglet prend sa largeur (auto), plus étroit ; ils défilent de côté s'il en vient d'autres (vu au simulateur iOS, 29/10/2026) ; poids de la règle
   commune des segments (src/instrument.css) dépassé d'une classe */
@media (max-width: 899px) {
  html[data-theme] .page-app .pc .pm-tete .pg-seg { grid-auto-columns: auto; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
  html[data-theme] .page-app .pc .pm-tete .pg-seg::-webkit-scrollbar { display: none; }
  html[data-theme] .page-app .pc .pm-tete .pg-seg button { padding-inline: 7px; }
}
/* dans la sidebar de la recherche foncière : les marges du panneau, et les vues restent entières quand il s'élargit */
.pg.fs .fc-resultats > .pt { padding: 0 16px; }
@media (min-width: 900px) {
  html[data-theme] .page-app .pg.fs .pc-vues-ligne, html[data-theme] .page-app .pg.fs .fc-resultats > .pm-tete { flex-wrap: wrap; }
  html[data-theme] .page-app .pg.fs .fc-resultats > .pm-tete .pg-seg { flex: none; max-width: 100%; }
}
.pc .pt-recon { margin: 8px 0 0; color: var(--i-lib, var(--encre-3)); font-size: var(--t-12); font-variant-numeric: tabular-nums; }
.pc .pt-flux { margin: 8px 0; font-size: var(--t-13); }
.pc .pt-liste > .pt-op { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; padding: 10px 8px; border-top: 1px solid var(--i-trait, var(--filet)); cursor: pointer; font-size: var(--t-13); }
.pc .pt-liste > .pt-op::after { content: "+"; margin-left: auto; color: var(--i-lib, var(--encre-3)); }
.pc .pt-liste > .pt-op[aria-expanded="true"]::after { content: "−"; }
.pc .pt-pourquoi { font-size: var(--t-12); color: var(--i-lib, var(--encre-3)); white-space: normal; }
.pc .pt-pourquoi summary { min-height: 24px; cursor: pointer; }
.pc .pt-pourquoi p { margin: 4px 0 0; }

/* Henri, 06/11/2026 (91S-1281) : « l'onglet transactions bug et sort du cadre si c'est rétréci », « dans la même DA que la colonne des filtres :
   toute hauteur, typographie, tailles de police, le style du graphique n'est pas homogène » */
/* les onglets du panneau (Parcelles, Permis, Valeur, Sociétés, Transactions) restent dans le cadre : ils passent à la ligne au lieu de déborder */
html[data-theme] .page-app .pc .fc-resultats .pm-tete { min-width: 0; max-width: 100%; }
html[data-theme] .page-app .pc .fc-resultats .pm-tete .pg-seg { display: flex; flex-wrap: wrap; width: 100%; max-width: 100%; min-width: 0; overflow: visible; gap: 2px; }
html[data-theme] .page-app .pc .fc-resultats .pm-tete .pg-seg > button { flex: 1 1 auto; min-width: 0; padding-inline: 8px; font-size: var(--t-12); white-space: nowrap; }
/* le contenu suit la hauteur du panneau et ne déborde jamais en largeur */
.pc .fc-resultats .pt { max-width: 100%; overflow-x: hidden; }
.pc .pt-chiffres dd { font-size: var(--t-20, var(--t-22)); letter-spacing: 0; }
/* le graphique : les mêmes encres atténuées que les curseurs de la colonne des filtres, barres fines, repère pointillé */
.pc .pt { --pt-achat: color-mix(in srgb, #2E9E6A 78%, var(--fond, #111)); --pt-vente: color-mix(in srgb, #D9822B 78%, var(--fond, #111)); }
.pc .pt-ans { border-bottom: 1px dashed var(--i-trait, var(--filet)); height: 84px; }
.pc .pt-an i { width: min(7px, 36%); border-radius: 1px 1px 0 0; }
.pc .pt-an span { font-size: var(--t-11); font-weight: 400; }
.pc .pt-leg { font-size: var(--t-12); color: var(--attenue, var(--i-lib)); }
