body.member-app-v83{background:#f8f4fc;padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
.member-app-header-v83{position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px max(16px,env(safe-area-inset-left,16px));border-bottom:1px solid rgba(124,58,237,.14);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.member-app-brand-v83{display:flex;align-items:center;gap:10px;color:#24112f;text-decoration:none}.member-app-brand-v83 img{width:44px;height:44px;object-fit:contain}.member-app-brand-v83 span{display:grid;line-height:1.1}.member-app-brand-v83 small{color:#6a5575;font-weight:750}
.member-app-main-v83{width:min(1100px,calc(100vw - 24px));margin:0 auto;padding:18px 0 36px}.member-app-main-v83>.panel{margin:0 0 16px;padding:clamp(17px,4vw,30px);border-radius:24px}
.member-hero-v83 .grid-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.member-code-v83{overflow-wrap:anywhere;font-size:clamp(.88rem,2.8vw,1.2rem)}.member-code-actions-v83{display:flex;justify-content:center;margin-top:8px}.member-code-actions-v83 button{min-height:36px;padding:6px 12px}
.email-verification-v82{margin-top:18px;padding:16px;border:1px solid rgba(217,46,131,.2);border-radius:18px;background:#fff7fb}.email-verification-v82 .portal-actions{margin-top:10px}
.member-global-status-v83{margin:0 0 16px;padding:14px;border-radius:16px;background:#fff;border:1px solid rgba(217,46,131,.24)}
.member-bottom-nav-v83{position:fixed;left:50%;bottom:0;z-index:250;display:grid;grid-template-columns:repeat(4,1fr);width:min(720px,100%);transform:translateX(-50%);padding:8px max(8px,env(safe-area-inset-right,8px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,8px));border:1px solid rgba(124,58,237,.16);border-bottom:0;border-radius:22px 22px 0 0;background:rgba(255,255,255,.98);box-shadow:0 -12px 32px rgba(67,33,83,.12)}
.member-bottom-nav-v83 button{min-height:52px;padding:7px 6px;border:0;border-radius:14px;background:transparent;color:#604b6c;font:800 .8rem/1.15 system-ui,sans-serif;cursor:pointer}.member-bottom-nav-v83 button.active{background:#f0e7fb;color:#5b21b6}.member-bottom-nav-v83 button:focus-visible{outline:3px solid rgba(217,46,131,.28);outline-offset:1px}
.member-app-v83 .pssr-steps{display:flex;gap:9px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x mandatory;list-style:none}.member-app-v83 .pssr-steps li{flex:0 0 min(145px,42vw);scroll-snap-align:start}.member-app-v83 .pssr-step{width:100%;min-height:72px;border:1px solid rgba(124,58,237,.2);border-radius:16px;background:#fff;color:#4d315e;cursor:pointer}.member-app-v83 .pssr-step[data-active="true"]{border-color:#7c3aed;background:#5b21b6;color:#fff}.member-app-v83 .pssr-step span{display:block;margin-top:5px;font-size:.74rem;letter-spacing:.06em}.member-app-v83 .pssr-panel{display:none}.member-app-v83 .pssr-panel.active{display:block;padding:18px;border-radius:18px;background:#fff;border:1px solid rgba(124,58,237,.16)}
.member-app-footer-v83{width:min(1100px,calc(100vw - 24px));margin:14px auto 24px;padding:18px;border-radius:20px;background:#24112f;color:#fff}.member-app-footer-v83 nav{display:flex;flex-wrap:wrap;gap:10px 18px}.member-app-footer-v83 a{color:#fff;font-size:.88rem}.member-app-footer-v83 .legal-v83{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}
.member-app-v83 [hidden]{display:none!important}
html body.member-app-v83 #logout[hidden]{display:none!important;visibility:hidden!important}
@media(max-width:700px){.member-hero-v83 .grid-cards{grid-template-columns:1fr}.member-app-brand-v83 strong{font-size:.95rem}.member-app-header-v83 .btn{min-height:40px;padding:8px 12px}.member-app-v83 .portal-actions{display:grid}.member-app-v83 .portal-actions .btn{width:100%}.member-app-v83 .pssr-kv{grid-template-columns:1fr}.member-app-v83 .pssr-kv>div:nth-child(odd){padding-bottom:0}.member-app-footer-v83 nav{display:grid;grid-template-columns:1fr 1fr}}
@media(min-width:900px){body.member-app-v83{padding-bottom:100px}.member-bottom-nav-v83{bottom:18px;border-bottom:1px solid rgba(124,58,237,.16);border-radius:22px}.member-app-main-v83{padding-top:28px}}
@media print{body.printing-passport-v83 *{visibility:hidden!important}body.printing-passport-v83 #passport,body.printing-passport-v83 #passport *{visibility:visible!important}body.printing-passport-v83 #passport{position:absolute;inset:0;width:100%;margin:0;padding:24px;background:#fff;color:#000;box-shadow:none}body.printing-passport-v83{background:#fff;padding:0}}


/* Correctifs v85 : isoler l'espace membre des règles générales du site. */
html body.member-app-v83{display:block!important;min-height:100vh!important}
html body.member-app-v83 .member-app-main-v83{min-height:0!important;padding:18px 0 8px!important}
html body.member-app-v83 .member-app-main-v83>section.panel{min-height:0!important;margin:0 0 16px!important;padding:clamp(17px,4vw,30px)!important}
html body.member-app-v83 .member-app-main-v83>section[hidden],
html body.member-app-v83 #copy-member-code[hidden],
html body.member-app-v83 #member-profile-alert[hidden]{display:none!important}
html body.member-app-v83 .member-app-footer-v83{clear:both;margin:0 auto 18px!important}
html body.member-app-v83 #member-content + footer.member-app-footer-v83 a,
html body.member-app-v83 #member-content + footer.member-app-footer-v83 a:visited{color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration-color:rgba(255,255,255,.55)!important}
html body.member-app-v83 #member-content + footer.member-app-footer-v83 a:hover,
html body.member-app-v83 #member-content + footer.member-app-footer-v83 a:focus-visible{color:#ffd9eb!important;-webkit-text-fill-color:#ffd9eb!important}
.member-profile-alert-v85{margin:16px 0 0;padding:14px 16px;border:1px solid #ead5a3;border-radius:16px;background:#fffaf0;color:#493515}
.member-profile-alert-v85 p{margin:6px 0 0;color:#685330}
@media(max-width:700px){
 html body.member-app-v83 .member-app-main-v83{width:min(100% - 20px,1100px);padding-top:10px!important}
 html body.member-app-v83 .member-app-main-v83>section.panel{border-radius:18px!important;padding:18px 14px!important}
 html body.member-app-v83 .member-app-footer-v83{width:calc(100% - 20px);padding:16px!important;border-radius:18px}
 html body.member-app-v83 .member-app-footer-v83 nav{grid-template-columns:1fr!important;gap:12px!important}
}

/* V105 — demande de remboursement privée et adaptée à tous les écrans */
html body.member-app-v83 #refund-panel{width:100%!important;max-width:1100px!important;min-width:0!important;overflow:hidden!important}
html body.member-app-v83 #refund-panel h2{font-size:clamp(1.7rem,4vw,2.7rem)!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #refund-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important;min-width:0!important;margin-top:20px!important}
html body.member-app-v83 #refund-form>*{min-width:0!important;max-width:100%!important}
html body.member-app-v83 #refund-form .full{grid-column:1/-1!important}
html body.member-app-v83 #refund-form input,
html body.member-app-v83 #refund-form select,
html body.member-app-v83 #refund-form textarea{width:100%!important;max-width:100%!important;min-width:0!important}
html body.member-app-v83 #refund-form input[type="checkbox"]{width:22px!important;min-width:22px!important;height:22px;margin:2px 0 0}
.refund-file-v105 small{display:block;margin-top:7px;color:#6a5575;line-height:1.45}
.refund-toggle-v105{display:flex;margin:20px auto 0;max-width:100%;white-space:normal}
.refund-policy-v105{margin-top:16px;padding:clamp(15px,3vw,22px);border:1px solid rgba(124,58,237,.18);border-radius:18px;background:#faf7ff}
.refund-policy-v105 h3{margin-top:0}.refund-policy-v105 p{margin-bottom:0;color:#604b6c;line-height:1.5}
.refund-policy-grid-v105{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 14px}
.refund-policy-grid-v105 span{display:flex;justify-content:space-between;gap:8px;padding:9px 11px;border-radius:12px;background:#fff;border:1px solid rgba(124,58,237,.12);font-size:.88rem}
.refund-estimate-v105{padding:14px;border-radius:14px;background:#f2eaff;color:#4c1d95;font-weight:800;line-height:1.5}
.refund-declaration-v105{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;gap:10px!important;padding:14px!important;border:1px solid rgba(124,58,237,.2);border-radius:16px;background:#faf7ff}
.refund-privacy-v105{margin:0!important;padding:12px 14px;border-left:3px solid #7c3aed;background:#faf7ff;color:#604b6c;font-size:.9rem;line-height:1.5}
.refund-list-v105{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;margin-top:14px!important}
.refund-list-v105 .record{min-width:0!important;overflow:hidden!important;border:1px solid rgba(124,58,237,.16);border-radius:18px;background:#fff;padding:18px!important}
.refund-list-v105 .record dl{display:grid!important;grid-template-columns:minmax(145px,.34fr) minmax(0,1fr)!important;margin:0!important}
.refund-list-v105 .record dt,.refund-list-v105 .record dd{min-width:0!important;margin:0!important;padding:9px!important;overflow-wrap:anywhere!important}
@media(max-width:700px){
 html body.member-app-v83 #refund-form{grid-template-columns:1fr!important}
 html body.member-app-v83 #refund-form .full{grid-column:1!important}
 html body.member-app-v83 #refund-form .btn{width:100%!important}
 .refund-list-v105 .record dl{grid-template-columns:1fr!important}
 .refund-list-v105 .record dt{padding-bottom:2px!important;font-weight:850!important}
 .refund-list-v105 .record dd{padding-top:2px!important}
 .refund-policy-grid-v105{grid-template-columns:1fr!important}
}


/* V88 — connexion membre compacte, sans débordement */
html body.member-app-v83 main.member-app-main-v83 #login-panel{width:100%!important;max-width:720px!important;margin-left:auto!important;margin-right:auto!important;text-align:center}
html body.member-app-v83 #login-panel #login-form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:15px!important;width:100%!important;max-width:540px!important;margin:22px auto 0!important;text-align:left}
html body.member-app-v83 #login-form>*{grid-column:1!important;min-width:0!important;max-width:100%!important}
html body.member-app-v83 #login-form label,
html body.member-app-v83 #login-form input,
html body.member-app-v83 #login-form .btn{width:100%!important}
html body.member-app-v83 #login-form .password-control-v82{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;width:100%!important;min-width:0!important;overflow:hidden;border-radius:18px}
html body.member-app-v83 #login-form .password-control-v82 input{min-width:0!important}
html body.member-app-v83 #login-form .password-toggle-v82{position:static!important;width:auto!important;min-width:88px!important;white-space:nowrap}
html body.member-app-v83 #login-form .auth-secondary-link{margin:0!important;text-align:center!important}
html body.member-app-v83 #login-panel>.notice{max-width:540px;margin:16px auto 0!important;text-align:center}
@media(max-width:620px){
 html body.member-app-v83 main.member-app-main-v83 #login-panel{padding:22px 14px!important}
 html body.member-app-v83 #login-panel h1{font-size:clamp(2rem,11vw,3rem)!important}
 html body.member-app-v83 #login-form .password-toggle-v82{min-width:76px!important;padding-inline:10px!important;font-size:.88rem}
}


/* V89 — tableau membre connecté contenu dans son écran */
html body.member-app-v83 #dashboard{width:100%!important;max-width:1100px!important;min-width:0!important;overflow:hidden!important}
html body.member-app-v83 #dashboard h1{max-width:100%!important;margin-bottom:22px!important;font-size:clamp(2rem,5vw,4rem)!important;line-height:1.02!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #dashboard .grid-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:visible!important}
html body.member-app-v83 #dashboard .metric{position:static!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;min-width:0!important;max-width:none!important;min-height:132px!important;margin:0!important;padding:18px 12px!important;transform:none!important;overflow:hidden!important;text-align:center!important}
html body.member-app-v83 #dashboard .metric span,
html body.member-app-v83 #dashboard .metric strong{display:block!important;position:static!important;max-width:100%!important;margin:0!important;transform:none!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #dashboard .metric span{font-size:.95rem!important;line-height:1.25!important}
html body.member-app-v83 #dashboard .metric strong{font-size:clamp(1.2rem,3vw,1.7rem)!important;line-height:1.1!important}
html body.member-app-v83 #dashboard>.portal-actions{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:10px!important}
html body.member-app-v83 #dashboard .email-verification-v82{max-width:100%!important;overflow:hidden!important}
@media(min-width:900px){
 html body.member-app-v83 .member-bottom-nav-v83{width:min(620px,calc(100vw - 40px))!important}
}
@media(max-width:760px){
 html body.member-app-v83 #dashboard h1{text-align:center!important;font-size:clamp(1.9rem,10vw,2.8rem)!important}
 html body.member-app-v83 #dashboard .grid-cards{grid-template-columns:1fr!important}
 html body.member-app-v83 #dashboard .metric{min-height:96px!important}
 html body.member-app-v83 #dashboard>.portal-actions{display:grid!important}
 html body.member-app-v83 #dashboard>.portal-actions .btn{width:100%!important}
}


/* V91 — demandes et modules membre sans débordement */
html body.member-app-v83 #my-reservations,
html body.member-app-v83 #slots{width:100%!important;max-width:1100px!important;min-width:0!important;overflow:hidden!important}
html body.member-app-v83 #my-reservations h2,
html body.member-app-v83 #slots h2{max-width:100%!important;font-size:clamp(1.7rem,4vw,2.7rem)!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #reservation-list.records{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
html body.member-app-v83 #reservation-list .record{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:clamp(16px,3vw,22px)!important;overflow:hidden!important;border:1px solid rgba(124,58,237,.16);border-radius:18px;background:#fff}
html body.member-app-v83 #reservation-list .record h3{max-width:100%!important;font-size:clamp(1.2rem,3vw,1.65rem)!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #reservation-list .record dl{display:grid!important;grid-template-columns:minmax(145px,.34fr) minmax(0,1fr)!important;gap:0!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
html body.member-app-v83 #reservation-list .record dt,
html body.member-app-v83 #reservation-list .record dd{min-width:0!important;max-width:100%!important;margin:0!important;padding:10px!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #reservation-list .record code{white-space:normal!important;word-break:break-all!important}
html body.member-app-v83 #slot-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
html body.member-app-v83 #slot-list .slot-card{display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:auto!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:18px!important;overflow:hidden!important;border:1px solid rgba(124,58,237,.16);border-radius:18px;background:#fff}
html body.member-app-v83 #slot-list .slot-card h3,
html body.member-app-v83 #slot-list .slot-card p{max-width:100%!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #slot-list .slot-card .btn{max-width:100%!important;margin-top:auto!important;white-space:normal!important;text-align:center!important}
@media(max-width:700px){
 html body.member-app-v83 #reservation-list .record dl{grid-template-columns:1fr!important}
 html body.member-app-v83 #reservation-list .record dt{padding-bottom:2px!important}
 html body.member-app-v83 #reservation-list .record dd{padding-top:2px!important}
 html body.member-app-v83 #slot-list{grid-template-columns:1fr!important}
 html body.member-app-v83 #slot-list .slot-card .btn{width:100%!important}
}


/* V92 — parcours, dossier personnel, passeport et RGPD */
html body.member-app-v83 #journey-panel,
html body.member-app-v83 #participant-panel,
html body.member-app-v83 #passport-panel,
html body.member-app-v83 #gdpr-panel{width:100%!important;max-width:1100px!important;min-width:0!important;overflow:hidden!important}
html body.member-app-v83 #journey-panel h2,
html body.member-app-v83 #participant-panel h2,
html body.member-app-v83 #passport-panel h2,
html body.member-app-v83 #gdpr-panel h2{max-width:100%!important;font-size:clamp(1.7rem,4vw,2.7rem)!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #journey-steps.pssr-steps{display:flex!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:18px 0!important;padding:4px 2px 12px!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain;scrollbar-width:thin}
html body.member-app-v83 #journey-steps.pssr-steps li{flex:0 0 min(150px,42vw)!important;min-width:0!important;margin:0!important}
html body.member-app-v83 #journey-steps .pssr-step{width:100%!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #journey-panels,
html body.member-app-v83 #journey-panels .pssr-panel{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
html body.member-app-v83 #journey-panels .pssr-panel h3,
html body.member-app-v83 #journey-panels .pssr-panel p{max-width:100%!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #journey-panels .tag-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important;max-width:100%!important}
html body.member-app-v83 #participant-panel .participant-card,
html body.member-app-v83 #participant-kv{width:100%!important;max-width:100%!important;min-width:0!important}
html body.member-app-v83 #participant-kv.pssr-kv{display:grid!important;grid-template-columns:minmax(170px,.35fr) minmax(0,1fr)!important;margin:0!important;padding:0!important;overflow:hidden!important}
html body.member-app-v83 #participant-kv.pssr-kv>div{min-width:0!important;max-width:100%!important;padding:11px 12px!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #passport{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:clamp(18px,4vw,28px)!important;overflow:hidden!important}
html body.member-app-v83 #passport p,
html body.member-app-v83 #passport span,
html body.member-app-v83 #passport strong{max-width:100%!important;overflow-wrap:anywhere!important}
html body.member-app-v83 #passport .badge-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important;max-width:100%!important}
html body.member-app-v83 #gdpr-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;width:100%!important;max-width:100%!important;min-width:0!important}
html body.member-app-v83 #gdpr-form>*{min-width:0!important;max-width:100%!important}
html body.member-app-v83 #gdpr-form .full{grid-column:1/-1!important}
html body.member-app-v83 #gdpr-form select,
html body.member-app-v83 #gdpr-form textarea{width:100%!important;max-width:100%!important;min-width:0!important}
@media(max-width:700px){
 html body.member-app-v83 #participant-kv.pssr-kv,
 html body.member-app-v83 #gdpr-form{grid-template-columns:1fr!important}
 html body.member-app-v83 #participant-kv.pssr-kv>div{grid-column:1!important}
 html body.member-app-v83 #participant-kv.pssr-kv>div:nth-child(odd){padding-bottom:3px!important;font-weight:850!important}
 html body.member-app-v83 #participant-kv.pssr-kv>div:nth-child(even){padding-top:3px!important}
 html body.member-app-v83 #gdpr-form .full{grid-column:1!important}
 html body.member-app-v83 #passport-panel>.portal-actions{display:grid!important}
 html body.member-app-v83 #passport-panel>.portal-actions .btn,
 html body.member-app-v83 #gdpr-form .btn{width:100%!important}
}


/* V95 — accès équipe visible et contenu sur tous les écrans */
.member-header-actions-v95{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.member-header-actions-v95 .btn{min-height:40px;padding:8px 14px;white-space:nowrap;text-decoration:none}
@media(max-width:560px){
 .member-app-header-v83{align-items:center;gap:8px}
 .member-app-brand-v83 span{display:none}
 .member-header-actions-v95{gap:6px}
 .member-header-actions-v95 .btn{min-height:38px;padding:7px 10px;font-size:.82rem}
}


/* V98 — rythme et espacement des actions membre */
html body.member-app-v83 #dashboard .grid-cards{gap:16px!important;margin-bottom:0!important}
html body.member-app-v83 #dashboard>.portal-actions{gap:14px!important;margin:22px 0 24px!important;padding:0 4px!important}
html body.member-app-v83 #dashboard .email-verification-v82{margin-top:0!important;padding:clamp(18px,3vw,24px)!important}
html body.member-app-v83 #dashboard .email-verification-v82 .portal-actions{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;margin:18px 0 0!important}
html body.member-app-v83 #passport-panel>.portal-actions{gap:12px!important;margin-top:20px!important}
html body.member-app-v83 #gdpr-form{row-gap:18px!important;column-gap:14px!important}
html body.member-app-v83 .member-bottom-nav-v83{gap:8px!important;padding-top:10px!important}
@media(max-width:700px){
 html body.member-app-v83 #dashboard>.portal-actions{display:grid!important;gap:12px!important;margin:20px 0 22px!important;padding:0!important}
 html body.member-app-v83 #dashboard .email-verification-v82 .portal-actions{display:grid!important;gap:10px!important}
 html body.member-app-v83 #dashboard .email-verification-v82 .portal-actions .btn{width:100%!important}
 html body.member-app-v83 .member-bottom-nav-v83{gap:5px!important;padding-inline:7px!important}
}
