Added scheduler jobs

This commit is contained in:
2026-10-28 18:04:52 +02:00
parent 7f686fa8c6
commit 04b5656fd1
8 changed files with 937 additions and 31 deletions
@@ -0,0 +1,188 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Project Milestone Overdue Notification</title>
<!--[if mso]>
<style type="text/css">
body, table, td { font-family: Arial, Helvetica, sans-serif !important; }
</style>
<![endif]-->
</head>
<body style="margin: 0; padding: 0; background-color: #f1f5f9; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; color: #1e293b; line-height: 1.6;">
<!-- Wrapper Table -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f1f5f9; padding: 32px 16px;">
<tr>
<td align="center">
<!-- Main Container Card (600px) -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px; background-color: #ffffff; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0;">
<!-- Header Bar -->
<tr>
<td style="background-color: #0f172a; padding: 24px 32px; border-bottom: 3px solid #e11d48;">
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<div style="font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 4px;">
Post-Fund Management Platform (PFM)
</div>
<div style="font-size: 18px; font-weight: 700; color: #ffffff; letter-spacing: -0.3px;">
Portfolio Performance &amp; Monitoring
</div>
</td>
<td align="right" style="vertical-align: middle;">
<span style="display: inline-block; background-color: rgba(225, 29, 72, 0.2); border: 1px solid rgba(225, 29, 72, 0.5); color: #fda4af; padding: 4px 10px; border-radius: 9999px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;">
Action Required
</span>
</td>
</tr>
</table>
</td>
</tr>
<!-- Alert Banner -->
<tr>
<td style="background-color: #fff1f2; border-bottom: 1px solid #ffe4e6; padding: 16px 32px;">
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="width: 28px; vertical-align: top; padding-right: 12px;">
<div style="width: 24px; height: 24px; background-color: #e11d48; border-radius: 50%; color: #ffffff; text-align: center; line-height: 24px; font-size: 13px; font-weight: bold;">
!
</div>
</td>
<td>
<div style="font-size: 14px; font-weight: 700; color: #9f1239; margin-bottom: 2px;">
Overdue Milestone Notice: [TotalLateMilestones] Milestone(s) Exceeded Due Date
</div>
<div style="font-size: 12px; color: #be123c;">
Automated daily sweep flagged scheduled deliverables requiring evidence submission or status updates.
</div>
</td>
</tr>
</table>
</td>
</tr>
<!-- Content Body -->
<tr>
<td style="padding: 32px;">
<!-- Salutation -->
<p style="margin: 0 0 16px 0; font-size: 15px; color: #334155;">
Dear <strong>[OrganisationName]</strong> Team,
</p>
<!-- Message -->
<p style="margin: 0 0 24px 0; font-size: 14px; color: #475569; line-height: 1.6;">
During our automated lifecycle monitoring sweep, our platform identified one or more contractual milestones for
<strong style="color: #0f172a;">[ProjectName]</strong> that have passed their agreed target completion deadlines without formal evidence approval.
</p>
<!-- Project Overview Box -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; margin-bottom: 24px; overflow: hidden;">
<tr>
<td colspan="2" style="background-color: #f1f5f9; padding: 10px 16px; border-bottom: 1px solid #e2e8f0; font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; letter-spacing: 0.5px;">
Project Summary
</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; width: 40%; border-bottom: 1px solid #f1f5f9;">Project Title</td>
<td style="padding: 12px 16px; font-size: 13px; font-weight: 600; color: #0f172a; border-bottom: 1px solid #f1f5f9;">[ProjectName]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Implementation Window</td>
<td style="padding: 12px 16px; font-size: 13px; color: #334155; border-bottom: 1px solid #f1f5f9;">[ProjectStartDate] &mdash; [ProjectEndDate]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Overdue Deliverables</td>
<td style="padding: 12px 16px; font-size: 13px; font-weight: 700; color: #e11d48; border-bottom: 1px solid #f1f5f9;">
<span style="background-color: #fee2e2; color: #991b1b; padding: 2px 8px; border-radius: 4px;">[TotalLateMilestones] Milestone(s)</span>
</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b;">Most Overdue Milestone</td>
<td style="padding: 12px 16px; font-size: 13px; color: #334155;">
<strong>[MostLateMilestoneName]</strong> <span style="color: #64748b; font-size: 12px;">(Due: [MostLateMilestoneDueDate])</span>
</td>
</tr>
</table>
<!-- Detailed Milestones Table Header -->
<div style="font-size: 13px; font-weight: 700; color: #1e293b; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.5px;">
Milestone Breakdown
</div>
<!-- Milestones Table -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; margin-bottom: 24px; font-size: 13px; border: 1px solid #e2e8f0; border-radius: 6px; overflow: hidden;">
<thead>
<tr style="background-color: #f8fafc; text-align: left; border-bottom: 2px solid #e2e8f0;">
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Milestone</th>
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Due Date</th>
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Delay</th>
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Status</th>
</tr>
</thead>
<tbody>
[LateMilestonesTable]
</tbody>
</table>
<!-- Governance & SLA Callout -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f8fafc; border-left: 4px solid #0284c7; padding: 14px 18px; border-radius: 4px; margin-bottom: 28px;">
<tr>
<td>
<div style="font-size: 12px; font-weight: 700; color: #0369a1; text-transform: uppercase; margin-bottom: 4px;">
Disbursement &amp; Governance Policy (BR-003 / BR-004)
</div>
<div style="font-size: 12px; color: #475569; line-height: 1.5;">
Under PFM governance regulations, tranches and disbursements are strictly gated by verified milestone deliverables. Overdue milestones may trigger project risk escalations and freeze scheduled payment releases.
</div>
</td>
</tr>
</table>
<!-- CTA Button -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-bottom: 28px;">
<tr>
<td align="center">
<a href="[PortalUrl]" target="_blank" style="display: inline-block; background-color: #0f172a; color: #ffffff; text-decoration: none; font-size: 14px; font-weight: 600; padding: 12px 32px; border-radius: 6px; box-shadow: 0 2px 4px rgba(15, 23, 42, 0.15);">
Open PFM Portal &amp; Submit Evidence &rarr;
</a>
</td>
</tr>
</table>
<p style="margin: 0; font-size: 13px; color: #64748b; line-height: 1.5;">
If you have already submitted the evidence for these deliverables or have an active change request under review with your Programme Manager, you may disregard this notice.
</p>
</td>
</tr>
<!-- Footer -->
<tr>
<td style="background-color: #f8fafc; padding: 24px 32px; border-top: 1px solid #e2e8f0; font-size: 12px; color: #94a3b8; text-align: center;">
<p style="margin: 0 0 8px 0; color: #64748b; font-weight: 600;">
Post-Fund Management (PFM) Platform &bull; Automated Lifecycle &amp; SLA Daemon
</p>
<p style="margin: 0 0 12px 0; line-height: 1.4;">
This is an automated contractual notification sent in accordance with your funding agreement SLA.<br>
Please do not reply directly to this email. For support, please contact your designated Programme Officer.
</p>
<p style="margin: 0; font-size: 11px; color: #cbd5e1;">
&copy; [Year] PostFundManagement Platform. All rights reserved.
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
@@ -0,0 +1,195 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Programme Oversight: Project Milestone Escalation Notice</title>
<!--[if mso]>
<style type="text/css">
body, table, td { font-family: Arial, Helvetica, sans-serif !important; }
</style>
<![endif]-->
</head>
<body style="margin: 0; padding: 0; background-color: #f8fafc; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; color: #1e293b; line-height: 1.6;">
<!-- Wrapper Table -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f8fafc; padding: 32px 16px;">
<tr>
<td align="center">
<!-- Main Container Card (600px) -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px; background-color: #ffffff; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0;">
<!-- Header Bar -->
<tr>
<td style="background-color: #0f172a; padding: 24px 32px; border-bottom: 3px solid #d97706;">
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<div style="font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 4px;">
PFM Internal Governance &bull; FR-M07-009 Escalation
</div>
<div style="font-size: 18px; font-weight: 700; color: #ffffff; letter-spacing: -0.3px;">
Programme Milestone Escalation
</div>
</td>
<td align="right" style="vertical-align: middle;">
<span style="display: inline-block; background-color: rgba(217, 119, 6, 0.2); border: 1px solid rgba(217, 119, 6, 0.6); color: #fde68a; padding: 4px 10px; border-radius: 9999px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;">
Internal Notice
</span>
</td>
</tr>
</table>
</td>
</tr>
<!-- Alert Banner -->
<tr>
<td style="background-color: #fffbeb; border-bottom: 1px solid #fef3c7; padding: 16px 32px;">
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="width: 28px; vertical-align: top; padding-right: 12px;">
<div style="width: 24px; height: 24px; background-color: #d97706; border-radius: 50%; color: #ffffff; text-align: center; line-height: 24px; font-size: 13px; font-weight: bold;">
!
</div>
</td>
<td>
<div style="font-size: 14px; font-weight: 700; color: #92400e; margin-bottom: 2px;">
Milestone SLA Breach: [TotalLateMilestones] Deliverable(s) Past Due Date
</div>
<div style="font-size: 12px; color: #b45309;">
Project under your programme governance has breached milestone delivery deadlines. Automated partner reminder was dispatched.
</div>
</td>
</tr>
</table>
</td>
</tr>
<!-- Content Body -->
<tr>
<td style="padding: 32px;">
<!-- Salutation -->
<p style="margin: 0 0 16px 0; font-size: 15px; color: #334155;">
Dear <strong>[ProgrammeManagerName]</strong>,
</p>
<!-- Context Narrative -->
<p style="margin: 0 0 24px 0; font-size: 14px; color: #475569; line-height: 1.6;">
In accordance with portfolio monitoring requirement <strong>FR-M07-009</strong>, this automated escalation notice alerts you that
<strong style="color: #0f172a;">[ProjectName]</strong> has overdue milestones requiring your oversight and possible intervention.
</p>
<!-- Governance Context Box -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; margin-bottom: 24px; overflow: hidden;">
<tr>
<td colspan="2" style="background-color: #f1f5f9; padding: 10px 16px; border-bottom: 1px solid #e2e8f0; font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; letter-spacing: 0.5px;">
Governance &amp; Project Hierarchy
</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; width: 40%; border-bottom: 1px solid #f1f5f9;">Programme</td>
<td style="padding: 12px 16px; font-size: 13px; font-weight: 600; color: #0f172a; border-bottom: 1px solid #f1f5f9;">[ProgrammeName]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Portfolio</td>
<td style="padding: 12px 16px; font-size: 13px; color: #334155; border-bottom: 1px solid #f1f5f9;">[PortfolioName]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Recipient Organisation</td>
<td style="padding: 12px 16px; font-size: 13px; font-weight: 600; color: #0f172a; border-bottom: 1px solid #f1f5f9;">[OrganisationName]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Project Title</td>
<td style="padding: 12px 16px; font-size: 13px; font-weight: 600; color: #0f172a; border-bottom: 1px solid #f1f5f9;">[ProjectName]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Project Duration</td>
<td style="padding: 12px 16px; font-size: 13px; color: #334155; border-bottom: 1px solid #f1f5f9;">[ProjectStartDate] &mdash; [ProjectEndDate]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b;">Overdue Status</td>
<td style="padding: 12px 16px; font-size: 13px;">
<span style="background-color: #fee2e2; color: #991b1b; padding: 2px 8px; border-radius: 4px; font-weight: 700;">
[TotalLateMilestones] Milestone(s) Overdue
</span>
<span style="color: #64748b; font-size: 12px; margin-left: 6px;">(Primary: [MostLateMilestoneName], [MostLateMilestoneDaysOverdue] days late)</span>
</td>
</tr>
</table>
<!-- Detailed Milestones Table Header -->
<div style="font-size: 13px; font-weight: 700; color: #1e293b; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.5px;">
Delinquent Deliverables Breakdown
</div>
<!-- Milestones Table -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; margin-bottom: 24px; font-size: 13px; border: 1px solid #e2e8f0; border-radius: 6px; overflow: hidden;">
<thead>
<tr style="background-color: #f8fafc; text-align: left; border-bottom: 2px solid #e2e8f0;">
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Milestone</th>
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Due Date</th>
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Delay</th>
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Status</th>
</tr>
</thead>
<tbody>
[LateMilestonesTable]
</tbody>
</table>
<!-- Recommended Action Guidance -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f8fafc; border-left: 4px solid #d97706; padding: 14px 18px; border-radius: 4px; margin-bottom: 28px;">
<tr>
<td>
<div style="font-size: 12px; font-weight: 700; color: #92400e; text-transform: uppercase; margin-bottom: 4px;">
Recommended Manager Actions
</div>
<ul style="margin: 0; padding-left: 18px; font-size: 12px; color: #475569; line-height: 1.6;">
<li>Verify whether unreviewed evidence submissions are awaiting your sign-off in the Admin Console.</li>
<li>Engage recipient organisation leadership regarding timeline remediation or change requests (M15).</li>
<li>Ensure disbursements linked to gated milestones remain withheld per rule BR-003.</li>
</ul>
</td>
</tr>
</table>
<!-- CTA Button -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-bottom: 24px;">
<tr>
<td align="center">
<a href="[ConsoleUrl]" target="_blank" style="display: inline-block; background-color: #0f172a; color: #ffffff; text-decoration: none; font-size: 14px; font-weight: 600; padding: 12px 32px; border-radius: 6px; box-shadow: 0 2px 4px rgba(15, 23, 42, 0.15);">
Open Programme in Console &rarr;
</a>
</td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td style="background-color: #f8fafc; padding: 24px 32px; border-top: 1px solid #e2e8f0; font-size: 12px; color: #94a3b8; text-align: center;">
<p style="margin: 0 0 8px 0; color: #64748b; font-weight: 600;">
Post-Fund Management (PFM) Platform &bull; Automated Governance &amp; Monitoring Daemon
</p>
<p style="margin: 0 0 12px 0; line-height: 1.4;">
You received this notification because you are designated as the Programme Owner/Manager for [ProgrammeName].<br>
Automated escalation according to SRS v2.0 requirement FR-M07-009.
</p>
<p style="margin: 0; font-size: 11px; color: #cbd5e1;">
&copy; [Year] PostFundManagement Platform. All rights reserved.
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
@@ -0,0 +1,199 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Weekly Governance Audit: Project Non-Compliance Notice</title>
<!--[if mso]>
<style type="text/css">
body, table, td { font-family: Arial, Helvetica, sans-serif !important; }
</style>
<![endif]-->
</head>
<body style="margin: 0; padding: 0; background-color: #f1f5f9; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; color: #1e293b; line-height: 1.6;">
<!-- Wrapper Table -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f1f5f9; padding: 32px 16px;">
<tr>
<td align="center">
<!-- Main Container Card (600px) -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="max-width: 600px; background-color: #ffffff; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0;">
<!-- Header Bar -->
<tr>
<td style="background-color: #0f172a; padding: 24px 32px; border-bottom: 3px solid #be123c;">
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<div style="font-size: 11px; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 4px;">
Post-Fund Management Platform (PFM) &bull; M10 Compliance
</div>
<div style="font-size: 18px; font-weight: 700; color: #ffffff; letter-spacing: -0.3px;">
Weekly Project Compliance Audit
</div>
</td>
<td align="right" style="vertical-align: middle;">
<span style="display: inline-block; background-color: rgba(190, 18, 60, 0.2); border: 1px solid rgba(190, 18, 60, 0.6); color: #fda4af; padding: 4px 10px; border-radius: 9999px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;">
Non-Compliant
</span>
</td>
</tr>
</table>
</td>
</tr>
<!-- Alert Banner -->
<tr>
<td style="background-color: #fff1f2; border-bottom: 1px solid #ffe4e6; padding: 16px 32px;">
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="width: 28px; vertical-align: top; padding-right: 12px;">
<div style="width: 24px; height: 24px; background-color: #be123c; border-radius: 50%; color: #ffffff; text-align: center; line-height: 24px; font-size: 13px; font-weight: bold;">
!
</div>
</td>
<td>
<div style="font-size: 14px; font-weight: 700; color: #9f1239; margin-bottom: 2px;">
Action Required: Project Flagged as Non-Compliant ([ComplianceScore] Met)
</div>
<div style="font-size: 12px; color: #be123c;">
Weekly automated governance audit identified unmet statutory obligations and/or overdue milestone deliverables.
</div>
</td>
</tr>
</table>
</td>
</tr>
<!-- Content Body -->
<tr>
<td style="padding: 32px;">
<!-- Salutation -->
<p style="margin: 0 0 16px 0; font-size: 15px; color: #334155;">
Dear <strong>[OrganisationName]</strong> Team,
</p>
<!-- Narrative -->
<p style="margin: 0 0 24px 0; font-size: 14px; color: #475569; line-height: 1.6;">
During our weekly automated compliance audit, <strong style="color: #0f172a;">[ProjectName]</strong> (under programme <strong>[ProgrammeName]</strong>) did not satisfy the mandatory statutory and contractual compliance threshold. In accordance with system governance policies, immediate remediation is required.
</p>
<!-- Project Summary Box -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; margin-bottom: 24px; overflow: hidden;">
<tr>
<td colspan="2" style="background-color: #f1f5f9; padding: 10px 16px; border-bottom: 1px solid #e2e8f0; font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; letter-spacing: 0.5px;">
Audit Findings Overview
</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; width: 40%; border-bottom: 1px solid #f1f5f9;">Project Title</td>
<td style="padding: 12px 16px; font-size: 13px; font-weight: 600; color: #0f172a; border-bottom: 1px solid #f1f5f9;">[ProjectName]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Programme / Portfolio</td>
<td style="padding: 12px 16px; font-size: 13px; color: #334155; border-bottom: 1px solid #f1f5f9;">[ProgrammeName] &bull; [PortfolioName]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Implementation Window</td>
<td style="padding: 12px 16px; font-size: 13px; color: #334155; border-bottom: 1px solid #f1f5f9;">[ProjectStartDate] &mdash; [ProjectEndDate]</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Compliance Verdict</td>
<td style="padding: 12px 16px; font-size: 13px; border-bottom: 1px solid #f1f5f9;">
<span style="background-color: #fee2e2; color: #991b1b; padding: 2px 8px; border-radius: 4px; font-weight: 700;">
Non-Compliant &mdash; Score: [ComplianceScore]
</span>
</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;">Unmet Compliance Items</td>
<td style="padding: 12px 16px; font-size: 13px; font-weight: 600; color: #be123c; border-bottom: 1px solid #f1f5f9;">
[UnmetComplianceCount] Item(s) Pending Resolution
</td>
</tr>
<tr>
<td style="padding: 12px 16px; font-size: 13px; color: #64748b;">Overdue Milestones</td>
<td style="padding: 12px 16px; font-size: 13px; font-weight: 600; color: #be123c;">
[UnmetMilestonesCount] Milestone(s) Overdue
</td>
</tr>
</table>
<!-- Items Table Header -->
<div style="font-size: 13px; font-weight: 700; color: #1e293b; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.5px;">
Outstanding Compliance &amp; Deliverable Items
</div>
<!-- Non-Compliance Items Table -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; margin-bottom: 24px; font-size: 13px; border: 1px solid #e2e8f0; border-radius: 6px; overflow: hidden;">
<thead>
<tr style="background-color: #f8fafc; text-align: left; border-bottom: 2px solid #e2e8f0;">
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Category</th>
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Item / Obligation</th>
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Details / Due Date</th>
<th style="padding: 10px 14px; font-size: 11px; font-weight: 700; color: #475569; text-transform: uppercase;">Status</th>
</tr>
</thead>
<tbody>
[NonComplianceTable]
</tbody>
</table>
<!-- Governance & Disbursement Hold Callout -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #fff1f2; border-left: 4px solid #be123c; padding: 14px 18px; border-radius: 4px; margin-bottom: 28px;">
<tr>
<td>
<div style="font-size: 12px; font-weight: 700; color: #9f1239; text-transform: uppercase; margin-bottom: 4px;">
Disbursement Hold Notice (BR-003 / AT-08)
</div>
<div style="font-size: 12px; color: #475569; line-height: 1.5;">
Under cardinal rule BR-003, all pending tranche disbursements and drawdown requests are frozen while a project carries non-compliant obligations. Please upload the required compliance verification evidence through the Partner Portal to restore good standing.
</div>
</td>
</tr>
</table>
<!-- CTA Button -->
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%" style="margin-bottom: 28px;">
<tr>
<td align="center">
<a href="[PortalUrl]" target="_blank" style="display: inline-block; background-color: #0f172a; color: #ffffff; text-decoration: none; font-size: 14px; font-weight: 600; padding: 12px 32px; border-radius: 6px; box-shadow: 0 2px 4px rgba(15, 23, 42, 0.15);">
Open Partner Portal &amp; Submit Compliance Evidence &rarr;
</a>
</td>
</tr>
</table>
<p style="margin: 0; font-size: 13px; color: #64748b; line-height: 1.5;">
Once evidence is submitted, your designated Programme Officer will review and verify the documentation to restore your project's 100% compliant status.
</p>
</td>
</tr>
<!-- Footer -->
<tr>
<td style="background-color: #f8fafc; padding: 24px 32px; border-top: 1px solid #e2e8f0; font-size: 12px; color: #94a3b8; text-align: center;">
<p style="margin: 0 0 8px 0; color: #64748b; font-weight: 600;">
Post-Fund Management (PFM) Platform &bull; Weekly Compliance Audit Daemon
</p>
<p style="margin: 0 0 12px 0; line-height: 1.4;">
Automated statutory oversight notification generated in accordance with SRS v2.0 Module M10.<br>
Please do not reply directly to this email. For assistance, contact your Programme Officer.
</p>
<p style="margin: 0; font-size: 11px; color: #cbd5e1;">
&copy; [Year] PostFundManagement Platform. All rights reserved.
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>