:root{--bg:#08090b;--card:#111317;--card2:#171a20;--red:#e20e19;--red2:#ff2733;--text:#f7f7f8;--muted:#b7bcc7;--line:#2b3038;--green:#2fc06f;--amber:#f3a712;--radius:20px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 50% -10%,#2b080b 0,#0b0c0f 35%,#060708 70%);color:var(--text);min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:rgba(6,7,8,.86);backdrop-filter:blur(14px);border-bottom:1px solid #191b20}.brand{display:flex;gap:9px;align-items:center;color:white;background:none;border:0;font-weight:900}.brand img{width:36px;height:36px;border-radius:50%;object-fit:cover}.view{display:none}.view.active{display:block}.hero{min-height:calc(100vh - 62px);place-items:center;padding:26px}.hero.active{display:grid}.hero-card{width:min(620px,100%);text-align:center;padding:30px 18px 40px}.logo-stage{width:210px;height:210px;margin:auto;position:relative}.club-logo{width:190px;height:190px;border-radius:50%;object-fit:cover;filter:drop-shadow(0 10px 28px rgba(226,14,25,.28))}.ball{position:absolute;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 34% 30%,white 0 36%,#dadde2 62%,#aeb3bb 100%);left:92px;bottom:-8px;animation:bounce 1.05s cubic-bezier(.3,.02,.25,1) infinite;box-shadow:0 10px 18px #0008}@keyframes bounce{0%,100%{transform:translateY(0) scale(1.05,.92)}50%{transform:translateY(-62px) scale(.96,1.05)}}h1{font-size:clamp(40px,9vw,76px);margin:24px 0 0;letter-spacing:.04em;line-height:.9}h2{font-size:clamp(27px,5vw,44px);margin:7px 0 16px}.hero h2{color:var(--red2)}h3{margin-top:24px}.tagline{font-weight:800;text-transform:uppercase;font-style:italic}.home-actions{display:grid;gap:12px;margin:30px auto 0;max-width:440px}.btn,.ghost,.upload{border:0;border-radius:14px;padding:15px 18px;font-weight:850;font-size:16px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center}.primary{background:linear-gradient(135deg,var(--red),#a60008);color:white;box-shadow:0 9px 24px #e20e1930}.secondary{background:#f4f5f6;color:#111}.subtle,.ghost{background:#1a1d22;color:#e7e9ed;border:1px solid #2b3038}.ghost{padding:10px 13px;font-size:14px}.panel{width:min(900px,calc(100% - 28px));margin:28px auto;background:linear-gradient(180deg,#13161a,#0e1013);border:1px solid #252a32;border-radius:var(--radius);padding:24px;box-shadow:0 18px 60px #0008}.narrow{max-width:540px}.wide{max-width:1180px}.section-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:22px}.section-head h2{margin:2px 0;font-size:30px}.eyebrow{color:#ff5961;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.12em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stack-form{display:grid;gap:18px}fieldset{border:1px solid #303640;border-radius:16px;padding:18px;background:#111419}legend{padding:0 8px;font-weight:900;color:#ff7e85}label{display:grid;gap:7px;font-weight:750;color:#e7e9ed}input,select{width:100%;background:#0a0c0f;color:white;border:1px solid #343a44;border-radius:12px;padding:13px 14px;font-size:16px;outline:none}input:focus,select:focus{border-color:#ef2833;box-shadow:0 0 0 3px #ef283320}input[readonly]{color:#bfc5cf;background:#101217}.hint,.small{font-size:12px;color:var(--muted);font-weight:500}.full{grid-column:1/-1}.notice,.reveal,.status,.privacy-note{border-radius:14px;padding:14px;background:#1a1d22;border:1px solid #303640;color:#d8dbe1;margin:14px 0}.privacy-note{border-color:#31557c;background:#101d2b}.warning{border-color:#7a5422;background:#2f210e}.doc-actions{display:grid;gap:14px;margin:20px 0}.upload{background:#171a20;border:1px dashed #5b616c;color:#fff;display:grid;gap:6px}.upload input{padding:8px;background:transparent}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice{position:relative;background:#171a20;border:1px solid #303640;border-radius:16px;padding:17px;display:grid;gap:8px;cursor:pointer}.choice input{width:auto;position:absolute;right:15px;top:15px}.choice strong{font-size:19px;color:#fff}.choice span{color:var(--muted);line-height:1.4;padding-right:10px}.check{display:flex;align-items:flex-start;gap:9px;margin:10px 0}.check input{width:auto;margin-top:3px}.check.important{padding:11px;border-radius:12px;background:#171a20;border:1px solid #303640}.checks-grid{display:grid;gap:4px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.doc-card{padding:18px;border-radius:16px;background:#171a20;border:1px solid #303640;color:white;text-decoration:none;display:grid;gap:6px}.doc-card span{color:var(--muted)}.questionnaire{display:grid;gap:10px}.qrow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;background:#15181d;border:1px solid #2c3139;border-radius:13px;padding:13px 14px;line-height:1.35}.yesno{display:flex;gap:8px}.yesno label{display:flex;align-items:center;gap:5px;background:#0c0e11;padding:8px 10px;border-radius:10px;cursor:pointer}.yesno input{width:auto}.filters{display:grid;grid-template-columns:1fr 230px;gap:12px;margin-bottom:18px}.admin-list{display:grid;gap:10px}.member{background:#15181d;border:1px solid #2c3139;border-radius:14px;overflow:hidden}.member summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px;padding:15px;list-style:none}.member-body{border-top:1px solid #2c3139;padding:15px;display:grid;gap:12px}.badge{display:inline-flex;border-radius:99px;padding:5px 9px;font-size:12px;font-weight:900;background:#272c34}.badge.green{background:#123c26;color:#7cf0ac}.badge.amber{background:#4b3510;color:#ffd36a}.badge.red{background:#4a1619;color:#ff8f96}.docs-list{display:flex;flex-wrap:wrap;gap:8px}.docs-list a{color:white;background:#252a31;padding:8px 10px;border-radius:9px;text-decoration:none}.status:empty{display:none}.status.ok{border-color:#245f3b;background:#102b1c}.status.error{border-color:#733239;background:#311217}@media(max-width:720px){.form-grid,.choice-grid,.choice-grid.three,.cards,.filters{grid-template-columns:1fr}.qrow{grid-template-columns:1fr}.yesno{justify-content:flex-end}.panel{padding:18px;margin-top:16px}.section-head{align-items:center}.hero-card{padding-top:10px}.logo-stage{width:175px;height:175px}.club-logo{width:160px;height:160px}.ball{left:74px}.topbar .brand span{display:none}}
.signature-block{margin-top:14px}.signature-pad{width:100%;height:150px;background:#fff;border:2px dashed #707784;border-radius:12px;touch-action:none;display:block}.signature-actions{display:flex;justify-content:flex-end;margin-top:8px}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.questionnaire{background:#f8f8f8;color:#111;padding:18px;border-radius:10px;box-shadow:0 8px 24px #0004}.questionnaire .qrow{background:#fff;color:#111;border-color:#d4d4d4}.questionnaire .yesno label{background:#f1f1f1;color:#111;border:1px solid #ddd}@media(max-width:720px){.signature-grid{grid-template-columns:1fr}.signature-pad{height:130px}}

/* V0.5 — accueil premium EVGTT */
body:has(#home.active) .topbar{display:none}
#home.hero{min-height:100vh;padding:0;background:radial-gradient(circle at 50% 18%,rgba(226,14,25,.22),transparent 25%),linear-gradient(145deg,transparent 0 16%,rgba(178,0,12,.24) 16.2% 18%,transparent 18.2% 82%,rgba(178,0,12,.24) 82.2% 84%,transparent 84.2%),#050607;overflow:hidden}
#home .hero-card{width:min(720px,100%);min-height:100vh;padding:58px 24px 24px;display:flex;flex-direction:column;align-items:center;position:relative}
#home .logo-stage{width:260px;height:260px;margin:0 auto 6px;display:grid;place-items:center}
#home .club-logo{width:244px;height:244px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 18px rgba(239,22,34,.42)) drop-shadow(0 12px 26px rgba(0,0,0,.75));transform:none}
#home h1{font-size:clamp(46px,10vw,76px);line-height:.92;margin:8px 0 4px;letter-spacing:.015em;font-weight:950;text-shadow:0 4px 16px #000}
#home h2{font-size:clamp(30px,6.7vw,48px);line-height:1;margin:4px 0 18px;color:#f01b27;font-weight:950;text-shadow:0 4px 16px #000}
#home .tagline{margin:0 0 28px;font-size:clamp(17px,3.7vw,24px);letter-spacing:.02em;color:#fff}
#home .tagline em,#home .hero-footer em{color:#f01b27;font-style:italic}
#home .home-actions{width:min(560px,100%);max-width:none;margin:0;gap:13px;z-index:2}
#home .home-actions .btn{min-height:76px;border-radius:22px;padding:14px 22px;display:grid;grid-template-columns:42px 1fr 28px;gap:10px;text-align:center;font-size:clamp(17px,3.8vw,23px);box-shadow:0 12px 26px rgba(0,0,0,.4)}
#home .home-actions .primary{background:linear-gradient(135deg,#f20d1d,#b9000d);border:1px solid #ff3140}
#home .home-actions .secondary{background:linear-gradient(180deg,#fff,#e9e9ea);color:#08090b}
#home .home-actions .subtle{background:linear-gradient(180deg,#22262c,#15181c);border:1px solid #3b4149;color:#fff}
#home .action-icon{font-size:25px;font-weight:900}#home .chev{font-size:42px;line-height:1;font-weight:400}
#home .table-scene{height:150px;width:120%;margin:26px -10% 0;position:relative;background:linear-gradient(175deg,transparent 0 34%,#2c3036 35%,#111419 90%);border-top:1px solid #343942;opacity:.9}
#home .table-scene:before{content:"";position:absolute;left:0;right:0;top:54%;height:2px;background:#bfc4cc;transform:rotate(-2deg);box-shadow:0 0 12px #e20e19}
#home .net{position:absolute;left:43%;right:0;top:29%;height:48px;border-top:4px solid #dfe2e6;border-bottom:1px solid #666;background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 7px),repeating-linear-gradient(0deg,rgba(255,255,255,.1) 0 1px,transparent 1px 6px);transform:perspective(180px) rotateX(5deg) rotate(-2deg)}
#home .hero-footer{margin-top:auto;padding-top:12px;display:grid;gap:7px;text-align:center;letter-spacing:.24em;font-size:11px;color:#e8e8e8;z-index:2}
#home .hero-footer span{font-size:9px;font-style:italic}
@media(max-width:720px){#home .hero-card{padding:34px 18px 18px}#home .logo-stage{width:210px;height:210px}#home .club-logo{width:198px;height:198px}#home .table-scene{height:120px;margin-top:20px}#home .home-actions .btn{min-height:70px;border-radius:20px}}

/* V0.6 — logo officiel haute résolution fourni par le club */
.official-preview{margin:14px 0 20px;border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden;background:#fff;color:#111}.official-preview summary{cursor:pointer;padding:13px 16px;font-weight:700;background:#f3f3f3}.official-preview img{display:block;width:100%;height:auto}.admin-actions{margin:0 0 16px}.manual-registration{margin:0 0 18px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
/* V0.9 — parcours inscriptions consolidé */
.compact{margin:7px 0 2px;padding:10px 12px}.image-consent-callout{margin-top:12px;padding:14px;border-radius:14px;border:1px solid #7a2630;background:linear-gradient(135deg,#2e1216,#17191d);line-height:1.45}.image-consent-callout strong{color:#ff6e76}.price-panel,.training-panel{margin:16px 0;padding:18px;border:1px solid #303640;border-radius:16px;background:#111419}.price-panel h3,.training-panel h3{margin:0 0 14px}.price-grid,.training-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.price-grid>div,.training-grid>div{background:#191c21;border:1px solid #303640;border-radius:14px;padding:14px;display:grid;gap:6px}.price-grid strong{font-size:25px;color:#ff4852}.price-grid span,.training-grid span{color:#d9dce2;line-height:1.45}.training-grid strong{color:#fff}.success-panel{text-align:center;padding-top:42px;padding-bottom:42px}.success-icon{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:#123c26;color:#7cf0ac;border:2px solid #2d7b4e;font-size:44px;font-weight:900}.season-wish{font-size:18px;line-height:1.5}.reference-box{margin:20px 0;padding:14px;border:1px solid #303640;border-radius:14px;background:#171a20}.admin-api-note{font-size:12px;color:#aeb4be;margin-top:9px}@media(max-width:720px){.price-grid,.training-grid{grid-template-columns:1fr}}
.doc-card.split{display:flex;flex-direction:column;gap:10px}.doc-buttons{display:flex;gap:10px;flex-wrap:wrap}.doc-buttons a{flex:1;min-width:130px;text-align:center;text-decoration:none}.admin-checks{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid #343941;border-radius:16px;background:#0d1014}.admin-checks .check{margin:0}.admin-checks input{width:22px;height:22px}.doc-admin-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:7px 0}.doc-admin-row a{text-decoration:none}.tiny-btn{padding:7px 10px;border-radius:10px;font-size:.88rem}

.pdf-editor-frame{width:100%;height:76vh;min-height:620px;border:1px solid #303640;border-radius:16px;background:#08090b;margin:12px 0}
.legacy-health{display:none!important}
#officialDocsNext{margin-top:14px}
#pdfIntegrationStatus.ok{border-color:#245f3b;background:#102b1c}
#pdfIntegrationStatus.error{border-color:#733239;background:#311217}

.pdf-launch{display:grid;gap:8px;margin:14px 0}
.pdf-fullscreen[hidden]{display:none!important}
.pdf-fullscreen{position:fixed;inset:0;z-index:5000;background:#050607;display:flex;flex-direction:column}
.pdf-fullscreen-bar{height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:#0d1014;border-bottom:1px solid #343a44}
.pdf-fullscreen .pdf-editor-frame{display:block;width:100%;height:calc(100dvh - 58px);min-height:0;margin:0;border:0;border-radius:0;flex:1 1 auto}
body.pdf-open{overflow:hidden}
@media(max-width:700px){.pdf-fullscreen-bar{height:54px;flex-basis:54px}.pdf-fullscreen .pdf-editor-frame{height:calc(100dvh - 54px)}}

.success-note{border-color:#2d7d49!important;background:#102b1c!important}
#officialDocsNext[hidden]{display:none!important}
#officialDocsNext{margin-top:14px;width:100%}

/* V0.18 — écran final premium */
.payment-premium{max-width:980px;background:linear-gradient(180deg,#101318,#090b0e);padding:0;overflow:hidden}
.payment-head{padding:24px 24px 8px;margin:0;background:radial-gradient(circle at 0 0,#3a0d12 0,transparent 48%)}
.payment-intro{max-width:650px;margin:8px 0 0;color:#bfc4cd;line-height:1.5}
.premium-section{margin:18px 22px;padding:22px;border:1px solid #2b313a;border-radius:22px;background:linear-gradient(145deg,#171b21,#101318);box-shadow:0 14px 35px #0004}
.section-kicker{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:950;color:#ff626b}
.premium-section h3{font-size:25px;margin:6px 0 18px}
.premium-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.premium-price{position:relative;overflow:hidden;min-height:145px;padding:18px;border:1px solid #343b45;border-radius:18px;background:#11151a;display:flex;flex-direction:column;justify-content:flex-end;gap:5px}
.premium-price:before{content:"";position:absolute;inset:-60px -50px auto auto;width:120px;height:120px;border-radius:50%;background:#e20e1925}
.premium-price.featured{border-color:#6a2830;background:linear-gradient(145deg,#251116,#131519)}
.price-amount{font-size:34px;line-height:1;font-weight:1000;color:#ff4e59;margin-bottom:10px}
.premium-price strong{font-size:17px}.premium-price span{color:#bfc4cd;font-size:13px;line-height:1.4}
.coach-hero{display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:center;padding:4px 0 22px;border-bottom:1px solid #2c323a}
.coach-mark{width:82px;height:82px;border-radius:22px;display:grid;place-items:center;font-size:28px;font-weight:1000;background:linear-gradient(145deg,#e20e19,#6f0710);box-shadow:0 12px 28px #e20e1930;border:1px solid #ff626b55}
.coach-copy h3{margin:4px 0 8px;font-size:30px}.coach-copy p{margin:12px 0 0;color:#d4d7dd;line-height:1.55}
.coach-badges{display:flex;gap:7px;flex-wrap:wrap}.coach-badges span{padding:5px 9px;border-radius:999px;background:#242a32;color:#dfe3e9;border:1px solid #39414b;font-size:11px;font-weight:850}
.schedule-title{display:flex;justify-content:space-between;gap:12px;align-items:end;margin:22px 0 12px}.schedule-title h3{margin:3px 0 0}
.schedule-legend{display:flex;gap:6px;flex-wrap:wrap}.badge-directed,.badge-free{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.badge-directed{background:#123d27;color:#7ef0ad;border:1px solid #246744}.badge-free{background:#4b3510;color:#ffd36a;border:1px solid #6d4d14}
.schedule-days{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.schedule-day{overflow:hidden;border:1px solid #303741;border-radius:17px;background:#11151a}
.day-head{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;background:linear-gradient(135deg,#242a32,#171b21);border-bottom:1px solid #303741}
.day-head span{font-size:11px;letter-spacing:.12em;color:#ff6871;font-weight:950}.day-head strong{font-size:16px}
.slot{padding:12px 14px;border-bottom:1px solid #282e36;display:grid;gap:6px}.slot:last-child{border-bottom:0}.slot.soft{background:#14171c}
.slot time{color:#b9bec7;font-size:12px;font-weight:750}.slot>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.slot strong{font-size:14px}
.venues{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.venues>div{display:flex;gap:10px;align-items:start;padding:12px;border-radius:14px;background:#11151a;border:1px solid #2e353e}.venues p{margin:0;color:#bfc4cd;font-size:12px;line-height:1.45}.venues strong{color:white}
.premium-payment-grid{display:grid;gap:10px}.payment-option{position:relative;display:grid;grid-template-columns:48px 1fr 30px;gap:12px;align-items:center;padding:15px;border:1px solid #303741;border-radius:16px;background:#11151a;cursor:pointer;transition:.2s}
.payment-option:has(input:checked){border-color:#e20e19;background:linear-gradient(135deg,#251116,#11151a);box-shadow:0 0 0 2px #e20e1922}
.payment-option input{position:absolute;opacity:0;pointer-events:none}.payment-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#252b33;border:1px solid #39414b;font-size:20px;font-weight:950}
.payment-copy{display:grid;gap:3px}.payment-copy strong{font-size:17px}.payment-copy small{color:#aeb4be;line-height:1.4}.payment-check{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid #555e69;color:transparent;font-weight:950}
.payment-option:has(input:checked) .payment-check{background:#e20e19;border-color:#e20e19;color:white}
.payment-reveal{margin:12px 0 0}.payment-reveal strong{display:block;margin-bottom:5px}
.submit-zone{margin-top:18px;padding-top:18px;border-top:1px solid #2c323a;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.submit-copy{display:grid;gap:3px}.submit-copy span{font-size:12px;color:#aeb4be}.submit-main{min-width:250px}
@media(max-width:760px){
 .payment-premium{width:calc(100% - 16px);margin:8px auto;border-radius:22px}.payment-head{padding:20px 16px 6px}
 .premium-section{margin:14px 12px;padding:17px}.premium-price-grid,.schedule-days{grid-template-columns:1fr}
 .premium-price{min-height:115px}.coach-hero{grid-template-columns:64px 1fr;gap:13px}.coach-mark{width:62px;height:62px;border-radius:17px;font-size:21px}
 .coach-copy h3{font-size:25px}.schedule-title{align-items:start;flex-direction:column}.venues{grid-template-columns:1fr}
 .submit-zone{grid-template-columns:1fr}.submit-main{width:100%;min-width:0}
}

.documents-validation{margin-top:16px;padding:18px;border-radius:18px;border:1px solid #31513d;background:linear-gradient(145deg,#12241a,#10161a)}
.documents-validation[hidden]{display:none!important}
.documents-validation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.documents-validation-head h3{margin:4px 0 0;font-size:23px}
.ready-pill{padding:6px 9px;border-radius:999px;background:#123d27;border:1px solid #286845;color:#8df2b4;font-size:11px;font-weight:950}
.document-ready-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #294033}
.document-ready-row[hidden]{display:none!important}
.document-ready-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#17834b;color:white;font-weight:950}
.document-ready-row>div{display:grid;gap:2px}.document-ready-row small{color:#aeb8b0}
.transmission-consent{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;margin:14px 0;padding:13px;border-radius:14px;background:#0d1215;border:1px solid #343c43;cursor:pointer}
.transmission-consent input{width:22px;height:22px;accent-color:#e20e19}
#officialDocsNext{width:100%}
#officialDocsNext:disabled{opacity:.42;filter:grayscale(.4);cursor:not-allowed}


/* V0.25 - formulaire natif : lisibilité mobile et choix sans ambiguïté */
.native-registration-form fieldset{scroll-margin-top:82px}
.native-registration-form legend{font-size:16px;letter-spacing:.01em}
.native-registration-form .hint{display:inline-block;margin-left:4px;padding:2px 7px;border-radius:999px;background:#252a31;color:#cfd4dc}
.generate-docs-btn{width:100%;margin-top:18px;font-size:17px}
.questionnaire{padding:14px;gap:12px;background:#f4f5f7}
.questionnaire .qrow{padding:16px;border-radius:16px;font-size:15px;line-height:1.42;box-shadow:0 2px 8px #00000010}
.questionnaire .qrow>div:first-child{font-weight:650}
.questionnaire .yesno{gap:10px;min-width:170px}
.questionnaire .yesno label{position:relative;min-width:76px;justify-content:center;padding:11px 14px;border:2px solid #d7d9dd;border-radius:12px;font-weight:850;transition:.15s ease}
.questionnaire .yesno input{position:absolute;opacity:0;pointer-events:none}
.questionnaire .yesno label:has(input:checked){border-color:#d90d18;background:#fff0f1;color:#a60008;box-shadow:0 0 0 2px #d90d1818}
.document-ready-row .ghost{margin-left:auto;white-space:nowrap}
@media(max-width:720px){
  .questionnaire{padding:10px}
  .questionnaire .qrow{gap:12px;padding:15px 12px}
  .questionnaire .yesno{display:grid;grid-template-columns:1fr 1fr;width:100%;min-width:0}
  .questionnaire .yesno label{min-width:0;padding:13px 10px;font-size:16px}
  .document-ready-row{align-items:flex-start;flex-wrap:wrap}
  .document-ready-row .ghost{width:100%;margin-left:0;margin-top:6px}
  fieldset{padding:14px}
}

/* V0.26 — assurance lisible, droit à l'image valorisé, confidentialité santé */
.insurance-details{margin-top:12px;border:1px solid #343b45;border-radius:14px;background:#11151a;overflow:hidden}
.insurance-details summary{padding:14px 16px;cursor:pointer;font-weight:850;color:#f1f3f5}
.insurance-document{padding:0 14px 14px}.insurance-document p{color:#c5cad2;line-height:1.5}
.insurance-document img{display:block;width:100%;height:auto;border-radius:10px;background:white}
.image-rights-message{margin:8px 0 14px;padding:15px;border-radius:15px;border:1px solid #3c4652;background:linear-gradient(145deg,#171d24,#11151a)}
.image-rights-message strong{font-size:16px}.image-rights-message p{margin:7px 0 0;color:#d0d5dc;line-height:1.55}
.privacy-note{padding:15px;border-radius:15px;border:1px solid #31513d;background:#102019;color:#d9e9df;line-height:1.55;margin:12px 0}
.generated-actions{margin-left:auto!important;display:flex!important;grid-template-columns:none!important;gap:8px!important}
.private-document{background:#101820}
@media(max-width:720px){.generated-actions{width:100%;margin-left:0!important;display:grid!important;grid-template-columns:1fr 1fr!important}.generated-actions .ghost{width:100%;margin:0!important}.insurance-document{padding:0 8px 10px}.insurance-document img{border-radius:7px}}

/* V0.27 — questionnaire assurance + document santé officiel découpé */
.insurance-questionnaire{margin-top:14px;padding:16px;border:1px solid #3b424c;border-radius:15px;background:#0f1318}
.insurance-questionnaire h4{margin:0 0 5px;font-size:18px}.insurance-intro{margin:0 0 14px;color:#bfc5ce;line-height:1.45}
.insurance-choice-group{display:grid;gap:9px;margin-top:14px}.insurance-choice-group>strong{font-size:15px;margin-bottom:2px}
.radio-card{position:relative;display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:flex-start;padding:12px;border:1px solid #363d47;border-radius:12px;background:#151a20;cursor:pointer}
.radio-card:has(input:checked){border-color:#d90d18;background:#261216;box-shadow:0 0 0 2px #d90d1818}.radio-card input{width:20px;height:20px;accent-color:#d90d18;margin-top:1px}.radio-card span{display:grid;gap:3px}.radio-card small{color:#b8bec8;line-height:1.4}.radio-card.disabled{opacity:.45;cursor:not-allowed}.hint-line{font-size:12px;color:#ffcc73;line-height:1.4}
@media(max-width:720px){.insurance-questionnaire{padding:13px}.radio-card{padding:12px 10px}}

/* V0.28 — navigation interne, date de naissance simplifiée, lecteur PDF intégré */
.birth-date-field{display:grid;gap:8px}.field-title{font-weight:800}.birth-selects{display:grid;grid-template-columns:.75fr 1.35fr 1fr;gap:8px}.birth-selects label{display:grid;gap:5px;font-size:12px;color:#bfc4cd}.birth-selects select{font-size:16px;min-height:48px}
.pdf-modal{position:fixed;inset:0;z-index:9999;background:#22272e;display:grid;grid-template-rows:auto 1fr}.pdf-modal[hidden]{display:none!important}.pdf-modal-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#0b0d10;border-bottom:1px solid #343b45}.pdf-modal-bar strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-viewer-pages{overflow:auto;-webkit-overflow-scrolling:touch;padding:10px 6px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.pdf-page-wrap{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.35);line-height:0;max-width:100%}.pdf-page-canvas{display:block;max-width:100%;height:auto!important;background:#fff}.pdf-viewer-loading,.pdf-viewer-error{margin:auto;padding:28px 20px;text-align:center;color:#e9edf2;line-height:1.5}.pdf-viewer-error span{opacity:.8}.pdf-open{overflow:hidden}
@media(max-width:520px){.birth-selects{grid-template-columns:.7fr 1.35fr 1fr}.birth-selects select{padding-left:8px;padding-right:6px}}


/* V0.32 — référence de paiement clairement visible */
.payment-reference-notice{margin-top:14px;padding:15px 16px;border:2px solid currentColor;border-radius:14px;background:rgba(255,255,255,.72)}
.payment-reference-notice>strong{display:block;margin-bottom:8px}
.payment-reference-value{font-size:1.08rem;font-weight:900;padding:10px 12px;margin:7px 0;border-radius:10px;background:rgba(0,0,0,.06);letter-spacing:.01em}
.payment-reference-notice small{display:block;line-height:1.4}

/* V0.34 — contraste renforcé des consignes de paiement */
.payment-reference-notice{
  color:#f7f7f8;
  background:#171b22;
  border:2px solid #d92532;
  box-shadow:0 0 0 1px rgba(217,37,50,.12),0 8px 22px rgba(0,0,0,.18);
}
.payment-reference-notice>strong{color:#ffffff}
.payment-reference-value{
  color:#ffffff;
  background:#090b0f;
  border:1px solid #454b55;
  text-shadow:none;
}
.payment-reference-notice small{color:#d7dbe2}
