# سجل دراسة وإعادة بناء ستايل الصفحات

## قاعدة العمل المعتمدة
- الشكل البصري يأتي من العقد المركزي فقط: `assets/css/ua_program_unified.css`.
- ملفات الصفحة لا تملك ألواناً أو زوايا أو حدوداً خاصة؛ دورها Adapter فقط: ترتيب، أعمدة، مسافات، وربط HTML القديم بالعقد المركزي.
- ممنوع استخدام قواعد عامة واسعة مثل `input, select, .form-group` على مستوى كل المشروع لإزالة مشكلة محلية.

## ترتيب تحميل الستايل الحالي
1. `header.php` يضخ متغيرات الثيم من قاعدة الإعدادات.
2. `assets/css/ua_extracted_pages.css` طبقة قديمة/انتقالية للصفحات المستخرجة والمودالات.
3. `assets/css/ua_program_unified.css` العقد المركزي المعتمد حالياً.
4. `assets/css/ua_footer_guards.css` حراس متأخرة، يجب ألا تحتوي حلولاً عامة أو تصميم صفحات جديدة.
5. `$UA_PAGE_CSS` إن وُجد؛ يجب أن يكون Adapter فقط.

## سبب مشكلة صفحة تعديل المشترك
السبب لم يكن لوناً واحداً، بل تداخل بنية + CSS:
- `subscribers_edit.php` كان يحمل كلاسات قديمة مثل `sa-field`, `sa-card`, `sa-kpi`, `sa-summary`, `sa-edit-page`, `sa-edit-rebuilt-page`.
- هذه الكلاسات تُستهدف من عدة ملفات:
  - `ua_extracted_pages.css`
  - `ua_program_unified.css`
  - `ua_footer_guards.css`
- لذلك كانت الإطارات تعود حتى عند تعديل CSS، لأن HTML نفسه كان ما زال داخلاً في مسار قديم.
- آخر محاولة عامة على `ua_footer_guards.css` كانت ترقيعاً لأنها حاولت إزالة الإطارات من كل البرنامج بدل علاج الصفحة من مصدرها.

## العلاج الجذري المنفذ الآن
- تم إخراج `subscribers_edit.php` من مسار `sa-*` القديم.
- تم إدخاله في عقد جديد نظيف:
  - `ua-form-shell`
  - `ua-form-layout`
  - `ua-form-main`
  - `ua-form-preview`
  - `ua-form-card`
  - `ua-form-grid`
  - `ua-form-field`
  - `ua-form-control`
  - `ua-form-kpi`
  - `ua-form-summary`
- تم حذف حراس صفحة التعديل القديمة من `ua_footer_guards.css`.
- تم إنشاء Adapter واحد للصفحة:
  - `assets/css/ua_subscribers_edit_adapter.css`
- هذا الـ Adapter لا يملك ألواناً أو حدوداً أو زوايا؛ فقط ترتيب وتوزيع أعمدة.

## ملفات لا تلمس إلا بحذر
- `subscribers_add.php`: المرجع البصري المثبت؛ لا يلمس إلا بطلب مباشر.
- `api/subscriber_modal_view.php`: أول صفحة انتهت بنجاح؛ لا تعاد إلى كلاسات قديمة.
- `ua_footer_guards.css`: لا توضع داخله حلول عامة للحقول أو الكروت.

## مسار العمل للصفحات القادمة
1. تحديد الصفحة والاختصار الفعلي الذي يفتحها.
2. قراءة HTML واستخراج الكلاسات القديمة.
3. إزالة كلاسات الشكل القديم من HTML نفسه إن كانت سبب المشكلة.
4. استخدام عقد مركزي موجود أو إضافة عقد مركزي جديد عند الحاجة.
5. إنشاء Adapter للترتيب فقط.
6. فحص `php -l`.
7. توثيق الملف وما تم لمسه.
