.consent-panel { padding: 28px; margin: 24px 0; border: 1px solid #dbe4df; border-radius: 12px; background: #fff; color: #183d3e; }
.consent-panel h2 { margin: 0 0 12px; font-size: 24px; line-height: 1.3; }
.consent-panel h3 { margin: 0 0 16px; font-size: 18px; line-height: 1.4; }
.consent-panel p, .consent-panel label { font-size: 14px; line-height: 1.65; }
.consent-panel p { margin: 10px 0 18px; }
.consent-document { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.8; font-size: 14px; padding: 22px 0; margin-block: 20px; border-block: 1px solid #dbe4df; color: #263b37; }
.consent-player { padding: 22px 0; border-bottom: 1px solid #dbe4df; }
.consent-player:last-child { border: 0; }
.consent-player label { display: block; font-weight: 550; margin-bottom: 8px; }
.consent-player input[type="text"], .consent-player select, .consent-editor input, .consent-editor textarea { display: block; width: 100%; border: 1px solid #b8c6bf; border-radius: 6px; padding: 12px; min-height: 44px; margin-bottom: 18px; background: #fff; font: inherit; font-size: 16px; color: #183d3e; box-sizing: border-box; }
.consent-player .consent-accept, .consent-editor .consent-accept { display: flex; align-items: flex-start; gap: 12px; font-weight: 400; margin: 18px 0; }
.consent-accept input { width: 20px; height: 20px; min-height: 20px; margin: 3px 0 0; flex-shrink: 0; accent-color: #004049; }
.consent-panel button, .consent-copy button { min-height: 44px; border: 1px solid #004049; padding: 10px 16px; border-radius: 6px; background: #004049; color: #fff; font: inherit; font-size: 14px; cursor: pointer; }
.consent-panel button:disabled { opacity: .6; cursor: wait; }
.consent-panel :focus-visible, .consent-copy :focus-visible { outline: 2px solid #004049; outline-offset: 3px; }
.consent-error { color: #a12a24; font-size: 14px; line-height: 1.6; }
.consent-success { color: #004049; font-weight: 600; }
.consent-copy { margin-top: 20px; padding: 20px; background: #f7faf8; border: 1px solid #dbe4df; border-radius: 8px; }
.consent-receipt dl { display: grid; gap: 12px; margin: 20px 0; }
.consent-receipt dl div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 14px; font-size: 13px; }
.consent-receipt dt { color: #54635e; }.consent-receipt dd { margin: 0; overflow-wrap: anywhere; }
.consent-receipt details { margin: 20px 0; font-size: 12px; overflow-wrap: anywhere; }.consent-receipt summary { cursor: pointer; min-height: 32px; }
.consent-signature { font-size: 22px; font-weight: 600; }
.consent-editor { margin: 24px 0; }.consent-editor textarea { min-height: 240px; resize: vertical; }.consent-editor label { display: block; margin: 16px 0 8px; font-size: 13px; }
#consentCalendar[hidden], #memberConsentPanel[hidden], .consent-copy[hidden] { display: none !important; }
@media(max-width:600px) { .consent-panel { padding: 20px; }.consent-panel h2 { font-size: 21px; }.consent-copy { padding: 14px; }.consent-receipt dl div { grid-template-columns: 1fr; gap: 3px; } }

/* Liste ALC du rôle du signataire : même gabarit que le champ nom. */
.consent-player .alc-select { --alc-select-height: 44px; --alc-select-font-size: 16px; margin-bottom: 18px; }
.consent-panel .alc-select-trigger { padding: 10px 12px; border: 1px solid #b8c6bf; border-radius: 6px; background: #fff; color: #183d3e; font: inherit; font-size: 16px; }
.consent-panel .alc-select-trigger:hover, .consent-panel .alc-select-trigger[aria-expanded="true"] { background: #fff; border-color: #004049; }
.consent-panel .alc-select-list { font-family: inherit; }
