.billing-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px 24px;margin:18px 0}
.billing-facts>div{min-width:0}
.billing-facts dt{font-size:.8rem;color:var(--muted)}
.billing-facts dd{margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}
.billing-sub{font-size:1.05rem;margin:26px 0 10px}
.billing-list{list-style:none;padding:0;margin:0}
.billing-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.billing-alert{padding:12px 16px;border-radius:14px;border:1px solid var(--line);font-weight:600}
#admin-finance h3{margin:32px 0 12px}
.billing-table td:nth-child(1),.billing-table td:nth-child(2){white-space:nowrap}
#member-file{width:min(900px,calc(100% - 32px));max-height:calc(100dvh - 32px)}
.member-file-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.member-file-head h2{margin:0;overflow-wrap:anywhere;min-width:0}
.member-file-id{color:var(--muted);overflow-wrap:anywhere}
.file-badges{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.file-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.file-actions .btn{min-height:44px}
.small-btn{min-height:40px;padding:6px 14px;font-size:.88rem;margin-top:8px}
.danger-btn{border-color:var(--clay);color:var(--clay)}
.btn.danger-btn:not(.secondary){background:var(--clay);border-color:var(--clay);color:var(--paper)}
.file-zone:empty{display:none}
.file-confirm{border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:12px 0}
.file-confirm.danger{border-color:var(--clay)}
.file-confirm label{display:block;margin:8px 0}
.file-confirm label.check{display:flex;gap:8px;align-items:center}
.file-status{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:12px 0}
.file-status[hidden],.file-status [hidden]{display:none}
.file-status label{display:grid;gap:4px}
.file-status select{min-height:44px;max-width:100%}
.file-status .note{flex-basis:100%;margin:0}
.activity-list{list-style:none;padding:0;margin:8px 0}
.activity-item{display:grid;grid-template-columns:minmax(0,9.5em) minmax(0,1fr);gap:4px 14px;padding:10px 0;border-bottom:1px solid var(--line)}
.activity-item time{color:var(--muted);font-size:.85rem}
.activity-item span{overflow-wrap:anywhere}
.activity-item.warn span strong,.activity-item.error span strong{color:var(--clay)}
.journal-tools{flex-wrap:wrap}
.journal-tools select{min-height:44px}
@media(max-width:600px){.activity-item{grid-template-columns:1fr}}
.file-docs li{align-items:center}.file-docs li span{display:grid;gap:2px;min-width:0}.file-docs small{color:var(--muted)}
.file-upload{display:grid;gap:10px;border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:12px 0}.file-upload label{display:grid;gap:4px}.file-upload input{min-height:44px;max-width:100%}
.file-questionnaire h3{font-size:1rem}
.member-docs{list-style:none;padding:0;margin:12px 0}.member-docs li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.member-docs li span{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.member-docs small{color:var(--muted)}
.calendly-setup{border:1px solid var(--line);border-radius:16px;padding:16px 20px;margin:16px 0}.calendly-setup h3{margin-top:0}
.calendly-steps{list-style:none;padding:0;margin:12px 0;display:grid;gap:14px}.calendly-step{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:12px;align-items:start}
.calendly-dot{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--line);font-weight:600}.calendly-step.done .calendly-dot{border-color:currentColor}
.calendly-step p{margin:.2rem 0 .5rem}.calendly-row{display:flex;flex-wrap:wrap;gap:8px}.calendly-row select{min-height:44px;max-width:100%;flex:1 1 16rem}
.member-file-link{display:inline-block;margin-top:6px;padding:0;border:0;background:none;font:inherit;font-size:.85rem;text-decoration:underline;cursor:pointer;color:inherit;min-height:24px}

/* One-off session in the booking page (session-booking.js) */
.booking-other.session-open{display:block}
.session-zone{flex-shrink:0}
.session-open .session-zone{margin-top:18px}
.session-zone .btn{margin-top:0}
/* Calendly's booking widget (calendly-embed.js): its iframe needs a fixed height */
.calendly-host{min-width:280px;height:720px;margin-top:12px}
.calendly-host iframe{border-radius:14px}
.booking-other .session-zone p{margin:0 0 12px;font-size:.95rem}

/* Gestion → Ressources (admin-library.js) and the member library categories (member-library.js) */
.library-admin-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.library-admin-row>span:first-child{flex:1 1 240px;display:flex;flex-direction:column;gap:2px}
.library-admin-row form{flex:1 1 100%}
.file-upload textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface,white);color:inherit;resize:vertical}
.file-upload label.check{display:flex;align-items:center;gap:8px}
.file-upload progress{width:100%;height:8px}
.library-add h3{margin:0 0 8px}
.library-categories{margin-top:8px}

/* The embedded agenda must fit even the narrowest member and booking panels. */
.calendly-host{min-width:0;width:100%;max-width:100%;height:720px}
.calendly-host iframe{display:block;width:100%;height:100%;max-width:100%;border:0;box-sizing:border-box}
.q-result-details{margin-top:24px;text-align:left}.q-result-details summary{min-height:44px;cursor:pointer;padding:10px 0}
