INSTALLATION
Install BOTH module folders into your existing LMIS modules directory, preserving their folder names. Back up the existing folders first. Include module-ui.php, module-ui.css and the complete ui-layouts directory.

These modules reuse the existing application header, sidebar, footer, database connection, authentication, PDF engine and PHPMailer dependencies. They do not replace core includes or vendor files. No schema migration is required for the supplied database.

Enrolments are checked against the intervention programme. New enrolments create a programme quotation and use the existing invoice workflow. Confirmation emails attach a professional enrolment letter and quotation PDF for each enrolled programme. Bulk corporate invoicing remains one invoice for the batch. Resending documents can create a quotation for an older enrolment that has none. Downloaded learner and staff letters use the same document builder.

If email delivery fails, the saved enrolment remains intact and the interface reports the delivery problem. Deleting an enrolment preserves the learner portal account. Programme currency is retained in quotations.

VALIDATION
All 72 PHP files passed the PHP 8.3 parser. Document-service tests executed quotation SQL and verified amounts, currencies, duplicate prevention, intervention checks, recipient checks, attachments and preservation after simulated mail failure. Browser checks verified responsive layouts and intervention programme selection.

PDF rendering and SMTP sending depend on your existing server configuration. Those services and the shared application includes were not supplied, so live delivery and native PDF rendering must be verified after installation.

REFERENCE RESTORATION
The shared includes/loader.php is restored exactly as used in the supplied Clients module. Its favicon and behaviour come from your existing application. The shared loader file must remain installed. Original Font Awesome icons are retained, and edit actions use fa-edit, matching Clients. Local SVG replacement and the custom module loader have been removed. Action buttons are arranged horizontally. Install module-records.js for mobile register labels.

The new design retains button colours, search spacing, responsive filters and mobile record layouts. Your existing core icon stylesheet and loader are required, as in the reference. Their live behaviour cannot be verified without those core files.
