<?php
/**
 * SIF Tab View - Declaraciones Responsables Management
 *
 * Manages responsible declarations for the invoicing system (SIF).
 * Features:
 * - List of existing declarations with PDF/ZIP downloads
 * - Modal workflow for creating new declarations
 * - Comprehensive declaration text generation
 *
 * @package FreeFacTu
 * @since   1.1.0
 * 
 * @var array  $declarations      Array of declaration objects
 * @var object $latest_declaration Latest declaration or null
 * @var bool   $is_certified      Whether current version is certified
 * @var string $current_version   Current plugin version
 * @var string $company_name      Company name from settings
 * @var string $company_nif       Company NIF from settings
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}
?>
<div class="freefactu-sif-container">

	<?php // Version Warning ?>
	<?php if ( ! $is_certified && ! empty( $declarations ) ) : ?>
	<div class="freefactu-sif-warning">
		<div class="freefactu-sif-warning-content">
			<span class="freefactu-sif-warning-icon"><span class="dashicons dashicons-warning"></span></span>
			<div>
				<strong class="freefactu-sif-warning-title"><?php esc_html_e( 'Nueva versión detectada', 'freefactu' ); ?></strong>
				<p class="freefactu-sif-warning-text">
				<?php echo wp_kses_post( sprintf( 
						/* translators: %s: Current version */
						__( 'La versión %s del plugin no tiene una Declaración Responsable. Para cumplir con la normativa VeriFactu, cree una nueva declaración que certifique esta versión del sistema.', 'freefactu' ), 
						'<code>' . esc_html( $current_version ) . '</code>' 
					) ); ?>
				</p>
			</div>
		</div>
	</div>
	<?php endif; ?>

	<!-- Declaraciones Responsables Section -->
	<div class="freefactu-sif-section">
		<div class="freefactu-sif-section-header">
			<div>
				<h2 class="freefactu-sif-section-title">
					<span class="freefactu-sif-section-title-icon"><span class="dashicons dashicons-clipboard"></span></span> 
					<?php esc_html_e( 'Declaraciones Responsables', 'freefactu' ); ?>
				</h2>
				<p class="freefactu-sif-section-subtitle">
					<?php esc_html_e( 'Registro de declaraciones del operador sobre el uso del Sistema Informático de Facturación', 'freefactu' ); ?>
				</p>
			</div>
			<button type="button" class="button button-primary" id="freefactu-new-declaration-btn">
				<span class="dashicons dashicons-plus-alt2"></span>
				<?php esc_html_e( 'Nueva Declaración', 'freefactu' ); ?>
			</button>
		</div>
		
		<?php if ( empty( $declarations ) ) : ?>
		<div class="freefactu-sif-empty-state">
			<div class="freefactu-sif-empty-icon"><span class="dashicons dashicons-list-view"></span></div>
			<h3 class="freefactu-sif-empty-title"><?php esc_html_e( 'No hay declaraciones responsables', 'freefactu' ); ?></h3>
			<p class="freefactu-sif-empty-text">
				<?php esc_html_e( 'Cree su primera declaración responsable para documentar su rol como operador del sistema y certificar el uso de este software de facturación conforme a VeriFactu.', 'freefactu' ); ?>
			</p>
			<button type="button" class="button button-primary" id="freefactu-new-declaration-btn-empty">
				<span class="dashicons dashicons-plus-alt2"></span>
				<?php esc_html_e( 'Crear Primera Declaración', 'freefactu' ); ?>
			</button>
		</div>
		<?php else : ?>
		<div class="freefactu-sif-table-container">
			<table class="wp-list-table widefat fixed striped freefactu-sif-table">
				<thead>
					<tr>
						<th class="col-version"><?php esc_html_e( 'Versión', 'freefactu' ); ?></th>
						<th class="col-sif-version"><?php esc_html_e( 'Ver. SIF', 'freefactu' ); ?></th>
						<th class="col-date"><?php esc_html_e( 'Fecha', 'freefactu' ); ?></th>
						<th><?php esc_html_e( 'Operador', 'freefactu' ); ?></th>
						<th class="col-downloads"><?php esc_html_e( 'Descargas', 'freefactu' ); ?></th>
					</tr>
				</thead>
				<tbody>
					<?php 
					$freefactu_version_counter = count( $declarations );
					foreach ( $declarations as $freefactu_declaration ) : 
						$freefactu_declaration_version = 'v' . $freefactu_version_counter;
						$freefactu_version_counter--;
					?>
					<tr>
						<td>
							<span class="freefactu-version-badge">
								<?php echo esc_html( $freefactu_declaration_version ); ?>
							</span>
						</td>
						<td>
							<code>
								<?php echo esc_html( $freefactu_declaration->software_version ); ?>
							</code>
							<?php if ( $latest_declaration && $freefactu_declaration->id === $latest_declaration->id ) : ?>
								<span class="freefactu-certified-check" title="<?php esc_attr_e( 'Versión actual certificada', 'freefactu' ); ?>"><span class="dashicons dashicons-yes-alt"></span></span>
							<?php endif; ?>
						</td>
						<td class="col-date">
							<?php echo esc_html( date_i18n( get_option( 'date_format' ) . ' H:i', strtotime( $freefactu_declaration->declaration_date ) ) ); ?>
						</td>
						<td>
							<strong class="freefactu-operator-name"><?php echo esc_html( $freefactu_declaration->operator_name ); ?></strong>
							<span class="freefactu-operator-nif"> (<?php echo esc_html( $freefactu_declaration->operator_nif ); ?>)</span>
						</td>
						<td class="col-downloads">
							<div class="freefactu-download-buttons">
								<?php if ( ! empty( $freefactu_declaration->pdf_path ) ) : ?>
								<a href="<?php echo esc_url( Freefactu_Declaration_Manager::get_declaration_pdf_url( $freefactu_declaration->id ) ); ?>" 
								   class="button button-small freefactu-download-btn" 
								   title="<?php esc_attr_e( 'Descargar PDF', 'freefactu' ); ?>">
									<span class="dashicons dashicons-pdf"></span>
									<?php esc_html_e( 'PDF', 'freefactu' ); ?>
								</a>
								<?php endif; ?>
								<?php if ( ! empty( $freefactu_declaration->zip_path ) ) : ?>
								<a href="<?php echo esc_url( Freefactu_Declaration_Manager::get_declaration_zip_url( $freefactu_declaration->id ) ); ?>" 
								   class="button button-small freefactu-download-btn"
								   title="<?php esc_attr_e( 'Descargar SIF (ZIP)', 'freefactu' ); ?>">
									<span class="dashicons dashicons-archive"></span>
									<?php esc_html_e( 'SIF', 'freefactu' ); ?>
								</a>
								<?php endif; ?>
								
							</div>
						</td>
					</tr>
					<?php endforeach; ?>
				</tbody>
			</table>
		</div>
		<?php endif; ?>
	</div>

	<!-- Legal References (condensed) -->
	<div class="freefactu-sif-section freefactu-sif-section--legal">
		<strong><?php esc_html_e( 'Marco Normativo:', 'freefactu' ); ?></strong>
		<span class="freefactu-legal-text">
			Real Decreto 1007/2023 · Orden HAC/1177/2024 · Ley 58/2003, art. 29.2.j) · Ley 11/2021
		</span>
	</div>

</div>

<!-- New Declaration Modal -->
<div id="freefactu-declaration-modal" class="freefactu-modal" style="display: none;">
	<div class="freefactu-modal-overlay"></div>
	<div class="freefactu-modal-container freefactu-modal-container--wide">
		<div class="freefactu-modal-header">
			<h2 class="freefactu-modal-title">
				<span class="freefactu-modal-title-icon"><span class="dashicons dashicons-edit"></span></span>
				<?php esc_html_e( 'Nueva Declaración Responsable', 'freefactu' ); ?>
			</h2>
			<button type="button" class="freefactu-modal-close" aria-label="<?php esc_attr_e( 'Cerrar', 'freefactu' ); ?>">
				<span class="dashicons dashicons-no-alt"></span>
			</button>
		</div>
		
		<div class="freefactu-modal-body">
			<!-- Step Indicator -->
			<div class="freefactu-wizard-steps">
				<div class="freefactu-wizard-step active" data-step="1">
					<div class="step-number">1</div>
					<div class="step-label"><?php esc_html_e( 'Datos del Operador', 'freefactu' ); ?></div>
					<div class="step-connector"></div>
				</div>
				<div class="freefactu-wizard-step" data-step="2">
					<div class="step-number">2</div>
					<div class="step-label"><?php esc_html_e( 'Revisar Declaración', 'freefactu' ); ?></div>
					<div class="step-connector"></div>
				</div>
				<div class="freefactu-wizard-step" data-step="3">
					<div class="step-number">3</div>
					<div class="step-label"><?php esc_html_e( 'Confirmar y Generar', 'freefactu' ); ?></div>
				</div>
			</div>

				<form id="freefactu-declaration-form">
				<?php wp_nonce_field( 'freefactu_save_declaration', 'declaration_nonce' ); ?>
				
				<!-- Step 1: Operator Data -->
				<div class="freefactu-wizard-content" data-step="1">
					<div class="freefactu-notice freefactu-notice-warning">
						<div class="freefactu-notice-content">
							<span class="freefactu-notice-icon"><span class="dashicons dashicons-warning"></span></span>
							<div>
								<strong class="freefactu-notice-title"><?php esc_html_e( 'Aviso Importante sobre Responsabilidad', 'freefactu' ); ?></strong>
								<p class="freefactu-notice-text">
									<?php echo wp_kses_post( __( 'Al crear esta declaración, usted reconoce que es el único responsable del uso y operación del Sistema Informático de Facturación. <strong>Este plugin es únicamente un conjunto de herramientas (toolkit)</strong> y no asume responsabilidad alguna sobre el cumplimiento fiscal o el uso que se haga del sistema.', 'freefactu' ) ); ?>
								</p>
							</div>
						</div>
					</div>

					<div class="freefactu-form-grid-2">
					<!-- Operator Info (from Settings) -->
						<div class="freefactu-form-section">
							<h4 class="freefactu-form-section-title">
								<span class="freefactu-icon-primary"><span class="dashicons dashicons-admin-users"></span></span> <?php esc_html_e( 'Datos del Operador', 'freefactu' ); ?>
								<span class="dashicons dashicons-lock freefactu-lock-icon" title="<?php esc_attr_e( 'Estos datos provienen de la pestaña Configuración', 'freefactu' ); ?>"></span>
							</h4>
							<p class="freefactu-form-section-desc">
								<?php esc_html_e( 'El operador es quien utiliza el SIF. Estos datos se toman de la pestaña Configuración.', 'freefactu' ); ?>
							</p>
							
							<div class="freefactu-data-card">
								<?php if ( ! empty( $company_name ) && ! empty( $company_nif ) ) : ?>
									<div class="freefactu-data-row">
										<span class="freefactu-data-label">
											<?php esc_html_e( 'Razón Social', 'freefactu' ); ?>
										</span>
										<strong class="freefactu-data-value"><?php echo esc_html( $company_name ); ?></strong>
									</div>
									<div>
										<span class="freefactu-data-label">
											<?php esc_html_e( 'NIF/CIF', 'freefactu' ); ?>
										</span>
										<code class="freefactu-code-badge"><?php echo esc_html( $company_nif ); ?></code>
									</div>
									<!-- Hidden fields to pass the operator data -->
									<input type="hidden" name="operator_name" value="<?php echo esc_attr( $company_name ); ?>">
									<input type="hidden" name="operator_nif" value="<?php echo esc_attr( $company_nif ); ?>">
								<?php else : ?>
									<div class="freefactu-error-state">
										<span class="dashicons dashicons-warning"></span>
										<div>
											<strong class="freefactu-error-title"><?php esc_html_e( 'Datos de empresa no configurados', 'freefactu' ); ?></strong>
											<p class="freefactu-error-text"><?php esc_html_e( 'Debe configurar la Razón Social y NIF en la pestaña Configuración.', 'freefactu' ); ?></p>
											<a href="<?php echo esc_url( admin_url( 'admin.php?page=freefactu&tab=settings' ) ); ?>" 
											   class="button button-small freefactu-mt-10">
												<?php esc_html_e( 'Ir a Configuración', 'freefactu' ); ?>
											</a>
										</div>
									</div>
								<?php endif; ?>
							</div>
						</div>

						<!-- Software Info -->
						<div class="freefactu-form-section">
							<h4 class="freefactu-form-section-title">
								<span class="freefactu-icon-success"><span class="dashicons dashicons-laptop"></span></span> <?php esc_html_e( 'Datos del Software', 'freefactu' ); ?>
							</h4>
							<p class="freefactu-form-section-desc">
								<?php esc_html_e( 'Información del Sistema Informático de Facturación (SIF).', 'freefactu' ); ?>
							</p>
						
						<!-- Producer/Vendor Info -->
						<div class="freefactu-form-card">
					<h5 class="freefactu-subsection-title">
								<?php esc_html_e( 'Productor del SIF', 'freefactu' ); ?>
							</h5>
							<p class="freefactu-mb-12">
								<a href="#" id="freefactu-sif-producer-info-link" class="freefactu-info-link">
									<span class="dashicons dashicons-info-outline"></span>
									<?php esc_html_e( '¿Quién es el productor del SIF?', 'freefactu' ); ?>
								</a>
							</p>
							
							<div class="freefactu-form-row">
								<label for="declaration_producer_name" class="freefactu-label">
									<?php esc_html_e( 'Nombre/Razón Social', 'freefactu' ); ?> <span class="freefactu-required">*</span>
								</label>
								<input type="text" 
									   name="producer_name" 
									   id="declaration_producer_name"
									   value="<?php echo esc_attr( $latest_declaration ? $latest_declaration->producer_name : $producer_name ); ?>" 
									   class="regular-text freefactu-input-full"
									   placeholder="<?php esc_attr_e( 'Ej: Empresa SL o Nombre autónomo', 'freefactu' ); ?>"
									   required>
							</div>
							
							<div>
								<label for="declaration_producer_nif" class="freefactu-label">
									<?php esc_html_e( 'NIF/CIF', 'freefactu' ); ?> <span class="freefactu-required">*</span>
								</label>
								<input type="text" 
									   name="producer_nif" 
									   id="declaration_producer_nif"
									   value="<?php echo esc_attr( $latest_declaration ? $latest_declaration->producer_nif : $producer_nif ); ?>" 
									   class="regular-text freefactu-input-full"
									   placeholder="<?php esc_attr_e( 'Ej: B12345678', 'freefactu' ); ?>"
									   required>
							</div>
							</div>
						
						<div class="freefactu-mt-12">
							<label for="declaration_producer_address" class="freefactu-label">
								<?php esc_html_e( 'Dirección postal', 'freefactu' ); ?>
							</label>
							<input type="text" 
								   name="producer_address" 
								   id="declaration_producer_address"
								   value="<?php echo esc_attr( $latest_declaration && isset( $latest_declaration->producer_address ) ? $latest_declaration->producer_address : '' ); ?>" 
								   class="regular-text freefactu-input-full"
								   placeholder="<?php esc_attr_e( 'Ej: Gran Via 23, 4º 2ª', 'freefactu' ); ?>">
						</div>
						
						<div class="freefactu-form-grid-2-narrow">
							<div>
								<label for="declaration_producer_postal_code" class="freefactu-label">
									<?php esc_html_e( 'Código postal', 'freefactu' ); ?>
								</label>
								<input type="text" 
									   name="producer_postal_code" 
									   id="declaration_producer_postal_code"
									   value="<?php echo esc_attr( $latest_declaration && isset( $latest_declaration->producer_postal_code ) ? $latest_declaration->producer_postal_code : '' ); ?>" 
									   class="regular-text freefactu-input-full"
									   maxlength="10"
									   placeholder="<?php esc_attr_e( 'Ej: 08005', 'freefactu' ); ?>">
							</div>
							<div>
								<label for="declaration_producer_city" class="freefactu-label">
									<?php esc_html_e( 'Ciudad', 'freefactu' ); ?>
								</label>
								<input type="text" 
									   name="producer_city" 
									   id="declaration_producer_city"
									   value="<?php echo esc_attr( $latest_declaration && isset( $latest_declaration->producer_city ) ? $latest_declaration->producer_city : '' ); ?>" 
									   class="regular-text freefactu-input-full"
									   placeholder="<?php esc_attr_e( 'Ej: Barcelona', 'freefactu' ); ?>">
							</div>
						</div>
						
						<div class="freefactu-form-grid-2-narrow">
							<div>
								<label for="declaration_producer_phone" class="freefactu-label">
									<?php esc_html_e( 'Teléfono', 'freefactu' ); ?>
								</label>
								<input type="text" 
									   name="producer_phone" 
									   id="declaration_producer_phone"
									   value="<?php echo esc_attr( $latest_declaration && isset( $latest_declaration->producer_phone ) ? $latest_declaration->producer_phone : '' ); ?>" 
									   class="regular-text freefactu-input-full"
									   placeholder="<?php esc_attr_e( 'Ej: 612123123', 'freefactu' ); ?>">
							</div>
							<div>
								<label for="declaration_producer_email" class="freefactu-label">
									<?php esc_html_e( 'Correo electrónico', 'freefactu' ); ?>
								</label>
								<input type="text" 
									   name="producer_email" 
									   id="declaration_producer_email"
									   value="<?php echo esc_attr( $latest_declaration && isset( $latest_declaration->producer_email ) ? $latest_declaration->producer_email : '' ); ?>" 
									   class="regular-text freefactu-input-full"
									   placeholder="<?php esc_attr_e( 'Ej: contacto@empresa.es', 'freefactu' ); ?>">
							</div>
						</div>
						
						<div class="freefactu-mt-12">
							<label for="declaration_producer_website" class="freefactu-label">
								<?php esc_html_e( 'Sitio web', 'freefactu' ); ?>
							</label>
							<input type="text" 
								   name="producer_website" 
								   id="declaration_producer_website"
								   value="<?php echo esc_attr( $latest_declaration && isset( $latest_declaration->producer_website ) ? $latest_declaration->producer_website : '' ); ?>" 
								   class="regular-text freefactu-input-full"
								   placeholder="<?php esc_attr_e( 'Ej: https://www.empresa.es', 'freefactu' ); ?>">
						</div>
					
							<div class="freefactu-form-row">
								<label for="declaration_software_name" class="freefactu-label">
									<?php esc_html_e( 'Nombre del Sistema', 'freefactu' ); ?> <span class="freefactu-required">*</span>
									<span class="dashicons dashicons-editor-help freefactu-help-icon" title="<?php esc_attr_e( 'Puedes usar cualquier nombre que desees para identificar tu sistema de facturación. Por ejemplo: MiEmpresa SIF, Mi Programa de Facturación, etc.', 'freefactu' ); ?>"></span>
								</label>
								<input type="text" 
									   name="software_name" 
									   id="declaration_software_name"
									   value="<?php echo esc_attr( $latest_declaration ? $latest_declaration->software_name : '' ); ?>" 
									   class="regular-text freefactu-input-full"
									   placeholder="<?php esc_attr_e( 'Ej: MiEmpresa SIF', 'freefactu' ); ?>"
									   required>
								<p class="description freefactu-field-desc">
									<?php esc_html_e( 'Identifica su sistema de facturación en la declaración oficial.', 'freefactu' ); ?>
								</p>
							</div>
							
							<div class="freefactu-form-row">
								<label for="declaration_software_id_code" class="freefactu-label">
									<?php esc_html_e( 'Código Identificador', 'freefactu' ); ?>
									<span class="dashicons dashicons-editor-help freefactu-help-icon" title="<?php esc_attr_e( 'Código corto que identifica el sistema (2-10 caracteres). Ejemplo: FF, SIF1, FACT...', 'freefactu' ); ?>"></span>
								</label>
								<input type="text" 
									   name="software_id_code" 
									   id="declaration_software_id_code"
									   value="<?php echo esc_attr( $latest_declaration && isset( $latest_declaration->software_id_code ) ? $latest_declaration->software_id_code : 'SIF1' ); ?>" 
									   class="regular-text freefactu-input-code"
									   maxlength="10"
									   placeholder="<?php esc_attr_e( 'Ej: SIF1', 'freefactu' ); ?>">
								<p class="description freefactu-field-desc">
									<?php esc_html_e( 'Abreviatura del sistema, puede ser lo que quieras (ej: SIF1, FACT, VF).', 'freefactu' ); ?>
								</p>
							</div>
							
							<div class="freefactu-form-row">
								<label for="declaration_software_version" class="freefactu-label">
									<?php esc_html_e( 'Versión', 'freefactu' ); ?> <span class="freefactu-required">*</span>
									<span class="dashicons dashicons-editor-help freefactu-help-icon" title="<?php esc_attr_e( 'Versión del sistema (formato X.Y.Z). Debe ser única e incremental.• Mayor (X): Cambios importantes o incompatibles. Ej: 1.0.0 → 2.0.0  Menor (Y): Nuevas funcionalidades compatibles. Ej: 1.0.0 → 1.1.0  Parche (Z): Correcciones de errores. Ej: 1.0.0 → 1.0.1La nueva versión siempre debe ser mayor que la anterior.', 'freefactu' ); ?>"></span>
								</label>
								<input type="text" 
									   name="software_version" 
									   id="declaration_software_version"
									   value="<?php echo esc_attr( $suggested_version ); ?>" 
									   class="regular-text freefactu-input-full"
									   placeholder="<?php esc_attr_e( 'Ej: 1.0.0', 'freefactu' ); ?>"
									   pattern="\d+\.\d+\.\d+"
									   required>
								<p class="description freefactu-field-desc">
								<?php 
								if ( empty( $existing_versions ) ) {
									echo wp_kses_post( sprintf(
										/* translators: %s: Current plugin version */
										__( 'Primera declaración. Se sugiere comenzar con %s.', 'freefactu' ),
										'<code>' . esc_html( FREEFACTU_VERSION ) . '</code>'
									) );
								} else {
									echo wp_kses_post( sprintf(
										/* translators: %s: Latest version */
										__( 'Última versión: %s. La nueva versión debe ser mayor.', 'freefactu' ),
										'<code>' . esc_html( $latest_version ) . '</code>'
									) );
								}
								?>
							</p>
							</div>
							
							<div>
								<label for="declaration_installation_number" class="freefactu-label">
									<?php esc_html_e( 'Nº Instalación', 'freefactu' ); ?>
									<span class="dashicons dashicons-editor-help freefactu-help-icon" title="<?php esc_attr_e( 'Número que identifica esta instalación específica del sistema. Útil si tiene múltiples tiendas o instalaciones. Use 001 para la primera instalación.', 'freefactu' ); ?>"></span>
								</label>
								<input type="text" 
									   name="installation_number" 
									   id="declaration_installation_number" 
									   value="<?php echo esc_attr( $latest_declaration ? $latest_declaration->installation_number : '001' ); ?>" 
									   class="small-text"
									   maxlength="10">
								<p class="description freefactu-field-desc">
									<?php esc_html_e( 'Identificador único si tiene varias instalaciones (001, 002...).', 'freefactu' ); ?>
								</p>
							</div>
						</div>
					</div>

					<div class="freefactu-form-actions">
						<button type="button" class="button button-primary freefactu-wizard-next" data-next="2">
							<?php esc_html_e( 'Continuar', 'freefactu' ); ?>
							<span class="dashicons dashicons-arrow-right-alt"></span>
						</button>
					</div>
				</div>

				<!-- Step 2: Review Declaration -->
				<div class="freefactu-wizard-content" data-step="2" style="display: none;">
					<div class="freefactu-notice freefactu-notice-info">
						<div class="freefactu-notice-content">
							<span class="freefactu-notice-icon"><span class="dashicons dashicons-media-document"></span></span>
							<div>
								<strong class="freefactu-notice-title"><?php esc_html_e( 'Revise y edite el contenido de la declaración', 'freefactu' ); ?></strong>
								<p class="freefactu-notice-text">
									<?php esc_html_e( 'Este texto se generará como PDF y formará parte del expediente de su Sistema Informático de Facturación. Puede modificar el contenido según sus necesidades específicas.', 'freefactu' ); ?>
								</p>
							</div>
						</div>
					</div>

					<div class="freefactu-declaration-container">
						<label for="declaration_content" class="freefactu-declaration-label">
							<span class="freefactu-emoji-purple"><span class="dashicons dashicons-edit"></span></span> <?php esc_html_e( 'Contenido de la Declaración', 'freefactu' ); ?>
							<span class="freefactu-declaration-format-hint">(Formato Markdown)</span>
						</label>
						<textarea name="declaration_content" 
								  id="declaration_content" 
								  rows="25" 
								  class="freefactu-declaration-textarea"
								  required></textarea>
					</div>

					<div class="freefactu-wizard-actions">
						<button type="button" class="button freefactu-wizard-prev" data-prev="1">
							<span class="dashicons dashicons-arrow-left-alt freefactu-btn-icon-left"></span>
							<?php esc_html_e( 'Anterior', 'freefactu' ); ?>
						</button>
						<button type="button" class="button button-primary freefactu-wizard-next" data-next="3" id="freefactu-step2-continue" disabled title="<?php esc_attr_e( 'Debes haber revisado la declaración para continuar', 'freefactu' ); ?>">
							<?php esc_html_e( 'Continuar', 'freefactu' ); ?>
							<span class="dashicons dashicons-arrow-right-alt freefactu-btn-icon-right"></span>
						</button>
					</div>
				</div>

				<!-- Step 3: Confirm and Generate -->
				<div class="freefactu-wizard-content" data-step="3" style="display: none;">
					<div id="freefactu-ready-to-generate-notice" class="freefactu-notice freefactu-notice-success">
						<div class="freefactu-notice-content">
							<span class="freefactu-notice-icon"><span class="dashicons dashicons-yes-alt"></span></span>
							<div>
								<strong class="freefactu-notice-title"><?php esc_html_e( 'Listo para generar', 'freefactu' ); ?></strong>
								<p class="freefactu-notice-text">
									<?php esc_html_e( 'Al confirmar, se generará un PDF con la declaración y un archivo ZIP con la copia del Sistema Informático de Facturación.', 'freefactu' ); ?>
								</p>
							</div>
						</div>
					</div>

					<div id="freefactu-sif-info" class="freefactu-sif-info-box">
						<h4 class="freefactu-sif-info-title"><?php esc_html_e( '¿Qué se incluirá en el archivo SIF (ZIP)?', 'freefactu' ); ?></h4>
						<ul class="freefactu-sif-list">
							<li><code>/plugins/freefactu/</code> - <?php esc_html_e( 'Código fuente completo del plugin', 'freefactu' ); ?></li>
							<li><code>/uploads/freefactu/</code> - <?php esc_html_e( 'Facturas PDF generadas', 'freefactu' ); ?></li>
							<li><code>/uploads/freefactu-certs/</code> - <?php esc_html_e( 'Certificados digitales (si existen)', 'freefactu' ); ?></li>
							<li><code>database_export.sql</code> - <?php esc_html_e( 'Tablas y configuración de la base de datos', 'freefactu' ); ?></li>
						</ul>
					</div>

					<div class="freefactu-confirmation-box">
						<label class="freefactu-checkbox-label">
							<input type="checkbox" id="declaration_confirm" name="confirm_responsibility" required class="freefactu-checkbox-input">
							<span class="freefactu-checkbox-text">
								<?php echo wp_kses_post( __( '<strong>Confirmo que he leído y entendido el contenido de la declaración.</strong> Reconozco que soy el único responsable del uso del Sistema Informático de Facturación y que Freefactu actúa únicamente como herramienta de software sin asumir responsabilidad fiscal o legal alguna.', 'freefactu' ) ); ?>
							</span>
						</label>
					</div>

					<!-- Progress indicator container (hidden initially) -->
					<div id="freefactu-declaration-progress" class="freefactu-progress-container">
						<h4 class="freefactu-progress-title"><?php esc_html_e( 'Generando declaración...', 'freefactu' ); ?></h4>
						<ul id="freefactu-progress-list" class="freefactu-progress-list">
							<!-- Progress items added dynamically -->
						</ul>
					</div>

					<!-- Success message container (hidden initially) -->
					<div id="freefactu-declaration-success" class="freefactu-success-container">
						<div class="freefactu-success-icon"><span class="dashicons dashicons-yes-alt"></span></div>
						<h3 class="freefactu-success-title"><?php esc_html_e( '¡Declaración creada correctamente!', 'freefactu' ); ?></h3>
						<p class="freefactu-success-text"><?php esc_html_e( 'La declaración responsable y el archivo SIF han sido generados exitosamente.', 'freefactu' ); ?></p>
						<button type="button" class="button button-primary" id="freefactu-declaration-ok">
							<?php esc_html_e( 'Aceptar', 'freefactu' ); ?>
						</button>
					</div>

					<!-- Error message container (hidden initially) -->
					<div id="freefactu-declaration-error" class="freefactu-error-container">
						<div class="freefactu-error-icon"><span class="dashicons dashicons-dismiss"></span></div>
						<h3 class="freefactu-error-title"><?php esc_html_e( 'Error al generar la declaración', 'freefactu' ); ?></h3>
						<p class="freefactu-error-text" id="freefactu-declaration-error-message"></p>
						<button type="button" class="button" id="freefactu-declaration-close">
							<?php esc_html_e( 'Cerrar', 'freefactu' ); ?>
						</button>
					</div>

					<div id="freefactu-step3-actions" class="freefactu-wizard-actions">
						<button type="button" class="button freefactu-wizard-prev" data-prev="2">
							<span class="dashicons dashicons-arrow-left-alt freefactu-btn-icon-left"></span>
							<?php esc_html_e( 'Anterior', 'freefactu' ); ?>
						</button>
						<button type="submit" class="button button-primary" id="freefactu-submit-declaration">
							<span class="dashicons dashicons-saved freefactu-btn-icon-left"></span>
							<?php esc_html_e( 'Generar Declaración y SIF', 'freefactu' ); ?>
						</button>
					</div>
				</div>
			</form>
		</div>
	</div>
</div>

<!-- SIF Producer Info Modal -->
<div id="freefactu-sif-producer-modal" class="freefactu-modal" style="display: none;">
	<div class="freefactu-modal-overlay"></div>
	<div class="freefactu-modal-container freefactu-modal-container--wide">
		<div class="freefactu-modal-header">
			<h2>
				<span class="freefactu-icon-warning"><span class="dashicons dashicons-warning"></span></span>
				<?php esc_html_e( '¿Quién es el productor del SIF?', 'freefactu' ); ?>
			</h2>
			<button type="button" class="freefactu-modal-close" aria-label="<?php esc_attr_e( 'Cerrar', 'freefactu' ); ?>">
				<span class="dashicons dashicons-no-alt"></span>
			</button>
		</div>
		<div class="freefactu-modal-body freefactu-modal-body-scroll">
			<div class="freefactu-legal-section-pag">
				<!-- Section 1: Why you must identify yourself -->
				<div class="freefactu-legal-warning">
					<h3 class="freefactu-legal-title-warning">
						<?php esc_html_e( 'Por qué debes identificarte como desarrollador o productor del SIF', 'freefactu' ); ?>
					</h3>
					<p class="freefactu-legal-text-warning">
						<?php echo wp_kses_post( __( 'Freefactu es un componente técnico que se integra en tu instalación de WordPress y WooCommerce, pero <strong>no constituye por sí mismo un Sistema Informático de Facturación (SIF)</strong>. Según el RD 1007/2023 y la Orden HAC/1177/2024, el SIF es el conjunto completo del sistema que utilizas para emitir facturas: tu instalación de WordPress, WooCommerce, tus plugins, tu servidor, bases de datos, configuraciones, integraciones y cualquier otro elemento que intervenga en el proceso de facturación.', 'freefactu' ) ); ?>
					</p>
					<p class="freefactu-legal-text-warning freefactu-mt-16">
						<?php echo wp_kses_post( __( 'Dado que <strong>tú eres quien instala, configura, personaliza y opera este sistema en tu propio entorno</strong>, la normativa exige que en la Declaración Responsable se identifique como "productor o desarrollador del SIF" a la persona o entidad que controla y gestiona el sistema final que genera las facturas. Por tanto, <strong>debes identificarte a ti mismo o a tu empresa como productor del SIF</strong>, ya que Freefactu no controla tu infraestructura ni tu proceso de facturación, y no puede asumir ese papel ante la AEAT.', 'freefactu' ) ); ?>
					</p>
				</div>

				<!-- Section 2: Legal disclaimer -->
				<div class="freefactu-legal-section">
					<h3 class="freefactu-legal-title">
						<span class="dashicons dashicons-shield freefactu-icon-primary"></span>
						<?php esc_html_e( 'Aviso legal y limitación de responsabilidad', 'freefactu' ); ?>
					</h3>
					<p class="freefactu-legal-text">
						<?php echo wp_kses_post( __( 'Freefactu <strong>no es un software certificado por la AEAT</strong> ni constituye un Sistema Informático de Facturación. Es únicamente un toolkit que facilita la comunicación técnica con los servicios VeriFactu previstos en el RD 1007/2023. El cumplimiento íntegro de la normativa aplicable depende exclusivamente del usuario.', 'freefactu' ) ); ?>
					</p>
					<p class="freefactu-legal-text freefactu-fw-600">
						<?php esc_html_e( 'El usuario es el único responsable de:', 'freefactu' ); ?>
					</p>
					<ul class="freefactu-legal-list">
						<li><?php esc_html_e( 'Realizar la Declaración Responsable ante la AEAT.', 'freefactu' ); ?></li>
						<li><?php esc_html_e( 'Identificarse correctamente como productor del SIF.', 'freefactu' ); ?></li>
						<li><?php esc_html_e( 'Garantizar que su sistema de facturación cumple con los requisitos legales, técnicos y de seguridad establecidos en la normativa vigente.', 'freefactu' ); ?></li>
						<li><?php esc_html_e( 'Configurar adecuadamente su instalación de WordPress, WooCommerce y cualquier otro componente utilizado.', 'freefactu' ); ?></li>
						<li><?php esc_html_e( 'Verificar la corrección de los datos enviados o almacenados.', 'freefactu' ); ?></li>
					</ul>
					<p class="freefactu-legal-text">
						<?php esc_html_e( 'Freefactu <strong>no asume ninguna obligación</strong> de verificación, custodia, conservación, corrección, integridad técnica ni adecuación legal del SIF del usuario.', 'freefactu' ); ?>
					</p>
				</div>

				<!-- Section 3: Warranty exemption -->
				<div class="freefactu-legal-section">
					<h3 class="freefactu-legal-title">
						<span class="dashicons dashicons-warning freefactu-icon-warning-color"></span>
						<?php esc_html_e( 'Exención de garantías', 'freefactu' ); ?>
					</h3>
					<p class="freefactu-legal-text">
						<?php echo wp_kses_post( __( 'Freefactu se distribuye bajo licencia <strong>GNU General Public License (GPL)</strong>, lo que implica que se ofrece "tal cual" (as-is), sin ningún tipo de garantía expresa o implícita. No se garantiza que el software sea adecuado para un propósito concreto, que cumpla automáticamente con la normativa fiscal vigente, que se encuentre libre de errores, ni que produzca resultados exactos en todas las configuraciones posibles del usuario.', 'freefactu' ) ); ?>
					</p>
					<p class="freefactu-legal-text">
						<?php echo wp_kses_post( __( 'La licencia GPL establece que el desarrollador <strong>no asume ninguna responsabilidad</strong> por daños derivados del uso del software y que el usuario acepta plenamente esta condición al instalarlo o ejecutarlo. El uso de Freefactu no exime al usuario de su responsabilidad de revisar, validar y certificar el correcto funcionamiento de su propio SIF.', 'freefactu' ) ); ?>
					</p>
				</div>

				<!-- Section 4: Liability limitation -->
				<div class="freefactu-legal-section">
					<h3 class="freefactu-legal-title">
						<span class="dashicons dashicons-dismiss freefactu-icon-error-color"></span>
						<?php esc_html_e( 'Limitación de responsabilidad', 'freefactu' ); ?>
					</h3>
					<p class="freefactu-legal-text">
						<?php esc_html_e( 'En ningún caso el desarrollador de Freefactu será responsable por daños directos, indirectos, incidentales, consecuenciales, pérdida de datos, errores de facturación, incumplimiento normativo, interrupción de negocio o cualquier perjuicio derivado del uso, mal uso o incapacidad de uso del software.', 'freefactu' ); ?>
					</p>
					<p class="freefactu-legal-text">
						<?php esc_html_e( 'Dado que Freefactu no almacena ni procesa datos personales en servidores del desarrollador, y el sistema opera exclusivamente en la instalación del usuario, cualquier obligación derivada de la normativa de protección de datos recae únicamente sobre el usuario. El usuario acepta que la instalación y uso de Freefactu se realiza bajo su exclusivo riesgo y responsabilidad, conforme a los términos de la licencia GPL.', 'freefactu' ); ?>
					</p>
				</div>

				<!-- Section 5: Conclusion -->
				<div class="freefactu-legal-conclusion">
					<h3 class="freefactu-legal-conclusion-title">
						<span class="dashicons dashicons-yes-alt freefactu-mr-6"></span>
						<?php esc_html_e( 'Conclusión para el usuario', 'freefactu' ); ?>
					</h3>
					<p class="freefactu-legal-conclusion-text">
						<?php echo wp_kses_post( __( '<strong>Debes identificarte como productor del SIF</strong> porque tú eres quien configura, gestiona y controla el sistema completo que emite tus facturas. Freefactu solo proporciona una capa técnica para facilitar la integración con VeriFactu, pero no constituye un SIF, no certifica el cumplimiento legal y no puede asumir funciones ni responsabilidades que corresponden exclusivamente al usuario según la normativa vigente y los términos de la licencia GPL.', 'freefactu' ) ); ?>
					</p>
				</div>
			</div>
		</div>
	</div>
</div>



