.form-container{background:var(--fond-carte);border:1px solid var(--bordure);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-md)}.form-title{font-size:var(--font-size-2xl);font-weight:500;margin-bottom:var(--space-6);color:var(--texte-principal);text-align:center}.form-section{margin-bottom:var(--space-8)}.form-section-title{font-size:var(--font-size-lg);font-weight:500;margin-bottom:var(--space-5);color:var(--texte-principal);padding-bottom:var(--space-2);border-bottom:1px solid var(--bordure)}.form-row{display:grid;gap:var(--space-5)}.form-row.two-cols{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-weight:500;margin-bottom:var(--space-2);color:var(--texte-secondaire);font-size:var(--font-size-sm)}.form-label.required:after{content:" *";color:var(--couleur-principale)}.form-required-note{font-size:var(--font-size-xs);color:var(--texte-muted);margin-bottom:var(--space-5);font-style:italic}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--bordure);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;transition:all var(--transition-fast);background:var(--fond-input);color:var(--texte-principal)}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:var(--texte-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--couleur-principale);background:var(--fond-input-focus);box-shadow:0 0 0 3px #e67e221a}.form-textarea{resize:vertical;min-height:100px;border-radius:var(--radius-md)}.form-helper{display:block;font-size:var(--font-size-xs);color:var(--texte-muted);margin-top:var(--space-1)}.form-checkbox-group{display:flex;flex-direction:column;gap:var(--space-3)}.form-checkbox-item{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.form-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--couleur-principale)}.form-checkbox-label{font-size:var(--font-size-sm);color:var(--texte-secondaire)}.form-button{padding:14px 28px;border:none;border-radius:var(--radius-full);font-weight:500;font-size:var(--font-size-base);font-family:inherit;cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;gap:var(--space-2)}.form-button.primary{background:var(--couleur-principale);color:#fff}.form-button.primary:hover:not(:disabled){background:var(--couleur-secondaire);transform:translateY(-2px);box-shadow:0 4px 12px #e67e224d}.form-button:disabled{opacity:.5;cursor:not-allowed}.form-button.full-width{width:100%;justify-content:center}.form-loading{opacity:.7;pointer-events:none}.form-message{padding:var(--space-5);border-radius:var(--radius-md);margin-top:var(--space-5)}.form-message.success{background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.form-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.form-message-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--space-2)}.form-message.success .form-message-title{color:var(--succes)}.form-message.error .form-message-title{color:var(--erreur)}.form-message p{color:var(--texte-secondaire);margin:0;font-weight:300}.form-file-upload{display:block;position:relative;border:2px dashed var(--bordure);border-radius:var(--radius-md);padding:var(--space-5);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--fond-input);color:var(--texte-secondaire);font-size:var(--font-size-sm)}.form-file-upload:hover,.form-file-upload.dragover{border-color:var(--couleur-principale);color:var(--couleur-principale)}.form-file-upload.has-file{border-style:solid;border-color:var(--couleur-principale);color:var(--texte-principal)}.form-file-upload input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.form-file-upload__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.form-file-error{color:var(--erreur);font-size:var(--font-size-xs);margin-top:var(--space-1)}@media(max-width:768px){.form-container{padding:var(--space-5)}.form-row.two-cols{grid-template-columns:1fr}}
