:root{--background-image: none;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#242424;background-color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{position:relative;z-index:0;margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}body:before{content:"";position:absolute;width:100%;height:100%;z-index:-1;background-image:var(--background-image);background-attachment:fixed;background-size:cover;background-position:center;pointer-events:none}#root{margin:0 auto;text-align:center;max-width:100%;box-sizing:border-box;padding:16px}h1,h2{width:fit-content;max-width:90%;margin:1em auto .2em;padding:6px 12px;border-radius:8px;word-wrap:break-word}h1{color:var(--primary-color);font-size:2.2rem;font-weight:800;letter-spacing:-1px;text-shadow:0 2px 8px rgba(61,158,211,.08)}h2{color:var(--fourth-color);font-size:1.3rem;font-weight:700;margin-bottom:1.5em;letter-spacing:.5px}.already-sent,.error-message{width:fit-content;max-width:90%;margin:4rem auto;padding:8px 12px;border-radius:6px;word-break:break-word}.already-sent{color:var(--primary-color);font-size:1.5rem;font-weight:700}.error-message{color:red;font-size:1.3rem;font-weight:700}@media (max-width: 850px){h1{margin-top:2.5em}}@media (max-width: 600px){h1{font-size:1.8rem}h2,.already-sent,.error-message{font-size:1.1rem}}:root{--primary-color: #ffffff;--secondary-color: #f0f0f0;--third-color: #e0e0e0;--fourth-color: #d0d0d0;--background: #f8fafc;--border: #e5e7eb;--text: #1e293b}.parent-form{background:var(--background);border-radius:18px;box-shadow:0 4px 24px #2563eb14;padding:32px;display:flex;flex-direction:column;text-align:left;margin:40px auto;width:50%}.buttons-container{position:fixed;bottom:24px;right:24px;display:flex;gap:12px;z-index:1000}.save-button,.submit-button{padding:12px 28px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;box-shadow:0 2px 8px #2563eb14}.save-button{background:var(--secondary-color);color:#fff}.save-button:hover{background:color-mix(in srgb,var(--secondary-color),#ffffff 20%)}.submit-button{background:var(--third-color);color:#fff}.submit-button:hover{background:color-mix(in srgb,var(--third-color),#ffffff 20%)}@media (max-width: 1000px){.parent-form{width:80%;padding-bottom:0}}@media (max-width: 600px){.parent-form{padding:16px 16px 0;width:95%}.buttons-container{right:8px;bottom:8px;gap:8px}}.notification{position:fixed;bottom:24px;left:24px;padding:16px 38px 16px 24px;border-radius:8px;font-size:1.08rem;box-shadow:0 4px 16px #2563eb26;z-index:1200;max-width:40vw;word-break:break-word;white-space:pre-line;box-sizing:border-box;margin-bottom:18px;animation:fadeInOut 3s}.notification-close{position:absolute;top:8px;right:12px;background:transparent;border:none;color:#721c24;font-size:1.4em;cursor:pointer;padding:0 6px;border-radius:50%;line-height:1;transition:background .2s}.notification-close:hover{background:#f1b0b7}.notification.success{background-color:#d4edda;color:#155724}.notification.error{background-color:#f8d7da;color:#721c24}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#1e293b59;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000}.custom-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;z-index:2100}.custom-modal-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #2563eb2e;padding:36px 32px 28px;min-width:340px;max-width:90vw;text-align:center;animation:modalIn .2s cubic-bezier(.4,0,.2,1)}@keyframes modalIn{0%{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.custom-modal-content h2{margin-top:0;margin-bottom:18px;font-size:1.35rem;color:var(--primary-color)}.custom-modal-content p{margin-bottom:28px;color:var(--text);font-size:1.08rem}.modal-buttons{display:flex;justify-content:center;gap:18px}.modal-confirm,.modal-cancel{padding:10px 28px;border-radius:8px;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s;box-shadow:0 2px 8px #2563eb14}.modal-confirm{background:var(--primary-color);color:#fff}.modal-confirm:disabled{background:#b6d6ee;color:#fff;cursor:not-allowed}.modal-cancel{background:#fff;color:var(--primary-color);border:2px solid var(--primary-color)}.modal-cancel:disabled{color:#b6d6ee;border-color:#b6d6ee;cursor:not-allowed}.form-part{margin-bottom:3rem}.part-title{margin-top:0}.question-label{display:flex;align-items:center;margin-top:32px}.question-number{margin-right:1em;font-weight:700;color:var(--primary-color);font-size:1.1em}.text-field,input[type=date],input[type=number],input[type=tel],textarea{width:100%;padding:10px 14px;margin-bottom:18px;border:1.5px solid var(--border);border-radius:6px;font-size:1rem;background:#fff;color:var(--text);transition:border .2s,box-shadow .2s;box-sizing:border-box;outline:none}input[type=date],input[type=number]{width:fit-content}input[type=checkbox]{accent-color:var(--secondary-color);border-radius:4px;border:2px solid var(--secondary-color);vertical-align:middle;margin-right:.5em;cursor:pointer;transition:box-shadow .2s}.text-field:focus,input[type=date]:focus,input[type=number]:focus,input[type=tel]:focus,textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb1f}.text-field.valid,input[type=date].valid,input[type=number].valid,input[type=tel].valid,textarea.valid{border-color:var(--third-color);box-shadow:0 0 0 2px #8dbf221f}.prefilledFields{font-size:large;font-weight:500}textarea{min-height:80px;resize:vertical}h3{color:var(--primary-color);margin-bottom:18px;font-size:1.3em;font-weight:700;letter-spacing:.01em}.informations{font-size:.8rem;font-style:italic}.custom-file-label{display:flex;align-items:center;gap:1em;width:100%}.custom-file-input{display:none}.custom-file-btn{display:inline-block;padding:8px 18px;background:var(--third-color);color:#fff;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s;border:none;font-size:1rem}.custom-file-btn:hover{background:color-mix(in srgb,var(--third-color),#000 20%)}.custom-file-name{color:var(--text);font-size:1rem;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}@media (max-width: 600px){.custom-file-btn{font-size:12px}.custom-file-name{white-space:wrap;font-size:12px}}.dynamic-table-container{background:var(--background);border-radius:14px;box-shadow:0 2px 12px #3d9ed314;padding:24px 18px;margin:-8px 0 32px;font-family:Segoe UI,Roboto,Arial,sans-serif}.table-wrapper{width:100%;overflow-x:auto}.dynamic-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}.dynamic-table th,.dynamic-table td{padding:16px 14px;border-bottom:1.5px solid var(--border);text-align:left}.dynamic-table th{background:var(--primary-color);color:#fff;font-weight:700;font-size:1rem;letter-spacing:.02em}.dynamic-table tr:last-child td{border-bottom:none}.dynamic-table input[type=text],.dynamic-table input[type=number],.dynamic-table input[type=date]{width:100%;padding:7px 10px;border:1.5px solid var(--border);border-radius:5px;font-size:1rem;background:#f8fafc;color:var(--text);transition:border .2s,box-shadow .2s;outline:none}.dynamic-table input[type=date],.dynamic-table input[type=number]{margin:0}.dynamic-table input[type=text]:focus,.dynamic-table input[type=number]:focus,.dynamic-table input[type=date]:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #3d9ed31a}.dynamic-table input[type=text].valid,.dynamic-table input[type=number].valid,.dynamic-table input[type=date].valid{border-color:var(--third-color);box-shadow:0 0 0 2px #8dbf221f}.dynamic-table button[type=button]{background:var(--secondary-color);color:var(--text);border:none;border-radius:6px;padding:6px 12px;font-size:1.1em;cursor:pointer;margin:0 2px;transition:background .18s,transform .15s;box-shadow:0 1px 4px #fec20014}.dynamic-table button[type=button]:hover{background:color-mix(in srgb,var(--secondary-color),#000 20%);transform:scale(1.08)}.dynamic-table-container>div>button[type=button]{background:var(--third-color);color:#fff;border:none;border-radius:6px;padding:8px 18px;font-size:1em;font-weight:600;margin-left:0;cursor:pointer;transition:background .18s,transform .15s;box-shadow:0 2px 8px #8dbf2214}.dynamic-table-container>div>button[type=button]:hover{background:color-mix(in srgb,var(--third-color),#000 20%);transform:scale(1.04)}@media (max-width: 700px){.dynamic-table-container{padding:8px 2px}.dynamic-table th,.dynamic-table td{font-size:.97em;white-space:nowrap}.dynamic-table input[type=text],.dynamic-table input[type=number],.dynamic-table input[type=date]{font-size:.9em;padding:5px 8px}.dynamic-table button[type=button]{font-size:.95em;padding:4px 10px}}.language-switcher{position:fixed;top:24px;right:32px;z-index:2000;display:flex;gap:8px;background-color:var(--background);padding:8px;border-radius:6px;box-shadow:0 2px 6px #0000001a}.language-switcher button{background:color-mix(in srgb,var(--primary-color),#ffffff 20%);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-weight:600;cursor:pointer;opacity:.85;font-size:1rem;transition:background .2s,opacity .2s}.language-switcher button.active,.language-switcher button:hover{background:var(--primary-color);color:#fff;opacity:1}@media (max-width: 768px){.language-switcher{top:16px;right:16px;padding:6px;gap:6px}.language-switcher button{padding:6px 12px;font-size:.9rem}}@media (max-width: 480px){.language-switcher{top:12px;right:12px;padding:4px;gap:4px}.language-switcher button{padding:4px 10px;font-size:.8rem}}.logo-container{background-color:#fff;position:fixed;top:2vw;left:2vw;padding:.5rem;border-radius:.5rem;max-width:40vw;max-height:15vw;box-shadow:0 2px 6px #0000001a}.logo-image{width:100%;height:auto;max-width:175px}@media (max-width: 768px){.logo-container{top:16px;left:16px;max-width:50vw}.logo-image{max-width:120px}}@media (max-width: 480px){.logo-container{top:12px;left:12px;max-width:60vw;padding:.3rem}.logo-image{max-width:100px}}.background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-size:cover;background-position:center;background-repeat:no-repeat}
