/* V25 — interface épurée, accessible et compatible avec les thèmes Pulse. */
.fc-app .fc-cardio-card{background:var(--pulse-surface)!important;color:var(--pulse-ink)!important;border:1px solid var(--pulse-border)!important;border-radius:17px;padding:20px;margin:12px 0;box-shadow:none!important}
.fc-app .fc-cardio-card h3{color:var(--pulse-ink)!important;font-size:18px;margin:0 0 12px}
.fc-app .fc-cardio-card p{color:var(--pulse-muted)!important;line-height:1.55;margin:8px 0}
.fc-app .fc-cardio-card .v25-cardio-label{display:inline-flex;color:var(--pulse-ink);border-radius:8px;background:var(--pulse-raised);padding:5px 9px;font-size:12px}
.v25-active{padding:18px;margin:10px 0 18px;border:1px solid var(--pulse-border);background:var(--pulse-surface);border-radius:18px}
.v25-active h2{font-size:clamp(20px,4vw,27px);margin:8px 0}
.v25-active p{color:var(--pulse-muted);font-size:13px}
.v25-quick{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
.v25-quick button,.v25-quick a{padding:12px 16px;min-height:44px;text-decoration:none;border-radius:12px;font-size:13px}
.v25-program-manager{margin-top:24px;border:1px solid var(--pulse-border);border-radius:18px;background:var(--pulse-surface)}
.v25-program-manager>summary{list-style:none;padding:19px;cursor:pointer;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:space-between}
.v25-program-manager>summary::after{content:'⌄';color:var(--pulse-accent)}
.v25-program-manager[open]>summary::after{content:'⌃'}
.v25-program-inner{padding:0 15px 20px}
.v25-program-list{display:grid;gap:9px;margin:12px 0 20px}
.v25-program-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--pulse-border);border-radius:12px;background:var(--pulse-raised)}
.v25-program-item strong,.v25-program-item small{display:block;overflow-wrap:anywhere}
.v25-program-item small{color:var(--pulse-muted);font-size:11px;margin-top:4px}
.v25-item-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.fc-app .v25-item-actions button{font-size:12px;padding:8px 10px;min-height:40px}
.v25-invisible{display:none!important}
.v25-recovery-overlay{position:fixed;z-index:9999;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 16px);background:rgba(0,0,0,.7)}
.v25-recovery-overlay[hidden]{display:none!important}
.v25-recovery-dialog{width:min(540px,100%);max-height:85vh;overflow:auto;padding:22px;border-radius:18px;background:var(--pulse-surface);color:var(--pulse-ink);border:1px solid var(--pulse-border)}
.v25-recovery-dialog h2{margin:0 0 10px}
.v25-recovery-dialog p{font-size:13px;color:var(--pulse-muted)}
.v25-recovery-dialog label{display:block;margin:11px 0}
.v25-recovery-dialog select{width:100%;min-height:44px}
.v25-recovery-dialog .v25-recovery-actions{display:flex;gap:9px;flex-wrap:wrap}
.v25-account-advanced{margin-top:16px;border-top:1px solid var(--pulse-border);padding-top:14px}
.v25-account-advanced>summary{cursor:pointer;font-weight:700;margin-bottom:12px}
@media(max-width:760px){
 .fc-app .fc-sidebar{padding-top:0!important;min-height:0!important;height:0!important;overflow:hidden!important;border:0!important}
 .fc-app .fc-main{padding-top:calc(env(safe-area-inset-top,0px) + 8px)!important}
 .fc-app .fc-top{display:none!important}
 .fc-app .pulse-home-top{padding-top:4px!important}
 .fc-app .fc-nav{position:fixed!important;bottom:0;left:0;right:0;z-index:1000;background:#172018!important;padding:7px 7px calc(7px + env(safe-area-inset-bottom,0px))!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}
 .fc-app .fc-nav a{color:#dce8d6!important;opacity:1!important;text-align:center;justify-content:center;min-width:0;padding:10px 1px!important;font-size:clamp(9px,2.3vw,12px)!important}
 .fc-app .fc-nav a .fc-nav-short,.fc-app .fc-nav a svg{color:inherit!important;stroke:currentColor!important;opacity:1!important}
 .fc-app .fc-nav a[aria-current="page"]{background:#d8edc9!important;color:#233b1f!important}
 .fc-app{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
 .v25-program-item{grid-template-columns:1fr}
 .v25-item-actions{justify-content:flex-start}
}
html[data-pulse-theme="light"] .fc-app .fc-nav a{color:#e7f2df!important}
html[data-pulse-theme="light"] .fc-app .fc-nav a[aria-current="page"]{color:#244a1b!important}
@media(max-width:760px){
 .fc-app .fc-sidebar{height:0!important;min-height:0!important;overflow:visible!important;padding:0!important;border:none!important;position:relative!important}
 .fc-app .fc-brand,.fc-app .fc-sidebar-caption,.fc-app .fc-side-foot{display:none!important}
 .fc-app main.fc-main{padding-top:calc(env(safe-area-inset-top,0px) + 12px)!important;padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))!important}
 .fc-app .fc-nav a .fc-nav-short{color:inherit!important}
}
.v25-session-names{display:grid;gap:7px;margin:10px 0;color:var(--pulse-muted);font-size:13px}
.v25-session-names>div{padding:9px 12px;background:var(--pulse-raised);border:1px solid var(--pulse-border);border-radius:9px}
