/* Merkator — direction artistique « Galerie » (choisie par Vincenzo le 05.11.2026, d'après une maquette de portfolio photo) :
   blanc, beaucoup d'air, fines barres noires en haut et en bas, logo en écriture manuscrite, menu en petites capitales grises
   espacées, titres en capitales grasses, sous-titres en italique serif, ornement en zigzag, boutons pilule noirs, filets gris clair. */
:root{
  --bg:#ffffff;--surface:#ffffff;--fg:#222222;--muted:#8a8a8a;--line:#e6e6e6;--line-fort:#222222;--accent:#222222;--accent-fg:#ffffff;
  --depart:#c0392b;--groupe:#8e44ad;--fournisseur:#1f77b4;--client:#2e8b57;--concurrent:#e67e22;--partenaire:#16a085;--cible:#7f8c8d;--acquereur:#2c3e50;
  --sel:#ffd400;
  --font:"Nunito Sans",system-ui,sans-serif;--font-titre:"Montserrat",system-ui,sans-serif;--font-serif:"PT Serif",Georgia,serif;--font-logo:"Playfair Display",Georgia,serif;
  --base:17px;--radius:4px;--pilule:999px;
}
*{box-sizing:border-box}
/* la barre de défilement verticale est toujours réservée : la largeur de page, donc la position de l'en-tête, ne change pas d'un onglet à l'autre */
html{overflow-y:scroll;scrollbar-gutter:stable}
html{height:100%;margin:0}
body{margin:0;font:var(--base)/1.6 var(--font);color:var(--fg);background:var(--bg);display:flex;flex-direction:column;min-height:100vh;border-top:7px solid var(--line-fort)}
/* l'en-tête, la ligne de société, le bandeau et le pied ne se compriment jamais, quelle que soit la longueur de la page */
.nav,.barre-societe,.bandeau,footer{flex-shrink:0}
a{color:var(--fg)}
/* ornement zigzag et étiquettes en petites capitales */
.zigzag{display:inline-block;width:52px;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 10'%3E%3Cpath d='M1 8 L7 2 L13 8 L19 2 L25 8 L31 2 L37 8 L43 2 L49 8' fill='none' stroke='%23222' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat center/contain}
.cap{font-family:var(--font-titre);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* en-tête : logo manuscrit à gauche, menu en petites capitales à droite */
.nav{display:flex;align-items:center;gap:28px;padding:0 48px;background:var(--surface);border-bottom:1px solid var(--line);height:74px;min-height:74px}
.nav .marque{font-family:var(--font-logo);font-size:1.7rem;font-weight:600;letter-spacing:.04em;color:var(--fg);text-decoration:none;display:flex;align-items:center;gap:8px;line-height:1}
.nav .marque svg{display:none}
.nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav ul.gauche{margin-left:-6px}
.nav .espace{width:56px;flex:none}
.sugg.creer{text-decoration:none;color:var(--fg);background:#fafafa;border-bottom:2px solid var(--fg)}
.sugg.creer .plus{font-family:var(--font-titre);font-weight:700;font-size:1.2rem;width:18px;text-align:center}
.nav .droite-outils{margin-left:auto;display:flex;align-items:center;gap:18px;position:relative}
.nav label.test{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.nav label.test .etat{font-family:var(--font-titre);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);min-width:28px}
.interrupteur{width:44px;height:24px;border-radius:999px;border:2px solid var(--fg);background:#fff;padding:0;position:relative;cursor:pointer;flex:none}
.interrupteur .bille{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--fg);transition:left .15s}
.interrupteur.on{background:var(--fg)}.interrupteur.on .bille{left:22px;background:#fff}
.interrupteur:hover{background:#fff}.interrupteur.on:hover{background:var(--fg)}
.nav button.login{padding:9px 20px}
.popover{position:absolute;right:0;top:calc(100% + 10px);width:320px;background:#fff;border:1px solid var(--fg);padding:14px 16px;font-size:.92rem;font-family:var(--font-serif);font-style:italic;z-index:30}
.nav li a{display:block;padding:8px 13px;font-family:var(--font-titre);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .15s}
.nav li a:hover{color:var(--fg)}
.nav li a.actif{color:var(--fg);position:relative}
.nav li a.actif::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;background:var(--fg)}
.nav .jeu{font-family:var(--font-titre);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-left:8px;display:flex;align-items:center;gap:6px}
.nav .jeu a{color:var(--muted);text-decoration:none;padding:5px 11px;border-radius:var(--pilule);border:1px solid var(--line)}
.nav .jeu a.actif{background:var(--fg);color:#fff;border-color:var(--fg)}
.nav a.droite{font-family:var(--font-titre);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);text-decoration:none;margin-left:14px;white-space:nowrap}
.nav a.droite b{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1rem;letter-spacing:0;text-transform:none}
/* deuxième ligne du menu : société cible, recherche dans le registre, favoris */
.barre-societe{display:flex;align-items:center;gap:16px;padding:6px 48px;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap}
.barre-societe .cible-nom{font-family:var(--font-serif);font-style:italic;font-size:1rem}
.barre-societe .recherche{position:relative;flex:1;min-width:260px;max-width:520px}
.barre-societe input{font:inherit;font-size:.92rem;width:100%;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--fg)}
.barre-societe a.cap{color:var(--fg);text-decoration:none;border:2px solid var(--fg);border-radius:999px;padding:7px 14px;white-space:nowrap}
.suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--fg);z-index:20;max-height:360px;overflow:auto}
.sugg{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);cursor:pointer;font-size:.95rem}
.sugg:hover{background:#fafafa}.sugg .nom{font-weight:600}.sugg:last-child{border-bottom:0}
.etoile{font:inherit;font-size:1.1rem;line-height:1;padding:0 4px;border:0;background:transparent;color:#ccc;cursor:pointer;border-radius:0}
.etoile.on,.etoile:hover{color:#e2a400;background:transparent}
@media (max-width:900px){.barre-societe{padding:10px 16px}}
.bandeau{background:#fff;color:var(--fg);border-bottom:1px solid var(--line);padding:4px 48px;font-family:var(--font-serif);font-style:italic;font-size:.88rem}
.bandeau a{color:var(--fg);font-family:var(--font-titre);font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-left:10px}

/* pages de contenu */
main.page{flex:1;width:min(1180px,100%);margin:0 auto;padding:40px 48px 72px}
main.page h1{font-family:var(--font-titre);font-size:1.9rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;margin:0 0 12px;line-height:1.2}
main.page h1 .ico{vertical-align:-3px;margin-right:6px}
main.page .chapeau{font-family:var(--font-serif);font-style:italic;font-size:1.15rem;color:#555;margin:0 0 14px;max-width:72ch}
main.page .chapeau::after{content:"";display:block;width:52px;height:10px;margin-top:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 52 10'%3E%3Cpath d='M1 8 L7 2 L13 8 L19 2 L25 8 L31 2 L37 8 L43 2 L49 8' fill='none' stroke='%23222' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat left/contain}
h2{font-family:var(--font-titre);font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:34px 0 14px;font-weight:700}
main.page .chapeau + h2, main.page .sous-onglets + h2{margin-top:22px}
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.carte-item{background:var(--surface);border:1px solid var(--line);padding:26px 26px 24px;text-decoration:none;color:inherit;display:block;transition:border-color .15s,transform .15s}
.carte-item:hover{border-color:var(--fg);transform:translateY(-2px)}
.carte-item h3{margin:0 0 8px;font-family:var(--font-titre);font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.carte-item p{margin:0;color:#666;font-size:1rem;font-family:var(--font-serif);font-style:italic}
.chiffres{display:flex;gap:18px;flex-wrap:wrap;margin:8px 0 10px}
.chiffre{border:1px solid var(--line);padding:16px 22px;min-width:150px;background:var(--surface)}
.chiffre b{display:block;font-family:var(--font-titre);font-size:1.7rem;font-weight:700;letter-spacing:.02em}
.chiffre span{color:var(--muted);font-size:.8rem;font-family:var(--font-titre);letter-spacing:.08em;text-transform:uppercase}
.encart{border:1px solid var(--line);padding:20px 24px;margin:10px 0;background:var(--surface)}
.encart p{margin:8px 0}
.etapes{list-style:none;padding:0;margin:0;counter-reset:n}
.etapes li{counter-increment:n;display:grid;grid-template-columns:44px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.etapes li::before{content:counter(n);width:36px;height:36px;border-radius:50%;background:var(--fg);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-titre);font-weight:700;font-size:.85rem}
.etapes li b{display:block;grid-column:2;font-family:var(--font-titre);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}
.etapes li span{color:#555;font-size:1rem;grid-column:2;font-family:var(--font-serif);font-style:italic}
table.tab{width:100%;border-collapse:collapse;background:var(--surface);font-size:.97rem}
table.tab th,table.tab td{padding:12px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.tab th{font-family:var(--font-titre);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:transparent;border-bottom:2px solid var(--fg);cursor:pointer;white-space:nowrap;font-weight:700}
table.tab tr:last-child td{border-bottom:0}
table.tab tr.sel td{background:#fffbe6}
table.tab td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.legende{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;font-size:.95rem}
.legende span{display:inline-flex;align-items:center;gap:8px}
.outils{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:14px 0}
.outils input[type=search],.outils select{font:inherit;padding:10px 14px;border:1px solid var(--line);border-radius:0;min-width:280px;background:var(--surface);color:var(--fg)}
.outils select{min-width:0}
button,a.bouton{font-family:var(--font-titre);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:13px 26px;border:2px solid var(--fg);background:var(--fg);color:#fff;border-radius:var(--pilule);cursor:pointer;text-decoration:none;display:inline-block;line-height:1.2;transition:background .15s,color .15s}
button:hover,a.bouton:hover{background:#000}
button.secondaire,a.bouton.secondaire{background:transparent;color:var(--fg)}
button.secondaire:hover,a.bouton.secondaire:hover{background:var(--fg);color:#fff}
button:disabled{opacity:.4;cursor:default}
button.mini{font-size:.62rem;padding:5px 12px;margin-left:8px}
.vide{color:var(--muted);font-size:.95rem;font-family:var(--font-serif);font-style:italic}
.pill{display:inline-block;font-family:var(--font-titre);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 11px;border-radius:var(--pilule);color:#fff;margin:4px 6px 4px 0;white-space:nowrap}
.ico{width:16px;height:16px;flex:none}
footer{padding:26px 48px;color:var(--fg);font-family:var(--font-titre);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-top:1px solid var(--line);background:var(--surface);margin-top:auto}
body::after{content:"";display:block;height:7px;background:var(--line-fort)}

/* page carte */
body.carte-page{height:100vh;overflow:hidden}
body.carte-page main{flex:1;display:grid;grid-template-columns:1fr 420px;min-height:0}
#map{min-height:300px;background:#f4f4f4}
aside{background:var(--surface);border-left:1px solid var(--line);overflow:auto;padding:12px 30px 26px}
@media (max-width:900px){body.carte-page main{grid-template-columns:1fr;grid-template-rows:55vh 1fr}aside{border-left:0;border-top:1px solid var(--line)}.nav{gap:10px;padding:0 16px;height:auto;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.nav ul{flex-wrap:wrap}.nav a.droite{display:none}main.page{padding:32px 16px 48px}footer{padding:20px 16px}}
/* filtres en boutons : la case est cachée, l'étiquette est une pilule qui s'allume quand la case est cochée */
.filtres{display:flex;flex-wrap:wrap;gap:8px}
.filtres label{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-titre);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:0;padding:7px 16px 7px 10px;border:2px solid var(--line);border-radius:var(--pilule);cursor:pointer;color:var(--muted);background:#fff;transition:border-color .15s,color .15s,background .15s;user-select:none}
.filtres label:has(input:checked){border-color:var(--fg);color:var(--fg);background:#fff}
.filtres label:has(input:disabled){opacity:.5;cursor:default}
.filtres label input{position:absolute;opacity:0;width:0;height:0}
.filtres label .ico{width:26px;height:26px}
.filtres label span{font-weight:600;color:var(--muted)}
.filtres label.inactif{color:var(--muted)}
.filtres p{width:100%;margin:6px 0 0}
.fiche h3,.detail h3{margin:0 0 4px;font-family:var(--font-titre);font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:8px}
.fiche .ide,.detail .ide{font-family:var(--font-serif);font-style:italic;font-size:.95rem;color:var(--muted)}
.fiche .site-web{margin:2px 0 6px}
.fiche p,.detail p{margin:9px 0;font-size:1rem}
.fiche ul,.detail ul{padding-left:20px;margin:4px 0;font-size:.97rem}
.fiche li,.detail li{margin:4px 0}
.exemple{font-family:var(--font-serif);font-style:italic;font-size:.9rem;color:#666;border:1px dashed var(--line);padding:6px 10px;margin:8px 0}
.sel{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}
.sel ul{list-style:none;padding:0;margin:8px 0}
.sel li{display:flex;justify-content:space-between;gap:8px;font-size:.95rem;padding:5px 0;border-bottom:1px solid var(--line)}
.leaflet-container{font:inherit}
.leaflet-control-layers,.leaflet-bar{border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important}
.leaflet-bar a{border-radius:0!important}
.marqueur{background:none;border:0}
.marqueur svg{display:block;overflow:visible;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));transition:transform .12s}
.marqueur:hover svg{transform:scale(1.15)}
.marqueur.sel svg{filter:drop-shadow(0 0 0 var(--sel)) drop-shadow(0 0 4px var(--sel)) drop-shadow(0 0 4px var(--sel)) drop-shadow(0 2px 3px rgba(0,0,0,.4))}
.etiq{font-family:var(--font-serif);font-style:italic;font-size:.85rem;background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:none;color:#444}
.taille-barre{display:inline-flex;gap:2px;vertical-align:middle}
.taille-barre i{width:6px;height:11px;background:var(--line);border-radius:1px}
.taille-barre i.on{background:var(--fg)}

/* analyses : figures, légendes, bandeau de commande, classes, tuiles */
.fig{background:#fff;border:1px solid var(--line);padding:18px;overflow-x:auto;margin:0 0 6px}
.fig svg{display:block;max-width:100%;height:auto;font-family:var(--font)}
.fig svg text{fill:#52514e;font-size:12px}
.fig svg .ink{fill:var(--fg);font-weight:600}.fig svg .muted{fill:var(--muted)}.fig svg .grid{stroke:#e1e0d9;stroke-width:1}.fig svg .axe{stroke:#c3c2b7;stroke-width:1}
.legende-viz{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 0;font-size:.9rem;color:#52514e}
.legende-viz span{display:inline-flex;align-items:center;gap:7px}.legende-viz i{width:12px;height:12px;border-radius:3px;display:inline-block}
.planche{border-bottom:1px solid var(--line);padding:30px 0}
.planche h3{font-family:var(--font-titre);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;margin:4px 0 4px;display:flex;align-items:baseline;gap:14px}
.planche h3 .num{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.3rem;letter-spacing:0;text-transform:none;color:var(--muted)}
.question{font-family:var(--font-serif);font-style:italic;font-size:1.05rem;color:#555;margin:0 0 16px;max-width:70ch}
.lecture{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}
@media (max-width:760px){.lecture{grid-template-columns:1fr}}
.lecture .bloc{min-width:0}.lecture .cap{display:block;margin-bottom:6px}.lecture p{margin:0;font-size:.95rem}.lecture ul{margin:4px 0 0;padding-left:18px;font-size:.93rem}
.tipviz{position:fixed;pointer-events:none;background:var(--fg);color:#fff;font-size:.82rem;padding:6px 10px;border-radius:3px;display:none;z-index:50;max-width:280px}
.commande{position:sticky;top:0;z-index:3;background:var(--bg);border-bottom:1px solid var(--fg);padding:14px 0;display:flex;flex-wrap:wrap;gap:16px 26px;align-items:end;margin-bottom:10px}
.commande label{display:flex;flex-direction:column;gap:6px}
.commande select,.commande input{font:inherit;font-size:1rem;padding:8px 12px;border:1px solid var(--line);background:#fff;color:var(--fg);min-width:0}
.echelles{display:flex;gap:6px}
.echelles button{padding:9px 16px;border:2px solid var(--line);background:transparent;color:var(--muted)}
.echelles button.on{border-color:var(--fg);color:var(--fg);background:transparent}
.resultat{margin:22px 0 8px;font-family:var(--font-serif);font-size:1.3rem;line-height:1.5;max-width:60ch}
.resultat b{font-family:var(--font-titre);font-size:1.1rem;letter-spacing:.02em}
.segments{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.seg{border:1px solid var(--line);padding:16px 18px;background:#fff;min-width:0;border-top:4px solid var(--fg)}
.seg h4{margin:0 0 4px;font-family:var(--font-titre);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.seg .taille{font-family:var(--font-titre);font-size:1.5rem;font-weight:700;margin:6px 0 2px}
.seg .part{color:var(--muted);font-size:.85rem;font-family:var(--font-serif);font-style:italic}
.seg dl{margin:10px 0 0;font-size:.9rem;display:grid;grid-template-columns:auto 1fr;gap:3px 10px}.seg dt{color:var(--muted)}.seg dd{margin:0}
.seg .pot{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:.92rem}.seg .pot b{font-family:var(--font-titre)}
.tuiles{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;max-width:620px}
.tuile{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-titre);font-size:.72rem;font-weight:700;border-radius:3px;color:var(--fg);min-width:0}
.tuile small{font-family:var(--font);font-weight:400;font-size:.7rem;opacity:.85}.tuile.vide{visibility:hidden}.tuile.on{outline:2px solid var(--fg);outline-offset:1px}
/* lignes dépliables de la page Acteurs */
table.tab.deplie tbody tr:not(.volet){cursor:pointer}
table.tab.deplie tbody tr:not(.volet):hover td{background:#fafafa}
table.tab.deplie tr.ouverte td{border-bottom:0;background:#fafafa}
table.tab.deplie .chevron{display:inline-block;width:14px;color:var(--muted);font-size:.9rem}
table.tab.deplie tr.volet td{padding:0 12px 22px 44px;background:#fafafa;border-bottom:2px solid var(--fg)}
.fiche-volet{border-left:2px solid var(--fg);padding:14px 22px 4px;max-width:760px}
.fiche-volet h3{margin:0 0 4px;font-family:var(--font-titre);font-size:1rem;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.fiche-volet .ide{font-family:var(--font-serif);font-style:italic;font-size:.95rem;color:var(--muted)}
.fiche-volet p{margin:9px 0;font-size:1rem}.fiche-volet ul{padding-left:20px;margin:4px 0;font-size:.97rem}
.site-web{margin:4px 0 8px!important;font-family:var(--font-titre);font-size:.82rem;letter-spacing:.04em}
.site-web a{font-weight:700}
/* panneau de la carte : deux volets pleine largeur, Affichage et Fiche */
aside details.volet{border-top:2px solid var(--fg);margin:0 -30px;padding:0 30px}
aside details.volet:first-of-type{border-top:0}
aside details.volet summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 0;font-family:var(--font-titre);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--fg)}
aside details.volet summary::-webkit-details-marker{display:none}
aside details.volet summary::after{content:"+";font-size:1.3rem;line-height:1}
aside details.volet[open] summary::after{content:"–"}
aside details.volet summary .qui{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);font-size:.95rem;margin-left:auto;margin-right:12px;text-align:right}
aside details.volet > div{padding-bottom:18px}
aside details.volet h2{margin-top:18px}
aside details.volet > div > .vide:first-child{margin-top:0}
aside details.volet > div > h2:first-child{margin-top:4px}
/* panneau de la carte : fiche dans un volet dépliable */
aside details.volet-fiche{border-top:1px solid var(--line);margin-top:18px;padding-top:6px}
aside details.volet-fiche summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:10px 0;font-family:var(--font-titre);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
aside details.volet-fiche summary::-webkit-details-marker{display:none}
aside details.volet-fiche summary::before{content:"▸";color:var(--fg)}
aside details.volet-fiche[open] summary::before{content:"▾"}
aside details.volet-fiche summary .qui{font-family:var(--font);font-weight:600;letter-spacing:0;text-transform:none;color:var(--fg);font-size:.95rem}
/* sous-onglets de la page Acteurs */
.sous-onglets{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--line);padding-bottom:14px;margin:4px 0 18px}
.sous-onglets a{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-titre);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:9px 16px 9px 12px;border:2px solid transparent;border-radius:var(--pilule);transition:color .15s,border-color .15s}
.sous-onglets a:hover{color:var(--fg)}
.sous-onglets a.actif{color:var(--fg);border-color:var(--fg)}
/* onglets, détail, rapport */
.deux-col{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}
@media (max-width:1100px){.nav li a{padding:8px 9px;font-size:.68rem}.nav .espace{width:12px}.nav .droite-outils{gap:10px}}
.detail{border:1px solid var(--line);padding:22px 24px;position:sticky;top:14px;background:var(--surface)}
a.bouton{margin-left:6px}
@media (max-width:900px){.deux-col{grid-template-columns:1fr}.detail{position:static}}
.rapport{border:1px solid var(--line);padding:40px 48px;margin-top:22px;background:var(--surface)}
.rapport h1{font-family:var(--font-titre);font-size:1.6rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px}
.rapport h2{margin-top:30px}.rapport .fiche-r{padding:14px 0;border-top:1px solid var(--line)}
.rapport .fiche-r h3{margin:0 0 6px;font-family:var(--font-titre);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}
.rapport .fiche-r p,.rapport .fiche-r li{font-size:.97rem;margin:5px 0}
.choix label{display:inline-flex;align-items:center;gap:8px;margin:5px 16px 5px 0;font-size:.97rem;cursor:pointer}
@media print{.nav,footer,.no-print,.bandeau{display:none!important}main.page{padding:0;max-width:none}.rapport{border:0;padding:0}body{background:#fff;border-top:0}body::after{display:none}}

/* statuts, niveaux, signaux, étiquettes */
.niv{display:inline-block;min-width:18px;text-align:center;font-family:var(--font-titre);font-size:.62rem;font-weight:700;padding:1px 4px;border:1px solid var(--fg);vertical-align:middle;letter-spacing:.05em}
.nA{background:var(--fg);color:#fff}.nB{background:#fff;color:var(--fg)}.nC{background:#fff;color:#777;border-color:#999}.nD{background:#fff;color:#aaa;border-color:#ccc;border-style:dashed}
.statut{display:inline-block;font-family:var(--font-titre);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:2px 9px;border-radius:var(--pilule);vertical-align:middle;white-space:nowrap;border:1.5px solid}
.s-auto{border-color:#bbb;color:#777}.s-a-verifier{border-color:var(--fg);color:var(--fg);background:var(--sel)}.s-verifie{border-color:var(--fg);background:var(--fg);color:#fff}
.conf{display:inline-block;font-family:var(--font-serif);font-style:italic;font-size:.85rem;color:#666}
.c-constate{color:var(--fg)}
.etranger{display:inline-block;font-family:var(--font-titre);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:1px 8px;border:1.5px solid var(--fg);vertical-align:middle}
ul.champs{list-style:none;padding-left:0}ul.champs li{margin:7px 0}
.sig{display:inline-block;font-family:var(--font-titre);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:2px 10px;border-radius:var(--pilule);color:#fff;white-space:nowrap}
.t-alerte{background:#c0392b}.t-tendance{background:#222}.t-opportunite{background:#2e8b57}

/* ——— analyse approfondie : page Acteurs en deux colonnes, colonne de droite, rapport ——— */
main.page.deux-colonnes{width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start}
main.page.deux-colonnes > .colonne-gauche{min-width:0}
.colonne-analyse{position:sticky;top:16px;border-left:2px solid var(--fg);padding:4px 0 10px 24px;font-size:.95rem}
.colonne-analyse .col-tete{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.colonne-analyse h3{margin:0 0 12px;font-family:var(--font-titre);font-size:1rem;letter-spacing:.06em;text-transform:uppercase}
.col-bloc{padding:10px 0;border-top:1px solid var(--line)}
.col-bloc .cap{display:block;margin-bottom:6px}
.col-bloc.alerte{border-top:1px solid var(--fg)}
.col-bloc.alerte b{font-family:var(--font-titre);margin-left:6px}
.col-chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 0;border-top:1px solid var(--line)}
.col-chiffres div{text-align:center}
.col-chiffres b{display:block;font-family:var(--font-titre);font-size:1.4rem;line-height:1.1}
.col-chiffres span{font-family:var(--font-serif);font-style:italic;font-size:.8rem;color:var(--muted);line-height:1.3;display:block}
ul.compact{padding-left:18px;margin:4px 0}ul.compact li{margin:3px 0}
.jauge{display:flex;align-items:center;gap:10px;margin:4px 0}
.jauge-barre{flex:1;height:10px;background:#eee;border:1px solid var(--line)}
.jauge-val{height:100%}
.jauge b{font-family:var(--font-titre);font-size:1.2rem}
.signaux-sante{list-style:none;padding:0;margin:8px 0 0}
.signaux-sante li{margin:4px 0;display:flex;gap:8px;align-items:baseline}
.sens{font-family:var(--font-titre);font-weight:700;width:14px;text-align:center}
.sens.plus{color:#2e8b57}.sens.moins{color:#c0392b}
.reseaux{display:flex;flex-wrap:wrap;gap:6px}
.reseau{font-family:var(--font-titre);font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border:1.5px solid var(--line);border-radius:var(--pilule);color:var(--muted)}
.reseau.on{border-color:var(--fg);color:var(--fg)}
.frise{list-style:none;padding:0;margin:0}
.frise li{margin:6px 0;padding-left:14px;border-left:2px solid var(--line)}
.frise .date{font-family:var(--font-titre);font-size:.7rem;letter-spacing:.08em;margin-right:8px}
.frise .genre{font-family:var(--font-serif);font-style:italic;color:var(--muted);margin-right:6px}
.etapes{padding-left:20px;margin:8px 0}
.etapes li{margin:6px 0;color:var(--muted)}
.etapes li.en-cours{color:var(--fg);font-weight:600}
.etapes li.faite{color:var(--fg)}
.etapes li.faite::after{content:" ✓";font-weight:700}
.btn-analyse{margin-right:10px}
.graph-cam{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.graph-cam .legende{display:block;list-style:none;padding:0;margin:0;font-size:.9rem}
.graph-cam .legende li{margin:4px 0;display:flex;gap:8px;align-items:center}
.legende.horiz{display:flex;list-style:none;padding:0;margin:6px 0 0;gap:16px;flex-wrap:wrap;font-size:.9rem}
.pastille-leg{display:inline-block;width:12px;height:12px;flex:none}
.demo-note{border-left:3px solid #c0392b;padding-left:10px;margin-top:14px}
/* rapport */
main.page.rapport-analyse{width:min(1180px,100%)}
.rap-tete{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start;padding-bottom:22px;border-bottom:2px solid var(--fg);margin-bottom:26px}
.rap-tete h1{margin:4px 0}
.rap-tete .ide{font-family:var(--font-serif);font-style:italic;color:var(--muted)}
.rap-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 36px;margin-bottom:30px}
.rap-grille article.large{grid-column:1 / -1}
.rap-grille h2,.rap-texte h2{font-family:var(--font-titre);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-weight:700}
.rap-texte{max-width:78ch}
.rap-texte h2{margin-top:22px}
.citations li{font-family:var(--font-serif);font-style:italic;margin:4px 0}
.rap-pied{margin-top:30px;padding-top:18px;border-top:2px solid var(--fg)}
.rap-pied table{max-width:560px;margin:10px 0}
@media (max-width:1100px){main.page.deux-colonnes{grid-template-columns:1fr}.colonne-analyse{position:static;border-left:0;border-top:2px solid var(--fg);padding:16px 0 0}.rap-tete,.rap-grille{grid-template-columns:1fr}}
.graph-cam .legende li b{white-space:nowrap}.graph-cam .legende li{align-items:baseline}
/* fiche : gabarit standard + approfondie */
.fiche-volet .bloc,.fiche .bloc,.detail .bloc{margin:14px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.bloc h4{margin:0 0 6px;font-family:var(--font-titre);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}
.bloc h4 .meta{font-family:var(--font-serif);font-style:italic;text-transform:none;letter-spacing:0;font-weight:400;font-size:.85rem;margin-left:6px}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:10px 0 0;font-size:.97rem}
dl.kv dt{font-family:var(--font-titre);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:3px}
dl.kv dd{margin:0}
.appro-barre{margin:20px 0 0;padding-top:16px;border-top:2px solid var(--fg)}
.approfondie{margin-top:10px;padding:14px 18px 6px;border:1px solid var(--fg);background:#fff}
.appro-tete{display:flex;gap:10px;align-items:baseline}
.citation{font-family:var(--font-serif);font-style:italic;color:#555}
table.tab.petite{font-size:.9rem;max-width:640px}table.tab.petite th,table.tab.petite td{padding:6px 10px}
/* barre de contexte */
.barre-societe .ctx{display:flex;gap:10px;flex-wrap:nowrap;align-items:center;flex:1;min-width:0}
.barre-societe .ctx label{display:flex;align-items:center;gap:8px;margin:0}
.barre-societe .ctx .cap{font-size:.62rem}
.barre-societe .ctx input,.barre-societe .ctx select{font:inherit;font-size:.9rem;padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--fg);width:auto}
.barre-societe .ctx input{flex:1 1 0;min-width:70px;max-width:210px}
.barre-societe .ctx select{padding-right:8px}
.barre-societe .actualiser{margin-left:auto;width:40px;height:40px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none}.barre-societe .actualiser svg{width:20px !important;height:20px !important;display:block}.barre-societe .actualiser:hover svg{transform:rotate(90deg);transition:transform .25s}
@media (max-width:900px){.barre-societe{padding:8px 16px;flex-wrap:wrap}.barre-societe .ctx{flex-wrap:wrap}}
/* simulation */
.sim-barre{height:8px;background:#eee;border:1px solid var(--line);min-width:80px;margin-bottom:3px}
.sim-barre div{height:100%}
.objections{list-style:none;padding:0;margin:0;max-width:640px}
.objections li{margin:10px 0}
ol.methode{max-width:78ch;padding-left:22px}ol.methode li{margin:8px 0}
.sim-scene canvas{width:100%;height:auto;display:block;background:#fff}
