/* Synthèses communes : intitulé d’abord, valeur secondaire, mêmes états métier. */
.cem-metrics.cem-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 16px; margin: 0 0 24px; padding: 0; border: 0; background: transparent; }
.cem-metrics .cem-metric { --cem-accent: var(--mch-accent,#3E5563); --cem-tint: #EFF3F5; position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; margin: 0; padding: 21px 20px; border: 1px solid #DDE4DF; border-left: 4px solid var(--cem-accent); border-radius: 10px; background: #FFFFFF; color: #172923; box-shadow: none; text-decoration: none; }
.cem-metrics .cem-metric.ok { --cem-accent: #176345; --cem-tint: #E9F5EF; }
.cem-metrics .cem-metric.w { --cem-accent: #8A5A09; --cem-tint: #FFF5E1; }
.cem-metrics .cem-metric.r { --cem-accent: #AE3A30; --cem-tint: #FFF0EB; }
.cem-metrics .cem-metric.on { background: var(--cem-tint); border-color: var(--cem-accent); box-shadow: inset 0 0 0 1px var(--cem-accent); }
.cem-metrics a.cem-metric:hover { background: var(--cem-tint); border-color: var(--cem-accent); text-decoration: none; }
.cem-metrics a.cem-metric:focus-visible { outline: 3px solid #00543E; outline-offset: 4px; }
.cem-metrics .cem-metric.has-icon { padding-left: 78px; }
.cem-metrics .cem-metric .cem-metric-icon { position: absolute; top: 21px; left: 18px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--cem-tint); color: var(--cem-accent); font-size: 21px; }
.cem-metrics .cem-metric .cem-metric-body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; }
.cem-metrics .cem-metric .cem-metric-title { display: block; margin: 0; font-family: inherit; font-size: 21px; font-weight: 700; line-height: 1.25; color: #172923; overflow-wrap: anywhere; text-transform: none; letter-spacing: normal; }
.cem-metrics .cem-metric .cem-metric-value { display: inline-block; margin: 0; padding: 4px 9px; border-radius: 5px; background: var(--cem-tint); color: #253E32; font-family: inherit; font-size: 16px; font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cem-metrics .cem-metric .cem-metric-note { display: block; margin: 0; font-size: 13px; line-height: 1.5; font-weight: 400; color: #53685D; overflow-wrap: anywhere; }
.cem-metrics .cem-metric .cem-metric-note:empty { display: none; }
.cem-metrics .cem-metric .mcv2-pay-bar { width: 100%; margin: 0; }
.cem-summary-title.cem-summary-title { display: block; margin-bottom: 10px; font-size: 21px; font-weight: 700; line-height: 1.25; color: #172923; }
.cem-summary-value.cem-summary-value { display: inline-block; padding: 4px 9px; border-radius: 5px; background: #EDF5F0; color: #253E32; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
@media(max-width:600px) { .cem-metrics.cem-metrics { grid-template-columns: minmax(0,1fr); gap: 12px; } .cem-metrics .cem-metric { padding: 18px 16px; } .cem-metrics .cem-metric.has-icon { padding-left: 74px; } .cem-metrics .cem-metric .cem-metric-icon { top: 18px; left: 16px; } .cem-metrics .cem-metric .cem-metric-title { font-size: 20px; } }

/* Fonction = couleur stable. Un état reste nommé et indépendant de la fonction. */
.mc-heritage [data-feature="fiches"] { --mch-accent: #276493; --cem-accent: #276493; --cem-tint: #edf4fa; --mai-tint: #edf4fa; }
.mc-heritage [data-feature="adherents"] { --mch-accent: #276493; --cem-accent: #276493; --cem-tint: #edf4fa; --mai-tint: #edf4fa; }
.mc-heritage [data-feature="demandes"] { --mch-accent: #276493; --cem-accent: #276493; --cem-tint: #edf4fa; --mai-tint: #edf4fa; }
.mc-heritage [data-feature="cotisations"] { --mch-accent: #176345; --cem-accent: #176345; --cem-tint: #eaf4ed; --mai-tint: #eaf4ed; }
.mc-heritage [data-feature="planning"] { --mch-accent: #694B92; --cem-accent: #694B92; --cem-tint: #f3eff8; --mai-tint: #f3eff8; }
.mc-heritage [data-feature="seances"] { --mch-accent: #3E5563; --cem-accent: #3E5563; --cem-tint: #eff3f5; --mai-tint: #eff3f5; }
.mc-heritage [data-feature="evenements"] { --mch-accent: #8A1C3C; --cem-accent: #8A1C3C; --cem-tint: #faeef2; --mai-tint: #faeef2; }
.mc-heritage [data-feature="messagerie"] { --mch-accent: #246F80; --cem-accent: #246F80; --cem-tint: #edf6f7; --mai-tint: #edf6f7; }
.mc-heritage [data-feature="documents"] { --mch-accent: #68533B; --cem-accent: #68533B; --cem-tint: #f5f1ea; --mai-tint: #f5f1ea; }
.mc-heritage [data-feature="infrastructures"] { --mch-accent: #3E5563; --cem-accent: #3E5563; --cem-tint: #eff3f5; --mai-tint: #eff3f5; }
.mc-heritage [data-feature="reservation"] { --mch-accent: #0F7566; --cem-accent: #0F7566; --cem-tint: #eaf5f2; --mai-tint: #eaf5f2; }
.mc-heritage [data-feature="annonces"] { --mch-accent: #98511F; --cem-accent: #98511F; --cem-tint: #faf0e7; --mai-tint: #faf0e7; }
.mc-heritage [data-feature="reclamations"] { --mch-accent: #A64E27; --cem-accent: #A64E27; --cem-tint: #fcf0e9; --mai-tint: #fcf0e9; }
.mc-heritage [data-feature="subventions"] { --mch-accent: #8C6000; --cem-accent: #8C6000; --cem-tint: #fbf4e5; --mai-tint: #fbf4e5; }
.mc-heritage [data-feature="agents"] { --mch-accent: #744F94; --cem-accent: #744F94; --cem-tint: #f4eff8; --mai-tint: #f4eff8; }
.mc-heritage [data-feature="assistance"] { --mch-accent: #A64210; --cem-accent: #A64210; --cem-tint: #fff1e9; --mai-tint: #fff1e9; }

[data-feature] .cem-feature-icon { color:var(--cem-accent); background:var(--cem-tint); }
.cem-metrics a.cem-metric { padding-bottom:36px; }
.cem-metrics a.cem-metric::after { content:'→'; position:absolute; right:16px; bottom:10px; color:var(--cem-accent); font-size:21px; }
.cem-skip { position:fixed; top:8px; left:8px; z-index:99999; transform:translateY(-160%); padding:12px 20px; background:#fff; color:#00503C; border:2px solid #00503C; }
.cem-skip:focus { transform:none; }
.mcv2-flash { position:relative; padding-right:54px; }
.cem-dismiss { position:absolute; right:5px; top:3px; min-height:44px; min-width:44px; border:0; background:transparent; color:inherit; font-size:24px; }
.cem-sidebar-close { display:none; }
@media(max-width:767px){
  .mcv2-topbar { gap:8px; padding:10px 12px; }
  .mcv2-topbar-left { min-width:0; flex:1; gap:8px; }
  .mcv2-clubsw { min-width:0; }
  .mcv2-clubsw-btn { min-width:0; max-width:100%; gap:6px; }
  .mcv2-clubsw-btn .tt { display:block!important; min-width:0; max-width:calc(100vw - 206px); }
  .mcv2-clubsw-btn .tt b { white-space:normal; overflow-wrap:anywhere; font-size:13px; line-height:1.2; }
  .mcv2-clubsw-btn .tt small { font-size:11px; }
  .mcv2-clubsw-btn .ini { display:none; }
  .mcv2-user { flex-shrink:0; }
  .cem-sidebar-close { display:block; margin:8px 12px 0 auto; min-height:44px; padding:8px 14px; border:1px solid #abc7bd; color:#fff; background:transparent; border-radius:6px; }
  .mcv2-sidebar-open { overflow:hidden; }
}
@media(prefers-reduced-motion:reduce){ html {scroll-behavior:auto!important;} .mc-reveal,.mcv2-sidebar {transition:none!important;animation:none!important;} }

.cem-mairie-nom { font-weight:600; line-height:1.25; min-width:0; overflow-wrap:anywhere; }
.mc-heritage .btn-mc-eve {background:#8A1C3C!important;border-color:#8A1C3C!important;color:#fff!important;}
.mc-heritage .mcv2-mai-stat[data-feature="evenements"] .icon {color:#8A1C3C;}
@media(max-width:600px){.mcv2-content .fc-toolbar {display:flex;flex-wrap:wrap;gap:8px;}.mcv2-content .fc-toolbar>div {float:none;margin:0;}.mcv2-content .fc-toolbar .fc-center{width:100%;order:-1;}.mcv2-content .fc-toolbar h2 {font-size:20px;} .mcv2-content .fc-button {padding:0 7px;} .mcv2-content .fc-view-container{overflow-x:auto;} }

@media(max-width:600px){.mc-heritage .bil-grid{grid-template-columns:minmax(0,1fr);}.mc-heritage .bil-grid>.mcv2-card{min-width:0;}}
