.cao-af{--cao-orange:#ed7926;--cao-ink:#171717;max-width:1200px;color:var(--cao-ink);font:inherit}.cao-af *{box-sizing:border-box}.cao-af-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.cao-af-tabs a,.cao-af-button,.cao-af button{display:inline-block;border:1px solid #dedede;border-radius:9px;padding:10px 16px;background:#fff;color:#171717;text-decoration:none;cursor:pointer;font:inherit}.cao-af-tabs a[aria-current],.cao-af-form button{background:#171717;color:white;border-color:#171717}.cao-af button:hover,.cao-af-tabs a:hover{border-color:var(--cao-orange)}.cao-af-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cao-af-card{background:#fff;border:1px solid #e3e3e3;border-radius:14px;padding:22px;margin:18px 0;overflow:hidden}.cao-af-grid .cao-af-card{margin:0}.cao-af-card>span{display:block;color:#666;font-size:14px}.cao-af-card>strong{display:block;font-size:30px;margin-top:8px}.cao-af progress{width:100%;height:22px;accent-color:var(--cao-orange)}.cao-af-chart{max-width:100%;height:auto;width:100%}.cao-af-form{display:grid;gap:16px;max-width:800px;margin:24px 0}.cao-af-form label{display:block}.cao-af input:not([type=checkbox]):not([type=hidden]),.cao-af textarea{display:block;width:100%;padding:10px;border:1px solid #ccc;border-radius:7px;margin:6px 0}.cao-af textarea{min-height:90px}.cao-af-check{display:flex!important;align-items:flex-start;gap:10px}.cao-af-check input{margin-top:5px;flex-shrink:0}.cao-af-contract{max-height:500px;overflow:auto;padding:24px;border:1px solid #ddd;background:#fff}.cao-af-notice{padding:14px;background:#fff3e9;border-left:4px solid var(--cao-orange)}.cao-af table{border-collapse:collapse;width:100%}.cao-af th,.cao-af td{padding:10px;text-align:left;vertical-align:top;border-bottom:1px solid #eee}.cao-af-inline{margin:8px 0}.cao-af-inline input:not([type=checkbox]):not([type=hidden]){max-width:260px}.cao-af-inline label{display:block;margin:8px 0}.cao-af-referral{position:fixed;bottom:12px;left:12px;right:12px;z-index:9999;padding:15px;background:#171717;color:#fff;border-radius:10px;box-shadow:0 5px 25px #0003}.cao-af-referral button{margin-left:10px;padding:8px;cursor:pointer}.cao-af-card iframe{max-width:100%}@media(max-width:800px){.cao-af-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cao-af table{display:block;overflow-x:auto}.cao-af-contract{padding:12px}}@media(max-width:450px){.cao-af-grid{grid-template-columns:1fr}.cao-af-tabs a{flex:1;text-align:center}}

/* Self-contained light panel: readable inside Tutor's dark dashboard. */
.cao-af{background:#fff;color:#171717;padding:24px;border:1px solid #e3e3e3;border-radius:14px;line-height:1.6;color-scheme:light;overflow-wrap:anywhere}
.cao-af h1,.cao-af h2,.cao-af h3,.cao-af h4,.cao-af h5,.cao-af h6,.cao-af p,.cao-af label,.cao-af summary,.cao-af li,.cao-af th,.cao-af td{color:#171717}
.cao-af input:not([type=checkbox]):not([type=hidden]),.cao-af textarea,.cao-af select{background:#fff;color:#171717;caret-color:#171717;font:inherit;min-height:44px}
.cao-af input::placeholder,.cao-af textarea::placeholder{color:#666;opacity:1}
.cao-af input:focus-visible,.cao-af textarea:focus-visible,.cao-af button:focus-visible,.cao-af a:focus-visible,.cao-af summary:focus-visible{outline:3px solid #ed7926;outline-offset:3px}
.cao-af-contract{color:#171717;line-height:1.6;border-radius:9px}
.cao-af-contract h1{font-size:28px;line-height:1.25}.cao-af-contract h2{font-size:24px;line-height:1.3}.cao-af-contract h3{font-size:20px;line-height:1.35}
.cao-af-contract p,.cao-af-contract li{font-size:16px;line-height:1.65}
.cao-af a:not(.cao-af-button){color:#9b4300}.cao-af-tabs a[aria-current]{color:#fff}
.cao-af-check input[type=checkbox]{width:18px;height:18px;accent-color:#171717}
@media(max-width:600px){.cao-af{padding:16px}.cao-af-contract h1{font-size:24px}}
/* Complétion et signatures : contraste autonome dans Tutor LMS. */
.cao-af fieldset{border:1px solid #d4d4d4;border-radius:8px;padding:18px;margin:20px 0;min-width:0}
.cao-af legend{color:#171717;font-weight:700;font-size:18px;padding:0 8px}
.cao-af .cao-af-fill-fields input{background:#fff5a3!important;color:#171717!important;border:1px solid #b8a746!important}
.cao-af .cao-af-fill-fields input.cao-af-filled{background:#fff!important;border-color:#9ca3af!important}
.cao-af .cao-af-answer{font-weight:600;color:#171717}
.cao-af mark{background:#fff5a3;color:#171717;padding:2px 4px}
.cao-af .cao-af-signature canvas{display:block;width:100%;height:auto;max-height:240px;background:#fff;border:2px dashed #999;border-radius:8px;touch-action:none;cursor:crosshair}
.cao-af .cao-af-contract-actions{display:flex;flex-direction:column;gap:12px;max-width:340px}
.cao-af .cao-af-contract-actions form{display:block;border-top:1px solid #ddd;padding-top:12px}
.cao-af .cao-af-contract-actions label{display:block;margin-bottom:8px}
.cao-af .cao-af-contract-actions input:not([type=checkbox]){display:block;width:100%}
.cao-af .cao-af-contract-actions .button{white-space:normal}
/* Affiliation occupies the available content area; other Tutor pages are untouched. */
.cao-af-wide-host{max-width:none!important;min-width:0;box-sizing:border-box}
.container.cao-af-wide-host,.tutor-container.cao-af-wide-host,.tutor-container-fluid.cao-af-wide-host{width:100%!important;padding-left:24px!important;padding-right:24px!important}
.cao-af-dashboard{width:100%;max-width:none;padding:clamp(20px,2.5vw,40px)}
.cao-af-dashboard .cao-af-form{width:100%;max-width:none}
.cao-af-dashboard .cao-af-tabs{gap:10px}
.cao-af-dashboard .cao-af-grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.cao-af-dashboard .cao-af-fill-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.cao-af-dashboard .cao-af-fill-fields p{grid-column:1/-1}
.cao-af-dashboard .cao-af-contract{max-height:650px}
@media(max-width:700px){.container.cao-af-wide-host,.tutor-container.cao-af-wide-host,.tutor-container-fluid.cao-af-wide-host{padding-left:12px!important;padding-right:12px!important}.cao-af-dashboard .cao-af-fill-fields{grid-template-columns:1fr}.cao-af-dashboard{padding:16px}}
