/* V0.47.1.6 — Espace membres : retours par ancres sans animation.
   Remplace le scroll fluide du site public (styles.css) uniquement
   lorsque cette feuille propre à l'espace membres est chargée. */
html { scroll-behavior: auto; }

/* Espace membres — Les Didascalies */
.members-body { background:#f6f2e9; }
.members-main { min-height:65vh; }
/* V0.47.1.12 — Même logo, hauteur et grille d’en-tête que le site public.
   Action (Retour au site / Déconnexion) en haut, navigation en bas. */
.members-site-link { display:none; }
.members-header .members-nav { gap:16px; }
.member-admin-link { color:var(--coral); }
.members-hero { padding:54px 0 48px; background:linear-gradient(125deg,var(--deep-teal),#1d7d82); color:white; overflow:hidden; position:relative; }
.members-hero::after { content:'🎭'; position:absolute; right:7vw; top:-10px; font-size:12rem; opacity:.08; transform:rotate(7deg); }
.members-hero .kicker,.members-page-hero .kicker { color:var(--yellow); }
.members-hero h1,.members-page-hero h1 { font-size:clamp(2.8rem,7vw,5.8rem); }
.members-page-hero { padding:44px 0 38px; background:var(--deep-teal); color:white; }
.member-panel { background:white; border:1px solid var(--line); border-radius:22px; padding:28px; box-shadow:0 12px 30px rgba(15,23,32,.06); }
.members-narrow { width:min(760px,calc(100% - 40px)); }
.members-dashboard-grid { display:grid; grid-template-columns:1.55fr .75fr; gap:20px; align-items:start; }
.members-section-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:18px; }
.members-section-head h2 { font-size:clamp(2rem,4vw,3.2rem); }
.members-event-list { display:grid; gap:12px; }
.members-event-row { display:grid; grid-template-columns:62px 1fr auto; gap:16px; align-items:center; padding:14px 0; border-top:1px solid #eee8de; }
.members-event-row:first-child { border-top:0; }
.members-event-date { width:56px; height:60px; border-radius:14px; display:grid; place-content:center; text-align:center; background:var(--cream); }
.members-event-date strong { display:block; font-size:1.5rem; line-height:1; }
.members-event-date span { font-size:.75rem; font-weight:800; color:var(--muted); }
.members-event-copy h3 { margin:6px 0 4px; }
.members-event-copy p,.members-event-copy small { margin:0; color:var(--muted); }
.availability-pill { border-radius:999px; padding:8px 10px; font-size:.76rem; font-weight:900; white-space:nowrap; }
.availability-pill.available { color:#166534; background:#ecfdf3; }
.availability-pill.unavailable { color:#991b1b; background:#fff0f0; }
.availability-pill.maybe { color:#8a6100; background:#fff8db; }
.availability-pill.unknown { color:#5f6670; background:#f1f2f4; }
.members-project-panel h2 { font-size:2.6rem; }
.members-project-list { display:grid; gap:8px; }
.members-project-list a { display:flex; gap:12px; align-items:center; padding:12px 0; border-top:1px solid #eee8de; }
.member-project-status { width:11px; height:42px; border-radius:99px; background:var(--yellow); }
.member-project-status.active { background:var(--teal); }
.members-project-list strong,.members-project-list small { display:block; }
.members-project-list small { color:var(--muted); }
.members-flash { margin-top:16px; padding:13px 16px; border-radius:12px; font-weight:700; }
.members-flash.success { background:#eaf8ef; color:#245b42; border:1px solid #bfe0ca; }
.members-flash.error { background:#fff0ee; color:#7f2a26; border:1px solid #edc5bf; }
.members-flash.info { background:#eef6f8; color:#285a65; border:1px solid #c6dfe5; }
.members-form { display:grid; gap:16px; }
.members-form fieldset { border:1px solid var(--line); border-radius:14px; padding:18px; display:grid; gap:14px; }
.members-form legend { padding:0 8px; font-weight:900; text-transform:uppercase; }
.members-form label { display:block; }
.members-form small,.members-help { display:block; margin-top:6px; color:var(--muted); font-size:.82rem; }
.members-form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.members-form-error { padding:13px 15px; margin:0 0 16px; background:#fff0ee; color:#7f2a26; border:1px solid #edc5bf; border-radius:12px; font-weight:700; }
.members-login-main { padding:54px 0; }
.members-login-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; align-items:stretch; max-width:1000px; }
.members-login-panel h1 { font-size:clamp(2.8rem,6vw,5rem); }
.members-login-aside { border-radius:22px; padding:42px; color:white; background:linear-gradient(145deg,var(--coral),#db4937); display:flex; flex-direction:column; justify-content:center; }
.members-login-aside span { font-size:4rem; }
.members-login-aside h2 { font-size:clamp(2.2rem,5vw,4rem); }
.members-planning-list { display:grid; gap:18px; }
.members-planning-card { scroll-margin-top:120px; }
.members-planning-main { display:flex; justify-content:space-between; gap:25px; align-items:flex-start; }
.members-event-meta { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.members-planning-card h2 { font-size:clamp(2rem,4vw,3.3rem); }
.members-date-line { font-size:1.05rem; }
.members-counts { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.members-counts span { background:var(--cream); border-radius:12px; padding:10px 12px; font-size:.75rem; text-align:center; }
.members-counts b { display:block; font-size:1.25rem; }
.availability-form { margin-top:22px; padding-top:18px; border-top:1px solid #eee8de; }
.availability-choices { display:flex; flex-wrap:wrap; gap:10px; }
.availability-choice { border:2px solid transparent; border-radius:11px; padding:11px 14px; cursor:pointer; font-weight:900; background:#f3f4f5; }
.availability-choice.available { color:#166534; background:#edf9f1; }
.availability-choice.unavailable { color:#991b1b; background:#fff0f0; }
.availability-choice.maybe { color:#8a6100; background:#fff8db; }
.availability-choice.selected { border-color:currentColor; box-shadow:0 0 0 2px white inset; }
.availability-comment { display:block; margin-top:14px; max-width:620px; }
.members-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.members-project-card h2 { margin-top:16px; font-size:clamp(2rem,4vw,3.3rem); }
.members-project-next { margin-top:24px; padding-top:15px; border-top:1px solid #eee8de; }
.members-project-next strong { font-size:1.4rem; color:var(--deep-teal); }
.members-admin-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.members-admin-card { transition:.18s; }
.members-admin-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.members-admin-card > strong { display:block; font-size:3.4rem; line-height:1; color:var(--coral); }
.members-admin-card h2 { margin-top:12px; font-size:2.3rem; }
.members-admin-two-col { display:grid; grid-template-columns:.8fr 1.2fr; gap:18px; align-items:start; }
.members-table-wrap { overflow:auto; }
.members-table { width:100%; border-collapse:collapse; min-width:670px; }
.members-table th,.members-table td { text-align:left; padding:12px 10px; border-bottom:1px solid #eee8de; vertical-align:top; }
.members-table th { font-size:.72rem; text-transform:uppercase; color:var(--muted); }
.members-table td small { display:block; color:var(--muted); }
.is-disabled { opacity:.5; }
.members-inline-actions { display:flex; gap:9px; flex-wrap:wrap; }
.members-inline-actions form { margin:0; }
.members-text-button { appearance:none; border:0; background:none; padding:0; color:var(--deep-teal); text-decoration:underline; font:inherit; font-weight:800; cursor:pointer; }
.members-text-button.danger { color:#a12e25; }
.members-admin-event-list,.members-admin-project-list { display:grid; gap:0; }
.members-admin-event-list article,.members-admin-project-list article { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:16px 0; border-bottom:1px solid #eee8de; }
.members-admin-event-list article:first-child,.members-admin-project-list article:first-child { padding-top:0; }
.members-admin-event-list h3,.members-admin-project-list h3 { margin:8px 0 4px; }
.members-admin-event-list p,.members-admin-project-list p { margin:0; color:var(--muted); }
.members-project-status-form { min-width:150px; }
.members-project-status-form select { margin-bottom:8px; }
.members-empty { color:var(--muted); }
.members-footer { margin-top:0; }
@media(max-width:1050px){.members-dashboard-grid,.members-admin-two-col,.members-login-grid{grid-template-columns:1fr}.members-admin-grid{grid-template-columns:1fr 1fr}.members-project-grid{grid-template-columns:1fr}.members-login-aside{min-height:320px}}
@media(max-width:720px){.members-form-row{grid-template-columns:1fr}.members-event-row{grid-template-columns:52px 1fr}.members-event-row .availability-pill{grid-column:2;justify-self:start}.members-planning-main{display:block}.members-counts{justify-content:flex-start;margin-top:15px}.members-admin-grid{grid-template-columns:1fr}.members-admin-event-list article,.members-admin-project-list article{display:block}.members-admin-event-list form,.members-project-status-form{margin-top:12px}.members-section-head{display:block}.members-section-head .btn{margin-top:12px}}
.members-response-details { margin-top:18px; padding-top:16px; border-top:1px dashed var(--line); }
.members-response-details summary,.members-participant-editor summary { cursor:pointer; font-weight:900; color:var(--deep-teal); }
.members-response-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; }
.members-response-group { border-radius:13px; padding:13px; background:#f4f4f2; }
.members-response-group.available { background:#edf9f1; }
.members-response-group.unavailable { background:#fff0f0; }
.members-response-group.maybe { background:#fff8db; }
.members-response-group h3 { display:flex; justify-content:space-between; gap:8px; font-size:.92rem; text-transform:uppercase; }
.members-response-group h3 span { opacity:.65; }
.members-response-group ul { list-style:none; margin:8px 0 0; padding:0; }
.members-response-group li { margin-top:7px; }
.members-response-group li small { display:block; color:var(--muted); }
.members-project-participants { margin-top:20px; padding:14px; border-radius:12px; background:var(--cream); }
.members-project-participants p { margin:5px 0 0; }
.members-admin-project { display:grid !important; grid-template-columns:1fr .95fr; gap:20px !important; }
.members-project-status-form { margin-top:12px; }
.members-participant-editor { border-left:1px solid #eee8de; padding-left:18px; }
.members-check-list { display:grid; grid-template-columns:1fr 1fr; gap:7px 12px; margin:12px 0; }
.members-check-list label { text-transform:none; letter-spacing:0; font-size:.9rem; font-weight:700; }
.members-check-list input { width:auto; margin:0 5px 0 0; }
@media(max-width:980px){.members-response-grid{grid-template-columns:1fr 1fr}.members-admin-project{grid-template-columns:1fr !important}.members-participant-editor{border-left:0;padding-left:0;border-top:1px solid #eee8de;padding-top:12px}}
@media(max-width:560px){.members-response-grid,.members-check-list{grid-template-columns:1fr}}
/* Le menu privé suit maintenant le même breakpoint (1290 px)
   et les mêmes styles de hamburger que le menu public. */

/* V0.32 — planning enrichi, lieux et carnet de répétition */
.login-chant-line { display:block; font-size:inherit !important; white-space:nowrap; }
.members-login-aside > span { font-size:4rem; }
.members-admin-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.members-project-location { margin-top:18px; padding:13px 15px; border-radius:12px; background:#eef7f7; }
.members-project-location small { color:var(--muted); }
.members-project-editor { margin-top:14px; padding-top:12px; border-top:1px dashed var(--line); }
.members-project-editor summary,.members-event-editor summary,.members-admin-location summary { cursor:pointer; font-weight:900; color:var(--deep-teal); }
.members-compact-form { gap:12px; margin-top:14px; }
.members-inline-form { margin-top:12px; }
.members-admin-location-list { display:grid; gap:0; }
.members-admin-location { padding:16px 0; border-bottom:1px solid #eee8de; }
.members-admin-location:first-child { padding-top:0; }
.members-admin-location summary strong,.members-admin-location summary small { display:block; }
.members-admin-location summary small { margin-top:3px; color:var(--muted); font-weight:500; }
.members-admin-events-layout { grid-template-columns:.85fr 1.35fr; }
.members-admin-event-editor-list article.members-admin-event-editor { display:block; padding:18px 0; }
.members-admin-event-summary { display:flex; justify-content:space-between; gap:20px; }
.members-event-editor { margin-top:12px; padding-top:12px; border-top:1px dashed var(--line); }
.is-past-event { opacity:.82; }
.members-event-row-action { align-items:start; }
.dashboard-availability-form { grid-column:2 / -1; margin-top:-4px; padding-bottom:4px; }
.availability-choices.compact .availability-choice { padding:8px 10px; font-size:.78rem; }
.availability-detail { margin-top:9px; max-width:600px; }
.availability-detail summary { cursor:pointer; color:var(--deep-teal); font-size:.82rem; font-weight:850; }
.availability-detail label { display:block; margin-top:8px; font-size:.78rem; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.availability-detail input { margin-top:5px; }
.members-list-title { margin:4px 0 0; font-size:clamp(2rem,4vw,3.1rem); }
.members-past-title { margin-top:30px; }
.members-past-event { opacity:.92; }
.members-location-address { margin-top:-8px; color:var(--muted); }
.members-rehearsal-notes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:20px; }
.members-rehearsal-note { padding:15px; border-radius:14px; background:var(--cream); }
.members-rehearsal-note h3 { margin:0 0 8px; font-size:.9rem; text-transform:uppercase; letter-spacing:.025em; }
.members-rehearsal-note p { margin:0; }
.members-rehearsal-note.prepare { background:#eef7f7; }
.members-rehearsal-note.debrief { background:#f6f2e9; }
.members-rehearsal-note.next { background:#fff8db; }
.members-rehearsal-note.private { background:#fff0ee; border:1px dashed #d79b92; }
@media(max-width:1150px){.members-admin-grid{grid-template-columns:1fr 1fr}.members-admin-events-layout{grid-template-columns:1fr}.members-rehearsal-notes{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.dashboard-availability-form{grid-column:1 / -1;margin-top:0}.members-rehearsal-notes{grid-template-columns:1fr}.login-chant-line{white-space:normal}}

.members-form-inline-error { margin:0 0 16px; padding:12px 14px; border:1px solid #edc5bf; border-radius:12px; background:#fff0ee; color:#7f2a26; font-weight:800; }

/* V0.33 — Informations, questions, sondages et échanges */
.members-information-toolbar { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-bottom:22px; }
.members-filter-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.members-filter-tabs a { padding:9px 13px; border-radius:999px; background:#f1eee7; color:var(--deep-teal); font-weight:850; text-decoration:none; font-size:.84rem; }
.members-filter-tabs a.active { background:var(--deep-teal); color:#fff; }
.members-information-toolbar-actions { display:flex; flex-wrap:wrap; gap:10px; }
.members-information-list { display:grid; gap:18px; }
.members-information-card { position:relative; }
.members-information-card.is-archived { opacity:.82; }
.members-information-meta { display:flex; gap:7px; flex-wrap:wrap; align-items:center; margin-bottom:10px; }
.members-information-card-main { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:24px; align-items:start; }
.members-information-target { margin:0 0 6px; color:var(--muted); font-size:.84rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.members-information-card h2 { margin:0 0 10px; font-size:clamp(1.8rem,3vw,2.75rem); }
.members-information-card h2 a { color:inherit; text-decoration:none; }
.members-information-card h2 a:hover { text-decoration:underline; text-decoration-color:var(--amber); text-underline-offset:5px; }
.members-information-excerpt { margin:0; max-width:850px; }
.members-information-side { display:grid; gap:12px; text-align:right; color:var(--muted); }
.members-information-side small { display:block; line-height:1.45; }
.members-information-side .deadline-past { color:#9f332d; }
.members-information-foot { display:flex; gap:18px; flex-wrap:wrap; align-items:center; margin-top:18px; padding-top:14px; border-top:1px solid #eee8de; font-size:.82rem; color:var(--muted); }
.members-information-foot a { margin-left:auto; color:var(--deep-teal); font-weight:900; }

.information-detail-hero .members-information-meta { margin-bottom:18px; }
.information-detail-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr); gap:20px; align-items:start; }
.information-detail-main { display:grid; gap:18px; }
.information-detail-side { display:grid; gap:18px; position:sticky; top:112px; }
.information-message .information-body { font-size:1.03rem; line-height:1.75; }
.information-deadline { margin-top:22px; padding:13px 15px; border-radius:12px; background:#fff8db; }
.information-deadline.deadline-past { background:#fff0ee; color:#7f2a26; }
.information-my-response { margin-top:12px; padding:15px; border-radius:12px; background:#eef7f7; }
.information-admin-responses { margin-top:20px; padding-top:16px; border-top:1px dashed var(--line); }
.information-admin-responses summary { cursor:pointer; font-weight:900; color:var(--deep-teal); }
.information-response-list { display:grid; gap:10px; margin-top:12px; }
.information-response-list article { padding:13px; border-radius:12px; background:var(--cream); }
.information-response-list article strong,.information-response-list article small { display:block; }
.information-response-list article small { margin-top:3px; color:var(--muted); }
.information-response-list article p { margin:9px 0 0; }
.information-poll-form { margin-top:14px; }
.information-poll-options { display:grid; gap:9px; margin-bottom:16px; }
.information-poll-options label { display:flex; gap:9px; align-items:flex-start; padding:12px 14px; border:1px solid #e7e1d7; border-radius:12px; background:#faf9f6; cursor:pointer; font-weight:750; }
.information-poll-options input { width:auto; margin-top:3px; }
.information-poll-results { margin-top:24px; padding-top:18px; border-top:1px dashed var(--line); }
.information-poll-results h3 { margin:0 0 14px; }
.information-poll-result { margin-top:12px; }
.information-poll-result > div:first-child { display:flex; justify-content:space-between; gap:10px; }
.information-poll-result span { color:var(--muted); }
.information-poll-bar { height:9px; margin-top:6px; border-radius:999px; background:#ece8df; overflow:hidden; }
.information-poll-bar i { display:block; height:100%; border-radius:inherit; background:var(--deep-teal); }
.information-comments { display:grid; gap:12px; margin-top:15px; }
.information-comment { position:relative; padding:15px; border-radius:13px; background:var(--cream); }
.information-comment-head { display:flex; justify-content:space-between; gap:12px; }
.information-comment-head small { color:var(--muted); }
.information-comment p { margin:10px 0 0; }
.information-comment details { margin-top:10px; }
.information-comment details summary { cursor:pointer; font-size:.82rem; font-weight:850; color:var(--deep-teal); }
.information-comment-delete { margin-top:8px; }
.information-comment-form { margin-top:20px; padding-top:18px; border-top:1px dashed var(--line); }
.information-attachments { display:grid; gap:8px; }
.information-attachments a { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:11px 12px; border-radius:11px; background:#f5f2eb; color:var(--deep-teal); text-decoration:none; }
.information-attachments a:hover { background:#ece8df; }
.information-attachments small { color:var(--muted); white-space:nowrap; }
.information-side-summary p:last-child { margin-bottom:0; }

.members-information-admin-layout { display:grid; grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr); gap:18px; align-items:start; }
.members-information-admin-layout > .member-panel:first-child { position:sticky; top:112px; }
.members-check-line { display:flex !important; align-items:center; gap:8px; text-transform:none !important; letter-spacing:0 !important; font-size:.9rem !important; font-weight:750 !important; }
.members-check-line input { width:auto !important; margin:0 !important; }
.information-target-fields { display:grid; grid-template-columns:1fr; gap:0; }
.information-target-fields [hidden],[data-poll-settings][hidden] { display:none !important; }
.information-admin-list { display:grid; gap:0; }
.information-admin-item { padding:18px 0; border-bottom:1px solid #eee8de; scroll-margin-top:120px; }
.information-admin-item:first-child { padding-top:0; }
.information-admin-item.is-archived { opacity:.8; }
.information-admin-summary { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.information-admin-summary h3 { margin:5px 0; font-size:1.35rem; }
.information-admin-summary p { margin:0; color:var(--muted); }
.information-admin-summary small { display:block; margin-top:5px; color:var(--muted); }
.information-admin-summary > a { font-weight:850; color:var(--deep-teal); white-space:nowrap; }
.information-admin-editor { margin-top:12px; padding-top:12px; border-top:1px dashed var(--line); }
.information-admin-editor > summary { cursor:pointer; color:var(--deep-teal); font-weight:900; }
.information-admin-attachments { margin:16px 0; padding:13px; border-radius:12px; background:var(--cream); }
.information-admin-attachments > strong { display:block; margin-bottom:8px; }
.information-admin-attachments > div { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:6px 0; }
.information-admin-attachments form { margin:0; }
.information-admin-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; margin-top:18px; padding-top:16px; border-top:1px dashed var(--line); }
.information-admin-actions form { margin:0; }
.information-admin-actions form:first-child { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }
.members-admin-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.members-admin-grid-five .members-admin-card h2 { font-size:2rem; }

@media(max-width:1280px){.members-admin-grid-five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.members-information-admin-layout{grid-template-columns:1fr}.members-information-admin-layout>.member-panel:first-child{position:static}.information-detail-grid{grid-template-columns:1fr}.information-detail-side{position:static;grid-template-columns:1fr 1fr}.members-information-card-main{grid-template-columns:1fr}.members-information-side{text-align:left;grid-template-columns:1fr 1fr}.members-information-foot a{margin-left:0}}
@media(max-width:760px){.members-information-toolbar{display:block}.members-information-toolbar-actions{margin-top:12px}.information-detail-side{grid-template-columns:1fr}.members-information-side{grid-template-columns:1fr}.information-comment-head{display:block}.information-comment-head small{display:block;margin-top:3px}.members-admin-grid-five{grid-template-columns:1fr}.information-admin-summary{display:block}.information-admin-summary>a{display:inline-block;margin-top:8px}}\n\n/* V0.35 — Pilotage de projet : phases et unités de travail */
.members-project-control-head { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.members-project-control-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.members-project-control-summary .member-panel { padding:20px; }
.members-project-control-summary strong { display:block; margin-top:4px; color:var(--muted); font-size:.85rem; }
.members-kpi-number { display:block; color:var(--coral); font-size:2.8rem; font-weight:950; line-height:1; }
.members-project-control-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; margin-bottom:18px; }
.members-project-structure-panel { margin-top:0; }
.members-phase-list { display:grid; gap:16px; }
.members-phase-card { border:1px solid #e8e2d8; border-radius:18px; padding:18px; background:#fbfaf7; }
.members-phase-card.is-unphased { background:#f4f4f2; }
.members-phase-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.members-phase-head h3 { margin:9px 0 5px; font-size:1.55rem; }
.members-phase-head p { margin:0; color:var(--muted); }
.members-phase-head > strong { color:var(--muted); white-space:nowrap; font-size:.86rem; }
.members-unit-list { display:grid; gap:9px; margin-top:14px; }
.members-unit-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:start; border-radius:14px; padding:14px; background:white; border:1px solid #eee8de; }
.members-unit-card.readonly { grid-template-columns:1fr; }
.members-unit-card .members-project-editor { margin-top:0; padding-top:0; border-top:0; min-width:88px; text-align:right; }
.members-unit-card .members-project-editor summary { font-size:.83rem; }
.members-unit-meta { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-bottom:6px; color:var(--muted); font-size:.78rem; text-transform:uppercase; font-weight:800; letter-spacing:.03em; }
.members-unit-main h4 { margin:0; font-size:1.1rem; }
.members-unit-main p { margin:6px 0 0; color:var(--muted); }
.members-project-structure-count { margin:15px 0; color:var(--muted); }
.members-project-card { position:relative; cursor:pointer; transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.members-project-card:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:#d8d0c4; }
.members-project-card:focus-within { outline:3px solid rgba(31,111,119,.22); outline-offset:3px; }
.members-project-title-link { color:inherit; text-decoration:none; }
.members-project-title-link::after { content:""; position:absolute; inset:0; border-radius:inherit; z-index:1; }
.members-project-title-link:hover { text-decoration:underline; text-decoration-color:var(--amber); text-underline-offset:5px; }
.members-project-open { display:inline-block; margin-top:12px; color:var(--deep-teal); font-weight:900; }
.members-project-card .tag,.members-project-card p,.members-project-card .members-project-participants,.members-project-card .members-project-open { position:relative; z-index:0; }
.members-project-member-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(270px,.5fr); gap:18px; align-items:start; }
.members-project-member-side { display:grid; gap:18px; position:sticky; top:112px; }
.members-mini-event-list { display:grid; gap:0; }
.members-mini-event-list a { display:grid; grid-template-columns:86px 1fr; gap:9px; padding:10px 0; border-top:1px solid #eee8de; text-decoration:none; }
.members-mini-event-list a:first-child { border-top:0; }
.members-mini-event-list strong { color:var(--deep-teal); }
.members-mini-event-list span { color:var(--ink); }
.members-phase-list.compact .members-phase-card { padding:16px; }
.members-phase-list.compact .members-unit-card { padding:12px; }
@media(max-width:1000px){.members-project-control-summary{grid-template-columns:1fr 1fr}.members-project-control-grid,.members-project-member-layout{grid-template-columns:1fr}.members-project-member-side{position:static;grid-template-columns:1fr 1fr}}
@media(max-width:680px){.members-project-control-summary{grid-template-columns:1fr 1fr}.members-project-member-side{grid-template-columns:1fr}.members-phase-head,.members-unit-card{display:block}.members-phase-head>strong{display:block;margin-top:10px}.members-unit-card .members-project-editor{text-align:left;margin-top:10px}.members-project-control-grid{grid-template-columns:1fr}}


/* V0.35 — Socle application mobile / PWA */
.members-mobile-nav { display:none; }
.members-install-card { margin:0 0 18px; padding:18px 20px; border-radius:18px; background:#eef7f7; border:1px solid #c9e0df; align-items:center; justify-content:space-between; gap:18px; }
.members-install-card:not([hidden]) { display:flex; }
.members-install-card strong { color:var(--deep-teal); }
.members-install-card p { margin:5px 0 0; color:var(--muted); }
.members-install-actions { display:flex; align-items:center; gap:14px; flex:0 0 auto; }
.members-remember-line { margin-top:-4px; }
.members-login-security { margin-top:-10px !important; }

@media(max-width:760px){
  .members-body { padding-bottom:78px; }
  .members-header { position:sticky; top:0; z-index:90; box-shadow:0 5px 18px rgba(15,23,32,.08); }
  .members-header .header-inner { min-height:79px; gap:8px; }
  .members-header .brand { min-width:0; }
  .members-header .brand-mark { width:147px; height:77px; }
  .members-header .brand-mark img { width:179px; height:auto; max-width:none; transform:translate(-8px,-1px); }
  .members-header .brand-claim { display:none; }
  .members-header .header-controls { min-height:79px; padding:0; justify-content:center; }
  .members-header .header-controls-top { gap:5px; }
  /* Sur smartphone : garder le bouton Site public déjà validé.
     La déconnexion demeure accessible depuis Mon profil. */
  .members-header .member-logout { display:none; }
  .members-site-link { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; padding:9px 11px; background:var(--deep-teal); color:white; border:1px solid #155f68; border-radius:10px; font-size:.81rem; font-weight:800; white-space:nowrap; }
  .members-header .menu-toggle,.members-header .members-nav { display:none !important; }
  .members-mobile-nav { position:fixed; display:grid; grid-template-columns:repeat(5,1fr); left:0; right:0; bottom:0; z-index:120; min-height:68px; padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left)); background:rgba(255,255,255,.97); border-top:1px solid #ded8ce; box-shadow:0 -8px 24px rgba(15,23,32,.09); backdrop-filter:blur(12px); }
  .members-mobile-nav a { display:flex; min-width:0; flex-direction:column; justify-content:center; align-items:center; gap:2px; padding:6px 2px; border-radius:12px; color:#59636a; text-decoration:none; }
  .members-mobile-nav a span { font-size:1.28rem; line-height:1; font-weight:900; }
  .members-mobile-nav a small { font-size:.66rem; font-weight:850; line-height:1; }
  .members-mobile-nav a.active { color:var(--deep-teal); background:#eef7f7; }
  .members-footer { display:none; }
  .members-hero { padding:28px 0 25px; }
  .members-hero::after { font-size:7rem; right:-8px; }
  .members-hero h1,.members-page-hero h1 { font-size:clamp(2.15rem,11vw,3.5rem); line-height:.98; }
  .members-page-hero { padding:25px 0 23px; }
  .section-tight { padding-top:18px; padding-bottom:22px; }
  .member-panel { padding:18px; border-radius:18px; }
  .members-dashboard-grid { gap:14px; }
  .members-event-row { padding:12px 0; gap:11px; }
  .members-event-date { width:48px; height:54px; }
  .members-event-copy h3 { font-size:1.08rem; }
  .availability-choices.compact { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .availability-choices.compact .availability-choice { padding:10px 5px; font-size:.72rem; }
  .members-install-card:not([hidden]) { display:block; }
  .members-install-actions { margin-top:14px; flex-wrap:wrap; }
  .members-install-actions .btn { width:100%; text-align:center; }
  .members-project-control-head .btn { flex:1 1 auto; text-align:center; }
  .members-project-control-summary { gap:8px; }
  .members-project-control-summary .member-panel { padding:14px; }
  .members-kpi-number { font-size:2.2rem; }
  .members-project-control-grid { gap:12px; }
  .members-phase-card { padding:14px; border-radius:15px; }
  .members-unit-card { padding:12px; }
}
@media(max-width:350px){
  .members-header .brand-mark { width:126px; height:72px; }
  .members-header .brand-mark img { width:159px; transform:translate(-8px,-1px); }
  .members-site-link { padding:8px; font-size:.75rem; }
}
.members-profile-stack { display:grid; gap:18px; }

/* V0.36 — Distribution, rôles et participants par unité */
.members-project-control-summary-five { grid-template-columns:repeat(5,minmax(0,1fr)); }
.members-casting-panel { margin-bottom:18px; }
.members-casting-layout { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr); gap:18px; align-items:start; }
.members-role-create { padding:16px; border-radius:16px; background:var(--cream); }
.members-role-list { display:grid; gap:10px; }
.members-role-card { padding:15px; border:1px solid #e8e2d8; border-radius:14px; background:#fff; }
.members-role-card h3 { margin:8px 0 4px; font-size:1.25rem; }
.members-role-card p { margin:5px 0 0; color:var(--muted); }
.members-role-cast strong { color:var(--ink); }
.members-fieldset { margin:4px 0 12px; padding:12px 14px; border:1px solid #e2dbcf; border-radius:12px; }
.members-fieldset legend { padding:0 6px; font-weight:900; color:var(--deep-teal); }
.members-fieldset .members-check-list { margin:5px 0 0; }
.members-fieldset small { color:var(--muted); font-weight:600; }
.members-unit-people-summary { margin-top:9px; padding-top:8px; border-top:1px dashed #e7e0d6; }
.members-unit-people-summary p,.members-unit-castline { margin:4px 0 0 !important; font-size:.88rem; color:var(--muted); }
.members-unit-no-people { margin-top:8px !important; font-size:.84rem; font-style:italic; color:var(--muted); }
.members-unit-card.is-mine { border-color:#8bc8c8; box-shadow:0 0 0 2px rgba(31,111,119,.08); background:#fbffff; }
.members-member-cast-list { display:grid; gap:8px; }
.members-member-cast-list p { display:grid; grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr); gap:10px; margin:0; padding:8px 0; border-bottom:1px solid #eee8de; }
.members-member-cast-list p:last-child { border-bottom:0; }
.members-member-cast-list strong { color:var(--ink); }
.members-member-cast-list span { color:var(--muted); }
@media(max-width:1100px){.members-project-control-summary-five{grid-template-columns:repeat(3,minmax(0,1fr))}.members-casting-layout{grid-template-columns:1fr}}
@media(max-width:680px){.members-project-control-summary-five{grid-template-columns:1fr 1fr}.members-role-create{padding:13px}.members-member-cast-list p{grid-template-columns:1fr;gap:2px}}

/* V0.37 — séances, convocations ciblées et journal de répétition */
.members-event-scope-fieldset { border-color:#d9e7e8; background:#fbffff; }
.members-event-scope-panel[hidden] { display:none !important; }
.members-scope-default { padding:12px 14px; border-radius:12px; background:#eef7f7; margin:4px 0 12px; }
.members-scope-default p { margin:4px 0 0; color:var(--muted); }
.members-event-units-editor { display:grid; gap:7px; margin-top:8px; }
.members-event-units-editor h4 { margin:0 0 4px; }
.members-event-unit-choice { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:10px 12px; border:1px solid #e7e0d6; border-radius:11px; background:#fff; }
.members-event-unit-choice>div { min-width:0; }
.members-event-unit-choice strong { display:block; font-size:.92rem; }
.members-event-unit-choice small { display:block; margin-top:2px; color:var(--muted); }
.members-event-unit-choice label { display:flex; align-items:center; gap:5px; margin:0; text-transform:none; letter-spacing:0; font-size:.82rem; white-space:nowrap; }
.members-event-unit-choice input { width:auto; margin:0; }
.members-event-direct-members { margin-top:12px; padding-top:10px; border-top:1px dashed #d8e1df; }
.members-event-direct-members summary { cursor:pointer; font-weight:900; color:var(--deep-teal); }
.members-event-program-summary { margin:7px 0 0 !important; color:var(--muted) !important; font-size:.84rem; }
.members-event-program-summary.worked { color:var(--deep-teal) !important; }
.members-event-program { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:15px 0; }
.members-event-program-group { padding:12px; border-radius:12px; background:#f7f4ee; border:1px solid #eee8de; }
.members-event-program-group.worked { background:#eef7f7; border-color:#d4e9e9; }
.members-event-program-group h3 { margin:0 0 7px; font-size:.87rem; text-transform:uppercase; letter-spacing:.04em; }
.members-event-unit-tags { display:flex; flex-wrap:wrap; gap:6px; }
.members-event-unit-tags span { display:inline-block; padding:6px 8px; border-radius:999px; background:#fff; border:1px solid #e2ddd5; font-size:.8rem; font-weight:800; }
.members-journal-fieldset { background:#fffaf0; border-color:#ead6a8; }
.members-admin-journal-view { margin:14px 0; padding-top:10px; border-top:1px dashed var(--line); }
.members-admin-journal-view summary { cursor:pointer; font-weight:900; color:var(--deep-teal); }
.members-journal-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:10px; }
.members-journal-grid section { padding:11px 12px; border-radius:11px; background:#f7f4ee; }
.members-journal-grid h3 { margin:0 0 5px; font-size:.82rem; text-transform:uppercase; letter-spacing:.03em; }
.members-journal-grid p { margin:0; color:var(--muted); }
.members-dashboard-program { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; }
.members-dashboard-program span { padding:4px 7px; border-radius:999px; background:#eef7f7; color:var(--deep-teal); font-size:.72rem; font-weight:800; }
.members-dashboard-program small { align-self:center; color:var(--muted); }
.members-mini-event-list a span small { display:block; color:var(--muted); margin-top:3px; font-size:.75rem; line-height:1.25; }
@media(max-width:760px){
  .members-event-unit-choice{grid-template-columns:1fr 1fr;}
  .members-event-unit-choice>div{grid-column:1/-1;}
  .members-event-program,.members-journal-grid{grid-template-columns:1fr;}
}

/* V0.38 — suivi d'avancement et tableau de pilotage */
.members-project-control-summary-v038 { grid-template-columns:repeat(7,minmax(0,1fr)); }
.members-project-control-summary-v038 .member-panel { min-width:0; }
.members-project-control-summary-v038 small { display:block; margin-top:4px; color:var(--muted); font-size:.72rem; line-height:1.2; }
.members-kpi-alert { border-color:#efb7af !important; background:#fff8f6 !important; }
.members-kpi-alert .members-kpi-number { color:#d44431; }
.members-progress-axes-panel,.members-progress-dashboard-panel { margin-bottom:18px; }
.members-progress-axes-layout { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr); gap:18px; align-items:start; }
.members-progress-axis-create { padding:16px; border-radius:16px; background:var(--cream); }
.members-progress-axis-list { display:grid; gap:9px; }
.members-progress-axis-card { display:flex; justify-content:space-between; gap:14px; align-items:center; padding:13px 15px; border:1px solid #e8e2d8; border-radius:13px; background:#fff; }
.members-progress-axis-card>div:first-child { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }
.members-progress-axis-card.is-disabled { opacity:.62; background:#f7f5f1; }
.members-checkbox-line { display:flex !important; align-items:center; gap:8px; align-self:end; min-height:44px; text-transform:none !important; letter-spacing:0 !important; }
.members-checkbox-line input { width:auto !important; margin:0; }
.members-project-progress-overall { display:grid; gap:9px; padding:14px 16px; margin-bottom:14px; border:1px solid #d5e5e5; border-radius:14px; background:#f7fcfc; }
.members-project-progress-overall>div:first-child { display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.members-project-progress-overall span { color:var(--muted); }
.members-project-progress-overall.compact { padding:0; margin:0; border:0; background:transparent; }
.members-project-progress-overall.compact>div:first-child strong { font-size:2rem; color:var(--deep-teal); }
.members-progress-track { position:relative; height:10px; border-radius:999px; background:#ebe7df; overflow:visible; }
.members-progress-fill { position:absolute; inset:0 auto 0 0; border-radius:999px; background:var(--deep-teal); max-width:100%; }
.members-progress-target { position:absolute; top:-4px; bottom:-4px; width:2px; transform:translateX(-1px); background:#ff6654; border-radius:2px; }
.members-progress-unit-list { display:grid; gap:10px; }
.members-progress-unit-row { padding:13px 15px; border:1px solid #e7e0d6; border-radius:13px; background:#fff; }
.members-progress-unit-row.level-late { border-color:#efb7af; background:#fff9f7; }
.members-progress-unit-row.level-watch { border-color:#ead6a8; background:#fffdf6; }
.members-progress-unit-title { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.members-progress-unit-title small { display:block; margin-bottom:2px; color:var(--muted); }
.members-progress-unit-title strong { display:block; }
.members-progress-unit-metrics { display:grid; grid-template-columns:auto auto auto auto auto auto; gap:5px 8px; align-items:baseline; margin:9px 0 7px; font-size:.82rem; }
.members-progress-unit-metrics b { font-size:1.05rem; }
.members-progress-unit-metrics span { color:var(--muted); }
.members-progress-unit-metrics .negative { color:#d44431; }
.members-progress-unit-metrics .positive { color:var(--deep-teal); }
.members-progress-axis-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.members-progress-axis-chips span { padding:5px 8px; border-radius:999px; background:#f6f4ef; color:var(--muted); font-size:.75rem; }
.members-progress-axis-chips strong { color:var(--ink); }
.members-progress-axis-chips.compact { margin-top:7px; }
.members-unit-progress-summary { margin-top:11px; padding:10px 11px; border-radius:11px; background:#f7f4ee; border:1px solid #ece6dd; }
.members-unit-progress-summary.level-late { background:#fff7f5; border-color:#efc0b9; }
.members-unit-progress-summary.level-watch { background:#fffaf0; border-color:#ead6a8; }
.members-unit-progress-summary.level-ok { background:#f4fbfb; border-color:#d4e9e9; }
.members-unit-progress-head { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:7px; font-size:.82rem; }
.members-unit-progress-head span { color:var(--muted); }
.members-unit-progress-summary.member-view { margin-top:10px; }
.members-progress-editor-grid { display:grid; gap:9px; }
.members-progress-editor-row { display:grid; grid-template-columns:minmax(100px,.65fr) 90px 90px minmax(170px,1.4fr); gap:8px; align-items:end; padding:10px; border:1px solid #ebe4d9; border-radius:11px; background:#fff; }
.members-progress-editor-row>strong { align-self:center; color:var(--deep-teal); }
.members-progress-editor-row label { margin:0; }
.members-progress-editor-row input { width:100%; }
.members-progress-note { min-width:0; }
.members-unit-progress-form { margin-top:15px; padding-top:14px; border-top:1px dashed #ddd5c9; }
.members-progress-history { margin-top:12px; padding-top:10px; border-top:1px dashed #ddd5c9; }
.members-progress-history>summary { cursor:pointer; font-weight:900; color:var(--deep-teal); }
.members-progress-history p { display:grid; gap:2px; margin:8px 0; padding:8px 0; border-bottom:1px solid #f0ebe4; }
.members-progress-history small { color:var(--muted); }
.members-progress-history em { color:var(--muted); font-style:normal; }
.members-progress-warning { margin-top:10px; padding:8px 10px; border-radius:9px; background:#fff4f1; color:#b13d2e; font-size:.82rem; font-weight:800; }
.members-event-progress-fieldset { background:#f7fcfc; border-color:#cfe4e4; }
.members-event-progress-unit { margin-top:11px; padding:12px; border:1px solid #dce9e8; border-radius:12px; background:#fff; }
.members-event-progress-unit[hidden], [data-progress-project][hidden], .members-event-progress-empty[hidden] { display:none !important; }
.members-event-progress-unit h4 { margin:0 0 9px; color:var(--deep-teal); }
.members-event-progress-empty { margin:8px 0 0; color:var(--muted); font-style:italic; }

@media(max-width:1180px){
  .members-project-control-summary-v038{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:820px){
  .members-progress-axes-layout{grid-template-columns:1fr;}
  .members-progress-editor-row{grid-template-columns:1fr 1fr;}
  .members-progress-editor-row>strong,.members-progress-note{grid-column:1/-1;}
  .members-progress-unit-title{display:block;}
  .members-progress-unit-title .tag{display:inline-block;margin-top:7px;}
}
@media(max-width:680px){
  .members-project-control-summary-v038{grid-template-columns:1fr 1fr;}
  .members-progress-unit-metrics{grid-template-columns:auto auto auto auto;}
  .members-progress-unit-metrics b:nth-of-type(3),.members-progress-unit-metrics span:nth-of-type(3){display:none;}
  .members-project-progress-overall>div:first-child{display:block;}
  .members-progress-axis-card{display:block;}
  .members-progress-axis-card .members-project-editor{margin-top:8px;}
}
.members-project-card-progress { margin:12px 0 3px; padding:10px 11px; border-radius:11px; background:#f7f4ee; position:relative; z-index:0; }
.members-project-card-progress>div:first-child { display:flex; justify-content:space-between; gap:10px; margin-bottom:7px; font-size:.8rem; }
.members-project-card-progress>div:first-child span { color:var(--muted); }
.members-project-card-progress small { display:block; margin-top:7px; color:#b13d2e; font-weight:800; }

/* V0.39 — rétroplanning, jalons et trajectoire calendrier */
.members-retro-panel { margin-bottom:18px; }
.members-retro-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:4px 0 18px; }
.members-retro-summary section { padding:14px 15px; border:1px solid #e7e0d6; border-radius:14px; background:#fbfaf7; }
.members-retro-summary section.is-watch { background:#fffaf0; border-color:#ead6a8; }
.members-retro-summary section.is-alert { background:#fff7f5; border-color:#efb7af; }
.members-retro-summary span,.members-retro-summary small { display:block; color:var(--muted); }
.members-retro-summary span { font-size:.78rem; text-transform:uppercase; letter-spacing:.035em; font-weight:800; }
.members-retro-summary strong { display:block; margin:5px 0 2px; font-size:1.35rem; color:var(--ink); }
.members-retro-summary small { font-size:.78rem; }
.members-retro-chart-wrap { margin:0 0 20px; padding:14px 16px 10px; border:1px solid #d8e8e8; border-radius:15px; background:#f8fcfc; }
.members-retro-chart-head { display:flex; justify-content:space-between; gap:14px; align-items:baseline; margin-bottom:8px; }
.members-retro-chart-head span { color:var(--muted); font-size:.82rem; }
.members-retro-chart { display:block; width:100%; height:auto; max-height:255px; }
.members-retro-chart .grid { stroke:#e8e4dc; stroke-width:1; }
.members-retro-chart text { fill:#7a7d81; font-size:12px; font-family:inherit; }
.members-retro-chart .plan { fill:none; stroke:#1f6f77; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.members-retro-chart .anchor { fill:#fff; stroke:#1f6f77; stroke-width:3; }
.members-retro-chart .today { stroke:#ff6654; stroke-width:2; stroke-dasharray:6 5; opacity:.85; }
.members-retro-chart .actual { fill:#ff6654; stroke:#fff; stroke-width:3; }
.members-retro-chart-dates { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:.78rem; }
.members-retro-chart-dates strong { color:#ff6654; }
.members-retro-layout { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start; }
.members-retro-layout>div { padding:16px; border-radius:15px; background:var(--cream); }
.members-retro-layout h3,.members-retro-bottom h3 { margin:0 0 10px; font-size:1.15rem; }
.members-retro-subtitle { margin-top:20px !important; }
.members-retro-settings,.members-retro-milestone-form { gap:10px; }
.members-retro-phase-list { display:grid; gap:7px; }
.members-retro-phase-list>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:9px 10px; border-radius:10px; background:#fff; border:1px solid #ebe5dc; }
.members-retro-phase-list span { color:var(--muted); font-size:.82rem; text-align:right; }
.members-retro-bottom { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:18px; }
.members-retro-bottom>section { padding:16px; border:1px solid #e7e0d6; border-radius:15px; background:#fff; }
.members-section-head.small { margin-bottom:10px; }
.members-milestone-list { display:grid; gap:9px; }
.members-milestone-list>article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start; padding:11px 12px; border:1px solid #ebe5dc; border-radius:11px; }
.members-milestone-list>article.is-done { background:#f4fbfb; border-color:#d4e9e9; }
.members-milestone-list strong { display:block; margin:6px 0 2px; }
.members-milestone-list small { color:var(--muted); }
.members-milestone-list p { margin:5px 0 0; color:var(--muted); font-size:.86rem; }
.members-retro-event-list { display:grid; gap:7px; }
.members-retro-event-list a { display:grid; grid-template-columns:88px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid #eee8de; color:inherit; text-decoration:none; }
.members-retro-event-list a:last-child { border-bottom:0; }
.members-retro-event-list a>strong { color:var(--deep-teal); }
.members-retro-event-list span { min-width:0; }
.members-retro-event-list small { display:block; margin-top:2px; color:var(--muted); font-size:.76rem; }
.members-phase-dates { margin:4px 0 0 !important; color:var(--deep-teal) !important; font-size:.82rem !important; font-weight:800; }
.members-member-retro .members-member-target-date { display:block; font-size:1.8rem; color:var(--deep-teal); margin-bottom:2px; }
.members-member-retro>p { margin:0 0 2px; }
.members-member-retro>small { color:var(--muted); }
.members-next-milestone { margin-top:14px; padding-top:12px; border-top:1px solid #eee8de; }
.members-next-milestone span,.members-calendar-target span { display:block; color:var(--muted); font-size:.78rem; }
.members-next-milestone strong { display:block; margin:3px 0; }
.members-next-milestone small { color:var(--muted); }
.members-calendar-target { display:flex; justify-content:space-between; gap:12px; align-items:baseline; margin-top:12px; padding:9px 10px; border-radius:10px; background:#eef7f7; }
.members-calendar-target strong { font-size:1.25rem; color:var(--deep-teal); }
.members-project-deadline { margin:10px 0 0; font-size:.86rem; color:var(--muted); }
@media(max-width:1000px){
  .members-retro-summary{grid-template-columns:1fr 1fr;}
  .members-retro-layout,.members-retro-bottom{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .members-retro-summary{grid-template-columns:1fr;}
  .members-retro-chart-head{display:block;}
  .members-retro-chart-head span{display:block;margin-top:3px;}
  .members-retro-phase-list>div{grid-template-columns:1fr;}
  .members-retro-phase-list span{text-align:left;}
  .members-milestone-list>article{grid-template-columns:1fr;}
  .members-retro-event-list a{grid-template-columns:75px minmax(0,1fr);}
}

/* V0.40 — Import / export Excel des projets */
.members-import-layout { align-items: start; }
.members-import-preview { margin-top: 1.4rem; }
.members-import-preview ul { margin: .65rem 0 0 1.25rem; }
.members-import-kpis { display: grid; grid-template-columns: repeat(auto-fit,minmax(155px,1fr)); gap: .7rem; margin: 1rem 0 1.25rem; }
.members-import-kpis > div { border: 1px solid rgba(31,78,120,.14); background: #f7fafc; border-radius: 14px; padding: .85rem 1rem; display: flex; flex-direction: column; gap: .15rem; }
.members-import-kpis strong { font-size: 1.5rem; color: #1f4e78; }
.members-import-kpis span { font-size: .9rem; line-height: 1.25; }
.members-import-confirm { max-width: 560px; }
.members-simple-list { margin: .2rem 0 0 1.2rem; padding: 0; }
.members-simple-list li + li { margin-top: .45rem; }
@media (max-width: 720px) {
  .members-import-kpis { grid-template-columns: 1fr 1fr; }
  .members-project-control-head .btn { width: 100%; justify-content: center; }
}
.members-flash.warning { background:#fff8e6; color:#73551a; border:1px solid #ead7a6; }


/* V0.40.3 — finition des éditeurs de projet */
.members-editor-actions { margin-top: 2px; }
.members-editor-cancel { min-width: 96px; }
.members-milestone-list>article .members-project-editor { min-width:0; max-width:100%; }
.members-milestone-list>article .members-project-editor[open] {
  grid-column:1 / -1;
  width:100%;
  min-width:0;
  margin-top:4px;
  padding-top:12px;
  border-top:1px dashed #e7e0d6;
  text-align:left;
}
.members-milestone-list>article .members-project-editor[open] > summary { margin-bottom:10px; }
.members-milestone-list>article .members-project-editor .members-form { width:100%; min-width:0; }

/* V0.42.6 — filtres de dates : état actif visible */
.members-event-list-filters [data-event-filter].is-active {
  background:var(--deep-teal);
  color:#fff;
  border-color:var(--deep-teal);
  box-shadow:0 2px 0 rgba(0,0,0,.08);
}
.members-event-list-filters [data-event-filter].is-active:hover {
  background:var(--deep-teal);
  color:#fff;
}


/* V0.42.8 — présentation compacte des filtres de dates */
.members-event-list-filters {
  display:grid;
  gap:8px;
  justify-items:stretch;
}
.members-event-period-filters {
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  justify-content:flex-end;
}
.members-event-period-filters .btn {
  margin:0;
  white-space:nowrap;
}
.members-event-project-filter {
  display:block;
  width:100%;
}
.members-event-project-filter select {
  width:100%;
}
@media(max-width:720px){
  .members-section-head.small .members-event-list-filters { margin-top:14px; width:100%; }
  .members-event-period-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .members-event-period-filters .btn { min-width:0; padding-left:7px; padding-right:7px; }
}

/* V0.43 — contexte de saison */
.members-season-bar {
  border-bottom:1px solid rgba(15,95,99,.14);
  background:#f7f3ec;
}
.members-season-bar-inner {
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  padding-top:6px;
  padding-bottom:6px;
}
.members-season-switcher { margin:0; }
.members-season-switcher label {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:var(--muted);
  font-size:.82rem;
  font-weight:800;
}
.members-season-switcher select {
  width:auto;
  min-width:132px;
  margin:0;
  padding:6px 30px 6px 9px;
  border-radius:9px;
  font-weight:800;
  background:#fff;
}
.members-season-status {
  padding:4px 8px;
  border-radius:999px;
  background:#e3f1ef;
  color:var(--deep-teal);
  font-size:.75rem;
  font-weight:900;
}
.members-season-bar a {
  color:var(--deep-teal);
  font-size:.8rem;
  font-weight:850;
  text-decoration:none;
}
@media(max-width:720px){
  .members-season-bar-inner { justify-content:space-between; gap:8px; }
  .members-season-switcher { flex:1 1 auto; min-width:0; }
  .members-season-switcher label { width:100%; }
  .members-season-switcher label span { flex:0 0 auto; }
  .members-season-switcher select { min-width:0; width:100%; }
  .members-season-status { display:none; }
  .members-season-bar a { white-space:nowrap; }
}

/* V0.44 — Ergonomie administration : patron Liste > Nouveau / Détail (Membres) */
.members-entity-shell { max-width:1180px; }
.members-entity-list-head { align-items:flex-start; }
.members-entity-list-head p { margin:5px 0 0; color:var(--muted); }
.members-entity-head-actions,.members-entity-actions,.members-entity-secondary-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.members-entity-head-actions { justify-content:flex-end; }
.members-entity-editor { max-width:900px; margin:0 auto; }
.members-entity-editor .members-section-head { align-items:flex-start; }
.members-entity-subtitle { margin:5px 0 0; color:var(--muted); }
.members-entity-actions { padding-top:4px; }
.members-entity-secondary-actions { margin-top:22px; padding-top:18px; border-top:1px dashed var(--line); }
.members-entity-secondary-actions form { margin:0; }
.members-entity-table { min-width:760px; }
.members-entity-row-action { text-align:right !important; white-space:nowrap; }
.members-member-state { display:inline-block; margin-top:5px; padding:3px 7px; border-radius:999px; background:#eee; color:#666; font-size:.7rem; font-weight:900; text-transform:uppercase; }
.members-check-card { border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
.members-check-card > span:first-child { display:block; margin-bottom:8px; text-transform:uppercase; letter-spacing:.04em; font-size:.72rem; font-weight:900; color:var(--muted); }
.members-check-card > span:nth-child(2) { display:flex; align-items:center; gap:8px; font-weight:800; }
.members-check-card input { width:auto; margin:0; }
.members-season-memberships { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
.members-season-memberships label { display:flex; gap:9px; align-items:flex-start; padding:10px 12px; border:1px solid #eee8de; border-radius:12px; background:#fbfaf7; }
.members-season-memberships input { width:auto; margin:3px 0 0; }
.members-season-memberships strong,.members-season-memberships small { display:block; }
.members-season-memberships small { color:var(--muted); margin-top:2px; }
@media(max-width:720px){
  .members-entity-head-actions { justify-content:flex-start; margin-top:12px; }
  .members-entity-head-actions .btn,.members-entity-actions .btn { flex:1 1 auto; text-align:center; }
  .members-season-memberships { grid-template-columns:1fr; }
}

/* V0.44.2 — Ergonomie Projets : liste prioritaire, création/détail dédiés, participants en lecture */
.members-project-list-v0442 { margin-top:4px; }
.members-project-list-card { scroll-margin-top:110px; }
.members-project-list-card .members-admin-project-copy { min-width:0; }
.members-project-list-summary { margin-top:8px !important; }
.members-project-card-actions { margin-top:14px; align-items:center; }
.members-project-participant-summary { border-left:1px solid #eee8de; padding-left:20px; min-width:0; }
.members-project-participant-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:11px; }
.members-project-participant-head > div { display:flex; align-items:center; gap:8px; }
.members-project-participant-title { color:var(--deep-teal); font-weight:900; }
.members-project-participant-head strong { display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 7px; border-radius:999px; background:#eef7f7; color:var(--deep-teal); font-size:.78rem; }
.members-project-participant-list { display:flex; flex-wrap:wrap; gap:7px; }
.members-project-participant-list span { display:inline-block; padding:6px 9px; border-radius:999px; background:#f7f4ee; border:1px solid #ebe4d9; font-size:.82rem; font-weight:800; }
.members-project-participant-form { margin:0; }
.members-project-participant-form .members-check-list { margin-top:4px; }
.members-project-participant-form .members-entity-actions { margin-top:12px; }
@media(max-width:980px){
  .members-project-participant-summary { border-left:0; border-top:1px solid #eee8de; padding:14px 0 0; }
}
@media(max-width:560px){
  .members-project-participant-head { align-items:flex-start; }
  .members-project-card-actions .btn,.members-project-card-actions .members-text-button { width:100%; text-align:center; }
}

/* V0.44.3 — Ergonomie Lieux & Informations */
.members-location-entity-list { display:grid; gap:12px; }
.members-location-entity-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px; align-items:center; padding:18px 0; border-top:1px solid #eee8de; }
.members-location-entity-row:first-child { border-top:0; }
.members-location-entity-row.is-disabled { opacity:.68; }
.members-location-entity-main h3 { margin:5px 0 3px; }
.members-location-entity-main p { margin:0 0 5px; color:var(--muted); }
.members-location-entity-main small { display:block; max-width:700px; color:var(--muted); line-height:1.45; }
.members-location-entity-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
.members-location-entity-meta > span { display:flex; align-items:baseline; gap:4px; color:var(--muted); font-size:.78rem; }
.members-location-entity-meta > span strong { color:var(--deep-teal); font-size:1.12rem; }
.information-entity-list .information-admin-item { padding:18px 0; }
.information-entity-list .information-admin-summary { align-items:center; }
.members-entity-row-buttons { display:grid; grid-template-columns:120px 130px; align-items:center; justify-content:end; gap:10px; }
.members-entity-row-buttons .btn,.members-entity-row-buttons .members-text-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; text-align:center; }
.information-entity-editor .members-information-meta { margin-top:8px; }
.information-entity-attachments { margin-top:22px; padding-top:18px; border-top:1px dashed var(--line); }
.information-entity-management { align-items:flex-end; }
.information-entity-management form { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
.information-entity-management .members-check-line { margin:0; }
@media(max-width:760px){
  .members-location-entity-row { grid-template-columns:1fr; gap:12px; }
  .members-location-entity-meta { justify-content:flex-start; }
  .information-entity-list .information-admin-summary { display:block; }
  .members-entity-row-buttons { display:flex; flex-wrap:wrap; justify-content:flex-start; margin-top:12px; }
  .members-entity-row-buttons .btn { flex:1 1 auto; text-align:center; }
}


/* V0.44.4 — Planning administration : liste prioritaire et fiche séance dédiée */
.members-planning-shell { max-width:1240px; }
.members-planning-editor { max-width:1180px; }
.members-planning-editor-wide { max-width:1240px; margin:0 auto; }
.members-planning-toolbar { display:grid; grid-template-columns:auto minmax(260px,360px); justify-content:space-between; align-items:end; gap:18px; margin:22px 0 8px; padding:16px 0; border-top:1px solid #eee8de; border-bottom:1px solid #eee8de; }
.members-planning-toolbar .members-event-period-filters { justify-content:flex-start; }
.members-planning-admin-list { display:grid; gap:0; }
.members-admin-event-list article.members-planning-admin-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:center; padding:22px 0; border-bottom:1px solid #eee8de; scroll-margin-top:120px; }
.members-admin-event-list article.members-planning-admin-row:first-of-type { padding-top:14px; }
.members-planning-admin-main { min-width:0; }
.members-planning-admin-datetime { margin:0 0 9px !important; color:var(--deep-teal) !important; font-size:1.05rem; font-weight:950; letter-spacing:.01em; }
.members-planning-admin-tags { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:7px; }
.members-planning-admin-row h3 { margin:0 0 5px !important; font-size:clamp(1.2rem,2vw,1.55rem); }
.members-planning-admin-context { margin:0 0 9px !important; color:var(--muted) !important; }
.members-planning-admin-context strong { color:var(--ink); }
.members-planning-admin-people { margin:8px 0 0 !important; color:var(--muted) !important; line-height:1.45; }
.members-planning-admin-people strong { color:var(--deep-teal); }
.members-planning-admin-action { align-self:center; }
.members-planning-admin-action .btn { min-width:118px; text-align:center; }
.members-planning-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; align-items:start; }
.members-planning-form-column { display:grid; gap:16px; min-width:0; }
.members-planning-form-column > fieldset,.members-planning-progress-wide > fieldset { margin:0; }
.members-planning-form-column .members-event-scope-fieldset { min-width:0; }
.members-planning-progress-wide { margin-top:18px; }
.members-planning-edit-form > .members-entity-actions { margin-top:18px; }
.members-planning-editor .members-entity-actions { margin-top:18px; }
.members-planning-editor .members-event-units-editor { max-height:560px; overflow:auto; padding-right:4px; }
.members-planning-editor .members-event-direct-members { margin-top:14px; }
.members-planning-admin-row[hidden] { display:none !important; }
@media(max-width:980px){
  .members-planning-toolbar { grid-template-columns:1fr; align-items:stretch; }
  .members-planning-toolbar .members-event-project-filter { max-width:none; }
  .members-planning-form-grid { grid-template-columns:1fr; }
  .members-planning-editor .members-event-units-editor { max-height:none; overflow:visible; }
}
@media(max-width:720px){
  .members-admin-event-list article.members-planning-admin-row { grid-template-columns:1fr; gap:12px; }
  .members-planning-admin-action .btn { width:100%; }
  .members-planning-toolbar .members-event-period-filters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* V0.44.5 — tableau de bord, planning membre et fiche projet */
.members-dashboard-side { display:grid; gap:20px; min-width:0; }
.members-dashboard-panel-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:10px; }
.members-dashboard-panel-head h2 { margin:0; font-size:2.3rem; }
.members-dashboard-panel-head a { color:var(--deep-teal); font-weight:900; white-space:nowrap; }
.members-dashboard-information-list { display:grid; gap:0; }
.members-dashboard-information-list > a { display:grid; gap:5px; padding:13px 0; border-top:1px solid #eee8de; color:inherit; text-decoration:none; }
.members-dashboard-information-list > a:first-child { border-top:0; }
.members-dashboard-information-list > a:hover strong { text-decoration:underline; text-decoration-color:var(--amber); text-underline-offset:4px; }
.members-dashboard-information-list > a > div { display:flex; gap:5px; flex-wrap:wrap; }
.members-dashboard-information-list strong { font-size:1rem; line-height:1.25; }
.members-dashboard-information-list small { color:var(--muted); line-height:1.35; }
.members-member-planning-toolbar { display:grid; grid-template-columns:auto minmax(240px,340px); align-items:end; justify-content:space-between; gap:18px; margin:0 0 8px; padding:0 0 18px; border-bottom:1px solid #eee8de; }
.members-member-planning-toolbar .members-event-period-filters { display:flex; flex-wrap:nowrap; gap:8px; }
.members-member-planning-toolbar .members-event-period-filters .btn { white-space:nowrap; }
.members-member-planning-toolbar .members-event-period-filters .is-active { background:var(--deep-teal); color:#fff; border-color:var(--deep-teal); }
.members-member-planning-toolbar .members-event-project-filter { margin:0; }
.members-member-planning-toolbar .members-event-project-filter label { margin:0; }
.members-member-planning-toolbar .members-event-project-filter select { margin-top:5px; }
/* L'ensemble de la colonne droite défile désormais naturellement avec la fiche projet. */
.members-project-member-side { position:static; top:auto; align-self:start; }
@media(max-width:1050px){.members-dashboard-side{display:grid;grid-template-columns:1fr 1fr}.members-member-planning-toolbar{grid-template-columns:1fr}}
@media(max-width:760px){.members-dashboard-side{grid-template-columns:1fr}.members-member-planning-toolbar .members-event-period-filters{overflow-x:auto;padding-bottom:4px}.members-member-planning-toolbar .members-event-period-filters .btn{flex:0 0 auto}}


/* V0.44.6 — Pilotage projet : sections ordonnées, navigation interne et création à la demande */
.members-project-pilot-container { display:flex; flex-direction:column; }
.members-project-pilot-container > .members-project-control-head { order:0; }
.members-project-pilot-container > .members-project-anchor-nav { order:1; }
.members-project-pilot-container > .members-pilot-overview { order:2; }
.members-project-pilot-container > .members-pilot-participants { order:3; }
.members-project-pilot-container > .members-casting-panel { order:4; }
.members-project-pilot-container > .members-project-structure-panel { order:5; }
.members-project-pilot-container > .members-retro-panel { order:6; }
.members-project-pilot-container > .members-progress-axes-panel { order:7; }
.members-project-pilot-container > .members-progress-dashboard-panel { order:8; }
.members-project-pilot-container > .members-pilot-history { order:9; }

.members-project-anchor-nav {
  position:sticky;
  top:10px;
  z-index:35;
  display:flex;
  gap:7px;
  align-items:center;
  overflow-x:auto;
  margin:8px 0 20px;
  padding:9px;
  border:1px solid #e9e2d7;
  border-radius:16px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(15,23,32,.08);
  scrollbar-width:thin;
  backdrop-filter:blur(10px);
}
.members-project-anchor-nav a {
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:11px;
  color:var(--ink);
  font-size:.86rem;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.members-project-anchor-nav a:hover { background:var(--cream); color:var(--deep-teal); }
.members-project-anchor-nav a.is-active { background:var(--deep-teal); color:#fff; }

#vue-ensemble,#participants,#roles,#structure,#planning,#jalons,#avancement,#historique { scroll-margin-top:92px; }
.members-pilot-participants,.members-pilot-history,.members-pilot-section { margin-bottom:18px; }
.members-pilot-participant-list { display:flex; flex-wrap:wrap; gap:9px; }
.members-pilot-participant-list span { padding:8px 11px; border-radius:999px; background:var(--cream); border:1px solid #eee5d9; font-weight:800; }
.members-section-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }

.members-project-create-panel[hidden],[data-project-create-list][hidden] { display:none !important; }
.members-project-create-panel { scroll-margin-top:110px; }
.members-casting-layout,.members-progress-axes-layout { display:block; }
.members-role-create:not([hidden]),.members-progress-axis-create:not([hidden]) { max-width:780px; margin:0 auto; padding:18px; border-radius:15px; background:var(--cream); }
.members-role-list,.members-progress-axis-list { width:100%; }
.members-project-control-grid:not(:has(.members-project-create-panel:not([hidden]))) { display:none; }
.members-project-control-grid:has(.members-project-create-panel:not([hidden])) { grid-template-columns:1fr; margin-bottom:18px; }
.members-project-control-grid > .members-project-create-panel { max-width:900px; width:100%; margin:0 auto; }
.members-retro-layout:has(> .members-project-create-panel[hidden]) { grid-template-columns:1fr; }
.members-retro-layout > .members-project-create-panel:not([hidden]) { background:var(--cream); }

.members-pilot-history .members-retro-event-list { margin-top:0; }
.members-pilot-history .members-retro-event-list a:last-child { border-bottom:0; }

@media(max-width:760px){
  .members-project-anchor-nav { top:68px; margin-left:-4px; margin-right:-4px; border-radius:12px; padding:7px; }
  .members-project-anchor-nav a { font-size:.8rem; padding:8px 9px; }
  #vue-ensemble,#participants,#roles,#structure,#planning,#jalons,#avancement,#historique { scroll-margin-top:130px; }
  .members-section-actions { justify-content:flex-start; margin-top:12px; }
  .members-section-actions .btn { flex:1 1 auto; text-align:center; }
}

/* V0.44.6.1 — fiches détail indépendantes dans le pilotage projet */
.members-project-detail-shell { max-width:980px; }
.members-project-independent-editor { max-width:920px; margin:0 auto; }
.members-project-independent-editor .members-form { margin-top:10px; }
.members-independent-check-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
.members-project-item-edit { align-self:start; white-space:nowrap; }
.members-casting-panel .members-role-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:start; }
.members-phase-card > .members-project-item-edit { margin:10px 0 4px; }
.members-unit-actions { display:flex; flex-direction:column; gap:8px; align-items:flex-end; min-width:135px; }
.members-unit-actions .btn,.members-unit-actions .members-text-button { text-align:center; }
.members-progress-row-actions { display:flex; justify-content:flex-end; margin-top:11px; }
.members-progress-row-actions .btn { min-width:155px; text-align:center; }
.members-independent-history { margin-top:24px; padding-top:18px; border-top:1px dashed var(--line); }
.members-independent-history h3 { margin:0 0 10px; }
.members-independent-history p { margin:0; padding:10px 0; border-top:1px solid #eee8de; }
.members-independent-history p:first-of-type { border-top:0; }
.members-independent-history small,.members-independent-history em { display:block; margin-top:3px; color:var(--muted); }
@media(max-width:760px){
  .members-independent-check-list { grid-template-columns:1fr; }
  .members-casting-panel .members-role-card { grid-template-columns:1fr; }
  .members-project-item-edit { width:100%; text-align:center; }
  .members-unit-actions { align-items:stretch; margin-top:12px; }
  .members-progress-row-actions { justify-content:stretch; }
  .members-progress-row-actions .btn { width:100%; }
}

/* V0.44.6.2 — retours instantanés vers une section du pilotage */
.members-project-pilot-page.is-focus-pending { visibility:hidden; }

/* V0.45.0 — Régie de la semaine sur la page Administration */
.members-admin-dashboard { display:grid; gap:20px; }
.members-admin-next-session { border-color:#c9dddd; background:linear-gradient(145deg,#fff,#f6fbfb); }
.members-admin-next-session .members-section-head { align-items:center; }
.members-admin-next-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr); gap:24px; align-items:start; }
.members-admin-next-date { margin:12px 0 0; font-size:1.05rem; color:var(--muted); }
.members-admin-next-date strong { color:var(--ink); }
.members-admin-next-program { margin-top:18px; padding:14px 16px; border-radius:14px; background:#fff; border:1px solid #e3ecea; }
.members-admin-next-program > strong { display:block; margin-bottom:8px; color:var(--deep-teal); }
.members-admin-next-program > div { display:flex; flex-wrap:wrap; gap:7px; }
.members-admin-next-program span { padding:6px 9px; border-radius:999px; background:var(--cream); font-size:.8rem; font-weight:800; }
.members-admin-next-program small { align-self:center; color:var(--muted); }
.members-admin-availability-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:15px; border-radius:16px; background:#fff; border:1px solid #dce9e7; }
.members-admin-availability-summary > span { grid-column:1/-1; color:var(--muted); font-size:.82rem; font-weight:850; }
.members-admin-availability-summary > div { padding:10px 11px; border-radius:12px; background:#f7f5f0; }
.members-admin-availability-summary b,.members-admin-availability-summary small { display:block; }
.members-admin-availability-summary b { font-size:1.55rem; line-height:1; }
.members-admin-availability-summary small { margin-top:4px; color:var(--muted); font-size:.73rem; }
.members-admin-availability-summary .is-available { color:#257049; }
.members-admin-availability-summary .is-unavailable { color:#b23d31; }
.members-admin-availability-summary .is-maybe { color:#8a6100; }
.members-admin-availability-summary .is-unknown { color:#5f6670; }
.members-admin-next-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }

.members-admin-watch-panel { padding-bottom:18px; }
.members-admin-watch-list { display:grid; }
.members-admin-watch-item { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:14px; align-items:center; padding:15px 0; border-top:1px solid #eee8de; }
.members-admin-watch-item:first-child { border-top:0; padding-top:4px; }
.members-admin-watch-item.level-late .members-admin-watch-icon { background:#fff0ee; color:#a93429; }
.members-admin-watch-item.level-watch .members-admin-watch-icon { background:#fff8db; color:#876000; }
.members-admin-watch-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; font-weight:950; }
.members-admin-watch-copy > div { display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.members-admin-watch-copy > div > strong { font-size:1rem; }
.members-admin-watch-copy p { margin:5px 0 0; font-weight:800; }
.members-admin-watch-copy small { display:block; margin-top:4px; color:var(--muted); line-height:1.35; }
.members-admin-watch-item > a { white-space:nowrap; }
.members-admin-watch-empty { padding:16px 18px; border-radius:14px; background:#edf9f1; color:#245b42; }
.members-admin-watch-empty strong { font-size:1.05rem; }
.members-admin-watch-empty p { margin:5px 0 0; }

.members-admin-dashboard-two-col { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.7fr); gap:20px; align-items:start; }
.members-admin-dashboard-side { display:grid; gap:20px; }
.members-admin-project-dashboard-list { display:grid; gap:0; }
.members-admin-project-dashboard-list > article { padding:18px 0; border-top:1px solid #eee8de; }
.members-admin-project-dashboard-list > article:first-child { border-top:0; padding-top:4px; }
.members-admin-project-dashboard-head { display:flex; justify-content:space-between; gap:18px; align-items:center; }
.members-admin-project-dashboard-head > div { display:flex; gap:12px; align-items:center; }
.members-admin-project-dashboard-head .member-project-status { flex:0 0 11px; }
.members-admin-project-dashboard-head strong,.members-admin-project-dashboard-head small { display:block; }
.members-admin-project-dashboard-head small { margin-top:2px; color:var(--muted); }
.members-admin-project-dashboard-meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:10px; color:var(--muted); font-size:.8rem; }
.members-admin-project-dashboard-meta strong { color:var(--ink); }
.members-admin-upcoming-list { display:grid; gap:0; }
.members-admin-upcoming-list > a { display:flex; gap:12px; align-items:center; padding:11px 0; border-top:1px solid #eee8de; color:inherit; text-decoration:none; }
.members-admin-upcoming-list > a:first-child { border-top:0; }
.members-admin-upcoming-list > a:hover strong { text-decoration:underline; text-decoration-color:var(--amber); text-underline-offset:4px; }
.members-admin-upcoming-date { width:44px; height:46px; flex:0 0 44px; display:grid; place-content:center; text-align:center; border-radius:11px; background:var(--cream); }
.members-admin-upcoming-date b,.members-admin-upcoming-date small { display:block; line-height:1; }
.members-admin-upcoming-date b { font-size:1.12rem; }
.members-admin-upcoming-date small { margin-top:3px; color:var(--muted); font-size:.67rem; font-weight:850; }
.members-admin-upcoming-list strong,.members-admin-upcoming-list small { display:block; }
.members-admin-upcoming-list small { margin-top:3px; color:var(--muted); }
.members-admin-management { margin-top:4px; }
.members-admin-management > .members-section-head { margin-bottom:14px; }

@media(max-width:1050px){
  .members-admin-next-layout,.members-admin-dashboard-two-col { grid-template-columns:1fr; }
  .members-admin-dashboard-side { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px){
  .members-admin-dashboard-side { grid-template-columns:1fr; }
  .members-admin-watch-item { grid-template-columns:30px 1fr; }
  .members-admin-watch-item > a { grid-column:2; justify-self:start; }
  .members-admin-project-dashboard-head { align-items:flex-start; }
  .members-admin-project-dashboard-head .btn { margin-top:0; }
}
@media(max-width:560px){
  .members-admin-availability-summary { grid-template-columns:1fr 1fr; }
  .members-admin-project-dashboard-head { display:block; }
  .members-admin-project-dashboard-head > a { display:inline-block; margin-top:10px; }
}

/* V0.45.0.1 — retour contextuel vers le tableau de bord Administration */
.members-admin-dashboard-page.is-focus-pending { visibility:hidden; }
#prochaine-seance,#a-surveiller,#projets-en-cours,#prochains-rendez-vous,#informations-en-cours { scroll-margin-top:92px; }
@media (max-width: 760px) {
  #prochaine-seance,#a-surveiller,#projets-en-cours,#prochains-rendez-vous,#informations-en-cours { scroll-margin-top:130px; }
}

/* V0.45.1 — préparation de séance */
.members-preparation-notes { background:#fffdf7; border-color:#e9ddbf; }
.members-preparation-notes textarea[name="notes"] { min-height:92px; }
.members-preparation-notes textarea[name="private_note"] { min-height:118px; }
.members-preparation-notes textarea[name="preparation_note"] { min-height:108px; }
.members-after-session-fieldset { background:#faf8f3; border-color:#e2ddd4; }
.members-event-unit-progress-summary { color:var(--deep-teal) !important; font-weight:800; }
.members-preparation-participants { background:#fbffff; border-color:#cfe3e4; }
.members-preparation-availability-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:8px 0 12px; }
.members-preparation-availability-counts span { display:flex; align-items:baseline; gap:5px; padding:9px 10px; border-radius:11px; background:#f3f1ec; color:var(--muted); font-size:.82rem; }
.members-preparation-availability-counts span b { font-size:1.15rem; color:var(--ink); }
.members-preparation-availability-counts .available { background:#edf9f1; }
.members-preparation-availability-counts .unavailable { background:#fff0f0; }
.members-preparation-availability-counts .maybe { background:#fff8db; }
.members-preparation-participant-list { display:grid; gap:7px; }
.members-preparation-participant { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:10px 12px; border:1px solid #e4e0d8; border-left-width:4px; border-radius:11px; background:#fff; }
.members-preparation-participant.available { border-left-color:#2b8b57; }
.members-preparation-participant.unavailable { border-left-color:#c43d32; }
.members-preparation-participant.maybe { border-left-color:#b88700; }
.members-preparation-participant.unknown { border-left-color:#9a9489; }
.members-preparation-participant > div { min-width:0; }
.members-preparation-participant strong { display:block; }
.members-preparation-participant small { display:block; margin-top:2px; color:var(--muted); }
.members-preparation-participant small.comment { font-style:italic; }
.members-preparation-availability-editor { flex:0 0 auto; display:flex; flex-direction:column; gap:4px; }
.members-preparation-availability-editor label { margin:0; color:var(--muted); font-size:.74rem; font-weight:750; }
.members-preparation-availability-editor select { width:auto; min-width:150px; max-width:100%; margin:0; padding:7px 10px; font-size:.85rem; }
.members-preparation-participant > span { flex:0 0 auto; padding:5px 8px; border-radius:999px; background:#f2f0eb; font-size:.76rem; font-weight:900; }
.members-preparation-participant.available > span { background:#edf9f1; color:#236e49; }
.members-preparation-participant.unavailable > span { background:#fff0f0; color:#a8322a; }
.members-preparation-participant.maybe > span { background:#fff8db; color:#876700; }
.members-preparation-participants-help { margin-top:10px !important; }
@media(max-width:720px){
  .members-preparation-availability-counts { grid-template-columns:1fr 1fr; }
  .members-preparation-participant { align-items:flex-start; }
}
@media(max-width:480px){
  .members-preparation-availability-counts { grid-template-columns:1fr; }
  .members-preparation-participant { flex-direction:column; gap:6px; }
  .members-preparation-availability-editor { width:100%; }
  .members-preparation-availability-editor select { width:100%; }
}


/* V0.45.2 — bilan de séance et avancement */
.members-after-session-panel {
  margin-top:22px;
  border:1px solid #dfd6c7;
  border-radius:16px;
  background:#fffdf8;
  overflow:hidden;
}
.members-after-session-panel > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px;
  cursor:pointer;
  list-style:none;
  background:#faf6ee;
}
.members-after-session-panel > summary::-webkit-details-marker { display:none; }
.members-after-session-panel > summary::after {
  content:'＋';
  flex:0 0 auto;
  color:var(--deep-teal);
  font-size:1.2rem;
  font-weight:900;
}
.members-after-session-panel[open] > summary::after { content:'−'; }
.members-after-session-panel > summary > span { min-width:0; display:grid; gap:3px; }
.members-after-session-panel > summary strong { font-size:1rem; }
.members-after-session-panel > summary small { color:var(--muted); line-height:1.35; }
.members-after-session-status {
  margin-left:auto;
  padding:6px 9px;
  border-radius:999px;
  font-size:.74rem;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}
.members-after-session-status.is-finished { background:#fff1dd; color:#8a5c00; }
.members-after-session-status.is-upcoming { background:#edf7f7; color:var(--deep-teal); }
.members-after-session-body { padding:18px; }
.members-after-session-recap {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px;
  padding:12px 14px;
  border-radius:13px;
  background:#f7f4ee;
}
.members-after-session-recap > div { display:flex; gap:6px; align-items:baseline; }
.members-after-session-recap span { color:var(--muted); font-size:.8rem; }
.members-after-session-recap strong { font-size:.86rem; }
.members-after-session-recap a { margin-left:auto; color:var(--deep-teal); font-size:.82rem; font-weight:900; }
.members-after-session-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
.members-after-session-grid > fieldset { margin:0; }
.members-after-session-shared { background:#fbffff; border-color:#cfe3e4; }
.members-after-session-private { background:#fffaf0; border-color:#ead6a8; }
.members-after-session-shared textarea { min-height:100px; }
.members-after-session-private textarea { min-height:74px; }
.members-after-session-panel .members-planning-progress-wide { margin-top:16px; }
.members-after-session-panel .members-event-progress-fieldset { margin:0; background:#fff; }
#event-programme { scroll-margin-top:100px; }
@media(max-width:820px){
  .members-after-session-grid { grid-template-columns:1fr; }
  .members-after-session-panel > summary { align-items:flex-start; flex-wrap:wrap; }
  .members-after-session-status { margin-left:0; }
  .members-after-session-recap a { width:100%; margin-left:0; }
}

/* V0.45.2.1 — programme de séance replié sur les seules unités prévues */
.members-event-planned-units { display:grid; gap:7px; }
.members-event-unit-planned { grid-template-columns:minmax(0,1fr) auto; }
.members-event-unit-planned[hidden] { display:none !important; }
.members-event-no-planned { margin:2px 0 4px !important; }
.members-event-programme-editor { margin-top:10px; padding-top:10px; border-top:1px dashed #d8e1df; }
.members-event-programme-editor summary { cursor:pointer; font-weight:900; color:var(--deep-teal); }
.members-event-programme-editor > .members-help { margin:8px 0 !important; }
.members-event-programme-options { display:grid; gap:6px; max-height:340px; overflow:auto; padding-right:4px; }
.members-event-programme-option { display:flex !important; align-items:flex-start !important; gap:9px !important; margin:0 !important; padding:9px 10px; border:1px solid #e7e0d6; border-radius:10px; background:#fff; text-transform:none !important; letter-spacing:0 !important; cursor:pointer; }
.members-event-programme-option input { width:auto !important; margin:3px 0 0 !important; flex:0 0 auto; }
.members-event-programme-option span { min-width:0; }
.members-event-programme-option strong { display:block; font-size:.88rem; }
.members-event-programme-option small { display:block; margin-top:2px; color:var(--muted); font-size:.78rem; }
@media(max-width:760px){
  .members-event-unit-planned { grid-template-columns:1fr; }
  .members-event-unit-planned > label { justify-self:start; }
  .members-event-programme-options { max-height:none; overflow:visible; }
}

/* V0.45.3 — lecture membre des séances : avant / après */
.members-event-program { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.members-rehearsal-notes { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }
.members-event-program.is-before-session .members-event-program-group.planned { background:#eef7f7; border-color:#d4e9e9; }
.members-event-program.is-after-session .members-event-program-group.planned { background:#f7f4ee; border-color:#eee8de; }
.members-availability-heading { margin:0 0 12px; }
.members-availability-heading strong { display:block; font-size:1rem; }
.members-availability-heading small { display:block; margin-top:2px; color:var(--muted); font-size:.82rem; }
@media(max-width:720px){
  .members-event-program,.members-rehearsal-notes{grid-template-columns:1fr;}
}


/* V0.45.3.1 — tableau de bord membre : consignes visibles et disponibilités sans rechargement */
.members-member-dashboard-page.is-focus-pending { visibility:hidden; }
.members-dashboard-consigne { margin-top:10px; padding:10px 12px; border-radius:11px; background:#fff8db; border:1px solid #efe1a4; }
.members-dashboard-consigne strong { display:block; margin-bottom:3px; color:#6f5600; font-size:.75rem; text-transform:uppercase; letter-spacing:.045em; }
.members-dashboard-consigne p { margin:0; color:var(--ink); font-size:.88rem; line-height:1.45; }
.dashboard-availability-form.is-saving { opacity:.68; pointer-events:none; }
.dashboard-availability-form.is-saved .availability-choice.selected { box-shadow:0 0 0 2px rgba(255,255,255,.9) inset,0 0 0 2px currentColor; }

/* V0.46 — tableau de bord membre orienté « ce que j’ai à faire » */
.members-dashboard-actions-panel { margin-bottom:20px; }
.members-dashboard-actions-panel .members-dashboard-panel-head { margin-bottom:14px; }
.members-dashboard-actions-panel .members-dashboard-panel-head h2 { font-size:clamp(2rem,4vw,3rem); }
.members-dashboard-task-list { display:grid; gap:0; }
.members-dashboard-task { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 0; border-top:1px solid #eee8de; color:inherit; text-decoration:none; }
.members-dashboard-task:first-child { border-top:0; }
.members-dashboard-task > div { min-width:0; }
.members-dashboard-task strong,.members-dashboard-task small { display:block; }
.members-dashboard-task small { margin-top:2px; color:var(--muted); }
.members-dashboard-task-action { color:var(--deep-teal); font-weight:900; white-space:nowrap; }
.members-dashboard-task:hover strong,.members-dashboard-task:hover .members-dashboard-task-action { text-decoration:underline; text-decoration-color:var(--amber); text-underline-offset:4px; }
.members-dashboard-all-done { display:flex; gap:13px; align-items:center; padding:16px; border-radius:14px; background:#edf9f1; color:#245b42; }
.members-dashboard-all-done > span { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; border-radius:50%; background:#d5f1df; font-size:1.15rem; font-weight:950; }
.members-dashboard-all-done strong { display:block; }
.members-dashboard-all-done p { margin:3px 0 0; font-size:.86rem; }
.members-dashboard-all-done.compact { padding:13px; }

.members-next-session-card { margin-bottom:20px; border-color:#bcdadd; box-shadow:0 16px 36px rgba(18,91,96,.08); scroll-margin-top:110px; }
.members-next-session-card .members-section-head { margin-bottom:12px; }
.members-next-session-card .members-section-head h2 { font-size:clamp(2.35rem,5vw,4rem); }
.members-next-session-content { display:grid; grid-template-columns:78px minmax(0,1fr) auto; gap:18px; align-items:start; }
.members-next-session-date { width:72px; min-height:78px; border-radius:18px; display:grid; place-content:center; text-align:center; background:var(--cream); }
.members-next-session-date strong { display:block; font-size:2rem; line-height:1; }
.members-next-session-date span { margin-top:3px; font-size:.82rem; font-weight:900; color:var(--muted); }
.members-next-session-main { min-width:0; }
.members-next-session-time { margin:3px 0 0; color:var(--muted); }
.members-next-session-time strong { color:var(--ink); }
.members-next-session-program { margin-top:15px; }
.members-next-session-program > strong { display:block; margin-bottom:6px; font-size:.78rem; text-transform:uppercase; letter-spacing:.045em; color:var(--deep-teal); }
.members-next-session-availability { grid-column:2 / -1; margin-top:2px; padding-top:15px; border-top:1px solid #eee8de; }
.members-next-session-availability .availability-detail { max-width:560px; }

.members-dashboard-following-panel { margin-bottom:20px; }
.members-dashboard-following-list { display:grid; gap:0; }
.members-dashboard-following-row { display:grid; grid-template-columns:62px minmax(0,1fr) auto; gap:14px; align-items:center; padding:12px 0; border-top:1px solid #eee8de; color:inherit; text-decoration:none; }
.members-dashboard-following-row:first-child { border-top:0; }
.members-dashboard-following-row > div:nth-child(2) { min-width:0; }
.members-dashboard-following-row strong,.members-dashboard-following-row small { display:block; }
.members-dashboard-following-row small { margin-top:3px; color:var(--muted); }
.members-dashboard-following-row:hover > div:nth-child(2) > strong { text-decoration:underline; text-decoration-color:var(--amber); text-underline-offset:4px; }

.members-dashboard-lower-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:20px; align-items:start; }
.members-dashboard-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.members-dashboard-project-card { display:grid; gap:11px; padding:16px; border:1px solid #eee8de; border-radius:16px; color:inherit; text-decoration:none; background:#fff; transition:.18s; }
.members-dashboard-project-card:hover { transform:translateY(-2px); border-color:#cbdadb; box-shadow:0 8px 20px rgba(15,23,32,.06); }
.members-dashboard-project-title { display:flex; align-items:center; gap:10px; }
.members-dashboard-project-title .member-project-status { height:40px; flex:0 0 10px; }
.members-dashboard-project-title strong,.members-dashboard-project-title small { display:block; }
.members-dashboard-project-title small { color:var(--muted); }
.members-dashboard-project-role,.members-dashboard-project-next { margin:0; padding-top:9px; border-top:1px solid #f0ece4; }
.members-dashboard-project-role span,.members-dashboard-project-next span { display:block; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; font-weight:800; }
.members-dashboard-project-role strong,.members-dashboard-project-next strong { display:block; margin-top:2px; }
.members-dashboard-project-progress { display:grid; grid-template-columns:1fr auto; gap:5px 10px; font-size:.76rem; color:var(--muted); }
.members-dashboard-project-progress > div { grid-column:1 / -1; height:8px; border-radius:99px; background:#eeeae2; overflow:hidden; }
.members-dashboard-project-progress i { display:block; height:100%; border-radius:inherit; background:var(--teal); }
.members-dashboard-project-card > small { color:var(--muted); }

@media(max-width:980px){
  .members-dashboard-lower-grid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .members-dashboard-task{grid-template-columns:1fr auto;}
  .members-dashboard-task > .tag{justify-self:start;}
  .members-dashboard-task > div{grid-column:1 / -1;grid-row:2;}
  .members-dashboard-task-action{grid-column:2;grid-row:1;align-self:center;}
  .members-next-session-content{grid-template-columns:62px minmax(0,1fr);gap:12px;}
  .members-next-session-date{width:58px;min-height:62px;border-radius:14px;}
  .members-next-session-date strong{font-size:1.55rem;}
  .members-next-session-content > .availability-pill{grid-column:2;justify-self:start;}
  .members-next-session-availability{grid-column:1 / -1;}
  .members-dashboard-following-row{grid-template-columns:52px minmax(0,1fr);}
  .members-dashboard-following-row > .availability-pill{grid-column:2;justify-self:start;}
  .members-dashboard-project-grid{grid-template-columns:1fr;}
}

/* V0.46.0.3 — retours contextuels plus visibles */
.members-target-return {
  justify-content:flex-end;
  margin-top:0;
  margin-bottom:14px;
}
.members-target-hero-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:28px;
}
.members-target-hero-head > div:first-child { min-width:0; }
.members-target-hero-actions {
  display:flex;
  flex:0 0 auto;
  justify-content:flex-end;
  padding-top:4px;
}
.members-page-hero .btn.ghost.light { color:white; border-color:rgba(255,255,255,.78); }
.members-page-hero .btn.ghost.light:hover { background:rgba(255,255,255,.1); }
@media(max-width:760px){
  .members-target-hero-head { display:block; }
  .members-target-hero-actions { justify-content:flex-start; padding-top:16px; }
  .members-target-hero-actions .btn { width:100%; }
}

/* V0.47 — Installation mobile / PWA */
.members-mobile-access-panel .members-section-head { align-items:center; }
.members-app-status { display:inline-flex; align-items:center; min-height:34px; padding:7px 11px; border-radius:999px; background:#f3f0ea; color:var(--muted); font-size:.82rem; font-weight:850; white-space:nowrap; }
.members-app-status.is-installed { background:#e9f8ef; color:#17663c; }
.members-app-status.is-available { background:#eef7f7; color:var(--deep-teal); }
.members-app-status.is-browser { background:#fff5d8; color:#7b5a00; }
.members-app-install-help { margin-top:16px; padding:15px 16px; border:1px solid #d8e7e6; border-radius:14px; background:#fbffff; }
.members-app-install-help p { margin:0; line-height:1.55; color:var(--muted); }
.members-app-install-help .btn + p { margin-top:12px; }
.members-app-privacy-note { margin:14px 0 0; padding-top:12px; border-top:1px solid #eee8de; color:var(--muted); font-size:.88rem; }
.members-access-status { margin:12px 0 16px; padding:14px 16px; border-radius:14px; background:#f6f2e9; }
.members-access-status.is-active { background:#eef8f2; border:1px solid #cee7d8; }
.members-access-status strong { display:block; color:var(--ink); }
.members-access-status p { margin:5px 0 0; color:var(--muted); }
@media(max-width:680px){
  .members-mobile-access-panel .members-section-head { align-items:flex-start; }
  .members-app-status { white-space:normal; text-align:center; }
  .members-app-install-help .btn { width:100%; text-align:center; }
}


/* V0.47.1.1 — finitions recette tableau de bord membre */
.availability-comment-row { display:flex; align-items:flex-end; gap:10px; max-width:620px; margin-top:14px; }
.availability-comment-row .availability-comment,
.availability-detail .availability-comment-row label { flex:1 1 auto; min-width:0; margin-top:0; }
.availability-comment-save { flex:0 0 auto; white-space:nowrap; }
.availability-comment-save:disabled { opacity:.45; cursor:not-allowed; }
.availability-form.is-saving { opacity:.68; pointer-events:none; }
.availability-form.is-saved .availability-choice.selected { box-shadow:0 0 0 2px rgba(255,255,255,.9) inset,0 0 0 2px currentColor; }
.members-next-session-card .members-section-head .btn { white-space:nowrap; }
@media(max-width:560px){
  .availability-comment-row { align-items:stretch; flex-direction:column; }
  .availability-comment-save { align-self:flex-start; }
  .members-next-session-card .members-section-head .btn { padding-left:11px; padding-right:11px; font-size:.78rem; }
}


/* V0.47.1.2 — ouverture d'une séance depuis le Planning */
.members-planning-card-tools {
  justify-content:flex-end;
  margin:0 0 12px;
}
.members-planning-card-tools .btn { white-space:nowrap; }

/* V0.47.1.3 — accès admin à la fiche séance depuis le Planning membre */
.members-planning-card-tools {
  display:flex;
  width:100%;
  justify-content:flex-end;
  align-items:center;
  margin:0 0 12px;
}
.members-planning-card-tools .btn { white-space:nowrap; }
.members-planning-page.is-focus-pending { visibility:hidden; }

/* V0.47.1.4 — Retour précis au point d'appel depuis les fiches d'avancement. */
.members-project-pilot-page .members-unit-card[id],
.members-project-pilot-page .members-progress-unit-row[id] { scroll-margin-top:130px; }
@media (max-width:760px) {
  .members-project-pilot-page .members-unit-card[id],
  .members-project-pilot-page .members-progress-unit-row[id] { scroll-margin-top:155px; }
}

/* V0.47.1.5 : placer la séance enregistrée juste sous la navigation fixe. */
.members-project-pilot-page .members-retro-event-list a[id^="planned-event-"] { scroll-margin-top: 145px; }

/* V0.47.1.7 — Bloc 8 : navigation admin et filtres du planning sur mobile */
@media (max-width:760px) {
  /* Sixième entrée visible uniquement pour les administrateurs. */
  .members-mobile-nav.has-admin { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .members-mobile-nav.has-admin a { padding-inline:0; }
  .members-mobile-nav.has-admin a small { font-size:clamp(.54rem,2.25vw,.66rem); }

  /* Les trois périodes partagent exactement la largeur disponible, sans
     provoquer de défilement latéral ni tronquer « Passées ». */
  .members-planning-list,
  .members-member-planning-toolbar,
  .members-member-planning-toolbar .members-event-period-filters { min-width:0; max-width:100%; }
  .members-member-planning-toolbar .members-event-period-filters {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    gap:6px;
    overflow-x:visible;
    padding-bottom:0;
  }
  .members-member-planning-toolbar .members-event-period-filters .btn {
    box-sizing:border-box;
    min-width:0;
    width:100%;
    padding:10px 3px;
    white-space:normal;
    text-align:center;
    font-size:clamp(.72rem,2.8vw,.9rem);
    line-height:1.25;
  }
}

/* V0.47.1.8 — Bloc 8 : contenir les grilles Planning et Administration.
   Corriger la largeur à la source, sans masquer un débordement du body :
   les seuls défilements horizontaux utiles restent ceux des tableaux. */
@media (max-width:760px) {
  .members-planning-page .container,
  .members-admin-dashboard-page .container { min-width:0; max-width:calc(100% - 26px); }

  /* Les enfants d'une grille ont par défaut une largeur mini liée à leur
     contenu (options du select, titres longs, boutons). Autoriser la réduction. */
  .members-planning-list,
  .members-admin-dashboard,
  .members-member-planning-toolbar,
  .members-event-period-filters,
  .members-admin-next-layout,
  .members-admin-dashboard-two-col,
  .members-admin-dashboard-side,
  .members-admin-next-main,
  .members-admin-project-dashboard-list,
  .members-admin-project-dashboard-head,
  .members-admin-watch-list,
  .members-admin-watch-item,
  .members-admin-upcoming-list { min-width:0; width:100%; }

  .members-planning-list,
  .members-admin-dashboard,
  .members-admin-dashboard-two-col,
  .members-admin-next-layout,
  .members-admin-dashboard-side { grid-template-columns:minmax(0,1fr); }
  .members-member-planning-toolbar { grid-template-columns:minmax(0,1fr); }
  .members-event-project-filter,
  .members-event-project-filter label,
  .members-event-project-filter select { display:block; min-width:0; max-width:100%; width:100%; }
  .members-member-planning-toolbar .members-event-period-filters {
    grid-template-columns:repeat(3,minmax(0,1fr));
    min-width:0;
    justify-content:stretch;
  }
  .members-member-planning-toolbar .members-event-period-filters .btn { min-width:0; max-width:100%; }

  .members-admin-dashboard .member-panel,
  .members-admin-dashboard .members-admin-next-main,
  .members-admin-dashboard .members-admin-project-dashboard-head > div,
  .members-admin-dashboard .members-admin-watch-copy,
  .members-admin-dashboard .members-admin-upcoming-list a > div { min-width:0; max-width:100%; }
  .members-admin-dashboard .members-admin-next-date,
  .members-admin-dashboard .members-admin-next-program,
  .members-admin-dashboard .members-admin-project-dashboard-head strong,
  .members-admin-dashboard .members-admin-watch-copy,
  .members-admin-dashboard .members-admin-upcoming-list strong { overflow-wrap:anywhere; }
  .members-admin-dashboard .members-information-meta,
  .members-admin-dashboard .members-admin-next-program > div { min-width:0; flex-wrap:wrap; }
  .members-admin-dashboard .members-information-meta > *,
  .members-admin-dashboard .members-admin-next-program span { max-width:100%; white-space:normal; overflow-wrap:anywhere; }

  /* Conserver le défilement *interne* des vrais tableaux d'administration. */
  .members-admin-dashboard .members-table-wrap { min-width:0; max-width:100%; overflow-x:auto; }
}

/* V0.47.1.9 — Bloc 8 : écran Administration, navigation mobile.
   La règle @media(max-width:1150px) définie plus bas que celle à 720px
   remettait la grille « Accès directs » sur deux colonnes étroites.
   Ses titres non sécables agrandissaient la largeur de défilement du document,
   alors que la barre fixe, elle, conservait déjà la bonne largeur. */
@media (max-width:760px) {
  .members-admin-dashboard .members-admin-grid {
    grid-template-columns:minmax(0,1fr);
    width:100%;
    min-width:0;
  }
  .members-admin-dashboard .members-admin-grid > * {
    min-width:0;
    max-width:100%;
  }
  .members-mobile-nav.has-admin {
    width:100%;
    max-width:100vw;
    box-sizing:border-box;
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}
@media (max-width:360px) {
  .members-admin-dashboard .members-admin-grid .members-admin-card h2 {
    overflow-wrap:anywhere;
  }
}

/* V0.47.1.11 — Le site public occupe toute la hauteur de la PWA :
   le retour aux membres est directement dans l'en-tête public. */
.members-public-view { box-sizing:border-box; margin:0; height:100vh; height:100dvh; padding-top:env(safe-area-inset-top,0px); overflow:hidden; background:#fbf6f2; }
.members-public-frame { display:block; height:100%; width:100%; border:0; background:#fffdf8; }

/* Statut explicite de validation du bilan */
.members-after-session-status.is-validated { background:#e2f4e8; color:#1b6a3b; }
.members-report-validation { margin-top:18px; padding:16px; border:1px solid #bfdac9; background:#f4fbf5; border-radius:13px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; }
.members-report-validation > div:first-child { flex:1 1 240px; }
.members-report-validation strong { display:block; margin-bottom:5px; }
.members-report-validation p { margin:0; }
.members-report-validation-actions { display:flex; flex-wrap:wrap; gap:10px; }
@media (max-width:720px){ .members-report-validation-actions {width:100%;} .members-report-validation-actions .btn { flex:1 1 100%; } }

/* Correctif — filtres de bilans du planning d'administration */
.members-planning-toolbar .members-admin-planning-filters {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:end;
  gap:12px;
  min-width:0;
}
.members-planning-toolbar .members-event-report-filter {
  display:block;
  width:100%;
  min-width:0;
}
.members-planning-toolbar .members-event-report-filter select { display:block; width:100%; min-width:0; }
@media(max-width:620px){
  .members-planning-toolbar .members-admin-planning-filters { grid-template-columns:minmax(0,1fr); gap:10px; }
}

/* Aperçu d'un membre et filtre des bilans dans le planning direct. */
.members-preview-switcher { margin:0; }
.members-preview-switcher label { display:flex; align-items:center; gap:8px; font-size:.82rem; font-weight:800; color:var(--muted); margin:0; }
.members-preview-switcher select { width:auto; min-width:170px; max-width:230px; margin:0; padding:6px 30px 6px 9px; border-radius:9px; font-weight:800; background:#fff; }
.members-preview-banner { background:#fff3db; border-bottom:2px solid #e4a341; color:#66430c; }
.members-preview-banner-inner { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:10px; padding-bottom:10px; font-size:.86rem; }
.members-preview-banner form { margin:0; }
.members-preview-banner .btn { border-color:#966a28; color:#66430c; background:white; font-weight:800; white-space:nowrap; }
.members-direct-report-filter { margin:0; }
.members-direct-report-filter label { display:block; font-size:.86rem; font-weight:800; }
.members-direct-report-filter select { width:100%; margin-top:5px; }
.members-member-planning-toolbar:has(.members-direct-report-filter) { grid-template-columns:auto minmax(165px,1fr) minmax(170px,1fr); align-items:end; }
@media(max-width:1050px) {
  .members-member-planning-toolbar:has(.members-direct-report-filter) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .members-member-planning-toolbar:has(.members-direct-report-filter) .members-event-period-filters { grid-column:1/-1; }
}
@media(max-width:720px) {
  .members-season-bar-inner { flex-wrap:wrap; }
  .members-preview-switcher { flex:1 1 100%; min-width:0; }
  .members-preview-switcher label { width:100%; }
  .members-preview-switcher select { min-width:0; max-width:none; width:100%; }
  .members-preview-banner-inner { flex-direction:column; align-items:stretch; }
  .members-preview-banner .btn { width:100%; white-space:normal; }
  .members-member-planning-toolbar:has(.members-direct-report-filter) { grid-template-columns:minmax(0,1fr); }
  .members-member-planning-toolbar:has(.members-direct-report-filter) .members-event-period-filters { grid-column:auto; }
}

/* V0.48 — Vérification initiale des coefficients et axes */
.members-progress-config-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.members-progress-config-table{min-width:930px}
.members-progress-config-table td,.members-progress-config-table th{vertical-align:middle}
.members-progress-config-table input[type=number]{width:94px;max-width:100%}
.members-progress-config-axes{display:grid;grid-template-columns:repeat(2,minmax(115px,1fr));gap:5px 12px}
.members-progress-config-axes label{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:.83rem}
.members-progress-config-axes input[type=checkbox]{width:auto;min-height:0}
.members-progress-config-status{display:inline-block;border-radius:20px;padding:4px 11px;background:#fff1cc;font-weight:700}
.members-progress-config-status.is-active{background:#dcefe2;color:#236443}
.members-progress-config-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.members-progress-config-help{font-size:.9rem;color:var(--muted);margin:10px 0 18px}
@media(max-width:720px){.members-progress-config-axes{grid-template-columns:1fr}}

/* V0.48 — Lot 2 : deux indicateurs pondérés, lecture seule. */
.members-weighted-summary {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:1rem;margin:1rem 0 1.25rem;}
.members-weighted-summary > article {border:1px solid var(--border,#d9e1e4);border-radius:14px;padding:1.15rem;background:var(--surface,#fff);display:flex;flex-direction:column;gap:.65rem;}
.members-weighted-summary article > span {font-weight:700;}
.members-weighted-summary article > strong {font-size:clamp(1.7rem,3.5vw,2.5rem);line-height:1.2;font-variant-numeric:tabular-nums;}
.members-weighted-summary article > small {line-height:1.5;opacity:.8;}
.members-weighted-unit-details {display:flex;gap:.65rem 1.25rem;flex-wrap:wrap;font-size:.9rem;margin:.5rem 0;}
.members-weighted-unit-details > span {display:inline-flex;gap:.35rem;align-items:baseline;}
.members-weighted-unit-details strong {font-variant-numeric:tabular-nums;}
.members-weighted-legacy-notice {padding:.7rem .85rem;border-left:3px solid #ca9b47;border-radius:4px;background:#ca9b4712;}
.members-weighted-unavailable {margin-top:1rem;}

/* Didascalies V0.48 — Étape 3A : objectifs par jalon / séance */
.members-forecast-container { display: grid; gap: 1rem; }
.members-forecast-container > .member-panel { min-width: 0; padding: clamp(1rem, 2.5vw, 1.6rem); }
.members-forecast-intro { border-left: 4px solid #2c7781; }
.members-forecast-alert { padding: .8rem 1rem; background: #fff5e9; border: 1px solid #d1a15a; border-radius: 10px; margin: .65rem 0; color: #6c4313; }
.members-forecast-ok { padding: .7rem 1rem; background: #effbf3; border: 1px solid #c2e1cb; border-radius: 10px; color: #245c37; }
.members-forecast-pilot-status { display:flex; align-items:center; justify-content:space-between; gap: .8rem; flex-wrap:wrap; margin: .65rem 0 1rem; padding: .7rem 1rem; border-radius: 12px; background: #fff6e9; border-left: 3px solid #b47b28; }
.members-forecast-pilot-status.is-current { background: #eef9f4; border-left-color: #2c9363; }
.members-forecast-choose { display:flex; gap:.7rem; align-items:end; flex-wrap:wrap; margin:1rem 0; }
.members-forecast-choose label { flex:1 1 18rem; min-width:0; font-weight:700; }
.members-forecast-choose select { display:block; max-width:100%; margin-top:.4rem; }
.members-forecast-unit-list { display:grid; gap:.6rem; margin-bottom:1rem; }
.members-forecast-unit, .members-forecast-session { border:1px solid #d9d5d0; border-radius:12px; margin:.6rem 0; background:white; overflow:hidden; }
.members-forecast-unit summary, .members-forecast-session summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; padding:.85rem 1rem; }
.members-forecast-unit summary::marker, .members-forecast-session summary::marker { color:#2d6c75; }
.members-forecast-unit summary span, .members-forecast-session summary span { color:#4b6770; font-size:.83rem; }
.members-forecast-axes { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:.7rem; padding:.9rem 1rem; border-top:1px solid #eeece7; }
.members-forecast-axes > label { display:block; min-width:0; font-weight:600; font-size:.89rem; }
.members-forecast-axes input[type=number] { display:inline-block; width:7rem; max-width:calc(100% - 1.7rem); margin:.35rem .2rem 0 0; }
.members-forecast-axes small { color:#60727a; }
.members-forecast-source { display:block; margin:.35rem 0; font-size:.79rem; color:#5a6770; font-weight:400; }
.members-forecast-fix { display:inline-flex; gap:.35rem; align-items:center; font-size:.83rem; font-weight:500; }
.members-forecast-fix input[type=checkbox] { width:1rem; height:1rem; margin:0; }
.members-forecast-warnings { border:1px solid #e6cba4; border-radius:10px; padding:.8rem 1rem; margin:1rem 0; background:#fffcf5; }
.members-forecast-warnings summary { cursor:pointer; font-weight:700; }
.members-forecast-warnings li { margin:.4rem 0; }
.members-forecast-preview { border:2px solid #2d7281; border-radius:12px; padding:1rem; margin-top:1.25rem; }
.members-forecast-table-wrap { overflow-x:auto; max-height:430px; overflow-y:auto; margin:1rem 0; }
.members-forecast-table { border-collapse:collapse; width:100%; min-width:530px; }
.members-forecast-table th, .members-forecast-table td { padding:.6rem; text-align:left; border-bottom:1px solid #e8e1d9; vertical-align:top; }
.members-forecast-table th { position:sticky; top:0; background:#f5f7f7; }
.members-forecast-table td small { display:block; color:#536875; }
.members-forecast-session .members-form { padding:0 1rem 1rem; }
.members-forecast-session .members-fieldset { margin:.8rem 0; }
@media(max-width:600px) { .members-forecast-unit summary, .members-forecast-session summary { padding:.75rem; } .members-forecast-axes { grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); padding:.7rem; } }

/* V0.48 étape 3A — lisibilité du recalcul des objectifs. */
.members-forecast-preview { scroll-margin-top: 108px; }
.members-forecast-preview-summary { display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0; }
.members-forecast-row.is-baseline { background:#f1f8f8; }
.members-forecast-row.is-manual { background:#f0faf4; }
.members-forecast-row.is-new { background:#f4f8fc; }
.members-forecast-row.is-changed { background:#fff8ed; }
.members-forecast-row.is-removed { background:#fdf1f0; }
.members-forecast-state {display:inline-flex;max-width:100%;padding:.2rem .5rem;border:1px solid #d1d8dd;border-radius:99px;font-size:.74rem;font-weight:750;line-height:1.35;white-space:normal;color:#3d5966;background:#f3f6f8;}
.members-forecast-state.is-baseline {color:#195b67;border-color:#a2c6cc;background:#edf7f7;}
.members-forecast-state.is-manual {color:#166342;border-color:#a5d3b9;background:#effaf2;}
.members-forecast-state.is-new {color:#225d91;border-color:#b7cee5;background:#eff6ff;}
.members-forecast-state.is-changed {color:#845414;border-color:#e8cd94;background:#fff8e8;}
.members-forecast-state.is-removed {color:#9c352e;border-color:#efbdb8;background:#fdf2f1;}
@media(max-width:600px) { .members-forecast-preview { scroll-margin-top: 94px; } }

/* Didascalies V0.48 — Étape 3B : cibles prévisionnelles sur la fiche séance. */
.members-session-forecast-panel { border:1px solid #b5d8db; border-radius:13px; padding:1rem; background:#f5fbfb; margin:1rem 0; min-width:0; }
.members-session-forecast-heading { display:flex; align-items:center; justify-content:space-between; gap:.6rem; flex-wrap:wrap; margin-bottom:.45rem; }
.members-session-forecast-heading > strong { font-size:1rem; color:#205661; }
.members-session-forecast-heading a { font-size:.83rem; font-weight:750; color:#275f70; text-decoration:underline; }
.members-session-forecast-unit { padding:.65rem 0; border-top:1px solid #d2e4e5; }
.members-session-forecast-unit > strong { display:block; margin-bottom:.55rem; }
.members-session-forecast-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:.55rem; }
.members-session-forecast-item { display:flex; flex-wrap:wrap; align-items:center; gap:.25rem .6rem; padding:.5rem .65rem; border:1px solid #dae9e9; border-radius:9px; background:white; font-size:.86rem; }
.members-session-forecast-item > span { flex:1 1 auto; }
.members-session-forecast-item > strong { font-variant-numeric:tabular-nums; white-space:nowrap; }
.members-session-source { display:inline-block; width:max-content; max-width:100%; padding:.16rem .43rem; border-radius:99px; border:1px solid #b4d3df; color:#245b75; background:#edf5fc; font-size:.72rem; font-weight:700; font-style:normal; white-space:normal; }
.members-session-source.is-manual { color:#256447; background:#ebf9f0; border-color:#a6cfb6; }
.members-session-fixed-target { display:flex; flex-direction:column; gap:.35rem; border:1px solid #badadc; border-radius:8px; padding:.45rem .55rem; min-width:0; background:#f0f9f8; }
.members-session-fixed-target > span { font-size:.79rem; font-weight:650; }
.members-session-fixed-target > strong { font-size:1.1rem; font-variant-numeric:tabular-nums; }
.members-session-fixed-target > small { font-size:.75rem; line-height:1.4; }
.members-session-fixed-target a { color:#256b76; text-decoration:underline; }
@media(max-width:700px) { .members-session-forecast-panel { padding:.75rem; } .members-session-forecast-items { grid-template-columns:minmax(0,1fr); } }
.members-event-unit-session-targets { display:block; color:#225c65; font-weight:650; }
.members-progress-editor-row.has-session-target { grid-template-columns:minmax(90px,.65fr) minmax(145px,1fr) minmax(90px,.6fr) minmax(175px,1.35fr); }
@media(max-width:820px) { .members-progress-editor-row.has-session-target { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
@media(max-width:500px) { .members-progress-editor-row.has-session-target { grid-template-columns:minmax(0,1fr); } .members-progress-editor-row.has-session-target >strong,.members-progress-editor-row.has-session-target .members-progress-note { grid-column:auto; } }

/* Return to the event editing position after managing session targets. */
#objectifs-seance, #avancement-apres { scroll-margin-top: 108px; }
@media(max-width:600px){ #objectifs-seance, #avancement-apres { scroll-margin-top:94px; } }

/* V0.48 / 4A — historiques privés du pilotage. */
.members-audit-page { display:grid; gap:18px; max-width:1400px; margin:24px auto; padding:0 18px; }
.members-audit-page .member-panel { min-width:0; }
.members-audit-version { margin-top:22px; padding:18px; border:1px solid #cbdfe3; border-radius:12px; background:#f9fcfc; scroll-margin-top:100px; }
.members-audit-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:15px 0; }
.members-audit-compare > div { border:1px solid #d9e4e7; border-radius:10px; padding:14px; background:white; }
.members-audit-text { white-space:normal; overflow-wrap:anywhere; }
.members-audit-page .members-table td { overflow-wrap:anywhere; }
@media(max-width:700px){ .members-audit-compare { grid-template-columns:1fr; } }

/* Retour ciblé après modification d'une phase ou d'une unité.
   Le script de pilotage utilise la marge de chaque carte pour éviter l'en-tête fixe. */
.members-project-pilot-page .members-phase-card[id^="phase-"],
.members-project-pilot-page .members-unit-card[id^="unit-"] { scroll-margin-top: 130px; }
@media (max-width: 600px) {
  .members-project-pilot-page .members-phase-card[id^="phase-"],
  .members-project-pilot-page .members-unit-card[id^="unit-"] { scroll-margin-top: 150px; }
}

/* Didascalies étape 4B — confirmation explicite de clôture. */
.members-unit-closure-choice { display:grid; gap:12px; margin:14px 0 18px; padding:16px; border:2px solid #4a8a73; border-radius:12px; background:#f6faf7; }
.members-unit-closure-choice[hidden] { display:none !important; }
.members-unit-closure-choice legend { padding:0 8px; font-weight:750; color:#225541; }
.members-unit-closure-choice .members-help { margin:0; }
.members-unit-closure-table { min-width:0; }
.members-unit-closure-radio { display:flex; align-items:flex-start; gap:10px; padding:10px 12px; background:white; border:1px solid #cbdcd1; border-radius:8px; cursor:pointer; }
.members-unit-closure-radio input { margin-top:3px; width:auto; flex:0 0 auto; }

/* V0.48 / 4C — corrections rétrospectives */
.members-retro-entry{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;
  padding:1rem 1.15rem;border:1px solid var(--members-border,#cad6d3);border-radius:12px;margin:1rem 0;
  background:var(--members-soft,#f1f6f4)}
.members-retro-entry>div{flex:1 1 260px}
.members-retro-entry p{margin:.45rem 0 0}
.members-retro-page .members-form fieldset{margin:1rem 0}
.members-retro-axis{padding:.9rem 0;border-top:1px solid #dbe3e0}
.members-retro-axis:first-of-type{border-top:0}
.members-retro-axis>strong{display:block;margin-bottom:.25rem}
.members-retro-axis>small{display:block;margin:.3rem 0}
.members-retro-inputs{display:grid;grid-template-columns:minmax(100px,140px) minmax(100px,140px) minmax(180px,1fr);gap:.8rem;align-items:end}
.members-retro-inputs label{display:flex;flex-direction:column;gap:.35rem}
.members-retro-inputs input{width:100%;box-sizing:border-box}
.members-retro-confirm{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.members-retro-page .members-table small{display:block;margin:.25rem 0}
.members-retro-ok{padding:.8rem;border:1px solid #a2d1bd;border-radius:8px}
@media(max-width:650px){.members-retro-inputs{grid-template-columns:1fr 1fr}.members-retro-inputs label:last-child{grid-column:1/-1}.members-retro-entry>a{width:100%;text-align:center}}
.members-retro-return{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;width:100%;margin-bottom:.3rem}
.members-retro-return select{max-width:100%;min-width:200px}

/* PWA 2026-10-24 — l'attribut hidden doit primer sur display:inline-flex des boutons. */
.members-install-card[hidden],
.members-install-card [hidden],
.members-mobile-access-panel [hidden] { display:none !important; }

/* Plages d’indisponibilité — 2026-10 */
.members-unav-form label {display:flex; flex-direction:column; gap:.5rem; font-weight:700;}
.members-unav-form input[type=date] {width:100%; padding:.75rem; border:1px solid #d4dddb; border-radius:9px; background:#fff; color:#162634; font:inherit;}
.members-unav-dates {display:grid; grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; margin:1.1rem 0;}
.members-unav-actions {display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-top:1rem;}
.members-unav-actions form {margin:0;}
.members-unav-list {display:grid; gap:.65rem; margin-top:1rem;}
.members-unav-item {display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.9rem 0; border-bottom:1px solid #e6eeeb;}
.members-unav-item>div {display:flex; flex-wrap:wrap; gap:.6rem;}
.members-unav-notices {display:grid;gap:.5rem;margin:1rem 0;}
.members-unav-notice {display:flex;align-items:flex-start;gap:.9rem;border:1px solid #d7e5e2;border-radius:11px;padding:1rem;background:#f7fbfa;cursor:pointer;}
.members-unav-notice input {width:20px;height:20px;margin-top:.2rem;flex-shrink:0;accent-color:#196a71;}
.members-unav-notice small {color:#5d6872;}
.members-unav-confirm {border:2px solid #e6a15c;}
@media(max-width:640px) {.members-unav-dates{grid-template-columns:1fr}.members-unav-item{align-items:flex-start;flex-direction:column}.members-unav-actions>.btn,.members-unav-actions>form,.members-unav-actions>form>.btn{width:100%;text-align:center;}}

/* V0.49 — Délégation administrateur. */
.members-delegation-heading { display:flex;flex-direction:column;gap:3px;flex:1;min-width:180px; }
.members-delegation-heading span { font-size:.84rem; }
.members-delegation-mode { margin:0; }
.members-delegation-mode label { display:flex;align-items:center;gap:7px;font-weight:800; }
.members-delegation-mode select { max-width:185px;margin:0;padding:8px;border-radius:9px;background:#fff; }
.members-preview-banner:has(.members-delegation-mode select option[value="edit"]:checked) { background:#e5f2f0;border-bottom-color:#0f5f63;color:#154c50; }
.members-delegation-audit { width:100%;border-collapse:collapse;min-width:750px;font-size:.9rem; }
.members-delegation-audit th,.members-delegation-audit td { padding:10px;border-bottom:1px solid #ddd;text-align:left;vertical-align:top; }
@media(max-width:720px) {.members-delegation-mode select{max-width:none;flex:1}}

/* Feedback d’enregistrement des plages : visible même après un lien de modification ancré. */
/* Plages d’indisponibilité — positionnement de la confirmation sous l’en-tête fixe.
   Hauteur de l’en-tête desktop : 132px, avec une marge visuelle supplémentaire. */
.members-unav-feedback { scroll-margin-top: 180px; }
@media (max-width: 760px) {
  .members-unav-feedback { scroll-margin-top: 115px; }
}
.members-unav-feedback .members-flash { margin:0 0 10px; }

/* Choix de l'ordre de passage des scènes, spécifique à la séance. */
.members-scene-order-buttons{display:flex;align-items:center;gap:5px;}
.members-scene-order-buttons button{min-width:32px;min-height:32px;padding:4px 8px;border-radius:7px;border:1px solid #b9d0d2;background:#eff7f7;color:#246875;font-weight:900;cursor:pointer;line-height:1.1;}
.members-scene-order-buttons button:hover:not(:disabled){background:#dcefee;}
.members-scene-order-buttons button:disabled{opacity:.35;cursor:default;}
.members-event-unit-choice[hidden]{display:none !important;}
