/* Statistiques partagées : surfaces neutres, couleurs des séries BizNC. */
.institution-stats,.institution-method { --is-ink:var(--text-primary,var(--ink)); --is-muted:var(--text-secondary,var(--muted)); --is-line:var(--border-subtle,var(--hair)); --is-surface:var(--bg-elevated,var(--card)); --is-accent:#9085e9; color:var(--is-ink); }
.institution-stats[data-institution-theme="actes-legaux"] { --is-accent:var(--obs-c-procedures,#d55181); }
.institution-stats[data-institution-theme="reseaux-sociaux"] { --is-accent:var(--obs-c-offres,#3987e5); }
:root[data-theme="light"] .institution-stats[data-institution-theme="agenda"] { --is-accent:#7663cd; }
.institution-context,.institution-note { font-size:.78rem; line-height:1.6; color:var(--is-muted); margin:8px 0 18px; }
.institution-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.institution-card { min-width:0; border:1px solid var(--is-line); border-radius:var(--radius,10px); padding:20px; background:var(--is-surface); }
.institution-card h2 { font-size:1rem; font-weight:600; line-height:1.45; letter-spacing:-.015em; margin:0 0 6px; color:var(--is-ink); }
.institution-card .institution-description { font-size:.78rem; line-height:1.6; color:var(--is-muted); margin:0; }
.institution-card figure { margin:22px 0 0; }
.institution-card figcaption { font-size:.7rem; line-height:1.6; color:var(--is-muted); margin-top:14px; }
.institution-values { list-style:none; padding:0; margin:0; }
.institution-values strong { color:var(--is-ink); font-size:.86rem; font-weight:600; font-variant-numeric:tabular-nums; }
.institution-label { font-size:.8rem; line-height:1.5; overflow-wrap:anywhere; }
.institution-bars { display:grid; gap:14px; }
.institution-bars li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 14px; align-items:center; }
.institution-bars strong { text-align:right; }
.institution-track { grid-column:1/-1; display:block; height:5px; border-radius:3px; background:var(--is-line); }
.institution-track i { display:block; height:100%; background:var(--row-color,var(--is-accent)); border-radius:3px; }
.institution-bars.is-dots { gap:17px; }
.institution-bars.is-dots .institution-track { height:2px; }
.institution-bars.is-dots .institution-track i { position:relative; }
.institution-bars.is-dots .institution-track i::after { content:''; position:absolute; right:0; top:50%; transform:translate(50%,-50%); width:8px; height:8px; border-radius:50%; background:var(--row-color,var(--is-accent)); box-shadow:0 0 0 3px var(--is-surface); }
.institution-more { margin-top:18px; font-size:.76rem; color:var(--is-muted); border:0; background:transparent; }
.institution-more>summary { cursor:pointer; padding:3px 0; background:transparent; color:var(--is-muted); }
.institution-more[open]>.institution-values { margin-top:18px; }
.institution-columns { display:flex; gap:8px; height:180px; padding-top:24px; border-bottom:1px solid var(--is-line); }
.institution-columns li { flex:1; min-width:0; height:100%; position:relative; cursor:default; }
.institution-column { position:absolute; bottom:0; width:100%; height:var(--height); }
.institution-column i { display:block; height:100%; border-radius:4px 4px 0 0; background:var(--is-accent); opacity:.8; transition:opacity .15s ease; }
.institution-column strong { position:absolute; bottom:calc(100% + 7px); left:50%; transform:translateX(-50%); font-size:.7rem; }
.institution-columns .institution-label { display:none; position:absolute; bottom:calc(var(--height) + 28px); left:50%; transform:translateX(-50%); width:max-content; max-width:180px; border:1px solid var(--is-line); border-radius:6px; background:var(--is-surface); color:var(--is-ink); padding:6px 9px; z-index:2; font-size:.72rem; }
.institution-columns li:first-child .institution-label { left:0; transform:none; }
.institution-columns li:last-child .institution-label { left:auto; right:0; transform:none; }
.institution-columns li:is(:hover,:focus) .institution-label { display:block; }
.institution-columns li:is(:hover,:focus) i { opacity:1; }
.institution-columns li:focus-visible { outline:2px solid var(--is-accent); outline-offset:3px; border-radius:3px; }
.institution-axis { display:flex; justify-content:space-between; gap:12px; color:var(--is-muted); font-size:.67rem; margin:9px 0 0; }
.institution-axis span:last-child { text-align:right; }
.institution-calendar { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.institution-calendar li { display:flex; flex-direction:column; align-items:center; gap:6px; min-width:0; padding:12px 4px; border-radius:8px; background:color-mix(in srgb,var(--is-accent) calc(var(--intensity)*100%),transparent); }
.institution-calendar .institution-label { font-size:.7rem; white-space:nowrap; }
.institution-calendar strong { font-size:1.15rem; font-weight:600; }
.institution-calendar-dots { display:flex; gap:2px; height:3px; }
.institution-calendar-dots i { width:3px; height:3px; border-radius:50%; background:var(--is-accent); }
.institution-distribution { display:grid; grid-template-columns:124px minmax(0,1fr); align-items:center; gap:20px; }
.institution-ring { position:relative; }
.institution-ring svg { display:block; width:100%; }
.institution-ring circle { fill:none; stroke-width:11; transform:rotate(-90deg); transform-origin:50% 50%; }
.institution-ring-base { stroke:var(--is-line); }
.institution-ring p { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; margin:0; gap:3px; }
.institution-ring b { font-size:1.65rem; letter-spacing:-.04em; font-weight:600; color:var(--is-ink); font-variant-numeric:tabular-nums; }
.institution-ring p span { font-size:.62rem; color:var(--is-muted); }
.institution-ring-key { display:grid; gap:11px; }
.institution-ring-key li { display:grid; grid-template-columns:6px minmax(0,1fr) auto; align-items:center; gap:8px; }
.institution-ring-key i { height:6px; width:6px; border-radius:50%; background:var(--row-color); }
.institution-ring-key .institution-label { font-size:.75rem; }
.institution-line svg { display:block; width:100%; overflow:visible; }
.institution-guide { fill:none; stroke:var(--is-line); stroke-dasharray:3 5; }
.institution-area { fill:var(--is-accent); fill-opacity:.12; }
.institution-stroke { fill:none; stroke:var(--is-accent); stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round; }
.institution-line circle { fill:var(--is-accent); stroke:var(--is-surface); stroke-width:2; }
.institution-line text { fill:var(--is-muted); font-size:9px; }
.institution-line-values { display:grid; grid-template-columns:repeat(auto-fit,minmax(80px,1fr)); gap:12px; margin:6px 0 0; }
.institution-line-values li { display:flex; flex-direction:column; gap:3px; }
.institution-line-values .institution-label { font-size:.65rem; color:var(--is-muted); }
.institution-link { display:inline-block; margin:20px 0; color:inherit; text-underline-offset:4px; }
.institution-links { display:flex; flex-wrap:wrap; gap:12px 20px; }
.institution-method { margin-top:24px; }
.institution-method summary { cursor:pointer; font-weight:600; color:var(--is-ink); background:var(--bg-surface,var(--card)); }
.institution-method dl { font-size:.85rem; line-height:1.6; }
.institution-method dt { font-weight:600; margin-top:16px; }
.institution-method dd { margin:4px 0; color:var(--is-muted); }
.institution-details { margin-top:16px; padding-top:10px; border:0; border-top:1px solid var(--is-line); border-radius:0; background:transparent; color:var(--is-muted); font-size:.75rem; line-height:1.65; }
.institution-details>summary { padding:0; cursor:pointer; color:var(--is-muted); background:transparent; font-weight:400; }
.institution-details p { font-size:inherit; }
.institution-coverage { margin-top:20px; border:0; padding:0; }
:is(.institution-details,.institution-more)>summary:focus-visible { outline:2px solid var(--is-accent); outline-offset:4px; border-radius:3px; }
@media(max-width:700px) { .institution-grid { grid-template-columns:1fr; } .institution-card { padding:18px 16px; } }
@media(max-width:420px) { .institution-distribution { grid-template-columns:104px minmax(0,1fr); gap:14px; } .institution-calendar { gap:6px; } .institution-calendar li { padding:10px 2px; } .institution-calendar .institution-label { font-size:.64rem; } .institution-columns { gap:6px; } }
@media(prefers-reduced-motion:reduce) { .institution-column i { transition:none; } }
