UPDATE document_templates SET is_default = 0, is_active = 0 WHERE document_type IN ('ticket', 'receipt');

INSERT INTO document_templates(document_type, name, page_format, orientation, template_html, custom_css, is_default, is_active)
SELECT 'ticket', 'IMM Event Admission Ticket', 'A5', 'L', '', '', 1, 1
WHERE NOT EXISTS (SELECT 1 FROM document_templates WHERE name = 'IMM Event Admission Ticket' AND document_type = 'ticket');

UPDATE document_templates
SET name = 'IMM Event Admission Ticket',
    page_format = '210mm,70mm',
    orientation = 'P',
    template_html = '<table class="ticket"><tr><td class="ticket-main"><div class="eyebrow">ADMIT ONE</div><h2>{{event_title}}</h2><div class="rule"></div><table class="ticket-grid"><tr><td><span class="label">Attendee</span><strong>{{user_name}}</strong></td><td><span class="label">Ticket type</span><strong>{{ticket_type}}</strong></td></tr><tr><td><span class="label">Ticket code</span><strong class="code">{{ticket_code}}</strong></td><td><span class="label">Status</span><strong>{{status}}</strong></td></tr></table><p class="instruction">Present this ticket at registration. Keep the ticket code visible for quick check-in.</p></td><td class="ticket-stub"><div class="stub-label">ENTRY PASS</div><div class="stub-event">{{event_title}}</div><img class="ticket-qr" src="{{qr_code_data}}" alt="Ticket QR code"><div class="stub-code">{{ticket_code}}</div><div class="stub-price">MWK {{price}}</div></td></tr></table>',
    custom_css = '.ticket{display:table;width:100%;height:112mm;border:1px solid #18181b;background:#fff}.ticket-main,.ticket-stub{display:table-cell;vertical-align:top}.ticket-main{width:68%;padding:11mm 10mm}.ticket-stub{width:32%;padding:10mm 7mm;text-align:center;border-left:1px dashed #71717a;background:#f5f5f5}.eyebrow,.label,.stub-label{font-size:7.5pt;letter-spacing:1.4px;text-transform:uppercase;color:#71717a;font-weight:700}.ticket h2{font-size:20pt;line-height:1.15;margin:3mm 0 5mm;color:#09090b}.rule{height:3px;background:#b91c1c;width:18mm;margin-bottom:7mm}.ticket-grid{border-collapse:collapse;margin:0}.ticket-grid td{width:50%;padding:0 6mm 7mm 0;border:0;background:transparent}.ticket-grid .label{display:block;margin-bottom:2mm}.ticket-grid strong{display:block;font-size:10.5pt;color:#18181b}.ticket-grid .code{font-family:DejaVu Sans Mono,monospace;letter-spacing:.5px}.instruction{margin:2mm 0 0;padding-top:5mm;border-top:1px solid #e4e4e7;color:#52525b;font-size:8.5pt}.stub-label{color:#b91c1c}.stub-event{font-weight:700;font-size:10pt;line-height:1.3;margin:5mm 0}.ticket-qr{width:30mm;height:30mm}.stub-code{font-family:DejaVu Sans Mono,monospace;font-size:7.5pt;margin-top:4mm;word-break:break-all}.stub-price{margin-top:5mm;padding-top:4mm;border-top:1px solid #d4d4d8;font-weight:700;font-size:9pt}',
    is_default = 1,
    is_active = 1,
    updated_at = CURRENT_TIMESTAMP
WHERE document_type = 'ticket' AND name = 'IMM Event Admission Ticket';

INSERT INTO document_templates(document_type, name, page_format, orientation, template_html, custom_css, is_default, is_active)
SELECT 'receipt', 'IMM Official Payment Receipt', 'A5', 'P', '', '', 1, 1
WHERE NOT EXISTS (SELECT 1 FROM document_templates WHERE name = 'IMM Official Payment Receipt' AND document_type = 'receipt');

UPDATE document_templates
SET name = 'IMM Official Payment Receipt',
    page_format = 'A5',
    orientation = 'P',
    template_html = '<div class="receipt"><div class="receipt-top"><div><div class="eyebrow">PAYMENT CONFIRMATION</div><h2>RECEIPT</h2></div><div class="paid">PAID</div></div><div class="receipt-rule"></div><table class="meta"><tr><td><span class="label">Receipt number</span><br><strong>{{receipt_num}}</strong></td><td><span class="label">Payment date</span><br><strong>{{payment_date}}</strong></td></tr></table><div class="received"><span class="label">Received from</span><br><strong>{{user_name}}</strong><br><span>Payment for an event ticket to {{event_title}}</span></div><table class="line-items"><thead><tr><th>Description</th><th>Amount</th></tr></thead><tbody><tr><td>Event ticket payment<br><small>{{event_title}}</small></td><td>MWK {{amount_paid}}</td></tr></tbody></table><table class="totals"><tr><td>Total paid</td><td>MWK {{amount_paid}}</td></tr></table><div class="method"><span class="label">Payment method</span><br><strong>{{payment_method}}</strong></div><p class="receipt-note">Payment received with thanks. This computer-generated receipt is valid without a signature.</p></div>',
    custom_css = '.receipt{border:1px solid #d4d4d8;padding:10mm;background:#fff}.receipt-top{display:table;width:100%}.receipt-top>div{display:table-cell;vertical-align:top}.receipt-top>div:last-child{text-align:right}.eyebrow,.label{font-size:7.5pt;letter-spacing:1.1px;text-transform:uppercase;color:#71717a;font-weight:700}.receipt h2{font-size:24pt;margin:2mm 0 0;color:#09090b}.paid{display:inline-block;background:#18181b;color:#fff;padding:3mm 5mm;font-weight:700;font-size:9pt;letter-spacing:1px}.receipt-rule{height:3px;background:#b91c1c;width:20mm;margin:6mm 0}.meta{border-collapse:collapse;margin:0 0 7mm}.meta td{width:50%;border:0;padding:0 5mm 0 0;background:transparent}.meta .label,.received .label,.method .label{display:block;margin-bottom:1.5mm}.meta strong,.received strong,.method strong{font-size:10pt;color:#18181b}.received{background:#f5f5f5;border-left:3px solid #18181b;padding:5mm;margin-bottom:7mm}.received strong{display:block;font-size:12pt;margin-bottom:1mm}.received span:last-child{color:#52525b;font-size:8.5pt}.line-items{border-collapse:collapse;margin:0}.line-items th{padding:3mm;background:#18181b;color:#fff;border:0;font-size:8pt;text-transform:uppercase;letter-spacing:.6px}.line-items th:last-child,.line-items td:last-child{text-align:right}.line-items td{padding:4mm 3mm;border:0;border-bottom:1px solid #e4e4e7}.line-items small{color:#71717a}.totals{width:55%;margin:5mm 0 0 auto;border-collapse:collapse}.totals td{border:0;border-top:2px solid #18181b;background:transparent;padding:4mm 0;font-size:12pt;font-weight:700}.totals td:last-child{text-align:right}.method{margin-top:8mm;padding-top:5mm;border-top:1px solid #e4e4e7}.receipt-note{text-align:center;color:#71717a;font-size:7.5pt;line-height:1.5;margin:10mm 8mm 0}',
    is_default = 1,
    is_active = 1,
    updated_at = CURRENT_TIMESTAMP
WHERE document_type = 'receipt' AND name = 'IMM Official Payment Receipt';

UPDATE document_templates
SET custom_css = REPLACE(custom_css, 'height:112mm', 'height:auto')
WHERE document_type = 'ticket' AND name = 'IMM Event Admission Ticket';

UPDATE document_templates
SET custom_css = REPLACE(REPLACE(REPLACE(custom_css,
    '.receipt{border:1px solid #d4d4d8;padding:10mm', '.receipt{border:1px solid #d4d4d8;padding:7mm'),
    '.method{margin-top:8mm;padding-top:5mm', '.method{margin-top:5mm;padding-top:3mm'),
    'margin:10mm 8mm 0', 'margin:6mm 8mm 0')
WHERE document_type = 'receipt' AND name = 'IMM Official Payment Receipt';
