diff --git a/app.js b/app.js
index cbf71e2..6481961 100644
--- a/app.js
+++ b/app.js
@@ -1238,6 +1238,7 @@ function renderInvoices(data) {
Agent
Product
Price
+ PDF
${data
.map(
@@ -1247,6 +1248,7 @@ function renderInvoices(data) {
${escHtml(inv.uuid || "—")}
${escHtml(inv.product || "—")}
€ ${escHtml(String(inv.price ?? "—"))}
+ ${inv.invoice_link ? `Download` : `—`}
`,
)
.join("")}
diff --git a/styles.css b/styles.css
index bd9af97..1e4b10e 100644
--- a/styles.css
+++ b/styles.css
@@ -1585,7 +1585,7 @@ body::after {
.invoice-row {
display: grid;
- grid-template-columns: 100px 1fr 1fr 80px;
+ grid-template-columns: 100px 1fr 1fr 80px 60px;
gap: 10px;
align-items: center;
padding: 7px 10px;
@@ -1641,6 +1641,26 @@ body::after {
white-space: nowrap;
}
+.invoice-dl {
+ text-align: center;
+}
+
+.invoice-dl-link {
+ color: var(--accent);
+ text-decoration: none;
+ font-size: 11px;
+ transition: opacity 0.15s;
+}
+
+.invoice-dl-link:hover {
+ opacity: 0.7;
+}
+
+.invoice-dl-link--disabled {
+ color: var(--text-muted);
+ cursor: default;
+}
+
/* ─── Credits Modal ────────────────────────────────────────── */
.credits-key-label {
font-size: 12px;