@tera-system/core 0.2.7 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/MANIFEST.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tera-system/core",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "Build manifest for the Tera System OpenCode Plugin component.",
5
5
  "compatibleEnvironments": [
6
6
  "opencode"
@@ -12,15 +12,15 @@
12
12
  "coreFiles": 111,
13
13
  "tools": 7,
14
14
  "projectControlTemplates": 1,
15
- "assets": 32
15
+ "assets": 36
16
16
  },
17
17
  "sha256": {
18
18
  "agents": "627368c85eb5ab840986b6e8a60b08977803b73c52c698662bc6cc68a1254b7c",
19
19
  "commands": "a2520ceef3a3f4e9cec2e4c070aeecd41a215ed12438f81d45111e6c801f9ec2",
20
- "core/tera-system": "f4615ea0737c9e0a96810d25a3acc232ec8a928be4ebfc0b2fae0c353129fbd8",
20
+ "core/tera-system": "48df290d95d0da731cb0d733afe4a550eb9ea7d5a14b6b30ee662189e699e048",
21
21
  "tools": "1f96a2de662c50c5c0a4c62d27ec583671c690163a0b35add036bfdd2b3a1f1a",
22
22
  "core/project-control": "cb979181d50e54c9b9b9173ffc890ca021bfaefe9678b1cad4a2f67ceac3dfdd",
23
- "assets": "c34880f495642a785025a6d18df8d5c7b9145b8051863ffbe3cbd9095ff74c68"
23
+ "assets": "a4b66ba2680b4761056b1a85e9a3860c42fd12b01aaa5307de3e65360b6b596a"
24
24
  },
25
25
  "builtAt": "2026-08-29"
26
26
  }
package/RELEASES.md CHANGED
@@ -4,6 +4,29 @@
4
4
 
5
5
  ---
6
6
 
7
+ ## 0.2.9 (2026-08-29)
8
+
9
+ ### إعادة تصميم محتوى سندات القبض والصرف وتحديث الترويسة
10
+
11
+ **التحديث:**
12
+ - اعتماد بنية المحتوى المعاد تصميمها: بطاقات رقم السند والتاريخ، بطاقات المبلغ كتابةً ورقماً، حقول المرجع والغرض، خيارات الدفع، والتوقيعات.
13
+ - سند واحد فقط في كل ملف HTML.
14
+ - استخدام `V2.png` لسند القبض و`V1.png` لسند الصرف بعرض 210مم.
15
+ - تضمين جميع أصول مجلد `financial` المطلوبة للتثبيت، بما فيها صور الترويسة.
16
+ - تحديث مقاس السند إلى 210×156مم.
17
+
18
+ ---
19
+
20
+ ## 0.2.8 (2026-08-29)
21
+
22
+ ### سندات القبض والصرف — استخدام شعار Teranoo الرسمي
23
+
24
+ **التحديث:**
25
+ - استُبدلت علامة "T" النصية في ترويسة السندات بـ **شعار Teranoo الرسمي** (مضمّن base64 — ذاتي الاحتواء، يعمل عند الطباعة من أي مكان).
26
+ - الملفان: `financial/VOUCHER_RECEIPT_TEMPLATE.html` + `financial/VOUCHER_PAYMENT_TEMPLATE.html` — 3 سندات لكل A4 (1/3 A4) بخطوط قص.
27
+
28
+ ---
29
+
7
30
  ## 0.2.7 (2026-08-29)
8
31
 
9
32
  ### سندات القبض والصرف — تصميم معتمد ومنجز (SCP-2026-08-29-006)
@@ -2,22 +2,22 @@
2
2
 
3
3
  # VOUCHER_DESIGN_SPEC — التصميم المعتمد لسندات القبض والصرف
4
4
 
5
- > **الحالة:** ✅ **معتمد ومُنجز** — قرار Majed 2026-08-29 (SCP-2026-08-29-006) + تنفيذ التصميم 2026-08-29
6
- > **ملفات HTML:** `VOUCHER_RECEIPT_TEMPLATE.html` + `VOUCHER_PAYMENT_TEMPLATE.html` — **منجزة** (صممها حارس) في هذا المجلد — تحققت بنيوياً عبر المتصفح (3 سندات لكل صفحة، الحقول كاملة)
7
- > **الاستخدام:** توثيق الدفعات (سند قبض) والمصروفات (سند صرف) — تُطبع كدفتر سندات بالحجم المتعارف عليه
5
+ > **الحالة:** ✅ **معتمد ومُنجز** — قرار Majed 2026-08-29 (SCP-2026-08-29-006/007/008/009) + تنفيذ التصميم 2026-08-29
6
+ > **ملفات HTML:** `VOUCHER_RECEIPT_TEMPLATE.html` + `VOUCHER_PAYMENT_TEMPLATE.html` — **منجزة** (سند واحد مستقل في كل ملف، صممهما حارس) — تحققت بصرياً عبر المتصفح
7
+ > **الاستخدام:** توثيق الدفعات (سند قبض) والمصروفات (سند صرف) — كل ملف نموذج مستقل قابل للطباعة والتكرار
8
8
 
9
9
  ---
10
10
 
11
- ## 1. الحجم والطباعة (المتعارف عليه وليس A4)
11
+ ## 1. الحجم والطباعة (ترويسة كاملة بعرض السند)
12
12
 
13
13
  | البند | المواصفة |
14
14
  |---|---|
15
- | **حجم السند الواحد** | **1/3 من صفحة A4**210 × 99 ملم (بعرض الصفحة، ثلث الارتفاع) بحجم دفاتر سندات القبض والصرف المتعارف عليها |
16
- | **لكل صفحة A4** | **3 سندات** (أفقية متراصة) مع خطوط قص متقطعة بينها |
17
- | **إعداد الطباعة** | `@page { size: A4; margin: 0 }` — كل سند `width:210mm; height:99mm` — حدود `dashed` للقص |
18
- | **الدفتر** | طباعة كمية قص → تجليد/تدبيس → ترقيم تسلسلي (مسبق أو كتابي) |
15
+ | **حجم السند الواحد** | **210 × 156 ملم** — بعرض السند الكامل، مع ترويسة كاملة بعرض 210مم وبنية محتوى البطاقات |
16
+ | **لكل ملف HTML** | **سند واحد فقط** لا توجد نسخ مكررة داخل الملف |
17
+ | **إعداد الطباعة** | كل سند `width:210mm; height:156mm` — يطبع بنسبة 100% على مقاس مخصص 210×156مم |
18
+ | **الدفتر** | تكرار الطباعة حسب الكمية المطلوبة → تجليد/تدبيس → ترقيم تسلسلي (مسبق أو كتابي) |
19
19
 
20
- > **ملاحظة قابلة للتعديل:** إن أردت مقاساً محدداً أدق (مثلاً 1/4 A4)، أخبرني بالمليمتر بالضبط يُحدَّث التصميم ويبقى الباقي ثابتاً.
20
+ > **ملاحظة:** تم اعتماد 210×156مم مع ترويسة 210×30.4مم بناءً على أبعاد الصور المعدلة وبنية المحتوى المعتمدة.
21
21
 
22
22
  ---
23
23
 
@@ -25,7 +25,7 @@
25
25
 
26
26
  ```
27
27
  ┌──────────────────────────────────────────────────┐
28
- │ [شعار Teranoo] سند قبض
28
+ │ [ترويسة Teranoo الرسمية — V2.png كاملة]
29
29
  │ رقم السند: 2026-____ التاريخ: ____/____/____ │
30
30
  ├──────────────────────────────────────────────────┤
31
31
  │ استلمنا من: ______________________________________ │
@@ -71,7 +71,7 @@
71
71
  ## 5. النسخ (دفتر الكربون التناظري)
72
72
 
73
73
  - الدفتر الورقي المتعارف: كل سند = **أصل + صورة (كربون)**.
74
- - في HTML: يُطبع السند مرتين لكل عملية إحداهما بشارة **«أصل — للعميل»** والأخرى **«صورة للملف»** أو خانة اختيار النسخ كما في الهيكل.
74
+ - في HTML: كل ملف يمثل **سنداً واحداً** فقط، مع خانتي اختيار **«أصل — للعميل»** و**«صورةللملف»**. تكرار النسخ يتم بالطباعة حسب الحاجة.
75
75
 
76
76
  ---
77
77
 
@@ -89,4 +89,4 @@
89
89
  - **المرجع الحاكم:** `tera-system/TeraPricingPolicy.md` §21 (شروط الدفع — الدفعات توثق بسند قبض).
90
90
  - **خريطة السياسات:** صف سندات القبض/الصرف (TeraPolicyMap.md).
91
91
  - **الترقيم:** تسلسل مالي مستقل + مرجع ترميز العميل (لا يدخل في LETTER_LOG).
92
- - **ملفات الإخراج المتوقعة:** `VOUCHER_RECEIPT_TEMPLATE.html` + `VOUCHER_PAYMENT_TEMPLATE.html` (يصممها المالك).
92
+ - **ملفات الإخراج:** `VOUCHER_RECEIPT_TEMPLATE.html` يستخدم `V2.png` لسند القبض، و`VOUCHER_PAYMENT_TEMPLATE.html` يستخدم `V1.png` لسند الصرف. كل ملف يحتوي سنداً واحداً فقط.
@@ -0,0 +1,79 @@
1
+ # برومت تصميم ترويسة سندات القبض والصرف
2
+
3
+ > **الغرض:** إنشاء ترويسة احترافية لسندات القبض/الصرف متوافقة مع ترويسة الخطابات الرسمية (`header.png`)
4
+ > **الأداة المقترحة:** أي موقع ذكاء اصطناعي يعدل الصور (Canva AI, Adobe Firefly, Microsoft Designer, ChatGPT with image gen, Midjourney, إلخ)
5
+ > **المرجع:** `tera-workshop/client-templates/branding/header.png` (ترويسة الخطابات الحالية)
6
+
7
+ ---
8
+
9
+ ## البرومت (English — for AI image tools)
10
+
11
+ ```
12
+ Create a professional horizontal header banner for a financial voucher receipt/payment document, matching the exact branding style of the attached reference image (letterhead header).
13
+
14
+ IMPORTANT: Use the attached header.png as the EXACT style reference. Match its:
15
+ - Color palette: purple-to-blue gradient (#6B21A8 → #2563EB), white background, purple/blue accents
16
+ - Design language: clean geometric shapes, angular decorative elements on the left side, circular dots
17
+ - Typography style: modern, professional
18
+ - Logo: Use the Teranoo T-infinity logo (from the reference) — place it small on the RIGHT side
19
+
20
+ Layout (right-to-left, Arabic document):
21
+ - RIGHT side: Small Teranoo T-infinity logo (circular, ~15% of header height)
22
+ - CENTER: Bold Arabic title — choose ONE:
23
+ - For receipt voucher: "سند قبض" (large, bold, dark blue/purple)
24
+ - For payment voucher: "سند صرف" (large, bold, dark blue/purple)
25
+ - LEFT side: "Teranoo Digital Solutions" in smaller English text
26
+ - Bottom edge: A thin purple/blue gradient line (like the reference header's bottom border)
27
+
28
+ Dimensions: 210mm wide × 20mm tall (A4 width, thin strip)
29
+ Resolution: 300 DPI print quality
30
+ Background: Clean white
31
+ Style: Professional, modern, corporate financial document header
32
+ Do NOT include: contact info, email, phone, address, registration numbers (those go in the footer, not header)
33
+
34
+ Output as: PNG with transparent or white background
35
+ ```
36
+
37
+ ---
38
+
39
+ ## البرومت البديل (إذا أردت نسختين — قبض + صرف)
40
+
41
+ ```
42
+ Based on the attached Teranoo letterhead header (header.png), create TWO matching voucher header banners:
43
+
44
+ 1. RECEIPT VOUCHER HEADER ("سند قبض"):
45
+ - Same purple-blue gradient branding, geometric elements, white background
46
+ - Center text: "سند قبض" in bold Arabic
47
+ - Right: Small Teranoo T-infinity logo
48
+ - Left: "Teranoo Digital Solutions" in small English text
49
+ - Thin gradient line at bottom
50
+
51
+ 2. PAYMENT VOUCHER HEADER ("سند صرف"):
52
+ - Identical layout and style to #1
53
+ - Center text: "سند صرف" in bold Arabic
54
+ - All other elements identical
55
+
56
+ Both: 210mm × 20mm, 300 DPI, print-ready, white background, PNG format.
57
+ Match the exact color palette and design language of the reference header.
58
+ ```
59
+
60
+ ---
61
+
62
+ ## ملاحظات للمالك
63
+
64
+ 1. **ارفع `header.png` كمرجع** في موقع الذكاء الاصطناعي (إذا دعم رفع صور)
65
+ 2. **النتيجة المطلوبة:** صورة ترويسة بحجم شريط رفيع (210×20مم) بنفس ألوان وعناصر الترويسة الأصلية
66
+ 3. **لا تضمن** معلومات التواصل (الإيميل/الهاتف/العنوان) — هذه للتذييل لا للترويسة
67
+ 4. **اجعل النص "سند قبض" أو "سند صرف"** في المنتصف بخط عريض
68
+ 5. ** بعد الحصول على الصورة** — أعطني الملف وسأدمجها في ملفات HTML بدلاً من الترويسة النصية الحالية
69
+ 6. **النسخة المطلوبة:** نسختان (واحدة "سند قبض" + واحدة "سند صرف") — أو نسخة واحدة مع تعديل النص لاحقاً
70
+
71
+ ---
72
+
73
+ ## الاحتمالات البديلة (إذا لم تنجح أداة الذكاء)
74
+
75
+ | الأداة | الطريقة |
76
+ |--------|---------|
77
+ | **Canva** | ارفع header.png ← قصّ إلى شريط 210×20mm ← عدّل النص إلى "سند قبض" |
78
+ | **Photoshop/GIMP** | افتح header.png ← قصّ المنطقة العلوية (20mm) ← عدّل النص |
79
+ | **PowerPoint** | ارفع header.png كخلفية ← أضف مربع نص "سند قبض" فوقه |
@@ -1,180 +1,84 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="ar" dir="rtl">
3
3
  <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>سند صرف — Teranoo (دفتر 1/3 A4)</title>
7
- <style>
8
- :root {
9
- --ink: #17233c; --muted: #5c6784; --line: #dfe6f2; --soft: #f8faff;
10
- --accent: #8c1f2f; --accent-soft: #fae8ec;
11
- }
12
- @page { size: A4; margin: 0; }
13
- * { box-sizing: border-box; }
14
- html, body { margin: 0; padding: 0; }
15
- body { background: #eef2f7; color: var(--ink); font-family: "Segoe UI", Tahoma, Arial, sans-serif; line-height: 1.4; }
16
-
17
- .usage-note { max-width: 620px; margin: 14px auto; padding: 10px 14px; background: #fff8e1; border: 1px solid #e6c84d; border-radius: 6px; font-size: 11px; color: #5b4a0a; }
18
- .usage-note code { background: #f3ead0; padding: 1px 5px; border-radius: 3px; }
19
-
20
- .sheet { width: 210mm; margin: 8px auto; background: #fff; box-shadow: 0 10px 30px rgba(15,23,42,.12); }
21
- .voucher { position: relative; width: 210mm; height: 99mm; overflow: hidden; }
22
- .voucher + .voucher { border-top: 1.5px dashed #9aa7c2; }
23
-
24
- .v-head { display: flex; align-items: center; justify-content: space-between; padding: 3mm 5mm 2mm; background: var(--soft); border-bottom: 1.5px solid var(--accent); }
25
- .v-brand { display: flex; align-items: center; gap: 2mm; }
26
- .v-brand-mark { width: 7mm; height: 7mm; border-radius: 2mm; background: var(--accent); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-size: 9pt; }
27
- .v-brand-name { font-weight: 800; font-size: 10pt; color: var(--accent); }
28
- .v-title { font-weight: 800; font-size: 12.5pt; color: var(--ink); letter-spacing: .5px; }
29
- .v-meta { text-align: left; font-size: 8pt; color: var(--muted); line-height: 1.5; }
30
- .v-meta strong { color: var(--ink); }
31
-
32
- .v-body { padding: 2.5mm 5mm 1.5mm; font-size: 9pt; }
33
- .v-row { display: flex; align-items: baseline; gap: 2mm; margin-bottom: 1.8mm; }
34
- .v-label { white-space: nowrap; font-weight: 700; color: var(--ink); }
35
- .v-fill { flex: 1; min-width: 0; border-bottom: 1px dotted #a8b4cc; color: var(--muted); padding-bottom: .3mm; }
36
- .v-amount { font-size: 10pt; font-weight: 700; }
37
- .v-amount .v-fill { color: var(--ink); }
38
- .v-cols { display: flex; gap: 5mm; }
39
- .v-cols .col { flex: 1; min-width: 0; }
40
- .v-pay-options { display: flex; gap: 3mm; align-items: center; flex-wrap: wrap; }
41
- .v-check { display: inline-flex; gap: 1mm; align-items: baseline; white-space: nowrap; }
42
- .v-check .box { display: inline-block; width: 3.2mm; height: 3.2mm; border: 1px solid var(--muted); border-radius: .6mm; flex-shrink: 0; }
43
-
44
- .v-foot { display: flex; align-items: flex-end; justify-content: space-between; padding: 0 5mm 2.5mm; }
45
- .v-sign { flex: 1; }
46
- .v-sign-label { font-size: 7.5pt; font-weight: 700; color: var(--muted); margin-bottom: 5mm; }
47
- .v-sign-line { border-top: 1px solid var(--ink); padding-top: .5mm; font-size: 7pt; color: var(--muted); }
48
- .v-copy { text-align: center; font-size: 7.5pt; color: var(--muted); }
49
- .v-copy .cbox { display: inline-block; width: 3mm; height: 3mm; border: 1px solid var(--muted); border-radius: .5mm; vertical-align: middle; margin: 0 1mm; }
50
-
51
- @media print {
52
- body { background: #fff; }
53
- .usage-note { display: none; }
54
- .sheet { margin: 0; box-shadow: none; }
55
- .voucher { break-inside: avoid; page-break-inside: avoid; }
56
- .sheet { page-break-after: always; }
57
- .sheet:last-child { page-break-after: auto; }
58
- }
59
- </style>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>سند صرف — Teranoo</title>
7
+ <style>
8
+ :root { --ink:#17233c; --muted:#66738a; --line:#d4deea; --accent:#1f4e8c; --soft:#f7f9fc; --soft2:#eef4fb; --paper:#fff; }
9
+ @page { size:A4; margin:0; }
10
+ * { box-sizing:border-box; }
11
+ html,body { margin:0; padding:0; }
12
+ body { background:#e9eef5; color:var(--ink); font-family:"Segoe UI",Tahoma,Arial,sans-serif; }
13
+ .usage-note { width:210mm; margin:6mm auto 3mm; padding:2.5mm 4mm; border:1px solid #e4c75c; border-radius:2mm; background:#fff9df; color:#5b4a0a; font-size:8pt; text-align:center; }
14
+ .sheet { width:210mm; height:156mm; margin:0 auto 8mm; padding:0 5mm 5mm; background:var(--paper); border:.35mm solid #c9d6e7; border-radius:2mm; box-shadow:0 3mm 9mm rgba(15,23,42,.12); overflow:hidden; }
15
+ .header-frame { width:calc(100% + 10mm); height:30.4mm; margin:0 -5mm; overflow:hidden; border-bottom:.35mm solid var(--line); background:#fff; }
16
+ .header-frame img { display:block; width:100%; height:100%; object-fit:fill; }
17
+ .title-row { display:flex; align-items:center; justify-content:space-between; gap:3mm; margin-top:3mm; }
18
+ .doc-chip,.date-chip { min-width:38mm; padding:2mm 3mm; border:1px solid var(--line); border-radius:2mm; background:var(--soft); font-size:7.8pt; line-height:1.5; }
19
+ .doc-chip { justify-self:start; }
20
+ .date-chip { justify-self:end; text-align:right; }
21
+ .doc-chip strong,.date-chip strong { display:block; margin-bottom:.4mm; font-size:8.4pt; }
22
+ .voucher-title { min-width:50mm; padding:2mm 8mm; border:.3mm solid #ccd7e7; border-radius:999px; background:linear-gradient(90deg,var(--soft2),#f6f2ff); text-align:center; font-size:15pt; font-weight:900; }
23
+ .content { display:grid; gap:2.4mm; margin-top:3mm; font-size:8.3pt; }
24
+ .card,.compact-card,.details-card { padding:2.5mm 3mm; border:.3mm solid var(--line); border-radius:2mm; background:#fff; }
25
+ .field-line { display:grid; grid-template-columns:30mm 1fr; align-items:center; gap:2mm; min-height:7mm; }
26
+ .label { color:var(--ink); font-weight:800; white-space:nowrap; }
27
+ .write-line { height:5.2mm; border-bottom:.3mm solid #738198; }
28
+ .amount-grid { display:grid; grid-template-columns:1.65fr .75fr; gap:2.6mm; }
29
+ .amount-box { min-height:17mm; padding:2.2mm 2.8mm; border:.3mm solid #c7d5e7; border-radius:2mm; background:linear-gradient(180deg,#fbfdff,#f5f8fc); }
30
+ .caption { margin-bottom:1mm; color:var(--muted); font-size:7pt; font-weight:700; }
31
+ .amount-line,.amount-number { height:7mm; border-bottom:.35mm solid var(--ink); }
32
+ .amount-number-wrap { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2mm; }
33
+ .currency { font-size:8pt; font-weight:900; white-space:nowrap; }
34
+ .two-col { display:grid; grid-template-columns:1fr 1fr; gap:2.6mm; }
35
+ .compact-card .field-line { grid-template-columns:25mm 1fr; min-height:6mm; }
36
+ .payment-card { display:grid; grid-template-columns:28mm 1fr; align-items:center; gap:2mm; padding:2.2mm 2.8mm; border:.3mm solid var(--line); border-radius:2mm; background:var(--soft); }
37
+ .pay-options { display:flex; flex-wrap:wrap; gap:2mm; }
38
+ .pay-pill { display:inline-flex; align-items:center; gap:1.2mm; padding:1.5mm 3mm; border:.3mm solid #cdd7e5; border-radius:999px; background:#fff; font-weight:700; white-space:nowrap; }
39
+ .box,.mini-box { display:inline-block; width:3.4mm; height:3.4mm; border:.3mm solid var(--ink); border-radius:.5mm; background:#fff; }
40
+ .details-card .field-line { grid-template-columns:30mm 1fr; }
41
+ .footer { position:relative; margin-top:3mm; padding-top:3mm; border-top:.5mm solid var(--accent); }
42
+ .signatures { display:grid; grid-template-columns:1fr 1fr 1fr; gap:4mm; text-align:center; }
43
+ .signature { min-height:17mm; padding:1mm 2mm; }
44
+ .signature .line { height:7mm; margin:0 2mm 1.2mm; border-bottom:.3mm solid #68778f; }
45
+ .signature strong { display:block; font-size:8pt; }
46
+ .signature small { display:block; margin-top:.4mm; color:var(--muted); font-size:6.8pt; }
47
+ .copy-row { display:flex; justify-content:space-between; align-items:center; margin-top:2mm; color:var(--muted); font-size:6.8pt; }
48
+ .copy-option { display:inline-flex; align-items:center; gap:1mm; }
49
+ .mini-box { width:3mm; height:3mm; border:.25mm solid #7b8798; border-radius:0; }
50
+ @media print { body{background:#fff} .usage-note{display:none} .sheet{margin:0;border-radius:0;box-shadow:none} }
51
+ </style>
60
52
  </head>
61
53
  <body>
62
-
63
- <div class="usage-note">
64
- <strong>طريقة الاستخدام:</strong> افتح الملف في المتصفح ← <code>Ctrl+P</code> ← الحجم A4 ← الهامش <code>None</code> ← المقياس <code>100%</code> ← طباعة.
65
- كل صفحة تحتوي <strong>3 سندات</strong> (1/3 A4) تُقص على الخطوط المتقطعة. للدفتر: اطبع عدد الصفحات المطلوب، اقصّ، وجمّع كدفتر. رقم السند يُعبأ عند الاستخدام (أو يُطبع مسبقاً).
54
+ <div class="usage-note"><strong>سند واحد</strong> — اطبع بنسبة 100% على A4، والهوامش None. المقاس الفعلي للسند 210×156مم.</div>
55
+ <main class="sheet" aria-label="سند صرف">
56
+ <div class="header-frame"><img src="V1.png" alt="ترويسة سند صرف Teranoo"></div>
57
+ <div class="title-row">
58
+ <div class="doc-chip"><strong>رقم السند</strong>2026-______</div>
59
+ <div class="date-chip"><strong>التاريخ</strong>___ / ___ / _______</div>
66
60
  </div>
67
-
68
- <!-- صفحة 1 3 سندات صرف -->
69
- <section class="sheet">
70
- <div class="voucher">
71
- <div class="v-head">
72
- <div class="v-brand"><div class="v-brand-mark">T</div><span class="v-brand-name">Teranoo — تيرا</span></div>
73
- <div class="v-title">سند صرف</div>
74
- <div class="v-meta"><strong>رقم السند:</strong> 2026-______<br><strong>التاريخ:</strong> ___/___/_______</div>
75
- </div>
76
- <div class="v-body">
77
- <div class="v-row"><span class="v-label">صرفنا إلى:</span><span class="v-fill">&nbsp;</span></div>
78
- <div class="v-row v-amount"><span class="v-label">مبلغ وقدره:</span><span class="v-fill">&nbsp;</span><span class="v-label">دينار أردني</span></div>
79
- <div class="v-cols">
80
- <div class="col">
81
- <div class="v-row"><span class="v-label">المبلغ أرقاماً:</span><span class="v-fill">&nbsp;</span><span class="v-label">JOD</span></div>
82
- <div class="v-row"><span class="v-label">الغرض / البيان:</span><span class="v-fill">&nbsp;</span></div>
83
- </div>
84
- <div class="col">
85
- <div class="v-row"><span class="v-label">المرجع (مشروع/عقد):</span><span class="v-fill">&nbsp;</span></div>
86
- <div class="v-row">
87
- <span class="v-label">طريقة الدفع:</span>
88
- <span class="v-pay-options">
89
- <span class="v-check"><span class="box"></span> نقدي</span>
90
- <span class="v-check"><span class="box"></span> تحويل</span>
91
- <span class="v-check"><span class="box"></span> شيك</span>
92
- </span>
93
- </div>
94
- <div class="v-row"><span class="v-label">تفاصيل (بنك/شيك):</span><span class="v-fill">&nbsp;</span></div>
95
- </div>
96
- </div>
97
- </div>
98
- <div class="v-foot">
99
- <div class="v-sign"><div class="v-sign-label">المستلم</div><div class="v-sign-line">الاسم / التوقيع</div></div>
100
- <div class="v-sign"><div class="v-sign-label">أمين الصندوق</div><div class="v-sign-line">الاسم / التوقيع</div></div>
101
- <div class="v-sign"><div class="v-sign-label">المعتمد (المدير)</div><div class="v-sign-line">الاسم / التوقيع</div></div>
102
- <div class="v-copy">أصل (للملف)<span class="cbox"></span><br>صورة (للصرف)<span class="cbox"></span></div>
103
- </div>
104
- </div>
105
-
106
- <div class="voucher">
107
- <div class="v-head">
108
- <div class="v-brand"><div class="v-brand-mark">T</div><span class="v-brand-name">Teranoo — تيرا</span></div>
109
- <div class="v-title">سند صرف</div>
110
- <div class="v-meta"><strong>رقم السند:</strong> 2026-______<br><strong>التاريخ:</strong> ___/___/_______</div>
111
- </div>
112
- <div class="v-body">
113
- <div class="v-row"><span class="v-label">صرفنا إلى:</span><span class="v-fill">&nbsp;</span></div>
114
- <div class="v-row v-amount"><span class="v-label">مبلغ وقدره:</span><span class="v-fill">&nbsp;</span><span class="v-label">دينار أردني</span></div>
115
- <div class="v-cols">
116
- <div class="col">
117
- <div class="v-row"><span class="v-label">المبلغ أرقاماً:</span><span class="v-fill">&nbsp;</span><span class="v-label">JOD</span></div>
118
- <div class="v-row"><span class="v-label">الغرض / البيان:</span><span class="v-fill">&nbsp;</span></div>
119
- </div>
120
- <div class="col">
121
- <div class="v-row"><span class="v-label">المرجع (مشروع/عقد):</span><span class="v-fill">&nbsp;</span></div>
122
- <div class="v-row">
123
- <span class="v-label">طريقة الدفع:</span>
124
- <span class="v-pay-options">
125
- <span class="v-check"><span class="box"></span> نقدي</span>
126
- <span class="v-check"><span class="box"></span> تحويل</span>
127
- <span class="v-check"><span class="box"></span> شيك</span>
128
- </span>
129
- </div>
130
- <div class="v-row"><span class="v-label">تفاصيل (بنك/شيك):</span><span class="v-fill">&nbsp;</span></div>
131
- </div>
132
- </div>
133
- </div>
134
- <div class="v-foot">
135
- <div class="v-sign"><div class="v-sign-label">المستلم</div><div class="v-sign-line">الاسم / التوقيع</div></div>
136
- <div class="v-sign"><div class="v-sign-label">أمين الصندوق</div><div class="v-sign-line">الاسم / التوقيع</div></div>
137
- <div class="v-sign"><div class="v-sign-label">المعتمد (المدير)</div><div class="v-sign-line">الاسم / التوقيع</div></div>
138
- <div class="v-copy">أصل (للملف)<span class="cbox"></span><br>صورة (للصرف)<span class="cbox"></span></div>
139
- </div>
140
- </div>
141
-
142
- <div class="voucher">
143
- <div class="v-head">
144
- <div class="v-brand"><div class="v-brand-mark">T</div><span class="v-brand-name">Teranoo — تيرا</span></div>
145
- <div class="v-title">سند صرف</div>
146
- <div class="v-meta"><strong>رقم السند:</strong> 2026-______<br><strong>التاريخ:</strong> ___/___/_______</div>
147
- </div>
148
- <div class="v-body">
149
- <div class="v-row"><span class="v-label">صرفنا إلى:</span><span class="v-fill">&nbsp;</span></div>
150
- <div class="v-row v-amount"><span class="v-label">مبلغ وقدره:</span><span class="v-fill">&nbsp;</span><span class="v-label">دينار أردني</span></div>
151
- <div class="v-cols">
152
- <div class="col">
153
- <div class="v-row"><span class="v-label">المبلغ أرقاماً:</span><span class="v-fill">&nbsp;</span><span class="v-label">JOD</span></div>
154
- <div class="v-row"><span class="v-label">الغرض / البيان:</span><span class="v-fill">&nbsp;</span></div>
155
- </div>
156
- <div class="col">
157
- <div class="v-row"><span class="v-label">المرجع (مشروع/عقد):</span><span class="v-fill">&nbsp;</span></div>
158
- <div class="v-row">
159
- <span class="v-label">طريقة الدفع:</span>
160
- <span class="v-pay-options">
161
- <span class="v-check"><span class="box"></span> نقدي</span>
162
- <span class="v-check"><span class="box"></span> تحويل</span>
163
- <span class="v-check"><span class="box"></span> شيك</span>
164
- </span>
165
- </div>
166
- <div class="v-row"><span class="v-label">تفاصيل (بنك/شيك):</span><span class="v-fill">&nbsp;</span></div>
167
- </div>
168
- </div>
169
- </div>
170
- <div class="v-foot">
171
- <div class="v-sign"><div class="v-sign-label">المستلم</div><div class="v-sign-line">الاسم / التوقيع</div></div>
172
- <div class="v-sign"><div class="v-sign-label">أمين الصندوق</div><div class="v-sign-line">الاسم / التوقيع</div></div>
173
- <div class="v-sign"><div class="v-sign-label">المعتمد (المدير)</div><div class="v-sign-line">الاسم / التوقيع</div></div>
174
- <div class="v-copy">أصل (للملف)<span class="cbox"></span><br>صورة (للصرف)<span class="cbox"></span></div>
175
- </div>
176
- </div>
61
+ <section class="content">
62
+ <div class="card"><div class="field-line"><span class="label">صرفنا إلى:</span><span class="write-line"></span></div></div>
63
+ <div class="amount-grid">
64
+ <div class="amount-box"><div class="caption">المبلغ كتابةً — دينار أردني</div><div class="amount-line"></div></div>
65
+ <div class="amount-box"><div class="caption">المبلغ أرقاماً</div><div class="amount-number-wrap"><div class="amount-number"></div><span class="currency">JOD</span></div></div>
66
+ </div>
67
+ <div class="two-col">
68
+ <div class="compact-card"><div class="field-line"><span class="label">الغرض:</span><span class="write-line"></span></div></div>
69
+ <div class="compact-card"><div class="field-line"><span class="label">المرجع:</span><span class="write-line"></span></div></div>
70
+ </div>
71
+ <div class="payment-card"><span class="label">طريقة الدفع:</span><div class="pay-options"><span class="pay-pill"><i class="box"></i> نقدي</span><span class="pay-pill"><i class="box"></i> تحويل بنكي</span><span class="pay-pill"><i class="box"></i> شيك</span></div></div>
72
+ <div class="details-card"><div class="field-line"><span class="label">تفاصيل الدفع:</span><span class="write-line"></span></div></div>
177
73
  </section>
178
-
74
+ <footer class="footer">
75
+ <div class="signatures">
76
+ <div class="signature"><div class="line"></div><strong>المستلم</strong><small>الاسم / التوقيع</small></div>
77
+ <div class="signature"><div class="line"></div><strong>أمين الصندوق</strong><small>الاسم / التوقيع</small></div>
78
+ <div class="signature"><div class="line"></div><strong>المعتمد (المدير)</strong><small>الاسم / التوقيع</small></div>
79
+ </div>
80
+ <div class="copy-row"><span class="copy-option"><i class="mini-box"></i> أصل — للعميل</span><span class="copy-option"><i class="mini-box"></i> صورة — للملف</span></div>
81
+ </footer>
82
+ </main>
179
83
  </body>
180
84
  </html>
@@ -1,183 +1,84 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="ar" dir="rtl">
3
3
  <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>سند قبض — Teranoo (دفتر 1/3 A4)</title>
7
- <style>
8
- :root {
9
- --ink: #17233c; --muted: #5c6784; --line: #dfe6f2; --soft: #f8faff;
10
- --accent: #1f4e8c; --accent-soft: #e8f0fa;
11
- }
12
- @page { size: A4; margin: 0; }
13
- * { box-sizing: border-box; }
14
- html, body { margin: 0; padding: 0; }
15
- body { background: #eef2f7; color: var(--ink); font-family: "Segoe UI", Tahoma, Arial, sans-serif; line-height: 1.4; }
16
-
17
- .usage-note { max-width: 620px; margin: 14px auto; padding: 10px 14px; background: #fff8e1; border: 1px solid #e6c84d; border-radius: 6px; font-size: 11px; color: #5b4a0a; }
18
- .usage-note code { background: #f3ead0; padding: 1px 5px; border-radius: 3px; }
19
-
20
- .sheet { width: 210mm; margin: 8px auto; background: #fff; box-shadow: 0 10px 30px rgba(15,23,42,.12); }
21
- .voucher { position: relative; width: 210mm; height: 99mm; overflow: hidden; }
22
- .voucher + .voucher { border-top: 1.5px dashed #9aa7c2; }
23
-
24
- /* header strip */
25
- .v-head { display: flex; align-items: center; justify-content: space-between; padding: 3mm 5mm 2mm; background: var(--soft); border-bottom: 1.5px solid var(--accent); }
26
- .v-brand { display: flex; align-items: center; gap: 2mm; }
27
- .v-brand-mark { width: 7mm; height: 7mm; border-radius: 2mm; background: var(--accent); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 800; font-size: 9pt; }
28
- .v-brand-name { font-weight: 800; font-size: 10pt; color: var(--accent); }
29
- .v-title { font-weight: 800; font-size: 12.5pt; color: var(--ink); letter-spacing: .5px; }
30
- .v-meta { text-align: left; font-size: 8pt; color: var(--muted); line-height: 1.5; }
31
- .v-meta strong { color: var(--ink); }
32
-
33
- /* body */
34
- .v-body { padding: 2.5mm 5mm 1.5mm; font-size: 9pt; }
35
- .v-row { display: flex; align-items: baseline; gap: 2mm; margin-bottom: 1.8mm; }
36
- .v-label { white-space: nowrap; font-weight: 700; color: var(--ink); }
37
- .v-fill { flex: 1; min-width: 0; border-bottom: 1px dotted #a8b4cc; color: var(--muted); padding-bottom: .3mm; }
38
- .v-amount { font-size: 10pt; font-weight: 700; }
39
- .v-amount .v-fill { color: var(--ink); }
40
- .v-cols { display: flex; gap: 5mm; }
41
- .v-cols .col { flex: 1; min-width: 0; }
42
- .v-pay-options { display: flex; gap: 3mm; align-items: center; flex-wrap: wrap; }
43
- .v-check { display: inline-flex; gap: 1mm; align-items: baseline; white-space: nowrap; }
44
- .v-check .box { display: inline-block; width: 3.2mm; height: 3.2mm; border: 1px solid var(--muted); border-radius: .6mm; flex-shrink: 0; }
45
-
46
- /* footer */
47
- .v-foot { display: flex; align-items: flex-end; justify-content: space-between; padding: 0 5mm 2.5mm; }
48
- .v-sign { flex: 1; }
49
- .v-sign-label { font-size: 7.5pt; font-weight: 700; color: var(--muted); margin-bottom: 5mm; }
50
- .v-sign-line { border-top: 1px solid var(--ink); padding-top: .5mm; font-size: 7pt; color: var(--muted); }
51
- .v-copy { text-align: center; font-size: 7.5pt; color: var(--muted); }
52
- .v-copy .cbox { display: inline-block; width: 3mm; height: 3mm; border: 1px solid var(--muted); border-radius: .5mm; vertical-align: middle; margin: 0 1mm; }
53
-
54
- @media print {
55
- body { background: #fff; }
56
- .usage-note { display: none; }
57
- .sheet { margin: 0; box-shadow: none; }
58
- .voucher { break-inside: avoid; page-break-inside: avoid; }
59
- .sheet { page-break-after: always; }
60
- .sheet:last-child { page-break-after: auto; }
61
- }
62
- </style>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>سند قبض — Teranoo</title>
7
+ <style>
8
+ :root { --ink:#17233c; --muted:#66738a; --line:#d4deea; --accent:#1f4e8c; --soft:#f7f9fc; --soft2:#eef4fb; --paper:#fff; }
9
+ @page { size:A4; margin:0; }
10
+ * { box-sizing:border-box; }
11
+ html,body { margin:0; padding:0; }
12
+ body { background:#e9eef5; color:var(--ink); font-family:"Segoe UI",Tahoma,Arial,sans-serif; }
13
+ .usage-note { width:210mm; margin:6mm auto 3mm; padding:2.5mm 4mm; border:1px solid #e4c75c; border-radius:2mm; background:#fff9df; color:#5b4a0a; font-size:8pt; text-align:center; }
14
+ .sheet { width:210mm; height:156mm; margin:0 auto 8mm; padding:0 5mm 5mm; background:var(--paper); border:.35mm solid #c9d6e7; border-radius:2mm; box-shadow:0 3mm 9mm rgba(15,23,42,.12); overflow:hidden; }
15
+ .header-frame { width:calc(100% + 10mm); height:30.4mm; margin:0 -5mm; overflow:hidden; border-bottom:.35mm solid var(--line); background:#fff; }
16
+ .header-frame img { display:block; width:100%; height:100%; object-fit:fill; }
17
+ .title-row { display:flex; align-items:center; justify-content:space-between; gap:3mm; margin-top:3mm; }
18
+ .doc-chip,.date-chip { min-width:38mm; padding:2mm 3mm; border:1px solid var(--line); border-radius:2mm; background:var(--soft); font-size:7.8pt; line-height:1.5; }
19
+ .doc-chip { justify-self:start; }
20
+ .date-chip { justify-self:end; text-align:right; }
21
+ .doc-chip strong,.date-chip strong { display:block; margin-bottom:.4mm; font-size:8.4pt; }
22
+ .voucher-title { min-width:50mm; padding:2mm 8mm; border:.3mm solid #ccd7e7; border-radius:999px; background:linear-gradient(90deg,var(--soft2),#f6f2ff); text-align:center; font-size:15pt; font-weight:900; }
23
+ .content { display:grid; gap:2.4mm; margin-top:3mm; font-size:8.3pt; }
24
+ .card,.compact-card,.details-card { padding:2.5mm 3mm; border:.3mm solid var(--line); border-radius:2mm; background:#fff; }
25
+ .field-line { display:grid; grid-template-columns:30mm 1fr; align-items:center; gap:2mm; min-height:7mm; }
26
+ .label { color:var(--ink); font-weight:800; white-space:nowrap; }
27
+ .write-line { height:5.2mm; border-bottom:.3mm solid #738198; }
28
+ .amount-grid { display:grid; grid-template-columns:1.65fr .75fr; gap:2.6mm; }
29
+ .amount-box { min-height:17mm; padding:2.2mm 2.8mm; border:.3mm solid #c7d5e7; border-radius:2mm; background:linear-gradient(180deg,#fbfdff,#f5f8fc); }
30
+ .caption { margin-bottom:1mm; color:var(--muted); font-size:7pt; font-weight:700; }
31
+ .amount-line,.amount-number { height:7mm; border-bottom:.35mm solid var(--ink); }
32
+ .amount-number-wrap { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2mm; }
33
+ .currency { font-size:8pt; font-weight:900; white-space:nowrap; }
34
+ .two-col { display:grid; grid-template-columns:1fr 1fr; gap:2.6mm; }
35
+ .compact-card .field-line { grid-template-columns:25mm 1fr; min-height:6mm; }
36
+ .payment-card { display:grid; grid-template-columns:28mm 1fr; align-items:center; gap:2mm; padding:2.2mm 2.8mm; border:.3mm solid var(--line); border-radius:2mm; background:var(--soft); }
37
+ .pay-options { display:flex; flex-wrap:wrap; gap:2mm; }
38
+ .pay-pill { display:inline-flex; align-items:center; gap:1.2mm; padding:1.5mm 3mm; border:.3mm solid #cdd7e5; border-radius:999px; background:#fff; font-weight:700; white-space:nowrap; }
39
+ .box,.mini-box { display:inline-block; width:3.4mm; height:3.4mm; border:.3mm solid var(--ink); border-radius:.5mm; background:#fff; }
40
+ .details-card .field-line { grid-template-columns:30mm 1fr; }
41
+ .footer { position:relative; margin-top:3mm; padding-top:3mm; border-top:.5mm solid var(--accent); }
42
+ .signatures { display:grid; grid-template-columns:1fr 1fr 1fr; gap:4mm; text-align:center; }
43
+ .signature { min-height:17mm; padding:1mm 2mm; }
44
+ .signature .line { height:7mm; margin:0 2mm 1.2mm; border-bottom:.3mm solid #68778f; }
45
+ .signature strong { display:block; font-size:8pt; }
46
+ .signature small { display:block; margin-top:.4mm; color:var(--muted); font-size:6.8pt; }
47
+ .copy-row { display:flex; justify-content:space-between; align-items:center; margin-top:2mm; color:var(--muted); font-size:6.8pt; }
48
+ .copy-option { display:inline-flex; align-items:center; gap:1mm; }
49
+ .mini-box { width:3mm; height:3mm; border:.25mm solid #7b8798; border-radius:0; }
50
+ @media print { body{background:#fff} .usage-note{display:none} .sheet{margin:0;border-radius:0;box-shadow:none} }
51
+ </style>
63
52
  </head>
64
53
  <body>
65
-
66
- <div class="usage-note">
67
- <strong>طريقة الاستخدام:</strong> افتح الملف في المتصفح ← <code>Ctrl+P</code> ← الحجم A4 ← الهامش <code>None</code> ← المقياس <code>100%</code> ← طباعة.
68
- كل صفحة تحتوي <strong>3 سندات</strong> (1/3 A4) تُقص على الخطوط المتقطعة. للدفتر: اطبع عدد الصفحات المطلوب، اقصّ، وجمّع كدفتر. رقم السند يُعبأ عند الاستخدام (أو يُطبع مسبقاً).
54
+ <div class="usage-note"><strong>سند واحد</strong> — اطبع بنسبة 100% على A4، والهوامش None. المقاس الفعلي للسند 210×156مم.</div>
55
+ <main class="sheet" aria-label="سند قبض">
56
+ <div class="header-frame"><img src="V2.png" alt="ترويسة سند قبض Teranoo"></div>
57
+ <div class="title-row">
58
+ <div class="doc-chip"><strong>رقم السند</strong>2026-______</div>
59
+ <div class="date-chip"><strong>التاريخ</strong>___ / ___ / _______</div>
69
60
  </div>
70
-
71
- <!-- صفحة 1 3 سندات قبض -->
72
- <section class="sheet">
73
- <div class="voucher">
74
- <div class="v-head">
75
- <div class="v-brand"><div class="v-brand-mark">T</div><span class="v-brand-name">Teranoo — تيرا</span></div>
76
- <div class="v-title">سند قبض</div>
77
- <div class="v-meta"><strong>رقم السند:</strong> 2026-______<br><strong>التاريخ:</strong> ___/___/_______</div>
78
- </div>
79
- <div class="v-body">
80
- <div class="v-row"><span class="v-label">استلمنا من:</span><span class="v-fill">&nbsp;</span></div>
81
- <div class="v-row v-amount"><span class="v-label">مبلغ وقدره:</span><span class="v-fill">&nbsp;</span><span class="v-label">دينار أردني</span></div>
82
- <div class="v-cols">
83
- <div class="col">
84
- <div class="v-row"><span class="v-label">المبلغ أرقاماً:</span><span class="v-fill">&nbsp;</span><span class="v-label">JOD</span></div>
85
- <div class="v-row"><span class="v-label">وذلك عن:</span><span class="v-fill">&nbsp;</span></div>
86
- </div>
87
- <div class="col">
88
- <div class="v-row"><span class="v-label">المرجع (عقد/خطاب):</span><span class="v-fill">&nbsp;</span></div>
89
- <div class="v-row">
90
- <span class="v-label">طريقة الدفع:</span>
91
- <span class="v-pay-options">
92
- <span class="v-check"><span class="box"></span> نقدي</span>
93
- <span class="v-check"><span class="box"></span> تحويل</span>
94
- <span class="v-check"><span class="box"></span> شيك</span>
95
- </span>
96
- </div>
97
- <div class="v-row"><span class="v-label">تفاصيل (بنك/شيك):</span><span class="v-fill">&nbsp;</span></div>
98
- </div>
99
- </div>
100
- </div>
101
- <div class="v-foot">
102
- <div class="v-sign"><div class="v-sign-label">المستلم</div><div class="v-sign-line">الاسم / التوقيع</div></div>
103
- <div class="v-sign"><div class="v-sign-label">أمين الصندوق</div><div class="v-sign-line">الاسم / التوقيع</div></div>
104
- <div class="v-sign"><div class="v-sign-label">المعتمد (المدير)</div><div class="v-sign-line">الاسم / التوقيع</div></div>
105
- <div class="v-copy">أصل (للعميل)<span class="cbox"></span><br>صورة (للملف)<span class="cbox"></span></div>
106
- </div>
107
- </div>
108
-
109
- <div class="voucher">
110
- <div class="v-head">
111
- <div class="v-brand"><div class="v-brand-mark">T</div><span class="v-brand-name">Teranoo — تيرا</span></div>
112
- <div class="v-title">سند قبض</div>
113
- <div class="v-meta"><strong>رقم السند:</strong> 2026-______<br><strong>التاريخ:</strong> ___/___/_______</div>
114
- </div>
115
- <div class="v-body">
116
- <div class="v-row"><span class="v-label">استلمنا من:</span><span class="v-fill">&nbsp;</span></div>
117
- <div class="v-row v-amount"><span class="v-label">مبلغ وقدره:</span><span class="v-fill">&nbsp;</span><span class="v-label">دينار أردني</span></div>
118
- <div class="v-cols">
119
- <div class="col">
120
- <div class="v-row"><span class="v-label">المبلغ أرقاماً:</span><span class="v-fill">&nbsp;</span><span class="v-label">JOD</span></div>
121
- <div class="v-row"><span class="v-label">وذلك عن:</span><span class="v-fill">&nbsp;</span></div>
122
- </div>
123
- <div class="col">
124
- <div class="v-row"><span class="v-label">المرجع (عقد/خطاب):</span><span class="v-fill">&nbsp;</span></div>
125
- <div class="v-row">
126
- <span class="v-label">طريقة الدفع:</span>
127
- <span class="v-pay-options">
128
- <span class="v-check"><span class="box"></span> نقدي</span>
129
- <span class="v-check"><span class="box"></span> تحويل</span>
130
- <span class="v-check"><span class="box"></span> شيك</span>
131
- </span>
132
- </div>
133
- <div class="v-row"><span class="v-label">تفاصيل (بنك/شيك):</span><span class="v-fill">&nbsp;</span></div>
134
- </div>
135
- </div>
136
- </div>
137
- <div class="v-foot">
138
- <div class="v-sign"><div class="v-sign-label">المستلم</div><div class="v-sign-line">الاسم / التوقيع</div></div>
139
- <div class="v-sign"><div class="v-sign-label">أمين الصندوق</div><div class="v-sign-line">الاسم / التوقيع</div></div>
140
- <div class="v-sign"><div class="v-sign-label">المعتمد (المدير)</div><div class="v-sign-line">الاسم / التوقيع</div></div>
141
- <div class="v-copy">أصل (للعميل)<span class="cbox"></span><br>صورة (للملف)<span class="cbox"></span></div>
142
- </div>
143
- </div>
144
-
145
- <div class="voucher">
146
- <div class="v-head">
147
- <div class="v-brand"><div class="v-brand-mark">T</div><span class="v-brand-name">Teranoo — تيرا</span></div>
148
- <div class="v-title">سند قبض</div>
149
- <div class="v-meta"><strong>رقم السند:</strong> 2026-______<br><strong>التاريخ:</strong> ___/___/_______</div>
150
- </div>
151
- <div class="v-body">
152
- <div class="v-row"><span class="v-label">استلمنا من:</span><span class="v-fill">&nbsp;</span></div>
153
- <div class="v-row v-amount"><span class="v-label">مبلغ وقدره:</span><span class="v-fill">&nbsp;</span><span class="v-label">دينار أردني</span></div>
154
- <div class="v-cols">
155
- <div class="col">
156
- <div class="v-row"><span class="v-label">المبلغ أرقاماً:</span><span class="v-fill">&nbsp;</span><span class="v-label">JOD</span></div>
157
- <div class="v-row"><span class="v-label">وذلك عن:</span><span class="v-fill">&nbsp;</span></div>
158
- </div>
159
- <div class="col">
160
- <div class="v-row"><span class="v-label">المرجع (عقد/خطاب):</span><span class="v-fill">&nbsp;</span></div>
161
- <div class="v-row">
162
- <span class="v-label">طريقة الدفع:</span>
163
- <span class="v-pay-options">
164
- <span class="v-check"><span class="box"></span> نقدي</span>
165
- <span class="v-check"><span class="box"></span> تحويل</span>
166
- <span class="v-check"><span class="box"></span> شيك</span>
167
- </span>
168
- </div>
169
- <div class="v-row"><span class="v-label">تفاصيل (بنك/شيك):</span><span class="v-fill">&nbsp;</span></div>
170
- </div>
171
- </div>
172
- </div>
173
- <div class="v-foot">
174
- <div class="v-sign"><div class="v-sign-label">المستلم</div><div class="v-sign-line">الاسم / التوقيع</div></div>
175
- <div class="v-sign"><div class="v-sign-label">أمين الصندوق</div><div class="v-sign-line">الاسم / التوقيع</div></div>
176
- <div class="v-sign"><div class="v-sign-label">المعتمد (المدير)</div><div class="v-sign-line">الاسم / التوقيع</div></div>
177
- <div class="v-copy">أصل (للعميل)<span class="cbox"></span><br>صورة (للملف)<span class="cbox"></span></div>
178
- </div>
179
- </div>
61
+ <section class="content">
62
+ <div class="card"><div class="field-line"><span class="label">استلمنا من:</span><span class="write-line"></span></div></div>
63
+ <div class="amount-grid">
64
+ <div class="amount-box"><div class="caption">المبلغ كتابةً — دينار أردني</div><div class="amount-line"></div></div>
65
+ <div class="amount-box"><div class="caption">المبلغ أرقاماً</div><div class="amount-number-wrap"><div class="amount-number"></div><span class="currency">JOD</span></div></div>
66
+ </div>
67
+ <div class="two-col">
68
+ <div class="compact-card"><div class="field-line"><span class="label">وذلك عن:</span><span class="write-line"></span></div></div>
69
+ <div class="compact-card"><div class="field-line"><span class="label">المرجع:</span><span class="write-line"></span></div></div>
70
+ </div>
71
+ <div class="payment-card"><span class="label">طريقة الدفع:</span><div class="pay-options"><span class="pay-pill"><i class="box"></i> نقدي</span><span class="pay-pill"><i class="box"></i> تحويل بنكي</span><span class="pay-pill"><i class="box"></i> شيك</span></div></div>
72
+ <div class="details-card"><div class="field-line"><span class="label">تفاصيل الدفع:</span><span class="write-line"></span></div></div>
180
73
  </section>
181
-
74
+ <footer class="footer">
75
+ <div class="signatures">
76
+ <div class="signature"><div class="line"></div><strong>المستلم</strong><small>الاسم / التوقيع</small></div>
77
+ <div class="signature"><div class="line"></div><strong>أمين الصندوق</strong><small>الاسم / التوقيع</small></div>
78
+ <div class="signature"><div class="line"></div><strong>المعتمد (المدير)</strong><small>الاسم / التوقيع</small></div>
79
+ </div>
80
+ <div class="copy-row"><span class="copy-option"><i class="mini-box"></i> أصل — للعميل</span><span class="copy-option"><i class="mini-box"></i> صورة — للملف</span></div>
81
+ </footer>
82
+ </main>
182
83
  </body>
183
84
  </html>
@@ -107,7 +107,7 @@ Project files record project-specific decisions.
107
107
  | Tera distribution (versioned) | `tera-system/TERA_DISTRIBUTION_POLICY.md` | `.tera/lock.json` في مستودعات العملاء | توزيع Tera المُروّس على مستودعات العملاء: استمداد من المستودع الأصلي (`tera-fetch.ps1` + RepositoryUrl)، إصدارات (Tag+SHA)، عقد ملكية، أدوات `tera-workshop/tools/`. SCP-2026-08-15-009. |
108
108
  | Source code ownership & pricing | `tera-system/TeraPricingPolicy.md` (§31) + `tera-system/TeraClientPolicy.md` (§9.5) | `tera-workshop/client-templates/contractual/SOURCE_CODE_PURCHASE_ADDENDUM_TEMPLATE.md`، `SOFTWARE_SERVICES_AGREEMENT` §12 | ملكية السورس افتراضياً لـ Tera (لا يُسلَّم للزبون) + خيارا L1 (40%) / L2 (max(3×، 1,000 JOD)) عبر ملحق تعاقدي + L3 (إعادة بيع) مرفوض افتراضياً. SCP-2026-08-29-004. |
109
109
  | Client letter numbering | `tera-system/TeraClientPolicy.md` (§9.6) + `project-control/CLIENT_CODES.md` | `client-approval/LETTER_LOG.md` في مستودع العميل | ترميز موحد `{كود-العميل}-{النوع}-{السنة}-{التسلسل}` — كود العميل يخصّصه Majed فقط (سجل مركزي) — الأنواع LET/CON/ADD/PAL/DOC/TPL (قابلة للزيادة). SCP-2026-08-29-005. |
110
- | Payment/Receipt vouchers | `tera-workshop/client-templates/financial/VOUCHER_DESIGN_SPEC.md` + `tera-system/TeraPricingPolicy.md` (§21) | `VOUCHER_RECEIPT_TEMPLATE.html` + `VOUCHER_PAYMENT_TEMPLATE.html` (يصممهما المالك) | سند قبض + سند صرف بحجم الدفاتر المتعارف (1/3 A4 210×99مم، 3 لكل صفحة) — ترقيم مالي مستقل `{السنة}-{تسلسل}` + حقل مرجع يربط بترميز خطابات العميل. SCP-2026-08-29-006. |
110
+ | Payment/Receipt vouchers | `tera-workshop/client-templates/financial/VOUCHER_DESIGN_SPEC.md` + `tera-system/TeraPricingPolicy.md` (§21) | `VOUCHER_RECEIPT_TEMPLATE.html` + `VOUCHER_PAYMENT_TEMPLATE.html` | سند قبض + سند صرف مستقلان (210×156مم، سند واحد في كل ملف، صورة الترويسة كاملة بعرض 210مم وارتفاعها الطبيعي) — `V2.png` للقبض و`V1.png` للصرف — ترقيم مالي مستقل `{السنة}-{تسلسل}` + حقل مرجع يربط بترميز خطابات العميل. SCP-2026-08-29-006/007/008/009/010/011. |
111
111
 
112
112
  ## 4. Duplication Policy
113
113
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tera-system/core",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "Tera System OpenCode Plugin أ¢â‚¬â€‌ governance core, 20 agents, 11 commands, distribution tools (personal edition)",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "type": "module",