التوحيد = بيانات مشتركة + كومبوننتات مشتركة + قواعد مشتركة (الهيدر والتنبيهات، الاستقبال الأول، التوقيع والقفل، الملخص، الروشتة/الطلبات/التشخيص/المستندات) — مش شكل صفحة واحد. التخصص يعلن في الـ registry: layout {columns, flow, cards[]} هو الافتراضي (المستوى 1) — التغذية بلوحة الدكتور ذات الشاشة الواحدة كما هي، الأسنان بالـ workspace الكامل، العام والنسا flow:true (محطات) — وبيتحل فوقه override العميل (المركز/العيادة — clinic.layout.{type} + إخفاء/إلزام حقول + *.feature.*) ثم تفضيل الدكتور لو العميل سامح (clinic.layout.allow_doctor_override) ثم كروت السياق (الإقامة). كل كارت من CATALOG واحد (مشترك / تخصصي / سياق)، والكومبوننتات المشتركة اللي بتتفتح dialog معلنة في actions.
layout.columns أعمدة الشبكة · layout.flow محطات مرتّبة أم لوحة · layout.cards[] {id,col,size,collapsed,props} الكروت الافتراضية من catalog_for_this_specialty · actions الكومبوننتات المشتركة اللي بتتفتح dialog من رأس اللوحة · client.layouts / client.fields {visible,required} / client.features المستوى 2 = العميل (المركز) · doctor المستوى 3 اختياري بـ allowDoctorOverride (بيستبدلوا الافتراضي كاملاً) · settings (dental.mode / dental.feature.*) بتغيّر التركيب لحظياً.
اللي الـ shell بترسمه فعلاً: المحطات أو اللوحة، الـ slots المفعّلة، كروت السياق (إقامة)، باقات العلامات، وخطوات الاستقبال الأول.